@smartbit4all/ng-client 3.1.25 → 3.1.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/session/projects.mjs +7 -9
- package/esm2020/lib/session/smart-session.module.mjs +6 -22
- package/esm2020/lib/smart-form/widgets/components/smart-month-picker/smart-month-picker.component.mjs +18 -22
- package/fesm2015/smartbit4all-ng-client.mjs +22 -396
- package/fesm2015/smartbit4all-ng-client.mjs.map +1 -1
- package/fesm2020/smartbit4all-ng-client.mjs +22 -394
- package/fesm2020/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/session/projects.d.ts +6 -8
- package/lib/session/smart-session.module.d.ts +7 -10
- package/lib/smart-form/widgets/components/smart-month-picker/smart-month-picker.component.d.ts +7 -8
- package/package.json +1 -1
- package/smartbit4all-ng-client-3.1.27.tgz +0 -0
- package/esm2020/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.component.mjs +0 -90
- package/esm2020/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.service.mjs +0 -43
- package/esm2020/lib/session/dev-tool/smart-dev-tool-floating-button/smart-dev-tool-floating-button.component.mjs +0 -40
- package/esm2020/lib/session/dev-tool/smart-dev-tool.interceptor.mjs +0 -52
- package/esm2020/lib/session/dev-tool/smart-dev-tool.service.mjs +0 -165
- package/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.component.d.ts +0 -28
- package/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.service.d.ts +0 -18
- package/lib/session/dev-tool/smart-dev-tool-floating-button/smart-dev-tool-floating-button.component.d.ts +0 -15
- package/lib/session/dev-tool/smart-dev-tool.interceptor.d.ts +0 -18
- package/lib/session/dev-tool/smart-dev-tool.service.d.ts +0 -57
- package/smartbit4all-ng-client-3.1.25.tgz +0 -0
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Public API Surface of smart-session
|
|
3
3
|
*/
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
7
|
-
export * from
|
|
8
|
-
export * from
|
|
9
|
-
export * from
|
|
10
|
-
|
|
11
|
-
export * from "./smart-timer/smart-session-timer.service";
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3Byb2plY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsb0ZBQW9GLENBQUM7QUFDbkcsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzbWFydC1zZXNzaW9uXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSBcIi4vc21hcnQtc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2FwaS9pbmRleFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9zbWFydC1zZXNzaW9uLm1vZHVsZVwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9kZXYtdG9vbC9zbWFydC1kZXYtdG9vbC1mbG9hdGluZy1idXR0b24vc21hcnQtZGV2LXRvb2wtZmxvYXRpbmctYnV0dG9uLmNvbXBvbmVudFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9kZXYtdG9vbC9zbWFydC1kZXYtdG9vbC5zZXJ2aWNlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL3NtYXJ0LXNlc3Npb24taGFuZGxlci5zZXJ2aWNlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL3NtYXJ0LXRpbWVyL3NtYXJ0LXNlc3Npb24tdGltZXIuY29tcG9uZW50XCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL3NtYXJ0LXRpbWVyL3NtYXJ0LXNlc3Npb24tdGltZXIuc2VydmljZVwiO1xyXG4iXX0=
|
|
4
|
+
export * from './smart-session.service';
|
|
5
|
+
export * from './api/index';
|
|
6
|
+
export * from './smart-session.module';
|
|
7
|
+
export * from './smart-session-handler.service';
|
|
8
|
+
export * from './smart-timer/smart-session-timer.component';
|
|
9
|
+
export * from './smart-timer/smart-session-timer.service';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3Byb2plY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDJDQUEyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHNtYXJ0LXNlc3Npb25cclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3NtYXJ0LXNlc3Npb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYXBpL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1zZXNzaW9uLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtc2Vzc2lvbi1oYW5kbGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NtYXJ0LXRpbWVyL3NtYXJ0LXNlc3Npb24tdGltZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zbWFydC10aW1lci9zbWFydC1zZXNzaW9uLXRpbWVyLnNlcnZpY2UnO1xyXG4iXX0=
|
|
@@ -4,25 +4,18 @@ import { MatButtonModule } from '@angular/material/button';
|
|
|
4
4
|
import { MatCommonModule } from '@angular/material/core';
|
|
5
5
|
import { MatExpansionModule } from '@angular/material/expansion';
|
|
6
6
|
import { BrowserModule } from '@angular/platform-browser';
|
|
7
|
+
import { SmartdialogModule } from '../smart-dialog/projects';
|
|
8
|
+
import { SmartIconModule } from '../smart-icon/projects';
|
|
7
9
|
import { SmartCookieService } from './cookie-service/smart-cookie.service';
|
|
8
|
-
import { SmartDevToolDialogComponent } from './dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.component';
|
|
9
|
-
import { SmartDevToolFloatingButtonComponent } from './dev-tool/smart-dev-tool-floating-button/smart-dev-tool-floating-button.component';
|
|
10
|
-
import { SmartDevToolInterceptor, SmartDevToolErrorInterceptor, } from './dev-tool/smart-dev-tool.interceptor';
|
|
11
|
-
import { SmartDevToolDatePipe } from './dev-tool/smart-dev-tool.service';
|
|
12
10
|
import { SmartErrorCatchingInterceptor } from './smart-error-catching.interceptor';
|
|
13
11
|
import { SmartHeaderMaintainerInterceptor } from './smart-header-maintainer.interceptor';
|
|
14
12
|
import { SmartSessionService } from './smart-session.service';
|
|
15
13
|
import { SmartSessionTimerComponent } from './smart-timer/smart-session-timer.component';
|
|
16
|
-
import { SmartIconModule } from '../smart-icon/projects';
|
|
17
|
-
import { SmartdialogModule } from '../smart-dialog/projects';
|
|
18
14
|
import * as i0 from "@angular/core";
|
|
19
15
|
export class SmartSessionModule {
|
|
20
16
|
}
|
|
21
17
|
SmartSessionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
22
|
-
SmartSessionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionModule, declarations: [
|
|
23
|
-
SmartDevToolFloatingButtonComponent,
|
|
24
|
-
SmartDevToolDatePipe,
|
|
25
|
-
SmartSessionTimerComponent], imports: [BrowserModule, MatCommonModule, MatExpansionModule, MatButtonModule, SmartIconModule], exports: [SmartDevToolFloatingButtonComponent, SmartSessionTimerComponent] });
|
|
18
|
+
SmartSessionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionModule, declarations: [SmartSessionTimerComponent], imports: [BrowserModule, MatCommonModule, MatExpansionModule, MatButtonModule, SmartIconModule], exports: [SmartSessionTimerComponent] });
|
|
26
19
|
SmartSessionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionModule, providers: [
|
|
27
20
|
SmartCookieService,
|
|
28
21
|
SmartSessionService,
|
|
@@ -37,20 +30,13 @@ SmartSessionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", vers
|
|
|
37
30
|
useClass: SmartHeaderMaintainerInterceptor,
|
|
38
31
|
multi: true,
|
|
39
32
|
},
|
|
40
|
-
{ provide: HTTP_INTERCEPTORS, useClass: SmartDevToolInterceptor, multi: true },
|
|
41
|
-
{ provide: HTTP_INTERCEPTORS, useClass: SmartDevToolErrorInterceptor, multi: true },
|
|
42
33
|
], imports: [[BrowserModule, MatCommonModule, MatExpansionModule, MatButtonModule, SmartIconModule]] });
|
|
43
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartSessionModule, decorators: [{
|
|
44
35
|
type: NgModule,
|
|
45
36
|
args: [{
|
|
46
|
-
declarations: [
|
|
47
|
-
SmartDevToolDialogComponent,
|
|
48
|
-
SmartDevToolFloatingButtonComponent,
|
|
49
|
-
SmartDevToolDatePipe,
|
|
50
|
-
SmartSessionTimerComponent,
|
|
51
|
-
],
|
|
37
|
+
declarations: [SmartSessionTimerComponent],
|
|
52
38
|
imports: [BrowserModule, MatCommonModule, MatExpansionModule, MatButtonModule, SmartIconModule],
|
|
53
|
-
exports: [
|
|
39
|
+
exports: [SmartSessionTimerComponent],
|
|
54
40
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
55
41
|
providers: [
|
|
56
42
|
SmartCookieService,
|
|
@@ -66,9 +52,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
66
52
|
useClass: SmartHeaderMaintainerInterceptor,
|
|
67
53
|
multi: true,
|
|
68
54
|
},
|
|
69
|
-
{ provide: HTTP_INTERCEPTORS, useClass: SmartDevToolInterceptor, multi: true },
|
|
70
|
-
{ provide: HTTP_INTERCEPTORS, useClass: SmartDevToolErrorInterceptor, multi: true },
|
|
71
55
|
],
|
|
72
56
|
}]
|
|
73
57
|
}] });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2Vzc2lvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3NtYXJ0LXNlc3Npb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTNFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOztBQXVCekYsTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQXBCZCwwQkFBMEIsYUFDL0IsYUFBYSxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsZUFBZSxhQUNwRiwwQkFBMEI7Z0hBa0J6QixrQkFBa0IsYUFoQmxCO1FBQ1Qsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixpQkFBaUI7UUFDakI7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFFBQVEsRUFBRSw2QkFBNkI7WUFDdkMsS0FBSyxFQUFFLElBQUk7U0FDWjtRQUNEO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixRQUFRLEVBQUUsZ0NBQWdDO1lBQzFDLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRixZQWpCUSxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQzsyRkFtQnBGLGtCQUFrQjtrQkFyQjlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQzFDLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQztvQkFDL0YsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxTQUFTLEVBQUU7d0JBQ1Qsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakI7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsUUFBUSxFQUFFLDZCQUE2Qjs0QkFDdkMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsUUFBUSxFQUFFLGdDQUFnQzs0QkFDMUMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdEV4cGFuc2lvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XHJcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgU21hcnRkaWFsb2dNb2R1bGUgfSBmcm9tICcuLi9zbWFydC1kaWFsb2cvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydEljb25Nb2R1bGUgfSBmcm9tICcuLi9zbWFydC1pY29uL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi9jb29raWUtc2VydmljZS9zbWFydC1jb29raWUuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBTbWFydEVycm9yQ2F0Y2hpbmdJbnRlcmNlcHRvciB9IGZyb20gJy4vc21hcnQtZXJyb3ItY2F0Y2hpbmcuaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBTbWFydEhlYWRlck1haW50YWluZXJJbnRlcmNlcHRvciB9IGZyb20gJy4vc21hcnQtaGVhZGVyLW1haW50YWluZXIuaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBTbWFydFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC1zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbWFydFNlc3Npb25UaW1lckNvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtdGltZXIvc21hcnQtc2Vzc2lvbi10aW1lci5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtTbWFydFNlc3Npb25UaW1lckNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW0Jyb3dzZXJNb2R1bGUsIE1hdENvbW1vbk1vZHVsZSwgTWF0RXhwYW5zaW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIFNtYXJ0SWNvbk1vZHVsZV0sXHJcbiAgZXhwb3J0czogW1NtYXJ0U2Vzc2lvblRpbWVyQ29tcG9uZW50XSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBTbWFydENvb2tpZVNlcnZpY2UsXHJcbiAgICBTbWFydFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgU21hcnRkaWFsb2dNb2R1bGUsXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxyXG4gICAgICB1c2VDbGFzczogU21hcnRFcnJvckNhdGNoaW5nSW50ZXJjZXB0b3IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXHJcbiAgICAgIHVzZUNsYXNzOiBTbWFydEhlYWRlck1haW50YWluZXJJbnRlcmNlcHRvcixcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydFNlc3Npb25Nb2R1bGUge31cclxuIl19
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from
|
|
2
|
-
import { FormControl } from
|
|
3
|
-
import { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter, } from
|
|
4
|
-
import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE
|
|
5
|
-
import moment from
|
|
6
|
-
import { SmartWidgetHintPosition
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { FormControl } from '@angular/forms';
|
|
3
|
+
import { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter, } from '@angular/material-moment-adapter';
|
|
4
|
+
import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';
|
|
5
|
+
import moment from 'moment';
|
|
6
|
+
import { SmartWidgetHintPosition } from '../../../smartform.model';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@angular/material/form-field";
|
|
9
9
|
import * as i2 from "@angular/material/datepicker";
|
|
@@ -12,13 +12,13 @@ import * as i4 from "@angular/forms";
|
|
|
12
12
|
import * as i5 from "@angular/common";
|
|
13
13
|
export const YEARH_MONTH_FORMAT = {
|
|
14
14
|
parse: {
|
|
15
|
-
dateInput:
|
|
15
|
+
dateInput: 'MM/YYYY',
|
|
16
16
|
},
|
|
17
17
|
display: {
|
|
18
|
-
dateInput:
|
|
19
|
-
monthYearLabel:
|
|
20
|
-
dateA11yLabel:
|
|
21
|
-
monthYearA11yLabel:
|
|
18
|
+
dateInput: 'MM/YYYY',
|
|
19
|
+
monthYearLabel: 'MMM YYYY',
|
|
20
|
+
dateA11yLabel: 'LL',
|
|
21
|
+
monthYearA11yLabel: 'MMMM YYYY',
|
|
22
22
|
},
|
|
23
23
|
};
|
|
24
24
|
export class SmartMonthPickerComponent {
|
|
@@ -36,14 +36,10 @@ export class SmartMonthPickerComponent {
|
|
|
36
36
|
this.date = new FormControl(moment());
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
|
|
39
|
+
chosenMonthHandler(moment, datepicker) {
|
|
40
40
|
const ctrlValue = this.date.value;
|
|
41
|
-
ctrlValue.
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
chosenMonthHandler(normalizedMonth, datepicker) {
|
|
45
|
-
const ctrlValue = this.date.value;
|
|
46
|
-
ctrlValue.month(normalizedMonth.month());
|
|
41
|
+
ctrlValue.month(moment.month());
|
|
42
|
+
ctrlValue.year(moment.year());
|
|
47
43
|
this.date.setValue(ctrlValue);
|
|
48
44
|
this.valueChange.next(ctrlValue);
|
|
49
45
|
datepicker.close();
|
|
@@ -57,20 +53,20 @@ SmartMonthPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
57
53
|
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
58
54
|
},
|
|
59
55
|
{ provide: MAT_DATE_FORMATS, useValue: YEARH_MONTH_FORMAT },
|
|
60
|
-
], ngImport: i0, template: "<div class=\"smart-month-picker-container\">\r\n <mat-form-field appearance=\"outline\">\r\n <input
|
|
56
|
+
], ngImport: i0, template: "<div class=\"smart-month-picker-container\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput [matDatepicker]=\"dp\" placeholder=\"Month and Year\" [formControl]=\"date\" />\r\n <mat-datepicker-toggle matSuffix [for]=\"dp\"></mat-datepicker-toggle>\r\n <mat-datepicker\r\n #dp\r\n startView=\"multi-year\"\r\n (monthSelected)=\"chosenMonthHandler($event, dp)\"\r\n panelClass=\"example-month-picker\"\r\n >\r\n </mat-datepicker>\r\n </mat-form-field>\r\n <div class=\"smart-month-picker-hint\">\r\n <mat-hint\r\n *ngIf=\"\r\n !widgetInstance?.hintConfig ||\r\n widgetInstance?.hintConfig?.position === SmartWidgetHintPosition.UNDER_INPUT\r\n \"\r\n >{{ widgetInstance.hint }}</mat-hint\r\n >\r\n </div>\r\n</div>\r\n", styles: [""], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i2.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { type: i2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }], directives: [{ type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1.MatSuffix, selector: "[matSuffix]" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }] });
|
|
61
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartMonthPickerComponent, decorators: [{
|
|
62
58
|
type: Component,
|
|
63
|
-
args: [{ selector:
|
|
59
|
+
args: [{ selector: 'lib-smart-month-picker', providers: [
|
|
64
60
|
{
|
|
65
61
|
provide: DateAdapter,
|
|
66
62
|
useClass: MomentDateAdapter,
|
|
67
63
|
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
68
64
|
},
|
|
69
65
|
{ provide: MAT_DATE_FORMATS, useValue: YEARH_MONTH_FORMAT },
|
|
70
|
-
], template: "<div class=\"smart-month-picker-container\">\r\n <mat-form-field appearance=\"outline\">\r\n <input
|
|
66
|
+
], template: "<div class=\"smart-month-picker-container\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput [matDatepicker]=\"dp\" placeholder=\"Month and Year\" [formControl]=\"date\" />\r\n <mat-datepicker-toggle matSuffix [for]=\"dp\"></mat-datepicker-toggle>\r\n <mat-datepicker\r\n #dp\r\n startView=\"multi-year\"\r\n (monthSelected)=\"chosenMonthHandler($event, dp)\"\r\n panelClass=\"example-month-picker\"\r\n >\r\n </mat-datepicker>\r\n </mat-form-field>\r\n <div class=\"smart-month-picker-hint\">\r\n <mat-hint\r\n *ngIf=\"\r\n !widgetInstance?.hintConfig ||\r\n widgetInstance?.hintConfig?.position === SmartWidgetHintPosition.UNDER_INPUT\r\n \"\r\n >{{ widgetInstance.hint }}</mat-hint\r\n >\r\n </div>\r\n</div>\r\n", styles: [""] }]
|
|
71
67
|
}], propDecorators: { widgetInstance: [{
|
|
72
68
|
type: Input
|
|
73
69
|
}], valueChange: [{
|
|
74
70
|
type: Output
|
|
75
71
|
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbW9udGgtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZvcm0vd2lkZ2V0cy9jb21wb25lbnRzL3NtYXJ0LW1vbnRoLXBpY2tlci9zbWFydC1tb250aC1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtbW9udGgtcGlja2VyL3NtYXJ0LW1vbnRoLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGlCQUFpQixHQUNsQixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJeEYsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBa0IsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQUVuRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxLQUFLLEVBQUU7UUFDTCxTQUFTLEVBQUUsU0FBUztLQUNyQjtJQUNELE9BQU8sRUFBRTtRQUNQLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLGNBQWMsRUFBRSxVQUFVO1FBQzFCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLGtCQUFrQixFQUFFLFdBQVc7S0FDaEM7Q0FDRixDQUFDO0FBZUYsTUFBTSxPQUFPLHlCQUF5QjtJQWJ0QztRQWVZLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUzQyw0QkFBdUIsR0FBRyx1QkFBdUIsQ0FBQztLQXNCbkQ7SUFwQkMsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ2pFLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0MsSUFBSSxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDNUM7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxNQUFjLEVBQUUsVUFBaUM7UUFDbEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDbEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNoQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTlCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQixDQUFDOztzSEF6QlUseUJBQXlCOzBHQUF6Qix5QkFBeUIsd0lBVHpCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsV0FBVztZQUNwQixRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRSwrQkFBK0IsQ0FBQztTQUN6RDtRQUNELEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRTtLQUM1RCwwQkNyQ0gsdXlCQXNCQTsyRkRpQmEseUJBQXlCO2tCQWJyQyxTQUFTOytCQUNFLHdCQUF3QixhQUd2Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsV0FBVzs0QkFDcEIsUUFBUSxFQUFFLGlCQUFpQjs0QkFDM0IsSUFBSSxFQUFFLENBQUMsZUFBZSxFQUFFLCtCQUErQixDQUFDO3lCQUN6RDt3QkFDRCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUU7cUJBQzVEOzhCQUdRLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TLFxyXG4gIE1vbWVudERhdGVBZGFwdGVyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLW1vbWVudC1hZGFwdGVyJztcclxuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFMsIE1BVF9EQVRFX0xPQ0FMRSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNb21lbnQgfSBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBTbWFydE1vbnRoUGlja2VyIH0gZnJvbSAnLi4vLi4vLi4vc21hcnRmb3JtLmZvcm0tbW9kZWwnO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgWSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XHJcbmltcG9ydCB7IFNtYXJ0VmFsaWRhdG9yLCBTbWFydFdpZGdldEhpbnRQb3NpdGlvbiB9IGZyb20gJy4uLy4uLy4uL3NtYXJ0Zm9ybS5tb2RlbCc7XHJcblxyXG5leHBvcnQgY29uc3QgWUVBUkhfTU9OVEhfRk9STUFUID0ge1xyXG4gIHBhcnNlOiB7XHJcbiAgICBkYXRlSW5wdXQ6ICdNTS9ZWVlZJyxcclxuICB9LFxyXG4gIGRpc3BsYXk6IHtcclxuICAgIGRhdGVJbnB1dDogJ01NL1lZWVknLFxyXG4gICAgbW9udGhZZWFyTGFiZWw6ICdNTU0gWVlZWScsXHJcbiAgICBkYXRlQTExeUxhYmVsOiAnTEwnLFxyXG4gICAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZWVlZJyxcclxuICB9LFxyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc21hcnQtbW9udGgtcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtbW9udGgtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zbWFydC1tb250aC1waWNrZXIuY29tcG9uZW50LmNzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcclxuICAgICAgdXNlQ2xhc3M6IE1vbWVudERhdGVBZGFwdGVyLFxyXG4gICAgICBkZXBzOiBbTUFUX0RBVEVfTE9DQUxFLCBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TXSxcclxuICAgIH0sXHJcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBZRUFSSF9NT05USF9GT1JNQVQgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRNb250aFBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgd2lkZ2V0SW5zdGFuY2UhOiBTbWFydE1vbnRoUGlja2VyO1xyXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBkYXRlITogRm9ybUNvbnRyb2w7XHJcbiAgU21hcnRXaWRnZXRIaW50UG9zaXRpb24gPSBTbWFydFdpZGdldEhpbnRQb3NpdGlvbjtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy53aWRnZXRJbnN0YW5jZS52YWx1ZSAmJiB0aGlzLndpZGdldEluc3RhbmNlLnZhbHVlLmxlbmd0aCkge1xyXG4gICAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHRoaXMud2lkZ2V0SW5zdGFuY2UudmFsdWUpO1xyXG4gICAgICBsZXQgdmFsdWVJbk1vbWVudCA9IG1vbWVudChkYXRlKTtcclxuICAgICAgdGhpcy5kYXRlID0gbmV3IEZvcm1Db250cm9sKHZhbHVlSW5Nb21lbnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kYXRlID0gbmV3IEZvcm1Db250cm9sKG1vbWVudCgpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNob3Nlbk1vbnRoSGFuZGxlcihtb21lbnQ6IE1vbWVudCwgZGF0ZXBpY2tlcjogTWF0RGF0ZXBpY2tlcjxNb21lbnQ+KSB7XHJcbiAgICBjb25zdCBjdHJsVmFsdWUgPSB0aGlzLmRhdGUudmFsdWU7XHJcbiAgICBjdHJsVmFsdWUubW9udGgobW9tZW50Lm1vbnRoKCkpO1xyXG4gICAgY3RybFZhbHVlLnllYXIobW9tZW50LnllYXIoKSk7XHJcblxyXG4gICAgdGhpcy5kYXRlLnNldFZhbHVlKGN0cmxWYWx1ZSk7XHJcblxyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KGN0cmxWYWx1ZSk7XHJcbiAgICBkYXRlcGlja2VyLmNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzbWFydC1tb250aC1waWNrZXItY29udGFpbmVyXCI+XHJcbiAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICA8aW5wdXQgbWF0SW5wdXQgW21hdERhdGVwaWNrZXJdPVwiZHBcIiBwbGFjZWhvbGRlcj1cIk1vbnRoIGFuZCBZZWFyXCIgW2Zvcm1Db250cm9sXT1cImRhdGVcIiAvPlxyXG4gICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJkcFwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gICAgPG1hdC1kYXRlcGlja2VyXHJcbiAgICAgICNkcFxyXG4gICAgICBzdGFydFZpZXc9XCJtdWx0aS15ZWFyXCJcclxuICAgICAgKG1vbnRoU2VsZWN0ZWQpPVwiY2hvc2VuTW9udGhIYW5kbGVyKCRldmVudCwgZHApXCJcclxuICAgICAgcGFuZWxDbGFzcz1cImV4YW1wbGUtbW9udGgtcGlja2VyXCJcclxuICAgID5cclxuICAgIDwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8ZGl2IGNsYXNzPVwic21hcnQtbW9udGgtcGlja2VyLWhpbnRcIj5cclxuICAgIDxtYXQtaGludFxyXG4gICAgICAqbmdJZj1cIlxyXG4gICAgICAgICF3aWRnZXRJbnN0YW5jZT8uaGludENvbmZpZyB8fFxyXG4gICAgICAgIHdpZGdldEluc3RhbmNlPy5oaW50Q29uZmlnPy5wb3NpdGlvbiA9PT0gU21hcnRXaWRnZXRIaW50UG9zaXRpb24uVU5ERVJfSU5QVVRcclxuICAgICAgXCJcclxuICAgICAgPnt7IHdpZGdldEluc3RhbmNlLmhpbnQgfX08L21hdC1oaW50XHJcbiAgICA+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|