@litigiovirtual/ius-design-components 1.0.299 → 1.0.300
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/esm2022/lib/button-standard-outline/index.mjs +1 -1
- package/esm2022/lib/create-ticket/create-ticket.component.mjs +3 -3
- package/esm2022/lib/create-ticket/index.mjs +1 -1
- package/esm2022/lib/custom-dropdown/custom-dropdown.component.mjs +3 -3
- package/esm2022/lib/notification-card/notification-card.component.mjs +3 -3
- package/esm2022/lib/user-card/user-card.component.mjs +6 -3
- package/esm2022/utils/currency-format.pipe.mjs +1 -1
- package/esm2022/utils/date-format.util.mjs +1 -1
- package/esm2022/utils/file-mime.util.mjs +1 -1
- package/esm2022/utils/file-size.util.mjs +1 -1
- package/esm2022/utils/formato-hora.pipe.mjs +1 -1
- package/esm2022/utils/list-filter.util.mjs +1 -1
- package/esm2022/utils/public-api.mjs +1 -1
- package/fesm2022/litigiovirtual-ius-design-components-utils.mjs.map +1 -1
- package/fesm2022/litigiovirtual-ius-design-components.mjs +11 -8
- package/fesm2022/litigiovirtual-ius-design-components.mjs.map +1 -1
- package/lib/user-card/user-card.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -10,6 +10,7 @@ export class UserCardComponent {
|
|
|
10
10
|
this.inactiveText = 'Inactivo';
|
|
11
11
|
this.showActions = true;
|
|
12
12
|
this.showOptionsPoints = true;
|
|
13
|
+
this.showDelete = true;
|
|
13
14
|
this.onClickEdit = new EventEmitter();
|
|
14
15
|
this.onClickDelete = new EventEmitter();
|
|
15
16
|
this.onClickCard = new EventEmitter();
|
|
@@ -45,11 +46,11 @@ export class UserCardComponent {
|
|
|
45
46
|
return this.state ? this.activeText : this.inactiveText;
|
|
46
47
|
}
|
|
47
48
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UserCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: UserCardComponent, isStandalone: true, selector: "ius-user-card", inputs: { image: "image", state: "state", name: "name", role: "role", label1: "label1", data1: "data1", label2: "label2", data2: "data2", userID: "userID", letterIcon: "letterIcon", activeText: "activeText", inactiveText: "inactiveText", showActions: "showActions", showOptionsPoints: "showOptionsPoints" }, outputs: { onClickEdit: "onClickEdit", onClickDelete: "onClickDelete", onClickCard: "onClickCard" }, ngImport: i0, template: "<div class=\"general-container\">\r\n <div\r\n class=\"container-card\"\r\n (mouseenter)=\"onMouseEnter()\"\r\n (mouseleave)=\"onMouseLeave()\"\r\n (click)=\"clickCard($event)\"\r\n >\r\n <div class=\"data\">\r\n <div class=\"left-data\">\r\n @if (letterIcon && !image) {\r\n <div class=\"container-icon-letra\">\r\n <span>{{ letterIcon }}</span>\r\n </div>\r\n }@else if(image && !letterIcon){\r\n <div class=\"image-container\">\r\n <img [src]=\"image\" class=\"image\" />\r\n </div>\r\n }\r\n <div class=\"data-container\">\r\n <p class=\"state\" [class.on]=\"state\" [class.off]=\"state === false\">\r\n {{ stateLabel }}\r\n </p>\r\n <p class=\"name\">{{ name }}</p>\r\n <p class=\"role\">{{ role }}</p>\r\n </div>\r\n </div>\r\n <div class=\"right-data\">\r\n <div class=\"container\">\r\n @if (label1 && data1) {\r\n <div class=\"data-container\">\r\n <p class=\"title\">{{ label1 }}</p>\r\n <p class=\"data\">{{ data1 }}</p>\r\n </div>\r\n } @if (label2 && data2) {\r\n <div class=\"data-container\">\r\n <p class=\"title\">{{ label2 }}</p>\r\n <p class=\"data\">{{ data2 }}</p>\r\n </div>\r\n }\r\n </div>\r\n @if (hover && showActions) {\r\n <div class=\"buttons\">\r\n <div>\r\n <ius-button-squared-tertiary\r\n iconName=\"icon-edit\"\r\n (buttonClicked)=\"clickEdit($event)\"\r\n ></ius-button-squared-tertiary>\r\n </div>\r\n <div>\r\n <ius-button-squared-tertiary\r\n iconName=\"icon-delete\"\r\n (buttonClicked)=\"clickDelete($event)\"\r\n ></ius-button-squared-tertiary>\r\n </div>\r\n @if (showOptionsPoints) {\r\n <div class=\"options\">\r\n <ius-button-squared-tertiary\r\n iconName=\"icon-more-vert\"\r\n (buttonClicked)=\"clickShowMore($event)\"\r\n ></ius-button-squared-tertiary>\r\n @if (options) {\r\n <div class=\"dropdown\">\r\n <ius-dropdown-contextual-menu>\r\n <div class=\"projected-content\" (click)=\"preventCardClick($event)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </ius-dropdown-contextual-menu>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n <div class=\"btn\">\r\n <ius-button-squared-tertiary\r\n iconName=\"icon-keyboard-arrow-right\"\r\n (buttonClicked)=\"clickCard($event)\"\r\n ></ius-button-squared-tertiary>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.general-container{position:relative}.container-card{display:flex;padding:16px 32px;align-items:center;align-content:center;gap:12px;flex-wrap:wrap;border-radius:8px;border:1px solid #eaeaea;background:#fff}.container-card :hover{cursor:pointer}.data{display:flex;align-items:center;gap:40px;flex:1 0 0}.left-data{display:flex;min-width:280px;align-items:center;gap:8px;flex:1 0 0}.left-data .container-icon-letra{background-color:#dfe0ff;display:flex;width:20px;height:20px;padding:10px;margin-right:10px;justify-content:center;align-items:center;border-radius:100px;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px}.left-data .container-icon-letra:hover{background-color:#6670c4!important}.left-data .container-icon-letra:hover>span{display:none}.left-data .container-icon-letra:hover .icon-letra-edit{display:block}.left-data .container-icon-letra span{color:#1b2678;text-align:center;font-size:18px;font-weight:500}.left-data .image-container{display:flex;align-items:center;gap:8px}.left-data .image-container .image{display:flex;width:32px;height:32px;justify-content:center;align-items:center;aspect-ratio:1/1;border-radius:100px;border:.5px solid #f5f5f5;background:#fff3}.left-data .data-container{display:flex;flex-direction:column;align-items:flex-start;gap:0;flex:1 0 0}.left-data .data-container p{margin:0}.left-data .data-container .name{display:flex;align-items:center;gap:10px;color:#333;font-family:Rubik,sans-serif;font-size:1rem;font-style:normal;font-weight:400;line-height:22px}.left-data .data-container .state{display:flex;align-items:center;gap:10px;align-self:stretch;color:#595959;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px}.left-data .data-container .role{display:flex;align-items:center;gap:10px;align-self:stretch;color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.28px}.right-data{display:flex;align-items:center;gap:40px}.right-data p{margin:0}.right-data .container{display:flex;min-width:280px;justify-content:center;align-items:center;align-content:center;gap:40px;flex-wrap:wrap}.right-data .container .data-container{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.right-data .container .data-container .title{display:flex;align-items:center;gap:10px;color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px;align-self:start}.right-data .container .data-container .data{display:flex;align-items:center;gap:10px;align-self:stretch;color:#595959;font-family:Rubik,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.28px}.right-data .buttons{display:flex;justify-content:flex-end;align-items:center;gap:8px}.right-data .btn{display:flex;width:40px;height:40px;padding:8px;justify-content:center;align-items:center;gap:4px;aspect-ratio:1/1;border-radius:8px;background:#fff}.dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:9999;min-width:max-content;white-space:nowrap}.options{display:flex;align-items:center;position:relative}\n"], dependencies: [{ kind: "component", type: ButtonSquaredTertiaryComponent, selector: "ius-button-squared-tertiary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }, { kind: "component", type: DropdownContextualMenuComponent, selector: "ius-dropdown-contextual-menu" }] }); }
|
|
49
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: UserCardComponent, isStandalone: true, selector: "ius-user-card", inputs: { image: "image", state: "state", name: "name", role: "role", label1: "label1", data1: "data1", label2: "label2", data2: "data2", userID: "userID", letterIcon: "letterIcon", activeText: "activeText", inactiveText: "inactiveText", showActions: "showActions", showOptionsPoints: "showOptionsPoints", showDelete: "showDelete" }, outputs: { onClickEdit: "onClickEdit", onClickDelete: "onClickDelete", onClickCard: "onClickCard" }, ngImport: i0, template: "<div class=\"general-container\">\r\n <div\r\n class=\"container-card\"\r\n (mouseenter)=\"onMouseEnter()\"\r\n (mouseleave)=\"onMouseLeave()\"\r\n (click)=\"clickCard($event)\"\r\n >\r\n <div class=\"data\">\r\n <div class=\"left-data\">\r\n @if (letterIcon && !image) {\r\n <div class=\"container-icon-letra\">\r\n <span>{{ letterIcon }}</span>\r\n </div>\r\n }@else if(image && !letterIcon){\r\n <div class=\"image-container\">\r\n <img [src]=\"image\" class=\"image\" />\r\n </div>\r\n }\r\n <div class=\"data-container\">\r\n <p class=\"state\" [class.on]=\"state\" [class.off]=\"state === false\">\r\n {{ stateLabel }}\r\n </p>\r\n <p class=\"name\">{{ name }}</p>\r\n <p class=\"role\">{{ role }}</p>\r\n </div>\r\n </div>\r\n <div class=\"right-data\">\r\n <div class=\"container\">\r\n @if (label1 && data1) {\r\n <div class=\"data-container\">\r\n <p class=\"title\">{{ label1 }}</p>\r\n <p class=\"data\">{{ data1 }}</p>\r\n </div>\r\n } @if (label2 && data2) {\r\n <div class=\"data-container\">\r\n <p class=\"title\">{{ label2 }}</p>\r\n <p class=\"data\">{{ data2 }}</p>\r\n </div>\r\n }\r\n </div>\r\n @if (hover && showActions) {\r\n <div class=\"buttons\">\r\n <div>\r\n <ius-button-squared-tertiary\r\n iconName=\"icon-edit\"\r\n (buttonClicked)=\"clickEdit($event)\"\r\n ></ius-button-squared-tertiary>\r\n </div>\r\n @if (showDelete) {\r\n <div>\r\n <ius-button-squared-tertiary\r\n iconName=\"icon-delete\"\r\n (buttonClicked)=\"clickDelete($event)\"\r\n ></ius-button-squared-tertiary>\r\n </div>\r\n }\r\n @if (showOptionsPoints) {\r\n <div class=\"options\">\r\n <ius-button-squared-tertiary\r\n iconName=\"icon-more-vert\"\r\n (buttonClicked)=\"clickShowMore($event)\"\r\n ></ius-button-squared-tertiary>\r\n @if (options) {\r\n <div class=\"dropdown\">\r\n <ius-dropdown-contextual-menu>\r\n <div class=\"projected-content\" (click)=\"preventCardClick($event)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </ius-dropdown-contextual-menu>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n <div class=\"btn\">\r\n <ius-button-squared-tertiary\r\n iconName=\"icon-keyboard-arrow-right\"\r\n (buttonClicked)=\"clickCard($event)\"\r\n ></ius-button-squared-tertiary>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.general-container{position:relative}.container-card{display:flex;padding:16px 32px;align-items:center;align-content:center;gap:12px;flex-wrap:wrap;border-radius:8px;border:1px solid #eaeaea;background:#fff}.container-card :hover{cursor:pointer}.data{display:flex;align-items:center;gap:40px;flex:1 0 0}.left-data{display:flex;min-width:280px;align-items:center;gap:8px;flex:1 0 0}.left-data .container-icon-letra{background-color:#dfe0ff;display:flex;width:20px;height:20px;padding:10px;margin-right:10px;justify-content:center;align-items:center;border-radius:100px;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px}.left-data .container-icon-letra:hover{background-color:#6670c4!important}.left-data .container-icon-letra:hover>span{display:none}.left-data .container-icon-letra:hover .icon-letra-edit{display:block}.left-data .container-icon-letra span{color:#1b2678;text-align:center;font-size:18px;font-weight:500}.left-data .image-container{display:flex;align-items:center;gap:8px}.left-data .image-container .image{display:flex;width:32px;height:32px;justify-content:center;align-items:center;aspect-ratio:1/1;border-radius:100px;border:.5px solid #f5f5f5;background:#fff3}.left-data .data-container{display:flex;flex-direction:column;align-items:flex-start;gap:0;flex:1 0 0}.left-data .data-container p{margin:0}.left-data .data-container .name{display:flex;align-items:center;gap:10px;color:#333;font-family:Rubik,sans-serif;font-size:1rem;font-style:normal;font-weight:400;line-height:22px}.left-data .data-container .state{display:flex;align-items:center;gap:10px;align-self:stretch;color:#595959;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px}.left-data .data-container .role{display:flex;align-items:center;gap:10px;align-self:stretch;color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.28px}.right-data{display:flex;align-items:center;gap:40px}.right-data p{margin:0}.right-data .container{display:flex;min-width:280px;justify-content:center;align-items:center;align-content:center;gap:40px;flex-wrap:wrap}.right-data .container .data-container{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.right-data .container .data-container .title{display:flex;align-items:center;gap:10px;color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px;align-self:start}.right-data .container .data-container .data{display:flex;align-items:center;gap:10px;align-self:stretch;color:#595959;font-family:Rubik,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.28px}.right-data .buttons{display:flex;justify-content:flex-end;align-items:center;gap:8px}.right-data .btn{display:flex;width:40px;height:40px;padding:8px;justify-content:center;align-items:center;gap:4px;aspect-ratio:1/1;border-radius:8px;background:#fff}.dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:9999;min-width:max-content;white-space:nowrap}.options{display:flex;align-items:center;position:relative}\n"], dependencies: [{ kind: "component", type: ButtonSquaredTertiaryComponent, selector: "ius-button-squared-tertiary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }, { kind: "component", type: DropdownContextualMenuComponent, selector: "ius-dropdown-contextual-menu" }] }); }
|
|
49
50
|
}
|
|
50
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UserCardComponent, decorators: [{
|
|
51
52
|
type: Component,
|
|
52
|
-
args: [{ selector: 'ius-user-card', standalone: true, imports: [ButtonSquaredTertiaryComponent, DropdownContextualMenuComponent], template: "<div class=\"general-container\">\r\n <div\r\n class=\"container-card\"\r\n (mouseenter)=\"onMouseEnter()\"\r\n (mouseleave)=\"onMouseLeave()\"\r\n (click)=\"clickCard($event)\"\r\n >\r\n <div class=\"data\">\r\n <div class=\"left-data\">\r\n @if (letterIcon && !image) {\r\n <div class=\"container-icon-letra\">\r\n <span>{{ letterIcon }}</span>\r\n </div>\r\n }@else if(image && !letterIcon){\r\n <div class=\"image-container\">\r\n <img [src]=\"image\" class=\"image\" />\r\n </div>\r\n }\r\n <div class=\"data-container\">\r\n <p class=\"state\" [class.on]=\"state\" [class.off]=\"state === false\">\r\n {{ stateLabel }}\r\n </p>\r\n <p class=\"name\">{{ name }}</p>\r\n <p class=\"role\">{{ role }}</p>\r\n </div>\r\n </div>\r\n <div class=\"right-data\">\r\n <div class=\"container\">\r\n @if (label1 && data1) {\r\n <div class=\"data-container\">\r\n <p class=\"title\">{{ label1 }}</p>\r\n <p class=\"data\">{{ data1 }}</p>\r\n </div>\r\n } @if (label2 && data2) {\r\n <div class=\"data-container\">\r\n <p class=\"title\">{{ label2 }}</p>\r\n <p class=\"data\">{{ data2 }}</p>\r\n </div>\r\n }\r\n </div>\r\n @if (hover && showActions) {\r\n <div class=\"buttons\">\r\n <div>\r\n <ius-button-squared-tertiary\r\n iconName=\"icon-edit\"\r\n (buttonClicked)=\"clickEdit($event)\"\r\n ></ius-button-squared-tertiary>\r\n </div>\r\n <div>\r\n <ius-button-squared-tertiary\r\n iconName=\"icon-delete\"\r\n (buttonClicked)=\"clickDelete($event)\"\r\n ></ius-button-squared-tertiary>\r\n </div>\r\n @if (showOptionsPoints) {\r\n <div class=\"options\">\r\n <ius-button-squared-tertiary\r\n iconName=\"icon-more-vert\"\r\n (buttonClicked)=\"clickShowMore($event)\"\r\n ></ius-button-squared-tertiary>\r\n @if (options) {\r\n <div class=\"dropdown\">\r\n <ius-dropdown-contextual-menu>\r\n <div class=\"projected-content\" (click)=\"preventCardClick($event)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </ius-dropdown-contextual-menu>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n <div class=\"btn\">\r\n <ius-button-squared-tertiary\r\n iconName=\"icon-keyboard-arrow-right\"\r\n (buttonClicked)=\"clickCard($event)\"\r\n ></ius-button-squared-tertiary>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.general-container{position:relative}.container-card{display:flex;padding:16px 32px;align-items:center;align-content:center;gap:12px;flex-wrap:wrap;border-radius:8px;border:1px solid #eaeaea;background:#fff}.container-card :hover{cursor:pointer}.data{display:flex;align-items:center;gap:40px;flex:1 0 0}.left-data{display:flex;min-width:280px;align-items:center;gap:8px;flex:1 0 0}.left-data .container-icon-letra{background-color:#dfe0ff;display:flex;width:20px;height:20px;padding:10px;margin-right:10px;justify-content:center;align-items:center;border-radius:100px;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px}.left-data .container-icon-letra:hover{background-color:#6670c4!important}.left-data .container-icon-letra:hover>span{display:none}.left-data .container-icon-letra:hover .icon-letra-edit{display:block}.left-data .container-icon-letra span{color:#1b2678;text-align:center;font-size:18px;font-weight:500}.left-data .image-container{display:flex;align-items:center;gap:8px}.left-data .image-container .image{display:flex;width:32px;height:32px;justify-content:center;align-items:center;aspect-ratio:1/1;border-radius:100px;border:.5px solid #f5f5f5;background:#fff3}.left-data .data-container{display:flex;flex-direction:column;align-items:flex-start;gap:0;flex:1 0 0}.left-data .data-container p{margin:0}.left-data .data-container .name{display:flex;align-items:center;gap:10px;color:#333;font-family:Rubik,sans-serif;font-size:1rem;font-style:normal;font-weight:400;line-height:22px}.left-data .data-container .state{display:flex;align-items:center;gap:10px;align-self:stretch;color:#595959;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px}.left-data .data-container .role{display:flex;align-items:center;gap:10px;align-self:stretch;color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.28px}.right-data{display:flex;align-items:center;gap:40px}.right-data p{margin:0}.right-data .container{display:flex;min-width:280px;justify-content:center;align-items:center;align-content:center;gap:40px;flex-wrap:wrap}.right-data .container .data-container{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.right-data .container .data-container .title{display:flex;align-items:center;gap:10px;color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px;align-self:start}.right-data .container .data-container .data{display:flex;align-items:center;gap:10px;align-self:stretch;color:#595959;font-family:Rubik,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.28px}.right-data .buttons{display:flex;justify-content:flex-end;align-items:center;gap:8px}.right-data .btn{display:flex;width:40px;height:40px;padding:8px;justify-content:center;align-items:center;gap:4px;aspect-ratio:1/1;border-radius:8px;background:#fff}.dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:9999;min-width:max-content;white-space:nowrap}.options{display:flex;align-items:center;position:relative}\n"] }]
|
|
53
|
+
args: [{ selector: 'ius-user-card', standalone: true, imports: [ButtonSquaredTertiaryComponent, DropdownContextualMenuComponent], template: "<div class=\"general-container\">\r\n <div\r\n class=\"container-card\"\r\n (mouseenter)=\"onMouseEnter()\"\r\n (mouseleave)=\"onMouseLeave()\"\r\n (click)=\"clickCard($event)\"\r\n >\r\n <div class=\"data\">\r\n <div class=\"left-data\">\r\n @if (letterIcon && !image) {\r\n <div class=\"container-icon-letra\">\r\n <span>{{ letterIcon }}</span>\r\n </div>\r\n }@else if(image && !letterIcon){\r\n <div class=\"image-container\">\r\n <img [src]=\"image\" class=\"image\" />\r\n </div>\r\n }\r\n <div class=\"data-container\">\r\n <p class=\"state\" [class.on]=\"state\" [class.off]=\"state === false\">\r\n {{ stateLabel }}\r\n </p>\r\n <p class=\"name\">{{ name }}</p>\r\n <p class=\"role\">{{ role }}</p>\r\n </div>\r\n </div>\r\n <div class=\"right-data\">\r\n <div class=\"container\">\r\n @if (label1 && data1) {\r\n <div class=\"data-container\">\r\n <p class=\"title\">{{ label1 }}</p>\r\n <p class=\"data\">{{ data1 }}</p>\r\n </div>\r\n } @if (label2 && data2) {\r\n <div class=\"data-container\">\r\n <p class=\"title\">{{ label2 }}</p>\r\n <p class=\"data\">{{ data2 }}</p>\r\n </div>\r\n }\r\n </div>\r\n @if (hover && showActions) {\r\n <div class=\"buttons\">\r\n <div>\r\n <ius-button-squared-tertiary\r\n iconName=\"icon-edit\"\r\n (buttonClicked)=\"clickEdit($event)\"\r\n ></ius-button-squared-tertiary>\r\n </div>\r\n @if (showDelete) {\r\n <div>\r\n <ius-button-squared-tertiary\r\n iconName=\"icon-delete\"\r\n (buttonClicked)=\"clickDelete($event)\"\r\n ></ius-button-squared-tertiary>\r\n </div>\r\n }\r\n @if (showOptionsPoints) {\r\n <div class=\"options\">\r\n <ius-button-squared-tertiary\r\n iconName=\"icon-more-vert\"\r\n (buttonClicked)=\"clickShowMore($event)\"\r\n ></ius-button-squared-tertiary>\r\n @if (options) {\r\n <div class=\"dropdown\">\r\n <ius-dropdown-contextual-menu>\r\n <div class=\"projected-content\" (click)=\"preventCardClick($event)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </ius-dropdown-contextual-menu>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n <div class=\"btn\">\r\n <ius-button-squared-tertiary\r\n iconName=\"icon-keyboard-arrow-right\"\r\n (buttonClicked)=\"clickCard($event)\"\r\n ></ius-button-squared-tertiary>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.general-container{position:relative}.container-card{display:flex;padding:16px 32px;align-items:center;align-content:center;gap:12px;flex-wrap:wrap;border-radius:8px;border:1px solid #eaeaea;background:#fff}.container-card :hover{cursor:pointer}.data{display:flex;align-items:center;gap:40px;flex:1 0 0}.left-data{display:flex;min-width:280px;align-items:center;gap:8px;flex:1 0 0}.left-data .container-icon-letra{background-color:#dfe0ff;display:flex;width:20px;height:20px;padding:10px;margin-right:10px;justify-content:center;align-items:center;border-radius:100px;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px}.left-data .container-icon-letra:hover{background-color:#6670c4!important}.left-data .container-icon-letra:hover>span{display:none}.left-data .container-icon-letra:hover .icon-letra-edit{display:block}.left-data .container-icon-letra span{color:#1b2678;text-align:center;font-size:18px;font-weight:500}.left-data .image-container{display:flex;align-items:center;gap:8px}.left-data .image-container .image{display:flex;width:32px;height:32px;justify-content:center;align-items:center;aspect-ratio:1/1;border-radius:100px;border:.5px solid #f5f5f5;background:#fff3}.left-data .data-container{display:flex;flex-direction:column;align-items:flex-start;gap:0;flex:1 0 0}.left-data .data-container p{margin:0}.left-data .data-container .name{display:flex;align-items:center;gap:10px;color:#333;font-family:Rubik,sans-serif;font-size:1rem;font-style:normal;font-weight:400;line-height:22px}.left-data .data-container .state{display:flex;align-items:center;gap:10px;align-self:stretch;color:#595959;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px}.left-data .data-container .role{display:flex;align-items:center;gap:10px;align-self:stretch;color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.28px}.right-data{display:flex;align-items:center;gap:40px}.right-data p{margin:0}.right-data .container{display:flex;min-width:280px;justify-content:center;align-items:center;align-content:center;gap:40px;flex-wrap:wrap}.right-data .container .data-container{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.right-data .container .data-container .title{display:flex;align-items:center;gap:10px;color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.24px;align-self:start}.right-data .container .data-container .data{display:flex;align-items:center;gap:10px;align-self:stretch;color:#595959;font-family:Rubik,sans-serif;font-size:.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.28px}.right-data .buttons{display:flex;justify-content:flex-end;align-items:center;gap:8px}.right-data .btn{display:flex;width:40px;height:40px;padding:8px;justify-content:center;align-items:center;gap:4px;aspect-ratio:1/1;border-radius:8px;background:#fff}.dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:9999;min-width:max-content;white-space:nowrap}.options{display:flex;align-items:center;position:relative}\n"] }]
|
|
53
54
|
}], propDecorators: { image: [{
|
|
54
55
|
type: Input
|
|
55
56
|
}], state: [{
|
|
@@ -78,6 +79,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
78
79
|
type: Input
|
|
79
80
|
}], showOptionsPoints: [{
|
|
80
81
|
type: Input
|
|
82
|
+
}], showDelete: [{
|
|
83
|
+
type: Input
|
|
81
84
|
}], onClickEdit: [{
|
|
82
85
|
type: Output
|
|
83
86
|
}], onClickDelete: [{
|
|
@@ -85,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
85
88
|
}], onClickCard: [{
|
|
86
89
|
type: Output
|
|
87
90
|
}] } });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3VzZXItY2FyZC91c2VyLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvdXNlci1jYXJkL3VzZXItY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDRCQUE0QixDQUFBOztBQVMzRSxNQUFNLE9BQU8saUJBQWlCO0lBUDlCO1FBUUUsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixZQUFPLEdBQVksS0FBSyxDQUFDO1FBWWhCLGVBQVUsR0FBVyxRQUFRLENBQUM7UUFDOUIsaUJBQVksR0FBVyxVQUFVLENBQUM7UUFDbEMsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUIsc0JBQWlCLEdBQVksSUFBSSxDQUFDO1FBQ2xDLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFFMUIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3RDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN4QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7S0F1Q2pEO0lBckNDLFlBQVk7UUFDVixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBWTtRQUNwQixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFZO1FBQ3RCLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVk7UUFDcEIsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBWTtRQUN4QixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBWTtRQUMzQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMxRCxDQUFDOytHQTVEWSxpQkFBaUI7bUdBQWpCLGlCQUFpQiw0ZkNYOUIsazZGQXFGQSxxckpEOUVZLDhCQUE4QixzSUFBRSwrQkFBK0I7OzRGQUk5RCxpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUCxDQUFDLDhCQUE4QixFQUFFLCtCQUErQixDQUFDOzhCQVFqRSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRHJvcGRvd25Db250ZXh0dWFsTWVudUNvbXBvbmVudCB9IGZyb20gXCIuLi9kcm9wZG93bi1jb250ZXh0dWFsLW1lbnVcIjtcclxuaW1wb3J0IHsgQnV0dG9uU3F1YXJlZFRlcnRpYXJ5Q29tcG9uZW50IH0gZnJvbSBcIi4uL2J1dHRvbi1zcXVhcmVkLXRlcnRpYXJ5XCJcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXVzLXVzZXItY2FyZCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQnV0dG9uU3F1YXJlZFRlcnRpYXJ5Q29tcG9uZW50LCBEcm9wZG93bkNvbnRleHR1YWxNZW51Q29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1jYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdXNlci1jYXJkLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlckNhcmRDb21wb25lbnQge1xyXG4gIGhvdmVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgb3B0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBpbWFnZT86IHN0cmluZztcclxuICBASW5wdXQoKSBzdGF0ZT86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgbmFtZT86IHN0cmluZztcclxuICBASW5wdXQoKSByb2xlPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsMT86IHN0cmluZztcclxuICBASW5wdXQoKSBkYXRhMT86IHN0cmluZztcclxuICBASW5wdXQoKSBsYWJlbDI/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZGF0YTI/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdXNlcklEPzogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGxldHRlckljb24/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYWN0aXZlVGV4dDogc3RyaW5nID0gJ0FjdGl2byc7XHJcbiAgQElucHV0KCkgaW5hY3RpdmVUZXh0OiBzdHJpbmcgPSAnSW5hY3Rpdm8nO1xyXG4gIEBJbnB1dCgpIHNob3dBY3Rpb25zOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93T3B0aW9uc1BvaW50czogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0RlbGV0ZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBvbkNsaWNrRWRpdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBvbkNsaWNrRGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIG9uQ2xpY2tDYXJkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIG9uTW91c2VFbnRlcigpIHtcclxuICAgIHRoaXMuaG92ZXIgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgb25Nb3VzZUxlYXZlKCkge1xyXG4gICAgdGhpcy5ob3ZlciA9IGZhbHNlO1xyXG4gICAgdGhpcy5vcHRpb25zID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBjbGlja0VkaXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMub25DbGlja0VkaXQuZW1pdCh0aGlzLnVzZXJJRCk7XHJcbiAgfVxyXG5cclxuICBjbGlja0RlbGV0ZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5vbkNsaWNrRGVsZXRlLmVtaXQodGhpcy51c2VySUQpO1xyXG4gIH1cclxuXHJcbiAgY2xpY2tDYXJkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLm9uQ2xpY2tDYXJkLmVtaXQodGhpcy51c2VySUQpO1xyXG4gIH1cclxuXHJcbiAgY2xpY2tTaG93TW9yZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5vcHRpb25zID0gIXRoaXMub3B0aW9ucztcclxuICB9XHJcblxyXG4gIHByZXZlbnRDYXJkQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHN0YXRlTGFiZWwoKTogc3RyaW5nIHtcclxuICByZXR1cm4gdGhpcy5zdGF0ZSA/IHRoaXMuYWN0aXZlVGV4dCA6IHRoaXMuaW5hY3RpdmVUZXh0O1xyXG59XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImdlbmVyYWwtY29udGFpbmVyXCI+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJjb250YWluZXItY2FyZFwiXHJcbiAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiXHJcbiAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlTGVhdmUoKVwiXHJcbiAgICAoY2xpY2spPVwiY2xpY2tDYXJkKCRldmVudClcIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJkYXRhXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWRhdGFcIj5cclxuICAgICAgICBAaWYgKGxldHRlckljb24gJiYgIWltYWdlKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1pY29uLWxldHJhXCI+XHJcbiAgICAgICAgICA8c3Bhbj57eyBsZXR0ZXJJY29uIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1AZWxzZSBpZihpbWFnZSAmJiAhbGV0dGVySWNvbil7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlXCIgY2xhc3M9XCJpbWFnZVwiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRhLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJzdGF0ZVwiIFtjbGFzcy5vbl09XCJzdGF0ZVwiIFtjbGFzcy5vZmZdPVwic3RhdGUgPT09IGZhbHNlXCI+XHJcbiAgICAgICAgICAgIHt7IHN0YXRlTGFiZWwgfX1cclxuICAgICAgICAgIDwvcD5cclxuICAgICAgICAgIDxwIGNsYXNzPVwibmFtZVwiPnt7IG5hbWUgfX08L3A+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cInJvbGVcIj57eyByb2xlIH19PC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LWRhdGFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICAgICAgICBAaWYgKGxhYmVsMSAmJiBkYXRhMSkge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGEtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwidGl0bGVcIj57eyBsYWJlbDEgfX08L3A+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZGF0YVwiPnt7IGRhdGExIH19PC9wPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9IEBpZiAobGFiZWwyICYmIGRhdGEyKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0YS1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJ0aXRsZVwiPnt7IGxhYmVsMiB9fTwvcD5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJkYXRhXCI+e3sgZGF0YTIgfX08L3A+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBAaWYgKGhvdmVyICYmIHNob3dBY3Rpb25zKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cclxuICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxpdXMtYnV0dG9uLXNxdWFyZWQtdGVydGlhcnlcclxuICAgICAgICAgICAgICBpY29uTmFtZT1cImljb24tZWRpdFwiXHJcbiAgICAgICAgICAgICAgKGJ1dHRvbkNsaWNrZWQpPVwiY2xpY2tFZGl0KCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9pdXMtYnV0dG9uLXNxdWFyZWQtdGVydGlhcnk+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIEBpZiAoc2hvd0RlbGV0ZSkge1xyXG4gICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGl1cy1idXR0b24tc3F1YXJlZC10ZXJ0aWFyeVxyXG4gICAgICAgICAgICAgIGljb25OYW1lPVwiaWNvbi1kZWxldGVcIlxyXG4gICAgICAgICAgICAgIChidXR0b25DbGlja2VkKT1cImNsaWNrRGVsZXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9pdXMtYnV0dG9uLXNxdWFyZWQtdGVydGlhcnk+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpZiAoc2hvd09wdGlvbnNQb2ludHMpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb25zXCI+XHJcbiAgICAgICAgICAgIDxpdXMtYnV0dG9uLXNxdWFyZWQtdGVydGlhcnlcclxuICAgICAgICAgICAgICBpY29uTmFtZT1cImljb24tbW9yZS12ZXJ0XCJcclxuICAgICAgICAgICAgICAoYnV0dG9uQ2xpY2tlZCk9XCJjbGlja1Nob3dNb3JlKCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9pdXMtYnV0dG9uLXNxdWFyZWQtdGVydGlhcnk+XHJcbiAgICAgICAgICAgIEBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIj5cclxuICAgICAgICAgICAgICA8aXVzLWRyb3Bkb3duLWNvbnRleHR1YWwtbWVudT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9qZWN0ZWQtY29udGVudFwiIChjbGljayk9XCJwcmV2ZW50Q2FyZENsaWNrKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pdXMtZHJvcGRvd24tY29udGV4dHVhbC1tZW51PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidG5cIj5cclxuICAgICAgICAgIDxpdXMtYnV0dG9uLXNxdWFyZWQtdGVydGlhcnlcclxuICAgICAgICAgICAgaWNvbk5hbWU9XCJpY29uLWtleWJvYXJkLWFycm93LXJpZ2h0XCJcclxuICAgICAgICAgICAgKGJ1dHRvbkNsaWNrZWQpPVwiY2xpY2tDYXJkKCRldmVudClcIlxyXG4gICAgICAgICAgPjwvaXVzLWJ1dHRvbi1zcXVhcmVkLXRlcnRpYXJ5PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -92,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
92
92
|
standalone: true,
|
|
93
93
|
}]
|
|
94
94
|
}] });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZm9ybWF0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2N1cnJlbmN5LWZvcm1hdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRCwrREFBK0Q7QUFDL0QsbUZBQW1GO0FBQ25GLEVBQUU7QUFDRiwwQkFBMEI7QUFDMUIsOEVBQThFO0FBQzlFLDBEQUEwRDtBQUMxRCxFQUFFO0FBQ0YsOEJBQThCO0FBQzlCLHNFQUFzRTtBQUN0RSw4QkFBOEI7QUFDOUIsNkRBQTZEO0FBQzdELE1BQU07QUFDTixxRUFBcUU7QUFDckUsK0RBQStEO0FBRS9EOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE9BQWU7SUFLaEQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRSxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sT0FBTyxHQUFHLFVBQVUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDM0UsTUFBTSxPQUFPLEdBQUcsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4RSxNQUFNLE1BQU0sR0FBRyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sSUFBSSxPQUFPLEVB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QUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFKOUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gVXRpbGlkYWRlcyBkZSBtb25lZGEgKGxvY2FsZSBlcy1DTyBwb3IgZGVmZWN0bykuIFJldXRpbGl6YWJsZXMgZW4gY3VhbHF1aWVyIGFwcC5cclxuLy9cclxuLy8gRW4gdW4gaW5wdXQgY29udHJvbGFkbzpcclxuLy8gICBpbXBvcnQgeyBwYXJzZUN1cnJlbmN5SW5wdXQsIGJ1aWxkQ3VycmVuY3lEaXNwbGF5LCBmb3JtYXRDdXJyZW5jeU9uQmx1ciB9XHJcbi8vICAgICBmcm9tICdAbGl0aWdpb3ZpcnR1YWwvaXVzLWRlc2lnbi1jb21wb25lbnRzL3V0aWxzJztcclxuLy9cclxuLy8gICBvbkNoYW5nZShldmVudDogc3RyaW5nKSB7XHJcbi8vICAgICBjb25zdCB7IHJhd1N0ciwgaW50UGFydCwgZGVjUGFydCB9ID0gcGFyc2VDdXJyZW5jeUlucHV0KGV2ZW50KTtcclxuLy8gICAgIHRoaXMudmFsb3JSYXcgPSByYXdTdHI7XHJcbi8vICAgICB0aGlzLmRpc3BsYXkgPSBidWlsZEN1cnJlbmN5RGlzcGxheShpbnRQYXJ0LCBkZWNQYXJ0KTtcclxuLy8gICB9XHJcbi8vICAgb25CbHVyKCkgeyB0aGlzLmRpc3BsYXkgPSBmb3JtYXRDdXJyZW5jeU9uQmx1cih0aGlzLnZhbG9yUmF3KTsgfVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8qKlxyXG4gKiBQYXJzZWEgbG8gcXVlIGVsIHVzdWFyaW8gZXNjcmliZSBlbiB1biBpbnB1dCBkZSBtb25lZGEgKGVzLUNPOiBwdW50byA9IG1pbGVzLCBjb21hID0gZGVjaW1hbCkuXHJcbiAqICAtIHJhd1N0cjogc3RyaW5nIGNvbiBwdW50byBkZWNpbWFsIHBhcmEgY8OhbGN1bG9zIEpTIChcIjE1MDAwMC41MFwiKVxyXG4gKiAgLSBpbnRQYXJ0OiBwYXJ0ZSBlbnRlcmEgc2luIGZvcm1hdG8gKFwiMTUwMDAwXCIpXHJcbiAqICAtIGRlY1BhcnQ6IHBhcnRlIGRlY2ltYWwgdGFsIGNvbW8gbGEgZXNjcmliacOzIGVsIHVzdWFyaW8gKFwiNTBcIikgbyBudWxsIHNpIG5vIGhheSBjb21hXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDdXJyZW5jeUlucHV0KGRpc3BsYXk6IHN0cmluZyk6IHtcclxuICByYXdTdHI6IHN0cmluZztcclxuICBpbnRQYXJ0OiBzdHJpbmc7XHJcbiAgZGVjUGFydDogc3RyaW5nIHwgbnVsbDtcclxufSB7XHJcbiAgY29uc3Qgc3RyaXBwZWQgPSBkaXNwbGF5LnJlcGxhY2UoL1xcLi9nLCAnJykucmVwbGFjZSgvW14wLTksXS9nLCAnJyk7XHJcbiAgY29uc3QgY29tbWFJbmRleCA9IHN0cmlwcGVkLmluZGV4T2YoJywnKTtcclxuICBjb25zdCBpbnRQYXJ0ID0gY29tbWFJbmRleCA+PSAwID8gc3RyaXBwZWQuc2xpY2UoMCwgY29tbWFJbmRleCkgOiBzdHJpcHBlZDtcclxuICBjb25zdCBkZWNQYXJ0ID0gY29tbWFJbmRleCA+PSAwID8gc3RyaXBwZWQuc2xpY2UoY29tbWFJbmRleCArIDEpIDogbnVsbDtcclxuICBjb25zdCByYXdTdHIgPSBkZWNQYXJ0ICE9PSBudWxsID8gYCR7aW50UGFydH0uJHtkZWNQYXJ0fWAgOiBpbnRQYXJ0O1xyXG4gIHJldHVybiB7IHJhd1N0ciwgaW50UGFydCwgZGVjUGFydCB9O1xyXG59XHJcblxyXG4vKipcclxuICogRm9ybWF0ZWEgbGEgcGFydGUgZW50ZXJhIGNvbiBzZXBhcmFkb3JlcyBkZSBtaWxlcyAoZXMtQ08pIHkgY29uc2VydmEgbGEgZGVjaW1hbFxyXG4gKiBleGFjdGFtZW50ZSBjb21vIGxhIGVzY3JpYmnDsyBlbCB1c3VhcmlvIChzaW4gcmVkb25kZWFyKS4gUGFyYSBhY3R1YWxpemFyIGVsIGRpc3BsYXkgYWwgZXNjcmliaXIuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRDdXJyZW5jeURpc3BsYXkoaW50UGFydDogc3RyaW5nLCBkZWNQYXJ0OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcclxuICBpZiAoIWludFBhcnQgJiYgZGVjUGFydCA9PT0gbnVsbCkgcmV0dXJuICcnO1xyXG4gIGNvbnN0IGludE51bSA9IGludFBhcnQgPyBwYXJzZUludChpbnRQYXJ0LCAxMCkgOiAwO1xyXG4gIGNvbnN0IGZvcm1hdHRlZEludCA9IGlzTmFOKGludE51bSlcclxuICAgID8gaW50UGFydFxyXG4gICAgOiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VzLUNPJywgeyBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAsIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMCB9KS5mb3JtYXQoaW50TnVtKTtcclxuICByZXR1cm4gZGVjUGFydCAhPT0gbnVsbCA/IGAke2Zvcm1hdHRlZEludH0sJHtkZWNQYXJ0fWAgOiBmb3JtYXR0ZWRJbnQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGb3JtYXRlYSBlbCB2YWxvciByYXcgYWwgc2FsaXIgZGVsIGNhbXBvIChibHVyKTogY29tcGxldGEgZGVjaW1hbGVzIHNpIGxvcyBoYXkuXHJcbiAqICAgZm9ybWF0Q3VycmVuY3lPbkJsdXIoJzE1MDAwMC41JykgIOKGkiBcIjE1MC4wMDAsNTBcIlxyXG4gKiAgIGZvcm1hdEN1cnJlbmN5T25CbHVyKCcxNTAwMDAnKSAgICDihpIgXCIxNTAuMDAwXCJcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRDdXJyZW5jeU9uQmx1cihyYXdWYWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICBpZiAoIXJhd1ZhbHVlKSByZXR1cm4gJyc7XHJcbiAgY29uc3QgbnVtID0gcGFyc2VGbG9hdChyYXdWYWx1ZSk7XHJcbiAgaWYgKGlzTmFOKG51bSkgfHwgbnVtIDw9IDApIHJldHVybiByYXdWYWx1ZTtcclxuICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KCdlcy1DTycsIHtcclxuICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCxcclxuICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcclxuICB9KS5mb3JtYXQobnVtKTtcclxufVxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIFBpcGUgcGFyYSBtb3N0cmFyIHZhbG9yZXMgZW4gdGVtcGxhdGVzXHJcbi8vICAge3sgMTUwMDAwIHwgY3VycmVuY3lGb3JtYXQgfX0gICAgICAgIOKGkiBcIjE1MC4wMDBcIlxyXG4vLyAgIHt7IDE1MDAwMC41IHwgY3VycmVuY3lGb3JtYXQgfX0gICAgICDihpIgXCIxNTAuMDAwLDVcIlxyXG4vLyAgIHt7IDE1MDAwMCB8IGN1cnJlbmN5Rm9ybWF0OiB0cnVlIH19ICDihpIgXCIkIDE1MC4wMDBcIiAoc8OtbWJvbG8gQ09QKVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdjdXJyZW5jeUZvcm1hdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1cnJlbmN5Rm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybShcclxuICAgIHZhbHVlOiBudW1iZXIgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLFxyXG4gICAgc2hvd1N5bWJvbCA9IGZhbHNlLFxyXG4gICAgY3VycmVuY3lDb2RlID0gJ0NPUCcsXHJcbiAgICBsb2NhbGUgPSAnZXMtQ08nLFxyXG4gICk6IHN0cmluZyB7XHJcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHJldHVybiAnJztcclxuXHJcbiAgICBjb25zdCBudW0gPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gcGFyc2VGbG9hdCh2YWx1ZS5yZXBsYWNlKC8sL2csICcnKSkgOiB2YWx1ZTtcclxuXHJcbiAgICBpZiAoaXNOYU4obnVtKSkgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NhbGUsIHtcclxuICAgICAgICBzdHlsZTogc2hvd1N5bWJvbCA/ICdjdXJyZW5jeScgOiAnZGVjaW1hbCcsXHJcbiAgICAgICAgY3VycmVuY3k6IHNob3dTeW1ib2wgPyBjdXJyZW5jeUNvZGUgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwLFxyXG4gICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcclxuICAgICAgfSkuZm9ybWF0KG51bSk7XHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgcmV0dXJuIG51bS50b1N0cmluZygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -70,4 +70,4 @@ export function toTimeOnlyString(d) {
|
|
|
70
70
|
const s = d.getSeconds().toString().padStart(2, '0');
|
|
71
71
|
return `${h}:${min}:${s}`;
|
|
72
72
|
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mb3JtYXQudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscy9zcmMvZGF0ZS1mb3JtYXQudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQVU7SUFDdkMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUU7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUM1RSxJQUFJLEtBQUssWUFBWSxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdFLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDTixPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixP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SUFDbkQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDckQsT0FBTyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBIZWxwZXJzIGRlIGZlY2hhL2hvcmEgcGFyYSBpbnB1dHMgQW5ndWxhciDihpQgYmFja2VuZCAoRGF0ZU9ubHkgLyBUaW1lT25seSBkZSBDIykuXHJcbiAqXHJcbiAqIElNUE9SVEFOVEU6IHNlIHVzYSBTSUVNUFJFIGVsIGNvbnN0cnVjdG9yIGxvY2FsIERhdGUoeSwgbSwgZCkgcGFyYSBldml0YXIgZWwgc2hpZnQgZGVcclxuICogem9uYSBob3JhcmlhLiBuZXcgRGF0ZSgneXl5eS1NTS1kZCcpIHNlIGludGVycHJldGEgY29tbyBVVEMgeSBwdWVkZSBzYWx0YXIgdW4gZMOtYSBzZWfDum5cclxuICogbGEgem9uYTsgZXN0b3MgaGVscGVycyByZWNvbnN0cnV5ZW4gbGEgZmVjaGEgZGVzZGUgc3VzIGNvbXBvbmVudGVzIChob3JhIGxvY2FsKS5cclxuICovXHJcblxyXG4vKipcclxuICogQ29udmllcnRlIGN1YWxxdWllciB2YWxvciBkZSBmZWNoYSAoc3RyaW5nIFwieXl5eS1NTS1kZFwiLCBcInl5eXktTU0tZGRUSEg6bW06c3NcIiBvIERhdGUpXHJcbiAqIGEgRGF0ZSBlbiBob3JhIExPQ0FMLiBEZXZ1ZWx2ZSB1bmRlZmluZWQgc2kgZXMgdmFjw61vLyBpbnbDoWxpZG8uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VMb2NhbERhdGUodmFsdWU6IGFueSk6IERhdGUgfCB1bmRlZmluZWQge1xyXG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykgcmV0dXJuIHVuZGVmaW5lZDtcclxuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSByZXR1cm4gaXNOYU4odmFsdWUuZ2V0VGltZSgpKSA/IHVuZGVmaW5lZCA6IHZhbHVlO1xyXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICBjb25zdCBtID0gdmFsdWUubWF0Y2goL14oXFxkezR9KS0oXFxkezJ9KS0oXFxkezJ9KSg/OltUIF0oXFxkezJ9KTooXFxkezJ9KSg/OjooXFxkezJ9KSk/KT8vKTtcclxuICAgIGlmIChtKSB7XHJcbiAgICAgIHJldHVybiBuZXcgRGF0ZSgrbVsxXSwgK21bMl0gLSAxLCArbVszXSwgKyhtWzRdID8/IDApLCArKG1bNV0gPz8gMCksICsobVs2XSA/PyAwKSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZSh2YWx1ZSk7XHJcbiAgICByZXR1cm4gaXNOYU4ocGFyc2VkLmdldFRpbWUoKSkgPyB1bmRlZmluZWQgOiBwYXJzZWQ7XHJcbiAgfVxyXG4gIHJldHVybiB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbi8qKiBQYXJzZWEgZXZlbnRvIGRlIGRhdGUtcGlja2VyIChJU08gc3RyaW5nLCBEYXRlLCBcIllZWVktTU0tRERcIikgYSBEYXRlIGxvY2FsLiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VEYXRlRXZlbnQoZXZlbnQ6IGFueSk6IERhdGUgfCB1bmRlZmluZWQge1xyXG4gIGlmICghZXZlbnQpIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgaWYgKGV2ZW50IGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuIGV2ZW50O1xyXG4gIGlmICh0eXBlb2YgZXZlbnQgPT09ICdzdHJpbmcnKSB7XHJcbiAgICBjb25zdCBtYXRjaCA9IGV2ZW50Lm1hdGNoKC9eKFxcZHs0fSktKFxcZHsyfSktKFxcZHsyfSkvKTtcclxuICAgIGlmIChtYXRjaCkge1xyXG4gICAgICByZXR1cm4gbmV3IERhdGUoK21hdGNoWzFdLCArbWF0Y2hbMl0gLSAxLCArbWF0Y2hbM10pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFyc2VkID0gbmV3IERhdGUoZXZlbnQpO1xyXG4gICAgcmV0dXJuIGlzTmFOKHBhcnNlZC5nZXRUaW1lKCkpID8gdW5kZWZpbmVkIDogcGFyc2VkO1xyXG4gIH1cclxuICByZXR1cm4gdW5kZWZpbmVkO1xyXG59XHJcblxyXG4vKiogUGFyc2VhIGV2ZW50byBkZSB0aW1lLXBpY2tlciBhIHN0cmluZyBcIkhIOm1tOnNzXCIuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUhvcmFFdmVudChldmVudDogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICBpZiAoIWV2ZW50KSByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIGlmIChldmVudCBpbnN0YW5jZW9mIERhdGUpIHJldHVybiB0b1RpbWVPbmx5U3RyaW5nKGV2ZW50KTtcclxuICBpZiAodHlwZW9mIGV2ZW50ID09PSAnc3RyaW5nJykge1xyXG4gICAgY29uc3QgdHJpbW1lZCA9IGV2ZW50LnRyaW0oKTtcclxuICAgIGlmICgvXlxcZHsyfTpcXGR7Mn0oOlxcZHsyfSk/JC8udGVzdCh0cmltbWVkKSkge1xyXG4gICAgICByZXR1cm4gdHJpbW1lZC5sZW5ndGggPT09IDUgPyBgJHt0cmltbWVkfTowMGAgOiB0cmltbWVkO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFyc2VkID0gbmV3IERhdGUoZXZlbnQpO1xyXG4gICAgcmV0dXJuIGlzTmFOKHBhcnNlZC5nZXRUaW1lKCkpID8gdW5kZWZpbmVkIDogdG9UaW1lT25seVN0cmluZyhwYXJzZWQpO1xyXG4gIH1cclxuICByZXR1cm4gdW5kZWZpbmVkO1xyXG59XHJcblxyXG4vKiogRGF0ZSAtPiBcInl5eXktTU0tZGRcIiBlbiBob3JhIGxvY2FsIChmb3JtYXRvIERhdGVPbmx5IEMjKS4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHRvRGF0ZU9ubHlTdHJpbmcoZDogRGF0ZSk6IHN0cmluZyB7XHJcbiAgY29uc3QgeSA9IGQuZ2V0RnVsbFllYXIoKTtcclxuICBjb25zdCBtID0gKGQuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcclxuICBjb25zdCBkZCA9IGQuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcclxuICByZXR1cm4gYCR7eX0tJHttfS0ke2RkfWA7XHJcbn1cclxuXHJcbi8qKiBEYXRlIC0+IFwiSEg6bW06c3NcIiBlbiBob3JhIGxvY2FsIChmb3JtYXRvIFRpbWVPbmx5IEMjKS4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHRvVGltZU9ubHlTdHJpbmcoZDogRGF0ZSk6IHN0cmluZyB7XHJcbiAgY29uc3QgaCA9IGQuZ2V0SG91cnMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgY29uc3QgbWluID0gZC5nZXRNaW51dGVzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xyXG4gIGNvbnN0IHMgPSBkLmdldFNlY29uZHMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgcmV0dXJuIGAke2h9OiR7bWlufToke3N9YDtcclxufVxyXG4iXX0=
|
|
@@ -19,4 +19,4 @@ export function inferMimeTypeFromName(fileName) {
|
|
|
19
19
|
default: return '';
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1taW1lLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2ZpbGUtbWltZS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxRQUFpQjtJQUNyRCxJQUFJLENBQUMsUUFBUTtRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDckQsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNaLEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxpQkFBaUIsQ0FBQztRQUNyQyxLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDLENBQUMsT0FBTyxZQUFZLENBQUM7UUFDakMsS0FBSyxLQUFLLENBQUMsQ0FBQyxPQUFPLFdBQVcsQ0FBQztRQUMvQixLQUFLLE1BQU0sQ0FBQyxDQUFDLE9BQU8seUVBQXlFLENBQUM7UUFDOUYsS0FBSyxNQUFNLENBQUMsQ0FBQyxPQUFPLG1FQUFtRSxDQUFDO1FBQ3hGLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JCLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEluZmllcmUgZWwgTUlNRSB0eXBlIGEgcGFydGlyIGRlIGxhIGV4dGVuc2nDs24gZGVsIG5vbWJyZSBkZSBhcmNoaXZvLlxyXG4gKlxyXG4gKiDDmnRpbCBjdWFuZG8gZWwgYmFja2VuZCBkZXZ1ZWx2ZSBlbCBub21icmUgZGVsIGFyY2hpdm8gcGVybyBubyBzdSBNSU1FIHR5cGUsIHkgbGEgVUlcclxuICogbmVjZXNpdGEgdW5vIHBhcmEgZGVjaWRpciDDrWNvbm8vdmlzb3IgKGVqLiBkaXN0aW5ndWlyIFBERiBkZSBXb3JkL0V4Y2VsL2ltYWdlbikuXHJcbiAqIFBhcmEgYXJjaGl2b3MgTlVFVk9TIHN1Ymlkb3MgcG9yIGVsIHVzdWFyaW8sIHVzYXIgYEZpbGUudHlwZWAgKHlhIHZpZW5lIGRlbCBuYXZlZ2Fkb3IpLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGluZmVyTWltZVR5cGVGcm9tTmFtZShmaWxlTmFtZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgaWYgKCFmaWxlTmFtZSkgcmV0dXJuICcnO1xyXG4gIGNvbnN0IGV4dCA9IGZpbGVOYW1lLnNwbGl0KCcuJykucG9wKCk/LnRvTG93ZXJDYXNlKCk7XHJcbiAgc3dpdGNoIChleHQpIHtcclxuICAgIGNhc2UgJ3BkZic6IHJldHVybiAnYXBwbGljYXRpb24vcGRmJztcclxuICAgIGNhc2UgJ2pwZyc6XHJcbiAgICBjYXNlICdqcGVnJzogcmV0dXJuICdpbWFnZS9qcGVnJztcclxuICAgIGNhc2UgJ3BuZyc6IHJldHVybiAnaW1hZ2UvcG5nJztcclxuICAgIGNhc2UgJ2RvY3gnOiByZXR1cm4gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JztcclxuICAgIGNhc2UgJ3hsc3gnOiByZXR1cm4gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JztcclxuICAgIGRlZmF1bHQ6IHJldHVybiAnJztcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -8,4 +8,4 @@ export const MB_IN_BYTES = 1024 * 1024;
|
|
|
8
8
|
export function bytesToMB(bytes) {
|
|
9
9
|
return Math.round((bytes / MB_IN_BYTES) * 10) / 10;
|
|
10
10
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2ZpbGUtc2l6ZS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUM7QUFDaEMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFFdkMscUZBQXFGO0FBQ3JGLE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBYTtJQUNyQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQ29uc3RhbnRlcyB5IGNvbnZlcnNpw7NuIGRlIHRhbWHDsW8gZGUgYXJjaGl2by4gQ2VudHJhbGl6YSBsb3MgbsO6bWVyb3MgbcOhZ2ljb3NcclxuICogKDEwMjQpIHkgb2ZyZWNlIHVuYSBjb252ZXJzacOzbiBhIE1CIHBhcmEgbW9zdHJhciB0b3RhbGVzIGFncmVnYWRvcyBlbiBVSS5cclxuICovXHJcbmV4cG9ydCBjb25zdCBLQl9JTl9CWVRFUyA9IDEwMjQ7XHJcbmV4cG9ydCBjb25zdCBNQl9JTl9CWVRFUyA9IDEwMjQgKiAxMDI0O1xyXG5cclxuLyoqIEJ5dGVzIC0+IE1CICgxIGRlY2ltYWwpLiBQYXJhIG1vc3RyYXIgdG90YWxlcyBhZ3JlZ2Fkb3MgKGVqLiBcIlggTUIgZGUgMjUgTUJcIikuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBieXRlc1RvTUIoYnl0ZXM6IG51bWJlcik6IG51bWJlciB7XHJcbiAgcmV0dXJuIE1hdGgucm91bmQoKGJ5dGVzIC8gTUJfSU5fQllURVMpICogMTApIC8gMTA7XHJcbn1cclxuIl19
|
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
41
41
|
standalone: true,
|
|
42
42
|
}]
|
|
43
43
|
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0by1ob3JhLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2Zvcm1hdG8taG9yYS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRDs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyxlQUFlO0lBQzFCLFNBQVMsQ0FBQyxLQUE0QjtRQUNwQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXRCLElBQUksS0FBSyxZQUFZLElBQUksRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDeEQsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBYSxFQUFFLE9BQWU7UUFDaEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNsRCxJQUFJLE9BQU8sS0FBSyxDQUFDO1lBQUUsT0FBTyxHQUFHLE1BQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNoRCxPQUFPLEdBQUcsTUFBTSxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO0lBQ3RFLENBQUM7K0dBNUJVLGVBQWU7NkdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtvQkFDbkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIE11ZXN0cmEgdW5hIGhvcmEgZW4gZm9ybWF0byAxMmggY29uIGFtL3BtLlxyXG4gKiAgIHt7ICcxNDozMDowMCcgfCBmb3JtYXRvSG9yYSB9fSAg4oaSIFwiMjozMCBwbVwiXHJcbiAqICAge3sgJzA5OjAwJyAgICB8IGZvcm1hdG9Ib3JhIH19ICDihpIgXCI5IGFtXCJcclxuICogQWNlcHRhIHN0cmluZyAoY29uIEhIOm1tWzpzc10gZW4gY3VhbHF1aWVyIHBhcnRlKSwgRGF0ZSBvIElTTy5cclxuICovXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZm9ybWF0b0hvcmEnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtYXRvSG9yYVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0odmFsdWU/OiBzdHJpbmcgfCBEYXRlIHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gJyc7XHJcblxyXG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRIb3Vycyh2YWx1ZS5nZXRIb3VycygpLCB2YWx1ZS5nZXRNaW51dGVzKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHN0ciA9IFN0cmluZyh2YWx1ZSk7XHJcblxyXG4gICAgY29uc3QgbWF0Y2ggPSBzdHIubWF0Y2goLyhcXGR7MSwyfSk6KFxcZHsyfSkoPzo6XFxkezJ9KT8vKTtcclxuICAgIGlmIChtYXRjaCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRIb3VycyhOdW1iZXIobWF0Y2hbMV0pLCBOdW1iZXIobWF0Y2hbMl0pKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZShzdHIpO1xyXG4gICAgaWYgKCFpc05hTihwYXJzZWQuZ2V0VGltZSgpKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRIb3VycyhwYXJzZWQuZ2V0SG91cnMoKSwgcGFyc2VkLmdldE1pbnV0ZXMoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb3JtYXRIb3Vycyhob3VyczogbnVtYmVyLCBtaW51dGVzOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcGVyaW9kID0gaG91cnMgPj0gMTIgPyAncG0nIDogJ2FtJztcclxuICAgIGNvbnN0IGhvdXIxMiA9IGhvdXJzICUgMTIgPT09IDAgPyAxMiA6IGhvdXJzICUgMTI7XHJcbiAgICBpZiAobWludXRlcyA9PT0gMCkgcmV0dXJuIGAke2hvdXIxMn0gJHtwZXJpb2R9YDtcclxuICAgIHJldHVybiBgJHtob3VyMTJ9OiR7bWludXRlcy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9ICR7cGVyaW9kfWA7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -74,4 +74,4 @@ export class ListFilter {
|
|
|
74
74
|
this._reopened = false;
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1maWx0ZXIudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscy9zcmMvbGlzdC1maWx0ZXIudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBWXJCOzs7T0FHRztJQUNILFlBQ21CLE1BQWlCLEVBQ2pCLEtBQXlDO1FBRHpDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBb0M7UUFqQnBELFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTFCLDJGQUEyRjtRQUMzRixrR0FBa0c7UUFDMUYsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixXQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ2pCLGNBQVMsR0FBZSxJQUFJLENBQUM7UUFDN0IsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixtQkFBYyxHQUFHLEtBQUssQ0FBQztJQVM1QixDQUFDO0lBRUoseUdBQXlHO0lBQ3pHLElBQUksT0FBTztRQUNULE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDaEMsSUFDRSxJQUFJLENBQUMsU0FBUztZQUNkLEdBQUcsS0FBSyxJQUFJLENBQUMsU0FBUztZQUN0QixJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVO1lBQzlCLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFDdEMsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNyQixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2xDLENBQUMsQ0FBQyxHQUFHO1lBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWpFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELGlEQUFpRDtJQUNqRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELDBGQUEwRjtJQUMxRixNQUFNLENBQUMsSUFBWTtRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELG9GQUFvRjtJQUNwRixNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELG1FQUFtRTtJQUNuRSxLQUFLO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIExpc3RGaWx0ZXI8VD4g4oCUIHBhdHLDs24gw7puaWNvIGRlIGZpbHRyYWRvIHBhcmEgYGl1cy1pbnB1dC1zZWxlY3RgIGRlbCBlY29zaXN0ZW1hLlxyXG4gKlxyXG4gKiBDZW50cmFsaXphIGVsIGZpbHRyYWRvIGNsaWVudC1zaWRlIGRlIGxpc3RhcyBlbiBtZW1vcmlhIGNvbiBkb3MgY29tcG9ydGFtaWVudG9zOlxyXG4gKiAgLSBEZWJvdW5jZTogbG8gYXBvcnRhIGVsIHByb3BpbyBgaXVzLWlucHV0LXNlbGVjdGAgKGlucHV0IGBkZWJvdW5jZU1zYCwgZGVmYXVsdCAzMDApLlxyXG4gKiAgLSBcIlJlLWNsaWNrIG11ZXN0cmEgbGlzdGEgY29tcGxldGFcIjogYWwgcmUtZW5mb2NhciB1biBzZWxlY3QgeWEgc2VsZWNjaW9uYWRvLFxyXG4gKiAgICByZWFwYXJlY2UgbGEgbGlzdGEgY29tcGxldGEgKG1hbnRlbmllbmRvIGVsIHRleHRvKTsgYWwgdGVjbGVhciwgdnVlbHZlIGEgZmlsdHJhci5cclxuICpcclxuICogQ2xhc2UgcGxhbmEgKHNpbiBzaWduYWxzKTogZnVuY2lvbmEgZW4gY2hhbmdlIGRldGVjdGlvbiBjb24gbyBzaW4gc2lnbmFscy5cclxuICpcclxuICogVXNvOlxyXG4gKiAgIHRpcG9GaWx0ZXIgPSBuZXcgTGlzdEZpbHRlcihcclxuICogICAgICgpID0+IHRoaXMudGlwb0FjdGl2aWRhZGVzLFxyXG4gKiAgICAgKHQsIHEpID0+ICh0LnRpcG9BY3RpdmlkYWQgPz8gJycpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocSksXHJcbiAqICAgKTtcclxuICogICAvLyB0ZW1wbGF0ZTpcclxuICogICAvLyAgIEBmb3IgKHQgb2YgdGlwb0ZpbHRlci52aXNpYmxlOyB0cmFjayB0LmlkKSB7IC4uLiB9XHJcbiAqICAgLy8gICAob25DaGFuZ2VzVmFsdWVFdmVudCk9XCJvblNlYXJjaCgkZXZlbnQpXCIgIC0+IGRlbnRybzogdGlwb0ZpbHRlci5zZWFyY2goJGV2ZW50KVxyXG4gKiAgIC8vICAgKG9uRm9jdXNFdmVudCk9XCJ0aXBvRmlsdGVyLnJlb3BlbigpXCJcclxuICovXHJcbmV4cG9ydCBjbGFzcyBMaXN0RmlsdGVyPFQ+IHtcclxuICBwcml2YXRlIF90ZXJtID0gJyc7XHJcbiAgcHJpdmF0ZSBfcmVvcGVuZWQgPSBmYWxzZTtcclxuXHJcbiAgLy8gTWVtb2l6YWNpw7NuOiBzb2xvIHJlLWZpbHRyYSBjdWFuZG8gY2FtYmlhIChyZWZlcmVuY2lhIGRlIGxhIGZ1ZW50ZSwgdMOpcm1pbm8gbyByZW9wZW5lZCkuXHJcbiAgLy8gRW4gZWwgcmVzdG8gZGUgY2ljbG9zIGRlIGRldGVjY2nDs24gZGV2dWVsdmUgZWwgcmVzdWx0YWRvIGNhY2hlYWRvIOKGkiBiYXJhdG8gcGFyYSBsaXN0YXMgZ3JhbmRlcy5cclxuICBwcml2YXRlIF9oYXNDYWNoZSA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2NhY2hlOiBUW10gPSBbXTtcclxuICBwcml2YXRlIF9jYWNoZVNyYzogVFtdIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfY2FjaGVUZXJtID0gJyc7XHJcbiAgcHJpdmF0ZSBfY2FjaGVSZW9wZW5lZCA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBAcGFyYW0gc291cmNlIEZ1bmNpw7NuIHF1ZSBkZXZ1ZWx2ZSBsYSBsaXN0YSBjb21wbGV0YSBhY3R1YWwgKGFzeW5jLXNhZmU6IHNlIGxlZSBlbiBjYWRhIGFjY2VzbyBhIGB2aXNpYmxlYCkuXHJcbiAgICogQHBhcmFtIG1hdGNoICBQcmVkaWNhZG8gZGUgY29pbmNpZGVuY2lhLiBgdGVybWAgbGxlZ2EgeWEgZW4gbWluw7pzY3VsYXMuXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNvdXJjZTogKCkgPT4gVFtdLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXRjaDogKGl0ZW06IFQsIHRlcm06IHN0cmluZykgPT4gYm9vbGVhbixcclxuICApIHt9XHJcblxyXG4gIC8qKiBMaXN0YSBhIHJlbmRlcml6YXIgZW4gZWwgYEBmb3JgLiBNZW1vaXphZGE6IHJlLWZpbHRyYSBzb2xvIGN1YW5kbyBjYW1iaWFuIGZ1ZW50ZS90w6lybWluby9yZW9wZW5lZC4gKi9cclxuICBnZXQgdmlzaWJsZSgpOiBUW10ge1xyXG4gICAgY29uc3QgYWxsID0gdGhpcy5zb3VyY2UoKSA/PyBbXTtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5faGFzQ2FjaGUgJiZcclxuICAgICAgYWxsID09PSB0aGlzLl9jYWNoZVNyYyAmJlxyXG4gICAgICB0aGlzLl90ZXJtID09PSB0aGlzLl9jYWNoZVRlcm0gJiZcclxuICAgICAgdGhpcy5fcmVvcGVuZWQgPT09IHRoaXMuX2NhY2hlUmVvcGVuZWRcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fY2FjaGU7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcmVzdWx0ID1cclxuICAgICAgdGhpcy5fcmVvcGVuZWQgfHwgIXRoaXMuX3Rlcm0udHJpbSgpXHJcbiAgICAgICAgPyBhbGxcclxuICAgICAgICA6IGFsbC5maWx0ZXIoKGkpID0+IHRoaXMubWF0Y2goaSwgdGhpcy5fdGVybS50b0xvd2VyQ2FzZSgpKSk7XHJcblxyXG4gICAgdGhpcy5fY2FjaGUgPSByZXN1bHQ7XHJcbiAgICB0aGlzLl9jYWNoZVNyYyA9IGFsbDtcclxuICAgIHRoaXMuX2NhY2hlVGVybSA9IHRoaXMuX3Rlcm07XHJcbiAgICB0aGlzLl9jYWNoZVJlb3BlbmVkID0gdGhpcy5fcmVvcGVuZWQ7XHJcbiAgICB0aGlzLl9oYXNDYWNoZSA9IHRydWU7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLyoqIFTDqXJtaW5vIGRlIGZpbHRybyBhY3R1YWwgKHNpbiBub3JtYWxpemFyKS4gKi9cclxuICBnZXQgdGVybSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Rlcm07XHJcbiAgfVxyXG5cclxuICAvKiogTGxhbWFyIGRlc2RlIGVsIGhhbmRsZXIgZGUgYsO6c3F1ZWRhIChhbCB0ZWNsZWFyKTogYXBhZ2EgZWwgXCJtb3N0cmFyIHRvZG9cIiB5IGZpbHRyYS4gKi9cclxuICBzZWFyY2godGVybTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZW9wZW5lZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5fdGVybSA9IHRlcm0gPz8gJyc7XHJcbiAgfVxyXG5cclxuICAvKiogTGxhbWFyIGRlc2RlIGAob25Gb2N1c0V2ZW50KWA6IG11ZXN0cmEgbGEgbGlzdGEgY29tcGxldGEgc2luIHBlcmRlciBlbCB0ZXh0by4gKi9cclxuICByZW9wZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZW9wZW5lZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKiogTGltcGlhIHTDqXJtaW5vIHkgZXN0YWRvIChlai4gYWwgYWJyaXIvY2VycmFyIHVuIGZvcm11bGFyaW8pLiAqL1xyXG4gIHJlc2V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdGVybSA9ICcnO1xyXG4gICAgdGhpcy5fcmVvcGVuZWQgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -13,4 +13,4 @@ export * from './date-format.util';
|
|
|
13
13
|
export * from './file-mime.util';
|
|
14
14
|
export * from './file-size.util';
|
|
15
15
|
export * from './list-filter.util';
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogRW50cnktcG9pbnQgc2VjdW5kYXJpbzogQGxpdGlnaW92aXJ0dWFsL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlsc1xyXG4gKlxyXG4gKiBVdGlsaWRhZGVzIGNvbXBhcnRpZGFzIChzaW4gVUkpIHBhcmEgdG9kYXMgbGFzIGFwcHMgZGVsIGVjb3Npc3RlbWE6XHJcbiAqIG1vbmVkYSwgZmVjaGFzL2hvcmFzIHkgYXJjaGl2b3MuIEV2aXRhIGR1cGxpY2FyIGVzdGUgY8OzZGlnbyBlbiBjYWRhIGFwcC5cclxuICpcclxuICogVXNvOlxyXG4gKiAgIGltcG9ydCB7IEN1cnJlbmN5Rm9ybWF0UGlwZSwgcGFyc2VMb2NhbERhdGUgfSBmcm9tICdAbGl0aWdpb3ZpcnR1YWwvaXVzLWRlc2lnbi1jb21wb25lbnRzL3V0aWxzJztcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vY3VycmVuY3ktZm9ybWF0LnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Zvcm1hdG8taG9yYS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kYXRlLWZvcm1hdC51dGlsJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWxlLW1pbWUudXRpbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS1zaXplLnV0aWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpc3QtZmlsdGVyLnV0aWwnO1xyXG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"litigiovirtual-ius-design-components-utils.mjs","sources":["../../../projects/ius-design-components/utils/src/currency-format.pipe.ts","../../../projects/ius-design-components/utils/src/formato-hora.pipe.ts","../../../projects/ius-design-components/utils/src/date-format.util.ts","../../../projects/ius-design-components/utils/src/file-mime.util.ts","../../../projects/ius-design-components/utils/src/file-size.util.ts","../../../projects/ius-design-components/utils/src/list-filter.util.ts","../../../projects/ius-design-components/utils/src/public-api.ts","../../../projects/ius-design-components/utils/src/litigiovirtual-ius-design-components-utils.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n// ============================================================\n// Utilidades de moneda (locale es-CO por defecto). Reutilizables en cualquier app.\n//\n// En un input controlado:\n// import { parseCurrencyInput, buildCurrencyDisplay, formatCurrencyOnBlur }\n// from '@litigiovirtual/ius-design-components/utils';\n//\n// onChange(event: string) {\n// const { rawStr, intPart, decPart } = parseCurrencyInput(event);\n// this.valorRaw = rawStr;\n// this.display = buildCurrencyDisplay(intPart, decPart);\n// }\n// onBlur() { this.display = formatCurrencyOnBlur(this.valorRaw); }\n// ============================================================\n\n/**\n * Parsea lo que el usuario escribe en un input de moneda (es-CO: punto = miles, coma = decimal).\n * - rawStr: string con punto decimal para cálculos JS (\"150000.50\")\n * - intPart: parte entera sin formato (\"150000\")\n * - decPart: parte decimal tal como la escribió el usuario (\"50\") o null si no hay coma\n */\nexport function parseCurrencyInput(display: string): {\n rawStr: string;\n intPart: string;\n decPart: string | null;\n} {\n const stripped = display.replace(/\\./g, '').replace(/[^0-9,]/g, '');\n const commaIndex = stripped.indexOf(',');\n const intPart = commaIndex >= 0 ? stripped.slice(0, commaIndex) : stripped;\n const decPart = commaIndex >= 0 ? stripped.slice(commaIndex + 1) : null;\n const rawStr = decPart !== null ? `${intPart}.${decPart}` : intPart;\n return { rawStr, intPart, decPart };\n}\n\n/**\n * Formatea la parte entera con separadores de miles (es-CO) y conserva la decimal\n * exactamente como la escribió el usuario (sin redondear). Para actualizar el display al escribir.\n */\nexport function buildCurrencyDisplay(intPart: string, decPart: string | null): string {\n if (!intPart && decPart === null) return '';\n const intNum = intPart ? parseInt(intPart, 10) : 0;\n const formattedInt = isNaN(intNum)\n ? intPart\n : new Intl.NumberFormat('es-CO', { minimumFractionDigits: 0, maximumFractionDigits: 0 }).format(intNum);\n return decPart !== null ? `${formattedInt},${decPart}` : formattedInt;\n}\n\n/**\n * Formatea el valor raw al salir del campo (blur): completa decimales si los hay.\n * formatCurrencyOnBlur('150000.5') → \"150.000,50\"\n * formatCurrencyOnBlur('150000') → \"150.000\"\n */\nexport function formatCurrencyOnBlur(rawValue: string): string {\n if (!rawValue) return '';\n const num = parseFloat(rawValue);\n if (isNaN(num) || num <= 0) return rawValue;\n return new Intl.NumberFormat('es-CO', {\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n }).format(num);\n}\n\n// ============================================================\n// Pipe para mostrar valores en templates\n// {{ 150000 | currencyFormat }} → \"150.000\"\n// {{ 150000.5 | currencyFormat }} → \"150.000,5\"\n// {{ 150000 | currencyFormat: true }} → \"$ 150.000\" (símbolo COP)\n// ============================================================\n@Pipe({\n name: 'currencyFormat',\n standalone: true,\n})\nexport class CurrencyFormatPipe implements PipeTransform {\n transform(\n value: number | string | null | undefined,\n showSymbol = false,\n currencyCode = 'COP',\n locale = 'es-CO',\n ): string {\n if (value === null || value === undefined || value === '') return '';\n\n const num = typeof value === 'string' ? parseFloat(value.replace(/,/g, '')) : value;\n\n if (isNaN(num)) return String(value);\n\n try {\n return new Intl.NumberFormat(locale, {\n style: showSymbol ? 'currency' : 'decimal',\n currency: showSymbol ? currencyCode : undefined,\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n }).format(num);\n } catch {\n return num.toString();\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Muestra una hora en formato 12h con am/pm.\n * {{ '14:30:00' | formatoHora }} → \"2:30 pm\"\n * {{ '09:00' | formatoHora }} → \"9 am\"\n * Acepta string (con HH:mm[:ss] en cualquier parte), Date o ISO.\n */\n@Pipe({\n name: 'formatoHora',\n standalone: true,\n})\nexport class FormatoHoraPipe implements PipeTransform {\n transform(value?: string | Date | null): string {\n if (!value) return '';\n\n if (value instanceof Date) {\n return this.formatHours(value.getHours(), value.getMinutes());\n }\n\n const str = String(value);\n\n const match = str.match(/(\\d{1,2}):(\\d{2})(?::\\d{2})?/);\n if (match) {\n return this.formatHours(Number(match[1]), Number(match[2]));\n }\n\n const parsed = new Date(str);\n if (!isNaN(parsed.getTime())) {\n return this.formatHours(parsed.getHours(), parsed.getMinutes());\n }\n\n return '';\n }\n\n private formatHours(hours: number, minutes: number): string {\n const period = hours >= 12 ? 'pm' : 'am';\n const hour12 = hours % 12 === 0 ? 12 : hours % 12;\n if (minutes === 0) return `${hour12} ${period}`;\n return `${hour12}:${minutes.toString().padStart(2, '0')} ${period}`;\n }\n}\n","/**\n * Helpers de fecha/hora para inputs Angular ↔ backend (DateOnly / TimeOnly de C#).\n *\n * IMPORTANTE: se usa SIEMPRE el constructor local Date(y, m, d) para evitar el shift de\n * zona horaria. new Date('yyyy-MM-dd') se interpreta como UTC y puede saltar un día según\n * la zona; estos helpers reconstruyen la fecha desde sus componentes (hora local).\n */\n\n/**\n * Convierte cualquier valor de fecha (string \"yyyy-MM-dd\", \"yyyy-MM-ddTHH:mm:ss\" o Date)\n * a Date en hora LOCAL. Devuelve undefined si es vacío/ inválido.\n */\nexport function parseLocalDate(value: any): Date | undefined {\n if (value === null || value === undefined || value === '') return undefined;\n if (value instanceof Date) return isNaN(value.getTime()) ? undefined : value;\n if (typeof value === 'string') {\n const m = value.match(/^(\\d{4})-(\\d{2})-(\\d{2})(?:[T ](\\d{2}):(\\d{2})(?::(\\d{2}))?)?/);\n if (m) {\n return new Date(+m[1], +m[2] - 1, +m[3], +(m[4] ?? 0), +(m[5] ?? 0), +(m[6] ?? 0));\n }\n const parsed = new Date(value);\n return isNaN(parsed.getTime()) ? undefined : parsed;\n }\n return undefined;\n}\n\n/** Parsea evento de date-picker (ISO string, Date, \"YYYY-MM-DD\") a Date local. */\nexport function parseDateEvent(event: any): Date | undefined {\n if (!event) return undefined;\n if (event instanceof Date) return event;\n if (typeof event === 'string') {\n const match = event.match(/^(\\d{4})-(\\d{2})-(\\d{2})/);\n if (match) {\n return new Date(+match[1], +match[2] - 1, +match[3]);\n }\n const parsed = new Date(event);\n return isNaN(parsed.getTime()) ? undefined : parsed;\n }\n return undefined;\n}\n\n/** Parsea evento de time-picker a string \"HH:mm:ss\". */\nexport function parseHoraEvent(event: any): string | undefined {\n if (!event) return undefined;\n if (event instanceof Date) return toTimeOnlyString(event);\n if (typeof event === 'string') {\n const trimmed = event.trim();\n if (/^\\d{2}:\\d{2}(:\\d{2})?$/.test(trimmed)) {\n return trimmed.length === 5 ? `${trimmed}:00` : trimmed;\n }\n const parsed = new Date(event);\n return isNaN(parsed.getTime()) ? undefined : toTimeOnlyString(parsed);\n }\n return undefined;\n}\n\n/** Date -> \"yyyy-MM-dd\" en hora local (formato DateOnly C#). */\nexport function toDateOnlyString(d: Date): string {\n const y = d.getFullYear();\n const m = (d.getMonth() + 1).toString().padStart(2, '0');\n const dd = d.getDate().toString().padStart(2, '0');\n return `${y}-${m}-${dd}`;\n}\n\n/** Date -> \"HH:mm:ss\" en hora local (formato TimeOnly C#). */\nexport function toTimeOnlyString(d: Date): string {\n const h = d.getHours().toString().padStart(2, '0');\n const min = d.getMinutes().toString().padStart(2, '0');\n const s = d.getSeconds().toString().padStart(2, '0');\n return `${h}:${min}:${s}`;\n}\n","/**\n * Infiere el MIME type a partir de la extensión del nombre de archivo.\n *\n * Útil cuando el backend devuelve el nombre del archivo pero no su MIME type, y la UI\n * necesita uno para decidir ícono/visor (ej. distinguir PDF de Word/Excel/imagen).\n * Para archivos NUEVOS subidos por el usuario, usar `File.type` (ya viene del navegador).\n */\nexport function inferMimeTypeFromName(fileName?: string): string {\n if (!fileName) return '';\n const ext = fileName.split('.').pop()?.toLowerCase();\n switch (ext) {\n case 'pdf': return 'application/pdf';\n case 'jpg':\n case 'jpeg': return 'image/jpeg';\n case 'png': return 'image/png';\n case 'docx': return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\n case 'xlsx': return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\n default: return '';\n }\n}\n","/**\n * Constantes y conversión de tamaño de archivo. Centraliza los números mágicos\n * (1024) y ofrece una conversión a MB para mostrar totales agregados en UI.\n */\nexport const KB_IN_BYTES = 1024;\nexport const MB_IN_BYTES = 1024 * 1024;\n\n/** Bytes -> MB (1 decimal). Para mostrar totales agregados (ej. \"X MB de 25 MB\"). */\nexport function bytesToMB(bytes: number): number {\n return Math.round((bytes / MB_IN_BYTES) * 10) / 10;\n}\n","/**\n * ListFilter<T> — patrón único de filtrado para `ius-input-select` del ecosistema.\n *\n * Centraliza el filtrado client-side de listas en memoria con dos comportamientos:\n * - Debounce: lo aporta el propio `ius-input-select` (input `debounceMs`, default 300).\n * - \"Re-click muestra lista completa\": al re-enfocar un select ya seleccionado,\n * reaparece la lista completa (manteniendo el texto); al teclear, vuelve a filtrar.\n *\n * Clase plana (sin signals): funciona en change detection con o sin signals.\n *\n * Uso:\n * tipoFilter = new ListFilter(\n * () => this.tipoActividades,\n * (t, q) => (t.tipoActividad ?? '').toLowerCase().includes(q),\n * );\n * // template:\n * // @for (t of tipoFilter.visible; track t.id) { ... }\n * // (onChangesValueEvent)=\"onSearch($event)\" -> dentro: tipoFilter.search($event)\n * // (onFocusEvent)=\"tipoFilter.reopen()\"\n */\nexport class ListFilter<T> {\n private _term = '';\n private _reopened = false;\n\n // Memoización: solo re-filtra cuando cambia (referencia de la fuente, término o reopened).\n // En el resto de ciclos de detección devuelve el resultado cacheado → barato para listas grandes.\n private _hasCache = false;\n private _cache: T[] = [];\n private _cacheSrc: T[] | null = null;\n private _cacheTerm = '';\n private _cacheReopened = false;\n\n /**\n * @param source Función que devuelve la lista completa actual (async-safe: se lee en cada acceso a `visible`).\n * @param match Predicado de coincidencia. `term` llega ya en minúsculas.\n */\n constructor(\n private readonly source: () => T[],\n private readonly match: (item: T, term: string) => boolean,\n ) {}\n\n /** Lista a renderizar en el `@for`. Memoizada: re-filtra solo cuando cambian fuente/término/reopened. */\n get visible(): T[] {\n const all = this.source() ?? [];\n if (\n this._hasCache &&\n all === this._cacheSrc &&\n this._term === this._cacheTerm &&\n this._reopened === this._cacheReopened\n ) {\n return this._cache;\n }\n\n const result =\n this._reopened || !this._term.trim()\n ? all\n : all.filter((i) => this.match(i, this._term.toLowerCase()));\n\n this._cache = result;\n this._cacheSrc = all;\n this._cacheTerm = this._term;\n this._cacheReopened = this._reopened;\n this._hasCache = true;\n return result;\n }\n\n /** Término de filtro actual (sin normalizar). */\n get term(): string {\n return this._term;\n }\n\n /** Llamar desde el handler de búsqueda (al teclear): apaga el \"mostrar todo\" y filtra. */\n search(term: string): void {\n this._reopened = false;\n this._term = term ?? '';\n }\n\n /** Llamar desde `(onFocusEvent)`: muestra la lista completa sin perder el texto. */\n reopen(): void {\n this._reopened = true;\n }\n\n /** Limpia término y estado (ej. al abrir/cerrar un formulario). */\n reset(): void {\n this._term = '';\n this._reopened = false;\n }\n}\n","/*\n * Entry-point secundario: @litigiovirtual/ius-design-components/utils\n *\n * Utilidades compartidas (sin UI) para todas las apps del ecosistema:\n * moneda, fechas/horas y archivos. Evita duplicar este código en cada app.\n *\n * Uso:\n * import { CurrencyFormatPipe, parseLocalDate } from '@litigiovirtual/ius-design-components/utils';\n */\nexport * from './currency-format.pipe';\nexport * from './formato-hora.pipe';\nexport * from './date-format.util';\nexport * from './file-mime.util';\nexport * from './file-size.util';\nexport * from './list-filter.util';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"litigiovirtual-ius-design-components-utils.mjs","sources":["../../../projects/ius-design-components/utils/src/currency-format.pipe.ts","../../../projects/ius-design-components/utils/src/formato-hora.pipe.ts","../../../projects/ius-design-components/utils/src/date-format.util.ts","../../../projects/ius-design-components/utils/src/file-mime.util.ts","../../../projects/ius-design-components/utils/src/file-size.util.ts","../../../projects/ius-design-components/utils/src/list-filter.util.ts","../../../projects/ius-design-components/utils/src/public-api.ts","../../../projects/ius-design-components/utils/src/litigiovirtual-ius-design-components-utils.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n// ============================================================\r\n// Utilidades de moneda (locale es-CO por defecto). Reutilizables en cualquier app.\r\n//\r\n// En un input controlado:\r\n// import { parseCurrencyInput, buildCurrencyDisplay, formatCurrencyOnBlur }\r\n// from '@litigiovirtual/ius-design-components/utils';\r\n//\r\n// onChange(event: string) {\r\n// const { rawStr, intPart, decPart } = parseCurrencyInput(event);\r\n// this.valorRaw = rawStr;\r\n// this.display = buildCurrencyDisplay(intPart, decPart);\r\n// }\r\n// onBlur() { this.display = formatCurrencyOnBlur(this.valorRaw); }\r\n// ============================================================\r\n\r\n/**\r\n * Parsea lo que el usuario escribe en un input de moneda (es-CO: punto = miles, coma = decimal).\r\n * - rawStr: string con punto decimal para cálculos JS (\"150000.50\")\r\n * - intPart: parte entera sin formato (\"150000\")\r\n * - decPart: parte decimal tal como la escribió el usuario (\"50\") o null si no hay coma\r\n */\r\nexport function parseCurrencyInput(display: string): {\r\n rawStr: string;\r\n intPart: string;\r\n decPart: string | null;\r\n} {\r\n const stripped = display.replace(/\\./g, '').replace(/[^0-9,]/g, '');\r\n const commaIndex = stripped.indexOf(',');\r\n const intPart = commaIndex >= 0 ? stripped.slice(0, commaIndex) : stripped;\r\n const decPart = commaIndex >= 0 ? stripped.slice(commaIndex + 1) : null;\r\n const rawStr = decPart !== null ? `${intPart}.${decPart}` : intPart;\r\n return { rawStr, intPart, decPart };\r\n}\r\n\r\n/**\r\n * Formatea la parte entera con separadores de miles (es-CO) y conserva la decimal\r\n * exactamente como la escribió el usuario (sin redondear). Para actualizar el display al escribir.\r\n */\r\nexport function buildCurrencyDisplay(intPart: string, decPart: string | null): string {\r\n if (!intPart && decPart === null) return '';\r\n const intNum = intPart ? parseInt(intPart, 10) : 0;\r\n const formattedInt = isNaN(intNum)\r\n ? intPart\r\n : new Intl.NumberFormat('es-CO', { minimumFractionDigits: 0, maximumFractionDigits: 0 }).format(intNum);\r\n return decPart !== null ? `${formattedInt},${decPart}` : formattedInt;\r\n}\r\n\r\n/**\r\n * Formatea el valor raw al salir del campo (blur): completa decimales si los hay.\r\n * formatCurrencyOnBlur('150000.5') → \"150.000,50\"\r\n * formatCurrencyOnBlur('150000') → \"150.000\"\r\n */\r\nexport function formatCurrencyOnBlur(rawValue: string): string {\r\n if (!rawValue) return '';\r\n const num = parseFloat(rawValue);\r\n if (isNaN(num) || num <= 0) return rawValue;\r\n return new Intl.NumberFormat('es-CO', {\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 2,\r\n }).format(num);\r\n}\r\n\r\n// ============================================================\r\n// Pipe para mostrar valores en templates\r\n// {{ 150000 | currencyFormat }} → \"150.000\"\r\n// {{ 150000.5 | currencyFormat }} → \"150.000,5\"\r\n// {{ 150000 | currencyFormat: true }} → \"$ 150.000\" (símbolo COP)\r\n// ============================================================\r\n@Pipe({\r\n name: 'currencyFormat',\r\n standalone: true,\r\n})\r\nexport class CurrencyFormatPipe implements PipeTransform {\r\n transform(\r\n value: number | string | null | undefined,\r\n showSymbol = false,\r\n currencyCode = 'COP',\r\n locale = 'es-CO',\r\n ): string {\r\n if (value === null || value === undefined || value === '') return '';\r\n\r\n const num = typeof value === 'string' ? parseFloat(value.replace(/,/g, '')) : value;\r\n\r\n if (isNaN(num)) return String(value);\r\n\r\n try {\r\n return new Intl.NumberFormat(locale, {\r\n style: showSymbol ? 'currency' : 'decimal',\r\n currency: showSymbol ? currencyCode : undefined,\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 2,\r\n }).format(num);\r\n } catch {\r\n return num.toString();\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Muestra una hora en formato 12h con am/pm.\r\n * {{ '14:30:00' | formatoHora }} → \"2:30 pm\"\r\n * {{ '09:00' | formatoHora }} → \"9 am\"\r\n * Acepta string (con HH:mm[:ss] en cualquier parte), Date o ISO.\r\n */\r\n@Pipe({\r\n name: 'formatoHora',\r\n standalone: true,\r\n})\r\nexport class FormatoHoraPipe implements PipeTransform {\r\n transform(value?: string | Date | null): string {\r\n if (!value) return '';\r\n\r\n if (value instanceof Date) {\r\n return this.formatHours(value.getHours(), value.getMinutes());\r\n }\r\n\r\n const str = String(value);\r\n\r\n const match = str.match(/(\\d{1,2}):(\\d{2})(?::\\d{2})?/);\r\n if (match) {\r\n return this.formatHours(Number(match[1]), Number(match[2]));\r\n }\r\n\r\n const parsed = new Date(str);\r\n if (!isNaN(parsed.getTime())) {\r\n return this.formatHours(parsed.getHours(), parsed.getMinutes());\r\n }\r\n\r\n return '';\r\n }\r\n\r\n private formatHours(hours: number, minutes: number): string {\r\n const period = hours >= 12 ? 'pm' : 'am';\r\n const hour12 = hours % 12 === 0 ? 12 : hours % 12;\r\n if (minutes === 0) return `${hour12} ${period}`;\r\n return `${hour12}:${minutes.toString().padStart(2, '0')} ${period}`;\r\n }\r\n}\r\n","/**\r\n * Helpers de fecha/hora para inputs Angular ↔ backend (DateOnly / TimeOnly de C#).\r\n *\r\n * IMPORTANTE: se usa SIEMPRE el constructor local Date(y, m, d) para evitar el shift de\r\n * zona horaria. new Date('yyyy-MM-dd') se interpreta como UTC y puede saltar un día según\r\n * la zona; estos helpers reconstruyen la fecha desde sus componentes (hora local).\r\n */\r\n\r\n/**\r\n * Convierte cualquier valor de fecha (string \"yyyy-MM-dd\", \"yyyy-MM-ddTHH:mm:ss\" o Date)\r\n * a Date en hora LOCAL. Devuelve undefined si es vacío/ inválido.\r\n */\r\nexport function parseLocalDate(value: any): Date | undefined {\r\n if (value === null || value === undefined || value === '') return undefined;\r\n if (value instanceof Date) return isNaN(value.getTime()) ? undefined : value;\r\n if (typeof value === 'string') {\r\n const m = value.match(/^(\\d{4})-(\\d{2})-(\\d{2})(?:[T ](\\d{2}):(\\d{2})(?::(\\d{2}))?)?/);\r\n if (m) {\r\n return new Date(+m[1], +m[2] - 1, +m[3], +(m[4] ?? 0), +(m[5] ?? 0), +(m[6] ?? 0));\r\n }\r\n const parsed = new Date(value);\r\n return isNaN(parsed.getTime()) ? undefined : parsed;\r\n }\r\n return undefined;\r\n}\r\n\r\n/** Parsea evento de date-picker (ISO string, Date, \"YYYY-MM-DD\") a Date local. */\r\nexport function parseDateEvent(event: any): Date | undefined {\r\n if (!event) return undefined;\r\n if (event instanceof Date) return event;\r\n if (typeof event === 'string') {\r\n const match = event.match(/^(\\d{4})-(\\d{2})-(\\d{2})/);\r\n if (match) {\r\n return new Date(+match[1], +match[2] - 1, +match[3]);\r\n }\r\n const parsed = new Date(event);\r\n return isNaN(parsed.getTime()) ? undefined : parsed;\r\n }\r\n return undefined;\r\n}\r\n\r\n/** Parsea evento de time-picker a string \"HH:mm:ss\". */\r\nexport function parseHoraEvent(event: any): string | undefined {\r\n if (!event) return undefined;\r\n if (event instanceof Date) return toTimeOnlyString(event);\r\n if (typeof event === 'string') {\r\n const trimmed = event.trim();\r\n if (/^\\d{2}:\\d{2}(:\\d{2})?$/.test(trimmed)) {\r\n return trimmed.length === 5 ? `${trimmed}:00` : trimmed;\r\n }\r\n const parsed = new Date(event);\r\n return isNaN(parsed.getTime()) ? undefined : toTimeOnlyString(parsed);\r\n }\r\n return undefined;\r\n}\r\n\r\n/** Date -> \"yyyy-MM-dd\" en hora local (formato DateOnly C#). */\r\nexport function toDateOnlyString(d: Date): string {\r\n const y = d.getFullYear();\r\n const m = (d.getMonth() + 1).toString().padStart(2, '0');\r\n const dd = d.getDate().toString().padStart(2, '0');\r\n return `${y}-${m}-${dd}`;\r\n}\r\n\r\n/** Date -> \"HH:mm:ss\" en hora local (formato TimeOnly C#). */\r\nexport function toTimeOnlyString(d: Date): string {\r\n const h = d.getHours().toString().padStart(2, '0');\r\n const min = d.getMinutes().toString().padStart(2, '0');\r\n const s = d.getSeconds().toString().padStart(2, '0');\r\n return `${h}:${min}:${s}`;\r\n}\r\n","/**\r\n * Infiere el MIME type a partir de la extensión del nombre de archivo.\r\n *\r\n * Útil cuando el backend devuelve el nombre del archivo pero no su MIME type, y la UI\r\n * necesita uno para decidir ícono/visor (ej. distinguir PDF de Word/Excel/imagen).\r\n * Para archivos NUEVOS subidos por el usuario, usar `File.type` (ya viene del navegador).\r\n */\r\nexport function inferMimeTypeFromName(fileName?: string): string {\r\n if (!fileName) return '';\r\n const ext = fileName.split('.').pop()?.toLowerCase();\r\n switch (ext) {\r\n case 'pdf': return 'application/pdf';\r\n case 'jpg':\r\n case 'jpeg': return 'image/jpeg';\r\n case 'png': return 'image/png';\r\n case 'docx': return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\r\n case 'xlsx': return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\r\n default: return '';\r\n }\r\n}\r\n","/**\r\n * Constantes y conversión de tamaño de archivo. Centraliza los números mágicos\r\n * (1024) y ofrece una conversión a MB para mostrar totales agregados en UI.\r\n */\r\nexport const KB_IN_BYTES = 1024;\r\nexport const MB_IN_BYTES = 1024 * 1024;\r\n\r\n/** Bytes -> MB (1 decimal). Para mostrar totales agregados (ej. \"X MB de 25 MB\"). */\r\nexport function bytesToMB(bytes: number): number {\r\n return Math.round((bytes / MB_IN_BYTES) * 10) / 10;\r\n}\r\n","/**\r\n * ListFilter<T> — patrón único de filtrado para `ius-input-select` del ecosistema.\r\n *\r\n * Centraliza el filtrado client-side de listas en memoria con dos comportamientos:\r\n * - Debounce: lo aporta el propio `ius-input-select` (input `debounceMs`, default 300).\r\n * - \"Re-click muestra lista completa\": al re-enfocar un select ya seleccionado,\r\n * reaparece la lista completa (manteniendo el texto); al teclear, vuelve a filtrar.\r\n *\r\n * Clase plana (sin signals): funciona en change detection con o sin signals.\r\n *\r\n * Uso:\r\n * tipoFilter = new ListFilter(\r\n * () => this.tipoActividades,\r\n * (t, q) => (t.tipoActividad ?? '').toLowerCase().includes(q),\r\n * );\r\n * // template:\r\n * // @for (t of tipoFilter.visible; track t.id) { ... }\r\n * // (onChangesValueEvent)=\"onSearch($event)\" -> dentro: tipoFilter.search($event)\r\n * // (onFocusEvent)=\"tipoFilter.reopen()\"\r\n */\r\nexport class ListFilter<T> {\r\n private _term = '';\r\n private _reopened = false;\r\n\r\n // Memoización: solo re-filtra cuando cambia (referencia de la fuente, término o reopened).\r\n // En el resto de ciclos de detección devuelve el resultado cacheado → barato para listas grandes.\r\n private _hasCache = false;\r\n private _cache: T[] = [];\r\n private _cacheSrc: T[] | null = null;\r\n private _cacheTerm = '';\r\n private _cacheReopened = false;\r\n\r\n /**\r\n * @param source Función que devuelve la lista completa actual (async-safe: se lee en cada acceso a `visible`).\r\n * @param match Predicado de coincidencia. `term` llega ya en minúsculas.\r\n */\r\n constructor(\r\n private readonly source: () => T[],\r\n private readonly match: (item: T, term: string) => boolean,\r\n ) {}\r\n\r\n /** Lista a renderizar en el `@for`. Memoizada: re-filtra solo cuando cambian fuente/término/reopened. */\r\n get visible(): T[] {\r\n const all = this.source() ?? [];\r\n if (\r\n this._hasCache &&\r\n all === this._cacheSrc &&\r\n this._term === this._cacheTerm &&\r\n this._reopened === this._cacheReopened\r\n ) {\r\n return this._cache;\r\n }\r\n\r\n const result =\r\n this._reopened || !this._term.trim()\r\n ? all\r\n : all.filter((i) => this.match(i, this._term.toLowerCase()));\r\n\r\n this._cache = result;\r\n this._cacheSrc = all;\r\n this._cacheTerm = this._term;\r\n this._cacheReopened = this._reopened;\r\n this._hasCache = true;\r\n return result;\r\n }\r\n\r\n /** Término de filtro actual (sin normalizar). */\r\n get term(): string {\r\n return this._term;\r\n }\r\n\r\n /** Llamar desde el handler de búsqueda (al teclear): apaga el \"mostrar todo\" y filtra. */\r\n search(term: string): void {\r\n this._reopened = false;\r\n this._term = term ?? '';\r\n }\r\n\r\n /** Llamar desde `(onFocusEvent)`: muestra la lista completa sin perder el texto. */\r\n reopen(): void {\r\n this._reopened = true;\r\n }\r\n\r\n /** Limpia término y estado (ej. al abrir/cerrar un formulario). */\r\n reset(): void {\r\n this._term = '';\r\n this._reopened = false;\r\n }\r\n}\r\n","/*\r\n * Entry-point secundario: @litigiovirtual/ius-design-components/utils\r\n *\r\n * Utilidades compartidas (sin UI) para todas las apps del ecosistema:\r\n * moneda, fechas/horas y archivos. Evita duplicar este código en cada app.\r\n *\r\n * Uso:\r\n * import { CurrencyFormatPipe, parseLocalDate } from '@litigiovirtual/ius-design-components/utils';\r\n */\r\nexport * from './currency-format.pipe';\r\nexport * from './formato-hora.pipe';\r\nexport * from './date-format.util';\r\nexport * from './file-mime.util';\r\nexport * from './file-size.util';\r\nexport * from './list-filter.util';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|