@sd-angular/core 1.3.164 → 1.3.166

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/bundles/sd-angular-core-common.umd.js +4 -4
  2. package/bundles/sd-angular-core-common.umd.js.map +1 -1
  3. package/bundles/sd-angular-core-common.umd.min.js +1 -1
  4. package/bundles/sd-angular-core-common.umd.min.js.map +1 -1
  5. package/bundles/sd-angular-core-grid-material.umd.js +1 -1
  6. package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
  7. package/bundles/sd-angular-core-grid-material.umd.min.js +1 -1
  8. package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
  9. package/bundles/sd-angular-core-input-number.umd.js +1 -1
  10. package/bundles/sd-angular-core-input-number.umd.js.map +1 -1
  11. package/bundles/sd-angular-core-input-number.umd.min.js +1 -1
  12. package/bundles/sd-angular-core-input-number.umd.min.js.map +1 -1
  13. package/bundles/sd-angular-core-table.umd.js +53 -53
  14. package/bundles/sd-angular-core-table.umd.js.map +1 -1
  15. package/bundles/sd-angular-core-table.umd.min.js +1 -1
  16. package/bundles/sd-angular-core-table.umd.min.js.map +1 -1
  17. package/common/sd-angular-core-common.metadata.json +1 -1
  18. package/common/src/lib/directives/sd-for.directive.d.ts +1 -1
  19. package/esm2015/common/src/lib/directives/sd-for.directive.js +5 -5
  20. package/esm2015/grid-material/src/lib/services/grid-filter/grid-filter.service.js +2 -2
  21. package/esm2015/input-number/src/lib/input-number.component.js +2 -2
  22. package/esm2015/table/sd-angular-core-table.js +4 -4
  23. package/esm2015/table/src/lib/components/popup-configuration/popup-configuration.component.js +2 -2
  24. package/esm2015/table/src/lib/components/popup-filter/popup-filter.component.js +2 -2
  25. package/esm2015/table/src/lib/components/table-filter/table-filter.component.js +2 -2
  26. package/esm2015/table/src/lib/directives/sd-table-expand-def.directive.js +15 -0
  27. package/esm2015/table/src/lib/directives/sd-table-filter-def.directive.js +22 -0
  28. package/esm2015/table/src/lib/directives/sd-table-footer-def.directive.js +18 -0
  29. package/esm2015/table/src/lib/services/table-filter/table-filter.service.js +6 -6
  30. package/esm2015/table/src/lib/table.component.js +23 -17
  31. package/esm2015/table/src/lib/table.module.js +4 -21
  32. package/fesm2015/sd-angular-core-common.js +4 -4
  33. package/fesm2015/sd-angular-core-common.js.map +1 -1
  34. package/fesm2015/sd-angular-core-grid-material.js +1 -1
  35. package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
  36. package/fesm2015/sd-angular-core-input-number.js +1 -1
  37. package/fesm2015/sd-angular-core-input-number.js.map +1 -1
  38. package/fesm2015/sd-angular-core-table.js +32 -43
  39. package/fesm2015/sd-angular-core-table.js.map +1 -1
  40. package/input-number/sd-angular-core-input-number.metadata.json +1 -1
  41. package/package.json +1 -1
  42. package/{sd-angular-core-1.3.164.tgz → sd-angular-core-1.3.166.tgz} +0 -0
  43. package/table/sd-angular-core-table.d.ts +3 -3
  44. package/table/sd-angular-core-table.metadata.json +1 -1
  45. package/table/src/lib/components/popup-filter/popup-filter.component.d.ts +1 -1
  46. package/table/src/lib/components/table-filter/table-filter.component.d.ts +1 -1
  47. package/table/src/lib/directives/{sd-material-filter-def.directive.d.ts → sd-table-filter-def.directive.d.ts} +1 -1
  48. package/table/src/lib/directives/{sd-material-footer-def.directive.d.ts → sd-table-footer-def.directive.d.ts} +1 -1
  49. package/table/src/lib/services/table-filter/table-filter.service.d.ts +1 -1
  50. package/table/src/lib/table.component.d.ts +3 -3
  51. package/esm2015/table/src/lib/directives/sd-material-filter-def.directive.js +0 -22
  52. package/esm2015/table/src/lib/directives/sd-material-footer-def.directive.js +0 -18
  53. package/esm2015/table/src/lib/directives/sd-material-sub-information-def.directive.js +0 -15
  54. /package/table/src/lib/directives/{sd-material-sub-information-def.directive.d.ts → sd-table-expand-def.directive.d.ts} +0 -0
@@ -1,19 +1,14 @@
1
1
  import { Injectable, NgModule } from '@angular/core';
2
2
  import { CommonModule, DatePipe, DecimalPipe } from '@angular/common';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { MatFormFieldModule } from '@angular/material/form-field';
5
3
  import { MatIconModule } from '@angular/material/icon';
6
- import { MatInputModule } from '@angular/material/input';
7
4
  import { SdTable } from './table.component';
8
5
  import { MatSortModule } from '@angular/material/sort';
9
6
  import { MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator';
10
7
  import { MatTableModule } from '@angular/material/table';
11
8
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
12
9
  import { CdkTableModule, CdkColumnDef } from '@angular/cdk/table';
13
- import { ScrollingModule } from '@angular/cdk/scrolling';
14
10
  import { DragDropModule } from '@angular/cdk/drag-drop';
15
11
  import { MatMenuModule } from '@angular/material/menu';
16
- import { MatSliderModule } from '@angular/material/slider';
17
12
  import { SdCommandFilterPipe } from './pipes/command-filter.pipe';
18
13
  import { SdCommandDisablePipe } from './pipes/command-disable.pipe';
19
14
  import { SdCommandIconPipe } from './pipes/command-icon.pipe';
@@ -22,8 +17,6 @@ import { MatButtonModule } from '@angular/material/button';
22
17
  import { SdDesktopCellView } from './components/desktop-cell-view/desktop-cell-view.component';
23
18
  import { SdServiceModule } from '@sd-angular/core/service';
24
19
  import { MatTooltipModule } from '@angular/material/tooltip';
25
- import { MatChipsModule } from '@angular/material/chips';
26
- import { MatRadioModule } from '@angular/material/radio';
27
20
  import { SdTabelCellDefDirective } from './directives/sd-table-cell-def.directive';
28
21
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
29
22
  import { SdFilterExternalPipe } from './pipes/filter-external.pipe';
@@ -32,15 +25,14 @@ import { SdTableFilter } from './components/table-filter/table-filter.component'
32
25
  import { SdPopupFilter } from './components/popup-filter/popup-filter.component';
33
26
  import { SdTableFilterService } from './services/table-filter/table-filter.service';
34
27
  import { SdDesktopCommand } from './components/desktop-command/desktop-command.component';
35
- import { SdMaterialFilterDefDirective } from './directives/sd-material-filter-def.directive';
36
- import { SdMaterialFooterDefDirective } from './directives/sd-material-footer-def.directive';
37
- import { SdMaterialSubInformationDefDirective } from './directives/sd-material-sub-information-def.directive';
28
+ import { SdMaterialFilterDefDirective } from './directives/sd-table-filter-def.directive';
29
+ import { SdMaterialFooterDefDirective } from './directives/sd-table-footer-def.directive';
30
+ import { SdMaterialSubInformationDefDirective } from './directives/sd-table-expand-def.directive';
38
31
  import { SdFormModule } from '@sd-angular/core/form';
39
32
  import { MatCheckboxModule } from '@angular/material/checkbox';
40
33
  import { SdPopupConfiguration } from './components/popup-configuration/popup-configuration.component';
41
34
  import { SdTableConfigurationService } from './services/table-configuration.service';
42
35
  import { MatListModule } from '@angular/material/list';
43
- import { MatDividerModule } from '@angular/material/divider';
44
36
  import { SdColumnTooltipPipe } from './pipes/column-tooltip.pipe';
45
37
  import { SdSelectionActionFilterPipe } from './pipes/selection-action-filter.pipe';
46
38
  import { SdSelectionDisablePipe } from './pipes/selection-disable.pipe';
@@ -79,10 +71,6 @@ SdTableModule.decorators = [
79
71
  { type: NgModule, args: [{
80
72
  imports: [
81
73
  CommonModule,
82
- FormsModule,
83
- ReactiveFormsModule,
84
- MatInputModule,
85
- MatFormFieldModule,
86
74
  MatSortModule,
87
75
  MatPaginatorModule,
88
76
  MatTableModule,
@@ -91,18 +79,13 @@ SdTableModule.decorators = [
91
79
  MatButtonModule,
92
80
  MatTooltipModule,
93
81
  MatProgressSpinnerModule,
94
- MatChipsModule,
95
- MatRadioModule,
96
82
  MatSlideToggleModule,
97
83
  MatCheckboxModule,
98
84
  MatListModule,
99
- MatDividerModule,
100
85
  CdkTableModule,
101
86
  DragDropModule,
102
87
  SdFormModule,
103
88
  SdServiceModule,
104
- MatSliderModule,
105
- ScrollingModule,
106
89
  SdCommonModule,
107
90
  SdGroupModule,
108
91
  ],
@@ -154,4 +137,4 @@ SdTableModule.decorators = [
154
137
  ],
155
138
  },] }
156
139
  ];
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS90YWJsZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7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QWM7b0JBQ2QsYUFBYTtpQkFDZDtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osa0JBQWtCO29CQUNsQixhQUFhO29CQUNiLGlCQUFpQjtvQkFDakIsZ0JBQWdCO29CQUNoQixvQkFBb0I7b0JBQ3BCLE9BQU87b0JBRVAsNEJBQTRCO29CQUM1Qix1QkFBdUI7b0JBQ3ZCLDRCQUE0QjtvQkFDNUIsb0NBQW9DO29CQUNwQyxvQkFBb0I7b0JBQ3BCLGFBQWE7b0JBQ2IsYUFBYTtvQkFFYixRQUFRO29CQUNSLG1CQUFtQjtvQkFDbkIsb0JBQW9CO29CQUNwQixpQkFBaUI7b0JBQ2pCLGtCQUFrQjtvQkFDbEIsbUJBQW1CO29CQUNuQixrQkFBa0I7b0JBQ2xCLG9CQUFvQjtvQkFDcEIsMkJBQTJCO29CQUMzQixzQkFBc0I7b0JBQ3RCLHNCQUFzQjtvQkFDdEIsK0JBQStCO29CQUMvQixXQUFXO2lCQUNaO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxPQUFPO29CQUNQLDRCQUE0QjtvQkFDNUIsdUJBQXVCO29CQUN2Qiw0QkFBNEI7b0JBQzVCLG9DQUFvQztpQkFDckM7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULFFBQVE7b0JBQ1IsV0FBVztvQkFDWCxZQUFZO29CQUNaLG9CQUFvQjtvQkFDcEIsMkJBQTJCO29CQUMzQjt3QkFDRSxPQUFPLEVBQUUsZ0JBQWdCO3dCQUN6QixRQUFRLEVBQUUsbUJBQW1CO3FCQUM5QjtpQkFDRjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBEYXRlUGlwZSwgRGVjaW1hbFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IFNkVGFibGUgfSBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9ySW50bCwgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBDZGtUYWJsZU1vZHVsZSwgQ2RrQ29sdW1uRGVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RhYmxlJztcclxuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XHJcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0U2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGVyJztcclxuaW1wb3J0IHsgU2RDb21tYW5kRmlsdGVyUGlwZSB9IGZyb20gJy4vcGlwZXMvY29tbWFuZC1maWx0ZXIucGlwZSc7XHJcbmltcG9ydCB7IFNkQ29tbWFuZERpc2FibGVQaXBlIH0gZnJvbSAnLi9waXBlcy9jb21tYW5kLWRpc2FibGUucGlwZSc7XHJcbmltcG9ydCB7IFNkQ29tbWFuZEljb25QaXBlIH0gZnJvbSAnLi9waXBlcy9jb21tYW5kLWljb24ucGlwZSc7XHJcbmltcG9ydCB7IFNkQ29tbWFuZFRpdGxlUGlwZSB9IGZyb20gJy4vcGlwZXMvY29tbWFuZC10aXRsZS5waXBlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgU2REZXNrdG9wQ2VsbFZpZXcgfSBmcm9tICcuL2NvbXBvbmVudHMvZGVza3RvcC1jZWxsLXZpZXcvZGVza3RvcC1jZWxsLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RTZXJ2aWNlTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XHJcbmltcG9ydCB7IFNkVGFiZWxDZWxsRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NkLXRhYmxlLWNlbGwtZGVmLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcclxuaW1wb3J0IHsgU2RGaWx0ZXJFeHRlcm5hbFBpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbHRlci1leHRlcm5hbC5waXBlJztcclxuaW1wb3J0IHsgU2RGaWx0ZXJDb2x1bW5QaXBlIH0gZnJvbSAnLi9waXBlcy9maWx0ZXItY29sdW1uLnBpcGUnO1xyXG5pbXBvcnQgeyBTZFRhYmxlRmlsdGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWZpbHRlci90YWJsZS1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RQb3B1cEZpbHRlciB9IGZyb20gJy4vY29tcG9uZW50cy9wb3B1cC1maWx0ZXIvcG9wdXAtZmlsdGVyLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBTZFRhYmxlRmlsdGVyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdGFibGUtZmlsdGVyL3RhYmxlLWZpbHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2REZXNrdG9wQ29tbWFuZCB9IGZyb20gJy4vY29tcG9uZW50cy9kZXNrdG9wLWNvbW1hbmQvZGVza3RvcC1jb21tYW5kLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkTWF0ZXJpYWxGaWx0ZXJEZWZEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2QtbWF0ZXJpYWwtZmlsdGVyLWRlZi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTZE1hdGVyaWFsRm9vdGVyRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NkLW1hdGVyaWFsLWZvb3Rlci1kZWYuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2RNYXRlcmlhbFN1YkluZm9ybWF0aW9uRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NkLW1hdGVyaWFsLXN1Yi1pbmZvcm1hdGlvbi1kZWYuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2RGb3JtTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9mb3JtJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IFNkUG9wdXBDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL3BvcHVwLWNvbmZpZ3VyYXRpb24vcG9wdXAtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZFRhYmxlQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3RhYmxlLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xyXG5pbXBvcnQgeyBTZENvbHVtblRvb2x0aXBQaXBlIH0gZnJvbSAnLi9waXBlcy9jb2x1bW4tdG9vbHRpcC5waXBlJztcclxuaW1wb3J0IHsgU2RTZWxlY3Rpb25BY3Rpb25GaWx0ZXJQaXBlIH0gZnJvbSAnLi9waXBlcy9zZWxlY3Rpb24tYWN0aW9uLWZpbHRlci5waXBlJztcclxuaW1wb3J0IHsgU2RTZWxlY3Rpb25EaXNhYmxlUGlwZSB9IGZyb20gJy4vcGlwZXMvc2VsZWN0aW9uLWRpc2FibGUucGlwZSc7XHJcbmltcG9ydCB7IFNkU2VsZWN0aW9uVmlzaWJsZVNlbGVjdEFsbFBpcGUgfSBmcm9tICcuL3BpcGVzL3NlbGVjdGlvbi12aXNpYmxlLXNlbGVjdC1hbGwucGlwZSc7XHJcbmltcG9ydCB7IFNkRGVza3RvcENlbGwgfSBmcm9tICcuL2NvbXBvbmVudHMvZGVza3RvcC1jZWxsL2Rlc2t0b3AtY2VsbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZENvbHVtbklubGluZUZpbHRlciB9IGZyb20gJy4vY29tcG9uZW50cy9jb2x1bW4taW5saW5lLWZpbHRlci9jb2x1bW4taW5saW5lLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZFNlbGVjdGlvblZpc2libGVQaXBlIH0gZnJvbSAnLi9waXBlcy9zZWxlY3Rpb24tdmlzaWJsZS5waXBlJztcclxuaW1wb3J0IHsgU2RUYWJsZVF1aWNrQWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL3F1aWNrLWFjdGlvbi9xdWljay1hY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RDb21tb25Nb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2NvbW1vbic7XHJcbmltcG9ydCB7IFNkR3JvdXBQaXBlIH0gZnJvbSAnLi9waXBlcy9zZC1ncm91cC5waXBlJztcclxuaW1wb3J0IHsgU2RHcm91cE1vZHVsZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvZ3JvdXAnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTWF0UGFnaW5hdG9ySW50bENybyBleHRlbmRzIE1hdFBhZ2luYXRvckludGwge1xyXG4gIGZpcnN0UGFnZUxhYmVsID0gJ1RyYW5nIMSR4bqndSc7XHJcbiAgbGFzdFBhZ2VMYWJlbCA9ICdUcmFuZyBjdeG7kWknO1xyXG4gIGl0ZW1zUGVyUGFnZUxhYmVsID0gJ0vDrWNoIHRoxrDhu5tjIHRyYW5nJztcclxuICBuZXh0UGFnZUxhYmVsID0gJ1RyYW5nIHNhdSc7XHJcbiAgcHJldmlvdXNQYWdlTGFiZWwgPSAnVHJhbmcgdHLGsOG7m2MnO1xyXG5cclxuICBnZXRSYW5nZUxhYmVsID0gKHBhZ2U6IG51bWJlciwgcGFnZVNpemU6IG51bWJlciwgbGVuZ3RoOiBudW1iZXIpID0+IHtcclxuICAgIGlmIChsZW5ndGggPT09IDAgfHwgcGFnZVNpemUgPT09IDApIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZnJvbSA9IHBhZ2UgKiBwYWdlU2l6ZSArIDE7XHJcbiAgICBjb25zdCB0byA9IGZyb20gKyAobGVuZ3RoIC0gcGFnZSAqIHBhZ2VTaXplID4gcGFnZVNpemUgPyBwYWdlU2l6ZSA6IGxlbmd0aCAtIHBhZ2UgKiBwYWdlU2l6ZSkgLSAxO1xyXG4gICAgcmV0dXJuIGAke2Zyb219LSR7dG99IHRyw6puICR7bGVuZ3RofWA7XHJcbiAgfTtcclxufVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdFNvcnRNb2R1bGUsXHJcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXHJcbiAgICBNYXRUYWJsZU1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgTWF0TGlzdE1vZHVsZSxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgICBDZGtUYWJsZU1vZHVsZSxcclxuICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgU2RGb3JtTW9kdWxlLFxyXG4gICAgU2RTZXJ2aWNlTW9kdWxlLFxyXG4gICAgTWF0U2xpZGVyTW9kdWxlLFxyXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxyXG4gICAgU2RDb21tb25Nb2R1bGUsXHJcbiAgICBTZEdyb3VwTW9kdWxlLFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTZFRhYmxlUXVpY2tBY3Rpb24sXHJcbiAgICBTZERlc2t0b3BDZWxsLFxyXG4gICAgU2REZXNrdG9wQ2VsbFZpZXcsXHJcbiAgICBTZERlc2t0b3BDb21tYW5kLFxyXG4gICAgU2RDb2x1bW5JbmxpbmVGaWx0ZXIsXHJcbiAgICBTZFRhYmxlLFxyXG5cclxuICAgIFNkTWF0ZXJpYWxGb290ZXJEZWZEaXJlY3RpdmUsXHJcbiAgICBTZFRhYmVsQ2VsbERlZkRpcmVjdGl2ZSxcclxuICAgIFNkTWF0ZXJpYWxGaWx0ZXJEZWZEaXJlY3RpdmUsXHJcbiAgICBTZE1hdGVyaWFsU3ViSW5mb3JtYXRpb25EZWZEaXJlY3RpdmUsXHJcbiAgICBTZFBvcHVwQ29uZmlndXJhdGlvbixcclxuICAgIFNkVGFibGVGaWx0ZXIsXHJcbiAgICBTZFBvcHVwRmlsdGVyLFxyXG5cclxuICAgIC8vIFBpcGVzXHJcbiAgICBTZENvbW1hbmRGaWx0ZXJQaXBlLFxyXG4gICAgU2RDb21tYW5kRGlzYWJsZVBpcGUsXHJcbiAgICBTZENvbW1hbmRJY29uUGlwZSxcclxuICAgIFNkQ29tbWFuZFRpdGxlUGlwZSxcclxuICAgIFNkQ29sdW1uVG9vbHRpcFBpcGUsXHJcbiAgICBTZEZpbHRlckNvbHVtblBpcGUsXHJcbiAgICBTZEZpbHRlckV4dGVybmFsUGlwZSxcclxuICAgIFNkU2VsZWN0aW9uQWN0aW9uRmlsdGVyUGlwZSxcclxuICAgIFNkU2VsZWN0aW9uVmlzaWJsZVBpcGUsXHJcbiAgICBTZFNlbGVjdGlvbkRpc2FibGVQaXBlLFxyXG4gICAgU2RTZWxlY3Rpb25WaXNpYmxlU2VsZWN0QWxsUGlwZSxcclxuICAgIFNkR3JvdXBQaXBlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU2RUYWJsZSxcclxuICAgIFNkTWF0ZXJpYWxGb290ZXJEZWZEaXJlY3RpdmUsXHJcbiAgICBTZFRhYmVsQ2VsbERlZkRpcmVjdGl2ZSxcclxuICAgIFNkTWF0ZXJpYWxGaWx0ZXJEZWZEaXJlY3RpdmUsXHJcbiAgICBTZE1hdGVyaWFsU3ViSW5mb3JtYXRpb25EZWZEaXJlY3RpdmUsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIERhdGVQaXBlLFxyXG4gICAgRGVjaW1hbFBpcGUsXHJcbiAgICBDZGtDb2x1bW5EZWYsXHJcbiAgICBTZFRhYmxlRmlsdGVyU2VydmljZSxcclxuICAgIFNkVGFibGVDb25maWd1cmF0aW9uU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTWF0UGFnaW5hdG9ySW50bCxcclxuICAgICAgdXNlQ2xhc3M6IE1hdFBhZ2luYXRvckludGxDcm8sXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZFRhYmxlTW9kdWxlIHt9XHJcbiJdfQ==
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS90YWJsZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUs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QztpQkFDckM7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULFFBQVE7b0JBQ1IsV0FBVztvQkFDWCxZQUFZO29CQUNaLG9CQUFvQjtvQkFDcEIsMkJBQTJCO29CQUMzQjt3QkFDRSxPQUFPLEVBQUUsZ0JBQWdCO3dCQUN6QixRQUFRLEVBQUUsbUJBQW1CO3FCQUM5QjtpQkFDRjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBEYXRlUGlwZSwgRGVjaW1hbFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IFNkVGFibGUgfSBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9ySW50bCwgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBDZGtUYWJsZU1vZHVsZSwgQ2RrQ29sdW1uRGVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RhYmxlJztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBTZENvbW1hbmRGaWx0ZXJQaXBlIH0gZnJvbSAnLi9waXBlcy9jb21tYW5kLWZpbHRlci5waXBlJztcclxuaW1wb3J0IHsgU2RDb21tYW5kRGlzYWJsZVBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbW1hbmQtZGlzYWJsZS5waXBlJztcclxuaW1wb3J0IHsgU2RDb21tYW5kSWNvblBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbW1hbmQtaWNvbi5waXBlJztcclxuaW1wb3J0IHsgU2RDb21tYW5kVGl0bGVQaXBlIH0gZnJvbSAnLi9waXBlcy9jb21tYW5kLXRpdGxlLnBpcGUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBTZERlc2t0b3BDZWxsVmlldyB9IGZyb20gJy4vY29tcG9uZW50cy9kZXNrdG9wLWNlbGwtdmlldy9kZXNrdG9wLWNlbGwtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZFNlcnZpY2VNb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL3NlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IFNkVGFiZWxDZWxsRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NkLXRhYmxlLWNlbGwtZGVmLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcclxuaW1wb3J0IHsgU2RGaWx0ZXJFeHRlcm5hbFBpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbHRlci1leHRlcm5hbC5waXBlJztcclxuaW1wb3J0IHsgU2RGaWx0ZXJDb2x1bW5QaXBlIH0gZnJvbSAnLi9waXBlcy9maWx0ZXItY29sdW1uLnBpcGUnO1xyXG5pbXBvcnQgeyBTZFRhYmxlRmlsdGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWZpbHRlci90YWJsZS1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RQb3B1cEZpbHRlciB9IGZyb20gJy4vY29tcG9uZW50cy9wb3B1cC1maWx0ZXIvcG9wdXAtZmlsdGVyLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBTZFRhYmxlRmlsdGVyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdGFibGUtZmlsdGVyL3RhYmxlLWZpbHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2REZXNrdG9wQ29tbWFuZCB9IGZyb20gJy4vY29tcG9uZW50cy9kZXNrdG9wLWNvbW1hbmQvZGVza3RvcC1jb21tYW5kLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkTWF0ZXJpYWxGaWx0ZXJEZWZEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2QtdGFibGUtZmlsdGVyLWRlZi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTZE1hdGVyaWFsRm9vdGVyRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NkLXRhYmxlLWZvb3Rlci1kZWYuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2RNYXRlcmlhbFN1YkluZm9ybWF0aW9uRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NkLXRhYmxlLWV4cGFuZC1kZWYuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2RGb3JtTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9mb3JtJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IFNkUG9wdXBDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL3BvcHVwLWNvbmZpZ3VyYXRpb24vcG9wdXAtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZFRhYmxlQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3RhYmxlLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgU2RDb2x1bW5Ub29sdGlwUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLXRvb2x0aXAucGlwZSc7XHJcbmltcG9ydCB7IFNkU2VsZWN0aW9uQWN0aW9uRmlsdGVyUGlwZSB9IGZyb20gJy4vcGlwZXMvc2VsZWN0aW9uLWFjdGlvbi1maWx0ZXIucGlwZSc7XHJcbmltcG9ydCB7IFNkU2VsZWN0aW9uRGlzYWJsZVBpcGUgfSBmcm9tICcuL3BpcGVzL3NlbGVjdGlvbi1kaXNhYmxlLnBpcGUnO1xyXG5pbXBvcnQgeyBTZFNlbGVjdGlvblZpc2libGVTZWxlY3RBbGxQaXBlIH0gZnJvbSAnLi9waXBlcy9zZWxlY3Rpb24tdmlzaWJsZS1zZWxlY3QtYWxsLnBpcGUnO1xyXG5pbXBvcnQgeyBTZERlc2t0b3BDZWxsIH0gZnJvbSAnLi9jb21wb25lbnRzL2Rlc2t0b3AtY2VsbC9kZXNrdG9wLWNlbGwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RDb2x1bW5JbmxpbmVGaWx0ZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvY29sdW1uLWlubGluZS1maWx0ZXIvY29sdW1uLWlubGluZS1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RTZWxlY3Rpb25WaXNpYmxlUGlwZSB9IGZyb20gJy4vcGlwZXMvc2VsZWN0aW9uLXZpc2libGUucGlwZSc7XHJcbmltcG9ydCB7IFNkVGFibGVRdWlja0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9xdWljay1hY3Rpb24vcXVpY2stYWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9jb21tb24nO1xyXG5pbXBvcnQgeyBTZEdyb3VwUGlwZSB9IGZyb20gJy4vcGlwZXMvc2QtZ3JvdXAucGlwZSc7XHJcbmltcG9ydCB7IFNkR3JvdXBNb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2dyb3VwJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1hdFBhZ2luYXRvckludGxDcm8gZXh0ZW5kcyBNYXRQYWdpbmF0b3JJbnRsIHtcclxuICBmaXJzdFBhZ2VMYWJlbCA9ICdUcmFuZyDEkeG6p3UnO1xyXG4gIGxhc3RQYWdlTGFiZWwgPSAnVHJhbmcgY3Xhu5FpJztcclxuICBpdGVtc1BlclBhZ2VMYWJlbCA9ICdLw61jaCB0aMaw4bubYyB0cmFuZyc7XHJcbiAgbmV4dFBhZ2VMYWJlbCA9ICdUcmFuZyBzYXUnO1xyXG4gIHByZXZpb3VzUGFnZUxhYmVsID0gJ1RyYW5nIHRyxrDhu5tjJztcclxuXHJcbiAgZ2V0UmFuZ2VMYWJlbCA9IChwYWdlOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKSA9PiB7XHJcbiAgICBpZiAobGVuZ3RoID09PSAwIHx8IHBhZ2VTaXplID09PSAwKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIGNvbnN0IGZyb20gPSBwYWdlICogcGFnZVNpemUgKyAxO1xyXG4gICAgY29uc3QgdG8gPSBmcm9tICsgKGxlbmd0aCAtIHBhZ2UgKiBwYWdlU2l6ZSA+IHBhZ2VTaXplID8gcGFnZVNpemUgOiBsZW5ndGggLSBwYWdlICogcGFnZVNpemUpIC0gMTtcclxuICAgIHJldHVybiBgJHtmcm9tfS0ke3RvfSB0csOqbiAke2xlbmd0aH1gO1xyXG4gIH07XHJcbn1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0U29ydE1vZHVsZSxcclxuICAgIE1hdFBhZ2luYXRvck1vZHVsZSxcclxuICAgIE1hdFRhYmxlTW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxyXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICBDZGtUYWJsZU1vZHVsZSxcclxuICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgU2RGb3JtTW9kdWxlLFxyXG4gICAgU2RTZXJ2aWNlTW9kdWxlLFxyXG4gICAgU2RDb21tb25Nb2R1bGUsXHJcbiAgICBTZEdyb3VwTW9kdWxlLFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTZFRhYmxlUXVpY2tBY3Rpb24sXHJcbiAgICBTZERlc2t0b3BDZWxsLFxyXG4gICAgU2REZXNrdG9wQ2VsbFZpZXcsXHJcbiAgICBTZERlc2t0b3BDb21tYW5kLFxyXG4gICAgU2RDb2x1bW5JbmxpbmVGaWx0ZXIsXHJcbiAgICBTZFRhYmxlLFxyXG5cclxuICAgIFNkTWF0ZXJpYWxGb290ZXJEZWZEaXJlY3RpdmUsXHJcbiAgICBTZFRhYmVsQ2VsbERlZkRpcmVjdGl2ZSxcclxuICAgIFNkTWF0ZXJpYWxGaWx0ZXJEZWZEaXJlY3RpdmUsXHJcbiAgICBTZE1hdGVyaWFsU3ViSW5mb3JtYXRpb25EZWZEaXJlY3RpdmUsXHJcbiAgICBTZFBvcHVwQ29uZmlndXJhdGlvbixcclxuICAgIFNkVGFibGVGaWx0ZXIsXHJcbiAgICBTZFBvcHVwRmlsdGVyLFxyXG5cclxuICAgIC8vIFBpcGVzXHJcbiAgICBTZENvbW1hbmRGaWx0ZXJQaXBlLFxyXG4gICAgU2RDb21tYW5kRGlzYWJsZVBpcGUsXHJcbiAgICBTZENvbW1hbmRJY29uUGlwZSxcclxuICAgIFNkQ29tbWFuZFRpdGxlUGlwZSxcclxuICAgIFNkQ29sdW1uVG9vbHRpcFBpcGUsXHJcbiAgICBTZEZpbHRlckNvbHVtblBpcGUsXHJcbiAgICBTZEZpbHRlckV4dGVybmFsUGlwZSxcclxuICAgIFNkU2VsZWN0aW9uQWN0aW9uRmlsdGVyUGlwZSxcclxuICAgIFNkU2VsZWN0aW9uVmlzaWJsZVBpcGUsXHJcbiAgICBTZFNlbGVjdGlvbkRpc2FibGVQaXBlLFxyXG4gICAgU2RTZWxlY3Rpb25WaXNpYmxlU2VsZWN0QWxsUGlwZSxcclxuICAgIFNkR3JvdXBQaXBlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU2RUYWJsZSxcclxuICAgIFNkTWF0ZXJpYWxGb290ZXJEZWZEaXJlY3RpdmUsXHJcbiAgICBTZFRhYmVsQ2VsbERlZkRpcmVjdGl2ZSxcclxuICAgIFNkTWF0ZXJpYWxGaWx0ZXJEZWZEaXJlY3RpdmUsXHJcbiAgICBTZE1hdGVyaWFsU3ViSW5mb3JtYXRpb25EZWZEaXJlY3RpdmUsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIERhdGVQaXBlLFxyXG4gICAgRGVjaW1hbFBpcGUsXHJcbiAgICBDZGtDb2x1bW5EZWYsXHJcbiAgICBTZFRhYmxlRmlsdGVyU2VydmljZSxcclxuICAgIFNkVGFibGVDb25maWd1cmF0aW9uU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTWF0UGFnaW5hdG9ySW50bCxcclxuICAgICAgdXNlQ2xhc3M6IE1hdFBhZ2luYXRvckludGxDcm8sXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZFRhYmxlTW9kdWxlIHt9XHJcbiJdfQ==
@@ -906,7 +906,7 @@ class SdForDirective {
906
906
  this.itemsAtOnce = 20;
907
907
  this.intervalLength = 50;
908
908
  }
909
- set ngxtForOf(items) {
909
+ set sdForOf(items) {
910
910
  this.items = items;
911
911
  if (items) {
912
912
  this._diffrence = this.differs.find(items).create();
@@ -972,9 +972,9 @@ SdForDirective.ctorParameters = () => [
972
972
  { type: IterableDiffers }
973
973
  ];
974
974
  SdForDirective.propDecorators = {
975
- ngxtForOf: [{ type: Input, args: ['ngxtForOf',] }],
976
- itemsAtOnce: [{ type: Input, args: ['ngxtForItemsAtOnce',] }],
977
- intervalLength: [{ type: Input, args: ['ngxtForIntervalLength',] }]
975
+ sdForOf: [{ type: Input, args: ['sdForOf',] }],
976
+ itemsAtOnce: [{ type: Input, args: ['sdForItemsAtOnce',] }],
977
+ intervalLength: [{ type: Input, args: ['sdForIntervalLength',] }]
978
978
  };
979
979
 
980
980
  // import './typings';
@@ -1 +1 @@
1
- {"version":3,"file":"sd-angular-core-common.js","sources":["../../../../projects/sd-core/common/src/lib/typings/array.extension.ts","../../../../projects/sd-core/common/src/lib/typings/date.extension.ts","../../../../projects/sd-core/common/src/lib/typings/number.extension.ts","../../../../projects/sd-core/common/src/lib/typings/string.extension.ts","../../../../projects/sd-core/common/src/lib/others/detectIncognito.ts","../../../../projects/sd-core/common/src/lib/typings/utility.extension.ts","../../../../projects/sd-core/common/src/lib/configurations/firebase.configuration.ts","../../../../projects/sd-core/common/src/lib/configurations/form.configuration.ts","../../../../projects/sd-core/common/src/lib/models/sd-form-control.ts","../../../../projects/sd-core/common/src/lib/services/browser.service.ts","../../../../projects/sd-core/common/src/lib/directives/view-def.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-let.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-scroll.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-suffix.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-lable.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-for.directive.ts","../../../../projects/sd-core/common/src/lib/common.module.ts","../../../../projects/sd-core/common/sd-angular-core-common.ts"],"sourcesContent":["import { Observable, of } from 'rxjs';\r\n\r\nexport { };\r\n\r\ndeclare global {\r\n interface Array<T = any> {\r\n search(searchText: string | number, fields?: string | string[]): T[];\r\n paging(pageSize: number, page?: number): T[];\r\n toObject(key?: string): { [key: string]: T };\r\n union(key?: string, ...args: T[][]): T[];\r\n asObservable(): Observable<T[]>\r\n }\r\n interface ArrayConstructor {\r\n search<T = any>(items: T[], searchText: string | number, fields?: string | string[]): T[];\r\n union<T = any>(key: string, ...args: T[][]): T[];\r\n toObject<T = any>(items: T[], key?: string): { [key: string]: T };\r\n }\r\n}\r\n\r\nArray.prototype.search = function <T = any>(searchText: any, fields?: string | string[]): T[] {\r\n const items: T[] = this;\r\n if (!searchText?.toString()) {\r\n return items;\r\n }\r\n if (Array.isArray(fields)) {\r\n const fs = fields.filter(e => e !== undefined && e !== null && e !== '');\r\n if (!fs.length) {\r\n return items.filter(item => item !== undefined && item !== null && String.aliasIncludes(item, searchText));\r\n }\r\n return items.filter(item => item !== undefined && item !== null && fs.some(field => String.aliasIncludes(item[field], searchText)));\r\n }\r\n if (!fields) {\r\n return items.filter(item => item !== undefined && item !== null && String.aliasIncludes(item, searchText));\r\n }\r\n return items.filter(item => item !== undefined && item !== null && String.aliasIncludes(item[fields], searchText));\r\n};\r\n\r\nArray.prototype.paging = function <T = any>(pageSize: number, page: number = 0): T[] {\r\n const items: T[] = this;\r\n return items.filter((item, index) => {\r\n return index >= page * pageSize\r\n && index < (page + 1) * pageSize;\r\n });\r\n};\r\n\r\nArray.prototype.toObject = function <T = any>(key: string): { [key: string]: T } {\r\n const items: T[] = this;\r\n if (!key) {\r\n return items.filter(item => item !== undefined && item !== null).reduce((obj, item) => { obj[item?.toString()] = item; return obj; }, {});\r\n }\r\n return items.filter(item => item !== undefined && item !== null).reduce((obj, item) => { obj[item[key]?.toString()] = item; return obj; }, {});\r\n};\r\n\r\nArray.prototype.union = function <T = any>(key?: string, ...args: T[][]) {\r\n let results: T[] = this;\r\n const filterUnion = <T = any>(val: T, index: number, self: T[]) => val !== undefined && val !== null && self.findIndex((e: { [x: string]: any; }) => !!key ? e[key] === val[key] : e === val) === index;\r\n if (!args?.length) {\r\n return results.filter(filterUnion);\r\n }\r\n for (const arg of args) {\r\n if (Array.isArray(arg)) {\r\n results = [...results, ...arg].filter(filterUnion);\r\n }\r\n }\r\n return results;\r\n}\r\n\r\nArray.prototype.asObservable = function <T = any>() {\r\n const items: T[] = this;\r\n return of(items);\r\n}\r\n\r\nArray.search = <T = any>(items: T[], searchText: string | number, fields?: string | string[]) => {\r\n if (!Array.isArray(items)) {\r\n return [];\r\n }\r\n return items.search(searchText, fields);\r\n};\r\n\r\nArray.union = <T = any>(key: string, ...args: T[][]) => {\r\n return [].union(key, ...args);\r\n}\r\n\r\nArray.toObject = <T>(items: T[], key?: string): { [key: string]: T } => {\r\n if (!Array.isArray(items)) {\r\n return {};\r\n }\r\n return items.toObject(key);\r\n}\r\n\r\n","export { };\r\n\r\ndeclare global {\r\n interface Date {\r\n begin(): Date;\r\n end(): Date;\r\n addMiliseconds(miliseconds: number): Date;\r\n addHours(hours: number): Date;\r\n addDays(days: number): Date;\r\n addMonths(months: number): Date;\r\n toFormat(format: string): string;\r\n }\r\n interface DateConstructor {\r\n equal(date1: any, date2: any): boolean;\r\n parseFrom(value: any, format: string): Date;\r\n isDate(value: any): boolean;\r\n toFormat(value: any, format: string): string;\r\n addMiliseconds(value: any, miliseconds: number): Date;\r\n addHours(value: any, hours: number): Date;\r\n addDays(value: any, days: number): Date;\r\n addMonths(value: any, months: number): Date;\r\n begin(value: any): Date;\r\n end(value: any): Date;\r\n diffDays(from: any, to: any): number;\r\n }\r\n}\r\n\r\nDate.equal = (date1: any, date2: any) => {\r\n if (!Date.isDate(date1) && !Date.isDate(date2)) {\r\n return true;\r\n }\r\n if (!Date.isDate(date1) || !Date.isDate(date2)) {\r\n return false;\r\n }\r\n return new Date(date1).getTime() === new Date(date2).getTime();\r\n};\r\n\r\nDate.parseFrom = (value: any, format: string) => {\r\n if (!value) {\r\n return null;\r\n }\r\n if (!format) {\r\n return null;\r\n }\r\n value = value.toString();\r\n const dmy = format.indexOf('dd') > -1 && format.indexOf('MM') > -1 && format.indexOf('yyyy') > -1;\r\n const hms = format.indexOf('HH') > -1 || format.indexOf('mm') > -1 || format.indexOf('ss') > -1;\r\n let strDate = '';\r\n if (dmy) {\r\n const dd = value.substr(format.indexOf('dd'), 'dd'.length);\r\n const MM = value.substr(format.indexOf('MM'), 'MM'.length);\r\n const yyyy = value.substr(format.indexOf('yyyy'), 'yyyy'.length);\r\n if (+yyyy > 0 && +MM > 0 && +dd > 0) {\r\n strDate += `${MM}/${dd}/${yyyy}`;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n const today = new Date();\r\n const yyyy = today.getFullYear().toString();\r\n const MM = (today.getMonth() + 1).toString().padStart(2, '0');\r\n const dd = today.getDate().toString().padStart(2, '0');\r\n strDate += `${MM}/${dd}/${yyyy}`;\r\n }\r\n if (hms) {\r\n const HH = format.indexOf('HH') > -1 ? value.substr(format.indexOf('HH'), 'HH'.length) : '00';\r\n const mm = format.indexOf('mm') > -1 ? value.substr(format.indexOf('mm'), 'mm'.length) : '00';\r\n const ss = format.indexOf('ss') > -1 ? value.substr(format.indexOf('ss'), 'ss'.length) : '00';\r\n strDate += ` ${HH || '00'}:${mm || '00'}:${ss || '00'}`;\r\n }\r\n if (!Date.isDate(strDate)) {\r\n return null;\r\n }\r\n return new Date(strDate);\r\n};\r\n\r\nDate.isDate = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const date = new Date(value);\r\n return !isNaN(date.getTime());\r\n};\r\n\r\nDate.toFormat = (value: any, format: string): string => {\r\n if (!Date.isDate(value)) {\r\n return '';\r\n }\r\n const date: Date = new Date(value);\r\n return date.toFormat(format);\r\n};\r\n\r\nDate.addMiliseconds = (value: any, miliseconds: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addMiliseconds(miliseconds);\r\n};\r\n\r\nDate.addHours = (value: any, hours: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addHours(hours);\r\n};\r\n\r\nDate.addDays = (value: any, days: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addDays(days);\r\n};\r\n\r\nDate.addMonths = (value: any, months: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addMonths(months);\r\n};\r\n\r\nDate.begin = (value: any) => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n return new Date(Date.toFormat(value, 'MM/dd/yyyy'));\r\n};\r\n\r\nDate.end = (value: any) => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n return new Date(value).addDays(1).begin().addMiliseconds(-1);\r\n};\r\n\r\nDate.diffDays = (from: any, to: any) => {\r\n if (!Date.isDate(from) || !Date.isDate(to)) {\r\n return undefined;\r\n }\r\n const diffTime = new Date(to).getTime() - new Date(from).getTime();\r\n const diffDays = Math.round((diffTime / (1000 * 60 * 60 * 24)) * 100) / 100; \r\n return diffDays;\r\n};\r\n\r\nDate.prototype.begin = function () {\r\n return new Date(this.toFormat('MM/dd/yyyy'));\r\n};\r\n\r\nDate.prototype.end = function () {\r\n const date: Date = this;\r\n return date.addDays(1).begin().addMiliseconds(-1);\r\n};\r\n\r\nDate.prototype.addMiliseconds = function (miliseconds: number) {\r\n const date: Date = this;\r\n date.setMilliseconds(date.getMilliseconds() + miliseconds);\r\n return date;\r\n};\r\n\r\nDate.prototype.addHours = function (hours: number) {\r\n const date: Date = this;\r\n date.setHours(date.getHours() + hours);\r\n return date;\r\n};\r\n\r\nDate.prototype.addDays = function (days: number) {\r\n const date: Date = this;\r\n date.setDate(date.getDate() + days);\r\n return date;\r\n};\r\n\r\nDate.prototype.addMonths = function (months: number) {\r\n const date: Date = this;\r\n date.setMonth(date.getMonth() + months);\r\n return date;\r\n};\r\n\r\nDate.prototype.toFormat = function (format: string) {\r\n const date: Date = this;\r\n let result = format;\r\n result = result.replace('yyyy', date.getFullYear().toString());\r\n result = result.replace('MM', (date.getMonth() + 1).toString().padStart(2, '0'));\r\n result = result.replace('dd', date.getDate().toString().padStart(2, '0'));\r\n result = result.replace('HH', date.getHours().toString().padStart(2, '0'));\r\n result = result.replace('mm', date.getMinutes().toString().padStart(2, '0'));\r\n result = result.replace('ss', date.getSeconds().toString().padStart(2, '0'));\r\n return result;\r\n};\r\n","export { };\r\n\r\ndeclare global {\r\n interface NumberConstructor {\r\n toVNCurrency(value: any, digits?: number): string;\r\n isNumber(value: any): boolean;\r\n isPositiveInteger(value: any): boolean;\r\n isPositiveNumber(value: any): boolean;\r\n round(value: any, digits?: number): number;\r\n }\r\n}\r\n\r\nNumber.toVNCurrency = (value: any, digits?: number) => {\r\n value = (value ?? '').toString().replace(/,/g, '');\r\n if (!value) {\r\n return null;\r\n }\r\n const val = +value;\r\n if (!Number.isNaN(val)) {\r\n if(!digits && digits !== 0) {\r\n return val.toLocaleString('vi-VN', { maximumFractionDigits: 10 });\r\n }\r\n return val.toLocaleString('vi-VN', { maximumFractionDigits: digits });\r\n }\r\n return null;\r\n};\r\n\r\nNumber.isPositiveInteger = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const regex = /^([0-9]*)$/;\r\n return regex.test(value) && +value > 0;\r\n};\r\n\r\nNumber.isPositiveNumber = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const regex = /^([0-9]*)(\\.[0-9]+$){0,1}$/;\r\n return regex.test(value) && +value > 0;\r\n};\r\n\r\nNumber.isNumber = (value: any) => {\r\n if (value === undefined || value === null || value === '') {\r\n return false;\r\n }\r\n return !Number.isNaN(+value);\r\n};\r\n\r\nNumber.round = (value: any, digits?: number) => {\r\n digits = digits ?? 2;\r\n if (!Number.isNumber(value)) {\r\n return null;\r\n }\r\n const val = Math.pow(10, digits);\r\n return Math.round(value * val) / val;\r\n};","export { };\r\n\r\ndeclare global {\r\n interface StringConstructor {\r\n isValidEmail(value: any): boolean;\r\n isValidPhone(value: any): boolean;\r\n isValidCode(value: any): boolean;\r\n changeAliasLowerCase(alias: any): string;\r\n aliasIncludes(alias: any, searchText: any): boolean;\r\n format(template: string, ...arr: any[]): string;\r\n templateToDisplay(template: string, entity: any): string; // Convert theo format ${key}\r\n encrypt(obj: any): string;\r\n decrypt(encripted: string): any;\r\n isNullOrEmpty(value: any): boolean;\r\n isNullOrWhiteSpace(value: any): boolean;\r\n }\r\n}\r\n\r\nString.isValidEmail = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\r\n return re.test(value);\r\n};\r\n\r\nString.isValidPhone = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/;\r\n return re.test(value);\r\n};\r\n\r\nString.isValidCode = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^[a-zA-Z0-9\\@\\_\\-]{2,20}$/;\r\n return re.test(value);\r\n};\r\n\r\nString.isNullOrEmpty = (value: any) => {\r\n return value === undefined || value === null || value === '';\r\n};\r\n\r\nString.isNullOrWhiteSpace = (value: any) => {\r\n return value === undefined || value === null || typeof value !== 'string' || value.match(/^ *$/) !== null;\r\n};\r\n\r\nString.changeAliasLowerCase = (alias: any) => {\r\n let str: string = alias?.toString() ?? '';\r\n str = str.toString().toLowerCase();\r\n str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, 'a');\r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, 'e');\r\n str = str.replace(/ì|í|ị|ỉ|ĩ/g, 'i');\r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, 'o');\r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, 'u');\r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, 'y');\r\n str = str.replace(/đ/g, 'd');\r\n str = str.replace(/!|@|%|\\^|\\*|\\(|\\)|\\+|\\=|\\<|\\>|\\?|\\/|,|\\.|\\:|\\;|\\'|\\\"|\\&|\\#|\\[|\\]|~|\\$|_|`|-|{|}|\\||\\\\/g, ' ');\r\n str = str.replace(/ + /g, ' ');\r\n str = str.trim();\r\n return str;\r\n}\r\n\r\nString.aliasIncludes = (alias: any, searchText: any) => {\r\n return String.changeAliasLowerCase(alias).includes(String.changeAliasLowerCase(searchText));\r\n}\r\n\r\nString.format = (template: string, ...arr: any[]) => {\r\n for (let i = 0; i < arr.length; i++) {\r\n const regexp = new RegExp(`\\\\{${i}\\\\}`, 'gi');\r\n template = template.replace(regexp, arr[i]);\r\n }\r\n return template;\r\n}\r\n\r\nString.templateToDisplay = (template: string, entity: any) => {\r\n if (!template) {\r\n return template;\r\n }\r\n const regex = /\\$\\{([A-Za-z._\\-]*)\\}/g;\r\n const matches = template.match(regex) || [];\r\n for (const match of matches) {\r\n const key = match.slice(2, match.length - 1);\r\n if (key) {\r\n template = template.replace(match, entity?.[key] || '');\r\n }\r\n }\r\n return template;\r\n}\r\n\r\nconst SALT = 'cb9f4b2a-d26c-4787-a66e-e7130ee00f95';\r\n\r\nString.encrypt = (obj: any) => {\r\n obj = JSON.stringify(obj).split('');\r\n for (var i = 0, l = obj.length; i < l; i++)\r\n if (obj[i] == '{')\r\n obj[i] = '}';\r\n else if (obj[i] == '}')\r\n obj[i] = '{';\r\n return encodeURI(SALT + obj.join(''));\r\n}\r\n\r\nString.decrypt = (encripted: string) => {\r\n encripted = decodeURI(encripted);\r\n if (SALT && encripted.indexOf(SALT) != 0)\r\n throw new Error('object cannot be decrypted');\r\n const strs = encripted.substring(SALT.length).split('');\r\n for (let i = 0, l = strs.length; i < l; i++)\r\n if (strs[i] == '{')\r\n strs[i] = '}';\r\n else if (encripted[i] == '}')\r\n strs[i] = '{';\r\n return JSON.parse(strs.join(''));\r\n}\r\n","/**\r\n *\r\n * detectIncognito v1.3.0 - (c) 2022 Joe Rutkowski <Joe@dreggle.com> (https://github.com/Joe12387/detectIncognito)\r\n *\r\n **/\r\nexport const detectIncognito = (): Promise<{\r\n isPrivate: boolean;\r\n browserName: string;\r\n}> => {\r\n return new Promise( (resolve, reject) => {\r\n let browserName = 'Unknown';\r\n\r\n function __callback(isPrivate: any): void {\r\n resolve({\r\n isPrivate,\r\n browserName,\r\n });\r\n }\r\n\r\n function identifyChromium(): string {\r\n const ua = navigator.userAgent;\r\n if (ua.match(/Chrome/)) {\r\n if ((navigator as any).brave !== undefined) {\r\n return 'Brave';\r\n } else if (ua.match(/Edg/)) {\r\n return 'Edge';\r\n } else if (ua.match(/OPR/)) {\r\n return 'Opera';\r\n }\r\n return 'Chrome';\r\n } else {\r\n return 'Chromium';\r\n }\r\n }\r\n\r\n function assertEvalToString(value: any): boolean {\r\n return value === eval.toString().length;\r\n }\r\n\r\n function isSafari(): boolean {\r\n const v = navigator.vendor;\r\n return (\r\n v !== undefined && v.indexOf('Apple') === 0 && assertEvalToString(37)\r\n );\r\n }\r\n\r\n function isChrome(): boolean {\r\n const v = navigator.vendor;\r\n return (\r\n v !== undefined && v.indexOf('Google') === 0 && assertEvalToString(33)\r\n );\r\n }\r\n\r\n function isFirefox(): boolean {\r\n return (\r\n document.documentElement !== undefined &&\r\n (document as any).documentElement.style.MozAppearance !== undefined &&\r\n assertEvalToString(37)\r\n );\r\n }\r\n\r\n function isMSIE(): boolean {\r\n return (\r\n (navigator as any).msSaveBlob !== undefined && assertEvalToString(39)\r\n );\r\n }\r\n\r\n /**\r\n * Safari (Safari for iOS & macOS)\r\n **/\r\n\r\n function newSafariTest(): void {\r\n // tslint:disable-next-line:variable-name\r\n const tmp_name = String(Math.random());\r\n\r\n try {\r\n const db = window.indexedDB.open(tmp_name, 1);\r\n\r\n db.onupgradeneeded = (i) => {\r\n // @ts-ignore\r\n const res = i.target?.result;\r\n\r\n try {\r\n res.createObjectStore('test', {\r\n autoIncrement: true,\r\n // tslint:disable-next-line:new-parens\r\n }).put(new Blob);\r\n\r\n __callback(false);\r\n } catch (e) {\r\n let message = e;\r\n\r\n if (e instanceof Error) {\r\n message = e.message ?? e;\r\n }\r\n\r\n if (typeof message !== 'string') {\r\n return __callback(false);\r\n }\r\n\r\n const matchesExpectedError = /BlobURLs are not yet supported/.test(message);\r\n\r\n return __callback(matchesExpectedError);\r\n } finally {\r\n res.close();\r\n window.indexedDB.deleteDatabase(tmp_name);\r\n }\r\n };\r\n } catch (e) {\r\n return __callback(false);\r\n }\r\n }\r\n\r\n function oldSafariTest(): void {\r\n const openDB = (window as any).openDatabase;\r\n const storage = window.localStorage;\r\n try {\r\n openDB(null, null, null, null);\r\n } catch (e) {\r\n return __callback(true);\r\n }\r\n try {\r\n storage.setItem('test', '1');\r\n storage.removeItem('test');\r\n } catch (e) {\r\n return __callback(true);\r\n }\r\n return __callback(false);\r\n }\r\n\r\n function safariPrivateTest(): void {\r\n if (navigator.maxTouchPoints !== undefined) {\r\n newSafariTest();\r\n } else {\r\n oldSafariTest();\r\n }\r\n }\r\n\r\n /**\r\n * Chrome\r\n **/\r\n\r\n function getQuotaLimit(): number {\r\n const w = window as any;\r\n if (\r\n w.performance !== undefined &&\r\n w.performance.memory !== undefined &&\r\n w.performance.memory.jsHeapSizeLimit !== undefined\r\n ) {\r\n return (performance as any).memory.jsHeapSizeLimit;\r\n }\r\n return 1073741824;\r\n }\r\n\r\n // >= 76\r\n function storageQuotaChromePrivateTest(): void {\r\n (navigator as any).webkitTemporaryStorage.queryUsageAndQuota(\r\n (_: number, quota: number) => {\r\n const quotaInMib = Math.round(quota / (1024 * 1024));\r\n const quotaLimitInMib = Math.round(getQuotaLimit() / (1024 * 1024)) * 2;\r\n\r\n __callback(quotaInMib < quotaLimitInMib);\r\n },\r\n (e: any) => {\r\n reject(\r\n new Error(\r\n 'detectIncognito somehow failed to query storage quota: ' +\r\n e.message\r\n )\r\n );\r\n }\r\n );\r\n }\r\n\r\n // 50 to 75\r\n function oldChromePrivateTest(): void {\r\n const fs = (window as any).webkitRequestFileSystem;\r\n const success = () => {\r\n __callback(false);\r\n };\r\n const error = () => {\r\n __callback(true);\r\n };\r\n fs(0, 1, success, error);\r\n }\r\n\r\n function chromePrivateTest(): void {\r\n if (self.Promise !== undefined && (self.Promise as any).allSettled !== undefined) {\r\n storageQuotaChromePrivateTest();\r\n } else {\r\n oldChromePrivateTest();\r\n }\r\n }\r\n\r\n /**\r\n * Firefox\r\n **/\r\n\r\n function firefoxPrivateTest(): void {\r\n __callback(navigator.serviceWorker === undefined);\r\n }\r\n\r\n /**\r\n * MSIE\r\n **/\r\n\r\n function msiePrivateTest(): void {\r\n __callback(window.indexedDB === undefined);\r\n }\r\n\r\n function main(): void {\r\n if (isSafari()) {\r\n browserName = 'Safari';\r\n safariPrivateTest();\r\n } else if (isChrome()) {\r\n browserName = identifyChromium();\r\n chromePrivateTest();\r\n } else if (isFirefox()) {\r\n browserName = 'Firefox';\r\n firefoxPrivateTest();\r\n } else if (isMSIE()) {\r\n browserName = 'Internet Explorer';\r\n msiePrivateTest();\r\n } else {\r\n reject(new Error('detectIncognito cannot determine the browser'));\r\n }\r\n }\r\n\r\n main();\r\n });\r\n};\r\n","import { detectIncognito } from '../others/detectIncognito';\r\n\r\nexport { };\r\n// declare var Date: DateConstructor;\r\ninterface SdUtilityContructor {\r\n upload: (option?: {\r\n extensions?: string[];\r\n maxSizeInMb?: number;\r\n validator?: (fileName: string) => string;\r\n }) => Promise<File | null>;\r\n download: (filePath: string, fileName?: string) => void;\r\n downloadBlob: (blob: Blob, fileName?: string) => void;\r\n changeAliasLowerCase: (alias: string) => string;\r\n copyToClipboard: (text: string) => void;\r\n allWithPaging: <T = any>(func: (pageSize: number, pageNumber: number) => Promise<{\r\n items: T[];\r\n total: number;\r\n }>, defaultPageSize?: number) => Promise<T[]>;\r\n isPrivateMode: () => Promise<boolean>;\r\n}\r\n\r\n\r\nconst upload = (option?: {\r\n extensions?: string[],\r\n maxSizeInMb?: number,\r\n validator?: (fileName: string) => string\r\n}) => {\r\n const uploadId = 'U1e09c1c0-b647-437e-995e-d7a1a1b60550';\r\n const promise = new Promise<File | null>((resolve, reject) => {\r\n const body = document.getElementsByTagName('body')?.[0];\r\n if (!body) {\r\n resolve(null);\r\n return;\r\n }\r\n const existedElement = document.getElementById(uploadId);\r\n if (existedElement) {\r\n existedElement.remove();\r\n }\r\n const element = document.createElement('input');\r\n element.setAttribute('id', uploadId);\r\n element.setAttribute('type', 'file');\r\n element.style.display = 'none';\r\n body.appendChild(element);\r\n element.addEventListener('change', (evt: any) => {\r\n try {\r\n const target = evt.target as DataTransfer;\r\n const file = target.files.item(0);\r\n if (file) {\r\n const lastDot = file.name.lastIndexOf('.');\r\n if (lastDot === -1) {\r\n throw new Error(`File không đúng định dạng`);\r\n }\r\n const extension = file.name.substring(lastDot + 1);\r\n if (option) {\r\n if (option.extensions?.length && !option.extensions.some(e => e.toUpperCase() === extension.toUpperCase())) {\r\n throw new Error(`File không đúng định dạng`);\r\n }\r\n if (option.maxSizeInMb && option.maxSizeInMb > 0 && option.maxSizeInMb * 1024 * 1024 < file.size) {\r\n const message = `[${file.name}] Dung lượng tối đa ${option.maxSizeInMb} Mbs`;\r\n throw new Error(message);\r\n }\r\n if (option.validator && option.validator(file.name)) {\r\n const message = option.validator(file.name);\r\n throw new Error(message);\r\n }\r\n }\r\n resolve(file);\r\n }\r\n } catch (error) {\r\n reject(error);\r\n }\r\n });\r\n element.click();\r\n });\r\n return promise;\r\n}\r\n\r\nconst generateFileName = (fileName?: string) => {\r\n if (!fileName) {\r\n return `File_${new Date().toFormat('yyyy_MM_dd_HH_mm')}`;\r\n }\r\n const strs = fileName.split('.');\r\n if (strs.length > 1) {\r\n const ext = strs.splice(strs.length - 1, 1)[0];\r\n return `${strs.join('.')}_${new Date().toFormat('yyyy_MM_dd_HH_mm')}.${ext}`;\r\n }\r\n return `${fileName}_${new Date().toFormat('yyyy_MM_dd_HH_mm')}`;\r\n}\r\n\r\nconst download = (filePath: string, fileName?: string) => {\r\n const link = document.createElement('a');\r\n link.download = generateFileName(fileName);\r\n link.href = filePath;\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n}\r\n\r\nconst downloadBlob = (blob: Blob, fileName?: string) => {\r\n try {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n if (link.download !== undefined) { // feature detection\r\n link.download = generateFileName(fileName);\r\n link.href = url;\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n window.URL.revokeObjectURL(url);\r\n link.remove();\r\n }\r\n } catch (e) {\r\n console.error('BlobToSaveAs error', e);\r\n }\r\n}\r\n\r\nconst changeAliasLowerCase = (alias: string) => {\r\n let str = alias?.toString() ?? '';\r\n str = str.toString().toLowerCase();\r\n str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, 'a');\r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, 'e');\r\n str = str.replace(/ì|í|ị|ỉ|ĩ/g, 'i');\r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, 'o');\r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, 'u');\r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, 'y');\r\n str = str.replace(/đ/g, 'd');\r\n str = str.replace(/!|@|%|\\^|\\*|\\(|\\)|\\+|\\=|\\<|\\>|\\?|\\/|,|\\.|\\:|\\;|\\'|\\\"|\\&|\\#|\\[|\\]|~|\\$|_|`|-|{|}|\\||\\\\/g, ' ');\r\n str = str.replace(/ + /g, ' ');\r\n str = str.trim();\r\n return str;\r\n}\r\n\r\nconst copyToClipboard = (text: string) => {\r\n navigator.clipboard.writeText(text);\r\n}\r\n\r\nconst allWithPaging = async <T = any>(func: (pageSize: number, pageNumber: number) => Promise<{ items: T[], total: number }>, defaultPageSize?: number): Promise<T[]> => {\r\n let pageSize = defaultPageSize || 1000;\r\n let pageNumber = 0;\r\n let count = 0;\r\n let items: T[] = [];\r\n while (true) {\r\n const res = await func(pageSize, pageNumber);\r\n if (Array(res?.items) && res?.total > 0) {\r\n items = [...items, ...res.items];\r\n count += res.items.length;\r\n pageNumber++;\r\n if (count >= res.total || !res.items?.length) {\r\n return items;\r\n }\r\n } else {\r\n return [];\r\n }\r\n }\r\n}\r\n\r\nconst isPrivateMode = async (): Promise<boolean> => {\r\n const check = await detectIncognito();\r\n return check.isPrivate;\r\n}\r\n\r\nvar SdUtility: SdUtilityContructor = {\r\n upload,\r\n download,\r\n downloadBlob,\r\n changeAliasLowerCase,\r\n copyToClipboard,\r\n allWithPaging,\r\n isPrivateMode,\r\n};\r\n\r\ndeclare global {\r\n var SdUtility: SdUtilityContructor;\r\n}\r\nglobalThis.SdUtility = SdUtility;\r\n","import { InjectionToken } from \"@angular/core\";\r\n\r\nexport interface IFirebaseConfiguration {\r\n functionUrl: string;\r\n project: string;\r\n env: string;\r\n folder?: string | (() => string);\r\n}\r\n\r\nexport const FIREBASE_CONFIG = new InjectionToken<IFirebaseConfiguration>('sd.firebase.configuration');","import { InjectionToken } from \"@angular/core\";\r\nimport { MatFormFieldAppearance } from \"@angular/material/form-field\";\r\n\r\nexport interface IFormConfiguration {\r\n appearance?: MatFormFieldAppearance; \r\n}\r\n\r\nexport const FORM_CONFIG = new InjectionToken<IFormConfiguration>('sd.form.configuration');","import { FormControl, AsyncValidatorFn, ValidatorFn } from '@angular/forms';\r\nimport { Subject } from 'rxjs';\r\nexport class SdFormControl extends FormControl {\r\n sdChanges: Subject<boolean> = new Subject<boolean>();\r\n untouchChanges: Subject<boolean> = new Subject<boolean>();\r\n touchChanges: Subject<boolean> = new Subject<boolean>();\r\n pristineChanges: Subject<boolean> = new Subject<boolean>();\r\n constructor(\r\n formState?: Object,\r\n validator: ValidatorFn | ValidatorFn[] = null,\r\n asyncValidator: AsyncValidatorFn | AsyncValidatorFn[] = null\r\n ) {\r\n super(formState, validator, asyncValidator);\r\n }\r\n\r\n markAsUntouched({ onlySelf }: { onlySelf?: boolean } = {}): void {\r\n super.markAsUntouched({ onlySelf });\r\n this.untouchChanges.next(true);\r\n this.sdChanges.next(true);\r\n }\r\n\r\n markAsTouched({ onlySelf }: { onlySelf?: boolean } = {}): void {\r\n super.markAsTouched({ onlySelf });\r\n this.touchChanges.next(true);\r\n this.sdChanges.next(true);\r\n }\r\n\r\n markAsPristine(opts?: {\r\n onlySelf?: boolean;\r\n }): void {\r\n super.markAsPristine(opts);\r\n this.pristineChanges.next(true);\r\n this.sdChanges.next(true);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdBrowserService {\r\n browerName: string;\r\n browserVersion: string;\r\n get isChrome() { return this.browerName === 'Chrome'; }\r\n get isFirefox() { return this.browerName === 'Firefox'; }\r\n get isSafari() { return this.browerName === 'Safari'; }\r\n constructor() {\r\n const browserNameAndVersion = this.#getBrowserNameAndVersion();\r\n this.browerName = browserNameAndVersion.name;\r\n this.browserVersion = browserNameAndVersion.version;\r\n }\r\n\r\n #getBrowserNameAndVersion = () => {\r\n const ua = navigator.userAgent;\r\n let M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\r\n let tem: RegExpMatchArray;\r\n if (/trident/i.test(M[1])) {\r\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n return { name: 'IE', version: (tem[1] || '') };\r\n }\r\n if (M[1] === 'Chrome') {\r\n tem = ua.match(/\\bEdg\\/(\\d+)/);\r\n if (tem != null) { return { name: 'Edge(Chromium)', version: tem[1] }; }\r\n tem = ua.match(/\\bOPR\\/(\\d+)/);\r\n if (tem != null) { return { name: 'Opera', version: tem[1] }; }\r\n }\r\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\r\n tem = ua.match(/version\\/(\\d+)/i);\r\n if (tem != null) { M.splice(1, 1, tem[1]); }\r\n return {\r\n name: M[0],\r\n version: M[1]\r\n };\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdViewDef]'\r\n})\r\nexport class SdViewDefDirective {\r\n // @Input() sdViewDef: string;\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { Directive, Input, TemplateRef, ViewContainerRef } from \"@angular/core\";\r\n@Directive({\r\n selector: '[sdLet]',\r\n})\r\nexport class SdLetDirective {\r\n @Input()\r\n set sdLet(context: any) {\r\n this.context.$implicit = this.context.sdLet = context;\r\n this.#updateView();\r\n }\r\n context: any = {};\r\n\r\n constructor(private vcRef: ViewContainerRef, private templateRef: TemplateRef<any>) { }\r\n\r\n #updateView = () => {\r\n this.vcRef.clear();\r\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\r\n }\r\n}","import { Directive, ElementRef, HostListener, OnInit, Renderer2 } from \"@angular/core\";\r\nimport { SdBrowserService } from '../services/browser.service';\r\n\r\n@Directive({\r\n selector: \"[sdScroll]\",\r\n})\r\nexport class SdScrollDirective implements OnInit {\r\n #overflow: 'hidden' | 'auto' | 'overlay' = 'hidden';\r\n @HostListener('mouseover')\r\n onMouseOver() {\r\n this.#overflow = this.browserService.isFirefox ? 'auto' : 'overlay';\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', this.#overflow);\r\n }\r\n\r\n @HostListener('mouseout')\r\n onMouseOut() {\r\n this.#overflow = 'hidden';\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', this.#overflow);\r\n }\r\n constructor(\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n private browserService: SdBrowserService) { }\r\n\r\n ngOnInit(): void {\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-transform', 'translate3d(0, 0, 0)');\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', this.#overflow);\r\n }\r\n\r\n scrollTop = () => {\r\n setTimeout(() => {\r\n if (this.elementRef?.nativeElement) {\r\n this.elementRef.nativeElement.scrollTop = 0; \r\n }\r\n }, 1);\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdSuffix]'\r\n})\r\nexport class SdSuffixDirective {\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdLabelDef]'\r\n})\r\nexport class SdLabelDefDirective {\r\n // @Input() sdLableDef: string;\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import {\r\n Directive,\r\n Input,\r\n IterableChangeRecord,\r\n IterableDiffer,\r\n IterableDiffers,\r\n TemplateRef,\r\n ViewContainerRef,\r\n ViewRef\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdFor]'\r\n})\r\nexport class SdForDirective {\r\n private items: any[] = [];\r\n private viewRefsMap: Map<any, ViewRef> = new Map<any, ViewRef>();\r\n private _diffrence: IterableDiffer<any> | undefined;\r\n\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainer: ViewContainerRef,\r\n private differs: IterableDiffers\r\n ) {}\r\n\r\n @Input('ngxtForOf')\r\n public set ngxtForOf(items: any) {\r\n this.items = items;\r\n if (items) {\r\n this._diffrence = this.differs.find(items).create();\r\n }\r\n //Clear any existing items\r\n this.viewContainer.clear();\r\n }\r\n\r\n @Input('ngxtForItemsAtOnce')\r\n public itemsAtOnce: number = 20;\r\n\r\n @Input('ngxtForIntervalLength')\r\n public intervalLength: number = 50;\r\n\r\n public ngDoCheck(): void {\r\n if (this._diffrence) {\r\n const changes = this._diffrence.diff(this.items);\r\n if (changes) {\r\n const itemsAdded: any[] = [];\r\n changes.forEachAddedItem(item => {\r\n itemsAdded.push(item);\r\n });\r\n\r\n this.progressiveRender(itemsAdded);\r\n\r\n changes.forEachRemovedItem(item => {\r\n const mapView = this.viewRefsMap.get(item.item) as ViewRef;\r\n const viewIndex = this.viewContainer.indexOf(mapView);\r\n this.viewContainer.remove(viewIndex);\r\n this.viewRefsMap.delete(item.item);\r\n });\r\n }\r\n }\r\n }\r\n\r\n private progressiveRender(items: IterableChangeRecord<any>[]) {\r\n let interval: any;\r\n let start = 0;\r\n let end = start + this.itemsAtOnce;\r\n if (end > items.length) {\r\n end = items.length;\r\n }\r\n this.renderItems(items, start, end);\r\n\r\n interval = setInterval(() => {\r\n start = end;\r\n end = start + this.itemsAtOnce;\r\n if (end > items.length) {\r\n end = items.length;\r\n }\r\n this.renderItems(items, start, end);\r\n if (start >= items.length) {\r\n clearInterval(interval);\r\n }\r\n }, this.intervalLength);\r\n }\r\n\r\n private renderItems(\r\n items: IterableChangeRecord<any>[],\r\n start: number,\r\n end: number\r\n ) {\r\n items.slice(start, end).forEach(item => {\r\n const embeddedView = this.viewContainer.createEmbeddedView(\r\n this.templateRef,\r\n {\r\n $implicit: item.item\r\n },\r\n item.currentIndex || 0\r\n );\r\n this.viewRefsMap.set(item.item, embeddedView);\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdViewDefDirective } from './directives/view-def.directive';\r\nimport { SdLetDirective } from './directives/sd-let.directive';\r\nimport { SdScrollDirective } from './directives/sd-scroll.directive';\r\nimport { SdSuffixDirective } from './directives/sd-suffix.directive';\r\nimport { SdLabelDefDirective } from './directives/sd-lable.directive';\r\nimport { SdForDirective } from './directives/sd-for.directive';\r\n// import './typings';\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n SdForDirective,\r\n SdViewDefDirective,\r\n SdLetDirective,\r\n SdScrollDirective,\r\n SdSuffixDirective,\r\n SdLabelDefDirective\r\n ],\r\n exports: [\r\n SdForDirective,\r\n SdViewDefDirective,\r\n SdLetDirective,\r\n SdScrollDirective,\r\n SdSuffixDirective,\r\n SdLabelDefDirective\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdCommonModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {SdForDirective as ɵa} from './src/lib/directives/sd-for.directive';"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sd-angular-core-common.js","sources":["../../../../projects/sd-core/common/src/lib/typings/array.extension.ts","../../../../projects/sd-core/common/src/lib/typings/date.extension.ts","../../../../projects/sd-core/common/src/lib/typings/number.extension.ts","../../../../projects/sd-core/common/src/lib/typings/string.extension.ts","../../../../projects/sd-core/common/src/lib/others/detectIncognito.ts","../../../../projects/sd-core/common/src/lib/typings/utility.extension.ts","../../../../projects/sd-core/common/src/lib/configurations/firebase.configuration.ts","../../../../projects/sd-core/common/src/lib/configurations/form.configuration.ts","../../../../projects/sd-core/common/src/lib/models/sd-form-control.ts","../../../../projects/sd-core/common/src/lib/services/browser.service.ts","../../../../projects/sd-core/common/src/lib/directives/view-def.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-let.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-scroll.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-suffix.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-lable.directive.ts","../../../../projects/sd-core/common/src/lib/directives/sd-for.directive.ts","../../../../projects/sd-core/common/src/lib/common.module.ts","../../../../projects/sd-core/common/sd-angular-core-common.ts"],"sourcesContent":["import { Observable, of } from 'rxjs';\r\n\r\nexport { };\r\n\r\ndeclare global {\r\n interface Array<T = any> {\r\n search(searchText: string | number, fields?: string | string[]): T[];\r\n paging(pageSize: number, page?: number): T[];\r\n toObject(key?: string): { [key: string]: T };\r\n union(key?: string, ...args: T[][]): T[];\r\n asObservable(): Observable<T[]>\r\n }\r\n interface ArrayConstructor {\r\n search<T = any>(items: T[], searchText: string | number, fields?: string | string[]): T[];\r\n union<T = any>(key: string, ...args: T[][]): T[];\r\n toObject<T = any>(items: T[], key?: string): { [key: string]: T };\r\n }\r\n}\r\n\r\nArray.prototype.search = function <T = any>(searchText: any, fields?: string | string[]): T[] {\r\n const items: T[] = this;\r\n if (!searchText?.toString()) {\r\n return items;\r\n }\r\n if (Array.isArray(fields)) {\r\n const fs = fields.filter(e => e !== undefined && e !== null && e !== '');\r\n if (!fs.length) {\r\n return items.filter(item => item !== undefined && item !== null && String.aliasIncludes(item, searchText));\r\n }\r\n return items.filter(item => item !== undefined && item !== null && fs.some(field => String.aliasIncludes(item[field], searchText)));\r\n }\r\n if (!fields) {\r\n return items.filter(item => item !== undefined && item !== null && String.aliasIncludes(item, searchText));\r\n }\r\n return items.filter(item => item !== undefined && item !== null && String.aliasIncludes(item[fields], searchText));\r\n};\r\n\r\nArray.prototype.paging = function <T = any>(pageSize: number, page: number = 0): T[] {\r\n const items: T[] = this;\r\n return items.filter((item, index) => {\r\n return index >= page * pageSize\r\n && index < (page + 1) * pageSize;\r\n });\r\n};\r\n\r\nArray.prototype.toObject = function <T = any>(key: string): { [key: string]: T } {\r\n const items: T[] = this;\r\n if (!key) {\r\n return items.filter(item => item !== undefined && item !== null).reduce((obj, item) => { obj[item?.toString()] = item; return obj; }, {});\r\n }\r\n return items.filter(item => item !== undefined && item !== null).reduce((obj, item) => { obj[item[key]?.toString()] = item; return obj; }, {});\r\n};\r\n\r\nArray.prototype.union = function <T = any>(key?: string, ...args: T[][]) {\r\n let results: T[] = this;\r\n const filterUnion = <T = any>(val: T, index: number, self: T[]) => val !== undefined && val !== null && self.findIndex((e: { [x: string]: any; }) => !!key ? e[key] === val[key] : e === val) === index;\r\n if (!args?.length) {\r\n return results.filter(filterUnion);\r\n }\r\n for (const arg of args) {\r\n if (Array.isArray(arg)) {\r\n results = [...results, ...arg].filter(filterUnion);\r\n }\r\n }\r\n return results;\r\n}\r\n\r\nArray.prototype.asObservable = function <T = any>() {\r\n const items: T[] = this;\r\n return of(items);\r\n}\r\n\r\nArray.search = <T = any>(items: T[], searchText: string | number, fields?: string | string[]) => {\r\n if (!Array.isArray(items)) {\r\n return [];\r\n }\r\n return items.search(searchText, fields);\r\n};\r\n\r\nArray.union = <T = any>(key: string, ...args: T[][]) => {\r\n return [].union(key, ...args);\r\n}\r\n\r\nArray.toObject = <T>(items: T[], key?: string): { [key: string]: T } => {\r\n if (!Array.isArray(items)) {\r\n return {};\r\n }\r\n return items.toObject(key);\r\n}\r\n\r\n","export { };\r\n\r\ndeclare global {\r\n interface Date {\r\n begin(): Date;\r\n end(): Date;\r\n addMiliseconds(miliseconds: number): Date;\r\n addHours(hours: number): Date;\r\n addDays(days: number): Date;\r\n addMonths(months: number): Date;\r\n toFormat(format: string): string;\r\n }\r\n interface DateConstructor {\r\n equal(date1: any, date2: any): boolean;\r\n parseFrom(value: any, format: string): Date;\r\n isDate(value: any): boolean;\r\n toFormat(value: any, format: string): string;\r\n addMiliseconds(value: any, miliseconds: number): Date;\r\n addHours(value: any, hours: number): Date;\r\n addDays(value: any, days: number): Date;\r\n addMonths(value: any, months: number): Date;\r\n begin(value: any): Date;\r\n end(value: any): Date;\r\n diffDays(from: any, to: any): number;\r\n }\r\n}\r\n\r\nDate.equal = (date1: any, date2: any) => {\r\n if (!Date.isDate(date1) && !Date.isDate(date2)) {\r\n return true;\r\n }\r\n if (!Date.isDate(date1) || !Date.isDate(date2)) {\r\n return false;\r\n }\r\n return new Date(date1).getTime() === new Date(date2).getTime();\r\n};\r\n\r\nDate.parseFrom = (value: any, format: string) => {\r\n if (!value) {\r\n return null;\r\n }\r\n if (!format) {\r\n return null;\r\n }\r\n value = value.toString();\r\n const dmy = format.indexOf('dd') > -1 && format.indexOf('MM') > -1 && format.indexOf('yyyy') > -1;\r\n const hms = format.indexOf('HH') > -1 || format.indexOf('mm') > -1 || format.indexOf('ss') > -1;\r\n let strDate = '';\r\n if (dmy) {\r\n const dd = value.substr(format.indexOf('dd'), 'dd'.length);\r\n const MM = value.substr(format.indexOf('MM'), 'MM'.length);\r\n const yyyy = value.substr(format.indexOf('yyyy'), 'yyyy'.length);\r\n if (+yyyy > 0 && +MM > 0 && +dd > 0) {\r\n strDate += `${MM}/${dd}/${yyyy}`;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n const today = new Date();\r\n const yyyy = today.getFullYear().toString();\r\n const MM = (today.getMonth() + 1).toString().padStart(2, '0');\r\n const dd = today.getDate().toString().padStart(2, '0');\r\n strDate += `${MM}/${dd}/${yyyy}`;\r\n }\r\n if (hms) {\r\n const HH = format.indexOf('HH') > -1 ? value.substr(format.indexOf('HH'), 'HH'.length) : '00';\r\n const mm = format.indexOf('mm') > -1 ? value.substr(format.indexOf('mm'), 'mm'.length) : '00';\r\n const ss = format.indexOf('ss') > -1 ? value.substr(format.indexOf('ss'), 'ss'.length) : '00';\r\n strDate += ` ${HH || '00'}:${mm || '00'}:${ss || '00'}`;\r\n }\r\n if (!Date.isDate(strDate)) {\r\n return null;\r\n }\r\n return new Date(strDate);\r\n};\r\n\r\nDate.isDate = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const date = new Date(value);\r\n return !isNaN(date.getTime());\r\n};\r\n\r\nDate.toFormat = (value: any, format: string): string => {\r\n if (!Date.isDate(value)) {\r\n return '';\r\n }\r\n const date: Date = new Date(value);\r\n return date.toFormat(format);\r\n};\r\n\r\nDate.addMiliseconds = (value: any, miliseconds: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addMiliseconds(miliseconds);\r\n};\r\n\r\nDate.addHours = (value: any, hours: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addHours(hours);\r\n};\r\n\r\nDate.addDays = (value: any, days: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addDays(days);\r\n};\r\n\r\nDate.addMonths = (value: any, months: number): Date => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n const date: Date = new Date(value);\r\n return date.addMonths(months);\r\n};\r\n\r\nDate.begin = (value: any) => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n return new Date(Date.toFormat(value, 'MM/dd/yyyy'));\r\n};\r\n\r\nDate.end = (value: any) => {\r\n if (!Date.isDate(value)) {\r\n return null;\r\n }\r\n return new Date(value).addDays(1).begin().addMiliseconds(-1);\r\n};\r\n\r\nDate.diffDays = (from: any, to: any) => {\r\n if (!Date.isDate(from) || !Date.isDate(to)) {\r\n return undefined;\r\n }\r\n const diffTime = new Date(to).getTime() - new Date(from).getTime();\r\n const diffDays = Math.round((diffTime / (1000 * 60 * 60 * 24)) * 100) / 100; \r\n return diffDays;\r\n};\r\n\r\nDate.prototype.begin = function () {\r\n return new Date(this.toFormat('MM/dd/yyyy'));\r\n};\r\n\r\nDate.prototype.end = function () {\r\n const date: Date = this;\r\n return date.addDays(1).begin().addMiliseconds(-1);\r\n};\r\n\r\nDate.prototype.addMiliseconds = function (miliseconds: number) {\r\n const date: Date = this;\r\n date.setMilliseconds(date.getMilliseconds() + miliseconds);\r\n return date;\r\n};\r\n\r\nDate.prototype.addHours = function (hours: number) {\r\n const date: Date = this;\r\n date.setHours(date.getHours() + hours);\r\n return date;\r\n};\r\n\r\nDate.prototype.addDays = function (days: number) {\r\n const date: Date = this;\r\n date.setDate(date.getDate() + days);\r\n return date;\r\n};\r\n\r\nDate.prototype.addMonths = function (months: number) {\r\n const date: Date = this;\r\n date.setMonth(date.getMonth() + months);\r\n return date;\r\n};\r\n\r\nDate.prototype.toFormat = function (format: string) {\r\n const date: Date = this;\r\n let result = format;\r\n result = result.replace('yyyy', date.getFullYear().toString());\r\n result = result.replace('MM', (date.getMonth() + 1).toString().padStart(2, '0'));\r\n result = result.replace('dd', date.getDate().toString().padStart(2, '0'));\r\n result = result.replace('HH', date.getHours().toString().padStart(2, '0'));\r\n result = result.replace('mm', date.getMinutes().toString().padStart(2, '0'));\r\n result = result.replace('ss', date.getSeconds().toString().padStart(2, '0'));\r\n return result;\r\n};\r\n","export { };\r\n\r\ndeclare global {\r\n interface NumberConstructor {\r\n toVNCurrency(value: any, digits?: number): string;\r\n isNumber(value: any): boolean;\r\n isPositiveInteger(value: any): boolean;\r\n isPositiveNumber(value: any): boolean;\r\n round(value: any, digits?: number): number;\r\n }\r\n}\r\n\r\nNumber.toVNCurrency = (value: any, digits?: number) => {\r\n value = (value ?? '').toString().replace(/,/g, '');\r\n if (!value) {\r\n return null;\r\n }\r\n const val = +value;\r\n if (!Number.isNaN(val)) {\r\n if(!digits && digits !== 0) {\r\n return val.toLocaleString('vi-VN', { maximumFractionDigits: 10 });\r\n }\r\n return val.toLocaleString('vi-VN', { maximumFractionDigits: digits });\r\n }\r\n return null;\r\n};\r\n\r\nNumber.isPositiveInteger = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const regex = /^([0-9]*)$/;\r\n return regex.test(value) && +value > 0;\r\n};\r\n\r\nNumber.isPositiveNumber = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const regex = /^([0-9]*)(\\.[0-9]+$){0,1}$/;\r\n return regex.test(value) && +value > 0;\r\n};\r\n\r\nNumber.isNumber = (value: any) => {\r\n if (value === undefined || value === null || value === '') {\r\n return false;\r\n }\r\n return !Number.isNaN(+value);\r\n};\r\n\r\nNumber.round = (value: any, digits?: number) => {\r\n digits = digits ?? 2;\r\n if (!Number.isNumber(value)) {\r\n return null;\r\n }\r\n const val = Math.pow(10, digits);\r\n return Math.round(value * val) / val;\r\n};","export { };\r\n\r\ndeclare global {\r\n interface StringConstructor {\r\n isValidEmail(value: any): boolean;\r\n isValidPhone(value: any): boolean;\r\n isValidCode(value: any): boolean;\r\n changeAliasLowerCase(alias: any): string;\r\n aliasIncludes(alias: any, searchText: any): boolean;\r\n format(template: string, ...arr: any[]): string;\r\n templateToDisplay(template: string, entity: any): string; // Convert theo format ${key}\r\n encrypt(obj: any): string;\r\n decrypt(encripted: string): any;\r\n isNullOrEmpty(value: any): boolean;\r\n isNullOrWhiteSpace(value: any): boolean;\r\n }\r\n}\r\n\r\nString.isValidEmail = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\r\n return re.test(value);\r\n};\r\n\r\nString.isValidPhone = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$/;\r\n return re.test(value);\r\n};\r\n\r\nString.isValidCode = (value: any) => {\r\n if (!value) {\r\n return false;\r\n }\r\n const re = /^[a-zA-Z0-9\\@\\_\\-]{2,20}$/;\r\n return re.test(value);\r\n};\r\n\r\nString.isNullOrEmpty = (value: any) => {\r\n return value === undefined || value === null || value === '';\r\n};\r\n\r\nString.isNullOrWhiteSpace = (value: any) => {\r\n return value === undefined || value === null || typeof value !== 'string' || value.match(/^ *$/) !== null;\r\n};\r\n\r\nString.changeAliasLowerCase = (alias: any) => {\r\n let str: string = alias?.toString() ?? '';\r\n str = str.toString().toLowerCase();\r\n str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, 'a');\r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, 'e');\r\n str = str.replace(/ì|í|ị|ỉ|ĩ/g, 'i');\r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, 'o');\r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, 'u');\r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, 'y');\r\n str = str.replace(/đ/g, 'd');\r\n str = str.replace(/!|@|%|\\^|\\*|\\(|\\)|\\+|\\=|\\<|\\>|\\?|\\/|,|\\.|\\:|\\;|\\'|\\\"|\\&|\\#|\\[|\\]|~|\\$|_|`|-|{|}|\\||\\\\/g, ' ');\r\n str = str.replace(/ + /g, ' ');\r\n str = str.trim();\r\n return str;\r\n}\r\n\r\nString.aliasIncludes = (alias: any, searchText: any) => {\r\n return String.changeAliasLowerCase(alias).includes(String.changeAliasLowerCase(searchText));\r\n}\r\n\r\nString.format = (template: string, ...arr: any[]) => {\r\n for (let i = 0; i < arr.length; i++) {\r\n const regexp = new RegExp(`\\\\{${i}\\\\}`, 'gi');\r\n template = template.replace(regexp, arr[i]);\r\n }\r\n return template;\r\n}\r\n\r\nString.templateToDisplay = (template: string, entity: any) => {\r\n if (!template) {\r\n return template;\r\n }\r\n const regex = /\\$\\{([A-Za-z._\\-]*)\\}/g;\r\n const matches = template.match(regex) || [];\r\n for (const match of matches) {\r\n const key = match.slice(2, match.length - 1);\r\n if (key) {\r\n template = template.replace(match, entity?.[key] || '');\r\n }\r\n }\r\n return template;\r\n}\r\n\r\nconst SALT = 'cb9f4b2a-d26c-4787-a66e-e7130ee00f95';\r\n\r\nString.encrypt = (obj: any) => {\r\n obj = JSON.stringify(obj).split('');\r\n for (var i = 0, l = obj.length; i < l; i++)\r\n if (obj[i] == '{')\r\n obj[i] = '}';\r\n else if (obj[i] == '}')\r\n obj[i] = '{';\r\n return encodeURI(SALT + obj.join(''));\r\n}\r\n\r\nString.decrypt = (encripted: string) => {\r\n encripted = decodeURI(encripted);\r\n if (SALT && encripted.indexOf(SALT) != 0)\r\n throw new Error('object cannot be decrypted');\r\n const strs = encripted.substring(SALT.length).split('');\r\n for (let i = 0, l = strs.length; i < l; i++)\r\n if (strs[i] == '{')\r\n strs[i] = '}';\r\n else if (encripted[i] == '}')\r\n strs[i] = '{';\r\n return JSON.parse(strs.join(''));\r\n}\r\n","/**\r\n *\r\n * detectIncognito v1.3.0 - (c) 2022 Joe Rutkowski <Joe@dreggle.com> (https://github.com/Joe12387/detectIncognito)\r\n *\r\n **/\r\nexport const detectIncognito = (): Promise<{\r\n isPrivate: boolean;\r\n browserName: string;\r\n}> => {\r\n return new Promise( (resolve, reject) => {\r\n let browserName = 'Unknown';\r\n\r\n function __callback(isPrivate: any): void {\r\n resolve({\r\n isPrivate,\r\n browserName,\r\n });\r\n }\r\n\r\n function identifyChromium(): string {\r\n const ua = navigator.userAgent;\r\n if (ua.match(/Chrome/)) {\r\n if ((navigator as any).brave !== undefined) {\r\n return 'Brave';\r\n } else if (ua.match(/Edg/)) {\r\n return 'Edge';\r\n } else if (ua.match(/OPR/)) {\r\n return 'Opera';\r\n }\r\n return 'Chrome';\r\n } else {\r\n return 'Chromium';\r\n }\r\n }\r\n\r\n function assertEvalToString(value: any): boolean {\r\n return value === eval.toString().length;\r\n }\r\n\r\n function isSafari(): boolean {\r\n const v = navigator.vendor;\r\n return (\r\n v !== undefined && v.indexOf('Apple') === 0 && assertEvalToString(37)\r\n );\r\n }\r\n\r\n function isChrome(): boolean {\r\n const v = navigator.vendor;\r\n return (\r\n v !== undefined && v.indexOf('Google') === 0 && assertEvalToString(33)\r\n );\r\n }\r\n\r\n function isFirefox(): boolean {\r\n return (\r\n document.documentElement !== undefined &&\r\n (document as any).documentElement.style.MozAppearance !== undefined &&\r\n assertEvalToString(37)\r\n );\r\n }\r\n\r\n function isMSIE(): boolean {\r\n return (\r\n (navigator as any).msSaveBlob !== undefined && assertEvalToString(39)\r\n );\r\n }\r\n\r\n /**\r\n * Safari (Safari for iOS & macOS)\r\n **/\r\n\r\n function newSafariTest(): void {\r\n // tslint:disable-next-line:variable-name\r\n const tmp_name = String(Math.random());\r\n\r\n try {\r\n const db = window.indexedDB.open(tmp_name, 1);\r\n\r\n db.onupgradeneeded = (i) => {\r\n // @ts-ignore\r\n const res = i.target?.result;\r\n\r\n try {\r\n res.createObjectStore('test', {\r\n autoIncrement: true,\r\n // tslint:disable-next-line:new-parens\r\n }).put(new Blob);\r\n\r\n __callback(false);\r\n } catch (e) {\r\n let message = e;\r\n\r\n if (e instanceof Error) {\r\n message = e.message ?? e;\r\n }\r\n\r\n if (typeof message !== 'string') {\r\n return __callback(false);\r\n }\r\n\r\n const matchesExpectedError = /BlobURLs are not yet supported/.test(message);\r\n\r\n return __callback(matchesExpectedError);\r\n } finally {\r\n res.close();\r\n window.indexedDB.deleteDatabase(tmp_name);\r\n }\r\n };\r\n } catch (e) {\r\n return __callback(false);\r\n }\r\n }\r\n\r\n function oldSafariTest(): void {\r\n const openDB = (window as any).openDatabase;\r\n const storage = window.localStorage;\r\n try {\r\n openDB(null, null, null, null);\r\n } catch (e) {\r\n return __callback(true);\r\n }\r\n try {\r\n storage.setItem('test', '1');\r\n storage.removeItem('test');\r\n } catch (e) {\r\n return __callback(true);\r\n }\r\n return __callback(false);\r\n }\r\n\r\n function safariPrivateTest(): void {\r\n if (navigator.maxTouchPoints !== undefined) {\r\n newSafariTest();\r\n } else {\r\n oldSafariTest();\r\n }\r\n }\r\n\r\n /**\r\n * Chrome\r\n **/\r\n\r\n function getQuotaLimit(): number {\r\n const w = window as any;\r\n if (\r\n w.performance !== undefined &&\r\n w.performance.memory !== undefined &&\r\n w.performance.memory.jsHeapSizeLimit !== undefined\r\n ) {\r\n return (performance as any).memory.jsHeapSizeLimit;\r\n }\r\n return 1073741824;\r\n }\r\n\r\n // >= 76\r\n function storageQuotaChromePrivateTest(): void {\r\n (navigator as any).webkitTemporaryStorage.queryUsageAndQuota(\r\n (_: number, quota: number) => {\r\n const quotaInMib = Math.round(quota / (1024 * 1024));\r\n const quotaLimitInMib = Math.round(getQuotaLimit() / (1024 * 1024)) * 2;\r\n\r\n __callback(quotaInMib < quotaLimitInMib);\r\n },\r\n (e: any) => {\r\n reject(\r\n new Error(\r\n 'detectIncognito somehow failed to query storage quota: ' +\r\n e.message\r\n )\r\n );\r\n }\r\n );\r\n }\r\n\r\n // 50 to 75\r\n function oldChromePrivateTest(): void {\r\n const fs = (window as any).webkitRequestFileSystem;\r\n const success = () => {\r\n __callback(false);\r\n };\r\n const error = () => {\r\n __callback(true);\r\n };\r\n fs(0, 1, success, error);\r\n }\r\n\r\n function chromePrivateTest(): void {\r\n if (self.Promise !== undefined && (self.Promise as any).allSettled !== undefined) {\r\n storageQuotaChromePrivateTest();\r\n } else {\r\n oldChromePrivateTest();\r\n }\r\n }\r\n\r\n /**\r\n * Firefox\r\n **/\r\n\r\n function firefoxPrivateTest(): void {\r\n __callback(navigator.serviceWorker === undefined);\r\n }\r\n\r\n /**\r\n * MSIE\r\n **/\r\n\r\n function msiePrivateTest(): void {\r\n __callback(window.indexedDB === undefined);\r\n }\r\n\r\n function main(): void {\r\n if (isSafari()) {\r\n browserName = 'Safari';\r\n safariPrivateTest();\r\n } else if (isChrome()) {\r\n browserName = identifyChromium();\r\n chromePrivateTest();\r\n } else if (isFirefox()) {\r\n browserName = 'Firefox';\r\n firefoxPrivateTest();\r\n } else if (isMSIE()) {\r\n browserName = 'Internet Explorer';\r\n msiePrivateTest();\r\n } else {\r\n reject(new Error('detectIncognito cannot determine the browser'));\r\n }\r\n }\r\n\r\n main();\r\n });\r\n};\r\n","import { detectIncognito } from '../others/detectIncognito';\r\n\r\nexport { };\r\n// declare var Date: DateConstructor;\r\ninterface SdUtilityContructor {\r\n upload: (option?: {\r\n extensions?: string[];\r\n maxSizeInMb?: number;\r\n validator?: (fileName: string) => string;\r\n }) => Promise<File | null>;\r\n download: (filePath: string, fileName?: string) => void;\r\n downloadBlob: (blob: Blob, fileName?: string) => void;\r\n changeAliasLowerCase: (alias: string) => string;\r\n copyToClipboard: (text: string) => void;\r\n allWithPaging: <T = any>(func: (pageSize: number, pageNumber: number) => Promise<{\r\n items: T[];\r\n total: number;\r\n }>, defaultPageSize?: number) => Promise<T[]>;\r\n isPrivateMode: () => Promise<boolean>;\r\n}\r\n\r\n\r\nconst upload = (option?: {\r\n extensions?: string[],\r\n maxSizeInMb?: number,\r\n validator?: (fileName: string) => string\r\n}) => {\r\n const uploadId = 'U1e09c1c0-b647-437e-995e-d7a1a1b60550';\r\n const promise = new Promise<File | null>((resolve, reject) => {\r\n const body = document.getElementsByTagName('body')?.[0];\r\n if (!body) {\r\n resolve(null);\r\n return;\r\n }\r\n const existedElement = document.getElementById(uploadId);\r\n if (existedElement) {\r\n existedElement.remove();\r\n }\r\n const element = document.createElement('input');\r\n element.setAttribute('id', uploadId);\r\n element.setAttribute('type', 'file');\r\n element.style.display = 'none';\r\n body.appendChild(element);\r\n element.addEventListener('change', (evt: any) => {\r\n try {\r\n const target = evt.target as DataTransfer;\r\n const file = target.files.item(0);\r\n if (file) {\r\n const lastDot = file.name.lastIndexOf('.');\r\n if (lastDot === -1) {\r\n throw new Error(`File không đúng định dạng`);\r\n }\r\n const extension = file.name.substring(lastDot + 1);\r\n if (option) {\r\n if (option.extensions?.length && !option.extensions.some(e => e.toUpperCase() === extension.toUpperCase())) {\r\n throw new Error(`File không đúng định dạng`);\r\n }\r\n if (option.maxSizeInMb && option.maxSizeInMb > 0 && option.maxSizeInMb * 1024 * 1024 < file.size) {\r\n const message = `[${file.name}] Dung lượng tối đa ${option.maxSizeInMb} Mbs`;\r\n throw new Error(message);\r\n }\r\n if (option.validator && option.validator(file.name)) {\r\n const message = option.validator(file.name);\r\n throw new Error(message);\r\n }\r\n }\r\n resolve(file);\r\n }\r\n } catch (error) {\r\n reject(error);\r\n }\r\n });\r\n element.click();\r\n });\r\n return promise;\r\n}\r\n\r\nconst generateFileName = (fileName?: string) => {\r\n if (!fileName) {\r\n return `File_${new Date().toFormat('yyyy_MM_dd_HH_mm')}`;\r\n }\r\n const strs = fileName.split('.');\r\n if (strs.length > 1) {\r\n const ext = strs.splice(strs.length - 1, 1)[0];\r\n return `${strs.join('.')}_${new Date().toFormat('yyyy_MM_dd_HH_mm')}.${ext}`;\r\n }\r\n return `${fileName}_${new Date().toFormat('yyyy_MM_dd_HH_mm')}`;\r\n}\r\n\r\nconst download = (filePath: string, fileName?: string) => {\r\n const link = document.createElement('a');\r\n link.download = generateFileName(fileName);\r\n link.href = filePath;\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n}\r\n\r\nconst downloadBlob = (blob: Blob, fileName?: string) => {\r\n try {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n if (link.download !== undefined) { // feature detection\r\n link.download = generateFileName(fileName);\r\n link.href = url;\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n window.URL.revokeObjectURL(url);\r\n link.remove();\r\n }\r\n } catch (e) {\r\n console.error('BlobToSaveAs error', e);\r\n }\r\n}\r\n\r\nconst changeAliasLowerCase = (alias: string) => {\r\n let str = alias?.toString() ?? '';\r\n str = str.toString().toLowerCase();\r\n str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, 'a');\r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, 'e');\r\n str = str.replace(/ì|í|ị|ỉ|ĩ/g, 'i');\r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, 'o');\r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, 'u');\r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, 'y');\r\n str = str.replace(/đ/g, 'd');\r\n str = str.replace(/!|@|%|\\^|\\*|\\(|\\)|\\+|\\=|\\<|\\>|\\?|\\/|,|\\.|\\:|\\;|\\'|\\\"|\\&|\\#|\\[|\\]|~|\\$|_|`|-|{|}|\\||\\\\/g, ' ');\r\n str = str.replace(/ + /g, ' ');\r\n str = str.trim();\r\n return str;\r\n}\r\n\r\nconst copyToClipboard = (text: string) => {\r\n navigator.clipboard.writeText(text);\r\n}\r\n\r\nconst allWithPaging = async <T = any>(func: (pageSize: number, pageNumber: number) => Promise<{ items: T[], total: number }>, defaultPageSize?: number): Promise<T[]> => {\r\n let pageSize = defaultPageSize || 1000;\r\n let pageNumber = 0;\r\n let count = 0;\r\n let items: T[] = [];\r\n while (true) {\r\n const res = await func(pageSize, pageNumber);\r\n if (Array(res?.items) && res?.total > 0) {\r\n items = [...items, ...res.items];\r\n count += res.items.length;\r\n pageNumber++;\r\n if (count >= res.total || !res.items?.length) {\r\n return items;\r\n }\r\n } else {\r\n return [];\r\n }\r\n }\r\n}\r\n\r\nconst isPrivateMode = async (): Promise<boolean> => {\r\n const check = await detectIncognito();\r\n return check.isPrivate;\r\n}\r\n\r\nvar SdUtility: SdUtilityContructor = {\r\n upload,\r\n download,\r\n downloadBlob,\r\n changeAliasLowerCase,\r\n copyToClipboard,\r\n allWithPaging,\r\n isPrivateMode,\r\n};\r\n\r\ndeclare global {\r\n var SdUtility: SdUtilityContructor;\r\n}\r\nglobalThis.SdUtility = SdUtility;\r\n","import { InjectionToken } from \"@angular/core\";\r\n\r\nexport interface IFirebaseConfiguration {\r\n functionUrl: string;\r\n project: string;\r\n env: string;\r\n folder?: string | (() => string);\r\n}\r\n\r\nexport const FIREBASE_CONFIG = new InjectionToken<IFirebaseConfiguration>('sd.firebase.configuration');","import { InjectionToken } from \"@angular/core\";\r\nimport { MatFormFieldAppearance } from \"@angular/material/form-field\";\r\n\r\nexport interface IFormConfiguration {\r\n appearance?: MatFormFieldAppearance; \r\n}\r\n\r\nexport const FORM_CONFIG = new InjectionToken<IFormConfiguration>('sd.form.configuration');","import { FormControl, AsyncValidatorFn, ValidatorFn } from '@angular/forms';\r\nimport { Subject } from 'rxjs';\r\nexport class SdFormControl extends FormControl {\r\n sdChanges: Subject<boolean> = new Subject<boolean>();\r\n untouchChanges: Subject<boolean> = new Subject<boolean>();\r\n touchChanges: Subject<boolean> = new Subject<boolean>();\r\n pristineChanges: Subject<boolean> = new Subject<boolean>();\r\n constructor(\r\n formState?: Object,\r\n validator: ValidatorFn | ValidatorFn[] = null,\r\n asyncValidator: AsyncValidatorFn | AsyncValidatorFn[] = null\r\n ) {\r\n super(formState, validator, asyncValidator);\r\n }\r\n\r\n markAsUntouched({ onlySelf }: { onlySelf?: boolean } = {}): void {\r\n super.markAsUntouched({ onlySelf });\r\n this.untouchChanges.next(true);\r\n this.sdChanges.next(true);\r\n }\r\n\r\n markAsTouched({ onlySelf }: { onlySelf?: boolean } = {}): void {\r\n super.markAsTouched({ onlySelf });\r\n this.touchChanges.next(true);\r\n this.sdChanges.next(true);\r\n }\r\n\r\n markAsPristine(opts?: {\r\n onlySelf?: boolean;\r\n }): void {\r\n super.markAsPristine(opts);\r\n this.pristineChanges.next(true);\r\n this.sdChanges.next(true);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdBrowserService {\r\n browerName: string;\r\n browserVersion: string;\r\n get isChrome() { return this.browerName === 'Chrome'; }\r\n get isFirefox() { return this.browerName === 'Firefox'; }\r\n get isSafari() { return this.browerName === 'Safari'; }\r\n constructor() {\r\n const browserNameAndVersion = this.#getBrowserNameAndVersion();\r\n this.browerName = browserNameAndVersion.name;\r\n this.browserVersion = browserNameAndVersion.version;\r\n }\r\n\r\n #getBrowserNameAndVersion = () => {\r\n const ua = navigator.userAgent;\r\n let M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\r\n let tem: RegExpMatchArray;\r\n if (/trident/i.test(M[1])) {\r\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n return { name: 'IE', version: (tem[1] || '') };\r\n }\r\n if (M[1] === 'Chrome') {\r\n tem = ua.match(/\\bEdg\\/(\\d+)/);\r\n if (tem != null) { return { name: 'Edge(Chromium)', version: tem[1] }; }\r\n tem = ua.match(/\\bOPR\\/(\\d+)/);\r\n if (tem != null) { return { name: 'Opera', version: tem[1] }; }\r\n }\r\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\r\n tem = ua.match(/version\\/(\\d+)/i);\r\n if (tem != null) { M.splice(1, 1, tem[1]); }\r\n return {\r\n name: M[0],\r\n version: M[1]\r\n };\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdViewDef]'\r\n})\r\nexport class SdViewDefDirective {\r\n // @Input() sdViewDef: string;\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { Directive, Input, TemplateRef, ViewContainerRef } from \"@angular/core\";\r\n@Directive({\r\n selector: '[sdLet]',\r\n})\r\nexport class SdLetDirective {\r\n @Input()\r\n set sdLet(context: any) {\r\n this.context.$implicit = this.context.sdLet = context;\r\n this.#updateView();\r\n }\r\n context: any = {};\r\n\r\n constructor(private vcRef: ViewContainerRef, private templateRef: TemplateRef<any>) { }\r\n\r\n #updateView = () => {\r\n this.vcRef.clear();\r\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\r\n }\r\n}","import { Directive, ElementRef, HostListener, OnInit, Renderer2 } from \"@angular/core\";\r\nimport { SdBrowserService } from '../services/browser.service';\r\n\r\n@Directive({\r\n selector: \"[sdScroll]\",\r\n})\r\nexport class SdScrollDirective implements OnInit {\r\n #overflow: 'hidden' | 'auto' | 'overlay' = 'hidden';\r\n @HostListener('mouseover')\r\n onMouseOver() {\r\n this.#overflow = this.browserService.isFirefox ? 'auto' : 'overlay';\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', this.#overflow);\r\n }\r\n\r\n @HostListener('mouseout')\r\n onMouseOut() {\r\n this.#overflow = 'hidden';\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', this.#overflow);\r\n }\r\n constructor(\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n private browserService: SdBrowserService) { }\r\n\r\n ngOnInit(): void {\r\n this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-transform', 'translate3d(0, 0, 0)');\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'overflow', this.#overflow);\r\n }\r\n\r\n scrollTop = () => {\r\n setTimeout(() => {\r\n if (this.elementRef?.nativeElement) {\r\n this.elementRef.nativeElement.scrollTop = 0; \r\n }\r\n }, 1);\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdSuffix]'\r\n})\r\nexport class SdSuffixDirective {\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdLabelDef]'\r\n})\r\nexport class SdLabelDefDirective {\r\n // @Input() sdLableDef: string;\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import {\r\n Directive,\r\n Input,\r\n IterableChangeRecord,\r\n IterableDiffer,\r\n IterableDiffers,\r\n TemplateRef,\r\n ViewContainerRef,\r\n ViewRef\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdFor]'\r\n})\r\nexport class SdForDirective {\r\n private items: any[] = [];\r\n private viewRefsMap: Map<any, ViewRef> = new Map<any, ViewRef>();\r\n private _diffrence: IterableDiffer<any> | undefined;\r\n\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainer: ViewContainerRef,\r\n private differs: IterableDiffers\r\n ) {}\r\n\r\n @Input('sdForOf')\r\n public set sdForOf(items: any) {\r\n this.items = items;\r\n if (items) {\r\n this._diffrence = this.differs.find(items).create();\r\n }\r\n //Clear any existing items\r\n this.viewContainer.clear();\r\n }\r\n\r\n @Input('sdForItemsAtOnce')\r\n public itemsAtOnce: number = 20;\r\n\r\n @Input('sdForIntervalLength')\r\n public intervalLength: number = 50;\r\n\r\n public ngDoCheck(): void {\r\n if (this._diffrence) {\r\n const changes = this._diffrence.diff(this.items);\r\n if (changes) {\r\n const itemsAdded: any[] = [];\r\n changes.forEachAddedItem(item => {\r\n itemsAdded.push(item);\r\n });\r\n\r\n this.progressiveRender(itemsAdded);\r\n\r\n changes.forEachRemovedItem(item => {\r\n const mapView = this.viewRefsMap.get(item.item) as ViewRef;\r\n const viewIndex = this.viewContainer.indexOf(mapView);\r\n this.viewContainer.remove(viewIndex);\r\n this.viewRefsMap.delete(item.item);\r\n });\r\n }\r\n }\r\n }\r\n\r\n private progressiveRender(items: IterableChangeRecord<any>[]) {\r\n let interval: any;\r\n let start = 0;\r\n let end = start + this.itemsAtOnce;\r\n if (end > items.length) {\r\n end = items.length;\r\n }\r\n this.renderItems(items, start, end);\r\n\r\n interval = setInterval(() => {\r\n start = end;\r\n end = start + this.itemsAtOnce;\r\n if (end > items.length) {\r\n end = items.length;\r\n }\r\n this.renderItems(items, start, end);\r\n if (start >= items.length) {\r\n clearInterval(interval);\r\n }\r\n }, this.intervalLength);\r\n }\r\n\r\n private renderItems(\r\n items: IterableChangeRecord<any>[],\r\n start: number,\r\n end: number\r\n ) {\r\n items.slice(start, end).forEach(item => {\r\n const embeddedView = this.viewContainer.createEmbeddedView(\r\n this.templateRef,\r\n {\r\n $implicit: item.item\r\n },\r\n item.currentIndex || 0\r\n );\r\n this.viewRefsMap.set(item.item, embeddedView);\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdViewDefDirective } from './directives/view-def.directive';\r\nimport { SdLetDirective } from './directives/sd-let.directive';\r\nimport { SdScrollDirective } from './directives/sd-scroll.directive';\r\nimport { SdSuffixDirective } from './directives/sd-suffix.directive';\r\nimport { SdLabelDefDirective } from './directives/sd-lable.directive';\r\nimport { SdForDirective } from './directives/sd-for.directive';\r\n// import './typings';\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n SdForDirective,\r\n SdViewDefDirective,\r\n SdLetDirective,\r\n SdScrollDirective,\r\n SdSuffixDirective,\r\n SdLabelDefDirective\r\n ],\r\n exports: [\r\n SdForDirective,\r\n SdViewDefDirective,\r\n SdLetDirective,\r\n SdScrollDirective,\r\n SdSuffixDirective,\r\n SdLabelDefDirective\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdCommonModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {SdForDirective as ɵa} from './src/lib/directives/sd-for.directive';"],"names":[],"mappings":"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"}
@@ -1215,7 +1215,7 @@ class SdGridFilterService {
1215
1215
  // Filter def
1216
1216
  filterDef: keys.includes('filterDef') ? (value === null || value === void 0 ? void 0 : value.filterDef) || {} : filterDef,
1217
1217
  // Force
1218
- notReload: !!notReload,
1218
+ notReload: !!(value === null || value === void 0 ? void 0 : value.notReload),
1219
1219
  };
1220
1220
  filterValue.set(updatedFilter);
1221
1221
  return updatedFilter;