@skyux/datetime 8.6.0 → 9.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/documentation.json +8 -8
  2. package/esm2022/lib/modules/date-pipe/date-format-utility.mjs +45 -0
  3. package/{esm2020 → esm2022}/lib/modules/date-pipe/date-pipe.module.mjs +5 -5
  4. package/esm2022/lib/modules/date-pipe/date.pipe.mjs +67 -0
  5. package/esm2022/lib/modules/date-pipe/fuzzy-date.pipe.mjs +47 -0
  6. package/{esm2020 → esm2022}/lib/modules/date-range-picker/date-range-picker-end-date-resource-key.pipe.mjs +4 -4
  7. package/{esm2020 → esm2022}/lib/modules/date-range-picker/date-range-picker-start-date-resource-key.pipe.mjs +4 -4
  8. package/esm2022/lib/modules/date-range-picker/date-range-picker.component.mjs +518 -0
  9. package/{esm2020 → esm2022}/lib/modules/date-range-picker/date-range-picker.module.mjs +19 -19
  10. package/esm2022/lib/modules/date-range-picker/date-range.service.mjs +97 -0
  11. package/esm2022/lib/modules/date-range-picker/types/date-range-calculator.mjs +54 -0
  12. package/esm2022/lib/modules/datepicker/date-formatter.mjs +38 -0
  13. package/esm2022/lib/modules/datepicker/datepicker-adapter.service.mjs +23 -0
  14. package/esm2022/lib/modules/datepicker/datepicker-calendar-inner.component.mjs +332 -0
  15. package/esm2022/lib/modules/datepicker/datepicker-calendar.component.mjs +95 -0
  16. package/{esm2020 → esm2022}/lib/modules/datepicker/datepicker-config.service.mjs +4 -4
  17. package/esm2022/lib/modules/datepicker/datepicker-input-fuzzy.directive.mjs +487 -0
  18. package/esm2022/lib/modules/datepicker/datepicker-input.directive.mjs +534 -0
  19. package/esm2022/lib/modules/datepicker/datepicker.component.mjs +327 -0
  20. package/{esm2020 → esm2022}/lib/modules/datepicker/datepicker.module.mjs +35 -35
  21. package/{esm2020 → esm2022}/lib/modules/datepicker/datepicker.service.mjs +4 -4
  22. package/{esm2020 → esm2022}/lib/modules/datepicker/daypicker-button.component.mjs +4 -4
  23. package/esm2022/lib/modules/datepicker/daypicker-cell.component.mjs +128 -0
  24. package/esm2022/lib/modules/datepicker/daypicker.component.mjs +224 -0
  25. package/esm2022/lib/modules/datepicker/fuzzy-date.service.mjs +412 -0
  26. package/esm2022/lib/modules/datepicker/monthpicker.component.mjs +80 -0
  27. package/{esm2020 → esm2022}/lib/modules/datepicker/yearpicker.component.mjs +53 -54
  28. package/{esm2020 → esm2022}/lib/modules/shared/sky-datetime-resources.module.mjs +11 -11
  29. package/esm2022/lib/modules/timepicker/timepicker.component.mjs +396 -0
  30. package/esm2022/lib/modules/timepicker/timepicker.directive.mjs +237 -0
  31. package/{esm2020 → esm2022}/lib/modules/timepicker/timepicker.module.mjs +17 -17
  32. package/esm2022/testing/datepicker-fixture.mjs +55 -0
  33. package/esm2022/testing/timepicker-fixture.mjs +52 -0
  34. package/fesm2022/skyux-datetime-testing.mjs +112 -0
  35. package/{fesm2020 → fesm2022}/skyux-datetime-testing.mjs.map +1 -1
  36. package/fesm2022/skyux-datetime.mjs +5030 -0
  37. package/fesm2022/skyux-datetime.mjs.map +1 -0
  38. package/lib/modules/date-range-picker/date-range-picker.component.d.ts +1 -1
  39. package/lib/modules/datepicker/datepicker-calendar-inner.component.d.ts +1 -1
  40. package/lib/modules/datepicker/datepicker-calendar.component.d.ts +1 -1
  41. package/lib/modules/datepicker/datepicker-input-fuzzy.directive.d.ts +1 -1
  42. package/lib/modules/datepicker/datepicker-input.directive.d.ts +1 -1
  43. package/lib/modules/datepicker/datepicker.component.d.ts +1 -1
  44. package/lib/modules/datepicker/daypicker-button.component.d.ts +1 -1
  45. package/lib/modules/datepicker/daypicker-cell.component.d.ts +1 -1
  46. package/lib/modules/datepicker/daypicker.component.d.ts +1 -1
  47. package/lib/modules/timepicker/timepicker.directive.d.ts +1 -1
  48. package/package.json +19 -27
  49. package/esm2020/lib/modules/date-pipe/date-format-utility.mjs +0 -45
  50. package/esm2020/lib/modules/date-pipe/date.pipe.mjs +0 -70
  51. package/esm2020/lib/modules/date-pipe/fuzzy-date.pipe.mjs +0 -50
  52. package/esm2020/lib/modules/date-range-picker/date-range-picker.component.mjs +0 -494
  53. package/esm2020/lib/modules/date-range-picker/date-range.service.mjs +0 -100
  54. package/esm2020/lib/modules/date-range-picker/types/date-range-calculator.mjs +0 -53
  55. package/esm2020/lib/modules/datepicker/date-formatter.mjs +0 -38
  56. package/esm2020/lib/modules/datepicker/datepicker-adapter.service.mjs +0 -26
  57. package/esm2020/lib/modules/datepicker/datepicker-calendar-inner.component.mjs +0 -333
  58. package/esm2020/lib/modules/datepicker/datepicker-calendar.component.mjs +0 -96
  59. package/esm2020/lib/modules/datepicker/datepicker-input-fuzzy.directive.mjs +0 -462
  60. package/esm2020/lib/modules/datepicker/datepicker-input.directive.mjs +0 -496
  61. package/esm2020/lib/modules/datepicker/datepicker.component.mjs +0 -319
  62. package/esm2020/lib/modules/datepicker/daypicker-cell.component.mjs +0 -126
  63. package/esm2020/lib/modules/datepicker/daypicker.component.mjs +0 -216
  64. package/esm2020/lib/modules/datepicker/fuzzy-date.service.mjs +0 -392
  65. package/esm2020/lib/modules/datepicker/monthpicker.component.mjs +0 -81
  66. package/esm2020/lib/modules/timepicker/timepicker.component.mjs +0 -389
  67. package/esm2020/lib/modules/timepicker/timepicker.directive.mjs +0 -236
  68. package/esm2020/testing/datepicker-fixture.mjs +0 -58
  69. package/esm2020/testing/timepicker-fixture.mjs +0 -55
  70. package/fesm2015/skyux-datetime-testing.mjs +0 -117
  71. package/fesm2015/skyux-datetime-testing.mjs.map +0 -1
  72. package/fesm2015/skyux-datetime.mjs +0 -4925
  73. package/fesm2015/skyux-datetime.mjs.map +0 -1
  74. package/fesm2020/skyux-datetime-testing.mjs +0 -117
  75. package/fesm2020/skyux-datetime.mjs +0 -4895
  76. package/fesm2020/skyux-datetime.mjs.map +0 -1
  77. /package/{esm2020 → esm2022}/index.mjs +0 -0
  78. /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range-calculation.mjs +0 -0
  79. /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range-calculator-config.mjs +0 -0
  80. /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range-calculator-date-range-function.mjs +0 -0
  81. /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range-calculator-id.mjs +0 -0
  82. /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range-calculator-type.mjs +0 -0
  83. /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range-calculator-validate-function.mjs +0 -0
  84. /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range-default-calculator-config.mjs +0 -0
  85. /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range-default-calculator-configs.mjs +0 -0
  86. /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range-relative-value.mjs +0 -0
  87. /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range.mjs +0 -0
  88. /package/{esm2020 → esm2022}/lib/modules/datepicker/datepicker-calendar-change.mjs +0 -0
  89. /package/{esm2020 → esm2022}/lib/modules/datepicker/datepicker-custom-date.mjs +0 -0
  90. /package/{esm2020 → esm2022}/lib/modules/datepicker/datepicker-date.mjs +0 -0
  91. /package/{esm2020 → esm2022}/lib/modules/datepicker/fuzzy-date.mjs +0 -0
  92. /package/{esm2020 → esm2022}/lib/modules/timepicker/timepicker-time-format-type.mjs +0 -0
  93. /package/{esm2020 → esm2022}/lib/modules/timepicker/timepicker-time-output.mjs +0 -0
  94. /package/{esm2020 → esm2022}/skyux-datetime.mjs +0 -0
  95. /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
  96. /package/{esm2020 → esm2022}/testing/skyux-datetime-testing.mjs +0 -0
@@ -11,25 +11,25 @@ import { SkyDateRangePickerComponent } from './date-range-picker.component';
11
11
  import { SkyDateRangeService } from './date-range.service';
12
12
  import * as i0 from "@angular/core";
13
13
  export class SkyDateRangePickerModule {
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDateRangePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyDateRangePickerModule, declarations: [SkyDateRangePickerComponent,
16
+ SkyDateRangePickerEndDateResourceKeyPipe,
17
+ SkyDateRangePickerStartDateResourceKeyPipe], imports: [CommonModule,
18
+ FormsModule,
19
+ ReactiveFormsModule,
20
+ SkyI18nModule,
21
+ SkyDatepickerModule,
22
+ SkyDatetimeResourcesModule,
23
+ SkyInputBoxModule], exports: [SkyDateRangePickerComponent] }); }
24
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDateRangePickerModule, providers: [SkyDateRangeService], imports: [CommonModule,
25
+ FormsModule,
26
+ ReactiveFormsModule,
27
+ SkyI18nModule,
28
+ SkyDatepickerModule,
29
+ SkyDatetimeResourcesModule,
30
+ SkyInputBoxModule] }); }
14
31
  }
15
- SkyDateRangePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyDateRangePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
- SkyDateRangePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyDateRangePickerModule, declarations: [SkyDateRangePickerComponent,
17
- SkyDateRangePickerEndDateResourceKeyPipe,
18
- SkyDateRangePickerStartDateResourceKeyPipe], imports: [CommonModule,
19
- FormsModule,
20
- ReactiveFormsModule,
21
- SkyI18nModule,
22
- SkyDatepickerModule,
23
- SkyDatetimeResourcesModule,
24
- SkyInputBoxModule], exports: [SkyDateRangePickerComponent] });
25
- SkyDateRangePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyDateRangePickerModule, providers: [SkyDateRangeService], imports: [CommonModule,
26
- FormsModule,
27
- ReactiveFormsModule,
28
- SkyI18nModule,
29
- SkyDatepickerModule,
30
- SkyDatetimeResourcesModule,
31
- SkyInputBoxModule] });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyDateRangePickerModule, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDateRangePickerModule, decorators: [{
33
33
  type: NgModule,
34
34
  args: [{
35
35
  declarations: [
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
50
50
  providers: [SkyDateRangeService],
51
51
  }]
52
52
  }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXJGLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzlHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQW9CM0QsTUFBTSxPQUFPLHdCQUF3Qjs7cUhBQXhCLHdCQUF3QjtzSEFBeEIsd0JBQXdCLGlCQWhCakMsMkJBQTJCO1FBQzNCLHdDQUF3QztRQUN4QywwQ0FBMEMsYUFHMUMsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQiwwQkFBMEI7UUFDMUIsaUJBQWlCLGFBRVQsMkJBQTJCO3NIQUcxQix3QkFBd0IsYUFGeEIsQ0FBQyxtQkFBbUIsQ0FBQyxZQVQ5QixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLDBCQUEwQjtRQUMxQixpQkFBaUI7MkZBS1Isd0JBQXdCO2tCQWxCcEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osMkJBQTJCO3dCQUMzQix3Q0FBd0M7d0JBQ3hDLDBDQUEwQztxQkFDM0M7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQ3RDLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lJbnB1dEJveE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lJMThuTW9kdWxlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgeyBTa3lEYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnLi4vZGF0ZXBpY2tlci9kYXRlcGlja2VyLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lEYXRldGltZVJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktZGF0ZXRpbWUtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreURhdGVSYW5nZVBpY2tlckVuZERhdGVSZXNvdXJjZUtleVBpcGUgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcGlja2VyLWVuZC1kYXRlLXJlc291cmNlLWtleS5waXBlJztcbmltcG9ydCB7IFNreURhdGVSYW5nZVBpY2tlclN0YXJ0RGF0ZVJlc291cmNlS2V5UGlwZSB9IGZyb20gJy4vZGF0ZS1yYW5nZS1waWNrZXItc3RhcnQtZGF0ZS1yZXNvdXJjZS1rZXkucGlwZSc7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi9kYXRlLXJhbmdlLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQsXG4gICAgU2t5RGF0ZVJhbmdlUGlja2VyRW5kRGF0ZVJlc291cmNlS2V5UGlwZSxcbiAgICBTa3lEYXRlUmFuZ2VQaWNrZXJTdGFydERhdGVSZXNvdXJjZUtleVBpcGUsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTa3lJMThuTW9kdWxlLFxuICAgIFNreURhdGVwaWNrZXJNb2R1bGUsXG4gICAgU2t5RGF0ZXRpbWVSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5SW5wdXRCb3hNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtTa3lEYXRlUmFuZ2VTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0ZVJhbmdlUGlja2VyTW9kdWxlIHt9XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXJGLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzlHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQW9CM0QsTUFBTSxPQUFPLHdCQUF3Qjs4R0FBeEIsd0JBQXdCOytHQUF4Qix3QkFBd0IsaUJBaEJqQywyQkFBMkI7WUFDM0Isd0NBQXdDO1lBQ3hDLDBDQUEwQyxhQUcxQyxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLDBCQUEwQjtZQUMxQixpQkFBaUIsYUFFVCwyQkFBMkI7K0dBRzFCLHdCQUF3QixhQUZ4QixDQUFDLG1CQUFtQixDQUFDLFlBVDlCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsMEJBQTBCO1lBQzFCLGlCQUFpQjs7MkZBS1Isd0JBQXdCO2tCQWxCcEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osMkJBQTJCO3dCQUMzQix3Q0FBd0M7d0JBQ3hDLDBDQUEwQztxQkFDM0M7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQ3RDLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lJbnB1dEJveE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lJMThuTW9kdWxlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgeyBTa3lEYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnLi4vZGF0ZXBpY2tlci9kYXRlcGlja2VyLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lEYXRldGltZVJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktZGF0ZXRpbWUtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreURhdGVSYW5nZVBpY2tlckVuZERhdGVSZXNvdXJjZUtleVBpcGUgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcGlja2VyLWVuZC1kYXRlLXJlc291cmNlLWtleS5waXBlJztcbmltcG9ydCB7IFNreURhdGVSYW5nZVBpY2tlclN0YXJ0RGF0ZVJlc291cmNlS2V5UGlwZSB9IGZyb20gJy4vZGF0ZS1yYW5nZS1waWNrZXItc3RhcnQtZGF0ZS1yZXNvdXJjZS1rZXkucGlwZSc7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi9kYXRlLXJhbmdlLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQsXG4gICAgU2t5RGF0ZVJhbmdlUGlja2VyRW5kRGF0ZVJlc291cmNlS2V5UGlwZSxcbiAgICBTa3lEYXRlUmFuZ2VQaWNrZXJTdGFydERhdGVSZXNvdXJjZUtleVBpcGUsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTa3lJMThuTW9kdWxlLFxuICAgIFNreURhdGVwaWNrZXJNb2R1bGUsXG4gICAgU2t5RGF0ZXRpbWVSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5SW5wdXRCb3hNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtTa3lEYXRlUmFuZ2VTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0ZVJhbmdlUGlja2VyTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,97 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject, forkJoin } from 'rxjs';
3
+ import { first, map } from 'rxjs/operators';
4
+ import { SkyDateRangeCalculator } from './types/date-range-calculator';
5
+ import { SKY_DEFAULT_CALCULATOR_CONFIGS } from './types/date-range-default-calculator-configs';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@skyux/i18n";
8
+ /**
9
+ * Creates and manages `SkyDateRangeCalculator` instances.
10
+ */
11
+ export class SkyDateRangeService {
12
+ // Start the count higher than the number of available values
13
+ // provided in the SkyDateRangeCalculatorId enum.
14
+ static { this.lastId = 1000; }
15
+ #calculatorReadyStream = new BehaviorSubject(false);
16
+ #calculatorConfigs = {};
17
+ #calculators = [];
18
+ #resourcesService;
19
+ constructor(resourcesService) {
20
+ this.#resourcesService = resourcesService;
21
+ this.#createDefaultCalculators();
22
+ }
23
+ /**
24
+ * Creates a custom date range calculator.
25
+ * @param config The calculator config.
26
+ */
27
+ createCalculator(config) {
28
+ const newId = SkyDateRangeService.lastId++;
29
+ const calculator = new SkyDateRangeCalculator(newId, config);
30
+ this.#calculators.push(calculator);
31
+ return calculator;
32
+ }
33
+ /**
34
+ * Returns calculators from an array of calculator IDs.
35
+ * @param ids The array of calculator IDs.
36
+ */
37
+ getCalculators(ids) {
38
+ const promises = ids.map((id) => {
39
+ return this.getCalculatorById(id);
40
+ });
41
+ return Promise.all(promises);
42
+ }
43
+ /**
44
+ * Returns a calculator from a calculator ID.
45
+ * @param id The calculator ID.
46
+ */
47
+ getCalculatorById(id) {
48
+ const calculatorId = parseInt(id, 10);
49
+ const found = this.#calculators.find((calculator) => {
50
+ return calculator.calculatorId === calculatorId;
51
+ });
52
+ return new Promise((resolve, reject) => {
53
+ if (!found) {
54
+ reject(new Error(`A calculator with the ID ${id} was not found.`));
55
+ return;
56
+ }
57
+ this.#calculatorReadyStream.pipe(first()).subscribe(() => {
58
+ resolve(found);
59
+ });
60
+ });
61
+ }
62
+ #createDefaultCalculators() {
63
+ const tasks = [];
64
+ // Get resource strings for short descriptions.
65
+ SKY_DEFAULT_CALCULATOR_CONFIGS.forEach((defaultConfig) => {
66
+ const config = {
67
+ getValue: defaultConfig.getValue,
68
+ validate: defaultConfig.validate,
69
+ shortDescription: '',
70
+ type: defaultConfig.type,
71
+ };
72
+ tasks.push(this.#resourcesService
73
+ .getString(defaultConfig.shortDescriptionResourceKey)
74
+ .pipe(first(), map((value) => {
75
+ config.shortDescription = value;
76
+ })));
77
+ this.#calculatorConfigs[defaultConfig.calculatorId] = config;
78
+ });
79
+ forkJoin(tasks)
80
+ .pipe(first())
81
+ .subscribe(() => {
82
+ const calculatorIds = Object.keys(this.#calculatorConfigs);
83
+ const calculators = calculatorIds.map((calculatorId) => {
84
+ const id = parseInt(calculatorId, 10);
85
+ return new SkyDateRangeCalculator(id, this.#calculatorConfigs[id]);
86
+ });
87
+ this.#calculators = calculators;
88
+ this.#calculatorReadyStream.next(true);
89
+ });
90
+ }
91
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDateRangeService, deps: [{ token: i1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
92
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDateRangeService }); }
93
+ }
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDateRangeService, decorators: [{
95
+ type: Injectable
96
+ }], ctorParameters: function () { return [{ type: i1.SkyLibResourcesService }]; } });
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsZUFBZSxFQUFjLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR3ZFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7QUFFL0Y7O0dBRUc7QUFFSCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLDZEQUE2RDtJQUM3RCxpREFBaUQ7YUFDbEMsV0FBTSxHQUFHLElBQUksQUFBUCxDQUFRO0lBRTdCLHNCQUFzQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRTdELGtCQUFrQixHQUFtRCxFQUFFLENBQUM7SUFFeEUsWUFBWSxHQUE2QixFQUFFLENBQUM7SUFFNUMsaUJBQWlCLENBQXlCO0lBRTFDLFlBQVksZ0JBQXdDO1FBQ2xELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUMxQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksZ0JBQWdCLENBQ3JCLE1BQW9DO1FBRXBDLE1BQU0sS0FBSyxHQUFHLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzNDLE1BQU0sVUFBVSxHQUFHLElBQUksc0JBQXNCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTdELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRW5DLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxjQUFjLENBQ25CLEdBQStCO1FBRS9CLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUM5QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksaUJBQWlCLENBQ3RCLEVBQTRCO1FBRTVCLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxFQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNsRCxPQUFPLFVBQVUsQ0FBQyxZQUFZLEtBQUssWUFBWSxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNWLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7Z0JBQ25FLE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUN2RCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCx5QkFBeUI7UUFDdkIsTUFBTSxLQUFLLEdBQXVCLEVBQUUsQ0FBQztRQUVyQywrQ0FBK0M7UUFDL0MsOEJBQThCLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDdkQsTUFBTSxNQUFNLEdBQUc7Z0JBQ2IsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRO2dCQUNoQyxRQUFRLEVBQUUsYUFBYSxDQUFDLFFBQVE7Z0JBQ2hDLGdCQUFnQixFQUFFLEVBQUU7Z0JBQ3BCLElBQUksRUFBRSxhQUFhLENBQUMsSUFBSTthQUN6QixDQUFDO1lBRUYsS0FBSyxDQUFDLElBQUksQ0FDUixJQUFJLENBQUMsaUJBQWlCO2lCQUNuQixTQUFTLENBQUMsYUFBYSxDQUFDLDJCQUEyQixDQUFDO2lCQUNwRCxJQUFJLENBQ0gsS0FBSyxFQUFFLEVBQ1AsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ1osTUFBTSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztZQUNsQyxDQUFDLENBQUMsQ0FDSCxDQUNKLENBQUM7WUFFRixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxLQUFLLENBQUM7YUFDWixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDYixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUMzRCxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7Z0JBQ3JELE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3RDLE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDckUsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztZQUNoQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0E3R1UsbUJBQW1CO2tIQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yIH0gZnJvbSAnLi90eXBlcy9kYXRlLXJhbmdlLWNhbGN1bGF0b3InO1xuaW1wb3J0IHsgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvckNvbmZpZyB9IGZyb20gJy4vdHlwZXMvZGF0ZS1yYW5nZS1jYWxjdWxhdG9yLWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQgfSBmcm9tICcuL3R5cGVzL2RhdGUtcmFuZ2UtY2FsY3VsYXRvci1pZCc7XG5pbXBvcnQgeyBTS1lfREVGQVVMVF9DQUxDVUxBVE9SX0NPTkZJR1MgfSBmcm9tICcuL3R5cGVzL2RhdGUtcmFuZ2UtZGVmYXVsdC1jYWxjdWxhdG9yLWNvbmZpZ3MnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW5kIG1hbmFnZXMgYFNreURhdGVSYW5nZUNhbGN1bGF0b3JgIGluc3RhbmNlcy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreURhdGVSYW5nZVNlcnZpY2Uge1xuICAvLyBTdGFydCB0aGUgY291bnQgaGlnaGVyIHRoYW4gdGhlIG51bWJlciBvZiBhdmFpbGFibGUgdmFsdWVzXG4gIC8vIHByb3ZpZGVkIGluIHRoZSBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQgZW51bS5cbiAgcHJpdmF0ZSBzdGF0aWMgbGFzdElkID0gMTAwMDtcblxuICAjY2FsY3VsYXRvclJlYWR5U3RyZWFtID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgI2NhbGN1bGF0b3JDb25maWdzOiB7IFtpZDogbnVtYmVyXTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvckNvbmZpZyB9ID0ge307XG5cbiAgI2NhbGN1bGF0b3JzOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yW10gPSBbXTtcblxuICAjcmVzb3VyY2VzU2VydmljZTogU2t5TGliUmVzb3VyY2VzU2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihyZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlKSB7XG4gICAgdGhpcy4jcmVzb3VyY2VzU2VydmljZSA9IHJlc291cmNlc1NlcnZpY2U7XG4gICAgdGhpcy4jY3JlYXRlRGVmYXVsdENhbGN1bGF0b3JzKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGN1c3RvbSBkYXRlIHJhbmdlIGNhbGN1bGF0b3IuXG4gICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGN1bGF0b3IgY29uZmlnLlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZUNhbGN1bGF0b3IoXG4gICAgY29uZmlnOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yQ29uZmlnXG4gICk6IFNreURhdGVSYW5nZUNhbGN1bGF0b3Ige1xuICAgIGNvbnN0IG5ld0lkID0gU2t5RGF0ZVJhbmdlU2VydmljZS5sYXN0SWQrKztcbiAgICBjb25zdCBjYWxjdWxhdG9yID0gbmV3IFNreURhdGVSYW5nZUNhbGN1bGF0b3IobmV3SWQsIGNvbmZpZyk7XG5cbiAgICB0aGlzLiNjYWxjdWxhdG9ycy5wdXNoKGNhbGN1bGF0b3IpO1xuXG4gICAgcmV0dXJuIGNhbGN1bGF0b3I7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBjYWxjdWxhdG9ycyBmcm9tIGFuIGFycmF5IG9mIGNhbGN1bGF0b3IgSURzLlxuICAgKiBAcGFyYW0gaWRzIFRoZSBhcnJheSBvZiBjYWxjdWxhdG9yIElEcy5cbiAgICovXG4gIHB1YmxpYyBnZXRDYWxjdWxhdG9ycyhcbiAgICBpZHM6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZFtdXG4gICk6IFByb21pc2U8U2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcltdPiB7XG4gICAgY29uc3QgcHJvbWlzZXMgPSBpZHMubWFwKChpZCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2FsY3VsYXRvckJ5SWQoaWQpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgY2FsY3VsYXRvciBmcm9tIGEgY2FsY3VsYXRvciBJRC5cbiAgICogQHBhcmFtIGlkIFRoZSBjYWxjdWxhdG9yIElELlxuICAgKi9cbiAgcHVibGljIGdldENhbGN1bGF0b3JCeUlkKFxuICAgIGlkOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWRcbiAgKTogUHJvbWlzZTxTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yPiB7XG4gICAgY29uc3QgY2FsY3VsYXRvcklkID0gcGFyc2VJbnQoaWQgYXMgYW55LCAxMCk7XG4gICAgY29uc3QgZm91bmQgPSB0aGlzLiNjYWxjdWxhdG9ycy5maW5kKChjYWxjdWxhdG9yKSA9PiB7XG4gICAgICByZXR1cm4gY2FsY3VsYXRvci5jYWxjdWxhdG9ySWQgPT09IGNhbGN1bGF0b3JJZDtcbiAgICB9KTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAoIWZvdW5kKSB7XG4gICAgICAgIHJlamVjdChuZXcgRXJyb3IoYEEgY2FsY3VsYXRvciB3aXRoIHRoZSBJRCAke2lkfSB3YXMgbm90IGZvdW5kLmApKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiNjYWxjdWxhdG9yUmVhZHlTdHJlYW0ucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICByZXNvbHZlKGZvdW5kKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgI2NyZWF0ZURlZmF1bHRDYWxjdWxhdG9ycygpOiB2b2lkIHtcbiAgICBjb25zdCB0YXNrczogT2JzZXJ2YWJsZTx2b2lkPltdID0gW107XG5cbiAgICAvLyBHZXQgcmVzb3VyY2Ugc3RyaW5ncyBmb3Igc2hvcnQgZGVzY3JpcHRpb25zLlxuICAgIFNLWV9ERUZBVUxUX0NBTENVTEFUT1JfQ09ORklHUy5mb3JFYWNoKChkZWZhdWx0Q29uZmlnKSA9PiB7XG4gICAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICAgIGdldFZhbHVlOiBkZWZhdWx0Q29uZmlnLmdldFZhbHVlLFxuICAgICAgICB2YWxpZGF0ZTogZGVmYXVsdENvbmZpZy52YWxpZGF0ZSxcbiAgICAgICAgc2hvcnREZXNjcmlwdGlvbjogJycsXG4gICAgICAgIHR5cGU6IGRlZmF1bHRDb25maWcudHlwZSxcbiAgICAgIH07XG5cbiAgICAgIHRhc2tzLnB1c2goXG4gICAgICAgIHRoaXMuI3Jlc291cmNlc1NlcnZpY2VcbiAgICAgICAgICAuZ2V0U3RyaW5nKGRlZmF1bHRDb25maWcuc2hvcnREZXNjcmlwdGlvblJlc291cmNlS2V5KVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgIG1hcCgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgY29uZmlnLnNob3J0RGVzY3JpcHRpb24gPSB2YWx1ZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgKTtcblxuICAgICAgdGhpcy4jY2FsY3VsYXRvckNvbmZpZ3NbZGVmYXVsdENvbmZpZy5jYWxjdWxhdG9ySWRdID0gY29uZmlnO1xuICAgIH0pO1xuXG4gICAgZm9ya0pvaW4odGFza3MpXG4gICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNhbGN1bGF0b3JJZHMgPSBPYmplY3Qua2V5cyh0aGlzLiNjYWxjdWxhdG9yQ29uZmlncyk7XG4gICAgICAgIGNvbnN0IGNhbGN1bGF0b3JzID0gY2FsY3VsYXRvcklkcy5tYXAoKGNhbGN1bGF0b3JJZCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGlkID0gcGFyc2VJbnQoY2FsY3VsYXRvcklkLCAxMCk7XG4gICAgICAgICAgcmV0dXJuIG5ldyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yKGlkLCB0aGlzLiNjYWxjdWxhdG9yQ29uZmlnc1tpZF0pO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLiNjYWxjdWxhdG9ycyA9IGNhbGN1bGF0b3JzO1xuICAgICAgICB0aGlzLiNjYWxjdWxhdG9yUmVhZHlTdHJlYW0ubmV4dCh0cnVlKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Represents the calculator.
3
+ */
4
+ export class SkyDateRangeCalculator {
5
+ #config;
6
+ constructor(
7
+ /**
8
+ * The calculator ID that specifies calculator objects that represent date ranges.
9
+ */
10
+ calculatorId, config) {
11
+ this.calculatorId = calculatorId;
12
+ this.#config = config;
13
+ this.type = config.type;
14
+ this.shortDescription = config.shortDescription;
15
+ }
16
+ /**
17
+ * Gets the current value of the calculator.
18
+ * @param startDateInput The start date.
19
+ * @param endDateInput The end date.
20
+ */
21
+ getValue(startDateInput, endDateInput) {
22
+ const result = this.#config.getValue(startDateInput, endDateInput);
23
+ let startDate = null;
24
+ if (result.startDate instanceof Date) {
25
+ startDate = this.#parseDateWithoutTime(result.startDate);
26
+ }
27
+ let endDate = null;
28
+ if (result.endDate instanceof Date) {
29
+ endDate = this.#parseDateWithoutTime(result.endDate);
30
+ }
31
+ return {
32
+ calculatorId: this.calculatorId,
33
+ startDate,
34
+ endDate,
35
+ };
36
+ }
37
+ /**
38
+ * Performs synchronous validation against the control.
39
+ */
40
+ validate(value) {
41
+ if (!this.#config.validate) {
42
+ return null;
43
+ }
44
+ return this.#config.validate(value);
45
+ }
46
+ /**
47
+ * Get a date object without time information.
48
+ * See: https://stackoverflow.com/a/38050824/6178885
49
+ */
50
+ #parseDateWithoutTime(date) {
51
+ return new Date(date.getFullYear(), date.getMonth(), date.getDate());
52
+ }
53
+ }
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1jYWxjdWxhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlLXJhbmdlLXBpY2tlci90eXBlcy9kYXRlLXJhbmdlLWNhbGN1bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBV2pDLE9BQU8sQ0FBK0I7SUFFdEM7SUFDRTs7T0FFRztJQUNhLFlBQXNDLEVBQ3RELE1BQW9DO1FBRHBCLGlCQUFZLEdBQVosWUFBWSxDQUEwQjtRQUd0RCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FDYixjQUE0QixFQUM1QixZQUEwQjtRQUUxQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFbkUsSUFBSSxTQUFTLEdBQWdCLElBQUksQ0FBQztRQUNsQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLFlBQVksSUFBSSxFQUFFO1lBQ3BDLFNBQVMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzFEO1FBRUQsSUFBSSxPQUFPLEdBQWdCLElBQUksQ0FBQztRQUNoQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLFlBQVksSUFBSSxFQUFFO1lBQ2xDLE9BQU8sR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3REO1FBRUQsT0FBTztZQUNMLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixTQUFTO1lBQ1QsT0FBTztTQUNSLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRLENBQUMsS0FBb0I7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQzFCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxxQkFBcUIsQ0FBQyxJQUFVO1FBQzlCLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2UgfSBmcm9tICcuL2RhdGUtcmFuZ2UnO1xuaW1wb3J0IHsgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24gfSBmcm9tICcuL2RhdGUtcmFuZ2UtY2FsY3VsYXRpb24nO1xuaW1wb3J0IHsgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvckNvbmZpZyB9IGZyb20gJy4vZGF0ZS1yYW5nZS1jYWxjdWxhdG9yLWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQgfSBmcm9tICcuL2RhdGUtcmFuZ2UtY2FsY3VsYXRvci1pZCc7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yVHlwZSB9IGZyb20gJy4vZGF0ZS1yYW5nZS1jYWxjdWxhdG9yLXR5cGUnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGNhbGN1bGF0b3IuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yIHtcbiAgLyoqXG4gICAqIFRoZSB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIGNhbGN1bGF0b3Igc2VsZWN0IG1lbnUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2hvcnREZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBjYWxjdWxhdGlvbnMgYXZhaWxhYmxlIGZvciB0aGUgZGF0ZSByYW5nZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yVHlwZTtcblxuICAjY29uZmlnOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIFRoZSBjYWxjdWxhdG9yIElEIHRoYXQgc3BlY2lmaWVzIGNhbGN1bGF0b3Igb2JqZWN0cyB0aGF0IHJlcHJlc2VudCBkYXRlIHJhbmdlcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgY2FsY3VsYXRvcklkOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQsXG4gICAgY29uZmlnOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yQ29uZmlnXG4gICkge1xuICAgIHRoaXMuI2NvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLnR5cGUgPSBjb25maWcudHlwZTtcbiAgICB0aGlzLnNob3J0RGVzY3JpcHRpb24gPSBjb25maWcuc2hvcnREZXNjcmlwdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBjYWxjdWxhdG9yLlxuICAgKiBAcGFyYW0gc3RhcnREYXRlSW5wdXQgVGhlIHN0YXJ0IGRhdGUuXG4gICAqIEBwYXJhbSBlbmREYXRlSW5wdXQgVGhlIGVuZCBkYXRlLlxuICAgKi9cbiAgcHVibGljIGdldFZhbHVlKFxuICAgIHN0YXJ0RGF0ZUlucHV0PzogRGF0ZSB8IG51bGwsXG4gICAgZW5kRGF0ZUlucHV0PzogRGF0ZSB8IG51bGxcbiAgKTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuI2NvbmZpZy5nZXRWYWx1ZShzdGFydERhdGVJbnB1dCwgZW5kRGF0ZUlucHV0KTtcblxuICAgIGxldCBzdGFydERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgICBpZiAocmVzdWx0LnN0YXJ0RGF0ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHN0YXJ0RGF0ZSA9IHRoaXMuI3BhcnNlRGF0ZVdpdGhvdXRUaW1lKHJlc3VsdC5zdGFydERhdGUpO1xuICAgIH1cblxuICAgIGxldCBlbmREYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gICAgaWYgKHJlc3VsdC5lbmREYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgZW5kRGF0ZSA9IHRoaXMuI3BhcnNlRGF0ZVdpdGhvdXRUaW1lKHJlc3VsdC5lbmREYXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY2FsY3VsYXRvcklkOiB0aGlzLmNhbGN1bGF0b3JJZCxcbiAgICAgIHN0YXJ0RGF0ZSxcbiAgICAgIGVuZERhdGUsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJmb3JtcyBzeW5jaHJvbm91cyB2YWxpZGF0aW9uIGFnYWluc3QgdGhlIGNvbnRyb2wuXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGUodmFsdWU/OiBTa3lEYXRlUmFuZ2UpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLiNjb25maWcudmFsaWRhdGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLiNjb25maWcudmFsaWRhdGUodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIGRhdGUgb2JqZWN0IHdpdGhvdXQgdGltZSBpbmZvcm1hdGlvbi5cbiAgICogU2VlOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMzgwNTA4MjQvNjE3ODg4NVxuICAgKi9cbiAgI3BhcnNlRGF0ZVdpdGhvdXRUaW1lKGRhdGU6IERhdGUpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,38 @@
1
+ import moment from 'moment';
2
+ export class SkyDateFormatter {
3
+ static { this.defaultLocale = 'en-US'; }
4
+ static { this.defaultShortDateFormat = 'MM/DD/YYYY'; }
5
+ /**
6
+ * Sets moment's global locale.
7
+ */
8
+ static setLocale(locale) {
9
+ moment.locale(locale || SkyDateFormatter.defaultLocale);
10
+ }
11
+ /**
12
+ * Returns the preferred short date format for the current locale.
13
+ */
14
+ static getPreferredShortDateFormat() {
15
+ /* istanbul ignore next */
16
+ return (moment.localeData().longDateFormat('L') ||
17
+ SkyDateFormatter.defaultShortDateFormat);
18
+ }
19
+ format(date, format) {
20
+ return moment(date.getTime()).format(format);
21
+ }
22
+ getDateFromString(dateString, format,
23
+ /* istanbul ignore next */
24
+ strict = false) {
25
+ let momentValue = moment(dateString, format, strict);
26
+ if (!momentValue.isValid()) {
27
+ momentValue = moment(dateString, 'YYYY-MM-DDThh:mm:ss.SZ', strict);
28
+ }
29
+ return momentValue.toDate();
30
+ }
31
+ dateIsValid(date) {
32
+ return !!(date &&
33
+ date instanceof Date &&
34
+ !isNaN(date.valueOf()) &&
35
+ !isNaN(new Date(date).getDate()));
36
+ }
37
+ }
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mb3JtYXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGVwaWNrZXIvZGF0ZS1mb3JtYXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE1BQU0sT0FBTyxnQkFBZ0I7YUFDWixrQkFBYSxHQUFHLE9BQU8sQ0FBQzthQUV4QiwyQkFBc0IsR0FBRyxZQUFZLENBQUM7SUFFckQ7O09BRUc7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQWM7UUFDcEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLDJCQUEyQjtRQUN2QywwQkFBMEI7UUFDMUIsT0FBTyxDQUNMLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDO1lBQ3ZDLGdCQUFnQixDQUFDLHNCQUFzQixDQUN4QyxDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFVLEVBQUUsTUFBZTtRQUN2QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLGlCQUFpQixDQUN0QixVQUFrQixFQUNsQixNQUFlO0lBQ2YsMEJBQTBCO0lBQzFCLE1BQU0sR0FBRyxLQUFLO1FBRWQsSUFBSSxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUMxQixXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNwRTtRQUVELE9BQU8sV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTSxXQUFXLENBQUMsSUFBc0I7UUFDdkMsT0FBTyxDQUFDLENBQUMsQ0FDUCxJQUFJO1lBQ0osSUFBSSxZQUFZLElBQUk7WUFDcEIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQ2pDLENBQUM7SUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5leHBvcnQgY2xhc3MgU2t5RGF0ZUZvcm1hdHRlciB7XG4gIHByaXZhdGUgc3RhdGljIGRlZmF1bHRMb2NhbGUgPSAnZW4tVVMnO1xuXG4gIHByaXZhdGUgc3RhdGljIGRlZmF1bHRTaG9ydERhdGVGb3JtYXQgPSAnTU0vREQvWVlZWSc7XG5cbiAgLyoqXG4gICAqIFNldHMgbW9tZW50J3MgZ2xvYmFsIGxvY2FsZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc2V0TG9jYWxlKGxvY2FsZTogc3RyaW5nKTogdm9pZCB7XG4gICAgbW9tZW50LmxvY2FsZShsb2NhbGUgfHwgU2t5RGF0ZUZvcm1hdHRlci5kZWZhdWx0TG9jYWxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBwcmVmZXJyZWQgc2hvcnQgZGF0ZSBmb3JtYXQgZm9yIHRoZSBjdXJyZW50IGxvY2FsZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0UHJlZmVycmVkU2hvcnREYXRlRm9ybWF0KCk6IHN0cmluZyB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gKFxuICAgICAgbW9tZW50LmxvY2FsZURhdGEoKS5sb25nRGF0ZUZvcm1hdCgnTCcpIHx8XG4gICAgICBTa3lEYXRlRm9ybWF0dGVyLmRlZmF1bHRTaG9ydERhdGVGb3JtYXRcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGZvcm1hdChkYXRlOiBEYXRlLCBmb3JtYXQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBtb21lbnQoZGF0ZS5nZXRUaW1lKCkpLmZvcm1hdChmb3JtYXQpO1xuICB9XG5cbiAgcHVibGljIGdldERhdGVGcm9tU3RyaW5nKFxuICAgIGRhdGVTdHJpbmc6IHN0cmluZyxcbiAgICBmb3JtYXQ/OiBzdHJpbmcsXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBzdHJpY3QgPSBmYWxzZVxuICApOiBEYXRlIHtcbiAgICBsZXQgbW9tZW50VmFsdWUgPSBtb21lbnQoZGF0ZVN0cmluZywgZm9ybWF0LCBzdHJpY3QpO1xuXG4gICAgaWYgKCFtb21lbnRWYWx1ZS5pc1ZhbGlkKCkpIHtcbiAgICAgIG1vbWVudFZhbHVlID0gbW9tZW50KGRhdGVTdHJpbmcsICdZWVlZLU1NLUREVGhoOm1tOnNzLlNaJywgc3RyaWN0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbW9tZW50VmFsdWUudG9EYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgZGF0ZUlzVmFsaWQoZGF0ZTogRGF0ZSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIShcbiAgICAgIGRhdGUgJiZcbiAgICAgIGRhdGUgaW5zdGFuY2VvZiBEYXRlICYmXG4gICAgICAhaXNOYU4oZGF0ZS52YWx1ZU9mKCkpICYmXG4gICAgICAhaXNOYU4obmV3IERhdGUoZGF0ZSkuZ2V0RGF0ZSgpKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * @internal
5
+ */
6
+ export class SkyDatepickerAdapterService {
7
+ #renderer;
8
+ constructor(renderer) {
9
+ this.#renderer = renderer;
10
+ }
11
+ getPlaceholder(elementRef) {
12
+ return elementRef.nativeElement.getAttribute('placeholder');
13
+ }
14
+ setPlaceholder(elementRef, value) {
15
+ this.#renderer.setAttribute(elementRef.nativeElement, 'placeholder', value);
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDatepickerAdapterService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
18
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDatepickerAdapterService }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDatepickerAdapterService, decorators: [{
21
+ type: Injectable
22
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQzs7QUFFbEU7O0dBRUc7QUFFSCxNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLFNBQVMsQ0FBWTtJQUVyQixZQUFZLFFBQW1CO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzVCLENBQUM7SUFFTSxjQUFjLENBQUMsVUFBc0I7UUFDMUMsT0FBTyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sY0FBYyxDQUFDLFVBQXNCLEVBQUUsS0FBYTtRQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5RSxDQUFDOzhHQWJVLDJCQUEyQjtrSEFBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUR2QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lEYXRlcGlja2VyQWRhcHRlclNlcnZpY2Uge1xuICAjcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBjb25zdHJ1Y3RvcihyZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQbGFjZWhvbGRlcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgncGxhY2Vob2xkZXInKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRQbGFjZWhvbGRlcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy4jcmVuZGVyZXIuc2V0QXR0cmlidXRlKGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3BsYWNlaG9sZGVyJywgdmFsdWUpO1xuICB9XG59XG4iXX0=