@muziehdesign/components 18.3.0-beta.2385 → 19.2.0-beta.2377

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/esm2022/lib/alert/alert.component.mjs +46 -0
  2. package/esm2022/lib/button.directive.mjs +86 -0
  3. package/esm2022/lib/components.module.mjs +130 -0
  4. package/esm2022/lib/date-display/date-display-config.mjs +12 -0
  5. package/esm2022/lib/date-display/date-display.pipe.mjs +35 -0
  6. package/esm2022/lib/date-display/date.pipe.mjs +41 -0
  7. package/esm2022/lib/date-time/date-time.component.mjs +139 -0
  8. package/esm2022/lib/date-time/time-value.mjs +2 -0
  9. package/esm2022/lib/dialog/container/drawer-container.component.mjs +57 -0
  10. package/esm2022/lib/dialog/dialog-config.mjs +50 -0
  11. package/esm2022/lib/dialog/dialog-injectors.mjs +5 -0
  12. package/esm2022/lib/dialog/dialog-ref.mjs +57 -0
  13. package/esm2022/lib/dialog/dialog.module.mjs +25 -0
  14. package/esm2022/lib/dialog/mz-dialog.service.mjs +108 -0
  15. package/esm2022/lib/dropdown/dropdown-item.directive.mjs +28 -0
  16. package/esm2022/lib/dropdown/dropdown.component.mjs +27 -0
  17. package/esm2022/lib/dropdown/dropdown.module.mjs +17 -0
  18. package/esm2022/lib/enum-display/enum-display.pipe.mjs +48 -0
  19. package/esm2022/lib/filter/filter-option.model.mjs +2 -0
  20. package/esm2022/lib/filter/filter.component.mjs +42 -0
  21. package/esm2022/lib/guard-deactivate.mjs +14 -0
  22. package/esm2022/lib/infinite-scroll/infinite-scroll.component.mjs +45 -0
  23. package/esm2022/lib/inline-edit/inline-edit.component.mjs +65 -0
  24. package/esm2022/lib/models/loading-state.mjs +2 -0
  25. package/esm2022/lib/models/page-event.mjs +2 -0
  26. package/esm2022/lib/models/result-table-options.mjs +2 -0
  27. package/esm2022/lib/models/sort-event.mjs +2 -0
  28. package/esm2022/lib/models/subject.mjs +2 -0
  29. package/esm2022/lib/models/wizard-step-link.mjs +2 -0
  30. package/esm2022/lib/options-filter/options-filter.component.mjs +66 -0
  31. package/esm2022/lib/page-header/page-header.component.mjs +27 -0
  32. package/esm2022/lib/page-loading-indicator/page-loading-indicator.component.mjs +32 -0
  33. package/esm2022/lib/pagination/pagination-default-options.mjs +2 -0
  34. package/esm2022/lib/pagination/pagination-default-options.token.mjs +3 -0
  35. package/esm2022/lib/pagination/pagination.component.mjs +90 -0
  36. package/esm2022/lib/phone-number/phone-number.pipe.mjs +24 -0
  37. package/esm2022/lib/result-table/result-table.component.mjs +65 -0
  38. package/esm2022/lib/result-table/result-table.model.mjs +2 -0
  39. package/esm2022/lib/sort-key.directive.mjs +91 -0
  40. package/esm2022/lib/sort.directive.mjs +34 -0
  41. package/esm2022/lib/spinner/spinner.component.mjs +21 -0
  42. package/esm2022/lib/subject-display/subject-display.pipe.mjs +20 -0
  43. package/esm2022/lib/svg-icon/svg-icon-config.mjs +10 -0
  44. package/esm2022/lib/svg-icon/svg-icon.component.mjs +39 -0
  45. package/esm2022/lib/testing/muzieh-component-harness.mjs +3 -0
  46. package/esm2022/lib/testing/result-table-harness.mjs +66 -0
  47. package/esm2022/lib/time-value-accessor.directive.mjs +57 -0
  48. package/esm2022/lib/time-value-validator.directive.mjs +37 -0
  49. package/esm2022/lib/wizard-progress-tracker/wizard-progress-tracker.component.mjs +32 -0
  50. package/esm2022/muziehdesign-components.mjs +5 -0
  51. package/esm2022/public-api.mjs +53 -0
  52. package/fesm2022/muziehdesign-components.mjs +108 -108
  53. package/fesm2022/muziehdesign-components.mjs.map +1 -1
  54. package/lib/dialog/dialog-injectors.d.ts +1 -1
  55. package/package.json +6 -4
@@ -0,0 +1,46 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input } from '@angular/core';
3
+ import { SvgIconComponent } from '../svg-icon/svg-icon.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class AlertComponent {
7
+ constructor() {
8
+ this.title = '';
9
+ this.type = 'info';
10
+ }
11
+ ngOnInit() { }
12
+ getAlertClass() {
13
+ return `alert-${this.type}`;
14
+ }
15
+ getAlertIcon() {
16
+ let icon = '';
17
+ if (this.type === 'info') {
18
+ icon = 'information-circle';
19
+ }
20
+ else if (this.type === 'success') {
21
+ icon = 'check-circle';
22
+ }
23
+ else if (this.type === 'error') {
24
+ icon = 'x-circle';
25
+ }
26
+ else if (this.type === 'warning') {
27
+ icon = 'exclamation';
28
+ }
29
+ return icon;
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: AlertComponent, isStandalone: true, selector: "mz-alert", inputs: { title: "title", type: "type", body: "body", footer: "footer" }, ngImport: i0, template: "<div [className]=\"'alert alert-' + type\">\n\n <div>\n <div class=\"alert-icon\">\n <mz-svg-icon [key]=\"getAlertIcon()\" type=\"solid\"></mz-svg-icon>\n </div>\n\n <div class=\"alert-title\">\n <strong>{{ title }}</strong>\n </div>\n </div>\n\n <div class=\"alert-body\" *ngIf=\"body\">\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n </div>\n\n <div class=\"alert-footer\" *ngIf=\"footer\">\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SvgIconComponent, selector: "mz-svg-icon", inputs: ["key", "type", "size"] }] }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AlertComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'mz-alert', imports: [CommonModule, SvgIconComponent], standalone: true, template: "<div [className]=\"'alert alert-' + type\">\n\n <div>\n <div class=\"alert-icon\">\n <mz-svg-icon [key]=\"getAlertIcon()\" type=\"solid\"></mz-svg-icon>\n </div>\n\n <div class=\"alert-title\">\n <strong>{{ title }}</strong>\n </div>\n </div>\n\n <div class=\"alert-body\" *ngIf=\"body\">\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n </div>\n\n <div class=\"alert-footer\" *ngIf=\"footer\">\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n\n</div>" }]
37
+ }], ctorParameters: () => [], propDecorators: { title: [{
38
+ type: Input
39
+ }], type: [{
40
+ type: Input
41
+ }], body: [{
42
+ type: Input
43
+ }], footer: [{
44
+ type: Input
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9hbGVydC9hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQVNsRSxNQUFNLE9BQU8sY0FBYztJQU12QjtRQUxTLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsU0FBSSxHQUE2QyxNQUFNLENBQUM7SUFJbEQsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQztJQUVuQixhQUFhO1FBQ1QsT0FBTyxTQUFTLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNkLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUN2QixJQUFJLEdBQUcsb0JBQW9CLENBQUM7UUFDaEMsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxJQUFJLEdBQUcsY0FBYyxDQUFDO1FBQzFCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDL0IsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUN0QixDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLElBQUksR0FBRyxhQUFhLENBQUM7UUFDekIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OEdBMUJRLGNBQWM7a0dBQWQsY0FBYyw4SUNYM0IsMGdCQW9CTSx5RERaUSxZQUFZLDBTQUFFLGdCQUFnQjs7MkZBRy9CLGNBQWM7a0JBUDFCLFNBQVM7K0JBQ0ksVUFBVSxXQUdYLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDLGNBQzdCLElBQUk7d0RBR1AsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN2Z0ljb25Db21wb25lbnQgfSBmcm9tICcuLi9zdmctaWNvbi9zdmctaWNvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ216LWFsZXJ0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2FsZXJ0LmNvbXBvbmVudC5jc3MnXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTdmdJY29uQ29tcG9uZW50XSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBBbGVydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIHR5cGU6ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAnd2FybmluZycgPSAnaW5mbyc7XG4gICAgQElucHV0KCkgYm9keTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCB8IG51bGw7XG4gICAgQElucHV0KCkgZm9vdGVyOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkIHwgbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge31cblxuICAgIGdldEFsZXJ0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGBhbGVydC0ke3RoaXMudHlwZX1gO1xuICAgIH1cblxuICAgIGdldEFsZXJ0SWNvbigpOiBzdHJpbmcge1xuICAgICAgICBsZXQgaWNvbiA9ICcnO1xuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnaW5mbycpIHtcbiAgICAgICAgICAgIGljb24gPSAnaW5mb3JtYXRpb24tY2lyY2xlJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdzdWNjZXNzJykge1xuICAgICAgICAgICAgaWNvbiA9ICdjaGVjay1jaXJjbGUnO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ2Vycm9yJykge1xuICAgICAgICAgICAgaWNvbiA9ICd4LWNpcmNsZSc7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnd2FybmluZycpIHtcbiAgICAgICAgICAgIGljb24gPSAnZXhjbGFtYXRpb24nO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpY29uO1xuICAgIH1cbn1cbiIsIjxkaXYgW2NsYXNzTmFtZV09XCInYWxlcnQgYWxlcnQtJyArIHR5cGVcIj5cblxuICA8ZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJhbGVydC1pY29uXCI+XG4gICAgICA8bXotc3ZnLWljb24gW2tleV09XCJnZXRBbGVydEljb24oKVwiIHR5cGU9XCJzb2xpZFwiPjwvbXotc3ZnLWljb24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYWxlcnQtdGl0bGVcIj5cbiAgICAgIDxzdHJvbmc+e3sgdGl0bGUgfX08L3N0cm9uZz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImFsZXJ0LWJvZHlcIiAqbmdJZj1cImJvZHlcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYm9keVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiYWxlcnQtZm9vdGVyXCIgKm5nSWY9XCJmb290ZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG48L2Rpdj4iXX0=
@@ -0,0 +1,86 @@
1
+ import { Directive, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core';
2
+ import { fromEvent, Subscription } from 'rxjs';
3
+ import { filter } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ export class ButtonDirective {
6
+ constructor(renderer, hostElement) {
7
+ this.renderer = renderer;
8
+ this.hostElement = hostElement;
9
+ this.variant = 'secondary';
10
+ this.busy = false;
11
+ this.svgContent = `
12
+ <svg class="button-loading-spinner" xmlns="http://www.w3.org/2000/svg" fill="none"
13
+ viewBox="0 0 24 24">
14
+ <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4">
15
+ </circle>
16
+ <path class="opacity-75" fill="currentColor"
17
+ d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z">
18
+ </path>
19
+ </svg>
20
+ `;
21
+ this.subscription = new Subscription();
22
+ }
23
+ ngOnChanges(changes) {
24
+ if (changes['busy'] && Boolean(changes['busy'].previousValue) !== Boolean(changes['busy'].currentValue)) {
25
+ this.attachOrDeattachSpinner();
26
+ }
27
+ }
28
+ ngOnDestroy() {
29
+ this.subscription?.unsubscribe();
30
+ }
31
+ get elementClass() {
32
+ return ['button', `button-${this.variant}`, this.busy ? 'loading' : ''].join(' ');
33
+ }
34
+ attachOrDeattachSpinner() {
35
+ if (this.busy) {
36
+ const loadingElement = this.renderer.createElement('span');
37
+ loadingElement.innerHTML = this.svgContent;
38
+ this.renderer.addClass(loadingElement, 'button-loading-overlay');
39
+ this.renderer.appendChild(this.hostElement.nativeElement, loadingElement);
40
+ this.addEventSubscription();
41
+ }
42
+ else {
43
+ this.renderer.removeChild(this.hostElement.nativeElement, this.getOverlayDiv());
44
+ this.subscription?.unsubscribe();
45
+ }
46
+ }
47
+ addEventSubscription() {
48
+ const el = this.hostElement.nativeElement;
49
+ this.subscription = fromEvent(el.parentNode, 'click', { capture: true })
50
+ .pipe(filter((e) => Boolean(this.busy && this.getElementsToVerify().includes(e.target))))
51
+ .subscribe((e) => {
52
+ e.stopPropagation();
53
+ });
54
+ }
55
+ getChildElement(query) {
56
+ return this.hostElement.nativeElement.querySelector(query);
57
+ }
58
+ getElementsToVerify() {
59
+ return [this.hostElement.nativeElement, this.getOverlayDiv(), this.getChildElement('.button-loading-overlay'), this.getChildElement('.button-loading-overlay svg'), this.getChildElement('.button-loading-overlay svg circle'), this.getChildElement('.button-loading-overlay svg path')];
60
+ }
61
+ getOverlayDiv() {
62
+ return this.getChildElement('.button-loading-overlay');
63
+ }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ButtonDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
65
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: ButtonDirective, isStandalone: true, selector: "[mzButton]", inputs: { variant: "variant", busy: "busy" }, host: { attributes: { "role": "button" }, properties: { "attr.tabindex": "0", "attr.aria-disabled": "busy", "class": "this.elementClass" } }, usesOnChanges: true, ngImport: i0 }); }
66
+ }
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ButtonDirective, decorators: [{
68
+ type: Directive,
69
+ args: [{
70
+ selector: '[mzButton]',
71
+ standalone: true,
72
+ host: {
73
+ role: 'button',
74
+ '[attr.tabindex]': '0',
75
+ '[attr.aria-disabled]': 'busy',
76
+ },
77
+ }]
78
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { variant: [{
79
+ type: Input
80
+ }], busy: [{
81
+ type: Input
82
+ }], elementClass: [{
83
+ type: HostBinding,
84
+ args: ['class']
85
+ }] } });
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXdCLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQVd4QyxNQUFNLE9BQU8sZUFBZTtJQWlCeEIsWUFBb0IsUUFBbUIsRUFBVSxXQUF1QjtRQUFwRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFmeEUsWUFBTyxHQUFJLFdBQVcsQ0FBQztRQUV2QixTQUFJLEdBQWEsS0FBSyxDQUFDO1FBQ2YsZUFBVSxHQUFHOzs7Ozs7Ozs7S0FTcEIsQ0FBQztRQUNNLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVpQyxDQUFDO0lBRTVFLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUN0RyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUNJLFlBQVk7UUFDWixPQUFPLENBQUMsUUFBUSxFQUFFLFVBQVUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCx1QkFBdUI7UUFDbkIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDWixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzRCxjQUFjLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLHdCQUF3QixDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDMUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDaEMsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUNoRixJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3JDLENBQUM7SUFDTCxDQUFDO0lBRU8sb0JBQW9CO1FBQ3hCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBQzFDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO2FBQ25FLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzdGLFNBQVMsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO1lBQ2xCLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTyxlQUFlLENBQUMsS0FBYTtRQUNqQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU8sbUJBQW1CO1FBQ3ZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsNkJBQTZCLENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLG9DQUFvQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUM7SUFDOVIsQ0FBQztJQUVPLGFBQWE7UUFDakIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDM0QsQ0FBQzs4R0FsRVEsZUFBZTtrR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQVQzQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxZQUFZO29CQUN0QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLElBQUksRUFBRSxRQUFRO3dCQUNkLGlCQUFpQixFQUFFLEdBQUc7d0JBQ3RCLHNCQUFzQixFQUFFLE1BQU07cUJBQ2pDO2lCQUNKO3VHQUdHLE9BQU87c0JBRE4sS0FBSztnQkFHTixJQUFJO3NCQURILEtBQUs7Z0JBMkJGLFlBQVk7c0JBRGYsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW216QnV0dG9uXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdidXR0b24nLFxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJzAnLFxuICAgICAgICAnW2F0dHIuYXJpYS1kaXNhYmxlZF0nOiAnYnVzeScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpXG4gICAgdmFyaWFudD8gPSAnc2Vjb25kYXJ5JztcbiAgICBASW5wdXQoKVxuICAgIGJ1c3k/OiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBzdmdDb250ZW50ID0gYFxuICAgIDxzdmcgY2xhc3M9XCJidXR0b24tbG9hZGluZy1zcGlubmVyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgICAgICA8Y2lyY2xlIGNsYXNzPVwib3BhY2l0eS0yNVwiIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiNFwiPlxuICAgICAgICA8L2NpcmNsZT5cbiAgICAgICAgPHBhdGggY2xhc3M9XCJvcGFjaXR5LTc1XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICBkPVwiTTQgMTJhOCA4IDAgMDE4LThWMEM1LjM3MyAwIDAgNS4zNzMgMCAxMmg0em0yIDUuMjkxQTcuOTYyIDcuOTYyIDAgMDE0IDEySDBjMCAzLjA0MiAxLjEzNSA1LjgyNCAzIDcuOTM4bDMtMi42NDd6XCI+XG4gICAgICAgIDwvcGF0aD5cbiAgICA8L3N2Zz5cbiAgICBgO1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmKSB7fVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlc1snYnVzeSddICYmIEJvb2xlYW4oY2hhbmdlc1snYnVzeSddLnByZXZpb3VzVmFsdWUpICE9PSBCb29sZWFuKGNoYW5nZXNbJ2J1c3knXS5jdXJyZW50VmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLmF0dGFjaE9yRGVhdHRhY2hTcGlubmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGVsZW1lbnRDbGFzcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gWydidXR0b24nLCBgYnV0dG9uLSR7dGhpcy52YXJpYW50fWAsIHRoaXMuYnVzeSA/ICdsb2FkaW5nJyA6ICcnXS5qb2luKCcgJyk7XG4gICAgfVxuXG4gICAgYXR0YWNoT3JEZWF0dGFjaFNwaW5uZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmJ1c3kpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvYWRpbmdFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgICAgICBsb2FkaW5nRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLnN2Z0NvbnRlbnQ7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGxvYWRpbmdFbGVtZW50LCAnYnV0dG9uLWxvYWRpbmctb3ZlcmxheScpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGxvYWRpbmdFbGVtZW50KTtcbiAgICAgICAgICAgIHRoaXMuYWRkRXZlbnRTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCB0aGlzLmdldE92ZXJsYXlEaXYoKSk7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYWRkRXZlbnRTdWJzY3JpcHRpb24oKSB7XG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IGZyb21FdmVudChlbC5wYXJlbnROb2RlLCAnY2xpY2snLCB7IGNhcHR1cmU6IHRydWUgfSlcbiAgICAgICAgICAgIC5waXBlKGZpbHRlcigoZTogYW55KSA9PiBCb29sZWFuKHRoaXMuYnVzeSAmJiB0aGlzLmdldEVsZW1lbnRzVG9WZXJpZnkoKS5pbmNsdWRlcyhlLnRhcmdldCkpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENoaWxkRWxlbWVudChxdWVyeTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihxdWVyeSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFbGVtZW50c1RvVmVyaWZ5KCkge1xuICAgICAgICByZXR1cm4gW3RoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5nZXRPdmVybGF5RGl2KCksIHRoaXMuZ2V0Q2hpbGRFbGVtZW50KCcuYnV0dG9uLWxvYWRpbmctb3ZlcmxheScpLCB0aGlzLmdldENoaWxkRWxlbWVudCgnLmJ1dHRvbi1sb2FkaW5nLW92ZXJsYXkgc3ZnJyksIHRoaXMuZ2V0Q2hpbGRFbGVtZW50KCcuYnV0dG9uLWxvYWRpbmctb3ZlcmxheSBzdmcgY2lyY2xlJyksIHRoaXMuZ2V0Q2hpbGRFbGVtZW50KCcuYnV0dG9uLWxvYWRpbmctb3ZlcmxheSBzdmcgcGF0aCcpXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE92ZXJsYXlEaXYoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENoaWxkRWxlbWVudCgnLmJ1dHRvbi1sb2FkaW5nLW92ZXJsYXknKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,130 @@
1
+ import { CommonModule, DatePipe } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { SpinnerComponent } from './spinner/spinner.component';
4
+ import { EnumDisplayPipe } from './enum-display/enum-display.pipe';
5
+ import { SvgIconComponent } from './svg-icon/svg-icon.component';
6
+ import { ResultTableComponent } from './result-table/result-table.component';
7
+ import { PaginationComponent } from './pagination/pagination.component';
8
+ import { PageLoadingIndicatorComponent } from './page-loading-indicator/page-loading-indicator.component';
9
+ import { PageHeaderComponent } from './page-header/page-header.component';
10
+ import { TimeValueAccessorDirective } from './time-value-accessor.directive';
11
+ import { FormsModule } from '@angular/forms';
12
+ import { AlertComponent } from './alert/alert.component';
13
+ import { PhoneNumberPipe } from './phone-number/phone-number.pipe';
14
+ import { DateDisplayPipe } from './date-display/date-display.pipe';
15
+ import { SortDirective } from './sort.directive';
16
+ import { SortKeyDirective } from './sort-key.directive';
17
+ import { SubjectDisplayPipe } from './subject-display/subject-display.pipe';
18
+ import { ButtonDirective } from './button.directive';
19
+ import { WizardProgressTrackerComponent } from './wizard-progress-tracker/wizard-progress-tracker.component';
20
+ import { DateTimeComponent } from './date-time/date-time.component';
21
+ import { TimeValueValidatorDirective } from './time-value-validator.directive';
22
+ import { InfiniteScrollComponent } from './infinite-scroll/infinite-scroll.component';
23
+ import * as i0 from "@angular/core";
24
+ export class MuziehComponentsModule {
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MuziehComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: MuziehComponentsModule, imports: [CommonModule,
27
+ FormsModule,
28
+ ButtonDirective,
29
+ SvgIconComponent,
30
+ SpinnerComponent,
31
+ WizardProgressTrackerComponent,
32
+ AlertComponent,
33
+ EnumDisplayPipe,
34
+ ResultTableComponent,
35
+ InfiniteScrollComponent,
36
+ PaginationComponent,
37
+ PageLoadingIndicatorComponent,
38
+ PageHeaderComponent,
39
+ TimeValueAccessorDirective,
40
+ DateDisplayPipe,
41
+ PhoneNumberPipe,
42
+ SortKeyDirective,
43
+ SortDirective,
44
+ SubjectDisplayPipe,
45
+ DateTimeComponent,
46
+ TimeValueValidatorDirective], exports: [EnumDisplayPipe,
47
+ SpinnerComponent,
48
+ SvgIconComponent,
49
+ ResultTableComponent,
50
+ InfiniteScrollComponent,
51
+ PaginationComponent,
52
+ PageLoadingIndicatorComponent,
53
+ PageHeaderComponent,
54
+ TimeValueAccessorDirective,
55
+ DateDisplayPipe,
56
+ AlertComponent,
57
+ PhoneNumberPipe,
58
+ SortKeyDirective,
59
+ SortDirective,
60
+ SubjectDisplayPipe,
61
+ ButtonDirective,
62
+ WizardProgressTrackerComponent,
63
+ DateTimeComponent,
64
+ TimeValueValidatorDirective] }); }
65
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MuziehComponentsModule, providers: [
66
+ DatePipe,
67
+ ], imports: [CommonModule,
68
+ FormsModule,
69
+ SpinnerComponent,
70
+ WizardProgressTrackerComponent,
71
+ AlertComponent,
72
+ ResultTableComponent,
73
+ InfiniteScrollComponent,
74
+ PaginationComponent,
75
+ PageLoadingIndicatorComponent,
76
+ DateTimeComponent] }); }
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MuziehComponentsModule, decorators: [{
79
+ type: NgModule,
80
+ args: [{
81
+ imports: [
82
+ CommonModule,
83
+ FormsModule,
84
+ ButtonDirective,
85
+ SvgIconComponent,
86
+ SpinnerComponent,
87
+ WizardProgressTrackerComponent,
88
+ AlertComponent,
89
+ EnumDisplayPipe,
90
+ ResultTableComponent,
91
+ InfiniteScrollComponent,
92
+ PaginationComponent,
93
+ PageLoadingIndicatorComponent,
94
+ PageHeaderComponent,
95
+ TimeValueAccessorDirective,
96
+ DateDisplayPipe,
97
+ PhoneNumberPipe,
98
+ SortKeyDirective,
99
+ SortDirective,
100
+ SubjectDisplayPipe,
101
+ DateTimeComponent,
102
+ TimeValueValidatorDirective,
103
+ ],
104
+ exports: [
105
+ EnumDisplayPipe,
106
+ SpinnerComponent,
107
+ SvgIconComponent,
108
+ ResultTableComponent,
109
+ InfiniteScrollComponent,
110
+ PaginationComponent,
111
+ PageLoadingIndicatorComponent,
112
+ PageHeaderComponent,
113
+ TimeValueAccessorDirective,
114
+ DateDisplayPipe,
115
+ AlertComponent,
116
+ PhoneNumberPipe,
117
+ SortKeyDirective,
118
+ SortDirective,
119
+ SubjectDisplayPipe,
120
+ ButtonDirective,
121
+ WizardProgressTrackerComponent,
122
+ DateTimeComponent,
123
+ TimeValueValidatorDirective,
124
+ ],
125
+ providers: [
126
+ DatePipe,
127
+ ]
128
+ }]
129
+ }] });
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFtRHRGLE1BQU0sT0FBTyxzQkFBc0I7OEdBQXRCLHNCQUFzQjsrR0FBdEIsc0JBQXNCLFlBL0MvQixZQUFZO1lBQ1osV0FBVztZQUNYLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLDhCQUE4QjtZQUM5QixjQUFjO1lBQ2QsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQix1QkFBdUI7WUFDdkIsbUJBQW1CO1lBQ25CLDZCQUE2QjtZQUM3QixtQkFBbUI7WUFDbkIsMEJBQTBCO1lBQzFCLGVBQWU7WUFDZixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixrQkFBa0I7WUFDbEIsaUJBQWlCO1lBQ2pCLDJCQUEyQixhQUczQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsdUJBQXVCO1lBQ3ZCLG1CQUFtQjtZQUNuQiw2QkFBNkI7WUFDN0IsbUJBQW1CO1lBQ25CLDBCQUEwQjtZQUMxQixlQUFlO1lBQ2YsY0FBYztZQUNkLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsOEJBQThCO1lBQzlCLGlCQUFpQjtZQUNqQiwyQkFBMkI7K0dBTWxCLHNCQUFzQixhQUp0QjtZQUNULFFBQVE7U0FDVCxZQTdDQyxZQUFZO1lBQ1osV0FBVztZQUdYLGdCQUFnQjtZQUNoQiw4QkFBOEI7WUFDOUIsY0FBYztZQUVkLG9CQUFvQjtZQUNwQix1QkFBdUI7WUFDdkIsbUJBQW1CO1lBQ25CLDZCQUE2QjtZQVE3QixpQkFBaUI7OzJGQTRCUixzQkFBc0I7a0JBakRsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsOEJBQThCO3dCQUM5QixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIsNkJBQTZCO3dCQUM3QixtQkFBbUI7d0JBQ25CLDBCQUEwQjt3QkFDMUIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIsNkJBQTZCO3dCQUM3QixtQkFBbUI7d0JBQ25CLDBCQUEwQjt3QkFDMUIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZiw4QkFBOEI7d0JBQzlCLGlCQUFpQjt3QkFDakIsMkJBQTJCO3FCQUM1QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsUUFBUTtxQkFDVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW51bURpc3BsYXlQaXBlIH0gZnJvbSAnLi9lbnVtLWRpc3BsYXkvZW51bS1kaXNwbGF5LnBpcGUnO1xuaW1wb3J0IHsgU3ZnSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vc3ZnLWljb24vc3ZnLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IFJlc3VsdFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9yZXN1bHQtdGFibGUvcmVzdWx0LXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFBhZ2VMb2FkaW5nSW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlLWxvYWRpbmctaW5kaWNhdG9yL3BhZ2UtbG9hZGluZy1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFBhZ2VIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaW1lVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSB9IGZyb20gJy4vdGltZS12YWx1ZS1hY2Nlc3Nvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBbGVydENvbXBvbmVudCB9IGZyb20gJy4vYWxlcnQvYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IFBob25lTnVtYmVyUGlwZSB9IGZyb20gJy4vcGhvbmUtbnVtYmVyL3Bob25lLW51bWJlci5waXBlJztcbmltcG9ydCB7IERhdGVEaXNwbGF5UGlwZSB9IGZyb20gJy4vZGF0ZS1kaXNwbGF5L2RhdGUtZGlzcGxheS5waXBlJztcbmltcG9ydCB7IFNvcnREaXJlY3RpdmUgfSBmcm9tICcuL3NvcnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNvcnRLZXlEaXJlY3RpdmUgfSBmcm9tICcuL3NvcnQta2V5LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdWJqZWN0RGlzcGxheVBpcGUgfSBmcm9tICcuL3N1YmplY3QtZGlzcGxheS9zdWJqZWN0LWRpc3BsYXkucGlwZSc7XG5pbXBvcnQgeyBCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2J1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgV2l6YXJkUHJvZ3Jlc3NUcmFja2VyQ29tcG9uZW50IH0gZnJvbSAnLi93aXphcmQtcHJvZ3Jlc3MtdHJhY2tlci93aXphcmQtcHJvZ3Jlc3MtdHJhY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVRpbWVDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtdGltZS9kYXRlLXRpbWUuY29tcG9uZW50JztcbmltcG9ydCB7IFRpbWVWYWx1ZVZhbGlkYXRvckRpcmVjdGl2ZSB9IGZyb20gJy4vdGltZS12YWx1ZS12YWxpZGF0b3IuZGlyZWN0aXZlJztcbmltcG9ydCB7IEluZmluaXRlU2Nyb2xsQ29tcG9uZW50IH0gZnJvbSAnLi9pbmZpbml0ZS1zY3JvbGwvaW5maW5pdGUtc2Nyb2xsLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQnV0dG9uRGlyZWN0aXZlLFxuICAgIFN2Z0ljb25Db21wb25lbnQsXG4gICAgU3Bpbm5lckNvbXBvbmVudCxcbiAgICBXaXphcmRQcm9ncmVzc1RyYWNrZXJDb21wb25lbnQsXG4gICAgQWxlcnRDb21wb25lbnQsXG4gICAgRW51bURpc3BsYXlQaXBlLFxuICAgIFJlc3VsdFRhYmxlQ29tcG9uZW50LFxuICAgIEluZmluaXRlU2Nyb2xsQ29tcG9uZW50LFxuICAgIFBhZ2luYXRpb25Db21wb25lbnQsXG4gICAgUGFnZUxvYWRpbmdJbmRpY2F0b3JDb21wb25lbnQsXG4gICAgUGFnZUhlYWRlckNvbXBvbmVudCxcbiAgICBUaW1lVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSxcbiAgICBEYXRlRGlzcGxheVBpcGUsXG4gICAgUGhvbmVOdW1iZXJQaXBlLFxuICAgIFNvcnRLZXlEaXJlY3RpdmUsXG4gICAgU29ydERpcmVjdGl2ZSxcbiAgICBTdWJqZWN0RGlzcGxheVBpcGUsXG4gICAgRGF0ZVRpbWVDb21wb25lbnQsXG4gICAgVGltZVZhbHVlVmFsaWRhdG9yRGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRW51bURpc3BsYXlQaXBlLFxuICAgIFNwaW5uZXJDb21wb25lbnQsXG4gICAgU3ZnSWNvbkNvbXBvbmVudCxcbiAgICBSZXN1bHRUYWJsZUNvbXBvbmVudCxcbiAgICBJbmZpbml0ZVNjcm9sbENvbXBvbmVudCxcbiAgICBQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIFBhZ2VMb2FkaW5nSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIFBhZ2VIZWFkZXJDb21wb25lbnQsXG4gICAgVGltZVZhbHVlQWNjZXNzb3JEaXJlY3RpdmUsXG4gICAgRGF0ZURpc3BsYXlQaXBlLFxuICAgIEFsZXJ0Q29tcG9uZW50LFxuICAgIFBob25lTnVtYmVyUGlwZSxcbiAgICBTb3J0S2V5RGlyZWN0aXZlLFxuICAgIFNvcnREaXJlY3RpdmUsXG4gICAgU3ViamVjdERpc3BsYXlQaXBlLFxuICAgIEJ1dHRvbkRpcmVjdGl2ZSxcbiAgICBXaXphcmRQcm9ncmVzc1RyYWNrZXJDb21wb25lbnQsXG4gICAgRGF0ZVRpbWVDb21wb25lbnQsXG4gICAgVGltZVZhbHVlVmFsaWRhdG9yRGlyZWN0aXZlLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBEYXRlUGlwZSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBNdXppZWhDb21wb25lbnRzTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,12 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ export const DATE_PIPE_CONFIG_OPTIONS = Object.freeze({
3
+ formats: new Map([
4
+ ['short', 'MM/dd/yyyy hh:mm a'],
5
+ ['medium', 'MMM d y h:mm:ss a'],
6
+ ['shortDate', 'MM/dd/yyyy'],
7
+ ['mediumDate', 'MMM d y']
8
+ ]),
9
+ dateFormat: 'MM/dd/yyyy hh:mm a'
10
+ });
11
+ export const MZ_DATE_PIPE_DEFAULT_OPTIONS = new InjectionToken('MzDateDisplayDefaultOptions');
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1kaXNwbGF5LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kYXRlLWRpc3BsYXkvZGF0ZS1kaXNwbGF5LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDbEQsT0FBTyxFQUFFLElBQUksR0FBRyxDQUFpQjtRQUM3QixDQUFDLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQztRQUMvQixDQUFDLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQztRQUMvQixDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUM7UUFDM0IsQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDO0tBQzVCLENBQUM7SUFDRixVQUFVLEVBQUUsb0JBQW9CO0NBQ1IsQ0FBQyxDQUFDO0FBTTlCLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLElBQUksY0FBYyxDQUFtQiw2QkFBNkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGVDb25maWcgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcblxuZXhwb3J0IGNvbnN0IERBVEVfUElQRV9DT05GSUdfT1BUSU9OUyA9IE9iamVjdC5mcmVlemUoe1xuICAgIGZvcm1hdHM6IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcbiAgICAgICAgWydzaG9ydCcsICdNTS9kZC95eXl5IGhoOm1tIGEnXSxcbiAgICAgICAgWydtZWRpdW0nLCAnTU1NIGQgeSBoOm1tOnNzIGEnXSxcbiAgICAgICAgWydzaG9ydERhdGUnLCAnTU0vZGQveXl5eSddLFxuICAgICAgICBbJ21lZGl1bURhdGUnLCAnTU1NIGQgeSddXG4gICAgXSksXG4gICAgZGF0ZUZvcm1hdDogJ01NL2RkL3l5eXkgaGg6bW0gYSdcbn0gc2F0aXNmaWVzIE16RGF0ZVBpcGVDb25maWcpO1xuXG5leHBvcnQgaW50ZXJmYWNlIE16RGF0ZVBpcGVDb25maWcgZXh0ZW5kcyBEYXRlUGlwZUNvbmZpZyB7XG4gICAgZm9ybWF0czogTWFwPHN0cmluZywgc3RyaW5nPlxufVxuXG5leHBvcnQgY29uc3QgTVpfREFURV9QSVBFX0RFRkFVTFRfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNekRhdGVQaXBlQ29uZmlnPignTXpEYXRlRGlzcGxheURlZmF1bHRPcHRpb25zJyk7Il19
@@ -0,0 +1,35 @@
1
+ import { DatePipe } from '@angular/common';
2
+ import { Pipe } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ /**
6
+ * @deprecated use mzDate instead
7
+ */
8
+ export class DateDisplayPipe {
9
+ constructor(datePipe) {
10
+ this.datePipe = datePipe;
11
+ }
12
+ transform(value, format) {
13
+ let redefinedDate;
14
+ if (format === 'concise') {
15
+ redefinedDate = this.datePipe.transform(value, 'MM/dd/yyyy');
16
+ }
17
+ else if (format === 'detailed') {
18
+ redefinedDate = this.datePipe.transform(value, 'MM/dd/yyyy h:mm:ss a');
19
+ }
20
+ else {
21
+ redefinedDate = this.datePipe.transform(value, 'MM/dd/yyyy');
22
+ }
23
+ return redefinedDate;
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: DateDisplayPipe, deps: [{ token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Pipe }); }
26
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: DateDisplayPipe, isStandalone: true, name: "mzDateDisplay" }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: DateDisplayPipe, decorators: [{
29
+ type: Pipe,
30
+ args: [{
31
+ name: 'mzDateDisplay',
32
+ standalone: true,
33
+ }]
34
+ }], ctorParameters: () => [{ type: i1.DatePipe }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1kaXNwbGF5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGF0ZS1kaXNwbGF5L2RhdGUtZGlzcGxheS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBRXBEOztHQUVHO0FBS0gsTUFBTSxPQUFPLGVBQWU7SUFDeEIsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFMUMsU0FBUyxDQUFDLEtBQW9CLEVBQUUsTUFBZTtRQUMzQyxJQUFJLGFBQWEsQ0FBQztRQUNsQixJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN2QixhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2pFLENBQUM7YUFBTSxJQUFHLE1BQU0sS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUM5QixhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFDM0UsQ0FBQzthQUFNLENBQUM7WUFDTixhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDOzhHQWJRLGVBQWU7NEdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsZUFBZTtvQkFDckIsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBtekRhdGUgaW5zdGVhZFxuICovXG5AUGlwZSh7XG4gICAgbmFtZTogJ216RGF0ZURpc3BsYXknLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERhdGVEaXNwbGF5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlKSB7fVxuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBEYXRlIHwgc3RyaW5nLCBmb3JtYXQ/OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgbGV0IHJlZGVmaW5lZERhdGU7XG4gICAgICAgIGlmIChmb3JtYXQgPT09ICdjb25jaXNlJykge1xuICAgICAgICAgICAgcmVkZWZpbmVkRGF0ZSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHZhbHVlLCAnTU0vZGQveXl5eScpO1xuICAgICAgICB9IGVsc2UgaWYoZm9ybWF0ID09PSAnZGV0YWlsZWQnKSB7XG4gICAgICAgICAgICByZWRlZmluZWREYXRlID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsICdNTS9kZC95eXl5IGg6bW06c3MgYScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlZGVmaW5lZERhdGUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgJ01NL2RkL3l5eXknKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVkZWZpbmVkRGF0ZTtcbiAgICB9XG59Il19
@@ -0,0 +1,41 @@
1
+ import { DatePipe } from '@angular/common';
2
+ import { Inject, LOCALE_ID, Optional, Pipe } from '@angular/core';
3
+ import { DATE_PIPE_CONFIG_OPTIONS, MZ_DATE_PIPE_DEFAULT_OPTIONS } from './date-display-config';
4
+ import * as i0 from "@angular/core";
5
+ export class MzDatePipe extends DatePipe {
6
+ constructor(locale, defaultMzOptions) {
7
+ const o = defaultMzOptions || DATE_PIPE_CONFIG_OPTIONS;
8
+ super(locale, null, o);
9
+ this.options = o;
10
+ }
11
+ transform(value, format, timezone, locale) {
12
+ let translatedFormat = format;
13
+ let translatedTimezone = timezone;
14
+ if (format) {
15
+ translatedFormat = this.options.formats.get(format) || format;
16
+ }
17
+ if (timezone === 'original' && typeof value === 'string') {
18
+ const match = value.match(/([+-]\d{2}:\d{2})$/);
19
+ translatedTimezone = match ? match[1] : '+00:00';
20
+ }
21
+ return super.transform(value, translatedFormat, translatedTimezone, locale);
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MzDatePipe, deps: [{ token: LOCALE_ID }, { token: MZ_DATE_PIPE_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
24
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: MzDatePipe, isStandalone: true, name: "mzDate" }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MzDatePipe, decorators: [{
27
+ type: Pipe,
28
+ args: [{
29
+ name: 'mzDate',
30
+ standalone: true,
31
+ }]
32
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
33
+ type: Inject,
34
+ args: [LOCALE_ID]
35
+ }] }, { type: undefined, decorators: [{
36
+ type: Optional
37
+ }, {
38
+ type: Inject,
39
+ args: [MZ_DATE_PIPE_DEFAULT_OPTIONS]
40
+ }] }] });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2RhdGUtZGlzcGxheS9kYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLDRCQUE0QixFQUFvQixNQUFNLHVCQUF1QixDQUFDOztBQU1qSCxNQUFNLE9BQU8sVUFBVyxTQUFRLFFBQVE7SUFFcEMsWUFBK0IsTUFBYyxFQUFvRCxnQkFBMEM7UUFDdkksTUFBTSxDQUFDLEdBQUcsZ0JBQWdCLElBQUksd0JBQXdCLENBQUM7UUFDdkQsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUlRLFNBQVMsQ0FBQyxLQUFnRCxFQUFFLE1BQWUsRUFBRSxRQUFpQixFQUFFLE1BQWU7UUFDcEgsSUFBSSxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7UUFDOUIsSUFBSSxrQkFBa0IsR0FBRyxRQUFRLENBQUM7UUFFbEMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUM7UUFDbEUsQ0FBQztRQUNELElBQUcsUUFBUSxLQUFLLFVBQVUsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN4RCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDaEQsa0JBQWtCLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUNuRCxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoRixDQUFDOzhHQXZCUSxVQUFVLGtCQUVDLFNBQVMsYUFBc0MsNEJBQTRCOzRHQUZ0RixVQUFVOzsyRkFBVixVQUFVO2tCQUp0QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxRQUFRO29CQUNkLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBR2dCLE1BQU07MkJBQUMsU0FBUzs7MEJBQW1CLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBMT0NBTEVfSUQsIE9wdGlvbmFsLCBQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEQVRFX1BJUEVfQ09ORklHX09QVElPTlMsIE1aX0RBVEVfUElQRV9ERUZBVUxUX09QVElPTlMsIE16RGF0ZVBpcGVDb25maWcgfSBmcm9tICcuL2RhdGUtZGlzcGxheS1jb25maWcnO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ216RGF0ZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTXpEYXRlUGlwZSBleHRlbmRzIERhdGVQaXBlIHtcbiAgICBwcml2YXRlIG9wdGlvbnM6IE16RGF0ZVBpcGVDb25maWc7XG4gICAgY29uc3RydWN0b3IoQEluamVjdChMT0NBTEVfSUQpIGxvY2FsZTogc3RyaW5nLCBAT3B0aW9uYWwoKSBASW5qZWN0KE1aX0RBVEVfUElQRV9ERUZBVUxUX09QVElPTlMpIGRlZmF1bHRNek9wdGlvbnM/OiBNekRhdGVQaXBlQ29uZmlnIHwgbnVsbCkge1xuICAgICAgICBjb25zdCBvID0gZGVmYXVsdE16T3B0aW9ucyB8fCBEQVRFX1BJUEVfQ09ORklHX09QVElPTlM7XG4gICAgICAgIHN1cGVyKGxvY2FsZSwgbnVsbCwgbyk7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG87XG4gICAgfVxuICAgIG92ZXJyaWRlIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSwgZm9ybWF0Pzogc3RyaW5nIHwgdW5kZWZpbmVkLCB0aW1lem9uZT86IHN0cmluZyB8IHVuZGVmaW5lZCwgbG9jYWxlPzogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgbnVsbDtcbiAgICBvdmVycmlkZSB0cmFuc2Zvcm0odmFsdWU6IG51bGwgfCB1bmRlZmluZWQsIGZvcm1hdD86IHN0cmluZyB8IHVuZGVmaW5lZCwgdGltZXpvbmU/OiBzdHJpbmcgfCB1bmRlZmluZWQsIGxvY2FsZT86IHN0cmluZyB8IHVuZGVmaW5lZCk6IG51bGw7XG4gICAgb3ZlcnJpZGUgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlIHwgbnVsbCB8IHVuZGVmaW5lZCwgZm9ybWF0Pzogc3RyaW5nIHwgdW5kZWZpbmVkLCB0aW1lem9uZT86IHN0cmluZyB8IHVuZGVmaW5lZCwgbG9jYWxlPzogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgbnVsbDtcbiAgICBvdmVycmlkZSB0cmFuc2Zvcm0odmFsdWU6IERhdGUgfCBzdHJpbmcgfCBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkLCBmb3JtYXQ/OiBzdHJpbmcsIHRpbWV6b25lPzogc3RyaW5nLCBsb2NhbGU/OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgbGV0IHRyYW5zbGF0ZWRGb3JtYXQgPSBmb3JtYXQ7XG4gICAgICAgIGxldCB0cmFuc2xhdGVkVGltZXpvbmUgPSB0aW1lem9uZTtcblxuICAgICAgICBpZiAoZm9ybWF0KSB7XG4gICAgICAgICAgICB0cmFuc2xhdGVkRm9ybWF0ID0gdGhpcy5vcHRpb25zLmZvcm1hdHMuZ2V0KGZvcm1hdCkgfHwgZm9ybWF0O1xuICAgICAgICB9XG4gICAgICAgIGlmKHRpbWV6b25lID09PSAnb3JpZ2luYWwnICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBjb25zdCBtYXRjaCA9IHZhbHVlLm1hdGNoKC8oWystXVxcZHsyfTpcXGR7Mn0pJC8pO1xuICAgICAgICAgIHRyYW5zbGF0ZWRUaW1lem9uZSA9IG1hdGNoID8gbWF0Y2hbMV0gOiAnKzAwOjAwJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdXBlci50cmFuc2Zvcm0odmFsdWUsIHRyYW5zbGF0ZWRGb3JtYXQsIHRyYW5zbGF0ZWRUaW1lem9uZSwgbG9jYWxlKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,139 @@
1
+ import { ChangeDetectorRef, Component, forwardRef, Input, ViewChild } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { MatDatepickerModule } from '@angular/material/datepicker';
4
+ import { MatDatepicker } from '@angular/material/datepicker';
5
+ import { CommonModule } from '@angular/common';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/material/datepicker";
8
+ export class DateTimeComponent {
9
+ constructor(_cd) {
10
+ this._cd = _cd;
11
+ this.lz = (n) => ('0' + n).slice(-2);
12
+ this.formatDate = (dt) => `${dt.getMonth() + 1}/${dt.getDate()}/${dt.getFullYear()}`;
13
+ this.formatTime = (t) => `${this.lz(t.getHours())}:${this.lz(t.getMinutes())}`;
14
+ this.formatDateTime = (dt, t) => `${this.formatDate(dt)} ${t}`;
15
+ this.limitDate = (dt) => {
16
+ if (this.min) {
17
+ dt = new Date(Math.max(dt.getTime(), this.min.getTime()));
18
+ }
19
+ if (this.max) {
20
+ dt = new Date(Math.min(dt.getTime(), this.max.getTime()));
21
+ }
22
+ return dt;
23
+ };
24
+ this.onTimeHourPending = false;
25
+ this.type = 'outline';
26
+ this.disabled = false;
27
+ this.onChange = (_) => { };
28
+ this.onTouched = () => { };
29
+ }
30
+ writeValue(value) {
31
+ if (value) {
32
+ const dt = new Date(value);
33
+ this.date = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());
34
+ this.time = this.formatTime(value);
35
+ }
36
+ else {
37
+ this.date = undefined;
38
+ this.time = undefined;
39
+ }
40
+ this._cd.markForCheck();
41
+ }
42
+ registerOnChange(fn) {
43
+ this.onChange = fn;
44
+ }
45
+ registerOnTouched(fn) {
46
+ this.onTouched = fn;
47
+ }
48
+ updateDate(e) {
49
+ const input = e.target;
50
+ let dt = new Date(input.value);
51
+ if (!isNaN(dt.getTime())) {
52
+ dt = this.limitDate(dt);
53
+ this.date = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());
54
+ if (this.time === undefined || this.time === '') {
55
+ this.time = this.formatTime(new Date());
56
+ }
57
+ }
58
+ else {
59
+ this.date = undefined;
60
+ this.time = undefined;
61
+ }
62
+ this.propagateModelChange();
63
+ this._cd.markForCheck();
64
+ }
65
+ updateTime(e) {
66
+ const input = e.target;
67
+ // this is just a listener event in case the end user types in "0". We wait for
68
+ // the next entered value for the time input field to self fix the problem.
69
+ if (!this.onTimeHourPending && !input.value) {
70
+ this.onTimeHourPending = true;
71
+ return;
72
+ }
73
+ this.onTimeHourPending = false;
74
+ if (!input.value) {
75
+ this.date = undefined;
76
+ }
77
+ else if (!this.date || isNaN(this.date.getTime())) {
78
+ const dt = this.limitDate(this.min ?? new Date());
79
+ this.date = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());
80
+ }
81
+ this.time = input.value;
82
+ this.propagateModelChange();
83
+ }
84
+ updateDateEvent(event) {
85
+ if (event.value) {
86
+ const dt = this.limitDate(new Date(event.value));
87
+ this.date = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());
88
+ if (this.time === undefined || this.time === '') {
89
+ this.time = this.formatTime(new Date());
90
+ }
91
+ }
92
+ else {
93
+ this.date = undefined;
94
+ this.time = undefined;
95
+ }
96
+ this.propagateModelChange();
97
+ this._cd.markForCheck();
98
+ }
99
+ focusOnDateInput() {
100
+ this.datepicker.open();
101
+ }
102
+ propagateModelChange() {
103
+ if (this.time && this.date) {
104
+ const dateString = this.formatDateTime(this.date, this.time);
105
+ this.onChange(new Date(dateString));
106
+ }
107
+ else {
108
+ this.onChange(undefined);
109
+ }
110
+ }
111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: DateTimeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
112
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: DateTimeComponent, isStandalone: true, selector: "mz-datetime", inputs: { min: "min", max: "max", disabled: "disabled" }, providers: [
113
+ {
114
+ provide: NG_VALUE_ACCESSOR,
115
+ useExisting: forwardRef(() => DateTimeComponent),
116
+ multi: true,
117
+ },
118
+ ], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datePicker"], descendants: true }], ngImport: i0, template: "<div class=\"flex\">\n <div class=\"field-control-combo\">\n <input class=\"field-control\" type=\"text\" [value]=\"date\" (change)=\"updateDate($event)\" [min]=\"min\" [max]=\"max\"\n [matDatepicker]=\"datePicker\" (dateChange)=\"updateDateEvent($event)\" [disabled]=\"disabled\" ngDefaultControl>\n <div class=\"field-control-addon\">\n <button class=\"button button-secondary button-icon\" type=\"button\" (click)=\"datePicker.open()\"\n [disabled]=\"disabled\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"\n stroke-width=\"2\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\"\n d=\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\" />\n </svg>\n </button>\n <mat-datepicker #datePicker></mat-datepicker>\n </div>\n </div>\n <div class=\"field-control-group mt-1 ml-6\">\n <input class=\"field-control\" type=\"time\" [value]=\"time\" (change)=\"updateTime($event)\"\n ngDefaultControl [disabled]=\"disabled\">\n </div>\n</div>\n", styles: ["input:disabled,button:disabled{opacity:.6}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }] }); }
119
+ }
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: DateTimeComponent, decorators: [{
121
+ type: Component,
122
+ args: [{ selector: 'mz-datetime', providers: [
123
+ {
124
+ provide: NG_VALUE_ACCESSOR,
125
+ useExisting: forwardRef(() => DateTimeComponent),
126
+ multi: true,
127
+ },
128
+ ], imports: [CommonModule, MatDatepickerModule], standalone: true, template: "<div class=\"flex\">\n <div class=\"field-control-combo\">\n <input class=\"field-control\" type=\"text\" [value]=\"date\" (change)=\"updateDate($event)\" [min]=\"min\" [max]=\"max\"\n [matDatepicker]=\"datePicker\" (dateChange)=\"updateDateEvent($event)\" [disabled]=\"disabled\" ngDefaultControl>\n <div class=\"field-control-addon\">\n <button class=\"button button-secondary button-icon\" type=\"button\" (click)=\"datePicker.open()\"\n [disabled]=\"disabled\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"\n stroke-width=\"2\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\"\n d=\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\" />\n </svg>\n </button>\n <mat-datepicker #datePicker></mat-datepicker>\n </div>\n </div>\n <div class=\"field-control-group mt-1 ml-6\">\n <input class=\"field-control\" type=\"time\" [value]=\"time\" (change)=\"updateTime($event)\"\n ngDefaultControl [disabled]=\"disabled\">\n </div>\n</div>\n", styles: ["input:disabled,button:disabled{opacity:.6}\n"] }]
129
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { datepicker: [{
130
+ type: ViewChild,
131
+ args: ['datePicker']
132
+ }], min: [{
133
+ type: Input
134
+ }], max: [{
135
+ type: Input
136
+ }], disabled: [{
137
+ type: Input
138
+ }] } });
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kYXRlLXRpbWUvZGF0ZS10aW1lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kYXRlLXRpbWUvZGF0ZS10aW1lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBMkIsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFnQi9DLE1BQU0sT0FBTyxpQkFBaUI7SUFpQzFCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBN0JsQyxPQUFFLEdBQUcsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLGVBQVUsR0FBRyxDQUFDLEVBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztRQUN0RixlQUFVLEdBQUcsQ0FBQyxDQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMs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QztZQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDeEMsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDOzhHQXZJUSxpQkFBaUI7a0dBQWpCLGlCQUFpQixvSEFWZjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSixvSUNqQkwsaW9DQXFCQSxxR0RIYyxZQUFZLDhCQUFFLG1CQUFtQjs7MkZBR2xDLGlCQUFpQjtrQkFkN0IsU0FBUzsrQkFDSSxhQUFhLGFBR1o7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKLFdBQ1EsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUMsY0FDaEMsSUFBSTtzRkF3QlMsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUd2QixHQUFHO3NCQURGLEtBQUs7Z0JBSU4sR0FBRztzQkFERixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJJbnB1dEV2ZW50LCBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBUaW1lVmFsdWUgfSBmcm9tICcuL3RpbWUtdmFsdWUnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtei1kYXRldGltZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtdGltZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGF0ZS10aW1lLmNvbXBvbmVudC5jc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlVGltZUNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdERhdGVwaWNrZXJNb2R1bGVdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERhdGVUaW1lQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIGRhdGU6IERhdGUgfCB1bmRlZmluZWQ7XG4gICAgdGltZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgcHJpdmF0ZSBseiA9IChuOiBudW1iZXIpID0+ICgnMCcgKyBuKS5zbGljZSgtMik7XG4gICAgcHJpdmF0ZSBmb3JtYXREYXRlID0gKGR0OiBEYXRlKSA9PiBgJHtkdC5nZXRNb250aCgpICsgMX0vJHtkdC5nZXREYXRlKCl9LyR7ZHQuZ2V0RnVsbFllYXIoKX1gO1xuICAgIHByaXZhdGUgZm9ybWF0VGltZSA9ICh0OiBEYXRlKSA9PiBgJHt0aGlzLmx6KHQuZ2V0SG91cnMoKSl9OiR7dGhpcy5seih0LmdldE1pbnV0ZXMoKSl9YDtcbiAgICBwcml2YXRlIGZvcm1hdERhdGVUaW1lID0gKGR0OiBEYXRlLCB0OiBzdHJpbmcpID0+IGAke3RoaXMuZm9ybWF0RGF0ZShkdCl9ICR7dH1gO1xuICAgIHByaXZhdGUgbGltaXREYXRlID0gKGR0OiBEYXRlKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLm1pbikge1xuICAgICAgICAgICAgZHQgPSBuZXcgRGF0ZShNYXRoLm1heChkdC5nZXRUaW1lKCksIHRoaXMubWluLmdldFRpbWUoKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubWF4KSB7XG4gICAgICAgICAgICBkdCA9IG5ldyBEYXRlKE1hdGgubWluKGR0LmdldFRpbWUoKSwgdGhpcy5tYXguZ2V0VGltZSgpKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZHQ7XG4gICAgfTtcbiAgICBwcml2YXRlIG9uVGltZUhvdXJQZW5kaW5nID0gZmFsc2U7IFxuXG4gICAgdHlwZSA9ICdvdXRsaW5lJztcbiAgICBAVmlld0NoaWxkKCdkYXRlUGlja2VyJykgZGF0ZXBpY2tlciE6IE1hdERhdGVwaWNrZXI8RGF0ZT47XG5cbiAgICBASW5wdXQoKVxuICAgIG1pbj86IERhdGUgfCB1bmRlZmluZWQ7XG5cbiAgICBASW5wdXQoKVxuICAgIG1heD86IERhdGUgfCB1bmRlZmluZWQ7XG5cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuICAgIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogRGF0ZSkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGR0ID0gbmV3IERhdGUodmFsdWUpO1xuXG4gICAgICAgICAgICB0aGlzLmRhdGUgPSBuZXcgRGF0ZShkdC5nZXRGdWxsWWVhcigpLCBkdC5nZXRNb250aCgpLCBkdC5nZXREYXRlKCkpO1xuICAgICAgICAgICAgdGhpcy50aW1lID0gdGhpcy5mb3JtYXRUaW1lKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHRoaXMudGltZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICB1cGRhdGVEYXRlKGU6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcblxuICAgICAgICBsZXQgZHQgPSBuZXcgRGF0ZShpbnB1dC52YWx1ZSk7XG5cbiAgICAgICAgaWYgKCFpc05hTihkdC5nZXRUaW1lKCkpKSB7XG4gICAgICAgICAgICBkdCA9IHRoaXMubGltaXREYXRlKGR0KTtcblxuICAgICAgICAgICAgdGhpcy5kYXRlID0gbmV3IERhdGUoZHQuZ2V0RnVsbFllYXIoKSwgZHQuZ2V0TW9udGgoKSwgZHQuZ2V0RGF0ZSgpKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMudGltZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudGltZSA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWUgPSB0aGlzLmZvcm1hdFRpbWUobmV3IERhdGUoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRhdGUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB0aGlzLnRpbWUgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByb3BhZ2F0ZU1vZGVsQ2hhbmdlKCk7XG4gICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHVwZGF0ZVRpbWUoZTogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgICAgIC8vIHRoaXMgaXMganVzdCBhIGxpc3RlbmVyIGV2ZW50IGluIGNhc2UgdGhlIGVuZCB1c2VyIHR5cGVzIGluIFwiMFwiLiBXZSB3YWl0IGZvclxuICAgICAgICAvLyB0aGUgbmV4dCBlbnRlcmVkIHZhbHVlIGZvciB0aGUgdGltZSBpbnB1dCBmaWVsZCB0byBzZWxmIGZpeCB0aGUgcHJvYmxlbS5cbiAgICAgICAgaWYgKCF0aGlzLm9uVGltZUhvdXJQZW5kaW5nICYmICFpbnB1dC52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5vblRpbWVIb3VyUGVuZGluZyA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uVGltZUhvdXJQZW5kaW5nID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKCFpbnB1dC52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5kYXRlID0gdW5kZWZpbmVkO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmRhdGUgfHwgaXNOYU4odGhpcy5kYXRlLmdldFRpbWUoKSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGR0ID0gdGhpcy5saW1pdERhdGUodGhpcy5taW4gPz8gbmV3IERhdGUoKSk7XG5cbiAgICAgICAgICAgIHRoaXMuZGF0ZSA9IG5ldyBEYXRlKGR0LmdldEZ1bGxZZWFyKCksIGR0LmdldE1vbnRoKCksIGR0LmdldERhdGUoKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50aW1lID0gaW5wdXQudmFsdWU7XG5cbiAgICAgICAgdGhpcy5wcm9wYWdhdGVNb2RlbENoYW5nZSgpO1xuICAgIH1cblxuICAgIHVwZGF0ZURhdGVFdmVudChldmVudDogTWF0RGF0ZXBpY2tlcklucHV0RXZlbnQ8RGF0ZT4pIHtcbiAgICAgICAgaWYgKGV2ZW50LnZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBkdCA9IHRoaXMubGltaXREYXRlKG5ldyBEYXRlKGV2ZW50LnZhbHVlKSk7XG5cbiAgICAgICAgICAgIHRoaXMuZGF0ZSA9IG5ldyBEYXRlKGR0LmdldEZ1bGxZZWFyKCksIGR0LmdldE1vbnRoKCksIGR0LmdldERhdGUoKSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnRpbWUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnRpbWUgPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aW1lID0gdGhpcy5mb3JtYXRUaW1lKG5ldyBEYXRlKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kYXRlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGhpcy50aW1lID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcm9wYWdhdGVNb2RlbENoYW5nZSgpO1xuICAgICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBmb2N1c09uRGF0ZUlucHV0KCkge1xuICAgICAgICB0aGlzLmRhdGVwaWNrZXIub3BlbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvcGFnYXRlTW9kZWxDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRpbWUgJiYgdGhpcy5kYXRlKSB7XG4gICAgICAgICAgICBjb25zdCBkYXRlU3RyaW5nID0gdGhpcy5mb3JtYXREYXRlVGltZSh0aGlzLmRhdGUsIHRoaXMudGltZSk7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKG5ldyBEYXRlKGRhdGVTdHJpbmcpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY2hlZHVsZUlucHV0TW9kZWwge1xuICAgIHRpbWU6IFRpbWVWYWx1ZTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4XCI+XG4gIDxkaXYgY2xhc3M9XCJmaWVsZC1jb250cm9sLWNvbWJvXCI+XG4gICAgPGlucHV0IGNsYXNzPVwiZmllbGQtY29udHJvbFwiIHR5cGU9XCJ0ZXh0XCIgW3ZhbHVlXT1cImRhdGVcIiAoY2hhbmdlKT1cInVwZGF0ZURhdGUoJGV2ZW50KVwiIFttaW5dPVwibWluXCIgW21heF09XCJtYXhcIlxuICAgICAgW21hdERhdGVwaWNrZXJdPVwiZGF0ZVBpY2tlclwiIChkYXRlQ2hhbmdlKT1cInVwZGF0ZURhdGVFdmVudCgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgbmdEZWZhdWx0Q29udHJvbD5cbiAgICA8ZGl2IGNsYXNzPVwiZmllbGQtY29udHJvbC1hZGRvblwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5IGJ1dHRvbi1pY29uXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJkYXRlUGlja2VyLm9wZW4oKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBjbGFzcz1cImgtNiB3LTZcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIj5cbiAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICAgICAgZD1cIk04IDdWM204IDRWM20tOSA4aDEwTTUgMjFoMTRhMiAyIDAgMDAyLTJWN2EyIDIgMCAwMC0yLTJINWEyIDIgMCAwMC0yIDJ2MTJhMiAyIDAgMDAyIDJ6XCIgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxtYXQtZGF0ZXBpY2tlciAjZGF0ZVBpY2tlcj48L21hdC1kYXRlcGlja2VyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZpZWxkLWNvbnRyb2wtZ3JvdXAgbXQtMSBtbC02XCI+XG4gICAgPGlucHV0IGNsYXNzPVwiZmllbGQtY29udHJvbFwiIHR5cGU9XCJ0aW1lXCIgW3ZhbHVlXT1cInRpbWVcIiAoY2hhbmdlKT1cInVwZGF0ZVRpbWUoJGV2ZW50KVwiXG4gICAgICBuZ0RlZmF1bHRDb250cm9sIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS12YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kYXRlLXRpbWUvdGltZS12YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUaW1lVmFsdWUge1xuICAgIGhvdXI6IG51bWJlcjtcbiAgICBtaW51dGU6IG51bWJlcjtcbn1cbiJdfQ==