@arsedizioni/ars-utils 18.4.24 → 18.4.25

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.
@@ -37,10 +37,10 @@ export class BusyDialogComponent {
37
37
  }
38
38
  }
39
39
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BusyDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: BusyDialogComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "Bind": SystemUtils.generateUUID() } }, ngImport: i0, template: "<div class=\"busy-panel mat-elevation-z12\">\r\n @if (type !== 'wait') {\r\n <div fxLayout=\"column\" fxLayoutGap=\"10px\" fxFill>\r\n @if (message) {\r\n <div [innerHTML]=\"message | safeHtml\" style=\"text-align: center\"></div>\r\n }\r\n @if (!type || type === 'bar') {\r\n <div>\r\n <mat-progress-bar [mode]=\"progressMode || 'indeterminate'\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto; max-width: 350px;\"></mat-progress-bar>\r\n </div>\r\n }\r\n @if (type === 'spinner') {\r\n <div>\r\n <mat-progress-spinner [mode]=\"progressMode || 'indeterminate'\" diameter=\"70\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto;\"></mat-progress-spinner>\r\n </div>\r\n }\r\n @if (progress > 0) {\r\n <div>\r\n <span style=\"font-size: smaller;\"><b>{{progress}}%</b></span>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <mat-spinner style=\"margin:0 auto\"></mat-spinner>\r\n }\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.success{color:var(--ars-color-ok, #388E3C)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.busy-panel{background-color:var(--mdc-dialog-container-color);border-radius:var(--mdc-dialog-container-shape, 24px);padding:24px;min-width:300px;margin:12px}.busy-backdrop{background-color:#00000052!important}\n"], dependencies: [{ kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: BusyDialogComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "Bind": SystemUtils.generateUUID() } }, ngImport: i0, template: "<div class=\"busy-panel mat-elevation-z12\">\r\n @if (type !== 'wait') {\r\n <div fxLayout=\"column\" fxLayoutGap=\"10px\" fxFill>\r\n @if (message) {\r\n <div [innerHTML]=\"message | safeHtml\" style=\"text-align: center\"></div>\r\n }\r\n @if (!type || type === 'bar') {\r\n <div>\r\n <mat-progress-bar [mode]=\"progressMode || 'indeterminate'\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto; max-width: 350px;\"></mat-progress-bar>\r\n </div>\r\n }\r\n @if (type === 'spinner') {\r\n <div>\r\n <mat-progress-spinner [mode]=\"progressMode || 'indeterminate'\" diameter=\"70\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto;\"></mat-progress-spinner>\r\n </div>\r\n }\r\n @if (progress > 0) {\r\n <div>\r\n <span style=\"font-size: smaller;\"><b>{{progress}}%</b></span>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <mat-spinner style=\"margin:0 auto\"></mat-spinner>\r\n }\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.success{color:var(--ars-color-ok, #388E3C)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.busy-panel{background-color:var(--mdc-dialog-container-color);border-radius:var(--mdc-dialog-container-shape, 24px);padding:24px;min-width:300px}.busy-backdrop{background-color:#00000052!important}\n"], dependencies: [{ kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
41
41
  }
42
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BusyDialogComponent, decorators: [{
43
43
  type: Component,
44
- args: [{ host: { 'Bind': SystemUtils.generateUUID() }, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [FlexModule, MatProgressBarModule, MatProgressSpinnerModule, SafeHtmlPipe], template: "<div class=\"busy-panel mat-elevation-z12\">\r\n @if (type !== 'wait') {\r\n <div fxLayout=\"column\" fxLayoutGap=\"10px\" fxFill>\r\n @if (message) {\r\n <div [innerHTML]=\"message | safeHtml\" style=\"text-align: center\"></div>\r\n }\r\n @if (!type || type === 'bar') {\r\n <div>\r\n <mat-progress-bar [mode]=\"progressMode || 'indeterminate'\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto; max-width: 350px;\"></mat-progress-bar>\r\n </div>\r\n }\r\n @if (type === 'spinner') {\r\n <div>\r\n <mat-progress-spinner [mode]=\"progressMode || 'indeterminate'\" diameter=\"70\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto;\"></mat-progress-spinner>\r\n </div>\r\n }\r\n @if (progress > 0) {\r\n <div>\r\n <span style=\"font-size: smaller;\"><b>{{progress}}%</b></span>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <mat-spinner style=\"margin:0 auto\"></mat-spinner>\r\n }\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.success{color:var(--ars-color-ok, #388E3C)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.busy-panel{background-color:var(--mdc-dialog-container-color);border-radius:var(--mdc-dialog-container-shape, 24px);padding:24px;min-width:300px;margin:12px}.busy-backdrop{background-color:#00000052!important}\n"] }]
44
+ args: [{ host: { 'Bind': SystemUtils.generateUUID() }, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [FlexModule, MatProgressBarModule, MatProgressSpinnerModule, SafeHtmlPipe], template: "<div class=\"busy-panel mat-elevation-z12\">\r\n @if (type !== 'wait') {\r\n <div fxLayout=\"column\" fxLayoutGap=\"10px\" fxFill>\r\n @if (message) {\r\n <div [innerHTML]=\"message | safeHtml\" style=\"text-align: center\"></div>\r\n }\r\n @if (!type || type === 'bar') {\r\n <div>\r\n <mat-progress-bar [mode]=\"progressMode || 'indeterminate'\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto; max-width: 350px;\"></mat-progress-bar>\r\n </div>\r\n }\r\n @if (type === 'spinner') {\r\n <div>\r\n <mat-progress-spinner [mode]=\"progressMode || 'indeterminate'\" diameter=\"70\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto;\"></mat-progress-spinner>\r\n </div>\r\n }\r\n @if (progress > 0) {\r\n <div>\r\n <span style=\"font-size: smaller;\"><b>{{progress}}%</b></span>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <mat-spinner style=\"margin:0 auto\"></mat-spinner>\r\n }\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.success{color:var(--ars-color-ok, #388E3C)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.busy-panel{background-color:var(--mdc-dialog-container-color);border-radius:var(--mdc-dialog-container-shape, 24px);padding:24px;min-width:300px}.busy-backdrop{background-color:#00000052!important}\n"] }]
45
45
  }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzeS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL3VpL3VpL2RpYWxvZ3MvYnVzeS9idXN5LWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvdWkvdWkvZGlhbG9ncy9idXN5L2J1c3ktZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBVXhELE1BQU0sT0FBTyxtQkFBbUI7SUFSaEM7UUFTRSxTQUFJLEdBQStCLEtBQUssQ0FBQztRQUN6QyxhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGlCQUFZLEdBQW9DLGVBQWUsQ0FBQztLQTZCakU7SUExQkM7Ozs7OztPQU1HO0lBQ0gsR0FBRyxDQUNELE9BQWUsRUFDZixRQUFnQixFQUNoQixlQUFnRCxlQUFlLEVBQy9ELE9BQW1DLEtBQUs7UUFFeEMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLENBQUM7UUFDRCxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbkIsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQztRQUNwQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDOzhHQS9CVSxtQkFBbUI7a0dBQW5CLG1CQUFtQiw4RUFQWixXQUFXLENBQUMsWUFBWSxFQUFFLDhCQ1I5Qyw0OUJBMkJNLGs3SERkUyxVQUFVLDh3Q0FBRSxvQkFBb0Isd05BQUUsd0JBQXdCLDhOQUFFLFlBQVk7OzJGQUUxRSxtQkFBbUI7a0JBUi9CLFNBQVM7MkJBQ0EsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRSxFQUFFLGNBR2hDLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSx3QkFBd0IsRUFBRSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN5c3RlbVV0aWxzIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgU2FmZUh0bWxQaXBlIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcclxuaW1wb3J0IHsgRmxleE1vZHVsZSB9IGZyb20gJ0BuZ2JyYWNrZXQvbmd4LWxheW91dC9mbGV4JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgaG9zdDogeyAnQmluZCc6IFN5c3RlbVV0aWxzLmdlbmVyYXRlVVVJRCgpIH0sXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYnVzeS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYnVzeS1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGltcG9ydHM6IFsgRmxleE1vZHVsZSwgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSwgU2FmZUh0bWxQaXBlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnVzeURpYWxvZ0NvbXBvbmVudCB7XHJcbiAgdHlwZTogJ2JhcicgfCAnc3Bpbm5lcicgfCAnd2FpdCcgPSAnYmFyJztcclxuICBwcm9ncmVzczogbnVtYmVyID0gMDtcclxuICBwcm9ncmVzc01vZGU6ICdkZXRlcm1pbmF0ZScgfCAnaW5kZXRlcm1pbmF0ZScgPSAnaW5kZXRlcm1pbmF0ZSc7XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgYnVzeSBkaWFsb2dcclxuICAgKiBAcGFyYW0gbWVzc2FnZSAgICAgICA6IG5ldyBtZXNzYWdlIG9yIG51bGwgdG8ga2VlcCB0aGUgcHJldmlvdXMgb25lXHJcbiAgICogQHBhcmFtIHByb2dyZXNzICAgICAgOiBuZXcgcHJvZ3Jlc3MgdmFsdWVcclxuICAgKiBAcGFyYW0gcHJvZ3Jlc3NNb2RlICA6IG5ldyBwcm9ncmVzcyBtb2RlIChkZXRlcm1pbmF0ZSBvciBpbmRldGVybWluYXRlKVxyXG4gICAqIEBwYXJhbSB0eXBlICAgICAgICAgIDogdGhlIHR5cGUgKGJhciwgc3Bpbm5lciBvciB3YWl0KVxyXG4gICAqL1xyXG4gIHNldChcclxuICAgIG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHByb2dyZXNzOiBudW1iZXIsXHJcbiAgICBwcm9ncmVzc01vZGU6ICdkZXRlcm1pbmF0ZScgfCAnaW5kZXRlcm1pbmF0ZScgPSAnaW5kZXRlcm1pbmF0ZScsXHJcbiAgICB0eXBlOiAnYmFyJyB8ICdzcGlubmVyJyB8ICd3YWl0JyA9ICdiYXInXHJcbiAgKSB7XHJcbiAgICBpZiAobWVzc2FnZSkgeyBcclxuICAgICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZTtcclxuICAgIH1cclxuICAgIGlmICh0eXBlKSB7IFxyXG4gICAgICB0aGlzLnR5cGUgPSB0eXBlOyAgIFxyXG4gICAgfVxyXG4gICAgdGhpcy5wcm9ncmVzcyA9IHByb2dyZXNzO1xyXG4gICAgaWYgKHRoaXMucHJvZ3Jlc3MgPiAwKSB7IFxyXG4gICAgICB0aGlzLnByb2dyZXNzTW9kZSA9ICdkZXRlcm1pbmF0ZSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnByb2dyZXNzTW9kZSA9IHByb2dyZXNzTW9kZTsgICAgXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJidXN5LXBhbmVsIG1hdC1lbGV2YXRpb24tejEyXCI+XHJcbiAgQGlmICh0eXBlICE9PSAnd2FpdCcpIHtcclxuICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIxMHB4XCIgZnhGaWxsPlxyXG4gICAgQGlmIChtZXNzYWdlKSB7XHJcbiAgICA8ZGl2IFtpbm5lckhUTUxdPVwibWVzc2FnZSB8IHNhZmVIdG1sXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj48L2Rpdj5cclxuICAgIH1cclxuICAgIEBpZiAoIXR5cGUgfHwgdHlwZSA9PT0gJ2JhcicpIHtcclxuICAgIDxkaXY+XHJcbiAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIFttb2RlXT1cInByb2dyZXNzTW9kZSB8fCAnaW5kZXRlcm1pbmF0ZSdcIiBbdmFsdWVdPVwicHJvZ3Jlc3NcIlxyXG4gICAgICAgIHN0eWxlPVwibWFyZ2luOjE1cHggYXV0byAwIGF1dG87IG1heC13aWR0aDogMzUwcHg7XCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgICBAaWYgKHR5cGUgPT09ICdzcGlubmVyJykge1xyXG4gICAgPGRpdj5cclxuICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyIFttb2RlXT1cInByb2dyZXNzTW9kZSB8fCAnaW5kZXRlcm1pbmF0ZSdcIiBkaWFtZXRlcj1cIjcwXCIgW3ZhbHVlXT1cInByb2dyZXNzXCJcclxuICAgICAgICBzdHlsZT1cIm1hcmdpbjoxNXB4IGF1dG8gMCBhdXRvO1wiPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICAgIEBpZiAocHJvZ3Jlc3MgPiAwKSB7XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8c3BhbiBzdHlsZT1cImZvbnQtc2l6ZTogc21hbGxlcjtcIj48Yj57e3Byb2dyZXNzfX0lPC9iPjwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIH0gQGVsc2Uge1xyXG4gIDxtYXQtc3Bpbm5lciBzdHlsZT1cIm1hcmdpbjowIGF1dG9cIj48L21hdC1zcGlubmVyPlxyXG4gIH1cclxuPC9kaXY+Il19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzeS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL3VpL3VpL2RpYWxvZ3MvYnVzeS9idXN5LWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvdWkvdWkvZGlhbG9ncy9idXN5L2J1c3ktZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBVXhELE1BQU0sT0FBTyxtQkFBbUI7SUFSaEM7UUFTRSxTQUFJLEdBQStCLEtBQUssQ0FBQztRQUN6QyxhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGlCQUFZLEdBQW9DLGVBQWUsQ0FBQztLQTZCakU7SUExQkM7Ozs7OztPQU1HO0lBQ0gsR0FBRyxDQUNELE9BQWUsRUFDZixRQUFnQixFQUNoQixlQUFnRCxlQUFlLEVBQy9ELE9BQW1DLEtBQUs7UUFFeEMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLENBQUM7UUFDRCxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbkIsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQztRQUNwQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDOzhHQS9CVSxtQkFBbUI7a0dBQW5CLG1CQUFtQiw4RUFQWixXQUFXLENBQUMsWUFBWSxFQUFFLDhCQ1I5Qyw0OUJBMkJNLHM2SERkUyxVQUFVLDh3Q0FBRSxvQkFBb0Isd05BQUUsd0JBQXdCLDhOQUFFLFlBQVk7OzJGQUUxRSxtQkFBbUI7a0JBUi9CLFNBQVM7MkJBQ0EsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRSxFQUFFLGNBR2hDLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSx3QkFBd0IsRUFBRSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN5c3RlbVV0aWxzIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgU2FmZUh0bWxQaXBlIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcclxuaW1wb3J0IHsgRmxleE1vZHVsZSB9IGZyb20gJ0BuZ2JyYWNrZXQvbmd4LWxheW91dC9mbGV4JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgaG9zdDogeyAnQmluZCc6IFN5c3RlbVV0aWxzLmdlbmVyYXRlVVVJRCgpIH0sXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYnVzeS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYnVzeS1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGltcG9ydHM6IFsgRmxleE1vZHVsZSwgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSwgU2FmZUh0bWxQaXBlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnVzeURpYWxvZ0NvbXBvbmVudCB7XHJcbiAgdHlwZTogJ2JhcicgfCAnc3Bpbm5lcicgfCAnd2FpdCcgPSAnYmFyJztcclxuICBwcm9ncmVzczogbnVtYmVyID0gMDtcclxuICBwcm9ncmVzc01vZGU6ICdkZXRlcm1pbmF0ZScgfCAnaW5kZXRlcm1pbmF0ZScgPSAnaW5kZXRlcm1pbmF0ZSc7XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgYnVzeSBkaWFsb2dcclxuICAgKiBAcGFyYW0gbWVzc2FnZSAgICAgICA6IG5ldyBtZXNzYWdlIG9yIG51bGwgdG8ga2VlcCB0aGUgcHJldmlvdXMgb25lXHJcbiAgICogQHBhcmFtIHByb2dyZXNzICAgICAgOiBuZXcgcHJvZ3Jlc3MgdmFsdWVcclxuICAgKiBAcGFyYW0gcHJvZ3Jlc3NNb2RlICA6IG5ldyBwcm9ncmVzcyBtb2RlIChkZXRlcm1pbmF0ZSBvciBpbmRldGVybWluYXRlKVxyXG4gICAqIEBwYXJhbSB0eXBlICAgICAgICAgIDogdGhlIHR5cGUgKGJhciwgc3Bpbm5lciBvciB3YWl0KVxyXG4gICAqL1xyXG4gIHNldChcclxuICAgIG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHByb2dyZXNzOiBudW1iZXIsXHJcbiAgICBwcm9ncmVzc01vZGU6ICdkZXRlcm1pbmF0ZScgfCAnaW5kZXRlcm1pbmF0ZScgPSAnaW5kZXRlcm1pbmF0ZScsXHJcbiAgICB0eXBlOiAnYmFyJyB8ICdzcGlubmVyJyB8ICd3YWl0JyA9ICdiYXInXHJcbiAgKSB7XHJcbiAgICBpZiAobWVzc2FnZSkgeyBcclxuICAgICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZTtcclxuICAgIH1cclxuICAgIGlmICh0eXBlKSB7IFxyXG4gICAgICB0aGlzLnR5cGUgPSB0eXBlOyAgIFxyXG4gICAgfVxyXG4gICAgdGhpcy5wcm9ncmVzcyA9IHByb2dyZXNzO1xyXG4gICAgaWYgKHRoaXMucHJvZ3Jlc3MgPiAwKSB7IFxyXG4gICAgICB0aGlzLnByb2dyZXNzTW9kZSA9ICdkZXRlcm1pbmF0ZSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnByb2dyZXNzTW9kZSA9IHByb2dyZXNzTW9kZTsgICAgXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJidXN5LXBhbmVsIG1hdC1lbGV2YXRpb24tejEyXCI+XHJcbiAgQGlmICh0eXBlICE9PSAnd2FpdCcpIHtcclxuICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIxMHB4XCIgZnhGaWxsPlxyXG4gICAgQGlmIChtZXNzYWdlKSB7XHJcbiAgICA8ZGl2IFtpbm5lckhUTUxdPVwibWVzc2FnZSB8IHNhZmVIdG1sXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj48L2Rpdj5cclxuICAgIH1cclxuICAgIEBpZiAoIXR5cGUgfHwgdHlwZSA9PT0gJ2JhcicpIHtcclxuICAgIDxkaXY+XHJcbiAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIFttb2RlXT1cInByb2dyZXNzTW9kZSB8fCAnaW5kZXRlcm1pbmF0ZSdcIiBbdmFsdWVdPVwicHJvZ3Jlc3NcIlxyXG4gICAgICAgIHN0eWxlPVwibWFyZ2luOjE1cHggYXV0byAwIGF1dG87IG1heC13aWR0aDogMzUwcHg7XCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgICBAaWYgKHR5cGUgPT09ICdzcGlubmVyJykge1xyXG4gICAgPGRpdj5cclxuICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyIFttb2RlXT1cInByb2dyZXNzTW9kZSB8fCAnaW5kZXRlcm1pbmF0ZSdcIiBkaWFtZXRlcj1cIjcwXCIgW3ZhbHVlXT1cInByb2dyZXNzXCJcclxuICAgICAgICBzdHlsZT1cIm1hcmdpbjoxNXB4IGF1dG8gMCBhdXRvO1wiPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICAgIEBpZiAocHJvZ3Jlc3MgPiAwKSB7XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8c3BhbiBzdHlsZT1cImZvbnQtc2l6ZTogc21hbGxlcjtcIj48Yj57e3Byb2dyZXNzfX0lPC9iPjwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIH0gQGVsc2Uge1xyXG4gIDxtYXQtc3Bpbm5lciBzdHlsZT1cIm1hcmdpbjowIGF1dG9cIj48L21hdC1zcGlubmVyPlxyXG4gIH1cclxuPC9kaXY+Il19
@@ -87,11 +87,11 @@ class BusyDialogComponent {
87
87
  }
88
88
  }
89
89
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BusyDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
90
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: BusyDialogComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "Bind": SystemUtils.generateUUID() } }, ngImport: i0, template: "<div class=\"busy-panel mat-elevation-z12\">\r\n @if (type !== 'wait') {\r\n <div fxLayout=\"column\" fxLayoutGap=\"10px\" fxFill>\r\n @if (message) {\r\n <div [innerHTML]=\"message | safeHtml\" style=\"text-align: center\"></div>\r\n }\r\n @if (!type || type === 'bar') {\r\n <div>\r\n <mat-progress-bar [mode]=\"progressMode || 'indeterminate'\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto; max-width: 350px;\"></mat-progress-bar>\r\n </div>\r\n }\r\n @if (type === 'spinner') {\r\n <div>\r\n <mat-progress-spinner [mode]=\"progressMode || 'indeterminate'\" diameter=\"70\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto;\"></mat-progress-spinner>\r\n </div>\r\n }\r\n @if (progress > 0) {\r\n <div>\r\n <span style=\"font-size: smaller;\"><b>{{progress}}%</b></span>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <mat-spinner style=\"margin:0 auto\"></mat-spinner>\r\n }\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.success{color:var(--ars-color-ok, #388E3C)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.busy-panel{background-color:var(--mdc-dialog-container-color);border-radius:var(--mdc-dialog-container-shape, 24px);padding:24px;min-width:300px;margin:12px}.busy-backdrop{background-color:#00000052!important}\n"], dependencies: [{ kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: BusyDialogComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "Bind": SystemUtils.generateUUID() } }, ngImport: i0, template: "<div class=\"busy-panel mat-elevation-z12\">\r\n @if (type !== 'wait') {\r\n <div fxLayout=\"column\" fxLayoutGap=\"10px\" fxFill>\r\n @if (message) {\r\n <div [innerHTML]=\"message | safeHtml\" style=\"text-align: center\"></div>\r\n }\r\n @if (!type || type === 'bar') {\r\n <div>\r\n <mat-progress-bar [mode]=\"progressMode || 'indeterminate'\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto; max-width: 350px;\"></mat-progress-bar>\r\n </div>\r\n }\r\n @if (type === 'spinner') {\r\n <div>\r\n <mat-progress-spinner [mode]=\"progressMode || 'indeterminate'\" diameter=\"70\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto;\"></mat-progress-spinner>\r\n </div>\r\n }\r\n @if (progress > 0) {\r\n <div>\r\n <span style=\"font-size: smaller;\"><b>{{progress}}%</b></span>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <mat-spinner style=\"margin:0 auto\"></mat-spinner>\r\n }\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.success{color:var(--ars-color-ok, #388E3C)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.busy-panel{background-color:var(--mdc-dialog-container-color);border-radius:var(--mdc-dialog-container-shape, 24px);padding:24px;min-width:300px}.busy-backdrop{background-color:#00000052!important}\n"], dependencies: [{ kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
91
91
  }
92
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BusyDialogComponent, decorators: [{
93
93
  type: Component,
94
- args: [{ host: { 'Bind': SystemUtils.generateUUID() }, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [FlexModule, MatProgressBarModule, MatProgressSpinnerModule, SafeHtmlPipe], template: "<div class=\"busy-panel mat-elevation-z12\">\r\n @if (type !== 'wait') {\r\n <div fxLayout=\"column\" fxLayoutGap=\"10px\" fxFill>\r\n @if (message) {\r\n <div [innerHTML]=\"message | safeHtml\" style=\"text-align: center\"></div>\r\n }\r\n @if (!type || type === 'bar') {\r\n <div>\r\n <mat-progress-bar [mode]=\"progressMode || 'indeterminate'\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto; max-width: 350px;\"></mat-progress-bar>\r\n </div>\r\n }\r\n @if (type === 'spinner') {\r\n <div>\r\n <mat-progress-spinner [mode]=\"progressMode || 'indeterminate'\" diameter=\"70\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto;\"></mat-progress-spinner>\r\n </div>\r\n }\r\n @if (progress > 0) {\r\n <div>\r\n <span style=\"font-size: smaller;\"><b>{{progress}}%</b></span>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <mat-spinner style=\"margin:0 auto\"></mat-spinner>\r\n }\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.success{color:var(--ars-color-ok, #388E3C)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.busy-panel{background-color:var(--mdc-dialog-container-color);border-radius:var(--mdc-dialog-container-shape, 24px);padding:24px;min-width:300px;margin:12px}.busy-backdrop{background-color:#00000052!important}\n"] }]
94
+ args: [{ host: { 'Bind': SystemUtils.generateUUID() }, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [FlexModule, MatProgressBarModule, MatProgressSpinnerModule, SafeHtmlPipe], template: "<div class=\"busy-panel mat-elevation-z12\">\r\n @if (type !== 'wait') {\r\n <div fxLayout=\"column\" fxLayoutGap=\"10px\" fxFill>\r\n @if (message) {\r\n <div [innerHTML]=\"message | safeHtml\" style=\"text-align: center\"></div>\r\n }\r\n @if (!type || type === 'bar') {\r\n <div>\r\n <mat-progress-bar [mode]=\"progressMode || 'indeterminate'\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto; max-width: 350px;\"></mat-progress-bar>\r\n </div>\r\n }\r\n @if (type === 'spinner') {\r\n <div>\r\n <mat-progress-spinner [mode]=\"progressMode || 'indeterminate'\" diameter=\"70\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto;\"></mat-progress-spinner>\r\n </div>\r\n }\r\n @if (progress > 0) {\r\n <div>\r\n <span style=\"font-size: smaller;\"><b>{{progress}}%</b></span>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <mat-spinner style=\"margin:0 auto\"></mat-spinner>\r\n }\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.success{color:var(--ars-color-ok, #388E3C)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.busy-panel{background-color:var(--mdc-dialog-container-color);border-radius:var(--mdc-dialog-container-shape, 24px);padding:24px;min-width:300px}.busy-backdrop{background-color:#00000052!important}\n"] }]
95
95
  }] });
96
96
 
97
97
  class ConfirmDialogComponent {
@@ -1 +1 @@
1
- {"version":3,"file":"arsedizioni-ars-utils-ui.mjs","sources":["../../../projects/ars-utils/ui/ui/paginatorIntl.ts","../../../projects/ars-utils/ui/ui/dialogs/busy/busy-dialog.component.ts","../../../projects/ars-utils/ui/ui/dialogs/busy/busy-dialog.component.html","../../../projects/ars-utils/ui/ui/dialogs/confirm/confirm-dialog.component.ts","../../../projects/ars-utils/ui/ui/dialogs/confirm/confirm-dialog.component.html","../../../projects/ars-utils/ui/ui/dialogs/info/info-dialog.component.ts","../../../projects/ars-utils/ui/ui/dialogs/info/info-dialog.component.html","../../../projects/ars-utils/ui/ui/dialogs/toast/toast.component.ts","../../../projects/ars-utils/ui/ui/dialogs/toast/toast.component.html","../../../projects/ars-utils/ui/ui/services/ui.service.ts","../../../projects/ars-utils/ui/ui/services/dialog.service.ts","../../../projects/ars-utils/ui/ui/ui.module.ts","../../../projects/ars-utils/ui/ui/dialogs/credentials/credentials-dialog.component.ts","../../../projects/ars-utils/ui/ui/dialogs/credentials/credentials-dialog.component.html","../../../projects/ars-utils/ui/ui/dialogs/recover-password/recover-password-dialog.component.ts","../../../projects/ars-utils/ui/ui/dialogs/recover-password/recover-password-dialog.component.html","../../../projects/ars-utils/ui/ui/dialogs/reset-password/reset-password-dialog.component.ts","../../../projects/ars-utils/ui/ui/dialogs/reset-password/reset-password-dialog.component.html","../../../projects/ars-utils/ui/public_api.ts","../../../projects/ars-utils/ui/arsedizioni-ars-utils-ui.ts"],"sourcesContent":["import { MatPaginatorIntl } from '@angular/material/paginator';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class PaginatorIntl extends MatPaginatorIntl {\r\n itemsPerPageLabel = 'Elementi per pagina';\r\n nextPageLabel = 'Prossima pagina';\r\n previousPageLabel = 'Pagina precedente';\r\n lastPageLabel = 'Ultima pagina';\r\n firstPageLabel = 'Prima pagina';\r\n getRangeLabel = (page: number, pageSize: number, length: number) => {\r\n if (length === -1) {\r\n return '0 di calcolo...';\r\n }\r\n if (length === 0 || pageSize === 0) {\r\n return '0 di ' + length;\r\n }\r\n length = Math.max(length, 0);\r\n const startIndex = page * pageSize;\r\n // If the start index exceeds the list length, do not try and fix the end index to the end.\r\n const endIndex =\r\n startIndex < length\r\n ? Math.min(startIndex + pageSize, length)\r\n : startIndex + pageSize;\r\n return startIndex + 1 + ' - ' + endIndex + ' di ' + length;\r\n };\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { SafeHtmlPipe } from '@arsedizioni/ars-utils/core';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { FlexModule } from '@ngbracket/ngx-layout/flex';\r\n\r\n@Component({\r\n host: { 'Bind': SystemUtils.generateUUID() },\r\n templateUrl: './busy-dialog.component.html',\r\n styleUrls: ['./busy-dialog.component.scss'],\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [ FlexModule, MatProgressBarModule, MatProgressSpinnerModule, SafeHtmlPipe]\r\n})\r\nexport class BusyDialogComponent {\r\n type: 'bar' | 'spinner' | 'wait' = 'bar';\r\n progress: number = 0;\r\n progressMode: 'determinate' | 'indeterminate' = 'indeterminate';\r\n message: string;\r\n\r\n /**\r\n * Update busy dialog\r\n * @param message : new message or null to keep the previous one\r\n * @param progress : new progress value\r\n * @param progressMode : new progress mode (determinate or indeterminate)\r\n * @param type : the type (bar, spinner or wait)\r\n */\r\n set(\r\n message: string,\r\n progress: number,\r\n progressMode: 'determinate' | 'indeterminate' = 'indeterminate',\r\n type: 'bar' | 'spinner' | 'wait' = 'bar'\r\n ) {\r\n if (message) { \r\n this.message = message;\r\n }\r\n if (type) { \r\n this.type = type; \r\n }\r\n this.progress = progress;\r\n if (this.progress > 0) { \r\n this.progressMode = 'determinate';\r\n } else {\r\n this.progressMode = progressMode; \r\n }\r\n }\r\n}\r\n","<div class=\"busy-panel mat-elevation-z12\">\r\n @if (type !== 'wait') {\r\n <div fxLayout=\"column\" fxLayoutGap=\"10px\" fxFill>\r\n @if (message) {\r\n <div [innerHTML]=\"message | safeHtml\" style=\"text-align: center\"></div>\r\n }\r\n @if (!type || type === 'bar') {\r\n <div>\r\n <mat-progress-bar [mode]=\"progressMode || 'indeterminate'\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto; max-width: 350px;\"></mat-progress-bar>\r\n </div>\r\n }\r\n @if (type === 'spinner') {\r\n <div>\r\n <mat-progress-spinner [mode]=\"progressMode || 'indeterminate'\" diameter=\"70\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto;\"></mat-progress-spinner>\r\n </div>\r\n }\r\n @if (progress > 0) {\r\n <div>\r\n <span style=\"font-size: smaller;\"><b>{{progress}}%</b></span>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <mat-spinner style=\"margin:0 auto\"></mat-spinner>\r\n }\r\n</div>","import { ChangeDetectionStrategy, Component, EventEmitter, OnInit, Output, inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialogTitle, MatDialogContent, MatDialogActions, MatDialogClose } from '@angular/material/dialog';\r\nimport { DialogResult } from '../../definitions';\r\nimport { SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { SafeHtmlPipe } from '@arsedizioni/ars-utils/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { FlexModule } from '@ngbracket/ngx-layout/flex';\r\n\r\nexport interface ConfirmDialogOption {\r\n value: any,\r\n description: string\r\n}\r\n\r\nexport interface ConfirmDialogData {\r\n title?: string | null;\r\n message: string;\r\n okCaption?: string | null;\r\n cancelCaption?: string | null;\r\n otherCaption?: string | null;\r\n options?: ConfirmDialogOption[] | null;\r\n details?: string | null;\r\n}\r\n\r\n@Component({\r\n host: { 'Bind': SystemUtils.generateUUID() },\r\n templateUrl: './confirm-dialog.component.html',\r\n styleUrls: ['./confirm-dialog.component.scss'],\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatDialogTitle, MatDialogContent, MatDialogClose, FlexModule, MatCheckboxModule, FormsModule, MatDialogActions, MatButtonModule,\r\n MatDialogClose, SafeHtmlPipe]\r\n})\r\nexport class ConfirmDialogComponent implements OnInit {\r\n @Output() choosen = new EventEmitter<DialogResult>();\r\n\r\n private dialogRef = inject(MatDialogRef<ConfirmDialogComponent>);\r\n protected dialogData: ConfirmDialogData = inject(MAT_DIALOG_DATA) || { title: 'Conferma', okCaption: 'Si', cancelCaption: 'No' };\r\n\r\n ngOnInit(): void {\r\n if (this.dialogData) {\r\n if (!this.dialogData.title) {\r\n this.dialogData.title = \"Informazioni\";\r\n }\r\n if (!this.dialogData.okCaption) {\r\n this.dialogData.okCaption = \"Si\";\r\n }\r\n if (!this.dialogData.cancelCaption) {\r\n this.dialogData.cancelCaption = \"No\";\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Done\r\n */\r\n ok() {\r\n this.dialogRef.close();\r\n setTimeout(() => {\r\n this.choosen.emit({ result: 'ok', options: this.dialogData.options });\r\n }, 500);\r\n }\r\n\r\n /**\r\n * Cancelled\r\n */\r\n cancel() {\r\n this.dialogRef.close();\r\n setTimeout(() => {\r\n this.choosen.emit({ result: 'cancel' });\r\n }, 500);\r\n }\r\n\r\n /**\r\n * Other action\r\n */\r\n other() {\r\n this.dialogRef.close();\r\n setTimeout(() => {\r\n this.choosen.emit({ result: 'other' });\r\n }, 500);\r\n }\r\n}\r\n\r\n/**\r\n * Display a confirm dialog\r\n * @param message : html message\r\n * @param title : dialog title\r\n * @param okCaption : ok button caption\r\n * @param cancelCaption : cancel button caption\r\n * @param otherCaption : other button caption\r\n * @param options: check box options\r\n * @param width: the preferred width\r\n */\r\nexport function confirm(\r\n message: string,\r\n title: string = 'Conferma',\r\n okCaption: string = 'Si',\r\n cancelCaption: string = 'No',\r\n otherCaption: string | null = null,\r\n options: ConfirmDialogOption[] | null = null,\r\n width: number = 500,\r\n details: string | null = null\r\n) {\r\n return this.open(ConfirmDialogComponent, {\r\n ariaLabel: 'conferma',\r\n autoFocus: true,\r\n restoreFocus: false,\r\n data: {\r\n message: message,\r\n title: title,\r\n okCaption: okCaption,\r\n cancelCaption: cancelCaption,\r\n otherCaption: otherCaption,\r\n options: options,\r\n details: details,\r\n appearance: 'fill'\r\n } as ConfirmDialogData,\r\n closeOnNavigation: false,\r\n minWidth: '375px',\r\n maxWidth: width + 'px',\r\n width: '99%'\r\n });\r\n}","<h2 mat-dialog-title>{{dialogData.title}}</h2>\r\n<mat-dialog-content>\r\n <div fxLayout=\"column\" fxLayoutGap=\"24px\" fxFill>\r\n <div fxFlex=\"*\">\r\n @if (dialogData.message) {\r\n <div [innerHtml]=\"dialogData.message | safeHtml\"></div>\r\n }\r\n </div>\r\n @if (dialogData.details) {\r\n <div class=\"details-box\">\r\n <p class=\"x-small uppercase secondary\">Dettaglio:</p>\r\n <div class=\"small details\">\r\n <div [innerHtml]=\"dialogData.details\"></div>\r\n </div>\r\n </div>\r\n }\r\n @if (dialogData.options) {\r\n <div>\r\n @for (o of dialogData.options; track $index; let i = $index) {\r\n <div>\r\n <mat-checkbox [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"30\">\r\n @if (dialogData.otherCaption) {\r\n <button mat-flat-button color='primary' (click)=\"other()\" cdkFocusInitial\r\n [mat-dialog-close]=\"true\">{{dialogData.otherCaption}}</button>\r\n }\r\n </div>\r\n <div fxFlex=\"70\" fxLayoutAlign=\"end\">\r\n <button mat-flat-button color='primary' (click)=\"ok()\" cdkFocusInitial\r\n [mat-dialog-close]=\"true\">{{dialogData.okCaption}}</button>\r\n <button mat-stroked-button color=\"primary\" [mat-dialog-close]=\"true\" (click)=\"cancel()\">{{dialogData.cancelCaption}}</button>\r\n </div>\r\n </div>\r\n</mat-dialog-actions>","import { ChangeDetectionStrategy, Component, OnInit, inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialogTitle, MatDialogContent, MatDialogActions, MatDialogClose } from '@angular/material/dialog';\r\nimport { SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { SafeHtmlPipe } from '@arsedizioni/ars-utils/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { FlexModule } from '@ngbracket/ngx-layout/flex';\r\n\r\nexport interface InfoDialogData {\r\n title?: string | null;\r\n message: string;\r\n details?: string | null;\r\n okCaption?: string | null;\r\n dismissAfter?: number | null;\r\n}\r\n\r\n@Component({\r\n host: { 'Bind': SystemUtils.generateUUID() },\r\n templateUrl: './info-dialog.component.html',\r\n styleUrls: ['./info-dialog.component.scss'],\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatDialogTitle, MatDialogContent, MatDialogActions, FlexModule, MatButtonModule, MatDialogClose, SafeHtmlPipe]\r\n})\r\nexport class InfoDialogComponent implements OnInit {\r\n private dialogRef = inject(MatDialogRef<InfoDialogComponent>);\r\n protected dialogData: InfoDialogData = inject(MAT_DIALOG_DATA) || { appearance: 'fill', title: 'Informazioni' };\r\n\r\n ngOnInit(): void {\r\n this.setData(this.dialogData);\r\n }\r\n\r\n\r\n /**\r\n * Set the dialog data manually\r\n * @param data : the new dialog data\r\n */\r\n setData(data: InfoDialogData) {\r\n this.dialogData = data;\r\n if (this.dialogData) {\r\n if (!this.dialogData.title) {\r\n this.dialogData.title = \"Informazioni\";\r\n }\r\n if (this.dialogData.dismissAfter) {\r\n setTimeout(() => {\r\n this.dialogRef.close();\r\n }, this.dialogData.dismissAfter);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","<h2 mat-dialog-title>{{dialogData.title}}</h2>\r\n<mat-dialog-content>\r\n <div fxLayout=\"column\" fxLayoutGap=\"24px\" fxFill>\r\n <div fxFlex=\"*\">\r\n @if (dialogData.message) {\r\n <div [innerHtml]=\"dialogData.message | safeHtml\"></div>\r\n }\r\n </div>\r\n @if (dialogData.details) {\r\n <div class=\"details-box\">\r\n <p class=\"x-small uppercase secondary\">Dettaglio:</p>\r\n <div class=\"small details\">\r\n <div [innerHtml]=\"dialogData.details\"></div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-flat-button color=\"primary\" [mat-dialog-close]=\"true\" cdkFocusInitial>{{dialogData.okCaption}}</button>\r\n </div>\r\n</mat-dialog-actions>","import { Component, Output, EventEmitter, ChangeDetectionStrategy, inject } from '@angular/core';\r\nimport { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';\r\nimport { SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { SafeHtmlPipe } from '@arsedizioni/ars-utils/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { FlexModule } from '@ngbracket/ngx-layout/flex';\r\n\r\nexport interface ToastData {\r\n message: string;\r\n icon?: string | null;\r\n actionCaption?: string | null;\r\n}\r\n\r\n@Component({\r\n host: { 'Bind': SystemUtils.generateUUID() },\r\n templateUrl: './toast.component.html',\r\n styleUrls: ['./toast.component.scss'],\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [FlexModule, MatIconModule, MatButtonModule, SafeHtmlPipe]\r\n})\r\nexport class ToastComponent {\r\n @Output() action = new EventEmitter();\r\n\r\n protected dialogData : ToastData = inject(MAT_SNACK_BAR_DATA) || {}; \r\n\r\n\r\n /**\r\n * Do action\r\n */\r\n protected do() {\r\n this.action.emit();\r\n }\r\n}\r\n","<div fxLayout=\"row\" fxLayoutGap=\"10px\">\r\n @if (dialogData.icon) {\r\n<div fxFlex='30px' fxLayoutAlign=\"start\" fxFlexAlign=\"center\">\r\n <mat-icon>{{dialogData.icon}}</mat-icon>\r\n </div>\r\n}\r\n <div fxFlex='100%' fxLayoutAlign=\"start\" fxFlexAlign=\"center\">\r\n @if (dialogData.message) {\r\n<span [innerHTML]=\"dialogData.message | safeHtml\"></span>\r\n}\r\n </div>\r\n @if (dialogData.actionCaption) {\r\n<div fxLayoutAlign=\"end\" fxFlexAlign=\"center\">\r\n <button type=\"button\" mat-button color='accent' (click)=\"do()\" cdkFocusInitial [innerHTML]=\"dialogData.actionCaption\"></button>\r\n </div>\r\n}\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UIService {\r\n \r\n private _appearance: \"fill\" | \"outline\" = \"fill\";\r\n get appearance() {return this._appearance};\r\n set appearance(value: \"fill\" | \"outline\" | null) {\r\n this._appearance = value ?? \"fill\";\r\n }\r\n}\r\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { PlatformLocation } from '@angular/common';\r\nimport { ComponentRef, inject, Injectable } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar, MatSnackBarRef } from '@angular/material/snack-bar';\r\nimport { SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { Observable } from 'rxjs';\r\nimport { first } from 'rxjs/operators';\r\nimport {\r\n BusyDialogComponent\r\n} from '../dialogs/busy/busy-dialog.component';\r\nimport {\r\n ConfirmDialogComponent,\r\n ConfirmDialogData,\r\n ConfirmDialogOption\r\n} from '../dialogs/confirm/confirm-dialog.component';\r\nimport {\r\n InfoDialogComponent,\r\n InfoDialogData\r\n} from '../dialogs/info/info-dialog.component';\r\nimport { ToastComponent, ToastData } from '../dialogs/toast/toast.component';\r\nimport { UIService } from './ui.service';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DialogService extends UIService {\r\n\r\n private dialog = inject(MatDialog);\r\n private overlay = inject(Overlay);\r\n private snackBar = inject(MatSnackBar);\r\n private location = inject(PlatformLocation);\r\n private busyDialogRef: OverlayRef;\r\n private busyComponentRef: ComponentRef<BusyDialogComponent>;\r\n private errorDialogRef: MatDialogRef<InfoDialogComponent>;\r\n private popHistory: any = [];\r\n private popState: boolean = true;\r\n private poppingState: boolean = false;\r\n\r\n constructor() { \r\n super();\r\n\r\n // Handle dialog close when back button is clicked\r\n this.location.onPopState(() => {\r\n if (!this.poppingState) {\r\n const count = this.dialog.openDialogs.length;\r\n if (count > 0) {\r\n // Disable pop sate if case\r\n this.popState = false;\r\n // Close dialog\r\n this.dialog.openDialogs[count - 1].close();\r\n }\r\n } else this.poppingState = false;\r\n });\r\n }\r\n\r\n /**\r\n * Clear url from # in case of page reload\r\n * @param resetPoppingState: true if popping state should be set to false\r\n */\r\n clearUrl(resetPoppingState: boolean = false): void {\r\n const url = location.href;\r\n let l = url.length;\r\n while (l >= 0 && url[l - 1] === '#') l--;\r\n if (l < url.length)\r\n history.replaceState({}, '', url.substring(0, l));\r\n if (resetPoppingState)\r\n this.poppingState = false;\r\n }\r\n\r\n /**\r\n * Close all dialogs\r\n */\r\n closeAll(): void {\r\n this.dialog.openDialogs.forEach(n => {\r\n n.close();\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Open a dialog\r\n * @param component : the component\r\n * @param config : the config\r\n * @returns: the dialog object\r\n */\r\n open(component: any, config: any): MatDialogRef<any> {\r\n if (!SystemUtils.isBrowser()) return null;\r\n this.clearBusy();\r\n return this.openDialog(component, config);\r\n }\r\n\r\n\r\n /**\r\n * Open a dialog\r\n * @param component : the component\r\n * @param config : the config\r\n * @returns : the dialog object\r\n */\r\n private openDialog(component: any, config: any): MatDialogRef<any> {\r\n // We will take care of navigation\r\n config.closeOnNavigation = false;\r\n let d = this.dialog.open(component, config);\r\n d.afterOpened().subscribe(() => {\r\n this.pushDialog(d.id);\r\n });\r\n d.beforeClosed().subscribe(() => {\r\n this.popDialog(d.id); \r\n });\r\n d.afterClosed().subscribe(() => {\r\n // Final cleanup of middle objects\r\n this.errorDialogRef = null;\r\n });\r\n return d;\r\n }\r\n\r\n /**\r\n * Returns the element height including margins\r\n * @param element - element\r\n * @returns the height\r\n */\r\n private outerHeight(element: any): number {\r\n if (!SystemUtils.isBrowser()) return 0;\r\n const height = element.offsetHeight,\r\n style = window.getComputedStyle(element);\r\n let h = ['top', 'bottom']\r\n .map(side => parseInt(style.getPropertyValue('margin-' + side)))\r\n .reduce((total, side) => total + side, height);\r\n return h;\r\n }\r\n\r\n /**\r\n * Return current dialog height\r\n */\r\n getCurrentDialogHeight(): number {\r\n if (!SystemUtils.isBrowser()) return 0;\r\n const count = this.popHistory.length;\r\n if (count > 0) {\r\n let id = this.popHistory[count - 1].id;\r\n let elem = document.getElementById(id);\r\n if (elem && elem.clientHeight > 0) return elem.clientHeight;\r\n }\r\n return 0;\r\n }\r\n\r\n /**\r\n * Return current dialog scrollable height\r\n */\r\n getCurrentDialogScrollableHeight(\r\n fixedPartsClassName: string[],\r\n minimalHeight: number\r\n ): number {\r\n if (!SystemUtils.isBrowser()) return 0;\r\n let h = this.getCurrentDialogHeight();\r\n if (h < minimalHeight) { \r\n h = minimalHeight;\r\n }\r\n if (fixedPartsClassName) {\r\n fixedPartsClassName.forEach(n => {\r\n const elems = document.getElementsByClassName(n);\r\n if (elems) {\r\n for (let i = 0; i < elems.length; i++) {\r\n h -= this.outerHeight(elems[i]);\r\n }\r\n }\r\n });\r\n }\r\n return h;\r\n }\r\n\r\n /**\r\n * Push a dialog info the history\r\n */\r\n private pushDialog(id: string) {\r\n if (!SystemUtils.isBrowser()) return;\r\n let index = history.length;\r\n history.pushState({ index: index }, null, location.href + '#');\r\n this.popHistory.push({ id: id, value: index });\r\n }\r\n\r\n /**\r\n * Pop a dialog from the history\r\n */\r\n private popDialog(id: string | null = null) {\r\n if (!SystemUtils.isBrowser()) return;\r\n if (this.popState) {\r\n this.poppingState = true;\r\n let popped = 1;\r\n if (id) {\r\n const p = this.popHistory.findIndex((n: any) => n.id === id);\r\n if (p != -1) {\r\n popped = this.popHistory[p].value - history.state.index;\r\n if (popped) popped++;\r\n else popped = 1;\r\n this.popHistory.splice(p, 1);\r\n }\r\n const url = location.href;\r\n let l = url.length;\r\n while (l >= 0 && url[l - 1] === '#' && popped > 0) {\r\n l--;\r\n popped--;\r\n }\r\n if (l < url.length)\r\n history.replaceState({}, '', url.substring(0, l));\r\n }\r\n }\r\n this.popState = true;\r\n }\r\n\r\n /**\r\n * Create the busy overlay\r\n * @param type: the type of spinner to create\r\n * @returns: the new overlay\r\n */\r\n private createBusy(): OverlayRef {\r\n return this.overlay.create({\r\n hasBackdrop: true,\r\n backdropClass:'busy-backdrop',\r\n positionStrategy: this.overlay.position()\r\n .global()\r\n .centerHorizontally()\r\n .centerVertically()\r\n });\r\n }\r\n\r\n /**\r\n * Clear busy dialog\r\n */\r\n clearBusy() {\r\n this.busyDialogRef?.detach(); \r\n }\r\n\r\n /**\r\n * Update busy dialog\r\n * @param message : new message\r\n * @param progress : new progress\r\n * @param progressMode : new mode (default = 'indeterminate')\r\n * @param type: new type (default = 'bar')\r\n * @param action : action to do during the execution (optional)\r\n * @returns true if a new popup has been opened\r\n */\r\n setBusy(\r\n message: string,\r\n progress: number = -1,\r\n progressMode: 'determinate' | 'indeterminate' = 'indeterminate',\r\n type: 'bar' | 'spinner' | 'wait' = 'bar',\r\n action: Observable<Object> | null = null\r\n ): boolean {\r\n const exists = this.busyDialogRef?.hasAttached();\r\n if (exists) {\r\n this.busyComponentRef.instance.set(message, progress, progressMode, type); // Use the same \r\n } else {\r\n // Open new\r\n if (!this.busyDialogRef) {\r\n this.busyDialogRef = this.createBusy();\r\n }\r\n this.busyComponentRef = this.busyDialogRef.attach(new ComponentPortal(BusyDialogComponent));\r\n this.busyComponentRef.instance.set(message, progress, progressMode, type);\r\n if (action) {\r\n action\r\n .pipe(first())\r\n .subscribe(() => {\r\n this.clearBusy();\r\n });\r\n }\r\n }\r\n return !exists;\r\n }\r\n\r\n /**\r\n * Display a busy dialog\r\n * @param message : new message\r\n * @param progress : new progress\r\n * @param progressMode : new mode (default = 'indeterminate')\r\n * @param action : action to do during the execution (optional)\r\n * @returns true if a new popup has been opened\r\n */\r\n busy(message: string,\r\n progress: number = -1,\r\n progressMode: 'determinate' | 'indeterminate' = 'indeterminate',\r\n action: Observable<Object> | null = null): boolean {\r\n return this.setBusy(message, progress, progressMode, 'bar', action);\r\n }\r\n\r\n /**\r\n * Display a busy spinner dialog\r\n * @param message : new message\r\n * @param progress : new progress\r\n * @param progressMode : new mode (default = 'indeterminate')\r\n * @param action : action to do during the execution (optional)\r\n * @returns true if a new popup has been opened\r\n */\r\n busySpinner(message: string,\r\n progress: number = -1,\r\n progressMode: 'determinate' | 'indeterminate' = 'indeterminate',\r\n action: Observable<Object> | null = null): boolean {\r\n return this.setBusy(message, progress, progressMode, 'spinner', action);\r\n }\r\n\r\n /**\r\n * Display a wait spinner \r\n * @param action : action to do during the execution (optional)\r\n * @returns true if a new popup has been opened\r\n */\r\n wait(\r\n action: Observable<Object> | null = null): boolean {\r\n return this.setBusy(null, null, null, 'wait', action);\r\n }\r\n\r\n\r\n /**\r\n * Display an information dialog\r\n * @param message : message\r\n * @param title : dialog title\r\n * @param okCaption : ok button caption\r\n * @param width: the preferred width\r\n * @param dismissAfter: if specified, the dialog will be closed after dismissAfter milliseconds\r\n * @param details: if specified, the details info\r\n */\r\n info(\r\n message: string,\r\n title: string = 'Informazioni',\r\n okCaption: string = 'Ok',\r\n width: number = 500,\r\n dismissAfter: number | null = null,\r\n details: string | null = null\r\n ): MatDialogRef<InfoDialogComponent> {\r\n this.clearBusy();\r\n return this.open(InfoDialogComponent, {\r\n ariaLabel: 'informazioni',\r\n autoFocus: true,\r\n restoreFocus: false,\r\n data: {\r\n message: message,\r\n title: title,\r\n okCaption: okCaption,\r\n dismissAfter: dismissAfter,\r\n details: details,\r\n appearance: 'fill'\r\n } as InfoDialogData,\r\n closeOnNavigation: false,\r\n minWidth: '375px',\r\n maxWidth: width + 'px',\r\n width: '99%'\r\n });\r\n }\r\n\r\n /**\r\n * Display an error dialog\r\n * @param message : message\r\n * @param log : the error log\r\n * @param title : dialog title\r\n * @param okCaption : ok button caption\r\n * @param width: the preferred width\r\n * @param dismissAfter: if specified, the dialog will be closed after dismissAfter milliseconds \r\n */\r\n error(\r\n message: string,\r\n log: string | null = null,\r\n title: string = 'Errore',\r\n okCaption: string = 'Ok',\r\n width: number = 500,\r\n dismissAfter: number | null = null\r\n ): MatDialogRef<InfoDialogComponent> {\r\n this.clearBusy();\r\n if (this.errorDialogRef) {\r\n // Just change current error\r\n this.errorDialogRef.componentInstance.setData( {\r\n message: message,\r\n title: title,\r\n details: log,\r\n okCaption: okCaption,\r\n dismissAfter: dismissAfter\r\n });\r\n return this.errorDialogRef;\r\n }\r\n this.errorDialogRef = this.open(InfoDialogComponent, {\r\n ariaLabel: 'errore',\r\n autoFocus: true,\r\n restoreFocus: false,\r\n data: {\r\n message: message,\r\n title: title,\r\n details: log,\r\n okCaption: okCaption,\r\n dismissAfter: dismissAfter,\r\n appearance: 'fill'\r\n } as InfoDialogData,\r\n closeOnNavigation: false,\r\n minWidth: '375px',\r\n maxWidth: width + 'px',\r\n width: '99%'\r\n });\r\n return this.errorDialogRef;\r\n }\r\n\r\n /**\r\n * Display toast\r\n * @param message : message to display\r\n * @param duration : duration in msec\r\n * @param icon : the mat-icon to display\r\n * @param actionCaption action button caption\r\n */\r\n toast(\r\n message: string,\r\n duration: number = 2000,\r\n icon: string = 'check',\r\n actionCaption: string | null = null\r\n ): MatSnackBarRef<ToastComponent> {\r\n this.clearBusy();\r\n if (duration === -1) duration = 2000; // default\r\n let toastRef = this.snackBar.openFromComponent(ToastComponent, {\r\n duration: duration,\r\n data: {\r\n message: message,\r\n icon: icon,\r\n actionCaption: actionCaption\r\n } as ToastData\r\n });\r\n toastRef.instance.action.subscribe(() => {\r\n toastRef.dismiss();\r\n });\r\n return toastRef;\r\n }\r\n\r\n /**\r\n * Display a confirm dialog\r\n * @param message : html message\r\n * @param title : dialog title\r\n * @param okCaption : ok button caption\r\n * @param cancelCaption : cancel button caption\r\n * @param otherCaption : other button caption\r\n * @param options: check box options\r\n * @param width: the preferred width\r\n */\r\n confirm(\r\n message: string,\r\n title: string = 'Conferma',\r\n okCaption: string = 'Si',\r\n cancelCaption: string = 'No',\r\n otherCaption: string | null = null,\r\n options: ConfirmDialogOption[] | null = null,\r\n width: number = 500,\r\n details: string | null = null\r\n ) {\r\n return this.open(ConfirmDialogComponent, {\r\n ariaLabel: 'conferma',\r\n autoFocus: true,\r\n restoreFocus: false,\r\n data: {\r\n message: message,\r\n title: title,\r\n okCaption: okCaption,\r\n cancelCaption: cancelCaption,\r\n otherCaption: otherCaption,\r\n options: options,\r\n details: details,\r\n appearance: 'fill'\r\n } as ConfirmDialogData,\r\n closeOnNavigation: false,\r\n disableClose: true, \r\n minWidth: '375px',\r\n maxWidth: width + 'px',\r\n width: '99%'\r\n });\r\n }\r\n \r\n}\r\n\r\n","import { NgModule } from \"@angular/core\";\r\nimport { ArsCoreModule } from '@arsedizioni/ars-utils/core';\r\n\r\n@NgModule({\r\n imports: [\r\n ArsCoreModule\r\n ]\r\n})\r\nexport class ArsUIModule {}\r\n\r\nexport * from \"./definitions\";\r\nexport * from \"./paginatorIntl\";\r\nexport * from \"./services/dialog.service\";\r\nexport * from \"./services/ui.service\";\r\n\r\n","import { Component, Output, EventEmitter, OnInit, inject } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialogTitle, MatDialogContent, MatDialogActions, MatDialogClose } from \"@angular/material/dialog\";\r\nimport { CredentialsDialogResult } from \"../../definitions\";\r\nimport { SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { SafeHtmlPipe } from \"@arsedizioni/ars-utils/core\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { FlexModule } from \"@ngbracket/ngx-layout/flex\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { FormsModule } from \"@angular/forms\";\r\n\r\nexport interface CredentialsDialogData {\r\n title?: string | null;\r\n message?: string | null;\r\n remember?: boolean | null;\r\n recoverPassword?: boolean | null;\r\n recoverPasswordUrl?: string | null;\r\n user?: string | null;\r\n okCaption?: string | null;\r\n mode?: number | null;\r\n appearance?: string | null;\r\n}\r\n\r\n@Component({\r\n host: { 'Bind': SystemUtils.generateUUID() },\r\n templateUrl: \"./credentials-dialog.component.html\",\r\n styleUrls: [\"./credentials-dialog.component.scss\"],\r\n standalone: true,\r\n imports: [\r\n MatDialogTitle,\r\n MatDialogContent,\r\n FormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatCheckboxModule,\r\n MatDialogActions,\r\n FlexModule,\r\n MatButtonModule,\r\n MatDialogClose,\r\n SafeHtmlPipe,\r\n ],\r\n})\r\nexport class CredentialsDialogComponent implements OnInit {\r\n @Output() done = new EventEmitter<CredentialsDialogResult>();\r\n @Output() recoveringPassword = new EventEmitter<any>();\r\n protected dialogData: CredentialsDialogData = inject(MAT_DIALOG_DATA) || { mode: 1, appearance: 'fill', title: 'Credenziali', okCaption: 'Salva' };\r\n protected item: CredentialsDialogResult = {\r\n user: null,\r\n password: null,\r\n rememberMe: null,\r\n };\r\n\r\n ngOnInit(): void {\r\n if (this.dialogData) {\r\n if (!this.dialogData.appearance) {\r\n this.dialogData.appearance = 'fill';\r\n }\r\n if (!this.dialogData.title) {\r\n this.dialogData.title = \"Informazioni\";\r\n }\r\n if (!this.dialogData.okCaption) {\r\n this.dialogData.okCaption = \"Salva\";\r\n }\r\n if (!this.dialogData.mode) {\r\n this.dialogData.mode = 1;\r\n }\r\n if (!this.dialogData.user) {\r\n this.item.user = this.dialogData.user;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Done\r\n */\r\n protected ok() {\r\n this.done.emit(this.item);\r\n }\r\n\r\n /**\r\n * Recover password\r\n */\r\n protected recoverPassword() {\r\n this.recoveringPassword.emit();\r\n if (this.dialogData.recoverPasswordUrl) {\r\n window.open(this.dialogData.recoverPasswordUrl, '_blank');\r\n }\r\n\r\n }\r\n}\r\n","<div class=\"dialog-info\">\r\n @if (f.form.invalid) {\r\n <span class=\"dialog-info-error\">Ci sono ancora dei campi obbligatori (*) non compilati.</span>\r\n } @else {\r\n <span class=\"dialog-info-ok\">Tutti i campi obbligatori (*) sono compilati.</span>\r\n }\r\n</div>\r\n<h2 mat-dialog-title>{{dialogData.title}}</h2>\r\n<mat-dialog-content>\r\n @if (dialogData.message) {\r\n <div [innerHtml]=\"dialogData.message | safeHtml\" style=\"padding-bottom: 20px;\"></div>\r\n }\r\n <form name=\"form\" #f=\"ngForm\" novalidate>\r\n @if (dialogData.mode === 1) {\r\n <mat-form-field style=\"width: 100%;\" [appearance]=\"dialogData.appearance\">\r\n <mat-label>Email</mat-label>\r\n <input type=\"email\" matInput [(ngModel)]=\"item.user\" name=\"email\" #email=\"ngModel\" email required\r\n [attr.aria-label]=\"'Email'\">\r\n @if (email.invalid) {\r\n <mat-error>Email non valida.</mat-error>\r\n }\r\n </mat-form-field>\r\n }\r\n @if (dialogData.mode === 2) {\r\n <mat-form-field style=\"width: 100%;\" [appearance]=\"dialogData.appearance\">\r\n <mat-label>Utente</mat-label>\r\n <input matInput [(ngModel)]=\"item.user\" name=\"user\" #user=\"ngModel\" required [attr.aria-label]=\"'user'\">\r\n @if (user.invalid) {\r\n <mat-error>Obbligatorio.</mat-error>\r\n }\r\n </mat-form-field>\r\n }\r\n <mat-form-field style=\"width: 100%;\" [appearance]=\"dialogData.appearance\">\r\n <mat-label>La tua password abilitata</mat-label>\r\n <input matInput name=\"password\" #password=\"ngModel\" type=\"password\" [(ngModel)]=\"item.password\" required\r\n [attr.aria-label]=\"'La tua password abilitata'\" autocomplete=\"on\">\r\n <mat-hint>Attento a maiuscole e minuscole</mat-hint>\r\n @if (password.invalid) {\r\n <mat-error>Password non valida.</mat-error>\r\n }\r\n </mat-form-field>\r\n @if (dialogData.remember || dialogData.recoverPassword) {\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxFill style=\"margin-top: 20px;\">\r\n <div >\r\n @if (dialogData.remember) {\r\n <mat-checkbox fxFlexAlign=\"center\" [(ngModel)]=\"item.rememberMe\" name=\"rememberMe\"> Ricordami</mat-checkbox>\r\n }\r\n </div>\r\n <div fxLayoutAlign=\"end\">\r\n @if (dialogData.recoverPassword) {\r\n <button fxFlexAlign=\"center\" mat-button (click)=\"recoverPassword()\" \r\n title=\"Recupero password\" color=\"primary\">Non riesco ad accedere</button>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </form>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-flat-button color=\"primary\" [disabled]=\"f.form.invalid\" \r\n (click)=\"ok()\">{{dialogData.okCaption}}</button>\r\n <button mat-stroked-button [mat-dialog-close]=\"true\" color=\"primary\">Annulla</button>\r\n </div>\r\n</mat-dialog-actions>","import { ChangeDetectionStrategy, Component, EventEmitter, Output, inject } from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MAT_DIALOG_DATA, MatDialogActions, MatDialogClose, MatDialogContent, MatDialogTitle } from \"@angular/material/dialog\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { FlexModule } from \"@ngbracket/ngx-layout/flex\";\r\nimport { RecoverPasswordDialogResult } from '../../definitions';\r\n\r\nexport interface RecoverPasswordDialogData {\r\n appearance?: string | null;\r\n}\r\n\r\n@Component({\r\n host: { 'Bind': SystemUtils.generateUUID() },\r\n templateUrl: \"./recover-password-dialog.component.html\",\r\n styleUrls: [\"./recover-password-dialog.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [ \r\n MatDialogTitle,\r\n MatDialogContent,\r\n FormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n MatDialogActions,\r\n FlexModule,\r\n MatDialogClose,\r\n ],\r\n})\r\nexport class RecoverPasswordDialogComponent {\r\n\r\n @Output() done = new EventEmitter<RecoverPasswordDialogResult>();\r\n\r\n protected dialogData : RecoverPasswordDialogData = inject(MAT_DIALOG_DATA) || { appearance: 'fill' }; \r\n \r\n protected item: RecoverPasswordDialogResult = {\r\n email: \"\",\r\n recaptcha: false\r\n };\r\n\r\n /**\r\n * Done\r\n */\r\n protected ok() {\r\n this.done.emit(this.item);\r\n }\r\n}\r\n","<div class=\"dialog-info\">\r\n @if (f.form.invalid) {\r\n <span class=\"dialog-info-error\">Ci sono ancora dei campi obbligatori (*) non compilati.</span>\r\n } @else {\r\n <span class=\"dialog-info-ok\">Tutti i campi obbligatori (*) sono compilati.</span>\r\n }\r\n</div>\r\n<h2 mat-dialog-title>Per quale ragione non sei in grado di effettuare l'accesso?</h2>\r\n<mat-dialog-content>\r\n\r\n <b>1. Ho dimenticato la password</b>\r\n <p>\r\n Puoi recuperarla facilmente inserendo l'email a cui la password è collegata. Non è possibile recuperare password\r\n aziendali (non collegate ad un email).</p>\r\n <form name=\"form\" #f=\"ngForm\" (keyup.Enter)=\"!f.form.invalid ? ok() : null\" novalidate>\r\n\r\n <mat-form-field style=\"width:100%\" [appearance]=\"dialogData.appearance\">\r\n <mat-label>Email con cui ti sei registrato</mat-label>\r\n <input type=\"email\" matInput name=\"email\" #email=\"ngModel\" [(ngModel)]=\"item.email\" required email\r\n maxlength=\"200\" />\r\n @if (email.invalid) {\r\n <mat-error>Email non valida.</mat-error>\r\n }\r\n </mat-form-field>\r\n\r\n <div style=\"margin-top:20px; margin-bottom:20px;\">\r\n <button type=\"button\" mat-flat-button (click)=\"ok()\" color=\"primary\" [disabled]=\"f.form.invalid\"\r\n aria-label=\"Recupera password\">Recupera password</button>\r\n </div>\r\n </form>\r\n <p></p>\r\n <b>2. Il sistema mi dice che la password non è corretta.</b>\r\n <p>\r\n E' molto probabile che ci sia stato un difetto di digitazione. Per favore controlla bene che non vi siano spazi non\r\n richiesti e che la password rispetti perfettamente le maiuscole e minuscole. Nel caso in cui la digitazione fosse\r\n corretta, verifica che la data del tuo abbonamento non sia scaduta.\r\n </p>\r\n <p></p>\r\n <b>3. Il sistema mi dice che non può accettare connessioni dal mio indirizzo IP</b>\r\n <p>\r\n Il tuo abbonamento è stato vincolato ad un indirizzo IP (indirizzo dal quale ti colleghi). Capita sovente che\r\n questi indirizzi siano cambiati da parte del reparto IT per questioni di sicurezza informatica.\r\n Per risolvere il problema, contattate il reparto IT e fatevi dire qual'è il nuovo indirizzo IP e comunicatelo ad\r\n ARS Edizioni Informatiche.\r\n </p>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-stroked-button [mat-dialog-close]=\"true\" color=\"primary\">Chiudi</button>\r\n </div>\r\n</mat-dialog-actions>","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n OnInit,\r\n Output,\r\n inject\r\n} from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MAT_DIALOG_DATA, MatDialogActions, MatDialogClose, MatDialogContent, MatDialogRef, MatDialogTitle } from \"@angular/material/dialog\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { EqualsValidatorDirective, PasswordValidatorDirective, SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { FlexModule } from \"@ngbracket/ngx-layout/flex\";\r\nimport { ResetPasswordDialogResult } from '../../definitions';\r\nimport { DialogService } from '../../services/dialog.service';\r\n\r\nexport interface ResetPasswordDialogData {\r\n mode: number;\r\n userId?: number | null;\r\n userEmail?: string | null;\r\n appearance?: string | null;\r\n}\r\n\r\n@Component({\r\n host: { 'Bind': SystemUtils.generateUUID() },\r\n templateUrl: \"./reset-password-dialog.component.html\",\r\n styleUrls: [\"./reset-password-dialog.component.scss\"],\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [ \r\n MatDialogTitle,\r\n MatDialogContent,\r\n FormsModule,\r\n FlexModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n PasswordValidatorDirective,\r\n EqualsValidatorDirective,\r\n MatDialogActions,\r\n MatButtonModule,\r\n MatDialogClose,\r\n ],\r\n})\r\nexport class ResetPasswordDialogComponent implements OnInit {\r\n @Output() done = new EventEmitter<ResetPasswordDialogResult>();\r\n\r\n private dialogService = inject(DialogService);\r\n private dialogRef = inject(MatDialogRef<ResetPasswordDialogComponent>);\r\n protected dialogData : ResetPasswordDialogData = inject(MAT_DIALOG_DATA) || { mode: 1, appearance: 'fill' }; \r\n protected item: ResetPasswordDialogResult = {\r\n userId: null,\r\n userEmail: null,\r\n oldPassword: null,\r\n password: null,\r\n password2: null\r\n };\r\n\r\n ngOnInit() {\r\n if (this.dialogData) {\r\n if (!this.dialogData.mode) {\r\n this.dialogData.mode = 1;\r\n }\r\n if (this.dialogData.mode <= 2 && !this.dialogData.userId) {\r\n this.dialogRef.close();\r\n this.dialogService.error(\"Utente non specificato.\");\r\n return;\r\n } else if (this.dialogData.mode === 3 && !this.dialogData.userEmail) {\r\n this.dialogRef.close();\r\n this.dialogService.error(\"Email utente non specificata.\");\r\n return;\r\n }\r\n this.item.userEmail = this.dialogData.userEmail;\r\n this.item.userId = this.dialogData.userId;\r\n } else {\r\n this.dialogService.error(\"Modalità non riconosciuta.\");\r\n this.dialogRef.close();\r\n return;\r\n }\r\n }\r\n\r\n /**\r\n * Done\r\n */\r\n protected ok() {\r\n this.done.emit(this.item);\r\n }\r\n\r\n /**\r\n * Generate a password\r\n */\r\n protected generatePassword() {\r\n let password = SystemUtils.generatePassword();\r\n this.item.password = password;\r\n this.item.password2 = password;\r\n }\r\n}\r\n\r\n\r\n","<div class=\"dialog-info\">\r\n @if (f.form.invalid) {\r\n <span class=\"dialog-info-error\">Ci sono ancora dei campi obbligatori (*) non compilati.</span>\r\n } @else {\r\n <span class=\"dialog-info-ok\">Tutti i campi obbligatori (*) sono compilati.</span>\r\n }\r\n</div>\r\n<h2 mat-dialog-title>Reimposta password</h2>\r\n<mat-dialog-content>\r\n <form name=\"form\" #f=\"ngForm\" novalidate>\r\n <div fxLayout=\"column\">\r\n @if (dialogData.mode === 3) {\r\n <mat-form-field style=\"width: 100%;\" [appearance]=\"dialogData.appearance\">\r\n <mat-label>Email che hai scelto quando ti sei registrato</mat-label>\r\n <input type=\"email\" matInput [(ngModel)]=\"item.userEmail\" name=\"userEmail\" #userEmail=\"ngModel\" email required\r\n [attr.aria-label]=\"'Email con cui ti sei registrato'\">\r\n @if (userEmail.invalid) {\r\n <mat-error>Email non valida.</mat-error>\r\n }\r\n </mat-form-field>\r\n }\r\n @if (dialogData.mode > 1) {\r\n <mat-form-field style=\"width: 100%;\" [appearance]=\"dialogData.appearance\">\r\n <mat-label>Vecchia password</mat-label>\r\n <input type=\"password\" matInput name=\"oldPwd\" autocomplete=\"on\" [(ngModel)]=\"item.oldPassword\"\r\n [required]=\"dialogData.mode > 1\" maxlength=\"30\" #oldPwd=\"ngModel\">\r\n @if (oldPwd.invalid) {\r\n <mat-error>Non valido.</mat-error>\r\n }\r\n </mat-form-field>\r\n }\r\n <mat-form-field style=\"width: 100%; \" hintLabel=\"Minimo 8 car. con 1 simbolo e 1 maiuscola\"\r\n [appearance]=\"dialogData.appearance\">\r\n <mat-label>Nuova password</mat-label>\r\n <input type=\"password\" matInput name=\"newPwd\" [(ngModel)]=\"item.password\" required password minlength=\"8\"\r\n maxlength=\"30\" #newPwd=\"ngModel\">\r\n <mat-hint align=\"end\">{{newPwd.value?.length || 0}}/30</mat-hint>\r\n @if (newPwd.invalid) {\r\n <mat-error>Non valido.</mat-error>\r\n }\r\n </mat-form-field>\r\n <mat-form-field style=\"width: 100%;\" hintLabel=\"Minimo 8 car. con 1 simbolo e 1 maiuscola\"\r\n [appearance]=\"dialogData.appearance\">\r\n <mat-label>Conferma nuova password</mat-label>\r\n <input type=\"password\" matInput name=\"newPwd2\" [(ngModel)]=\"item.password2\" [required]=\"dialogData.mode > 1\"\r\n password minlength=\"8\" maxlength=\"30\" [equals]=\"newPwd\" #newPwd2=\"ngModel\">\r\n <mat-hint align=\"end\">{{newPwd2.value?.length || 0}}/30</mat-hint>\r\n @if (newPwd2.invalid) {\r\n <mat-error>Non valido.</mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n </form>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"30\">\r\n @if (dialogData.mode === 1) {\r\n <button mat-stroked-button color=\"primary\" (click)=\"generatePassword()\">Genera</button>\r\n }\r\n </div>\r\n <div fxFlex=\"70\" fxLayoutAlign=\"end\">\r\n <button mat-flat-button color=\"primary\" [disabled]=\"f.form.invalid\" (click)=\"ok()\">Salva</button>\r\n @if (dialogData.mode !== 3) {\r\n <button mat-stroked-button [mat-dialog-close]=\"true\" color=\"primary\">Annulla</button>\r\n }\r\n </div>\r\n </div>\r\n</mat-dialog-actions>","/*\r\n * Public API Surface of ars-utils\r\n */\r\nexport * from './ui/ui.module';\r\nexport * from './ui/dialogs/busy/busy-dialog.component';\r\nexport * from './ui/dialogs/credentials/credentials-dialog.component';\r\nexport * from './ui/dialogs/confirm/confirm-dialog.component';\r\nexport * from './ui/dialogs/info/info-dialog.component';\r\nexport * from './ui/dialogs/recover-password/recover-password-dialog.component';\r\nexport * from './ui/dialogs/reset-password/reset-password-dialog.component';\r\nexport * from './ui/dialogs/toast/toast.component';\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2","i1","i3","i4","i5","i6"],"mappings":"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"}
1
+ {"version":3,"file":"arsedizioni-ars-utils-ui.mjs","sources":["../../../projects/ars-utils/ui/ui/paginatorIntl.ts","../../../projects/ars-utils/ui/ui/dialogs/busy/busy-dialog.component.ts","../../../projects/ars-utils/ui/ui/dialogs/busy/busy-dialog.component.html","../../../projects/ars-utils/ui/ui/dialogs/confirm/confirm-dialog.component.ts","../../../projects/ars-utils/ui/ui/dialogs/confirm/confirm-dialog.component.html","../../../projects/ars-utils/ui/ui/dialogs/info/info-dialog.component.ts","../../../projects/ars-utils/ui/ui/dialogs/info/info-dialog.component.html","../../../projects/ars-utils/ui/ui/dialogs/toast/toast.component.ts","../../../projects/ars-utils/ui/ui/dialogs/toast/toast.component.html","../../../projects/ars-utils/ui/ui/services/ui.service.ts","../../../projects/ars-utils/ui/ui/services/dialog.service.ts","../../../projects/ars-utils/ui/ui/ui.module.ts","../../../projects/ars-utils/ui/ui/dialogs/credentials/credentials-dialog.component.ts","../../../projects/ars-utils/ui/ui/dialogs/credentials/credentials-dialog.component.html","../../../projects/ars-utils/ui/ui/dialogs/recover-password/recover-password-dialog.component.ts","../../../projects/ars-utils/ui/ui/dialogs/recover-password/recover-password-dialog.component.html","../../../projects/ars-utils/ui/ui/dialogs/reset-password/reset-password-dialog.component.ts","../../../projects/ars-utils/ui/ui/dialogs/reset-password/reset-password-dialog.component.html","../../../projects/ars-utils/ui/public_api.ts","../../../projects/ars-utils/ui/arsedizioni-ars-utils-ui.ts"],"sourcesContent":["import { MatPaginatorIntl } from '@angular/material/paginator';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class PaginatorIntl extends MatPaginatorIntl {\r\n itemsPerPageLabel = 'Elementi per pagina';\r\n nextPageLabel = 'Prossima pagina';\r\n previousPageLabel = 'Pagina precedente';\r\n lastPageLabel = 'Ultima pagina';\r\n firstPageLabel = 'Prima pagina';\r\n getRangeLabel = (page: number, pageSize: number, length: number) => {\r\n if (length === -1) {\r\n return '0 di calcolo...';\r\n }\r\n if (length === 0 || pageSize === 0) {\r\n return '0 di ' + length;\r\n }\r\n length = Math.max(length, 0);\r\n const startIndex = page * pageSize;\r\n // If the start index exceeds the list length, do not try and fix the end index to the end.\r\n const endIndex =\r\n startIndex < length\r\n ? Math.min(startIndex + pageSize, length)\r\n : startIndex + pageSize;\r\n return startIndex + 1 + ' - ' + endIndex + ' di ' + length;\r\n };\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { SafeHtmlPipe } from '@arsedizioni/ars-utils/core';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { FlexModule } from '@ngbracket/ngx-layout/flex';\r\n\r\n@Component({\r\n host: { 'Bind': SystemUtils.generateUUID() },\r\n templateUrl: './busy-dialog.component.html',\r\n styleUrls: ['./busy-dialog.component.scss'],\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [ FlexModule, MatProgressBarModule, MatProgressSpinnerModule, SafeHtmlPipe]\r\n})\r\nexport class BusyDialogComponent {\r\n type: 'bar' | 'spinner' | 'wait' = 'bar';\r\n progress: number = 0;\r\n progressMode: 'determinate' | 'indeterminate' = 'indeterminate';\r\n message: string;\r\n\r\n /**\r\n * Update busy dialog\r\n * @param message : new message or null to keep the previous one\r\n * @param progress : new progress value\r\n * @param progressMode : new progress mode (determinate or indeterminate)\r\n * @param type : the type (bar, spinner or wait)\r\n */\r\n set(\r\n message: string,\r\n progress: number,\r\n progressMode: 'determinate' | 'indeterminate' = 'indeterminate',\r\n type: 'bar' | 'spinner' | 'wait' = 'bar'\r\n ) {\r\n if (message) { \r\n this.message = message;\r\n }\r\n if (type) { \r\n this.type = type; \r\n }\r\n this.progress = progress;\r\n if (this.progress > 0) { \r\n this.progressMode = 'determinate';\r\n } else {\r\n this.progressMode = progressMode; \r\n }\r\n }\r\n}\r\n","<div class=\"busy-panel mat-elevation-z12\">\r\n @if (type !== 'wait') {\r\n <div fxLayout=\"column\" fxLayoutGap=\"10px\" fxFill>\r\n @if (message) {\r\n <div [innerHTML]=\"message | safeHtml\" style=\"text-align: center\"></div>\r\n }\r\n @if (!type || type === 'bar') {\r\n <div>\r\n <mat-progress-bar [mode]=\"progressMode || 'indeterminate'\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto; max-width: 350px;\"></mat-progress-bar>\r\n </div>\r\n }\r\n @if (type === 'spinner') {\r\n <div>\r\n <mat-progress-spinner [mode]=\"progressMode || 'indeterminate'\" diameter=\"70\" [value]=\"progress\"\r\n style=\"margin:15px auto 0 auto;\"></mat-progress-spinner>\r\n </div>\r\n }\r\n @if (progress > 0) {\r\n <div>\r\n <span style=\"font-size: smaller;\"><b>{{progress}}%</b></span>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <mat-spinner style=\"margin:0 auto\"></mat-spinner>\r\n }\r\n</div>","import { ChangeDetectionStrategy, Component, EventEmitter, OnInit, Output, inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialogTitle, MatDialogContent, MatDialogActions, MatDialogClose } from '@angular/material/dialog';\r\nimport { DialogResult } from '../../definitions';\r\nimport { SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { SafeHtmlPipe } from '@arsedizioni/ars-utils/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { FlexModule } from '@ngbracket/ngx-layout/flex';\r\n\r\nexport interface ConfirmDialogOption {\r\n value: any,\r\n description: string\r\n}\r\n\r\nexport interface ConfirmDialogData {\r\n title?: string | null;\r\n message: string;\r\n okCaption?: string | null;\r\n cancelCaption?: string | null;\r\n otherCaption?: string | null;\r\n options?: ConfirmDialogOption[] | null;\r\n details?: string | null;\r\n}\r\n\r\n@Component({\r\n host: { 'Bind': SystemUtils.generateUUID() },\r\n templateUrl: './confirm-dialog.component.html',\r\n styleUrls: ['./confirm-dialog.component.scss'],\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatDialogTitle, MatDialogContent, MatDialogClose, FlexModule, MatCheckboxModule, FormsModule, MatDialogActions, MatButtonModule,\r\n MatDialogClose, SafeHtmlPipe]\r\n})\r\nexport class ConfirmDialogComponent implements OnInit {\r\n @Output() choosen = new EventEmitter<DialogResult>();\r\n\r\n private dialogRef = inject(MatDialogRef<ConfirmDialogComponent>);\r\n protected dialogData: ConfirmDialogData = inject(MAT_DIALOG_DATA) || { title: 'Conferma', okCaption: 'Si', cancelCaption: 'No' };\r\n\r\n ngOnInit(): void {\r\n if (this.dialogData) {\r\n if (!this.dialogData.title) {\r\n this.dialogData.title = \"Informazioni\";\r\n }\r\n if (!this.dialogData.okCaption) {\r\n this.dialogData.okCaption = \"Si\";\r\n }\r\n if (!this.dialogData.cancelCaption) {\r\n this.dialogData.cancelCaption = \"No\";\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Done\r\n */\r\n ok() {\r\n this.dialogRef.close();\r\n setTimeout(() => {\r\n this.choosen.emit({ result: 'ok', options: this.dialogData.options });\r\n }, 500);\r\n }\r\n\r\n /**\r\n * Cancelled\r\n */\r\n cancel() {\r\n this.dialogRef.close();\r\n setTimeout(() => {\r\n this.choosen.emit({ result: 'cancel' });\r\n }, 500);\r\n }\r\n\r\n /**\r\n * Other action\r\n */\r\n other() {\r\n this.dialogRef.close();\r\n setTimeout(() => {\r\n this.choosen.emit({ result: 'other' });\r\n }, 500);\r\n }\r\n}\r\n\r\n/**\r\n * Display a confirm dialog\r\n * @param message : html message\r\n * @param title : dialog title\r\n * @param okCaption : ok button caption\r\n * @param cancelCaption : cancel button caption\r\n * @param otherCaption : other button caption\r\n * @param options: check box options\r\n * @param width: the preferred width\r\n */\r\nexport function confirm(\r\n message: string,\r\n title: string = 'Conferma',\r\n okCaption: string = 'Si',\r\n cancelCaption: string = 'No',\r\n otherCaption: string | null = null,\r\n options: ConfirmDialogOption[] | null = null,\r\n width: number = 500,\r\n details: string | null = null\r\n) {\r\n return this.open(ConfirmDialogComponent, {\r\n ariaLabel: 'conferma',\r\n autoFocus: true,\r\n restoreFocus: false,\r\n data: {\r\n message: message,\r\n title: title,\r\n okCaption: okCaption,\r\n cancelCaption: cancelCaption,\r\n otherCaption: otherCaption,\r\n options: options,\r\n details: details,\r\n appearance: 'fill'\r\n } as ConfirmDialogData,\r\n closeOnNavigation: false,\r\n minWidth: '375px',\r\n maxWidth: width + 'px',\r\n width: '99%'\r\n });\r\n}","<h2 mat-dialog-title>{{dialogData.title}}</h2>\r\n<mat-dialog-content>\r\n <div fxLayout=\"column\" fxLayoutGap=\"24px\" fxFill>\r\n <div fxFlex=\"*\">\r\n @if (dialogData.message) {\r\n <div [innerHtml]=\"dialogData.message | safeHtml\"></div>\r\n }\r\n </div>\r\n @if (dialogData.details) {\r\n <div class=\"details-box\">\r\n <p class=\"x-small uppercase secondary\">Dettaglio:</p>\r\n <div class=\"small details\">\r\n <div [innerHtml]=\"dialogData.details\"></div>\r\n </div>\r\n </div>\r\n }\r\n @if (dialogData.options) {\r\n <div>\r\n @for (o of dialogData.options; track $index; let i = $index) {\r\n <div>\r\n <mat-checkbox [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"30\">\r\n @if (dialogData.otherCaption) {\r\n <button mat-flat-button color='primary' (click)=\"other()\" cdkFocusInitial\r\n [mat-dialog-close]=\"true\">{{dialogData.otherCaption}}</button>\r\n }\r\n </div>\r\n <div fxFlex=\"70\" fxLayoutAlign=\"end\">\r\n <button mat-flat-button color='primary' (click)=\"ok()\" cdkFocusInitial\r\n [mat-dialog-close]=\"true\">{{dialogData.okCaption}}</button>\r\n <button mat-stroked-button color=\"primary\" [mat-dialog-close]=\"true\" (click)=\"cancel()\">{{dialogData.cancelCaption}}</button>\r\n </div>\r\n </div>\r\n</mat-dialog-actions>","import { ChangeDetectionStrategy, Component, OnInit, inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialogTitle, MatDialogContent, MatDialogActions, MatDialogClose } from '@angular/material/dialog';\r\nimport { SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { SafeHtmlPipe } from '@arsedizioni/ars-utils/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { FlexModule } from '@ngbracket/ngx-layout/flex';\r\n\r\nexport interface InfoDialogData {\r\n title?: string | null;\r\n message: string;\r\n details?: string | null;\r\n okCaption?: string | null;\r\n dismissAfter?: number | null;\r\n}\r\n\r\n@Component({\r\n host: { 'Bind': SystemUtils.generateUUID() },\r\n templateUrl: './info-dialog.component.html',\r\n styleUrls: ['./info-dialog.component.scss'],\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatDialogTitle, MatDialogContent, MatDialogActions, FlexModule, MatButtonModule, MatDialogClose, SafeHtmlPipe]\r\n})\r\nexport class InfoDialogComponent implements OnInit {\r\n private dialogRef = inject(MatDialogRef<InfoDialogComponent>);\r\n protected dialogData: InfoDialogData = inject(MAT_DIALOG_DATA) || { appearance: 'fill', title: 'Informazioni' };\r\n\r\n ngOnInit(): void {\r\n this.setData(this.dialogData);\r\n }\r\n\r\n\r\n /**\r\n * Set the dialog data manually\r\n * @param data : the new dialog data\r\n */\r\n setData(data: InfoDialogData) {\r\n this.dialogData = data;\r\n if (this.dialogData) {\r\n if (!this.dialogData.title) {\r\n this.dialogData.title = \"Informazioni\";\r\n }\r\n if (this.dialogData.dismissAfter) {\r\n setTimeout(() => {\r\n this.dialogRef.close();\r\n }, this.dialogData.dismissAfter);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","<h2 mat-dialog-title>{{dialogData.title}}</h2>\r\n<mat-dialog-content>\r\n <div fxLayout=\"column\" fxLayoutGap=\"24px\" fxFill>\r\n <div fxFlex=\"*\">\r\n @if (dialogData.message) {\r\n <div [innerHtml]=\"dialogData.message | safeHtml\"></div>\r\n }\r\n </div>\r\n @if (dialogData.details) {\r\n <div class=\"details-box\">\r\n <p class=\"x-small uppercase secondary\">Dettaglio:</p>\r\n <div class=\"small details\">\r\n <div [innerHtml]=\"dialogData.details\"></div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-flat-button color=\"primary\" [mat-dialog-close]=\"true\" cdkFocusInitial>{{dialogData.okCaption}}</button>\r\n </div>\r\n</mat-dialog-actions>","import { Component, Output, EventEmitter, ChangeDetectionStrategy, inject } from '@angular/core';\r\nimport { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';\r\nimport { SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { SafeHtmlPipe } from '@arsedizioni/ars-utils/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { FlexModule } from '@ngbracket/ngx-layout/flex';\r\n\r\nexport interface ToastData {\r\n message: string;\r\n icon?: string | null;\r\n actionCaption?: string | null;\r\n}\r\n\r\n@Component({\r\n host: { 'Bind': SystemUtils.generateUUID() },\r\n templateUrl: './toast.component.html',\r\n styleUrls: ['./toast.component.scss'],\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [FlexModule, MatIconModule, MatButtonModule, SafeHtmlPipe]\r\n})\r\nexport class ToastComponent {\r\n @Output() action = new EventEmitter();\r\n\r\n protected dialogData : ToastData = inject(MAT_SNACK_BAR_DATA) || {}; \r\n\r\n\r\n /**\r\n * Do action\r\n */\r\n protected do() {\r\n this.action.emit();\r\n }\r\n}\r\n","<div fxLayout=\"row\" fxLayoutGap=\"10px\">\r\n @if (dialogData.icon) {\r\n<div fxFlex='30px' fxLayoutAlign=\"start\" fxFlexAlign=\"center\">\r\n <mat-icon>{{dialogData.icon}}</mat-icon>\r\n </div>\r\n}\r\n <div fxFlex='100%' fxLayoutAlign=\"start\" fxFlexAlign=\"center\">\r\n @if (dialogData.message) {\r\n<span [innerHTML]=\"dialogData.message | safeHtml\"></span>\r\n}\r\n </div>\r\n @if (dialogData.actionCaption) {\r\n<div fxLayoutAlign=\"end\" fxFlexAlign=\"center\">\r\n <button type=\"button\" mat-button color='accent' (click)=\"do()\" cdkFocusInitial [innerHTML]=\"dialogData.actionCaption\"></button>\r\n </div>\r\n}\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UIService {\r\n \r\n private _appearance: \"fill\" | \"outline\" = \"fill\";\r\n get appearance() {return this._appearance};\r\n set appearance(value: \"fill\" | \"outline\" | null) {\r\n this._appearance = value ?? \"fill\";\r\n }\r\n}\r\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { PlatformLocation } from '@angular/common';\r\nimport { ComponentRef, inject, Injectable } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar, MatSnackBarRef } from '@angular/material/snack-bar';\r\nimport { SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { Observable } from 'rxjs';\r\nimport { first } from 'rxjs/operators';\r\nimport {\r\n BusyDialogComponent\r\n} from '../dialogs/busy/busy-dialog.component';\r\nimport {\r\n ConfirmDialogComponent,\r\n ConfirmDialogData,\r\n ConfirmDialogOption\r\n} from '../dialogs/confirm/confirm-dialog.component';\r\nimport {\r\n InfoDialogComponent,\r\n InfoDialogData\r\n} from '../dialogs/info/info-dialog.component';\r\nimport { ToastComponent, ToastData } from '../dialogs/toast/toast.component';\r\nimport { UIService } from './ui.service';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DialogService extends UIService {\r\n\r\n private dialog = inject(MatDialog);\r\n private overlay = inject(Overlay);\r\n private snackBar = inject(MatSnackBar);\r\n private location = inject(PlatformLocation);\r\n private busyDialogRef: OverlayRef;\r\n private busyComponentRef: ComponentRef<BusyDialogComponent>;\r\n private errorDialogRef: MatDialogRef<InfoDialogComponent>;\r\n private popHistory: any = [];\r\n private popState: boolean = true;\r\n private poppingState: boolean = false;\r\n\r\n constructor() { \r\n super();\r\n\r\n // Handle dialog close when back button is clicked\r\n this.location.onPopState(() => {\r\n if (!this.poppingState) {\r\n const count = this.dialog.openDialogs.length;\r\n if (count > 0) {\r\n // Disable pop sate if case\r\n this.popState = false;\r\n // Close dialog\r\n this.dialog.openDialogs[count - 1].close();\r\n }\r\n } else this.poppingState = false;\r\n });\r\n }\r\n\r\n /**\r\n * Clear url from # in case of page reload\r\n * @param resetPoppingState: true if popping state should be set to false\r\n */\r\n clearUrl(resetPoppingState: boolean = false): void {\r\n const url = location.href;\r\n let l = url.length;\r\n while (l >= 0 && url[l - 1] === '#') l--;\r\n if (l < url.length)\r\n history.replaceState({}, '', url.substring(0, l));\r\n if (resetPoppingState)\r\n this.poppingState = false;\r\n }\r\n\r\n /**\r\n * Close all dialogs\r\n */\r\n closeAll(): void {\r\n this.dialog.openDialogs.forEach(n => {\r\n n.close();\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Open a dialog\r\n * @param component : the component\r\n * @param config : the config\r\n * @returns: the dialog object\r\n */\r\n open(component: any, config: any): MatDialogRef<any> {\r\n if (!SystemUtils.isBrowser()) return null;\r\n this.clearBusy();\r\n return this.openDialog(component, config);\r\n }\r\n\r\n\r\n /**\r\n * Open a dialog\r\n * @param component : the component\r\n * @param config : the config\r\n * @returns : the dialog object\r\n */\r\n private openDialog(component: any, config: any): MatDialogRef<any> {\r\n // We will take care of navigation\r\n config.closeOnNavigation = false;\r\n let d = this.dialog.open(component, config);\r\n d.afterOpened().subscribe(() => {\r\n this.pushDialog(d.id);\r\n });\r\n d.beforeClosed().subscribe(() => {\r\n this.popDialog(d.id); \r\n });\r\n d.afterClosed().subscribe(() => {\r\n // Final cleanup of middle objects\r\n this.errorDialogRef = null;\r\n });\r\n return d;\r\n }\r\n\r\n /**\r\n * Returns the element height including margins\r\n * @param element - element\r\n * @returns the height\r\n */\r\n private outerHeight(element: any): number {\r\n if (!SystemUtils.isBrowser()) return 0;\r\n const height = element.offsetHeight,\r\n style = window.getComputedStyle(element);\r\n let h = ['top', 'bottom']\r\n .map(side => parseInt(style.getPropertyValue('margin-' + side)))\r\n .reduce((total, side) => total + side, height);\r\n return h;\r\n }\r\n\r\n /**\r\n * Return current dialog height\r\n */\r\n getCurrentDialogHeight(): number {\r\n if (!SystemUtils.isBrowser()) return 0;\r\n const count = this.popHistory.length;\r\n if (count > 0) {\r\n let id = this.popHistory[count - 1].id;\r\n let elem = document.getElementById(id);\r\n if (elem && elem.clientHeight > 0) return elem.clientHeight;\r\n }\r\n return 0;\r\n }\r\n\r\n /**\r\n * Return current dialog scrollable height\r\n */\r\n getCurrentDialogScrollableHeight(\r\n fixedPartsClassName: string[],\r\n minimalHeight: number\r\n ): number {\r\n if (!SystemUtils.isBrowser()) return 0;\r\n let h = this.getCurrentDialogHeight();\r\n if (h < minimalHeight) { \r\n h = minimalHeight;\r\n }\r\n if (fixedPartsClassName) {\r\n fixedPartsClassName.forEach(n => {\r\n const elems = document.getElementsByClassName(n);\r\n if (elems) {\r\n for (let i = 0; i < elems.length; i++) {\r\n h -= this.outerHeight(elems[i]);\r\n }\r\n }\r\n });\r\n }\r\n return h;\r\n }\r\n\r\n /**\r\n * Push a dialog info the history\r\n */\r\n private pushDialog(id: string) {\r\n if (!SystemUtils.isBrowser()) return;\r\n let index = history.length;\r\n history.pushState({ index: index }, null, location.href + '#');\r\n this.popHistory.push({ id: id, value: index });\r\n }\r\n\r\n /**\r\n * Pop a dialog from the history\r\n */\r\n private popDialog(id: string | null = null) {\r\n if (!SystemUtils.isBrowser()) return;\r\n if (this.popState) {\r\n this.poppingState = true;\r\n let popped = 1;\r\n if (id) {\r\n const p = this.popHistory.findIndex((n: any) => n.id === id);\r\n if (p != -1) {\r\n popped = this.popHistory[p].value - history.state.index;\r\n if (popped) popped++;\r\n else popped = 1;\r\n this.popHistory.splice(p, 1);\r\n }\r\n const url = location.href;\r\n let l = url.length;\r\n while (l >= 0 && url[l - 1] === '#' && popped > 0) {\r\n l--;\r\n popped--;\r\n }\r\n if (l < url.length)\r\n history.replaceState({}, '', url.substring(0, l));\r\n }\r\n }\r\n this.popState = true;\r\n }\r\n\r\n /**\r\n * Create the busy overlay\r\n * @param type: the type of spinner to create\r\n * @returns: the new overlay\r\n */\r\n private createBusy(): OverlayRef {\r\n return this.overlay.create({\r\n hasBackdrop: true,\r\n backdropClass:'busy-backdrop',\r\n positionStrategy: this.overlay.position()\r\n .global()\r\n .centerHorizontally()\r\n .centerVertically()\r\n });\r\n }\r\n\r\n /**\r\n * Clear busy dialog\r\n */\r\n clearBusy() {\r\n this.busyDialogRef?.detach(); \r\n }\r\n\r\n /**\r\n * Update busy dialog\r\n * @param message : new message\r\n * @param progress : new progress\r\n * @param progressMode : new mode (default = 'indeterminate')\r\n * @param type: new type (default = 'bar')\r\n * @param action : action to do during the execution (optional)\r\n * @returns true if a new popup has been opened\r\n */\r\n setBusy(\r\n message: string,\r\n progress: number = -1,\r\n progressMode: 'determinate' | 'indeterminate' = 'indeterminate',\r\n type: 'bar' | 'spinner' | 'wait' = 'bar',\r\n action: Observable<Object> | null = null\r\n ): boolean {\r\n const exists = this.busyDialogRef?.hasAttached();\r\n if (exists) {\r\n this.busyComponentRef.instance.set(message, progress, progressMode, type); // Use the same \r\n } else {\r\n // Open new\r\n if (!this.busyDialogRef) {\r\n this.busyDialogRef = this.createBusy();\r\n }\r\n this.busyComponentRef = this.busyDialogRef.attach(new ComponentPortal(BusyDialogComponent));\r\n this.busyComponentRef.instance.set(message, progress, progressMode, type);\r\n if (action) {\r\n action\r\n .pipe(first())\r\n .subscribe(() => {\r\n this.clearBusy();\r\n });\r\n }\r\n }\r\n return !exists;\r\n }\r\n\r\n /**\r\n * Display a busy dialog\r\n * @param message : new message\r\n * @param progress : new progress\r\n * @param progressMode : new mode (default = 'indeterminate')\r\n * @param action : action to do during the execution (optional)\r\n * @returns true if a new popup has been opened\r\n */\r\n busy(message: string,\r\n progress: number = -1,\r\n progressMode: 'determinate' | 'indeterminate' = 'indeterminate',\r\n action: Observable<Object> | null = null): boolean {\r\n return this.setBusy(message, progress, progressMode, 'bar', action);\r\n }\r\n\r\n /**\r\n * Display a busy spinner dialog\r\n * @param message : new message\r\n * @param progress : new progress\r\n * @param progressMode : new mode (default = 'indeterminate')\r\n * @param action : action to do during the execution (optional)\r\n * @returns true if a new popup has been opened\r\n */\r\n busySpinner(message: string,\r\n progress: number = -1,\r\n progressMode: 'determinate' | 'indeterminate' = 'indeterminate',\r\n action: Observable<Object> | null = null): boolean {\r\n return this.setBusy(message, progress, progressMode, 'spinner', action);\r\n }\r\n\r\n /**\r\n * Display a wait spinner \r\n * @param action : action to do during the execution (optional)\r\n * @returns true if a new popup has been opened\r\n */\r\n wait(\r\n action: Observable<Object> | null = null): boolean {\r\n return this.setBusy(null, null, null, 'wait', action);\r\n }\r\n\r\n\r\n /**\r\n * Display an information dialog\r\n * @param message : message\r\n * @param title : dialog title\r\n * @param okCaption : ok button caption\r\n * @param width: the preferred width\r\n * @param dismissAfter: if specified, the dialog will be closed after dismissAfter milliseconds\r\n * @param details: if specified, the details info\r\n */\r\n info(\r\n message: string,\r\n title: string = 'Informazioni',\r\n okCaption: string = 'Ok',\r\n width: number = 500,\r\n dismissAfter: number | null = null,\r\n details: string | null = null\r\n ): MatDialogRef<InfoDialogComponent> {\r\n this.clearBusy();\r\n return this.open(InfoDialogComponent, {\r\n ariaLabel: 'informazioni',\r\n autoFocus: true,\r\n restoreFocus: false,\r\n data: {\r\n message: message,\r\n title: title,\r\n okCaption: okCaption,\r\n dismissAfter: dismissAfter,\r\n details: details,\r\n appearance: 'fill'\r\n } as InfoDialogData,\r\n closeOnNavigation: false,\r\n minWidth: '375px',\r\n maxWidth: width + 'px',\r\n width: '99%'\r\n });\r\n }\r\n\r\n /**\r\n * Display an error dialog\r\n * @param message : message\r\n * @param log : the error log\r\n * @param title : dialog title\r\n * @param okCaption : ok button caption\r\n * @param width: the preferred width\r\n * @param dismissAfter: if specified, the dialog will be closed after dismissAfter milliseconds \r\n */\r\n error(\r\n message: string,\r\n log: string | null = null,\r\n title: string = 'Errore',\r\n okCaption: string = 'Ok',\r\n width: number = 500,\r\n dismissAfter: number | null = null\r\n ): MatDialogRef<InfoDialogComponent> {\r\n this.clearBusy();\r\n if (this.errorDialogRef) {\r\n // Just change current error\r\n this.errorDialogRef.componentInstance.setData( {\r\n message: message,\r\n title: title,\r\n details: log,\r\n okCaption: okCaption,\r\n dismissAfter: dismissAfter\r\n });\r\n return this.errorDialogRef;\r\n }\r\n this.errorDialogRef = this.open(InfoDialogComponent, {\r\n ariaLabel: 'errore',\r\n autoFocus: true,\r\n restoreFocus: false,\r\n data: {\r\n message: message,\r\n title: title,\r\n details: log,\r\n okCaption: okCaption,\r\n dismissAfter: dismissAfter,\r\n appearance: 'fill'\r\n } as InfoDialogData,\r\n closeOnNavigation: false,\r\n minWidth: '375px',\r\n maxWidth: width + 'px',\r\n width: '99%'\r\n });\r\n return this.errorDialogRef;\r\n }\r\n\r\n /**\r\n * Display toast\r\n * @param message : message to display\r\n * @param duration : duration in msec\r\n * @param icon : the mat-icon to display\r\n * @param actionCaption action button caption\r\n */\r\n toast(\r\n message: string,\r\n duration: number = 2000,\r\n icon: string = 'check',\r\n actionCaption: string | null = null\r\n ): MatSnackBarRef<ToastComponent> {\r\n this.clearBusy();\r\n if (duration === -1) duration = 2000; // default\r\n let toastRef = this.snackBar.openFromComponent(ToastComponent, {\r\n duration: duration,\r\n data: {\r\n message: message,\r\n icon: icon,\r\n actionCaption: actionCaption\r\n } as ToastData\r\n });\r\n toastRef.instance.action.subscribe(() => {\r\n toastRef.dismiss();\r\n });\r\n return toastRef;\r\n }\r\n\r\n /**\r\n * Display a confirm dialog\r\n * @param message : html message\r\n * @param title : dialog title\r\n * @param okCaption : ok button caption\r\n * @param cancelCaption : cancel button caption\r\n * @param otherCaption : other button caption\r\n * @param options: check box options\r\n * @param width: the preferred width\r\n */\r\n confirm(\r\n message: string,\r\n title: string = 'Conferma',\r\n okCaption: string = 'Si',\r\n cancelCaption: string = 'No',\r\n otherCaption: string | null = null,\r\n options: ConfirmDialogOption[] | null = null,\r\n width: number = 500,\r\n details: string | null = null\r\n ) {\r\n return this.open(ConfirmDialogComponent, {\r\n ariaLabel: 'conferma',\r\n autoFocus: true,\r\n restoreFocus: false,\r\n data: {\r\n message: message,\r\n title: title,\r\n okCaption: okCaption,\r\n cancelCaption: cancelCaption,\r\n otherCaption: otherCaption,\r\n options: options,\r\n details: details,\r\n appearance: 'fill'\r\n } as ConfirmDialogData,\r\n closeOnNavigation: false,\r\n disableClose: true, \r\n minWidth: '375px',\r\n maxWidth: width + 'px',\r\n width: '99%'\r\n });\r\n }\r\n \r\n}\r\n\r\n","import { NgModule } from \"@angular/core\";\r\nimport { ArsCoreModule } from '@arsedizioni/ars-utils/core';\r\n\r\n@NgModule({\r\n imports: [\r\n ArsCoreModule\r\n ]\r\n})\r\nexport class ArsUIModule {}\r\n\r\nexport * from \"./definitions\";\r\nexport * from \"./paginatorIntl\";\r\nexport * from \"./services/dialog.service\";\r\nexport * from \"./services/ui.service\";\r\n\r\n","import { Component, Output, EventEmitter, OnInit, inject } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialogTitle, MatDialogContent, MatDialogActions, MatDialogClose } from \"@angular/material/dialog\";\r\nimport { CredentialsDialogResult } from \"../../definitions\";\r\nimport { SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { SafeHtmlPipe } from \"@arsedizioni/ars-utils/core\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { FlexModule } from \"@ngbracket/ngx-layout/flex\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { FormsModule } from \"@angular/forms\";\r\n\r\nexport interface CredentialsDialogData {\r\n title?: string | null;\r\n message?: string | null;\r\n remember?: boolean | null;\r\n recoverPassword?: boolean | null;\r\n recoverPasswordUrl?: string | null;\r\n user?: string | null;\r\n okCaption?: string | null;\r\n mode?: number | null;\r\n appearance?: string | null;\r\n}\r\n\r\n@Component({\r\n host: { 'Bind': SystemUtils.generateUUID() },\r\n templateUrl: \"./credentials-dialog.component.html\",\r\n styleUrls: [\"./credentials-dialog.component.scss\"],\r\n standalone: true,\r\n imports: [\r\n MatDialogTitle,\r\n MatDialogContent,\r\n FormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatCheckboxModule,\r\n MatDialogActions,\r\n FlexModule,\r\n MatButtonModule,\r\n MatDialogClose,\r\n SafeHtmlPipe,\r\n ],\r\n})\r\nexport class CredentialsDialogComponent implements OnInit {\r\n @Output() done = new EventEmitter<CredentialsDialogResult>();\r\n @Output() recoveringPassword = new EventEmitter<any>();\r\n protected dialogData: CredentialsDialogData = inject(MAT_DIALOG_DATA) || { mode: 1, appearance: 'fill', title: 'Credenziali', okCaption: 'Salva' };\r\n protected item: CredentialsDialogResult = {\r\n user: null,\r\n password: null,\r\n rememberMe: null,\r\n };\r\n\r\n ngOnInit(): void {\r\n if (this.dialogData) {\r\n if (!this.dialogData.appearance) {\r\n this.dialogData.appearance = 'fill';\r\n }\r\n if (!this.dialogData.title) {\r\n this.dialogData.title = \"Informazioni\";\r\n }\r\n if (!this.dialogData.okCaption) {\r\n this.dialogData.okCaption = \"Salva\";\r\n }\r\n if (!this.dialogData.mode) {\r\n this.dialogData.mode = 1;\r\n }\r\n if (!this.dialogData.user) {\r\n this.item.user = this.dialogData.user;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Done\r\n */\r\n protected ok() {\r\n this.done.emit(this.item);\r\n }\r\n\r\n /**\r\n * Recover password\r\n */\r\n protected recoverPassword() {\r\n this.recoveringPassword.emit();\r\n if (this.dialogData.recoverPasswordUrl) {\r\n window.open(this.dialogData.recoverPasswordUrl, '_blank');\r\n }\r\n\r\n }\r\n}\r\n","<div class=\"dialog-info\">\r\n @if (f.form.invalid) {\r\n <span class=\"dialog-info-error\">Ci sono ancora dei campi obbligatori (*) non compilati.</span>\r\n } @else {\r\n <span class=\"dialog-info-ok\">Tutti i campi obbligatori (*) sono compilati.</span>\r\n }\r\n</div>\r\n<h2 mat-dialog-title>{{dialogData.title}}</h2>\r\n<mat-dialog-content>\r\n @if (dialogData.message) {\r\n <div [innerHtml]=\"dialogData.message | safeHtml\" style=\"padding-bottom: 20px;\"></div>\r\n }\r\n <form name=\"form\" #f=\"ngForm\" novalidate>\r\n @if (dialogData.mode === 1) {\r\n <mat-form-field style=\"width: 100%;\" [appearance]=\"dialogData.appearance\">\r\n <mat-label>Email</mat-label>\r\n <input type=\"email\" matInput [(ngModel)]=\"item.user\" name=\"email\" #email=\"ngModel\" email required\r\n [attr.aria-label]=\"'Email'\">\r\n @if (email.invalid) {\r\n <mat-error>Email non valida.</mat-error>\r\n }\r\n </mat-form-field>\r\n }\r\n @if (dialogData.mode === 2) {\r\n <mat-form-field style=\"width: 100%;\" [appearance]=\"dialogData.appearance\">\r\n <mat-label>Utente</mat-label>\r\n <input matInput [(ngModel)]=\"item.user\" name=\"user\" #user=\"ngModel\" required [attr.aria-label]=\"'user'\">\r\n @if (user.invalid) {\r\n <mat-error>Obbligatorio.</mat-error>\r\n }\r\n </mat-form-field>\r\n }\r\n <mat-form-field style=\"width: 100%;\" [appearance]=\"dialogData.appearance\">\r\n <mat-label>La tua password abilitata</mat-label>\r\n <input matInput name=\"password\" #password=\"ngModel\" type=\"password\" [(ngModel)]=\"item.password\" required\r\n [attr.aria-label]=\"'La tua password abilitata'\" autocomplete=\"on\">\r\n <mat-hint>Attento a maiuscole e minuscole</mat-hint>\r\n @if (password.invalid) {\r\n <mat-error>Password non valida.</mat-error>\r\n }\r\n </mat-form-field>\r\n @if (dialogData.remember || dialogData.recoverPassword) {\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxFill style=\"margin-top: 20px;\">\r\n <div >\r\n @if (dialogData.remember) {\r\n <mat-checkbox fxFlexAlign=\"center\" [(ngModel)]=\"item.rememberMe\" name=\"rememberMe\"> Ricordami</mat-checkbox>\r\n }\r\n </div>\r\n <div fxLayoutAlign=\"end\">\r\n @if (dialogData.recoverPassword) {\r\n <button fxFlexAlign=\"center\" mat-button (click)=\"recoverPassword()\" \r\n title=\"Recupero password\" color=\"primary\">Non riesco ad accedere</button>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </form>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-flat-button color=\"primary\" [disabled]=\"f.form.invalid\" \r\n (click)=\"ok()\">{{dialogData.okCaption}}</button>\r\n <button mat-stroked-button [mat-dialog-close]=\"true\" color=\"primary\">Annulla</button>\r\n </div>\r\n</mat-dialog-actions>","import { ChangeDetectionStrategy, Component, EventEmitter, Output, inject } from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MAT_DIALOG_DATA, MatDialogActions, MatDialogClose, MatDialogContent, MatDialogTitle } from \"@angular/material/dialog\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { FlexModule } from \"@ngbracket/ngx-layout/flex\";\r\nimport { RecoverPasswordDialogResult } from '../../definitions';\r\n\r\nexport interface RecoverPasswordDialogData {\r\n appearance?: string | null;\r\n}\r\n\r\n@Component({\r\n host: { 'Bind': SystemUtils.generateUUID() },\r\n templateUrl: \"./recover-password-dialog.component.html\",\r\n styleUrls: [\"./recover-password-dialog.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [ \r\n MatDialogTitle,\r\n MatDialogContent,\r\n FormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n MatDialogActions,\r\n FlexModule,\r\n MatDialogClose,\r\n ],\r\n})\r\nexport class RecoverPasswordDialogComponent {\r\n\r\n @Output() done = new EventEmitter<RecoverPasswordDialogResult>();\r\n\r\n protected dialogData : RecoverPasswordDialogData = inject(MAT_DIALOG_DATA) || { appearance: 'fill' }; \r\n \r\n protected item: RecoverPasswordDialogResult = {\r\n email: \"\",\r\n recaptcha: false\r\n };\r\n\r\n /**\r\n * Done\r\n */\r\n protected ok() {\r\n this.done.emit(this.item);\r\n }\r\n}\r\n","<div class=\"dialog-info\">\r\n @if (f.form.invalid) {\r\n <span class=\"dialog-info-error\">Ci sono ancora dei campi obbligatori (*) non compilati.</span>\r\n } @else {\r\n <span class=\"dialog-info-ok\">Tutti i campi obbligatori (*) sono compilati.</span>\r\n }\r\n</div>\r\n<h2 mat-dialog-title>Per quale ragione non sei in grado di effettuare l'accesso?</h2>\r\n<mat-dialog-content>\r\n\r\n <b>1. Ho dimenticato la password</b>\r\n <p>\r\n Puoi recuperarla facilmente inserendo l'email a cui la password è collegata. Non è possibile recuperare password\r\n aziendali (non collegate ad un email).</p>\r\n <form name=\"form\" #f=\"ngForm\" (keyup.Enter)=\"!f.form.invalid ? ok() : null\" novalidate>\r\n\r\n <mat-form-field style=\"width:100%\" [appearance]=\"dialogData.appearance\">\r\n <mat-label>Email con cui ti sei registrato</mat-label>\r\n <input type=\"email\" matInput name=\"email\" #email=\"ngModel\" [(ngModel)]=\"item.email\" required email\r\n maxlength=\"200\" />\r\n @if (email.invalid) {\r\n <mat-error>Email non valida.</mat-error>\r\n }\r\n </mat-form-field>\r\n\r\n <div style=\"margin-top:20px; margin-bottom:20px;\">\r\n <button type=\"button\" mat-flat-button (click)=\"ok()\" color=\"primary\" [disabled]=\"f.form.invalid\"\r\n aria-label=\"Recupera password\">Recupera password</button>\r\n </div>\r\n </form>\r\n <p></p>\r\n <b>2. Il sistema mi dice che la password non è corretta.</b>\r\n <p>\r\n E' molto probabile che ci sia stato un difetto di digitazione. Per favore controlla bene che non vi siano spazi non\r\n richiesti e che la password rispetti perfettamente le maiuscole e minuscole. Nel caso in cui la digitazione fosse\r\n corretta, verifica che la data del tuo abbonamento non sia scaduta.\r\n </p>\r\n <p></p>\r\n <b>3. Il sistema mi dice che non può accettare connessioni dal mio indirizzo IP</b>\r\n <p>\r\n Il tuo abbonamento è stato vincolato ad un indirizzo IP (indirizzo dal quale ti colleghi). Capita sovente che\r\n questi indirizzi siano cambiati da parte del reparto IT per questioni di sicurezza informatica.\r\n Per risolvere il problema, contattate il reparto IT e fatevi dire qual'è il nuovo indirizzo IP e comunicatelo ad\r\n ARS Edizioni Informatiche.\r\n </p>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-stroked-button [mat-dialog-close]=\"true\" color=\"primary\">Chiudi</button>\r\n </div>\r\n</mat-dialog-actions>","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n OnInit,\r\n Output,\r\n inject\r\n} from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MAT_DIALOG_DATA, MatDialogActions, MatDialogClose, MatDialogContent, MatDialogRef, MatDialogTitle } from \"@angular/material/dialog\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { EqualsValidatorDirective, PasswordValidatorDirective, SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { FlexModule } from \"@ngbracket/ngx-layout/flex\";\r\nimport { ResetPasswordDialogResult } from '../../definitions';\r\nimport { DialogService } from '../../services/dialog.service';\r\n\r\nexport interface ResetPasswordDialogData {\r\n mode: number;\r\n userId?: number | null;\r\n userEmail?: string | null;\r\n appearance?: string | null;\r\n}\r\n\r\n@Component({\r\n host: { 'Bind': SystemUtils.generateUUID() },\r\n templateUrl: \"./reset-password-dialog.component.html\",\r\n styleUrls: [\"./reset-password-dialog.component.scss\"],\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [ \r\n MatDialogTitle,\r\n MatDialogContent,\r\n FormsModule,\r\n FlexModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n PasswordValidatorDirective,\r\n EqualsValidatorDirective,\r\n MatDialogActions,\r\n MatButtonModule,\r\n MatDialogClose,\r\n ],\r\n})\r\nexport class ResetPasswordDialogComponent implements OnInit {\r\n @Output() done = new EventEmitter<ResetPasswordDialogResult>();\r\n\r\n private dialogService = inject(DialogService);\r\n private dialogRef = inject(MatDialogRef<ResetPasswordDialogComponent>);\r\n protected dialogData : ResetPasswordDialogData = inject(MAT_DIALOG_DATA) || { mode: 1, appearance: 'fill' }; \r\n protected item: ResetPasswordDialogResult = {\r\n userId: null,\r\n userEmail: null,\r\n oldPassword: null,\r\n password: null,\r\n password2: null\r\n };\r\n\r\n ngOnInit() {\r\n if (this.dialogData) {\r\n if (!this.dialogData.mode) {\r\n this.dialogData.mode = 1;\r\n }\r\n if (this.dialogData.mode <= 2 && !this.dialogData.userId) {\r\n this.dialogRef.close();\r\n this.dialogService.error(\"Utente non specificato.\");\r\n return;\r\n } else if (this.dialogData.mode === 3 && !this.dialogData.userEmail) {\r\n this.dialogRef.close();\r\n this.dialogService.error(\"Email utente non specificata.\");\r\n return;\r\n }\r\n this.item.userEmail = this.dialogData.userEmail;\r\n this.item.userId = this.dialogData.userId;\r\n } else {\r\n this.dialogService.error(\"Modalità non riconosciuta.\");\r\n this.dialogRef.close();\r\n return;\r\n }\r\n }\r\n\r\n /**\r\n * Done\r\n */\r\n protected ok() {\r\n this.done.emit(this.item);\r\n }\r\n\r\n /**\r\n * Generate a password\r\n */\r\n protected generatePassword() {\r\n let password = SystemUtils.generatePassword();\r\n this.item.password = password;\r\n this.item.password2 = password;\r\n }\r\n}\r\n\r\n\r\n","<div class=\"dialog-info\">\r\n @if (f.form.invalid) {\r\n <span class=\"dialog-info-error\">Ci sono ancora dei campi obbligatori (*) non compilati.</span>\r\n } @else {\r\n <span class=\"dialog-info-ok\">Tutti i campi obbligatori (*) sono compilati.</span>\r\n }\r\n</div>\r\n<h2 mat-dialog-title>Reimposta password</h2>\r\n<mat-dialog-content>\r\n <form name=\"form\" #f=\"ngForm\" novalidate>\r\n <div fxLayout=\"column\">\r\n @if (dialogData.mode === 3) {\r\n <mat-form-field style=\"width: 100%;\" [appearance]=\"dialogData.appearance\">\r\n <mat-label>Email che hai scelto quando ti sei registrato</mat-label>\r\n <input type=\"email\" matInput [(ngModel)]=\"item.userEmail\" name=\"userEmail\" #userEmail=\"ngModel\" email required\r\n [attr.aria-label]=\"'Email con cui ti sei registrato'\">\r\n @if (userEmail.invalid) {\r\n <mat-error>Email non valida.</mat-error>\r\n }\r\n </mat-form-field>\r\n }\r\n @if (dialogData.mode > 1) {\r\n <mat-form-field style=\"width: 100%;\" [appearance]=\"dialogData.appearance\">\r\n <mat-label>Vecchia password</mat-label>\r\n <input type=\"password\" matInput name=\"oldPwd\" autocomplete=\"on\" [(ngModel)]=\"item.oldPassword\"\r\n [required]=\"dialogData.mode > 1\" maxlength=\"30\" #oldPwd=\"ngModel\">\r\n @if (oldPwd.invalid) {\r\n <mat-error>Non valido.</mat-error>\r\n }\r\n </mat-form-field>\r\n }\r\n <mat-form-field style=\"width: 100%; \" hintLabel=\"Minimo 8 car. con 1 simbolo e 1 maiuscola\"\r\n [appearance]=\"dialogData.appearance\">\r\n <mat-label>Nuova password</mat-label>\r\n <input type=\"password\" matInput name=\"newPwd\" [(ngModel)]=\"item.password\" required password minlength=\"8\"\r\n maxlength=\"30\" #newPwd=\"ngModel\">\r\n <mat-hint align=\"end\">{{newPwd.value?.length || 0}}/30</mat-hint>\r\n @if (newPwd.invalid) {\r\n <mat-error>Non valido.</mat-error>\r\n }\r\n </mat-form-field>\r\n <mat-form-field style=\"width: 100%;\" hintLabel=\"Minimo 8 car. con 1 simbolo e 1 maiuscola\"\r\n [appearance]=\"dialogData.appearance\">\r\n <mat-label>Conferma nuova password</mat-label>\r\n <input type=\"password\" matInput name=\"newPwd2\" [(ngModel)]=\"item.password2\" [required]=\"dialogData.mode > 1\"\r\n password minlength=\"8\" maxlength=\"30\" [equals]=\"newPwd\" #newPwd2=\"ngModel\">\r\n <mat-hint align=\"end\">{{newPwd2.value?.length || 0}}/30</mat-hint>\r\n @if (newPwd2.invalid) {\r\n <mat-error>Non valido.</mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n </form>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"30\">\r\n @if (dialogData.mode === 1) {\r\n <button mat-stroked-button color=\"primary\" (click)=\"generatePassword()\">Genera</button>\r\n }\r\n </div>\r\n <div fxFlex=\"70\" fxLayoutAlign=\"end\">\r\n <button mat-flat-button color=\"primary\" [disabled]=\"f.form.invalid\" (click)=\"ok()\">Salva</button>\r\n @if (dialogData.mode !== 3) {\r\n <button mat-stroked-button [mat-dialog-close]=\"true\" color=\"primary\">Annulla</button>\r\n }\r\n </div>\r\n </div>\r\n</mat-dialog-actions>","/*\r\n * Public API Surface of ars-utils\r\n */\r\nexport * from './ui/ui.module';\r\nexport * from './ui/dialogs/busy/busy-dialog.component';\r\nexport * from './ui/dialogs/credentials/credentials-dialog.component';\r\nexport * from './ui/dialogs/confirm/confirm-dialog.component';\r\nexport * from './ui/dialogs/info/info-dialog.component';\r\nexport * from './ui/dialogs/recover-password/recover-password-dialog.component';\r\nexport * from './ui/dialogs/reset-password/reset-password-dialog.component';\r\nexport * from './ui/dialogs/toast/toast.component';\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2","i1","i3","i4","i5","i6"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arsedizioni/ars-utils",
3
- "version": "18.4.24",
3
+ "version": "18.4.25",
4
4
  "author": {
5
5
  "email": "software@arsedizioni.it",
6
6
  "name": "Fabio Buscaroli, Alberto Doria"
@@ -34,7 +34,7 @@ export declare class FileInputComponent implements OnDestroy, AfterViewInit, DoC
34
34
  minSizeMb: import("@angular/core").InputSignal<number>;
35
35
  isNew: import("@angular/core").InputSignal<boolean>;
36
36
  canPreview: import("@angular/core").InputSignal<boolean>;
37
- appearance: import("@angular/core").InputSignal<"outline" | "fill">;
37
+ appearance: import("@angular/core").InputSignal<"fill" | "outline">;
38
38
  accept: import("@angular/core").InputSignal<string>;
39
39
  get empty(): boolean;
40
40
  get errorState(): boolean;
@@ -23,7 +23,7 @@ export declare class FilterBarComponent implements OnInit {
23
23
  text2Length: import("@angular/core").InputSignal<string>;
24
24
  text3Length: import("@angular/core").InputSignal<string>;
25
25
  showTextSearchButton: import("@angular/core").InputSignal<boolean>;
26
- appearance: import("@angular/core").InputSignal<"outline" | "fill">;
26
+ appearance: import("@angular/core").InputSignal<"fill" | "outline">;
27
27
  protected text: string | null;
28
28
  protected text2: string | null;
29
29
  protected text3: string | null;