@taiga-ui/kit 4.45.0 → 4.46.0-canary.96d3049

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 (75) hide show
  1. package/components/badged-content/badged-content.component.d.ts +5 -1
  2. package/components/combo-box/combo-box.directive.d.ts +0 -1
  3. package/components/index.d.ts +2 -0
  4. package/components/input-chip/input-chip.directive.d.ts +5 -3
  5. package/components/input-date/date-filler.d.ts +2 -0
  6. package/components/input-date/index.d.ts +1 -0
  7. package/components/input-date/input-date.directive.d.ts +14 -10
  8. package/components/input-date-multi/index.d.ts +2 -0
  9. package/components/input-date-multi/input-date-multi.d.ts +4 -0
  10. package/components/input-date-multi/input-date-multi.directive.d.ts +30 -0
  11. package/components/input-date-range/input-date-range.directive.d.ts +1 -1
  12. package/components/input-date-time/index.d.ts +4 -0
  13. package/components/input-date-time/input-date-time.component.d.ts +13 -0
  14. package/components/input-date-time/input-date-time.d.ts +4 -0
  15. package/components/input-date-time/input-date-time.directive.d.ts +37 -0
  16. package/components/input-date-time/input-date-time.options.d.ts +18 -0
  17. package/components/input-time/input-time.component.d.ts +12 -3
  18. package/esm2022/components/avatar/avatar.component.mjs +3 -3
  19. package/esm2022/components/badged-content/badged-content.component.mjs +14 -3
  20. package/esm2022/components/button-loading/button-loading.component.mjs +2 -1
  21. package/esm2022/components/combo-box/combo-box.directive.mjs +4 -10
  22. package/esm2022/components/index.mjs +3 -1
  23. package/esm2022/components/input-chip/input-chip.directive.mjs +3 -3
  24. package/esm2022/components/input-date/date-filler.mjs +20 -0
  25. package/esm2022/components/input-date/index.mjs +2 -1
  26. package/esm2022/components/input-date/input-date.directive.mjs +32 -32
  27. package/esm2022/components/input-date-multi/index.mjs +3 -0
  28. package/esm2022/components/input-date-multi/input-date-multi.directive.mjs +129 -0
  29. package/esm2022/components/input-date-multi/input-date-multi.mjs +9 -0
  30. package/esm2022/components/input-date-multi/taiga-ui-kit-components-input-date-multi.mjs +5 -0
  31. package/esm2022/components/input-date-range/input-date-range.directive.mjs +5 -5
  32. package/esm2022/components/input-date-time/index.mjs +5 -0
  33. package/esm2022/components/input-date-time/input-date-time.component.mjs +34 -0
  34. package/esm2022/components/input-date-time/input-date-time.directive.mjs +174 -0
  35. package/esm2022/components/input-date-time/input-date-time.mjs +9 -0
  36. package/esm2022/components/input-date-time/input-date-time.options.mjs +20 -0
  37. package/esm2022/components/input-date-time/taiga-ui-kit-components-input-date-time.mjs +5 -0
  38. package/esm2022/components/input-time/input-time.component.mjs +44 -26
  39. package/esm2022/components/input-time/input-time.directive.mjs +7 -2
  40. package/esm2022/components/pager/pager.component.mjs +3 -3
  41. package/esm2022/components/status/status.directive.mjs +2 -2
  42. package/esm2022/components/textarea/textarea.component.mjs +3 -2
  43. package/esm2022/directives/lazy-loading/lazy-loading.directive.mjs +2 -1
  44. package/fesm2022/taiga-ui-kit-components-avatar.mjs +2 -2
  45. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-kit-components-badged-content.mjs +13 -2
  47. package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-kit-components-button-loading.mjs +1 -0
  49. package/fesm2022/taiga-ui-kit-components-button-loading.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +3 -9
  51. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-kit-components-input-chip.mjs +3 -3
  53. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +141 -0
  55. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -0
  56. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +4 -4
  57. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
  58. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +230 -0
  59. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -0
  60. package/fesm2022/taiga-ui-kit-components-input-date.mjs +52 -37
  61. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-kit-components-input-time.mjs +48 -26
  63. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  64. package/fesm2022/taiga-ui-kit-components-pager.mjs +2 -2
  65. package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-kit-components-status.mjs +2 -2
  67. package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-kit-components-textarea.mjs +2 -1
  69. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-kit-components.mjs +2 -0
  71. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs +1 -0
  73. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs.map +1 -1
  74. package/package.json +26 -14
  75. package/styles/components/status.less +1 -4
@@ -3,11 +3,11 @@ import { MaskitoDirective } from '@maskito/angular';
3
3
  import { maskitoDateRangeOptionsGenerator } from '@maskito/kit';
4
4
  import { tuiAsControl, tuiValueTransformerFrom } from '@taiga-ui/cdk/classes';
5
5
  import { DATE_RANGE_FILLER_LENGTH, RANGE_SEPARATOR_CHAR, TuiDayRange, } from '@taiga-ui/cdk/date-time';
6
- import { tuiDirectiveBinding, tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
7
- import { TuiTextfieldComponent, TuiWithTextfield, } from '@taiga-ui/core/components/textfield';
6
+ import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
7
+ import { TuiWithTextfield } from '@taiga-ui/core/components/textfield';
8
8
  import { TuiDropdownAuto } from '@taiga-ui/core/directives/dropdown';
9
9
  import { TUI_ITEMS_HANDLERS } from '@taiga-ui/core/directives/items-handlers';
10
- import { TUI_DATE_ADAPTER, TUI_INPUT_DATE_OPTIONS_NEW, TuiInputDateBase, } from '@taiga-ui/kit/components/input-date';
10
+ import { TUI_DATE_ADAPTER, TUI_INPUT_DATE_OPTIONS_NEW, TuiInputDateBase, tuiWithDateFiller, } from '@taiga-ui/kit/components/input-date';
11
11
  import { tuiMaskito } from '@taiga-ui/kit/utils';
12
12
  import { TUI_INPUT_DATE_RANGE_OPTIONS } from './input-date-range.options';
13
13
  import * as i0 from "@angular/core";
@@ -18,7 +18,7 @@ class TuiInputDateRangeDirective extends TuiInputDateBase {
18
18
  constructor() {
19
19
  super(...arguments);
20
20
  this.identity = inject(TUI_ITEMS_HANDLERS).identityMatcher.set((a, b) => a.daySame(b));
21
- this.rangeFiller = tuiDirectiveBinding(TuiTextfieldComponent, 'fillerSetter', computed((filler = this.filler()) => `${filler}${RANGE_SEPARATOR_CHAR}${filler}`), {});
21
+ this.filler = tuiWithDateFiller((filler) => `${filler}${RANGE_SEPARATOR_CHAR}${filler}`);
22
22
  this.mask = tuiMaskito(computed(() => maskitoDateRangeOptionsGenerator({
23
23
  dateSeparator: this.format().separator,
24
24
  mode: TUI_DATE_ADAPTER[this.format().mode],
@@ -76,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
76
76
  type: Input,
77
77
  args: ['maxLength']
78
78
  }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS1yYW5nZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlLXJhbmdlL2lucHV0LWRhdGUtcmFuZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQUMsWUFBWSxFQUFFLHVCQUF1QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFNUUsT0FBTyxFQUNILHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsV0FBVyxHQUNkLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLG1CQUFtQixFQUFFLFVBQVUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xGLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsZ0JBQWdCLEdBQ25CLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBRW5FLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBRTVFLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsMEJBQTBCLEVBQzFCLGdCQUFnQixHQUNuQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvQyxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUFFeEUsTUFXYSwwQkFBMkIsU0FBUSxnQkFBNkI7SUFYN0U7O1FBWXVCLGFBQVEsR0FBRyxNQUFNLENBQ2hDLGtCQUFrQixDQUNyQixDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFM0IsZ0JBQVcsR0FBRyxtQkFBbUIsQ0FDaEQscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCxRQUFRLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLE1BQU0sR0FBRyxvQkFBb0IsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUNqRixFQUFFLENBQ0wsQ0FBQztRQUUwQixTQUFJLEdBQUcsVUFBVSxDQUN6QyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQ1YsZ0NBQWdDLENBQUM7WUFDN0IsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTO1lBQ3RDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQzFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLEVBQUU7WUFDbkMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRTtZQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUU7WUFDakMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFO1NBQ3BDLENBQUMsQ0FDTCxDQUNKLENBQUM7UUFFYyxjQUFTLEdBQUcsTUFBTSxDQUFvQixJQUFJLENBQUMsQ0FBQztRQUM1QyxjQUFTLEdBQUcsTUFBTSxDQUFvQixJQUFJLENBQUMsQ0FBQztLQTJCL0Q7SUF6QkcsSUFDVyxlQUFlLENBQUMsU0FBNEI7UUFDbkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQ1csZUFBZSxDQUFDLFNBQTRCO1FBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFa0IsZUFBZSxDQUFDLFFBQTBCO1FBQ3pELEtBQUssQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFaEMsUUFBUSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdEMsUUFBUSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVrQixhQUFhLENBQUMsS0FBYTtRQUMxQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsQ0FBQyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxRQUFRLENBQ1QsS0FBSyxDQUFDLE1BQU0sS0FBSyx3QkFBd0I7WUFDckMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDdkQsQ0FBQyxDQUFDLElBQUksQ0FDYixDQUFDO0lBQ04sQ0FBQzsrR0FwRFEsMEJBQTBCO21HQUExQiwwQkFBMEIseUxBUnhCO1lBQ1AseUVBQXlFO1lBQ3pFLFlBQVksQ0FBQywwQkFBMEIsQ0FBQztZQUN4Qyx1QkFBdUIsQ0FBQyw0QkFBNEIsQ0FBQztZQUNyRCxVQUFVLENBQUMsMEJBQTBCLEVBQUUsNEJBQTRCLENBQUM7U0FDdkU7O1NBR1EsMEJBQTBCOzRGQUExQiwwQkFBMEI7a0JBWHRDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFNBQVMsRUFBRTt3QkFDUCx5RUFBeUU7d0JBQ3pFLFlBQVksNEJBQTRCO3dCQUN4Qyx1QkFBdUIsQ0FBQyw0QkFBNEIsQ0FBQzt3QkFDckQsVUFBVSxDQUFDLDBCQUEwQixFQUFFLDRCQUE0QixDQUFDO3FCQUN2RTtvQkFDRCxjQUFjLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLENBQUM7aUJBQ3hFOzhCQThCYyxlQUFlO3NCQUR6QixLQUFLO3VCQUFDLFdBQVc7Z0JBTVAsZUFBZTtzQkFEekIsS0FBSzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb21wdXRlZCwgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXNraXRvRGlyZWN0aXZlfSBmcm9tICdAbWFza2l0by9hbmd1bGFyJztcbmltcG9ydCB7bWFza2l0b0RhdGVSYW5nZU9wdGlvbnNHZW5lcmF0b3J9IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQge3R1aUFzQ29udHJvbCwgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb219IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQgdHlwZSB7VHVpRGF5TGlrZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtcbiAgICBEQVRFX1JBTkdFX0ZJTExFUl9MRU5HVEgsXG4gICAgUkFOR0VfU0VQQVJBVE9SX0NIQVIsXG4gICAgVHVpRGF5UmFuZ2UsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7dHVpRGlyZWN0aXZlQmluZGluZywgdHVpUHJvdmlkZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7XG4gICAgVHVpVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVdpdGhUZXh0ZmllbGQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7VHVpRHJvcGRvd25BdXRvfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB0eXBlIHtUdWlJdGVtc0hhbmRsZXJzfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VFVJX0lURU1TX0hBTkRMRVJTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB0eXBlIHtUdWlDYWxlbmRhclJhbmdlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItcmFuZ2UnO1xuaW1wb3J0IHtcbiAgICBUVUlfREFURV9BREFQVEVSLFxuICAgIFRVSV9JTlBVVF9EQVRFX09QVElPTlNfTkVXLFxuICAgIFR1aUlucHV0RGF0ZUJhc2UsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlJztcbmltcG9ydCB7dHVpTWFza2l0b30gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX0RBVEVfUkFOR0VfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1kYXRlLXJhbmdlLm9wdGlvbnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpSW5wdXREYXRlUmFuZ2VdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgLy8gVE9ETzogQWRkIFNlbGVjdE9wdGlvbiBhZnRlciBkYXRhLWxpc3QgaW4gY2FsZW5kYXItcmFuZ2UgaXMgcmVmYWN0b3JlZFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXREYXRlUmFuZ2VEaXJlY3RpdmUpLFxuICAgICAgICB0dWlWYWx1ZVRyYW5zZm9ybWVyRnJvbShUVUlfSU5QVVRfREFURV9SQU5HRV9PUFRJT05TKSxcbiAgICAgICAgdHVpUHJvdmlkZShUVUlfSU5QVVRfREFURV9PUFRJT05TX05FVywgVFVJX0lOUFVUX0RBVEVfUkFOR0VfT1BUSU9OUyksXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aVdpdGhUZXh0ZmllbGQsIFR1aURyb3Bkb3duQXV0bywgTWFza2l0b0RpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RGF0ZVJhbmdlRGlyZWN0aXZlIGV4dGVuZHMgVHVpSW5wdXREYXRlQmFzZTxUdWlEYXlSYW5nZT4ge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpZGVudGl0eSA9IGluamVjdDxUdWlJdGVtc0hhbmRsZXJzPFR1aURheVJhbmdlPj4oXG4gICAgICAgIFRVSV9JVEVNU19IQU5ETEVSUyxcbiAgICApLmlkZW50aXR5TWF0Y2hlci5zZXQoKGEsIGIpID0+IGEuZGF5U2FtZShiKSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmFuZ2VGaWxsZXIgPSB0dWlEaXJlY3RpdmVCaW5kaW5nKFxuICAgICAgICBUdWlUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgICAgICdmaWxsZXJTZXR0ZXInLFxuICAgICAgICBjb21wdXRlZCgoZmlsbGVyID0gdGhpcy5maWxsZXIoKSkgPT4gYCR7ZmlsbGVyfSR7UkFOR0VfU0VQQVJBVE9SX0NIQVJ9JHtmaWxsZXJ9YCksXG4gICAgICAgIHt9LFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgbWFzayA9IHR1aU1hc2tpdG8oXG4gICAgICAgIGNvbXB1dGVkKCgpID0+XG4gICAgICAgICAgICBtYXNraXRvRGF0ZVJhbmdlT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICAgICAgICAgICAgZGF0ZVNlcGFyYXRvcjogdGhpcy5mb3JtYXQoKS5zZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgbW9kZTogVFVJX0RBVEVfQURBUFRFUlt0aGlzLmZvcm1hdCgpLm1vZGVdLFxuICAgICAgICAgICAgICAgIG1pbjogdGhpcy5taW4oKS50b0xvY2FsTmF0aXZlRGF0ZSgpLFxuICAgICAgICAgICAgICAgIG1heDogdGhpcy5tYXgoKS50b0xvY2FsTmF0aXZlRGF0ZSgpLFxuICAgICAgICAgICAgICAgIG1pbkxlbmd0aDogdGhpcy5taW5MZW5ndGgoKSB8fCB7fSxcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IHRoaXMubWF4TGVuZ3RoKCkgfHwge30sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG1pbkxlbmd0aCA9IHNpZ25hbDxUdWlEYXlMaWtlIHwgbnVsbD4obnVsbCk7XG4gICAgcHVibGljIHJlYWRvbmx5IG1heExlbmd0aCA9IHNpZ25hbDxUdWlEYXlMaWtlIHwgbnVsbD4obnVsbCk7XG5cbiAgICBASW5wdXQoJ21pbkxlbmd0aCcpXG4gICAgcHVibGljIHNldCBtaW5MZW5ndGhTZXR0ZXIobWluTGVuZ3RoOiBUdWlEYXlMaWtlIHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1pbkxlbmd0aC5zZXQobWluTGVuZ3RoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ21heExlbmd0aCcpXG4gICAgcHVibGljIHNldCBtYXhMZW5ndGhTZXR0ZXIobWF4TGVuZ3RoOiBUdWlEYXlMaWtlIHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1heExlbmd0aC5zZXQobWF4TGVuZ3RoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcHJvY2Vzc0NhbGVuZGFyKGNhbGVuZGFyOiBUdWlDYWxlbmRhclJhbmdlKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnByb2Nlc3NDYWxlbmRhcihjYWxlbmRhcik7XG5cbiAgICAgICAgY2FsZW5kYXIubWluTGVuZ3RoID0gdGhpcy5taW5MZW5ndGgoKTtcbiAgICAgICAgY2FsZW5kYXIubWF4TGVuZ3RoID0gdGhpcy5tYXhMZW5ndGgoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udHJvbD8uY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKFxuICAgICAgICAgICAgdmFsdWUubGVuZ3RoID09PSBEQVRFX1JBTkdFX0ZJTExFUl9MRU5HVEhcbiAgICAgICAgICAgICAgICA/IFR1aURheVJhbmdlLm5vcm1hbGl6ZVBhcnNlKHZhbHVlLCB0aGlzLmZvcm1hdCgpLm1vZGUpXG4gICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS1yYW5nZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlLXJhbmdlL2lucHV0LWRhdGUtcmFuZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQUMsWUFBWSxFQUFFLHVCQUF1QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFNUUsT0FBTyxFQUNILHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsV0FBVyxHQUNkLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzdELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUVuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUU1RSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEdBQ3BCLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9DLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7OztBQUV4RSxNQVdhLDBCQUEyQixTQUFRLGdCQUE2QjtJQVg3RTs7UUFZdUIsYUFBUSxHQUFHLE1BQU0sQ0FDaEMs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Z0JBTVAsZUFBZTtzQkFEekIsS0FBSzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb21wdXRlZCwgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXNraXRvRGlyZWN0aXZlfSBmcm9tICdAbWFza2l0by9hbmd1bGFyJztcbmltcG9ydCB7bWFza2l0b0RhdGVSYW5nZU9wdGlvbnNHZW5lcmF0b3J9IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQge3R1aUFzQ29udHJvbCwgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb219IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQgdHlwZSB7VHVpRGF5TGlrZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtcbiAgICBEQVRFX1JBTkdFX0ZJTExFUl9MRU5HVEgsXG4gICAgUkFOR0VfU0VQQVJBVE9SX0NIQVIsXG4gICAgVHVpRGF5UmFuZ2UsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7dHVpUHJvdmlkZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VHVpV2l0aFRleHRmaWVsZH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkF1dG99IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHR5cGUge1R1aUl0ZW1zSGFuZGxlcnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtUVUlfSVRFTVNfSEFORExFUlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHR5cGUge1R1aUNhbGVuZGFyUmFuZ2V9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jYWxlbmRhci1yYW5nZSc7XG5pbXBvcnQge1xuICAgIFRVSV9EQVRFX0FEQVBURVIsXG4gICAgVFVJX0lOUFVUX0RBVEVfT1BUSU9OU19ORVcsXG4gICAgVHVpSW5wdXREYXRlQmFzZSxcbiAgICB0dWlXaXRoRGF0ZUZpbGxlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUnO1xuaW1wb3J0IHt0dWlNYXNraXRvfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfREFURV9SQU5HRV9PUFRJT05TfSBmcm9tICcuL2lucHV0LWRhdGUtcmFuZ2Uub3B0aW9ucyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dERhdGVSYW5nZV0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICAvLyBUT0RPOiBBZGQgU2VsZWN0T3B0aW9uIGFmdGVyIGRhdGEtbGlzdCBpbiBjYWxlbmRhci1yYW5nZSBpcyByZWZhY3RvcmVkXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dERhdGVSYW5nZURpcmVjdGl2ZSksXG4gICAgICAgIHR1aVZhbHVlVHJhbnNmb3JtZXJGcm9tKFRVSV9JTlBVVF9EQVRFX1JBTkdFX09QVElPTlMpLFxuICAgICAgICB0dWlQcm92aWRlKFRVSV9JTlBVVF9EQVRFX09QVElPTlNfTkVXLCBUVUlfSU5QVVRfREFURV9SQU5HRV9PUFRJT05TKSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpV2l0aFRleHRmaWVsZCwgVHVpRHJvcGRvd25BdXRvLCBNYXNraXRvRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXREYXRlUmFuZ2VEaXJlY3RpdmUgZXh0ZW5kcyBUdWlJbnB1dERhdGVCYXNlPFR1aURheVJhbmdlPiB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlkZW50aXR5ID0gaW5qZWN0PFR1aUl0ZW1zSGFuZGxlcnM8VHVpRGF5UmFuZ2U+PihcbiAgICAgICAgVFVJX0lURU1TX0hBTkRMRVJTLFxuICAgICkuaWRlbnRpdHlNYXRjaGVyLnNldCgoYSwgYikgPT4gYS5kYXlTYW1lKGIpKTtcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBmaWxsZXIgPSB0dWlXaXRoRGF0ZUZpbGxlcihcbiAgICAgICAgKGZpbGxlcikgPT4gYCR7ZmlsbGVyfSR7UkFOR0VfU0VQQVJBVE9SX0NIQVJ9JHtmaWxsZXJ9YCxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hc2sgPSB0dWlNYXNraXRvKFxuICAgICAgICBjb21wdXRlZCgoKSA9PlxuICAgICAgICAgICAgbWFza2l0b0RhdGVSYW5nZU9wdGlvbnNHZW5lcmF0b3Ioe1xuICAgICAgICAgICAgICAgIGRhdGVTZXBhcmF0b3I6IHRoaXMuZm9ybWF0KCkuc2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIG1vZGU6IFRVSV9EQVRFX0FEQVBURVJbdGhpcy5mb3JtYXQoKS5tb2RlXSxcbiAgICAgICAgICAgICAgICBtaW46IHRoaXMubWluKCkudG9Mb2NhbE5hdGl2ZURhdGUoKSxcbiAgICAgICAgICAgICAgICBtYXg6IHRoaXMubWF4KCkudG9Mb2NhbE5hdGl2ZURhdGUoKSxcbiAgICAgICAgICAgICAgICBtaW5MZW5ndGg6IHRoaXMubWluTGVuZ3RoKCkgfHwge30sXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoOiB0aGlzLm1heExlbmd0aCgpIHx8IHt9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBtaW5MZW5ndGggPSBzaWduYWw8VHVpRGF5TGlrZSB8IG51bGw+KG51bGwpO1xuICAgIHB1YmxpYyByZWFkb25seSBtYXhMZW5ndGggPSBzaWduYWw8VHVpRGF5TGlrZSB8IG51bGw+KG51bGwpO1xuXG4gICAgQElucHV0KCdtaW5MZW5ndGgnKVxuICAgIHB1YmxpYyBzZXQgbWluTGVuZ3RoU2V0dGVyKG1pbkxlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5taW5MZW5ndGguc2V0KG1pbkxlbmd0aCk7XG4gICAgfVxuXG4gICAgQElucHV0KCdtYXhMZW5ndGgnKVxuICAgIHB1YmxpYyBzZXQgbWF4TGVuZ3RoU2V0dGVyKG1heExlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5tYXhMZW5ndGguc2V0KG1heExlbmd0aCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHByb2Nlc3NDYWxlbmRhcihjYWxlbmRhcjogVHVpQ2FsZW5kYXJSYW5nZSk6IHZvaWQge1xuICAgICAgICBzdXBlci5wcm9jZXNzQ2FsZW5kYXIoY2FsZW5kYXIpO1xuXG4gICAgICAgIGNhbGVuZGFyLm1pbkxlbmd0aCA9IHRoaXMubWluTGVuZ3RoKCk7XG4gICAgICAgIGNhbGVuZGFyLm1heExlbmd0aCA9IHRoaXMubWF4TGVuZ3RoKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRyb2w/LmNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDogZmFsc2V9KTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShcbiAgICAgICAgICAgIHZhbHVlLmxlbmd0aCA9PT0gREFURV9SQU5HRV9GSUxMRVJfTEVOR1RIXG4gICAgICAgICAgICAgICAgPyBUdWlEYXlSYW5nZS5ub3JtYWxpemVQYXJzZSh2YWx1ZSwgdGhpcy5mb3JtYXQoKS5tb2RlKVxuICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './input-date-time';
2
+ export * from './input-date-time.component';
3
+ export * from './input-date-time.directive';
4
+ export * from './input-date-time.options';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlLXRpbWUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW5wdXQtZGF0ZS10aW1lJztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtZGF0ZS10aW1lLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0LWRhdGUtdGltZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1kYXRlLXRpbWUub3B0aW9ucyc7XG4iXX0=
@@ -0,0 +1,34 @@
1
+ import { NgIf } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation, } from '@angular/core';
3
+ import { TuiDay, TuiTime } from '@taiga-ui/cdk/date-time';
4
+ import { TuiTextfieldContent } from '@taiga-ui/core/components/textfield';
5
+ import { TuiNativeTimePicker } from '@taiga-ui/kit/components/input-time';
6
+ import { TuiInputDateTimeDirective } from './input-date-time.directive';
7
+ import * as i0 from "@angular/core";
8
+ class TuiInputDateTimeComponent extends TuiNativeTimePicker {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.host = inject(TuiInputDateTimeDirective);
12
+ this.step = computed(() => this.getStep(this.host.timeMode()));
13
+ this.value = computed(() => this.toISOString(this.host.value()));
14
+ this.min = computed(() => this.toISOString([this.host.min(), this.host.minTime()]));
15
+ this.max = computed(() => this.toISOString([this.host.max(), this.host.maxTime()]));
16
+ }
17
+ onInput(value) {
18
+ if (!value) {
19
+ return this.host.setValue(null);
20
+ }
21
+ const date = new Date(value);
22
+ const day = TuiDay.fromLocalNativeDate(date);
23
+ const time = TuiTime.fromLocalNativeDate(date);
24
+ this.host.setValue([day, time]);
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputDateTimeComponent, isStandalone: true, selector: "input[tuiInputDateTime][type=\"datetime-local\"]", host: { attributes: { "ngSkipHydration": "true" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"host.native\">\n <input\n *tuiTextfieldContent\n type=\"datetime-local\"\n [attr.list]=\"list\"\n [max]=\"max()\"\n [min]=\"min()\"\n [step]=\"step()\"\n [value]=\"value()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (pointerdown.stop.zoneless)=\"(0)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputDateTime]~.t-content input[type=datetime-local]{position:absolute;top:0;left:auto;right:0;bottom:0;inline-size:2.5rem;padding:0;opacity:0}tui-textfield input[tuiInputDateTime]~.t-content input[type=datetime-local]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
28
+ }
29
+ export { TuiInputDateTimeComponent };
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateTimeComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ standalone: true, selector: 'input[tuiInputDateTime][type="datetime-local"]', imports: [NgIf, TuiTextfieldContent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { ngSkipHydration: 'true' }, template: "<ng-container *ngIf=\"host.native\">\n <input\n *tuiTextfieldContent\n type=\"datetime-local\"\n [attr.list]=\"list\"\n [max]=\"max()\"\n [min]=\"min()\"\n [step]=\"step()\"\n [value]=\"value()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (pointerdown.stop.zoneless)=\"(0)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputDateTime]~.t-content input[type=datetime-local]{position:absolute;top:0;left:auto;right:0;bottom:0;inline-size:2.5rem;padding:0;opacity:0}tui-textfield input[tuiInputDateTime]~.t-content input[type=datetime-local]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"] }]
33
+ }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUtdGltZS9pbnB1dC1kYXRlLXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS10aW1lL2lucHV0LWRhdGUtdGltZS50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDOztBQUV0RSxNQVVhLHlCQUEwQixTQUFRLG1CQUFtQjtJQVZsRTs7UUFXdUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3pDLFNBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRCxVQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFckUsUUFBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQzNELENBQUM7UUFFUSxRQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FDM0QsQ0FBQztLQWFMO0lBWGEsT0FBTyxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkM7UUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRS9DLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQzsrR0F2QlEseUJBQXlCO21HQUF6Qix5QkFBeUIsd0xDeEJ0QyxnYUFjQSxpWkRHYyxJQUFJLDZGQUFFLG1CQUFtQjs7U0FPMUIseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBVnJDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGdEQUFnRCxXQUNqRCxDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxpQkFHckIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6QyxFQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBpbmplY3QsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlEYXksIFR1aVRpbWV9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7VHVpVGV4dGZpZWxkQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUdWlOYXRpdmVUaW1lUGlja2VyfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtdGltZSc7XG5cbmltcG9ydCB7VHVpSW5wdXREYXRlVGltZURpcmVjdGl2ZX0gZnJvbSAnLi9pbnB1dC1kYXRlLXRpbWUuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0RGF0ZVRpbWVdW3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXScsXG4gICAgaW1wb3J0czogW05nSWYsIFR1aVRleHRmaWVsZENvbnRlbnRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1kYXRlLXRpbWUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtZGF0ZS10aW1lLnN0eWxlLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtuZ1NraXBIeWRyYXRpb246ICd0cnVlJ30sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RGF0ZVRpbWVDb21wb25lbnQgZXh0ZW5kcyBUdWlOYXRpdmVUaW1lUGlja2VyIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9zdCA9IGluamVjdChUdWlJbnB1dERhdGVUaW1lRGlyZWN0aXZlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RlcCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZ2V0U3RlcCh0aGlzLmhvc3QudGltZU1vZGUoKSkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB2YWx1ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMudG9JU09TdHJpbmcodGhpcy5ob3N0LnZhbHVlKCkpKTtcblxuICAgIHByb3RlY3RlZCBtaW4gPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0aGlzLnRvSVNPU3RyaW5nKFt0aGlzLmhvc3QubWluKCksIHRoaXMuaG9zdC5taW5UaW1lKCldKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIG1heCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMudG9JU09TdHJpbmcoW3RoaXMuaG9zdC5tYXgoKSwgdGhpcy5ob3N0Lm1heFRpbWUoKV0pLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgb25JbnB1dCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhvc3Quc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodmFsdWUpO1xuICAgICAgICBjb25zdCBkYXkgPSBUdWlEYXkuZnJvbUxvY2FsTmF0aXZlRGF0ZShkYXRlKTtcbiAgICAgICAgY29uc3QgdGltZSA9IFR1aVRpbWUuZnJvbUxvY2FsTmF0aXZlRGF0ZShkYXRlKTtcblxuICAgICAgICB0aGlzLmhvc3Quc2V0VmFsdWUoW2RheSwgdGltZV0pO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJob3N0Lm5hdGl2ZVwiPlxuICAgIDxpbnB1dFxuICAgICAgICAqdHVpVGV4dGZpZWxkQ29udGVudFxuICAgICAgICB0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIlxuICAgICAgICBbYXR0ci5saXN0XT1cImxpc3RcIlxuICAgICAgICBbbWF4XT1cIm1heCgpXCJcbiAgICAgICAgW21pbl09XCJtaW4oKVwiXG4gICAgICAgIFtzdGVwXT1cInN0ZXAoKVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZSgpXCJcbiAgICAgICAgKGNsaWNrLnN0b3Auem9uZWxlc3MpPVwiKDApXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGFueSgkZXZlbnQudGFyZ2V0KS52YWx1ZSlcIlxuICAgICAgICAocG9pbnRlcmRvd24uc3RvcC56b25lbGVzcyk9XCIoMClcIlxuICAgIC8+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,174 @@
1
+ import { computed, Directive, effect, inject, Input, signal } from '@angular/core';
2
+ import { toSignal } from '@angular/core/rxjs-interop';
3
+ import { MaskitoDirective } from '@maskito/angular';
4
+ import { maskitoDateTimeOptionsGenerator, maskitoSelectionChangeHandler, } from '@maskito/kit';
5
+ import { tuiAsControl, tuiValueTransformerFrom } from '@taiga-ui/cdk/classes';
6
+ import { DATE_FILLER_LENGTH, MILLISECONDS_IN_DAY, TuiDay, TuiTime, } from '@taiga-ui/cdk/date-time';
7
+ import { tuiClamp, tuiSum } from '@taiga-ui/cdk/utils/math';
8
+ import { tuiDirectiveBinding } from '@taiga-ui/cdk/utils/miscellaneous';
9
+ import { tuiAsOptionContent } from '@taiga-ui/core/components/data-list';
10
+ import { tuiAsTextfieldAccessor, TuiWithTextfield, } from '@taiga-ui/core/components/textfield';
11
+ import { TuiDropdownAuto } from '@taiga-ui/core/directives/dropdown';
12
+ import { TuiItemsHandlersValidator } from '@taiga-ui/core/directives/items-handlers';
13
+ import { TUI_DATE_ADAPTER, TuiInputDateBase, tuiWithDateFiller, } from '@taiga-ui/kit/components/input-date';
14
+ import { TuiSelectOption } from '@taiga-ui/kit/components/select';
15
+ import { TUI_TIME_TEXTS } from '@taiga-ui/kit/tokens';
16
+ import { tuiMaskito } from '@taiga-ui/kit/utils';
17
+ import { noop } from 'rxjs';
18
+ import { TUI_INPUT_DATE_TIME_OPTIONS } from './input-date-time.options';
19
+ import * as i0 from "@angular/core";
20
+ import * as i1 from "@maskito/angular";
21
+ import * as i2 from "@taiga-ui/core/directives/dropdown";
22
+ import * as i3 from "@taiga-ui/core/directives/items-handlers";
23
+ import * as i4 from "@taiga-ui/core/components/textfield";
24
+ const MIN_TIME = new TuiTime(0, 0);
25
+ const MAX_TIME = TuiTime.fromAbsoluteMilliseconds(MILLISECONDS_IN_DAY - 1);
26
+ class TuiInputDateTimeDirective extends TuiInputDateBase {
27
+ constructor() {
28
+ super(...arguments);
29
+ this.timeFillers = toSignal(inject(TUI_TIME_TEXTS));
30
+ this.options = inject(TUI_INPUT_DATE_TIME_OPTIONS);
31
+ this.filler = tuiWithDateFiller((date) => {
32
+ const time = this.timeFillers()?.[this.timeMode()] ?? '';
33
+ return `${date}${this.options.dateTimeSeparator}${time}`;
34
+ });
35
+ this.valueEffect = effect(noop);
36
+ this.identity = this.handlers.identityMatcher.set((a, b) => tuiSum(...a.map(Number)) === tuiSum(...b.map(Number)));
37
+ this.disabledItemHandler = tuiDirectiveBinding(TuiItemsHandlersValidator, 'disabledItemHandler', (value) => Boolean(value && this.handlers.disabledItemHandler()(value)));
38
+ this.mask = tuiMaskito(computed(() => this.computeMask({
39
+ dateMode: TUI_DATE_ADAPTER[this.format().mode],
40
+ timeMode: this.timeMode(),
41
+ min: this.toNativeDate([this.min(), this.minTime()]),
42
+ max: this.toNativeDate([this.max(), this.maxTime()]),
43
+ dateSeparator: this.format().separator,
44
+ dateTimeSeparator: this.options.dateTimeSeparator,
45
+ })));
46
+ this.timeMode = signal(this.options.timeMode);
47
+ this.minTime = signal(MIN_TIME);
48
+ this.maxTime = signal(MAX_TIME);
49
+ }
50
+ // TODO(v5): use signal inputs
51
+ set timeModeSetter(x) {
52
+ this.timeMode.set(x);
53
+ }
54
+ set minSetter(min) {
55
+ const [date, time] = Array.isArray(min) ? min : [min, null];
56
+ this.min.set(date || this.options.min);
57
+ this.minTime.set(time ?? MIN_TIME);
58
+ }
59
+ set maxSetter(max) {
60
+ const [date, time] = Array.isArray(max) ? max : [max, null];
61
+ this.max.set(date || this.options.max);
62
+ this.maxTime.set(time ?? MAX_TIME);
63
+ }
64
+ setValue(value) {
65
+ this.onChange(value);
66
+ this.textfield.value.set(this.stringify(value));
67
+ }
68
+ setDate(newDate) {
69
+ const [date, time] = this.clampTime([newDate, this.value()?.[1] ?? null]);
70
+ this.setValue([date, time]);
71
+ this.open.set(false);
72
+ setTimeout((caretIndex = DATE_FILLER_LENGTH + this.options.dateTimeSeparator.length) => this.el.setSelectionRange(caretIndex, caretIndex));
73
+ }
74
+ writeValue(value) {
75
+ super.writeValue(value);
76
+ this.textfield.value.set(this.stringify(this.value()));
77
+ }
78
+ processCalendar(calendar) {
79
+ super.processCalendar(calendar);
80
+ calendar.disabledItemHandler = (day) => this.handlers.disabledItemHandler()([day, null]);
81
+ }
82
+ onValueChange(value) {
83
+ this.textfield.value.set(value);
84
+ this.control?.control?.updateValueAndValidity({ emitEvent: false });
85
+ const [date = '', time = ''] = value.split(this.options.dateTimeSeparator);
86
+ const parsedDate = date.length >= DATE_FILLER_LENGTH
87
+ ? TuiDay.normalizeParse(date, this.format().mode)
88
+ : null;
89
+ const parsedTime = time.length === this.timeMode().length ? TuiTime.fromString(time) : null;
90
+ if (!parsedDate || (time && !parsedTime)) {
91
+ return this.onChange(null);
92
+ }
93
+ const [prevDate, prevTime = null] = this.value() ?? [];
94
+ if (!prevDate?.daySame(parsedDate) || Number(parsedTime) !== Number(prevTime)) {
95
+ this.onChange([parsedDate, parsedTime]);
96
+ }
97
+ }
98
+ stringify(value) {
99
+ const [date, time] = value ?? [];
100
+ const dateString = date?.toString(this.format().mode, this.format().separator) ?? '';
101
+ const timeString = time?.toString(this.timeMode());
102
+ return timeString
103
+ ? `${dateString}${this.options.dateTimeSeparator}${timeString}`
104
+ : dateString;
105
+ }
106
+ clampTime([date, time]) {
107
+ const min = date.daySame(this.min())
108
+ ? this.minTime().toAbsoluteMilliseconds()
109
+ : -Infinity;
110
+ const max = date.daySame(this.max())
111
+ ? this.maxTime().toAbsoluteMilliseconds()
112
+ : Infinity;
113
+ return [
114
+ date,
115
+ time &&
116
+ TuiTime.fromAbsoluteMilliseconds(tuiClamp(time.toAbsoluteMilliseconds(), min, max)),
117
+ ];
118
+ }
119
+ computeMask(params) {
120
+ const options = maskitoDateTimeOptionsGenerator(params);
121
+ const { timeMode, dateMode, dateTimeSeparator } = params;
122
+ const inputModeSwitchPlugin = maskitoSelectionChangeHandler((element) => {
123
+ element.inputMode =
124
+ element.selectionStart >=
125
+ dateMode.length + dateTimeSeparator.length + timeMode.indexOf(' AA')
126
+ ? 'text'
127
+ : 'numeric';
128
+ });
129
+ return {
130
+ ...options,
131
+ plugins: options.plugins.concat(timeMode.includes('AA') ? inputModeSwitchPlugin : []),
132
+ };
133
+ }
134
+ toNativeDate([{ year, month, day }, { hours, minutes, seconds, ms }]) {
135
+ return new Date(year, month, day, hours, minutes, seconds, ms);
136
+ }
137
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateTimeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
138
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputDateTimeDirective, isStandalone: true, selector: "input[tuiInputDateTime]", inputs: { timeModeSetter: ["timeMode", "timeModeSetter"], minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"] }, providers: [
139
+ tuiAsOptionContent(TuiSelectOption),
140
+ tuiAsControl(TuiInputDateTimeDirective),
141
+ tuiAsTextfieldAccessor(TuiInputDateTimeDirective),
142
+ tuiValueTransformerFrom(TUI_INPUT_DATE_TIME_OPTIONS),
143
+ ], usesInheritance: true, hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiDropdownAuto }, { directive: i3.TuiItemsHandlersValidator }, { directive: i4.TuiWithTextfield }], ngImport: i0 }); }
144
+ }
145
+ export { TuiInputDateTimeDirective };
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateTimeDirective, decorators: [{
147
+ type: Directive,
148
+ args: [{
149
+ standalone: true,
150
+ selector: 'input[tuiInputDateTime]',
151
+ providers: [
152
+ tuiAsOptionContent(TuiSelectOption),
153
+ tuiAsControl(TuiInputDateTimeDirective),
154
+ tuiAsTextfieldAccessor(TuiInputDateTimeDirective),
155
+ tuiValueTransformerFrom(TUI_INPUT_DATE_TIME_OPTIONS),
156
+ ],
157
+ hostDirectives: [
158
+ MaskitoDirective,
159
+ TuiDropdownAuto,
160
+ TuiItemsHandlersValidator,
161
+ TuiWithTextfield,
162
+ ],
163
+ }]
164
+ }], propDecorators: { timeModeSetter: [{
165
+ type: Input,
166
+ args: ['timeMode']
167
+ }], minSetter: [{
168
+ type: Input,
169
+ args: ['min']
170
+ }], maxSetter: [{
171
+ type: Input,
172
+ args: ['max']
173
+ }] } });
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUtdGltZS9pbnB1dC1kYXRlLXRpbWUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFHbEQsT0FBTyxFQUNILCtCQUErQixFQUMvQiw2QkFBNkIsR0FDaEMsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFDLFlBQVksRUFBRSx1QkFBdUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLE1BQU0sRUFDTixPQUFPLEdBQ1YsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUMsUUFBUSxFQUFFLE1BQU0sRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRXRFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBRXZFLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsZ0JBQWdCLEdBQ25CLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixHQUNw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bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFNBQVMsRUFBRTt3QkFDUCxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7d0JBQ25DLFlBQVksMkJBQTJCO3dCQUN2QyxzQkFBc0IsMkJBQTJCO3dCQUNqRCx1QkFBdUIsQ0FBQywyQkFBMkIsQ0FBQztxQkFDdkQ7b0JBQ0QsY0FBYyxFQUFFO3dCQUNaLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZix5QkFBeUI7d0JBQ3pCLGdCQUFnQjtxQkFDbkI7aUJBQ0o7OEJBK0NjLGNBQWM7c0JBRHhCLEtBQUs7dUJBQUMsVUFBVTtnQkFNRyxTQUFTO3NCQUQ1QixLQUFLO3VCQUFDLEtBQUs7Z0JBV1EsU0FBUztzQkFENUIsS0FBSzt1QkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb21wdXRlZCwgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgSW5wdXQsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge01hc2tpdG9EaXJlY3RpdmV9IGZyb20gJ0BtYXNraXRvL2FuZ3VsYXInO1xuaW1wb3J0IHR5cGUge01hc2tpdG9PcHRpb25zfSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB0eXBlIHtNYXNraXRvRGF0ZVRpbWVQYXJhbXMsIE1hc2tpdG9UaW1lTW9kZX0gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCB7XG4gICAgbWFza2l0b0RhdGVUaW1lT3B0aW9uc0dlbmVyYXRvcixcbiAgICBtYXNraXRvU2VsZWN0aW9uQ2hhbmdlSGFuZGxlcixcbn0gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCB7dHVpQXNDb250cm9sLCB0dWlWYWx1ZVRyYW5zZm9ybWVyRnJvbX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7XG4gICAgREFURV9GSUxMRVJfTEVOR1RILFxuICAgIE1JTExJU0VDT05EU19JTl9EQVksXG4gICAgVHVpRGF5LFxuICAgIFR1aVRpbWUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7dHVpQ2xhbXAsIHR1aVN1bX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcbmltcG9ydCB7dHVpRGlyZWN0aXZlQmluZGluZ30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB0eXBlIHtUdWlDYWxlbmRhcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9jYWxlbmRhcic7XG5pbXBvcnQge3R1aUFzT3B0aW9uQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QnO1xuaW1wb3J0IHR5cGUge1R1aVRleHRmaWVsZEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1xuICAgIHR1aUFzVGV4dGZpZWxkQWNjZXNzb3IsXG4gICAgVHVpV2l0aFRleHRmaWVsZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkF1dG99IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHtUdWlJdGVtc0hhbmRsZXJzVmFsaWRhdG9yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7XG4gICAgVFVJX0RBVEVfQURBUFRFUixcbiAgICBUdWlJbnB1dERhdGVCYXNlLFxuICAgIHR1aVdpdGhEYXRlRmlsbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZSc7XG5pbXBvcnQge1R1aVNlbGVjdE9wdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NlbGVjdCc7XG5pbXBvcnQge1RVSV9USU1FX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge3R1aU1hc2tpdG99IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMnO1xuaW1wb3J0IHtub29wfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfREFURV9USU1FX09QVElPTlN9IGZyb20gJy4vaW5wdXQtZGF0ZS10aW1lLm9wdGlvbnMnO1xuXG5jb25zdCBNSU5fVElNRSA9IG5ldyBUdWlUaW1lKDAsIDApO1xuY29uc3QgTUFYX1RJTUUgPSBUdWlUaW1lLmZyb21BYnNvbHV0ZU1pbGxpc2Vjb25kcyhNSUxMSVNFQ09ORFNfSU5fREFZIC0gMSk7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dERhdGVUaW1lXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzT3B0aW9uQ29udGVudChUdWlTZWxlY3RPcHRpb24pLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXREYXRlVGltZURpcmVjdGl2ZSksXG4gICAgICAgIHR1aUFzVGV4dGZpZWxkQWNjZXNzb3IoVHVpSW5wdXREYXRlVGltZURpcmVjdGl2ZSksXG4gICAgICAgIHR1aVZhbHVlVHJhbnNmb3JtZXJGcm9tKFRVSV9JTlBVVF9EQVRFX1RJTUVfT1BUSU9OUyksXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICBNYXNraXRvRGlyZWN0aXZlLFxuICAgICAgICBUdWlEcm9wZG93bkF1dG8sXG4gICAgICAgIFR1aUl0ZW1zSGFuZGxlcnNWYWxpZGF0b3IsXG4gICAgICAgIFR1aVdpdGhUZXh0ZmllbGQsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXREYXRlVGltZURpcmVjdGl2ZVxuICAgIGV4dGVuZHMgVHVpSW5wdXREYXRlQmFzZTxyZWFkb25seSBbVHVpRGF5LCBUdWlUaW1lIHwgbnVsbF0+XG4gICAgaW1wbGVtZW50cyBUdWlUZXh0ZmllbGRBY2Nlc3NvcjxyZWFkb25seSBbVHVpRGF5LCBUdWlUaW1lIHwgbnVsbF0+XG57XG4gICAgcHJpdmF0ZSByZWFkb25seSB0aW1lRmlsbGVycyA9IHRvU2lnbmFsKGluamVjdChUVUlfVElNRV9URVhUUykpO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0lOUFVUX0RBVEVfVElNRV9PUFRJT05TKTtcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBmaWxsZXIgPSB0dWlXaXRoRGF0ZUZpbGxlcigoZGF0ZSkgPT4ge1xuICAgICAgICBjb25zdCB0aW1lID0gdGhpcy50aW1lRmlsbGVycygpPy5bdGhpcy50aW1lTW9kZSgpXSA/PyAnJztcblxuICAgICAgICByZXR1cm4gYCR7ZGF0ZX0ke3RoaXMub3B0aW9ucy5kYXRlVGltZVNlcGFyYXRvcn0ke3RpbWV9YDtcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSB2YWx1ZUVmZmVjdCA9IGVmZmVjdChub29wKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpZGVudGl0eSA9IHRoaXMuaGFuZGxlcnMuaWRlbnRpdHlNYXRjaGVyLnNldChcbiAgICAgICAgKGEsIGIpID0+IHR1aVN1bSguLi5hLm1hcChOdW1iZXIpKSA9PT0gdHVpU3VtKC4uLmIubWFwKE51bWJlcikpLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlzYWJsZWRJdGVtSGFuZGxlciA9IHR1aURpcmVjdGl2ZUJpbmRpbmcoXG4gICAgICAgIFR1aUl0ZW1zSGFuZGxlcnNWYWxpZGF0b3IsXG4gICAgICAgICdkaXNhYmxlZEl0ZW1IYW5kbGVyJyxcbiAgICAgICAgKHZhbHVlOiByZWFkb25seSBbVHVpRGF5LCBUdWlUaW1lIHwgbnVsbF0gfCBudWxsKSA9PlxuICAgICAgICAgICAgQm9vbGVhbih2YWx1ZSAmJiB0aGlzLmhhbmRsZXJzLmRpc2FibGVkSXRlbUhhbmRsZXIoKSh2YWx1ZSkpLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWFzayA9IHR1aU1hc2tpdG8oXG4gICAgICAgIGNvbXB1dGVkKCgpID0+XG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVNYXNrKHtcbiAgICAgICAgICAgICAgICBkYXRlTW9kZTogVFVJX0RBVEVfQURBUFRFUlt0aGlzLmZvcm1hdCgpLm1vZGVdLFxuICAgICAgICAgICAgICAgIHRpbWVNb2RlOiB0aGlzLnRpbWVNb2RlKCksXG4gICAgICAgICAgICAgICAgbWluOiB0aGlzLnRvTmF0aXZlRGF0ZShbdGhpcy5taW4oKSwgdGhpcy5taW5UaW1lKCldKSxcbiAgICAgICAgICAgICAgICBtYXg6IHRoaXMudG9OYXRpdmVEYXRlKFt0aGlzLm1heCgpLCB0aGlzLm1heFRpbWUoKV0pLFxuICAgICAgICAgICAgICAgIGRhdGVTZXBhcmF0b3I6IHRoaXMuZm9ybWF0KCkuc2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIGRhdGVUaW1lU2VwYXJhdG9yOiB0aGlzLm9wdGlvbnMuZGF0ZVRpbWVTZXBhcmF0b3IsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHRpbWVNb2RlID0gc2lnbmFsKHRoaXMub3B0aW9ucy50aW1lTW9kZSk7XG4gICAgcHVibGljIHJlYWRvbmx5IG1pblRpbWUgPSBzaWduYWwoTUlOX1RJTUUpO1xuICAgIHB1YmxpYyByZWFkb25seSBtYXhUaW1lID0gc2lnbmFsKE1BWF9USU1FKTtcblxuICAgIC8vIFRPRE8odjUpOiB1c2Ugc2lnbmFsIGlucHV0c1xuICAgIEBJbnB1dCgndGltZU1vZGUnKVxuICAgIHB1YmxpYyBzZXQgdGltZU1vZGVTZXR0ZXIoeDogTWFza2l0b1RpbWVNb2RlKSB7XG4gICAgICAgIHRoaXMudGltZU1vZGUuc2V0KHgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgnbWluJylcbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2V0IG1pblNldHRlcihcbiAgICAgICAgbWluOiBUdWlEYXkgfCByZWFkb25seSBbVHVpRGF5LCBUdWlUaW1lIHwgbnVsbF0gfCBudWxsLFxuICAgICkge1xuICAgICAgICBjb25zdCBbZGF0ZSwgdGltZV0gPSBBcnJheS5pc0FycmF5KG1pbikgPyBtaW4gOiBbbWluLCBudWxsXTtcblxuICAgICAgICB0aGlzLm1pbi5zZXQoZGF0ZSB8fCB0aGlzLm9wdGlvbnMubWluKTtcbiAgICAgICAgdGhpcy5taW5UaW1lLnNldCh0aW1lID8/IE1JTl9USU1FKTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ21heCcpXG4gICAgcHVibGljIG92ZXJyaWRlIHNldCBtYXhTZXR0ZXIoXG4gICAgICAgIG1heDogVHVpRGF5IHwgcmVhZG9ubHkgW1R1aURheSwgVHVpVGltZSB8IG51bGxdIHwgbnVsbCxcbiAgICApIHtcbiAgICAgICAgY29uc3QgW2RhdGUsIHRpbWVdID0gQXJyYXkuaXNBcnJheShtYXgpID8gbWF4IDogW21heCwgbnVsbF07XG5cbiAgICAgICAgdGhpcy5tYXguc2V0KGRhdGUgfHwgdGhpcy5vcHRpb25zLm1heCk7XG4gICAgICAgIHRoaXMubWF4VGltZS5zZXQodGltZSA/PyBNQVhfVElNRSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFZhbHVlKHZhbHVlOiByZWFkb25seSBbVHVpRGF5LCBUdWlUaW1lIHwgbnVsbF0gfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodGhpcy5zdHJpbmdpZnkodmFsdWUpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2V0RGF0ZShuZXdEYXRlOiBUdWlEYXkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgW2RhdGUsIHRpbWVdID0gdGhpcy5jbGFtcFRpbWUoW25ld0RhdGUsIHRoaXMudmFsdWUoKT8uWzFdID8/IG51bGxdKTtcblxuICAgICAgICB0aGlzLnNldFZhbHVlKFtkYXRlLCB0aW1lXSk7XG4gICAgICAgIHRoaXMub3Blbi5zZXQoZmFsc2UpO1xuICAgICAgICBzZXRUaW1lb3V0KFxuICAgICAgICAgICAgKGNhcmV0SW5kZXggPSBEQVRFX0ZJTExFUl9MRU5HVEggKyB0aGlzLm9wdGlvbnMuZGF0ZVRpbWVTZXBhcmF0b3IubGVuZ3RoKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuZWwuc2V0U2VsZWN0aW9uUmFuZ2UoY2FyZXRJbmRleCwgY2FyZXRJbmRleCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFtUdWlEYXksIFR1aVRpbWUgfCBudWxsXSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCh0aGlzLnN0cmluZ2lmeSh0aGlzLnZhbHVlKCkpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcHJvY2Vzc0NhbGVuZGFyKGNhbGVuZGFyOiBUdWlDYWxlbmRhcik6IHZvaWQge1xuICAgICAgICBzdXBlci5wcm9jZXNzQ2FsZW5kYXIoY2FsZW5kYXIpO1xuICAgICAgICBjYWxlbmRhci5kaXNhYmxlZEl0ZW1IYW5kbGVyID0gKGRheTogVHVpRGF5KSA9PlxuICAgICAgICAgICAgdGhpcy5oYW5kbGVycy5kaXNhYmxlZEl0ZW1IYW5kbGVyKCkoW2RheSwgbnVsbF0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUuc2V0KHZhbHVlKTtcbiAgICAgICAgdGhpcy5jb250cm9sPy5jb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG5cbiAgICAgICAgY29uc3QgW2RhdGUgPSAnJywgdGltZSA9ICcnXSA9IHZhbHVlLnNwbGl0KHRoaXMub3B0aW9ucy5kYXRlVGltZVNlcGFyYXRvcik7XG4gICAgICAgIGNvbnN0IHBhcnNlZERhdGUgPVxuICAgICAgICAgICAgZGF0ZS5sZW5ndGggPj0gREFURV9GSUxMRVJfTEVOR1RIXG4gICAgICAgICAgICAgICAgPyBUdWlEYXkubm9ybWFsaXplUGFyc2UoZGF0ZSwgdGhpcy5mb3JtYXQoKS5tb2RlKVxuICAgICAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgY29uc3QgcGFyc2VkVGltZSA9XG4gICAgICAgICAgICB0aW1lLmxlbmd0aCA9PT0gdGhpcy50aW1lTW9kZSgpLmxlbmd0aCA/IFR1aVRpbWUuZnJvbVN0cmluZyh0aW1lKSA6IG51bGw7XG5cbiAgICAgICAgaWYgKCFwYXJzZWREYXRlIHx8ICh0aW1lICYmICFwYXJzZWRUaW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbcHJldkRhdGUsIHByZXZUaW1lID0gbnVsbF0gPSB0aGlzLnZhbHVlKCkgPz8gW107XG5cbiAgICAgICAgaWYgKCFwcmV2RGF0ZT8uZGF5U2FtZShwYXJzZWREYXRlKSB8fCBOdW1iZXIocGFyc2VkVGltZSkgIT09IE51bWJlcihwcmV2VGltZSkpIHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UoW3BhcnNlZERhdGUsIHBhcnNlZFRpbWVdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBzdHJpbmdpZnkoXG4gICAgICAgIHZhbHVlOiByZWFkb25seSBbVHVpRGF5LCBUdWlUaW1lIHwgbnVsbF0gfCBudWxsLFxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IFtkYXRlLCB0aW1lXSA9IHZhbHVlID8/IFtdO1xuXG4gICAgICAgIGNvbnN0IGRhdGVTdHJpbmcgPVxuICAgICAgICAgICAgZGF0ZT8udG9TdHJpbmcodGhpcy5mb3JtYXQoKS5tb2RlLCB0aGlzLmZvcm1hdCgpLnNlcGFyYXRvcikgPz8gJyc7XG4gICAgICAgIGNvbnN0IHRpbWVTdHJpbmcgPSB0aW1lPy50b1N0cmluZyh0aGlzLnRpbWVNb2RlKCkpO1xuXG4gICAgICAgIHJldHVybiB0aW1lU3RyaW5nXG4gICAgICAgICAgICA/IGAke2RhdGVTdHJpbmd9JHt0aGlzLm9wdGlvbnMuZGF0ZVRpbWVTZXBhcmF0b3J9JHt0aW1lU3RyaW5nfWBcbiAgICAgICAgICAgIDogZGF0ZVN0cmluZztcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsYW1wVGltZShbZGF0ZSwgdGltZV06IFtUdWlEYXksIFR1aVRpbWUgfCBudWxsXSk6IFtUdWlEYXksIFR1aVRpbWUgfCBudWxsXSB7XG4gICAgICAgIGNvbnN0IG1pbiA9IGRhdGUuZGF5U2FtZSh0aGlzLm1pbigpKVxuICAgICAgICAgICAgPyB0aGlzLm1pblRpbWUoKS50b0Fic29sdXRlTWlsbGlzZWNvbmRzKClcbiAgICAgICAgICAgIDogLUluZmluaXR5O1xuICAgICAgICBjb25zdCBtYXggPSBkYXRlLmRheVNhbWUodGhpcy5tYXgoKSlcbiAgICAgICAgICAgID8gdGhpcy5tYXhUaW1lKCkudG9BYnNvbHV0ZU1pbGxpc2Vjb25kcygpXG4gICAgICAgICAgICA6IEluZmluaXR5O1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBkYXRlLFxuICAgICAgICAgICAgdGltZSAmJlxuICAgICAgICAgICAgICAgIFR1aVRpbWUuZnJvbUFic29sdXRlTWlsbGlzZWNvbmRzKFxuICAgICAgICAgICAgICAgICAgICB0dWlDbGFtcCh0aW1lLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKSwgbWluLCBtYXgpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb21wdXRlTWFzayhcbiAgICAgICAgcGFyYW1zOiBPbWl0PFJlcXVpcmVkPE1hc2tpdG9EYXRlVGltZVBhcmFtcz4sICd0aW1lU3RlcCc+LFxuICAgICk6IE1hc2tpdG9PcHRpb25zIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IG1hc2tpdG9EYXRlVGltZU9wdGlvbnNHZW5lcmF0b3IocGFyYW1zKTtcbiAgICAgICAgY29uc3Qge3RpbWVNb2RlLCBkYXRlTW9kZSwgZGF0ZVRpbWVTZXBhcmF0b3J9ID0gcGFyYW1zO1xuICAgICAgICBjb25zdCBpbnB1dE1vZGVTd2l0Y2hQbHVnaW4gPSBtYXNraXRvU2VsZWN0aW9uQ2hhbmdlSGFuZGxlcigoZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgZWxlbWVudC5pbnB1dE1vZGUgPVxuICAgICAgICAgICAgICAgIGVsZW1lbnQuc2VsZWN0aW9uU3RhcnQhID49XG4gICAgICAgICAgICAgICAgZGF0ZU1vZGUubGVuZ3RoICsgZGF0ZVRpbWVTZXBhcmF0b3IubGVuZ3RoICsgdGltZU1vZGUuaW5kZXhPZignIEFBJylcbiAgICAgICAgICAgICAgICAgICAgPyAndGV4dCdcbiAgICAgICAgICAgICAgICAgICAgOiAnbnVtZXJpYyc7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgcGx1Z2luczogb3B0aW9ucy5wbHVnaW5zLmNvbmNhdChcbiAgICAgICAgICAgICAgICB0aW1lTW9kZS5pbmNsdWRlcygnQUEnKSA/IGlucHV0TW9kZVN3aXRjaFBsdWdpbiA6IFtdLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvTmF0aXZlRGF0ZShbe3llYXIsIG1vbnRoLCBkYXl9LCB7aG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zfV06IHJlYWRvbmx5IFtcbiAgICAgICAgVHVpRGF5LFxuICAgICAgICBUdWlUaW1lLFxuICAgIF0pOiBEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXksIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcyk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,9 @@
1
+ import { TuiCalendar } from '@taiga-ui/core/components/calendar';
2
+ import { TuiInputDateTimeComponent } from './input-date-time.component';
3
+ import { TuiInputDateTimeDirective } from './input-date-time.directive';
4
+ export const TuiInputDateTime = [
5
+ TuiInputDateTimeDirective,
6
+ TuiInputDateTimeComponent,
7
+ TuiCalendar,
8
+ ];
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS10aW1lL2lucHV0LWRhdGUtdGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFL0QsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFdEUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDNUIseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QixXQUFXO0NBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHVpQ2FsZW5kYXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvY2FsZW5kYXInO1xuXG5pbXBvcnQge1R1aUlucHV0RGF0ZVRpbWVDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtZGF0ZS10aW1lLmNvbXBvbmVudCc7XG5pbXBvcnQge1R1aUlucHV0RGF0ZVRpbWVEaXJlY3RpdmV9IGZyb20gJy4vaW5wdXQtZGF0ZS10aW1lLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBUdWlJbnB1dERhdGVUaW1lID0gW1xuICAgIFR1aUlucHV0RGF0ZVRpbWVEaXJlY3RpdmUsXG4gICAgVHVpSW5wdXREYXRlVGltZUNvbXBvbmVudCxcbiAgICBUdWlDYWxlbmRhcixcbl0gYXMgY29uc3Q7XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { inject, InjectionToken } from '@angular/core';
2
+ import { TUI_IDENTITY_VALUE_TRANSFORMER } from '@taiga-ui/cdk/classes';
3
+ import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
4
+ import { TUI_INPUT_DATE_DEFAULT_OPTIONS_NEW, TUI_INPUT_DATE_OPTIONS_NEW, } from '@taiga-ui/kit/components/input-date';
5
+ export const TUI_INPUT_DATE_TIME_DEFAULT_OPTIONS = {
6
+ valueTransformer: TUI_IDENTITY_VALUE_TRANSFORMER,
7
+ timeMode: 'HH:MM',
8
+ dateTimeSeparator: ', ',
9
+ };
10
+ export const TUI_INPUT_DATE_TIME_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_INPUT_DATE_TIME_OPTIONS' : '', {
11
+ factory: () => ({
12
+ ...inject(TUI_INPUT_DATE_OPTIONS_NEW),
13
+ ...TUI_INPUT_DATE_TIME_DEFAULT_OPTIONS,
14
+ }),
15
+ });
16
+ export const tuiInputDateTimeOptionsProvider = (options) => tuiProvideOptions(TUI_INPUT_DATE_TIME_OPTIONS, options, {
17
+ ...TUI_INPUT_DATE_DEFAULT_OPTIONS_NEW,
18
+ ...TUI_INPUT_DATE_TIME_DEFAULT_OPTIONS,
19
+ });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlLXRpbWUvaW5wdXQtZGF0ZS10aW1lLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHckQsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFckUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFcEUsT0FBTyxFQUNILGtDQUFrQyxFQUNsQywwQkFBMEIsR0FDN0IsTUFBTSxxQ0FBcUMsQ0FBQztBQVM3QyxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRztJQUMvQyxnQkFBZ0IsRUFBRSw4QkFBOEI7SUFDaEQsUUFBUSxFQUFFLE9BQU87SUFDakIsaUJBQWlCLEVBQUUsSUFBSTtDQUNqQixDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxjQUFjLENBQ3pELFNBQVMsQ0FBQyxDQUFDLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDOUM7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNaLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDO1FBQ3JDLEdBQUcsbUNBQW1DO0tBQ3pDLENBQUM7Q0FDTCxDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxDQUMzQyxPQUF5QyxFQUMxQixFQUFFLENBQ2pCLGlCQUFpQixDQUFDLDJCQUEyQixFQUFFLE9BQU8sRUFBRTtJQUNwRCxHQUFHLGtDQUFrQztJQUNyQyxHQUFHLG1DQUFtQztDQUN6QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7RmFjdG9yeVByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7aW5qZWN0LCBJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7TWFza2l0b1RpbWVNb2RlfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHR5cGUge1R1aVZhbHVlVHJhbnNmb3JtZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1RVSV9JREVOVElUWV9WQUxVRV9UUkFOU0ZPUk1FUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB0eXBlIHtUdWlEYXksIFR1aVRpbWV9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7dHVpUHJvdmlkZU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgdHlwZSB7VHVpSW5wdXREYXRlT3B0aW9uc05ld30gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUnO1xuaW1wb3J0IHtcbiAgICBUVUlfSU5QVVRfREFURV9ERUZBVUxUX09QVElPTlNfTkVXLFxuICAgIFRVSV9JTlBVVF9EQVRFX09QVElPTlNfTkVXLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpSW5wdXREYXRlVGltZU9wdGlvbnNcbiAgICBleHRlbmRzIE9taXQ8VHVpSW5wdXREYXRlT3B0aW9uc05ldywgJ3ZhbHVlVHJhbnNmb3JtZXInPiB7XG4gICAgcmVhZG9ubHkgdGltZU1vZGU6IE1hc2tpdG9UaW1lTW9kZTtcbiAgICByZWFkb25seSBkYXRlVGltZVNlcGFyYXRvcjogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHZhbHVlVHJhbnNmb3JtZXI6IFR1aVZhbHVlVHJhbnNmb3JtZXI8W1R1aURheSwgVHVpVGltZSB8IG51bGxdIHwgbnVsbCwgYW55Pjtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9JTlBVVF9EQVRFX1RJTUVfREVGQVVMVF9PUFRJT05TID0ge1xuICAgIHZhbHVlVHJhbnNmb3JtZXI6IFRVSV9JREVOVElUWV9WQUxVRV9UUkFOU0ZPUk1FUixcbiAgICB0aW1lTW9kZTogJ0hIOk1NJyxcbiAgICBkYXRlVGltZVNlcGFyYXRvcjogJywgJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfREFURV9USU1FX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48VHVpSW5wdXREYXRlVGltZU9wdGlvbnM+KFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfSU5QVVRfREFURV9USU1FX09QVElPTlMnIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiAoe1xuICAgICAgICAgICAgLi4uaW5qZWN0KFRVSV9JTlBVVF9EQVRFX09QVElPTlNfTkVXKSxcbiAgICAgICAgICAgIC4uLlRVSV9JTlBVVF9EQVRFX1RJTUVfREVGQVVMVF9PUFRJT05TLFxuICAgICAgICB9KSxcbiAgICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IHR1aUlucHV0RGF0ZVRpbWVPcHRpb25zUHJvdmlkZXIgPSAoXG4gICAgb3B0aW9uczogUGFydGlhbDxUdWlJbnB1dERhdGVUaW1lT3B0aW9ucz4sXG4pOiBGYWN0b3J5UHJvdmlkZXIgPT5cbiAgICB0dWlQcm92aWRlT3B0aW9ucyhUVUlfSU5QVVRfREFURV9USU1FX09QVElPTlMsIG9wdGlvbnMsIHtcbiAgICAgICAgLi4uVFVJX0lOUFVUX0RBVEVfREVGQVVMVF9PUFRJT05TX05FVyxcbiAgICAgICAgLi4uVFVJX0lOUFVUX0RBVEVfVElNRV9ERUZBVUxUX09QVElPTlMsXG4gICAgfSk7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWkta2l0LWNvbXBvbmVudHMtaW5wdXQtZGF0ZS10aW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS10aW1lL3RhaWdhLXVpLWtpdC1jb21wb25lbnRzLWlucHV0LWRhdGUtdGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,46 +1,64 @@
1
1
  import { NgIf } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, computed, Directive, inject, ViewEncapsulation, } from '@angular/core';
3
3
  import { TuiControl } from '@taiga-ui/cdk/classes';
4
4
  import { TuiTime } from '@taiga-ui/cdk/date-time';
5
5
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
6
6
  import { TuiTextfieldContent, TuiTextfieldDirective, } from '@taiga-ui/core/components/textfield';
7
7
  import { TuiInputTimeDirective } from './input-time.directive';
8
8
  import * as i0 from "@angular/core";
9
- class TuiInputTimeComponent {
9
+ class TuiNativeTimePicker {
10
10
  constructor() {
11
- this.control = inject(TuiControl);
12
11
  this.list = tuiInjectElement().getAttribute('list');
12
+ }
13
+ getStep(timeMode) {
14
+ switch (timeMode) {
15
+ case 'HH:MM:SS':
16
+ case 'HH:MM:SS AA':
17
+ return 1;
18
+ case 'HH:MM:SS.MSS':
19
+ case 'HH:MM:SS.MSS AA':
20
+ return 0.001;
21
+ default:
22
+ return 60;
23
+ }
24
+ }
25
+ toISOString(value) {
26
+ const [day, time] = Array.isArray(value) ? value : [null, value];
27
+ const dateString = day ? day.toJSON() + (time ? 'T' : '') : '';
28
+ const timeString = time ? time.toString('HH:MM:SS.MSS') : '';
29
+ return dateString + timeString;
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNativeTimePicker, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
32
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiNativeTimePicker, host: { properties: { "type": "\"text\"", "attr.list": "null" } }, ngImport: i0 }); }
33
+ }
34
+ export { TuiNativeTimePicker };
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNativeTimePicker, decorators: [{
36
+ type: Directive,
37
+ args: [{
38
+ host: {
39
+ '[type]': '"text"',
40
+ '[attr.list]': 'null',
41
+ },
42
+ }]
43
+ }] });
44
+ class TuiInputTimeComponent extends TuiNativeTimePicker {
45
+ constructor() {
46
+ super(...arguments);
47
+ this.control = inject(TuiControl);
13
48
  this.host = inject(TuiInputTimeDirective);
14
49
  this.textfield = inject(TuiTextfieldDirective);
15
- this.value = computed((value = this.control.value()) => value
16
- ? value.toString(this.host.timeMode().replace(' AA', ''))
17
- : '');
18
- this.step = computed((mode = this.host.timeMode()) => {
19
- switch (mode) {
20
- case 'HH:MM:SS':
21
- case 'HH:MM:SS AA':
22
- return 1;
23
- case 'HH:MM:SS.MSS':
24
- case 'HH:MM:SS.MSS AA':
25
- return 0.001;
26
- default:
27
- return 60;
28
- }
29
- });
50
+ this.value = computed(() => this.toISOString(this.control.value()));
51
+ this.step = computed(() => this.getStep(this.host.timeMode()));
30
52
  }
31
53
  setValue(value) {
32
54
  this.host.setValue(TuiTime.fromString(value));
33
55
  }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputTimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputTimeComponent, isStandalone: true, selector: "input[tuiInputTime][type=\"time\"]", host: { attributes: { "ngSkipHydration": "true" }, properties: { "type": "\"text\"", "attr.list": "null" } }, ngImport: i0, template: "<ng-container *ngIf=\"host.native\">\n <input\n *tuiTextfieldContent\n type=\"time\"\n [attr.list]=\"list\"\n [step]=\"step()\"\n [value]=\"value()\"\n (change)=\"setValue($any($event.target).value)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputTime]~.t-content input[type=time]{position:absolute;right:0;left:auto;inline-size:calc(var(--t-right) + var(--t-padding));opacity:0;margin:0;padding:0}tui-textfield input[tuiInputTime]~.t-content input[type=time]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputTimeComponent, isStandalone: true, selector: "input[tuiInputTime][type=\"time\"]", host: { attributes: { "ngSkipHydration": "true" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"host.native\">\n <input\n *tuiTextfieldContent\n type=\"time\"\n [attr.list]=\"list\"\n [step]=\"step()\"\n [value]=\"value()\"\n (change)=\"setValue($any($event.target).value)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputTime]~.t-content input[type=time]{position:absolute;right:0;left:auto;inline-size:calc(var(--t-right) + var(--t-padding));opacity:0;margin:0;padding:0}tui-textfield input[tuiInputTime]~.t-content input[type=time]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
36
58
  }
37
59
  export { TuiInputTimeComponent };
38
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputTimeComponent, decorators: [{
39
61
  type: Component,
40
- args: [{ standalone: true, selector: 'input[tuiInputTime][type="time"]', imports: [NgIf, TuiTextfieldContent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
41
- ngSkipHydration: 'true',
42
- '[type]': '"text"',
43
- '[attr.list]': 'null',
44
- }, template: "<ng-container *ngIf=\"host.native\">\n <input\n *tuiTextfieldContent\n type=\"time\"\n [attr.list]=\"list\"\n [step]=\"step()\"\n [value]=\"value()\"\n (change)=\"setValue($any($event.target).value)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputTime]~.t-content input[type=time]{position:absolute;right:0;left:auto;inline-size:calc(var(--t-right) + var(--t-padding));opacity:0;margin:0;padding:0}tui-textfield input[tuiInputTime]~.t-content input[type=time]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"] }]
62
+ args: [{ standalone: true, selector: 'input[tuiInputTime][type="time"]', imports: [NgIf, TuiTextfieldContent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { ngSkipHydration: 'true' }, template: "<ng-container *ngIf=\"host.native\">\n <input\n *tuiTextfieldContent\n type=\"time\"\n [attr.list]=\"list\"\n [step]=\"step()\"\n [value]=\"value()\"\n (change)=\"setValue($any($event.target).value)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputTime]~.t-content input[type=time]{position:absolute;right:0;left:auto;inline-size:calc(var(--t-right) + var(--t-padding));opacity:0;margin:0;padding:0}tui-textfield input[tuiInputTime]~.t-content input[type=time]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"] }]
45
63
  }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC10aW1lL2lucHV0LXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtdGltZS9pbnB1dC10aW1lLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04saUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDaEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUNILG1CQUFtQixFQUNuQixxQkFBcUIsR0FDeEIsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFN0QsTUFjYSxxQkFBcUI7SUFkbEM7UUFlcUIsWUFBTyxHQUErQixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFdkQsU0FBSSxHQUFHLGdCQUFnQixFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLFNBQUksR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNyQyxjQUFTLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDMUMsVUFBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FDakUsS0FBSztZQUNELENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQW9CLENBQUM7WUFDNUUsQ0FBQyxDQUFDLEVBQUUsQ0FDWCxDQUFDO1FBRWlCLFNBQUksR0FBRyxRQUFRLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFO1lBQy9ELFFBQVEsSUFBSSxFQUFFO2dCQUNWLEtBQUssVUFBVSxDQUFDO2dCQUNoQixLQUFLLGFBQWE7b0JBQ2QsT0FBTyxDQUFDLENBQUM7Z0JBQ2IsS0FBSyxjQUFjLENBQUM7Z0JBQ3BCLEtBQUssaUJBQWlCO29CQUNsQixPQUFPLEtBQUssQ0FBQztnQkFDakI7b0JBQ0ksT0FBTyxFQUFFLENBQUM7YUFDakI7UUFDTCxDQUFDLENBQUMsQ0FBQztLQUtOO0lBSGEsUUFBUSxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7K0dBM0JRLHFCQUFxQjttR0FBckIscUJBQXFCLDRNQ2pDbEMsa1JBVUEsZ1pEWWMsSUFBSSw2RkFBRSxtQkFBbUI7O1NBVzFCLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQWRqQyxTQUFTO2lDQUNNLElBQUksWUFDTixrQ0FBa0MsV0FDbkMsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsaUJBR3JCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsZUFBZSxFQUFFLE1BQU07d0JBQ3ZCLFFBQVEsRUFBRSxRQUFRO3dCQUNsQixhQUFhLEVBQUUsTUFBTTtxQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBpbmplY3QsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge01hc2tpdG9UaW1lTW9kZX0gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCB7VHVpQ29udHJvbH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7VHVpVGltZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge1xuICAgIFR1aVRleHRmaWVsZENvbnRlbnQsXG4gICAgVHVpVGV4dGZpZWxkRGlyZWN0aXZlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5cbmltcG9ydCB7VHVpSW5wdXRUaW1lRGlyZWN0aXZlfSBmcm9tICcuL2lucHV0LXRpbWUuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0VGltZV1bdHlwZT1cInRpbWVcIl0nLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBUdWlUZXh0ZmllbGRDb250ZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtdGltZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC10aW1lLnN0eWxlLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgbmdTa2lwSHlkcmF0aW9uOiAndHJ1ZScsXG4gICAgICAgICdbdHlwZV0nOiAnXCJ0ZXh0XCInLFxuICAgICAgICAnW2F0dHIubGlzdF0nOiAnbnVsbCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRUaW1lQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2w6IFR1aUNvbnRyb2w8VHVpVGltZSB8IG51bGw+ID0gaW5qZWN0KFR1aUNvbnRyb2wpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxpc3QgPSB0dWlJbmplY3RFbGVtZW50KCkuZ2V0QXR0cmlidXRlKCdsaXN0Jyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhvc3QgPSBpbmplY3QoVHVpSW5wdXRUaW1lRGlyZWN0aXZlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGV4dGZpZWxkID0gaW5qZWN0KFR1aVRleHRmaWVsZERpcmVjdGl2ZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHZhbHVlID0gY29tcHV0ZWQoKHZhbHVlID0gdGhpcy5jb250cm9sLnZhbHVlKCkpID0+XG4gICAgICAgIHZhbHVlXG4gICAgICAgICAgICA/IHZhbHVlLnRvU3RyaW5nKHRoaXMuaG9zdC50aW1lTW9kZSgpLnJlcGxhY2UoJyBBQScsICcnKSBhcyBNYXNraXRvVGltZU1vZGUpXG4gICAgICAgICAgICA6ICcnLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RlcCA9IGNvbXB1dGVkKChtb2RlID0gdGhpcy5ob3N0LnRpbWVNb2RlKCkpID0+IHtcbiAgICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgICAgICBjYXNlICdISDpNTTpTUyc6XG4gICAgICAgICAgICBjYXNlICdISDpNTTpTUyBBQSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICBjYXNlICdISDpNTTpTUy5NU1MnOlxuICAgICAgICAgICAgY2FzZSAnSEg6TU06U1MuTVNTIEFBJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gMC4wMDE7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiA2MDtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHNldFZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3N0LnNldFZhbHVlKFR1aVRpbWUuZnJvbVN0cmluZyh2YWx1ZSkpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJob3N0Lm5hdGl2ZVwiPlxuICAgIDxpbnB1dFxuICAgICAgICAqdHVpVGV4dGZpZWxkQ29udGVudFxuICAgICAgICB0eXBlPVwidGltZVwiXG4gICAgICAgIFthdHRyLmxpc3RdPVwibGlzdFwiXG4gICAgICAgIFtzdGVwXT1cInN0ZXAoKVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZSgpXCJcbiAgICAgICAgKGNoYW5nZSk9XCJzZXRWYWx1ZSgkYW55KCRldmVudC50YXJnZXQpLnZhbHVlKVwiXG4gICAgLz5cbjwvbmctY29udGFpbmVyPlxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC10aW1lL2lucHV0LXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtdGltZS9pbnB1dC10aW1lLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixTQUFTLEVBQ1QsTUFBTSxFQUNOLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFakQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIscUJBQXFCLEdBQ3hCLE1BQU0scUNBQXFDLENBQUM7QUFFN0MsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7O0FBRTdELE1BTXNCLG1CQUFtQjtJQU56QztRQU91QixTQUFJLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7S0F3QnJFO0lBdEJhLE9BQU8sQ0FBQyxRQUF5QjtRQUN2QyxRQUFRLFFBQVEsRUFBRTtZQUNkLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssYUFBYTtnQkFDZCxPQUFPLENBQUMsQ0FBQztZQUNiLEtBQUssY0FBYyxDQUFDO1lBQ3BCLEtBQUssaUJBQWlCO2dCQUNsQixPQUFPLEtBQUssQ0FBQztZQUNqQjtnQkFDSSxPQUFPLEVBQUUsQ0FBQztTQUNqQjtJQUNMLENBQUM7SUFFUyxXQUFXLENBQ2pCLEtBQXlEO1FBRXpELE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqRSxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9ELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRTdELE9BQU8sVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUNuQyxDQUFDOytHQXhCaUIsbUJBQW1CO21HQUFuQixtQkFBbUI7O1NBQW5CLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQU54QyxTQUFTO21CQUFDO29CQUNQLElBQUksRUFBRTt3QkFDRixRQUFRLEVBQUUsUUFBUTt3QkFDbEIsYUFBYSxFQUFFLE1BQU07cUJBQ3hCO2lCQUNKOztBQTRCRCxNQVVhLHFCQUFzQixTQUFRLG1CQUFtQjtJQVY5RDs7UUFXcUIsWUFBTyxHQUErQixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFdkQsU0FBSSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRXJDLGNBQVMsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUMxQyxVQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFL0QsU0FBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBS2hGO0lBSGEsUUFBUSxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7K0dBWlEscUJBQXFCO21HQUFyQixxQkFBcUIsMEtDaEVsQyxrUkFVQSxnWkQrQ2MsSUFBSSw2RkFBRSxtQkFBbUI7O1NBTzFCLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQVZqQyxTQUFTO2lDQUNNLElBQUksWUFDTixrQ0FBa0MsV0FDbkMsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsaUJBR3JCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBQyxlQUFlLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgRGlyZWN0aXZlLFxuICAgIGluamVjdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7TWFza2l0b1RpbWVNb2RlfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHtUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHR5cGUge1R1aURheX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtUdWlUaW1lfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7XG4gICAgVHVpVGV4dGZpZWxkQ29udGVudCxcbiAgICBUdWlUZXh0ZmllbGREaXJlY3RpdmUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcblxuaW1wb3J0IHtUdWlJbnB1dFRpbWVEaXJlY3RpdmV9IGZyb20gJy4vaW5wdXQtdGltZS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBob3N0OiB7XG4gICAgICAgICdbdHlwZV0nOiAnXCJ0ZXh0XCInLFxuICAgICAgICAnW2F0dHIubGlzdF0nOiAnbnVsbCcsXG4gICAgfSxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHVpTmF0aXZlVGltZVBpY2tlciB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxpc3QgPSB0dWlJbmplY3RFbGVtZW50KCkuZ2V0QXR0cmlidXRlKCdsaXN0Jyk7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0U3RlcCh0aW1lTW9kZTogTWFza2l0b1RpbWVNb2RlKTogbnVtYmVyIHtcbiAgICAgICAgc3dpdGNoICh0aW1lTW9kZSkge1xuICAgICAgICAgICAgY2FzZSAnSEg6TU06U1MnOlxuICAgICAgICAgICAgY2FzZSAnSEg6TU06U1MgQUEnOlxuICAgICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgY2FzZSAnSEg6TU06U1MuTVNTJzpcbiAgICAgICAgICAgIGNhc2UgJ0hIOk1NOlNTLk1TUyBBQSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIDAuMDAxO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gNjA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdG9JU09TdHJpbmcoXG4gICAgICAgIHZhbHVlOiBUdWlUaW1lIHwgcmVhZG9ubHkgW1R1aURheSwgVHVpVGltZSB8IG51bGxdIHwgbnVsbCxcbiAgICApOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBbZGF5LCB0aW1lXSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbbnVsbCwgdmFsdWVdO1xuICAgICAgICBjb25zdCBkYXRlU3RyaW5nID0gZGF5ID8gZGF5LnRvSlNPTigpICsgKHRpbWUgPyAnVCcgOiAnJykgOiAnJztcbiAgICAgICAgY29uc3QgdGltZVN0cmluZyA9IHRpbWUgPyB0aW1lLnRvU3RyaW5nKCdISDpNTTpTUy5NU1MnKSA6ICcnO1xuXG4gICAgICAgIHJldHVybiBkYXRlU3RyaW5nICsgdGltZVN0cmluZztcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dFRpbWVdW3R5cGU9XCJ0aW1lXCJdJyxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVHVpVGV4dGZpZWxkQ29udGVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXRpbWUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtdGltZS5zdHlsZS5sZXNzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7bmdTa2lwSHlkcmF0aW9uOiAndHJ1ZSd9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFRpbWVDb21wb25lbnQgZXh0ZW5kcyBUdWlOYXRpdmVUaW1lUGlja2VyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2w6IFR1aUNvbnRyb2w8VHVpVGltZSB8IG51bGw+ID0gaW5qZWN0KFR1aUNvbnRyb2wpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhvc3QgPSBpbmplY3QoVHVpSW5wdXRUaW1lRGlyZWN0aXZlKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkRGlyZWN0aXZlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRvSVNPU3RyaW5nKHRoaXMuY29udHJvbC52YWx1ZSgpKSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RlcCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZ2V0U3RlcCh0aGlzLmhvc3QudGltZU1vZGUoKSkpO1xuXG4gICAgcHJvdGVjdGVkIHNldFZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3N0LnNldFZhbHVlKFR1aVRpbWUuZnJvbVN0cmluZyh2YWx1ZSkpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJob3N0Lm5hdGl2ZVwiPlxuICAgIDxpbnB1dFxuICAgICAgICAqdHVpVGV4dGZpZWxkQ29udGVudFxuICAgICAgICB0eXBlPVwidGltZVwiXG4gICAgICAgIFthdHRyLmxpc3RdPVwibGlzdFwiXG4gICAgICAgIFtzdGVwXT1cInN0ZXAoKVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZSgpXCJcbiAgICAgICAgKGNoYW5nZSk9XCJzZXRWYWx1ZSgkYW55KCRldmVudC50YXJnZXQpLnZhbHVlKVwiXG4gICAgLz5cbjwvbmctY29udGFpbmVyPlxuIl19