@kato-lee/components 1.1.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/assets/_fields.scss +82 -21
- package/assets/_grids.scss +8 -0
- package/assets/assets.scss +4 -0
- package/assets/bundle.css +1 -0
- package/assets/{themes/_default.scss → colors.scss} +7 -6
- package/assets/components/_checkbox.scss +11 -0
- package/assets/components/_fields.scss +53 -13
- package/assets/components/_scroll-bar.scss +8 -0
- package/assets/components/_snack-bar.scss +21 -10
- package/assets/components/_tables.scss +75 -84
- package/assets/components/main.scss +9 -10
- package/assets/material/theme.scss +91 -0
- package/box-form/index.d.ts +51 -3
- package/box-form/package.json +3 -0
- package/capsule/index.d.ts +25 -2
- package/capsule/package.json +3 -0
- package/cards/index.d.ts +18 -2
- package/cards/package.json +3 -0
- package/dialogs/index.d.ts +18 -2
- package/dialogs/package.json +3 -0
- package/fesm2022/kato-lee-components-box-form.mjs +9 -9
- package/fesm2022/kato-lee-components-box-form.mjs.map +1 -1
- package/fesm2022/kato-lee-components-capsule.mjs +20 -20
- package/fesm2022/kato-lee-components-capsule.mjs.map +1 -1
- package/fesm2022/kato-lee-components-cards.mjs +8 -8
- package/fesm2022/kato-lee-components-cards.mjs.map +1 -1
- package/fesm2022/kato-lee-components-dialogs.mjs +9 -9
- package/fesm2022/kato-lee-components-dialogs.mjs.map +1 -1
- package/fesm2022/kato-lee-components-fields.mjs +60 -64
- package/fesm2022/kato-lee-components-fields.mjs.map +1 -1
- package/fesm2022/kato-lee-components-modal.mjs +16 -12
- package/fesm2022/kato-lee-components-modal.mjs.map +1 -1
- package/fesm2022/kato-lee-components-pretty-box.mjs +5 -5
- package/fesm2022/kato-lee-components-pretty-box.mjs.map +1 -1
- package/fesm2022/kato-lee-components-tables.mjs +60 -20
- package/fesm2022/kato-lee-components-tables.mjs.map +1 -1
- package/fesm2022/kato-lee-components-toast.mjs +3 -3
- package/fesm2022/kato-lee-components-toast.mjs.map +1 -1
- package/fields/index.d.ts +464 -15
- package/fields/package.json +3 -0
- package/index.d.ts +2 -1
- package/modal/index.d.ts +66 -4
- package/modal/package.json +3 -0
- package/package.json +4 -24
- package/pretty-box/index.d.ts +27 -1
- package/pretty-box/package.json +3 -0
- package/tables/index.d.ts +27 -3
- package/tables/package.json +3 -0
- package/toast/index.d.ts +25 -1
- package/toast/package.json +3 -0
- package/assets/components/_material.scss +0 -15
- package/assets/main.scss +0 -4
- package/assets/material/themes/dark.scss +0 -52
- package/assets/material/themes/default.scss +0 -105
- package/assets/material/themes/main.scss +0 -2907
- package/assets/themes/_dark.scss +0 -16
- package/assets/themes/main.scss +0 -2
- package/assets/variables.scss +0 -7
- package/box-form/common.d.ts +0 -5
- package/box-form/component.d.ts +0 -34
- package/box-form/module.d.ts +0 -8
- package/capsule/component.d.ts +0 -14
- package/capsule/module.d.ts +0 -8
- package/cards/component.d.ts +0 -8
- package/cards/module.d.ts +0 -8
- package/dialogs/dismiss-dialog-button.component.d.ts +0 -8
- package/dialogs/module.d.ts +0 -8
- package/esm2022/box-form/common.mjs +0 -2
- package/esm2022/box-form/component.mjs +0 -112
- package/esm2022/box-form/index.mjs +0 -7
- package/esm2022/box-form/kato-lee-components-box-form.mjs +0 -5
- package/esm2022/box-form/module.mjs +0 -17
- package/esm2022/capsule/component.mjs +0 -78
- package/esm2022/capsule/index.mjs +0 -6
- package/esm2022/capsule/kato-lee-components-capsule.mjs +0 -5
- package/esm2022/capsule/module.mjs +0 -17
- package/esm2022/cards/component.mjs +0 -48
- package/esm2022/cards/index.mjs +0 -6
- package/esm2022/cards/kato-lee-components-cards.mjs +0 -5
- package/esm2022/cards/module.mjs +0 -18
- package/esm2022/dialogs/dismiss-dialog-button.component.mjs +0 -46
- package/esm2022/dialogs/index.mjs +0 -6
- package/esm2022/dialogs/kato-lee-components-dialogs.mjs +0 -5
- package/esm2022/dialogs/module.mjs +0 -18
- package/esm2022/fields/autocomplete/component.mjs +0 -259
- package/esm2022/fields/common.mjs +0 -11
- package/esm2022/fields/date/component.mjs +0 -163
- package/esm2022/fields/date-range/component.mjs +0 -85
- package/esm2022/fields/error/component.mjs +0 -57
- package/esm2022/fields/error/error-equals.pipe.mjs +0 -19
- package/esm2022/fields/error/error.msg.pipe.mjs +0 -19
- package/esm2022/fields/error/lang/_en.mjs +0 -12
- package/esm2022/fields/error/lang/_es.mjs +0 -12
- package/esm2022/fields/error/lang/index.mjs +0 -3
- package/esm2022/fields/general/component.mjs +0 -202
- package/esm2022/fields/index.mjs +0 -19
- package/esm2022/fields/kato-lee-components-fields.mjs +0 -5
- package/esm2022/fields/module.mjs +0 -82
- package/esm2022/fields/money/component.mjs +0 -202
- package/esm2022/fields/number/component.mjs +0 -179
- package/esm2022/fields/remote-autocomplete/component.mjs +0 -188
- package/esm2022/fields/select/component.mjs +0 -158
- package/esm2022/fields/text-area/component.mjs +0 -186
- package/esm2022/fields/validators.mjs +0 -11
- package/esm2022/index.mjs +0 -2
- package/esm2022/kato-lee-components.mjs +0 -5
- package/esm2022/modal/component.mjs +0 -66
- package/esm2022/modal/config.mjs +0 -2
- package/esm2022/modal/index.mjs +0 -8
- package/esm2022/modal/kato-lee-components-modal.mjs +0 -5
- package/esm2022/modal/module.mjs +0 -17
- package/esm2022/modal/service.mjs +0 -33
- package/esm2022/pretty-box/component.mjs +0 -94
- package/esm2022/pretty-box/index.mjs +0 -5
- package/esm2022/pretty-box/kato-lee-components-pretty-box.mjs +0 -5
- package/esm2022/tables/index.mjs +0 -7
- package/esm2022/tables/kato-lee-components-tables.mjs +0 -5
- package/esm2022/tables/mat-paginator.translation.mjs +0 -22
- package/esm2022/tables/module.mjs +0 -22
- package/esm2022/tables/no-records.component.mjs +0 -58
- package/esm2022/toast/index.mjs +0 -5
- package/esm2022/toast/kato-lee-components-toast.mjs +0 -5
- package/esm2022/toast/service.mjs +0 -42
- package/fields/autocomplete/component.d.ts +0 -65
- package/fields/common.d.ts +0 -8
- package/fields/date/component.d.ts +0 -46
- package/fields/date-range/component.d.ts +0 -23
- package/fields/error/component.d.ts +0 -22
- package/fields/error/error-equals.pipe.d.ts +0 -7
- package/fields/error/error.msg.pipe.d.ts +0 -7
- package/fields/error/lang/_en.d.ts +0 -1
- package/fields/error/lang/_es.d.ts +0 -1
- package/fields/error/lang/index.d.ts +0 -2
- package/fields/general/component.d.ts +0 -56
- package/fields/module.d.ts +0 -19
- package/fields/money/component.d.ts +0 -53
- package/fields/number/component.d.ts +0 -52
- package/fields/remote-autocomplete/component.d.ts +0 -43
- package/fields/select/component.d.ts +0 -44
- package/fields/text-area/component.d.ts +0 -55
- package/fields/validators.d.ts +0 -9
- package/modal/component.d.ts +0 -35
- package/modal/config.d.ts +0 -9
- package/modal/module.d.ts +0 -8
- package/modal/service.d.ts +0 -13
- package/pretty-box/component.d.ts +0 -24
- package/tables/mat-paginator.translation.d.ts +0 -2
- package/tables/module.d.ts +0 -10
- package/tables/no-records.component.d.ts +0 -12
- package/toast/service.d.ts +0 -21
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
3
|
-
import { MAT_DATE_LOCALE, MatNativeDateModule } from '@kato-lee/material/core';
|
|
4
|
-
import { TakSelectFieldComponent } from './select/component';
|
|
5
|
-
import { TakDateFieldComponent } from './date/component';
|
|
6
|
-
import { TakAutocompleteFieldComponent } from './autocomplete/component';
|
|
7
|
-
import { MatAutocompleteModule } from '@kato-lee/material/autocomplete';
|
|
8
|
-
import { TakDateRangeFieldComponent } from './date-range/component';
|
|
9
|
-
import { TakMoneyFieldComponent } from './money/component';
|
|
10
|
-
import { TakGeneralFieldComponent } from './general/component';
|
|
11
|
-
import { TakNumberFieldComponent } from './number/component';
|
|
12
|
-
import { TakTextareaComponent } from './text-area/component';
|
|
13
|
-
import { TakRemoteAutocompleteFieldComponent } from './remote-autocomplete/component';
|
|
14
|
-
import * as i0 from "@angular/core";
|
|
15
|
-
const components = [
|
|
16
|
-
TakSelectFieldComponent,
|
|
17
|
-
TakDateFieldComponent,
|
|
18
|
-
TakAutocompleteFieldComponent,
|
|
19
|
-
TakDateRangeFieldComponent,
|
|
20
|
-
TakGeneralFieldComponent,
|
|
21
|
-
TakMoneyFieldComponent,
|
|
22
|
-
TakTextareaComponent,
|
|
23
|
-
TakNumberFieldComponent,
|
|
24
|
-
];
|
|
25
|
-
/** @deprecated Use standalone */
|
|
26
|
-
export class TakFieldsModule {
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TakFieldsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
28
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: TakFieldsModule, imports: [TakSelectFieldComponent,
|
|
29
|
-
TakDateFieldComponent,
|
|
30
|
-
TakAutocompleteFieldComponent,
|
|
31
|
-
TakDateRangeFieldComponent,
|
|
32
|
-
TakGeneralFieldComponent,
|
|
33
|
-
TakMoneyFieldComponent,
|
|
34
|
-
TakTextareaComponent,
|
|
35
|
-
TakNumberFieldComponent, ReactiveFormsModule,
|
|
36
|
-
MatAutocompleteModule,
|
|
37
|
-
FormsModule,
|
|
38
|
-
MatNativeDateModule,
|
|
39
|
-
TakRemoteAutocompleteFieldComponent], exports: [ReactiveFormsModule,
|
|
40
|
-
MatAutocompleteModule,
|
|
41
|
-
FormsModule,
|
|
42
|
-
MatNativeDateModule,
|
|
43
|
-
TakRemoteAutocompleteFieldComponent, TakSelectFieldComponent,
|
|
44
|
-
TakDateFieldComponent,
|
|
45
|
-
TakAutocompleteFieldComponent,
|
|
46
|
-
TakDateRangeFieldComponent,
|
|
47
|
-
TakGeneralFieldComponent,
|
|
48
|
-
TakMoneyFieldComponent,
|
|
49
|
-
TakTextareaComponent,
|
|
50
|
-
TakNumberFieldComponent] }); }
|
|
51
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TakFieldsModule, providers: [{ provide: MAT_DATE_LOCALE, useValue: 'es-ES' }], imports: [components, ReactiveFormsModule,
|
|
52
|
-
MatAutocompleteModule,
|
|
53
|
-
FormsModule,
|
|
54
|
-
MatNativeDateModule,
|
|
55
|
-
TakRemoteAutocompleteFieldComponent, ReactiveFormsModule,
|
|
56
|
-
MatAutocompleteModule,
|
|
57
|
-
FormsModule,
|
|
58
|
-
MatNativeDateModule] }); }
|
|
59
|
-
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TakFieldsModule, decorators: [{
|
|
61
|
-
type: NgModule,
|
|
62
|
-
args: [{
|
|
63
|
-
imports: [
|
|
64
|
-
...components,
|
|
65
|
-
ReactiveFormsModule,
|
|
66
|
-
MatAutocompleteModule,
|
|
67
|
-
FormsModule,
|
|
68
|
-
MatNativeDateModule,
|
|
69
|
-
TakRemoteAutocompleteFieldComponent,
|
|
70
|
-
],
|
|
71
|
-
exports: [
|
|
72
|
-
ReactiveFormsModule,
|
|
73
|
-
MatAutocompleteModule,
|
|
74
|
-
FormsModule,
|
|
75
|
-
MatNativeDateModule,
|
|
76
|
-
TakRemoteAutocompleteFieldComponent,
|
|
77
|
-
...components,
|
|
78
|
-
],
|
|
79
|
-
providers: [{ provide: MAT_DATE_LOCALE, useValue: 'es-ES' }],
|
|
80
|
-
}]
|
|
81
|
-
}] });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvbXBvbmVudHMvZmllbGRzL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBRXRGLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLHVCQUF1QjtJQUN2QixxQkFBcUI7SUFDckIsNkJBQTZCO0lBQzdCLDBCQUEwQjtJQUMxQix3QkFBd0I7SUFDeEIsc0JBQXNCO0lBQ3RCLG9CQUFvQjtJQUNwQix1QkFBdUI7Q0FDeEIsQ0FBQztBQUVGLGlDQUFpQztBQW9CakMsTUFBTSxPQUFPLGVBQWU7OEdBQWYsZUFBZTsrR0FBZixlQUFlLFlBOUIxQix1QkFBdUI7WUFDdkIscUJBQXFCO1lBQ3JCLDZCQUE2QjtZQUM3QiwwQkFBMEI7WUFDMUIsd0JBQXdCO1lBQ3hCLHNCQUFzQjtZQUN0QixvQkFBb0I7WUFDcEIsdUJBQXVCLEVBT3JCLG1CQUFtQjtZQUNuQixxQkFBcUI7WUFDckIsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixtQ0FBbUMsYUFHbkMsbUJBQW1CO1lBQ25CLHFCQUFxQjtZQUNyQixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLG1DQUFtQyxFQXpCckMsdUJBQXVCO1lBQ3ZCLHFCQUFxQjtZQUNyQiw2QkFBNkI7WUFDN0IsMEJBQTBCO1lBQzFCLHdCQUF3QjtZQUN4QixzQkFBc0I7WUFDdEIsb0JBQW9CO1lBQ3BCLHVCQUF1QjsrR0F1QlosZUFBZSxhQUZmLENBQUMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxZQWZ2RCxVQUFVLEVBQ2IsbUJBQW1CO1lBQ25CLHFCQUFxQjtZQUNyQixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLG1DQUFtQyxFQUduQyxtQkFBbUI7WUFDbkIscUJBQXFCO1lBQ3JCLFdBQVc7WUFDWCxtQkFBbUI7OzJGQU1WLGVBQWU7a0JBbkIzQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxHQUFHLFVBQVU7d0JBQ2IsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixtQ0FBbUM7cUJBQ3BDO29CQUNELE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLG1DQUFtQzt3QkFDbkMsR0FBRyxVQUFVO3FCQUNkO29CQUNELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7aUJBQzdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1BVF9EQVRFX0xPQ0FMRSwgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0BrYXRvLWxlZS9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgVGFrU2VsZWN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC9jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWtEYXRlRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2RhdGUvY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFrQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS9jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAa2F0by1sZWUvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgVGFrRGF0ZVJhbmdlRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcmFuZ2UvY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFrTW9uZXlGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vbW9uZXkvY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFrR2VuZXJhbEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmFsL2NvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRha051bWJlckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9udW1iZXIvY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFrVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL3RleHQtYXJlYS9jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWtSZW1vdGVBdXRvY29tcGxldGVGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vcmVtb3RlLWF1dG9jb21wbGV0ZS9jb21wb25lbnQnO1xyXG5cclxuY29uc3QgY29tcG9uZW50cyA9IFtcclxuICBUYWtTZWxlY3RGaWVsZENvbXBvbmVudCxcclxuICBUYWtEYXRlRmllbGRDb21wb25lbnQsXHJcbiAgVGFrQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQsXHJcbiAgVGFrRGF0ZVJhbmdlRmllbGRDb21wb25lbnQsXHJcbiAgVGFrR2VuZXJhbEZpZWxkQ29tcG9uZW50LFxyXG4gIFRha01vbmV5RmllbGRDb21wb25lbnQsXHJcbiAgVGFrVGV4dGFyZWFDb21wb25lbnQsXHJcbiAgVGFrTnVtYmVyRmllbGRDb21wb25lbnQsXHJcbl07XHJcblxyXG4vKiogQGRlcHJlY2F0ZWQgVXNlIHN0YW5kYWxvbmUgKi9cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICAuLi5jb21wb25lbnRzLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcclxuICAgIFRha1JlbW90ZUF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcclxuICAgIFRha1JlbW90ZUF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50LFxyXG4gICAgLi4uY29tcG9uZW50cyxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTUFUX0RBVEVfTE9DQUxFLCB1c2VWYWx1ZTogJ2VzLUVTJyB9XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRha0ZpZWxkc01vZHVsZSB7fVxyXG4iXX0=
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
import { Component, Optional, Input, Self, Output, EventEmitter, } from '@angular/core';
|
|
2
|
-
import { Validators, FormsModule, ReactiveFormsModule, } from '@angular/forms';
|
|
3
|
-
import { TAK_DEFAULT_APPEARANCE_FORM } from '../common';
|
|
4
|
-
import { CommonModule } from '@angular/common';
|
|
5
|
-
import { MatFormFieldModule } from '@kato-lee/material/form-field';
|
|
6
|
-
import { TakErrorComponent } from '../error/component';
|
|
7
|
-
import { MatButtonModule } from '@kato-lee/material/button';
|
|
8
|
-
import { MatInputModule } from '@kato-lee/material/input';
|
|
9
|
-
import { MatIconModule } from '@kato-lee/material/icon';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/forms";
|
|
12
|
-
import * as i2 from "@kato-lee/material/form-field";
|
|
13
|
-
import * as i3 from "@kato-lee/material/button";
|
|
14
|
-
import * as i4 from "@kato-lee/material/icon";
|
|
15
|
-
import * as i5 from "@kato-lee/material/input";
|
|
16
|
-
export class TakMoneyFieldComponent {
|
|
17
|
-
constructor(_ngControl, _formGroupDirective, _cd) {
|
|
18
|
-
this._ngControl = _ngControl;
|
|
19
|
-
this._formGroupDirective = _formGroupDirective;
|
|
20
|
-
this._cd = _cd;
|
|
21
|
-
this.autocomplete = 'off';
|
|
22
|
-
this.appearance = TAK_DEFAULT_APPEARANCE_FORM;
|
|
23
|
-
this.floatLabel = 'auto';
|
|
24
|
-
this.color = 'primary';
|
|
25
|
-
this.actionIcon = 'search';
|
|
26
|
-
this.defaultFilterStyle = true;
|
|
27
|
-
this.hasActionButton = false;
|
|
28
|
-
this.hasClearButton = true;
|
|
29
|
-
this.countCaracters = false;
|
|
30
|
-
this.placeholder = '';
|
|
31
|
-
this.disabled = false;
|
|
32
|
-
this.onExecuteAction = new EventEmitter();
|
|
33
|
-
this.onKeyUp = new EventEmitter();
|
|
34
|
-
this.onChangeFn = (_) => { };
|
|
35
|
-
this.onTouchFn = (_) => { };
|
|
36
|
-
this._isSubmitted = false;
|
|
37
|
-
this._isInvalid = false;
|
|
38
|
-
this._required = false;
|
|
39
|
-
this._value = '';
|
|
40
|
-
if (_ngControl)
|
|
41
|
-
this._ngControl.valueAccessor = this;
|
|
42
|
-
if (_formGroupDirective) {
|
|
43
|
-
this._subscription = _formGroupDirective.ngSubmit.subscribe(() => {
|
|
44
|
-
this._isSubmitted = true;
|
|
45
|
-
_cd.markForCheck();
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
ngOnInit() {
|
|
50
|
-
const form = this.control;
|
|
51
|
-
if (form?._rawValidators) {
|
|
52
|
-
form._rawValidators.forEach((r) => {
|
|
53
|
-
if (r.name.includes('required'))
|
|
54
|
-
this._required = true;
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
this.control.addValidators(Validators.pattern(/^[0-9.,-]+$/));
|
|
58
|
-
if (['', null, undefined, '-'].indexOf(this.control.value) < 0)
|
|
59
|
-
this._addCurrencyMask();
|
|
60
|
-
if (this.disabled)
|
|
61
|
-
this.control.disable();
|
|
62
|
-
}
|
|
63
|
-
writeValue(value) {
|
|
64
|
-
if (value === null) {
|
|
65
|
-
this._isInvalid = false;
|
|
66
|
-
}
|
|
67
|
-
this._value = value;
|
|
68
|
-
this._isSubmitted = false;
|
|
69
|
-
this._cd.markForCheck();
|
|
70
|
-
}
|
|
71
|
-
registerOnChange(fn) {
|
|
72
|
-
this.onChangeFn = fn;
|
|
73
|
-
}
|
|
74
|
-
registerOnTouched(fn) {
|
|
75
|
-
this.onTouchFn = fn;
|
|
76
|
-
}
|
|
77
|
-
onChange(event) {
|
|
78
|
-
this._value = event.target.value;
|
|
79
|
-
this.onChangeFn(event.target.value);
|
|
80
|
-
this._addCurrencyMask();
|
|
81
|
-
if (this.control.touched)
|
|
82
|
-
this._onValidate();
|
|
83
|
-
}
|
|
84
|
-
_addCurrencyMask() {
|
|
85
|
-
const valueFormatted = this.control.value
|
|
86
|
-
.toString()
|
|
87
|
-
.replace(/,/g, '')
|
|
88
|
-
.replace(/ /g, '')
|
|
89
|
-
.replace('$', '');
|
|
90
|
-
if (['', null, undefined, '-'].indexOf(valueFormatted) < 0 && !isNaN(Number(valueFormatted))) {
|
|
91
|
-
const value = '$ ' + Intl.NumberFormat('en-US').format(Number(valueFormatted));
|
|
92
|
-
this.control.setValue(+valueFormatted);
|
|
93
|
-
this._value = value;
|
|
94
|
-
}
|
|
95
|
-
else if (['-'].indexOf(valueFormatted) >= 0)
|
|
96
|
-
this.control.setValue('-');
|
|
97
|
-
else
|
|
98
|
-
this.control.setValue(null);
|
|
99
|
-
}
|
|
100
|
-
onFocusOut() {
|
|
101
|
-
this.onTouchFn(true);
|
|
102
|
-
//this._executeIfIsMoneyField();
|
|
103
|
-
this._onValidate();
|
|
104
|
-
}
|
|
105
|
-
_onValidate() {
|
|
106
|
-
if (this.control.invalid)
|
|
107
|
-
this._isInvalid = true;
|
|
108
|
-
else
|
|
109
|
-
this._isInvalid = false;
|
|
110
|
-
}
|
|
111
|
-
onKeyDown(event) {
|
|
112
|
-
const pattern = /[0-9.-]/i.test(event.key);
|
|
113
|
-
const validKeyCodes = [8, 46, 37, 39, 9, 17, 16, 67, 86, 109, 189];
|
|
114
|
-
return pattern || validKeyCodes.indexOf(event.keyCode) >= 0;
|
|
115
|
-
}
|
|
116
|
-
onClearControl() {
|
|
117
|
-
if (['', null, undefined].indexOf(this.control.value) >= 0) {
|
|
118
|
-
this.control.setValue('', { emitEvent: false });
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
this.control.setValue('');
|
|
122
|
-
}
|
|
123
|
-
this._value = '';
|
|
124
|
-
}
|
|
125
|
-
ngOnDestroy() {
|
|
126
|
-
if (this._subscription)
|
|
127
|
-
this._subscription.unsubscribe();
|
|
128
|
-
}
|
|
129
|
-
get control() {
|
|
130
|
-
return this._ngControl.control;
|
|
131
|
-
}
|
|
132
|
-
get directive() {
|
|
133
|
-
return this._formGroupDirective;
|
|
134
|
-
}
|
|
135
|
-
get isDisabled() {
|
|
136
|
-
return this._ngControl.disabled;
|
|
137
|
-
}
|
|
138
|
-
get isSubmitted() {
|
|
139
|
-
return this._isSubmitted;
|
|
140
|
-
}
|
|
141
|
-
get isInvalid() {
|
|
142
|
-
return this._isInvalid;
|
|
143
|
-
}
|
|
144
|
-
get required() {
|
|
145
|
-
return this._required;
|
|
146
|
-
}
|
|
147
|
-
get value() {
|
|
148
|
-
return this._value;
|
|
149
|
-
}
|
|
150
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TakMoneyFieldComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i1.FormGroupDirective, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
151
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: TakMoneyFieldComponent, isStandalone: true, selector: "tak-money-field", inputs: { autocomplete: "autocomplete", appearance: "appearance", floatLabel: "floatLabel", color: "color", actionIcon: "actionIcon", defaultFilterStyle: "defaultFilterStyle", hasActionButton: "hasActionButton", hasClearButton: "hasClearButton", countCaracters: "countCaracters", placeholder: "placeholder", maxLength: "maxLength", minLength: "minLength", disabled: "disabled" }, outputs: { onExecuteAction: "onExecuteAction", onKeyUp: "onKeyUp" }, ngImport: i0, template: "<div class=\"tak-form-container\">\r\n <mat-form-field\r\n [floatLabel]=\"floatLabel\"\r\n [class.mat-form-field-invalid]=\"isInvalid || (isSubmitted && control.invalid)\"\r\n [appearance]=\"appearance\"\r\n [color]=\"color\"\r\n >\r\n <mat-label>\r\n <ng-content />{{ ' ' }}\r\n @if (required) {\r\n <span class=\"tak-field__danger-x\">*</span>\r\n }\r\n </mat-label>\r\n <input\r\n class=\"money-input\"\r\n matInput\r\n [autocomplete]=\"autocomplete\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"value\"\r\n (keyup)=\"onChange($event)\"\r\n (change)=\"onChange($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n [disabled]=\"isDisabled\"\r\n [attr.minLength]=\"minLength\"\r\n [attr.maxLength]=\"maxLength\"\r\n (focusout)=\"onFocusOut()\"\r\n />\r\n @if (control.value && hasClearButton && !isDisabled) {\r\n <button matSuffix mat-icon-button type=\"button\" (click)=\"onClearControl()\">\r\n <mat-icon class=\"tak-suffix-icon-button\">close</mat-icon>\r\n </button>\r\n }\r\n @if (control.value && hasActionButton && !isDisabled) {\r\n <button matSuffix mat-icon-button type=\"button\" (click)=\"onExecuteAction.emit(control.value)\">\r\n <mat-icon class=\"tak-suffix-icon-button\">{{ actionIcon }}</mat-icon>\r\n </button>\r\n }\r\n @if (countCaracters) {\r\n <mat-hint align=\"end\" class=\"tak-hint\">\r\n {{ control.value?.length || 0 }}/{{ maxLength }}\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n <div [style.maxWidth]=\"countCaracters ? '80%' : '100%'\">\r\n @if (isInvalid || (isSubmitted && control.invalid)) {\r\n <tak-error [control]=\"control\"></tak-error>\r\n }\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "component", type: TakErrorComponent, selector: "tak-error", inputs: ["control", "start", "end", "isDateField", "isNumberField", "marginTop"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.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"] }] }); }
|
|
152
|
-
}
|
|
153
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TakMoneyFieldComponent, decorators: [{
|
|
154
|
-
type: Component,
|
|
155
|
-
args: [{ standalone: true, imports: [
|
|
156
|
-
TakErrorComponent,
|
|
157
|
-
FormsModule,
|
|
158
|
-
CommonModule,
|
|
159
|
-
ReactiveFormsModule,
|
|
160
|
-
MatFormFieldModule,
|
|
161
|
-
MatButtonModule,
|
|
162
|
-
MatIconModule,
|
|
163
|
-
MatInputModule,
|
|
164
|
-
], selector: 'tak-money-field', template: "<div class=\"tak-form-container\">\r\n <mat-form-field\r\n [floatLabel]=\"floatLabel\"\r\n [class.mat-form-field-invalid]=\"isInvalid || (isSubmitted && control.invalid)\"\r\n [appearance]=\"appearance\"\r\n [color]=\"color\"\r\n >\r\n <mat-label>\r\n <ng-content />{{ ' ' }}\r\n @if (required) {\r\n <span class=\"tak-field__danger-x\">*</span>\r\n }\r\n </mat-label>\r\n <input\r\n class=\"money-input\"\r\n matInput\r\n [autocomplete]=\"autocomplete\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"value\"\r\n (keyup)=\"onChange($event)\"\r\n (change)=\"onChange($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n [disabled]=\"isDisabled\"\r\n [attr.minLength]=\"minLength\"\r\n [attr.maxLength]=\"maxLength\"\r\n (focusout)=\"onFocusOut()\"\r\n />\r\n @if (control.value && hasClearButton && !isDisabled) {\r\n <button matSuffix mat-icon-button type=\"button\" (click)=\"onClearControl()\">\r\n <mat-icon class=\"tak-suffix-icon-button\">close</mat-icon>\r\n </button>\r\n }\r\n @if (control.value && hasActionButton && !isDisabled) {\r\n <button matSuffix mat-icon-button type=\"button\" (click)=\"onExecuteAction.emit(control.value)\">\r\n <mat-icon class=\"tak-suffix-icon-button\">{{ actionIcon }}</mat-icon>\r\n </button>\r\n }\r\n @if (countCaracters) {\r\n <mat-hint align=\"end\" class=\"tak-hint\">\r\n {{ control.value?.length || 0 }}/{{ maxLength }}\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n <div [style.maxWidth]=\"countCaracters ? '80%' : '100%'\">\r\n @if (isInvalid || (isSubmitted && control.invalid)) {\r\n <tak-error [control]=\"control\"></tak-error>\r\n }\r\n </div>\r\n</div>\r\n" }]
|
|
165
|
-
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
166
|
-
type: Self
|
|
167
|
-
}, {
|
|
168
|
-
type: Optional
|
|
169
|
-
}] }, { type: i1.FormGroupDirective, decorators: [{
|
|
170
|
-
type: Optional
|
|
171
|
-
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { autocomplete: [{
|
|
172
|
-
type: Input
|
|
173
|
-
}], appearance: [{
|
|
174
|
-
type: Input
|
|
175
|
-
}], floatLabel: [{
|
|
176
|
-
type: Input
|
|
177
|
-
}], color: [{
|
|
178
|
-
type: Input
|
|
179
|
-
}], actionIcon: [{
|
|
180
|
-
type: Input
|
|
181
|
-
}], defaultFilterStyle: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}], hasActionButton: [{
|
|
184
|
-
type: Input
|
|
185
|
-
}], hasClearButton: [{
|
|
186
|
-
type: Input
|
|
187
|
-
}], countCaracters: [{
|
|
188
|
-
type: Input
|
|
189
|
-
}], placeholder: [{
|
|
190
|
-
type: Input
|
|
191
|
-
}], maxLength: [{
|
|
192
|
-
type: Input
|
|
193
|
-
}], minLength: [{
|
|
194
|
-
type: Input
|
|
195
|
-
}], disabled: [{
|
|
196
|
-
type: Input
|
|
197
|
-
}], onExecuteAction: [{
|
|
198
|
-
type: Output
|
|
199
|
-
}], onKeyUp: [{
|
|
200
|
-
type: Output
|
|
201
|
-
}] } });
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvbXBvbmVudHMvZmllbGRzL21vbmV5L2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb21wb25lbnRzL2ZpZWxkcy9tb25leS9jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFFBQVEsRUFFUixLQUFLLEVBQ0wsSUFBSSxFQUNKLE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUtMLFVBQVUsRUFDVixXQUFXLEVBQ1gsbUJBQW1CLEdBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7OztBQWlCeEQsTUFBTSxPQUFPLHNCQUFzQjtJQWdDakMsWUFDOEIsVUFBcUIsRUFDN0IsbUJBQXVDLEVBQ25ELEdBQXNCO1FBRkYsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUM3Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ25ELFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbEN2QixpQkFBWSxHQUFpQixLQUFLLENBQUM7UUFFbkMsZUFBVSxHQUEyQiwyQkFBMkIsQ0FBQztRQUNqRSxl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QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3B0aW9uYWwsXHJcbiAgT25Jbml0LFxyXG4gIElucHV0LFxyXG4gIFNlbGYsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcclxuICBGb3JtR3JvdXBEaXJlY3RpdmUsXHJcbiAgRm9ybUNvbnRyb2wsXHJcbiAgTmdDb250cm9sLFxyXG4gIFZhbGlkYXRvcnMsXHJcbiAgRm9ybXNNb2R1bGUsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUQUtfREVGQVVMVF9BUFBFQVJBTkNFX0ZPUk0gfSBmcm9tICcuLi9jb21tb24nO1xyXG5pbXBvcnQgeyBGbG9hdExhYmVsVHlwZSwgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB9IGZyb20gJ0BrYXRvLWxlZS9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGthdG8tbGVlL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAa2F0by1sZWUvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IFRha0Vycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vZXJyb3IvY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGthdG8tbGVlL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGthdG8tbGVlL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0BrYXRvLWxlZS9tYXRlcmlhbC9pY29uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgVGFrRXJyb3JDb21wb25lbnQsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgXSxcclxuICBzZWxlY3RvcjogJ3Rhay1tb25leS1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRha01vbmV5RmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogJ29mZicgfCAnb24nID0gJ29mZic7XHJcblxyXG4gIEBJbnB1dCgpIGFwcGVhcmFuY2U6IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UgPSBUQUtfREVGQVVMVF9BUFBFQVJBTkNFX0ZPUk07XHJcbiAgQElucHV0KCkgZmxvYXRMYWJlbDogRmxvYXRMYWJlbFR5cGUgPSAnYXV0byc7XHJcbiAgQElucHV0KCkgY29sb3I6IFRoZW1lUGFsZXR0ZSA9ICdwcmltYXJ5JztcclxuICBASW5wdXQoKSBhY3Rpb25JY29uID0gJ3NlYXJjaCc7XHJcblxyXG4gIEBJbnB1dCgpIGRlZmF1bHRGaWx0ZXJTdHlsZSA9IHRydWU7XHJcbiAgQElucHV0KCkgaGFzQWN0aW9uQnV0dG9uID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGFzQ2xlYXJCdXR0b24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNvdW50Q2FyYWN0ZXJzID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuXHJcbiAgQElucHV0KCkgbWF4TGVuZ3RoITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG1pbkxlbmd0aCE6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIG9uRXhlY3V0ZUFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25LZXlVcCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgcHVibGljIG9uQ2hhbmdlRm4gPSAoXzogYW55KSA9PiB7fTtcclxuICBwdWJsaWMgb25Ub3VjaEZuID0gKF86IGFueSkgPT4ge307XHJcblxyXG4gIHByaXZhdGUgX2lzU3VibWl0dGVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIF92YWx1ZSA9ICcnO1xyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcml2YXRlIF9uZ0NvbnRyb2w6IE5nQ29udHJvbCxcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2Zvcm1Hcm91cERpcmVjdGl2ZTogRm9ybUdyb3VwRGlyZWN0aXZlLFxyXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgICBpZiAoX25nQ29udHJvbCkgdGhpcy5fbmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG5cclxuICAgIGlmIChfZm9ybUdyb3VwRGlyZWN0aXZlKSB7XHJcbiAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbiA9IF9mb3JtR3JvdXBEaXJlY3RpdmUubmdTdWJtaXQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLl9pc1N1Ym1pdHRlZCA9IHRydWU7XHJcbiAgICAgICAgX2NkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGZvcm06IGFueSA9IHRoaXMuY29udHJvbDtcclxuXHJcbiAgICBpZiAoZm9ybT8uX3Jhd1ZhbGlkYXRvcnMpIHtcclxuICAgICAgZm9ybS5fcmF3VmFsaWRhdG9ycy5mb3JFYWNoKChyOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoci5uYW1lLmluY2x1ZGVzKCdyZXF1aXJlZCcpKSB0aGlzLl9yZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29udHJvbC5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucGF0dGVybigvXlswLTkuLC1dKyQvKSk7XHJcblxyXG4gICAgaWYgKFsnJywgbnVsbCwgdW5kZWZpbmVkLCAnLSddLmluZGV4T2YodGhpcy5jb250cm9sLnZhbHVlKSA8IDApIHRoaXMuX2FkZEN1cnJlbmN5TWFzaygpO1xyXG5cclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB0aGlzLmNvbnRyb2wuZGlzYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuX2lzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2lzU3VibWl0dGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2VGbiA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaEZuID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlRm4oZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgIHRoaXMuX2FkZEN1cnJlbmN5TWFzaygpO1xyXG4gICAgaWYgKHRoaXMuY29udHJvbC50b3VjaGVkKSB0aGlzLl9vblZhbGlkYXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9hZGRDdXJyZW5jeU1hc2soKSB7XHJcbiAgICBjb25zdCB2YWx1ZUZvcm1hdHRlZCA9IHRoaXMuY29udHJvbC52YWx1ZVxyXG4gICAgICAudG9TdHJpbmcoKVxyXG4gICAgICAucmVwbGFjZSgvLC9nLCAnJylcclxuICAgICAgLnJlcGxhY2UoLyAvZywgJycpXHJcbiAgICAgIC5yZXBsYWNlKCckJywgJycpO1xyXG5cclxuICAgIGlmIChbJycsIG51bGwsIHVuZGVmaW5lZCwgJy0nXS5pbmRleE9mKHZhbHVlRm9ybWF0dGVkKSA8IDAgJiYgIWlzTmFOKE51bWJlcih2YWx1ZUZvcm1hdHRlZCkpKSB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gJyQgJyArIEludGwuTnVtYmVyRm9ybWF0KCdlbi1VUycpLmZvcm1hdChOdW1iZXIodmFsdWVGb3JtYXR0ZWQpKTtcclxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKCt2YWx1ZUZvcm1hdHRlZCk7XHJcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgICB9IGVsc2UgaWYgKFsnLSddLmluZGV4T2YodmFsdWVGb3JtYXR0ZWQpID49IDApIHRoaXMuY29udHJvbC5zZXRWYWx1ZSgnLScpO1xyXG4gICAgZWxzZSB0aGlzLmNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Gb2N1c091dCgpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaEZuKHRydWUpO1xyXG4gICAgLy90aGlzLl9leGVjdXRlSWZJc01vbmV5RmllbGQoKTtcclxuICAgIHRoaXMuX29uVmFsaWRhdGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX29uVmFsaWRhdGUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jb250cm9sLmludmFsaWQpIHRoaXMuX2lzSW52YWxpZCA9IHRydWU7XHJcbiAgICBlbHNlIHRoaXMuX2lzSW52YWxpZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uS2V5RG93bihldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBwYXR0ZXJuID0gL1swLTkuLV0vaS50ZXN0KGV2ZW50LmtleSk7XHJcbiAgICBjb25zdCB2YWxpZEtleUNvZGVzID0gWzgsIDQ2LCAzNywgMzksIDksIDE3LCAxNiwgNjcsIDg2LCAxMDksIDE4OV07XHJcbiAgICByZXR1cm4gcGF0dGVybiB8fCB2YWxpZEtleUNvZGVzLmluZGV4T2YoZXZlbnQua2V5Q29kZSkgPj0gMDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNsZWFyQ29udHJvbCgpOiB2b2lkIHtcclxuICAgIGlmIChbJycsIG51bGwsIHVuZGVmaW5lZF0uaW5kZXhPZih0aGlzLmNvbnRyb2wudmFsdWUpID49IDApIHtcclxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKCcnLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoJycpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3ZhbHVlID0gJyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9uKSB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGdldCBjb250cm9sKCk6IEZvcm1Db250cm9sIHtcclxuICAgIHJldHVybiB0aGlzLl9uZ0NvbnRyb2wuY29udHJvbCBhcyBGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIGdldCBkaXJlY3RpdmUoKTogRm9ybUdyb3VwRGlyZWN0aXZlIHtcclxuICAgIHJldHVybiB0aGlzLl9mb3JtR3JvdXBEaXJlY3RpdmUgYXMgRm9ybUdyb3VwRGlyZWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRGlzYWJsZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbmdDb250cm9sLmRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzU3VibWl0dGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzU3VibWl0dGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzSW52YWxpZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9pc0ludmFsaWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgcmVxdWlyZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0YWstZm9ybS1jb250YWluZXJcIj5cclxuICA8bWF0LWZvcm0tZmllbGRcclxuICAgIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxyXG4gICAgW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWludmFsaWRdPVwiaXNJbnZhbGlkIHx8IChpc1N1Ym1pdHRlZCAmJiBjb250cm9sLmludmFsaWQpXCJcclxuICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxyXG4gICAgW2NvbG9yXT1cImNvbG9yXCJcclxuICA+XHJcbiAgICA8bWF0LWxhYmVsPlxyXG4gICAgICA8bmctY29udGVudCAvPnt7ICcgJyB9fVxyXG4gICAgICBAaWYgKHJlcXVpcmVkKSB7XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YWstZmllbGRfX2Rhbmdlci14XCI+Kjwvc3Bhbj5cclxuICAgICAgfVxyXG4gICAgPC9tYXQtbGFiZWw+XHJcbiAgICA8aW5wdXRcclxuICAgICAgY2xhc3M9XCJtb25leS1pbnB1dFwiXHJcbiAgICAgIG1hdElucHV0XHJcbiAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcclxuICAgICAgKGtleXVwKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgICAgW2F0dHIubWluTGVuZ3RoXT1cIm1pbkxlbmd0aFwiXHJcbiAgICAgIFthdHRyLm1heExlbmd0aF09XCJtYXhMZW5ndGhcIlxyXG4gICAgICAoZm9jdXNvdXQpPVwib25Gb2N1c091dCgpXCJcclxuICAgIC8+XHJcbiAgICBAaWYgKGNvbnRyb2wudmFsdWUgJiYgaGFzQ2xlYXJCdXR0b24gJiYgIWlzRGlzYWJsZWQpIHtcclxuICAgICAgPGJ1dHRvbiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25DbGVhckNvbnRyb2woKVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRhay1zdWZmaXgtaWNvbi1idXR0b25cIj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgfVxyXG4gICAgQGlmIChjb250cm9sLnZhbHVlICYmIGhhc0FjdGlvbkJ1dHRvbiAmJiAhaXNEaXNhYmxlZCkge1xyXG4gICAgICA8YnV0dG9uIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkV4ZWN1dGVBY3Rpb24uZW1pdChjb250cm9sLnZhbHVlKVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRhay1zdWZmaXgtaWNvbi1idXR0b25cIj57eyBhY3Rpb25JY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICB9XHJcbiAgICBAaWYgKGNvdW50Q2FyYWN0ZXJzKSB7XHJcbiAgICAgIDxtYXQtaGludCBhbGlnbj1cImVuZFwiIGNsYXNzPVwidGFrLWhpbnRcIj5cclxuICAgICAgICB7eyBjb250cm9sLnZhbHVlPy5sZW5ndGggfHwgMCB9fS97eyBtYXhMZW5ndGggfX1cclxuICAgICAgPC9tYXQtaGludD5cclxuICAgIH1cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxkaXYgW3N0eWxlLm1heFdpZHRoXT1cImNvdW50Q2FyYWN0ZXJzID8gJzgwJScgOiAnMTAwJSdcIj5cclxuICAgIEBpZiAoaXNJbnZhbGlkIHx8IChpc1N1Ym1pdHRlZCAmJiBjb250cm9sLmludmFsaWQpKSB7XHJcbiAgICAgIDx0YWstZXJyb3IgW2NvbnRyb2xdPVwiY29udHJvbFwiPjwvdGFrLWVycm9yPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
import { Component, Optional, Input, Self, Output, EventEmitter, } from '@angular/core';
|
|
2
|
-
import { Validators, FormsModule, ReactiveFormsModule, } from '@angular/forms';
|
|
3
|
-
import { TAK_DEFAULT_APPEARANCE_FORM } from '../common';
|
|
4
|
-
import { CommonModule } from '@angular/common';
|
|
5
|
-
import { MatFormFieldModule } from '@kato-lee/material/form-field';
|
|
6
|
-
import { TakErrorComponent } from '../error/component';
|
|
7
|
-
import { MatButtonModule } from '@kato-lee/material/button';
|
|
8
|
-
import { MatInputModule } from '@kato-lee/material/input';
|
|
9
|
-
import { MatIconModule } from '@kato-lee/material/icon';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/forms";
|
|
12
|
-
import * as i2 from "@kato-lee/material/form-field";
|
|
13
|
-
import * as i3 from "@kato-lee/material/button";
|
|
14
|
-
import * as i4 from "@kato-lee/material/icon";
|
|
15
|
-
import * as i5 from "@kato-lee/material/input";
|
|
16
|
-
export class TakNumberFieldComponent {
|
|
17
|
-
constructor(_ngControl, _formGroupDirective, _cd) {
|
|
18
|
-
this._ngControl = _ngControl;
|
|
19
|
-
this._formGroupDirective = _formGroupDirective;
|
|
20
|
-
this._cd = _cd;
|
|
21
|
-
this.autocomplete = 'off';
|
|
22
|
-
this.appearance = TAK_DEFAULT_APPEARANCE_FORM;
|
|
23
|
-
this.floatLabel = 'auto';
|
|
24
|
-
this.color = 'primary';
|
|
25
|
-
this.actionIcon = 'search';
|
|
26
|
-
this.hasActionButton = false;
|
|
27
|
-
this.hasClearButton = false;
|
|
28
|
-
this.countCaracters = false;
|
|
29
|
-
this.placeholder = '';
|
|
30
|
-
this.disabled = false;
|
|
31
|
-
this.onExecuteAction = new EventEmitter();
|
|
32
|
-
this.onKeyUp = new EventEmitter();
|
|
33
|
-
this.onChangeFn = (_) => { };
|
|
34
|
-
this.onTouchFn = (_) => { };
|
|
35
|
-
this._isSubmitted = false;
|
|
36
|
-
this._isInvalid = false;
|
|
37
|
-
this._required = false;
|
|
38
|
-
this._value = '';
|
|
39
|
-
if (_ngControl)
|
|
40
|
-
this._ngControl.valueAccessor = this;
|
|
41
|
-
if (_formGroupDirective) {
|
|
42
|
-
this._subscription = _formGroupDirective.ngSubmit.subscribe(() => {
|
|
43
|
-
this._isSubmitted = true;
|
|
44
|
-
_cd.markForCheck();
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
ngOnInit() {
|
|
49
|
-
const form = this.control;
|
|
50
|
-
if (form?._rawValidators) {
|
|
51
|
-
form._rawValidators.forEach((r) => {
|
|
52
|
-
if (r.name.includes('required'))
|
|
53
|
-
this._required = true;
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
if (this.min)
|
|
57
|
-
this.control.addValidators(Validators.min(this.min));
|
|
58
|
-
if (this.max)
|
|
59
|
-
this.control.addValidators(Validators.max(this.max));
|
|
60
|
-
if (this.disabled)
|
|
61
|
-
this.control.disable();
|
|
62
|
-
}
|
|
63
|
-
writeValue(value) {
|
|
64
|
-
if (value === null)
|
|
65
|
-
this._isInvalid = false;
|
|
66
|
-
this._value = value;
|
|
67
|
-
this._isSubmitted = false;
|
|
68
|
-
this._cd.markForCheck();
|
|
69
|
-
}
|
|
70
|
-
registerOnChange(fn) {
|
|
71
|
-
this.onChangeFn = fn;
|
|
72
|
-
}
|
|
73
|
-
registerOnTouched(fn) {
|
|
74
|
-
this.onTouchFn = fn;
|
|
75
|
-
}
|
|
76
|
-
onChange(event) {
|
|
77
|
-
this._value = event.target.value;
|
|
78
|
-
this.onChangeFn(['', null, undefined].indexOf(event.target.value) < 0 ? +event.target.value : null);
|
|
79
|
-
if (this.control.touched)
|
|
80
|
-
this._onValidate();
|
|
81
|
-
}
|
|
82
|
-
onFocusOut() {
|
|
83
|
-
this.onTouchFn(true);
|
|
84
|
-
this._onValidate();
|
|
85
|
-
}
|
|
86
|
-
_onValidate() {
|
|
87
|
-
if (this.control.invalid)
|
|
88
|
-
this._isInvalid = true;
|
|
89
|
-
else
|
|
90
|
-
this._isInvalid = false;
|
|
91
|
-
}
|
|
92
|
-
onClearControl() {
|
|
93
|
-
if (['', null, undefined].indexOf(this.control.value) >= 0) {
|
|
94
|
-
this.control.setValue('', { emitEvent: false });
|
|
95
|
-
}
|
|
96
|
-
else
|
|
97
|
-
this.control.setValue('');
|
|
98
|
-
this._value = '';
|
|
99
|
-
}
|
|
100
|
-
ngOnDestroy() {
|
|
101
|
-
if (this._subscription)
|
|
102
|
-
this._subscription.unsubscribe();
|
|
103
|
-
}
|
|
104
|
-
get control() {
|
|
105
|
-
return this._ngControl.control;
|
|
106
|
-
}
|
|
107
|
-
get directive() {
|
|
108
|
-
return this._formGroupDirective;
|
|
109
|
-
}
|
|
110
|
-
get isDisabled() {
|
|
111
|
-
return this._ngControl.disabled;
|
|
112
|
-
}
|
|
113
|
-
get isSubmitted() {
|
|
114
|
-
return this._isSubmitted;
|
|
115
|
-
}
|
|
116
|
-
get isInvalid() {
|
|
117
|
-
return this._isInvalid;
|
|
118
|
-
}
|
|
119
|
-
get required() {
|
|
120
|
-
return this._required;
|
|
121
|
-
}
|
|
122
|
-
get value() {
|
|
123
|
-
return this._value;
|
|
124
|
-
}
|
|
125
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TakNumberFieldComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i1.FormGroupDirective, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
126
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: TakNumberFieldComponent, isStandalone: true, selector: "tak-number-field", inputs: { autocomplete: "autocomplete", appearance: "appearance", floatLabel: "floatLabel", color: "color", actionIcon: "actionIcon", hasActionButton: "hasActionButton", hasClearButton: "hasClearButton", countCaracters: "countCaracters", placeholder: "placeholder", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength", disabled: "disabled" }, outputs: { onExecuteAction: "onExecuteAction", onKeyUp: "onKeyUp" }, ngImport: i0, template: "<div class=\"tak-form-container\">\r\n <mat-form-field\r\n [floatLabel]=\"floatLabel\"\r\n [class.mat-form-field-invalid]=\"isInvalid || (isSubmitted && control.invalid)\"\r\n [appearance]=\"appearance\"\r\n [color]=\"color\"\r\n >\r\n <mat-label>\r\n <ng-content />{{ ' ' }}\r\n @if (required) {\r\n <span class=\"tak-field__danger-x\">*</span>\r\n }\r\n </mat-label>\r\n <input\r\n type=\"number\"\r\n matInput\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [autocomplete]=\"autocomplete\"\r\n [value]=\"value\"\r\n (keyup)=\"onChange($event)\"\r\n [placeholder]=\"placeholder\"\r\n (change)=\"onChange($event)\"\r\n [disabled]=\"isDisabled\"\r\n [attr.minLength]=\"minLength\"\r\n [attr.maxLength]=\"maxLength\"\r\n (focusout)=\"onFocusOut()\"\r\n />\r\n @if (control.value && hasClearButton && !isDisabled) {\r\n <button matSuffix mat-icon-button type=\"button\" (click)=\"onClearControl()\">\r\n <mat-icon class=\"tak-suffix-icon-button\">close</mat-icon>\r\n </button>\r\n }\r\n @if (control.value && hasActionButton && !isDisabled) {\r\n <button matSuffix mat-icon-button type=\"button\" (click)=\"onExecuteAction.emit(control.value)\">\r\n <mat-icon class=\"tak-suffix-icon-button\">{{ actionIcon }}</mat-icon>\r\n </button>\r\n }\r\n @if (countCaracters) {\r\n <mat-hint align=\"end\" class=\"tak-hint\">\r\n {{ control.value?.length || 0 }}/{{ maxLength }}\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n <div [style.maxWidth]=\"countCaracters ? '80%' : '100%'\">\r\n @if (isInvalid || (isSubmitted && control.invalid)) {\r\n <tak-error [control]=\"control\"></tak-error>\r\n }\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "component", type: TakErrorComponent, selector: "tak-error", inputs: ["control", "start", "end", "isDateField", "isNumberField", "marginTop"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.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"] }] }); }
|
|
127
|
-
}
|
|
128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TakNumberFieldComponent, decorators: [{
|
|
129
|
-
type: Component,
|
|
130
|
-
args: [{ standalone: true, imports: [
|
|
131
|
-
TakErrorComponent,
|
|
132
|
-
FormsModule,
|
|
133
|
-
CommonModule,
|
|
134
|
-
ReactiveFormsModule,
|
|
135
|
-
MatFormFieldModule,
|
|
136
|
-
MatButtonModule,
|
|
137
|
-
MatIconModule,
|
|
138
|
-
MatInputModule,
|
|
139
|
-
], selector: 'tak-number-field', template: "<div class=\"tak-form-container\">\r\n <mat-form-field\r\n [floatLabel]=\"floatLabel\"\r\n [class.mat-form-field-invalid]=\"isInvalid || (isSubmitted && control.invalid)\"\r\n [appearance]=\"appearance\"\r\n [color]=\"color\"\r\n >\r\n <mat-label>\r\n <ng-content />{{ ' ' }}\r\n @if (required) {\r\n <span class=\"tak-field__danger-x\">*</span>\r\n }\r\n </mat-label>\r\n <input\r\n type=\"number\"\r\n matInput\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [autocomplete]=\"autocomplete\"\r\n [value]=\"value\"\r\n (keyup)=\"onChange($event)\"\r\n [placeholder]=\"placeholder\"\r\n (change)=\"onChange($event)\"\r\n [disabled]=\"isDisabled\"\r\n [attr.minLength]=\"minLength\"\r\n [attr.maxLength]=\"maxLength\"\r\n (focusout)=\"onFocusOut()\"\r\n />\r\n @if (control.value && hasClearButton && !isDisabled) {\r\n <button matSuffix mat-icon-button type=\"button\" (click)=\"onClearControl()\">\r\n <mat-icon class=\"tak-suffix-icon-button\">close</mat-icon>\r\n </button>\r\n }\r\n @if (control.value && hasActionButton && !isDisabled) {\r\n <button matSuffix mat-icon-button type=\"button\" (click)=\"onExecuteAction.emit(control.value)\">\r\n <mat-icon class=\"tak-suffix-icon-button\">{{ actionIcon }}</mat-icon>\r\n </button>\r\n }\r\n @if (countCaracters) {\r\n <mat-hint align=\"end\" class=\"tak-hint\">\r\n {{ control.value?.length || 0 }}/{{ maxLength }}\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n <div [style.maxWidth]=\"countCaracters ? '80%' : '100%'\">\r\n @if (isInvalid || (isSubmitted && control.invalid)) {\r\n <tak-error [control]=\"control\"></tak-error>\r\n }\r\n </div>\r\n</div>\r\n" }]
|
|
140
|
-
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
141
|
-
type: Self
|
|
142
|
-
}, {
|
|
143
|
-
type: Optional
|
|
144
|
-
}] }, { type: i1.FormGroupDirective, decorators: [{
|
|
145
|
-
type: Optional
|
|
146
|
-
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { autocomplete: [{
|
|
147
|
-
type: Input
|
|
148
|
-
}], appearance: [{
|
|
149
|
-
type: Input
|
|
150
|
-
}], floatLabel: [{
|
|
151
|
-
type: Input
|
|
152
|
-
}], color: [{
|
|
153
|
-
type: Input
|
|
154
|
-
}], actionIcon: [{
|
|
155
|
-
type: Input
|
|
156
|
-
}], hasActionButton: [{
|
|
157
|
-
type: Input
|
|
158
|
-
}], hasClearButton: [{
|
|
159
|
-
type: Input
|
|
160
|
-
}], countCaracters: [{
|
|
161
|
-
type: Input
|
|
162
|
-
}], placeholder: [{
|
|
163
|
-
type: Input
|
|
164
|
-
}], min: [{
|
|
165
|
-
type: Input
|
|
166
|
-
}], max: [{
|
|
167
|
-
type: Input
|
|
168
|
-
}], minLength: [{
|
|
169
|
-
type: Input
|
|
170
|
-
}], maxLength: [{
|
|
171
|
-
type: Input
|
|
172
|
-
}], disabled: [{
|
|
173
|
-
type: Input
|
|
174
|
-
}], onExecuteAction: [{
|
|
175
|
-
type: Output
|
|
176
|
-
}], onKeyUp: [{
|
|
177
|
-
type: Output
|
|
178
|
-
}] } });
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvbXBvbmVudHMvZmllbGRzL251bWJlci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29tcG9uZW50cy9maWVsZHMvbnVtYmVyL2NvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsUUFBUSxFQUVSLEtBQUssRUFDTCxJQUFJLEVBQ0osTUFBTSxFQUNOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBS0wsVUFBVSxFQUNWLFdBQVcsRUFDWCxtQkFBbUIsR0FDcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBaUJ4RCxNQUFNLE9BQU8sdUJBQXVCO0lBa0NsQyxZQUM4QixVQUFxQixFQUM3QixtQkFBdUMsRUFDbkQsR0FBc0I7UUFGRixlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQzdCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDbkQsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFwQ3ZCLGlCQUFZLEdBQWlCLEtBQUssQ0FBQztRQUVuQyxlQUFVLEdBQTJCLDJCQUEyQixDQUFDO1FBQ2pFLGVBQVUsR0FBbUIsTUFBTSxDQUFDO1FBQ3BDLFVBQUssR0FBaUIsU0FBUyxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxRQUFRLENBQUM7UUFFdEIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFRakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVoQixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDckMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEMsZUFBVSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDNUIsY0FBUyxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFMUIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFTbEIsSUFBSSxVQUFVO1lBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBRXJELElBQUksbUJBQW1CLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDL0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7Z0JBQ3pCLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVNLFFBQVE7UUFDYixNQUFNLElBQUksR0FBUSxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRS9CLElBQUksSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO2dCQUNyQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztvQkFBRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN6RCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxJQUFJLENBQUMsR0FBRztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxJQUFJLENBQUMsR0FBRztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFbkUsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFhO1FBQzdCLElBQUksS0FBSyxLQUFLLElBQUk7WUFBRSxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUM1QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUFPO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxFQUFPO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBVTtRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxVQUFVLENBQ2IsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNuRixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87WUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTztZQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDOztZQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDMUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDakQ7O1lBQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxJQUFJLENBQUMsYUFBYTtZQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFzQixDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxtQkFBeUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7OEdBdElVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDJmQzlDcEMsMndEQWtEQSw0Q0RoQkksaUJBQWlCLHVJQUNqQixXQUFXLDhCQUNYLFlBQVksOEJBQ1osbUJBQW1CLDhCQUNuQixrQkFBa0IsbWJBQ2xCLGVBQWUsMFZBQ2YsYUFBYSxtTEFDYixjQUFjOzsyRkFLTCx1QkFBdUI7a0JBZm5DLFNBQVM7aUNBQ0ksSUFBSSxXQUNQO3dCQUNQLGlCQUFpQjt3QkFDakIsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsY0FBYztxQkFDZixZQUNTLGtCQUFrQjs7MEJBc0N6QixJQUFJOzswQkFBSSxRQUFROzswQkFDaEIsUUFBUTt5RUFuQ0YsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uRGVzdHJveSxcclxuICBPcHRpb25hbCxcclxuICBPbkluaXQsXHJcbiAgSW5wdXQsXHJcbiAgU2VsZixcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcclxuICBGb3JtQ29udHJvbCxcclxuICBOZ0NvbnRyb2wsXHJcbiAgVmFsaWRhdG9ycyxcclxuICBGb3Jtc01vZHVsZSxcclxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRBS19ERUZBVUxUX0FQUEVBUkFOQ0VfRk9STSB9IGZyb20gJy4uL2NvbW1vbic7XHJcbmltcG9ydCB7IEZsb2F0TGFiZWxUeXBlLCBNYXRGb3JtRmllbGRBcHBlYXJhbmNlIH0gZnJvbSAnQGthdG8tbGVlL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAa2F0by1sZWUvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0BrYXRvLWxlZS9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgVGFrRXJyb3JDb21wb25lbnQgfSBmcm9tICcuLi9lcnJvci9jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAa2F0by1sZWUvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAa2F0by1sZWUvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGthdG8tbGVlL21hdGVyaWFsL2ljb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBUYWtFcnJvckNvbXBvbmVudCxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICBdLFxyXG4gIHNlbGVjdG9yOiAndGFrLW51bWJlci1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRha051bWJlckZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBASW5wdXQoKSBhdXRvY29tcGxldGU6ICdvZmYnIHwgJ29uJyA9ICdvZmYnO1xyXG5cclxuICBASW5wdXQoKSBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlID0gVEFLX0RFRkFVTFRfQVBQRUFSQU5DRV9GT1JNO1xyXG4gIEBJbnB1dCgpIGZsb2F0TGFiZWw6IEZsb2F0TGFiZWxUeXBlID0gJ2F1dG8nO1xyXG4gIEBJbnB1dCgpIGNvbG9yOiBUaGVtZVBhbGV0dGUgPSAncHJpbWFyeSc7XHJcbiAgQElucHV0KCkgYWN0aW9uSWNvbiA9ICdzZWFyY2gnO1xyXG5cclxuICBASW5wdXQoKSBoYXNBY3Rpb25CdXR0b24gPSBmYWxzZTtcclxuICBASW5wdXQoKSBoYXNDbGVhckJ1dHRvbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNvdW50Q2FyYWN0ZXJzID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuXHJcbiAgQElucHV0KCkgbWluITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG1heCE6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgbWluTGVuZ3RoITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG1heExlbmd0aCE6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIG9uRXhlY3V0ZUFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25LZXlVcCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgcHVibGljIG9uQ2hhbmdlRm4gPSAoXzogYW55KSA9PiB7fTtcclxuICBwdWJsaWMgb25Ub3VjaEZuID0gKF86IGFueSkgPT4ge307XHJcblxyXG4gIHByaXZhdGUgX2lzU3VibWl0dGVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIF92YWx1ZSA9ICcnO1xyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcml2YXRlIF9uZ0NvbnRyb2w6IE5nQ29udHJvbCxcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2Zvcm1Hcm91cERpcmVjdGl2ZTogRm9ybUdyb3VwRGlyZWN0aXZlLFxyXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgICBpZiAoX25nQ29udHJvbCkgdGhpcy5fbmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG5cclxuICAgIGlmIChfZm9ybUdyb3VwRGlyZWN0aXZlKSB7XHJcbiAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbiA9IF9mb3JtR3JvdXBEaXJlY3RpdmUubmdTdWJtaXQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLl9pc1N1Ym1pdHRlZCA9IHRydWU7XHJcbiAgICAgICAgX2NkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGZvcm06IGFueSA9IHRoaXMuY29udHJvbDtcclxuXHJcbiAgICBpZiAoZm9ybT8uX3Jhd1ZhbGlkYXRvcnMpIHtcclxuICAgICAgZm9ybS5fcmF3VmFsaWRhdG9ycy5mb3JFYWNoKChyOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoci5uYW1lLmluY2x1ZGVzKCdyZXF1aXJlZCcpKSB0aGlzLl9yZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm1pbikgdGhpcy5jb250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5taW4odGhpcy5taW4pKTtcclxuICAgIGlmICh0aGlzLm1heCkgdGhpcy5jb250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5tYXgodGhpcy5tYXgpKTtcclxuXHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgdGhpcy5jb250cm9sLmRpc2FibGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgdGhpcy5faXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5faXNTdWJtaXR0ZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZUZuID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoRm4gPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZShldmVudDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcclxuICAgIHRoaXMub25DaGFuZ2VGbihcclxuICAgICAgWycnLCBudWxsLCB1bmRlZmluZWRdLmluZGV4T2YoZXZlbnQudGFyZ2V0LnZhbHVlKSA8IDAgPyArZXZlbnQudGFyZ2V0LnZhbHVlIDogbnVsbFxyXG4gICAgKTtcclxuICAgIGlmICh0aGlzLmNvbnRyb2wudG91Y2hlZCkgdGhpcy5fb25WYWxpZGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uRm9jdXNPdXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hGbih0cnVlKTtcclxuICAgIHRoaXMuX29uVmFsaWRhdGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX29uVmFsaWRhdGUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jb250cm9sLmludmFsaWQpIHRoaXMuX2lzSW52YWxpZCA9IHRydWU7XHJcbiAgICBlbHNlIHRoaXMuX2lzSW52YWxpZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xlYXJDb250cm9sKCk6IHZvaWQge1xyXG4gICAgaWYgKFsnJywgbnVsbCwgdW5kZWZpbmVkXS5pbmRleE9mKHRoaXMuY29udHJvbC52YWx1ZSkgPj0gMCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoJycsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIH0gZWxzZSB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoJycpO1xyXG4gICAgdGhpcy5fdmFsdWUgPSAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9zdWJzY3JpcHRpb24pIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvbnRyb2woKTogRm9ybUNvbnRyb2wge1xyXG4gICAgcmV0dXJuIHRoaXMuX25nQ29udHJvbC5jb250cm9sIGFzIEZvcm1Db250cm9sO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRpcmVjdGl2ZSgpOiBGb3JtR3JvdXBEaXJlY3RpdmUge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1Hcm91cERpcmVjdGl2ZSBhcyBGb3JtR3JvdXBEaXJlY3RpdmU7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNEaXNhYmxlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9uZ0NvbnRyb2wuZGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNTdWJtaXR0ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNTdWJtaXR0ZWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNJbnZhbGlkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzSW52YWxpZDtcclxuICB9XHJcblxyXG4gIGdldCByZXF1aXJlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZDtcclxuICB9XHJcblxyXG4gIGdldCB2YWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRhay1mb3JtLWNvbnRhaW5lclwiPlxyXG4gIDxtYXQtZm9ybS1maWVsZFxyXG4gICAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiXHJcbiAgICBbY2xhc3MubWF0LWZvcm0tZmllbGQtaW52YWxpZF09XCJpc0ludmFsaWQgfHwgKGlzU3VibWl0dGVkICYmIGNvbnRyb2wuaW52YWxpZClcIlxyXG4gICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXHJcbiAgICBbY29sb3JdPVwiY29sb3JcIlxyXG4gID5cclxuICAgIDxtYXQtbGFiZWw+XHJcbiAgICAgIDxuZy1jb250ZW50IC8+e3sgJyAnIH19XHJcbiAgICAgIEBpZiAocmVxdWlyZWQpIHtcclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRhay1maWVsZF9fZGFuZ2VyLXhcIj4qPC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICA8L21hdC1sYWJlbD5cclxuICAgIDxpbnB1dFxyXG4gICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgbWF0SW5wdXRcclxuICAgICAgW21pbl09XCJtaW5cIlxyXG4gICAgICBbbWF4XT1cIm1heFwiXHJcbiAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcclxuICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcclxuICAgICAgKGtleXVwKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXHJcbiAgICAgIFthdHRyLm1pbkxlbmd0aF09XCJtaW5MZW5ndGhcIlxyXG4gICAgICBbYXR0ci5tYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCJcclxuICAgICAgKGZvY3Vzb3V0KT1cIm9uRm9jdXNPdXQoKVwiXHJcbiAgICAvPlxyXG4gICAgQGlmIChjb250cm9sLnZhbHVlICYmIGhhc0NsZWFyQnV0dG9uICYmICFpc0Rpc2FibGVkKSB7XHJcbiAgICAgIDxidXR0b24gbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uQ2xlYXJDb250cm9sKClcIj5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0YWstc3VmZml4LWljb24tYnV0dG9uXCI+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIH1cclxuICAgIEBpZiAoY29udHJvbC52YWx1ZSAmJiBoYXNBY3Rpb25CdXR0b24gJiYgIWlzRGlzYWJsZWQpIHtcclxuICAgICAgPGJ1dHRvbiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25FeGVjdXRlQWN0aW9uLmVtaXQoY29udHJvbC52YWx1ZSlcIj5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0YWstc3VmZml4LWljb24tYnV0dG9uXCI+e3sgYWN0aW9uSWNvbiB9fTwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgfVxyXG4gICAgQGlmIChjb3VudENhcmFjdGVycykge1xyXG4gICAgICA8bWF0LWhpbnQgYWxpZ249XCJlbmRcIiBjbGFzcz1cInRhay1oaW50XCI+XHJcbiAgICAgICAge3sgY29udHJvbC52YWx1ZT8ubGVuZ3RoIHx8IDAgfX0ve3sgbWF4TGVuZ3RoIH19XHJcbiAgICAgIDwvbWF0LWhpbnQ+XHJcbiAgICB9XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8ZGl2IFtzdHlsZS5tYXhXaWR0aF09XCJjb3VudENhcmFjdGVycyA/ICc4MCUnIDogJzEwMCUnXCI+XHJcbiAgICBAaWYgKGlzSW52YWxpZCB8fCAoaXNTdWJtaXR0ZWQgJiYgY29udHJvbC5pbnZhbGlkKSkge1xyXG4gICAgICA8dGFrLWVycm9yIFtjb250cm9sXT1cImNvbnRyb2xcIj48L3Rhay1lcnJvcj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|