@koobiq/components 18.4.0 → 18.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/_accordion-theme.scss +2 -6
- package/accordion/accordion-tokens.scss +0 -18
- package/accordion/accordion-trigger.component.scss +0 -5
- package/accordion/accordion.component.scss +0 -5
- package/alert/_alert-theme.scss +3 -7
- package/alert/alert-tokens.scss +0 -23
- package/alert/alert.component.scss +0 -3
- package/autocomplete/_autocomplete-theme.scss +0 -6
- package/autocomplete/autocomplete-tokens.scss +0 -2
- package/autocomplete/autocomplete.scss +0 -3
- package/badge/_badge-theme.scss +4 -8
- package/badge/badge-tokens.scss +0 -34
- package/badge/badge.component.scss +0 -3
- package/button/_button-base.scss +0 -3
- package/button/_button-theme.scss +1 -5
- package/button/button-tokens.scss +8 -10
- package/button/button.scss +0 -2
- package/button-toggle/_button-toggle-theme.scss +1 -6
- package/button-toggle/button-toggle-tokens.scss +1 -10
- package/button-toggle/button-toggle.scss +0 -3
- package/checkbox/_checkbox-theme.scss +4 -7
- package/checkbox/checkbox-tokens.scss +0 -30
- package/checkbox/checkbox.scss +0 -3
- package/code-block/_code-block-theme.scss +1 -6
- package/code-block/actionbar.component.scss +0 -4
- package/code-block/code-block-tokens.scss +2 -11
- package/code-block/code-block.scss +1 -3
- package/core/formatters/date/formatter.pipe.d.ts +82 -65
- package/core/formatters/index.d.ts +1 -1
- package/core/forms/_forms-theme.scss +1 -1
- package/core/forms/_forms.scss +2 -2
- package/core/forms/forms-tokens.scss +0 -17
- package/core/option/_optgroup-theme.scss +1 -1
- package/core/option/_option-theme.scss +2 -2
- package/core/option/action.scss +3 -3
- package/core/option/option-tokens.scss +0 -102
- package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +0 -2
- package/core/selection/pseudo-checkbox/pseudo-checkbox-tokens.scss +0 -30
- package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +0 -3
- package/core/styles/_core.scss +0 -2
- package/core/styles/_koobiq-theme.scss +0 -2
- package/core/styles/common/_groups.scss +4 -12
- package/core/styles/common/_list.scss +0 -3
- package/core/styles/common/_popup.scss +4 -9
- package/core/styles/common/_select.scss +29 -39
- package/core/styles/common/_tokens.scss +0 -2
- package/core/styles/theming/_scrollbar-theme.scss +0 -3
- package/core/styles/theming/_theming.scss +1 -1
- package/core/styles/theming/scrollbar-tokens.scss +0 -2
- package/core/styles/visual/_layout.scss +0 -3
- package/datepicker/_datepicker-theme.scss +2 -7
- package/datepicker/calendar-body.scss +0 -8
- package/datepicker/calendar-header.scss +0 -5
- package/datepicker/calendar.scss +0 -5
- package/datepicker/datepicker-content.scss +0 -5
- package/datepicker/datepicker-input.scss +0 -3
- package/datepicker/datepicker-toggle.scss +0 -5
- package/datepicker/datepicker-tokens.scss +0 -9
- package/divider/_divider-theme.scss +0 -4
- package/divider/divider-tokens.scss +0 -2
- package/divider/divider.scss +0 -5
- package/dl/_dl-theme.scss +2 -6
- package/dl/dl-tokens.scss +0 -18
- package/dl/dl.scss +0 -5
- package/dropdown/_dropdown-theme.scss +4 -8
- package/dropdown/dropdown-item.scss +0 -5
- package/dropdown/dropdown-tokens.scss +1 -90
- package/dropdown/dropdown.scss +0 -5
- package/empty-state/_empty-state-theme.scss +4 -7
- package/empty-state/empty-state-tokens.scss +0 -32
- package/empty-state/empty-state.scss +0 -4
- package/esm2022/accordion/accordion-trigger.component.mjs +2 -2
- package/esm2022/accordion/accordion.component.mjs +2 -2
- package/esm2022/alert/alert.component.mjs +2 -2
- package/esm2022/badge/badge.component.mjs +2 -2
- package/esm2022/button/button.component.mjs +2 -2
- package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
- package/esm2022/checkbox/checkbox.mjs +2 -2
- package/esm2022/code-block/code-block.component.mjs +2 -2
- package/esm2022/core/formatters/date/formatter.pipe.mjs +280 -120
- package/esm2022/core/formatters/index.mjs +65 -12
- package/esm2022/core/option/action.mjs +3 -3
- package/esm2022/core/option/optgroup.mjs +3 -3
- package/esm2022/core/option/option.mjs +3 -3
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +2 -2
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/datepicker/calendar-body.component.mjs +3 -3
- package/esm2022/datepicker/calendar-header.component.mjs +3 -3
- package/esm2022/datepicker/datepicker.component.mjs +3 -3
- package/esm2022/dl/dl.component.mjs +2 -2
- package/esm2022/dropdown/dropdown-item.component.mjs +2 -2
- package/esm2022/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/empty-state/empty-state.component.mjs +2 -2
- package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
- package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
- package/esm2022/form-field/form-field.mjs +2 -2
- package/esm2022/form-field/hint.mjs +2 -2
- package/esm2022/form-field/password-hint.mjs +2 -2
- package/esm2022/form-field/validate.directive.mjs +21 -1
- package/esm2022/list/list-selection.component.mjs +2 -2
- package/esm2022/list/list.component.mjs +2 -2
- package/esm2022/loader-overlay/loader-overlay.component.mjs +2 -2
- package/esm2022/markdown/markdown.component.mjs +34 -20
- package/esm2022/markdown/markdown.module.mjs +8 -9
- package/esm2022/markdown/markdown.service.mjs +5 -3
- package/esm2022/markdown/markdown.values.mjs +5 -1
- package/esm2022/modal/modal.component.mjs +2 -2
- package/esm2022/navbar/navbar.component.mjs +2 -2
- package/esm2022/navbar/vertical-navbar.component.mjs +2 -2
- package/esm2022/popover/popover-confirm.component.mjs +3 -3
- package/esm2022/popover/popover.component.mjs +3 -3
- package/esm2022/progress-bar/progress-bar.component.mjs +2 -2
- package/esm2022/progress-spinner/progress-spinner.component.mjs +2 -2
- package/esm2022/radio/radio.component.mjs +2 -2
- package/esm2022/risk-level/risk-level.component.mjs +2 -2
- package/esm2022/select/select.component.mjs +4 -4
- package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
- package/esm2022/splitter/splitter.component.mjs +2 -2
- package/esm2022/table/table.component.mjs +2 -2
- package/esm2022/tabs/tab-group.component.mjs +2 -2
- package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +2 -2
- package/esm2022/tags/tag-list.component.mjs +2 -2
- package/esm2022/timezone/timezone-option.component.mjs +2 -2
- package/esm2022/timezone/timezone-select.component.mjs +2 -2
- package/esm2022/toast/toast.component.mjs +3 -3
- package/esm2022/toggle/toggle.component.mjs +3 -3
- package/esm2022/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/tree/padding.directive.mjs +2 -2
- package/esm2022/tree/toggle.mjs +2 -2
- package/esm2022/tree/tree-option.component.mjs +2 -2
- package/esm2022/tree/tree-selection.component.mjs +2 -2
- package/esm2022/tree/tree.mjs +2 -2
- package/esm2022/tree-select/tree-select.component.mjs +4 -4
- package/fesm2022/koobiq-components-accordion.mjs +4 -4
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-alert.mjs +2 -2
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +2 -2
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +2 -2
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +2 -2
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +2 -2
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +351 -136
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +6 -6
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-dl.mjs +2 -2
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +4 -4
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-empty-state.mjs +2 -2
- package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +4 -4
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +26 -6
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +4 -4
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +2 -2
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +49 -30
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +2 -2
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +4 -4
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +4 -4
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +2 -2
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +2 -2
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +2 -2
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-risk-level.mjs +2 -2
- package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +4 -4
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +2 -2
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +1 -1
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +2 -2
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +4 -4
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +2 -2
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +4 -4
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +2 -2
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +2 -2
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +2 -2
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +4 -4
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +10 -10
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/file-upload/_file-upload-theme.scss +6 -10
- package/file-upload/file-upload-tokens.scss +0 -41
- package/file-upload/multiple-file-upload.component.scss +10 -13
- package/form-field/_form-field-theme.scss +2 -7
- package/form-field/_hint-theme.scss +2 -6
- package/form-field/cleaner.scss +0 -5
- package/form-field/form-field-tokens.scss +1 -19
- package/form-field/form-field.scss +0 -3
- package/form-field/hint-tokens.scss +0 -16
- package/form-field/password-toggle.scss +0 -5
- package/form-field/stepper.scss +0 -5
- package/form-field/validate.directive.d.ts +20 -0
- package/icon/_icon-button-theme.scss +0 -5
- package/icon/_icon-item-theme.scss +0 -2
- package/icon/icon-button-tokens.scss +0 -2
- package/icon/icon-button.scss +0 -3
- package/icon/icon-item-tokens.scss +0 -2
- package/icon/icon-item.scss +0 -3
- package/icon/icon-tokens.scss +0 -2
- package/icon/icon.scss +0 -3
- package/input/_input-theme.scss +1 -1
- package/input/input-tokens.scss +0 -9
- package/input/input.scss +2 -5
- package/link/_link-theme.scss +3 -3
- package/link/link-tokens.scss +0 -23
- package/list/_list-theme.scss +2 -2
- package/list/list-tokens.scss +0 -30
- package/list/list.scss +0 -3
- package/loader-overlay/_loader-overlay-theme.scss +4 -4
- package/loader-overlay/loader-overlay-tokens.scss +0 -36
- package/loader-overlay/loader-overlay.scss +1 -0
- package/markdown/_markdown-theme.scss +19 -19
- package/markdown/markdown-tokens.scss +3 -114
- package/markdown/markdown.component.d.ts +17 -10
- package/markdown/markdown.module.d.ts +1 -4
- package/markdown/markdown.service.d.ts +4 -1
- package/markdown/markdown.values.d.ts +4 -0
- package/modal/_modal-theme.scss +2 -4
- package/modal/modal-tokens.scss +0 -16
- package/modal/modal.scss +0 -3
- package/navbar/_navbar-item_horizontal.scss +0 -3
- package/navbar/_navbar-item_vertical.scss +0 -4
- package/navbar/navbar-brand.scss +0 -5
- package/navbar/navbar-tokens.scss +1 -3
- package/package.json +4 -5
- package/popover/_popover-theme.scss +2 -2
- package/popover/popover-tokens.scss +0 -17
- package/popover/popover.scss +1 -1
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/prebuilt-themes/theme.css +1 -1
- package/progress-bar/_progress-bar-theme.scss +2 -2
- package/progress-bar/progress-bar-tokens.scss +0 -16
- package/progress-spinner/_progress-spinner-theme.scss +2 -2
- package/progress-spinner/progress-spinner-tokens.scss +0 -16
- package/radio/_radio-theme.scss +4 -4
- package/radio/radio-tokens.scss +4 -31
- package/radio/radio.scss +2 -2
- package/risk-level/_risk-level-theme.scss +1 -5
- package/risk-level/risk-level-tokens.scss +0 -9
- package/schematics/ng-add/index.js +2 -4
- package/scrollbar/scrollbar-tokens.scss +0 -2
- package/select/_select-theme.scss +4 -4
- package/select/select-tokens.scss +1 -20
- package/select/select.scss +2 -2
- package/sidepanel/_sidepanel-theme.scss +2 -2
- package/sidepanel/sidepanel-tokens.scss +0 -16
- package/table/_table-theme.scss +2 -5
- package/table/table-tokens.scss +0 -16
- package/table/table.scss +0 -3
- package/tabs/_tabs-theme.scss +1 -1
- package/tabs/tab-nav-bar/tab-nav-bar.scss +0 -3
- package/tabs/tabs-tokens.scss +0 -9
- package/tags/_tag-theme.scss +2 -2
- package/tags/tag-input-tokens.scss +0 -9
- package/tags/tag-tokens.scss +0 -16
- package/textarea/_textarea-theme.scss +1 -4
- package/textarea/textarea-tokens.scss +0 -9
- package/textarea/textarea.scss +0 -3
- package/timepicker/timepicker.scss +0 -3
- package/timezone/_timezone-option-theme.scss +4 -8
- package/timezone/timezone-option-tokens.scss +0 -47
- package/timezone/timezone-option.component.scss +0 -3
- package/timezone/timezone-select.component.scss +0 -3
- package/toast/_toast-theme.scss +2 -6
- package/toast/toast-container.component.scss +0 -3
- package/toast/toast-tokens.scss +4 -17
- package/toast/toast.component.scss +1 -4
- package/toggle/_toggle-theme.scss +6 -9
- package/toggle/toggle-tokens.scss +0 -30
- package/toggle/toggle.scss +1 -4
- package/tooltip/_tooltip-theme.scss +2 -2
- package/tooltip/tooltip-tokens.scss +0 -16
- package/tooltip/tooltip.scss +0 -3
- package/tree/_tree-theme.scss +3 -6
- package/tree/toggle.scss +0 -3
- package/tree/tree-option.scss +8 -5
- package/tree/tree-tokens.scss +0 -16
- package/tree-select/_tree-select-theme.scss +1 -5
- package/tree-select/tree-select-tokens.scss +0 -14
- package/tree-select/tree-select.scss +0 -4
- package/core/option/optgroup-tokens.scss +0 -12
- package/core/option/option-action-tokens.scss +0 -5
- package/markdown/README.md +0 -0
- package/splitter/splitter-tokens.scss +0 -1
|
@@ -1,220 +1,380 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
1
|
+
import { inject, Pipe } from '@angular/core';
|
|
2
2
|
import { DateAdapter } from '../../datetime';
|
|
3
3
|
import { DateFormatter } from './formatter';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
this.adapter = adapter;
|
|
10
|
-
this.formatter = formatter;
|
|
5
|
+
export class BaseFormatterPipe {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.adapter = inject((DateAdapter));
|
|
8
|
+
this.formatter = inject((DateFormatter));
|
|
11
9
|
}
|
|
10
|
+
}
|
|
11
|
+
export class AbsoluteDateFormatterPipe extends BaseFormatterPipe {
|
|
12
12
|
transform(value, currYear) {
|
|
13
13
|
const date = this.adapter.deserialize(value);
|
|
14
14
|
return date ? this.formatter.absoluteLongDate(date, currYear) : '';
|
|
15
15
|
}
|
|
16
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterPipe, deps:
|
|
17
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterPipe, name: "absoluteLongDate" }); }
|
|
16
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
17
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterPipe, isStandalone: true, name: "absoluteLongDate" }); }
|
|
18
18
|
}
|
|
19
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterPipe, decorators: [{
|
|
20
20
|
type: Pipe,
|
|
21
|
-
args: [{
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
args: [{
|
|
22
|
+
standalone: true,
|
|
23
|
+
name: 'absoluteLongDate'
|
|
24
|
+
}]
|
|
25
|
+
}] });
|
|
26
|
+
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
27
|
+
export class AbsoluteDateFormatterImpurePipe extends AbsoluteDateFormatterPipe {
|
|
28
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
29
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterImpurePipe, isStandalone: true, name: "absoluteLongDateImpurePipe", pure: false }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterImpurePipe, decorators: [{
|
|
32
|
+
type: Pipe,
|
|
33
|
+
args: [{
|
|
34
|
+
standalone: true,
|
|
35
|
+
name: 'absoluteLongDateImpurePipe',
|
|
36
|
+
pure: false
|
|
37
|
+
}]
|
|
38
|
+
}] });
|
|
39
|
+
export class AbsoluteDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
28
40
|
transform(value, options) {
|
|
29
41
|
const date = this.adapter.deserialize(value);
|
|
30
42
|
return date ? this.formatter.absoluteLongDateTime(date, options) : '';
|
|
31
43
|
}
|
|
32
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, deps:
|
|
33
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, name: "absoluteLongDateTime" }); }
|
|
44
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
45
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, isStandalone: true, name: "absoluteLongDateTime" }); }
|
|
34
46
|
}
|
|
35
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, decorators: [{
|
|
36
48
|
type: Pipe,
|
|
37
|
-
args: [{
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
49
|
+
args: [{
|
|
50
|
+
standalone: true,
|
|
51
|
+
name: 'absoluteLongDateTime'
|
|
52
|
+
}]
|
|
53
|
+
}] });
|
|
54
|
+
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
55
|
+
export class AbsoluteDateTimeFormatterImpurePipe extends AbsoluteDateTimeFormatterPipe {
|
|
56
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
57
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterImpurePipe, isStandalone: true, name: "absoluteLongDateTimeImpurePipe", pure: false }); }
|
|
58
|
+
}
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterImpurePipe, decorators: [{
|
|
60
|
+
type: Pipe,
|
|
61
|
+
args: [{
|
|
62
|
+
standalone: true,
|
|
63
|
+
name: 'absoluteLongDateTimeImpurePipe',
|
|
64
|
+
pure: false
|
|
65
|
+
}]
|
|
66
|
+
}] });
|
|
67
|
+
export class AbsoluteDateShortFormatterPipe extends BaseFormatterPipe {
|
|
44
68
|
transform(value, currYear) {
|
|
45
69
|
const date = this.adapter.deserialize(value);
|
|
46
70
|
return date ? this.formatter.absoluteShortDate(date, currYear) : '';
|
|
47
71
|
}
|
|
48
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterPipe, deps:
|
|
49
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterPipe, name: "absoluteShortDate" }); }
|
|
72
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
73
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterPipe, isStandalone: true, name: "absoluteShortDate" }); }
|
|
50
74
|
}
|
|
51
75
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterPipe, decorators: [{
|
|
52
76
|
type: Pipe,
|
|
53
|
-
args: [{
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
77
|
+
args: [{
|
|
78
|
+
standalone: true,
|
|
79
|
+
name: 'absoluteShortDate'
|
|
80
|
+
}]
|
|
81
|
+
}] });
|
|
82
|
+
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
83
|
+
export class AbsoluteDateShortFormatterImpurePipe extends AbsoluteDateShortFormatterPipe {
|
|
84
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
85
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterImpurePipe, isStandalone: true, name: "absoluteShortDateImpurePipe", pure: false }); }
|
|
86
|
+
}
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterImpurePipe, decorators: [{
|
|
88
|
+
type: Pipe,
|
|
89
|
+
args: [{
|
|
90
|
+
standalone: true,
|
|
91
|
+
name: 'absoluteShortDateImpurePipe',
|
|
92
|
+
pure: false
|
|
93
|
+
}]
|
|
94
|
+
}] });
|
|
95
|
+
export class AbsoluteShortDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
60
96
|
transform(value, options) {
|
|
61
97
|
const date = this.adapter.deserialize(value);
|
|
62
98
|
return date ? this.formatter.absoluteShortDateTime(date, options) : '';
|
|
63
99
|
}
|
|
64
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, deps:
|
|
65
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, name: "absoluteShortDateTime" }); }
|
|
100
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
101
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, isStandalone: true, name: "absoluteShortDateTime" }); }
|
|
66
102
|
}
|
|
67
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, decorators: [{
|
|
68
104
|
type: Pipe,
|
|
69
|
-
args: [{
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
105
|
+
args: [{
|
|
106
|
+
standalone: true,
|
|
107
|
+
name: 'absoluteShortDateTime'
|
|
108
|
+
}]
|
|
109
|
+
}] });
|
|
110
|
+
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
111
|
+
export class AbsoluteShortDateTimeFormatterImpurePipe extends AbsoluteShortDateTimeFormatterPipe {
|
|
112
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
113
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterImpurePipe, isStandalone: true, name: "absoluteShortDateTimeImpurePipe", pure: false }); }
|
|
114
|
+
}
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterImpurePipe, decorators: [{
|
|
116
|
+
type: Pipe,
|
|
117
|
+
args: [{
|
|
118
|
+
standalone: true,
|
|
119
|
+
name: 'absoluteShortDateTimeImpurePipe',
|
|
120
|
+
pure: false
|
|
121
|
+
}]
|
|
122
|
+
}] });
|
|
123
|
+
export class RelativeDateFormatterPipe extends BaseFormatterPipe {
|
|
76
124
|
transform(value) {
|
|
77
125
|
const date = this.adapter.deserialize(value);
|
|
78
126
|
return date ? this.formatter.relativeLongDate(date) : '';
|
|
79
127
|
}
|
|
80
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterPipe, deps:
|
|
81
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterPipe, name: "relativeLongDate" }); }
|
|
128
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
129
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterPipe, isStandalone: true, name: "relativeLongDate" }); }
|
|
82
130
|
}
|
|
83
131
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterPipe, decorators: [{
|
|
84
132
|
type: Pipe,
|
|
85
|
-
args: [{
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
133
|
+
args: [{
|
|
134
|
+
standalone: true,
|
|
135
|
+
name: 'relativeLongDate'
|
|
136
|
+
}]
|
|
137
|
+
}] });
|
|
138
|
+
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
139
|
+
export class RelativeDateFormatterImpurePipe extends RelativeDateFormatterPipe {
|
|
140
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
141
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterImpurePipe, isStandalone: true, name: "relativeLongDateImpurePipe", pure: false }); }
|
|
142
|
+
}
|
|
143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterImpurePipe, decorators: [{
|
|
144
|
+
type: Pipe,
|
|
145
|
+
args: [{
|
|
146
|
+
standalone: true,
|
|
147
|
+
name: 'relativeLongDateImpurePipe',
|
|
148
|
+
pure: false
|
|
149
|
+
}]
|
|
150
|
+
}] });
|
|
151
|
+
export class RelativeDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
92
152
|
transform(value, options) {
|
|
93
153
|
const date = this.adapter.deserialize(value);
|
|
94
154
|
return date ? this.formatter.relativeLongDateTime(date, options) : '';
|
|
95
155
|
}
|
|
96
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterPipe, deps:
|
|
97
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterPipe, name: "relativeLongDateTime" }); }
|
|
156
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
157
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterPipe, isStandalone: true, name: "relativeLongDateTime" }); }
|
|
98
158
|
}
|
|
99
159
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterPipe, decorators: [{
|
|
100
160
|
type: Pipe,
|
|
101
|
-
args: [{
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
161
|
+
args: [{
|
|
162
|
+
standalone: true,
|
|
163
|
+
name: 'relativeLongDateTime'
|
|
164
|
+
}]
|
|
165
|
+
}] });
|
|
166
|
+
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
167
|
+
export class RelativeDateTimeFormatterImpurePipe extends RelativeDateTimeFormatterPipe {
|
|
168
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
169
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterImpurePipe, isStandalone: true, name: "relativeLongDateTimeImpurePipe", pure: false }); }
|
|
170
|
+
}
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterImpurePipe, decorators: [{
|
|
172
|
+
type: Pipe,
|
|
173
|
+
args: [{
|
|
174
|
+
standalone: true,
|
|
175
|
+
name: 'relativeLongDateTimeImpurePipe',
|
|
176
|
+
pure: false
|
|
177
|
+
}]
|
|
178
|
+
}] });
|
|
179
|
+
export class RelativeShortDateFormatterPipe extends BaseFormatterPipe {
|
|
108
180
|
transform(value) {
|
|
109
181
|
const date = this.adapter.deserialize(value);
|
|
110
182
|
return date ? this.formatter.relativeShortDate(date) : '';
|
|
111
183
|
}
|
|
112
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterPipe, deps:
|
|
113
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterPipe, name: "relativeShortDate" }); }
|
|
184
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
185
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterPipe, isStandalone: true, name: "relativeShortDate" }); }
|
|
114
186
|
}
|
|
115
187
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterPipe, decorators: [{
|
|
116
188
|
type: Pipe,
|
|
117
|
-
args: [{
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
189
|
+
args: [{
|
|
190
|
+
standalone: true,
|
|
191
|
+
name: 'relativeShortDate'
|
|
192
|
+
}]
|
|
193
|
+
}] });
|
|
194
|
+
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
195
|
+
export class RelativeShortDateFormatterImpurePipe extends RelativeShortDateFormatterPipe {
|
|
196
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
197
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterImpurePipe, isStandalone: true, name: "relativeShortDateImpurePipe", pure: false }); }
|
|
198
|
+
}
|
|
199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterImpurePipe, decorators: [{
|
|
200
|
+
type: Pipe,
|
|
201
|
+
args: [{
|
|
202
|
+
standalone: true,
|
|
203
|
+
name: 'relativeShortDateImpurePipe',
|
|
204
|
+
pure: false
|
|
205
|
+
}]
|
|
206
|
+
}] });
|
|
207
|
+
export class RelativeShortDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
124
208
|
transform(value, options) {
|
|
125
209
|
const date = this.adapter.deserialize(value);
|
|
126
210
|
return date ? this.formatter.relativeShortDateTime(date, options) : '';
|
|
127
211
|
}
|
|
128
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, deps:
|
|
129
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, name: "relativeShortDateTime" }); }
|
|
212
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
213
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, isStandalone: true, name: "relativeShortDateTime" }); }
|
|
130
214
|
}
|
|
131
215
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, decorators: [{
|
|
132
216
|
type: Pipe,
|
|
133
|
-
args: [{
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
217
|
+
args: [{
|
|
218
|
+
standalone: true,
|
|
219
|
+
name: 'relativeShortDateTime'
|
|
220
|
+
}]
|
|
221
|
+
}] });
|
|
222
|
+
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
223
|
+
export class RelativeShortDateTimeFormatterImpurePipe extends RelativeShortDateTimeFormatterPipe {
|
|
224
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
225
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterImpurePipe, isStandalone: true, name: "relativeShortDateTimeImpurePipe", pure: false }); }
|
|
226
|
+
}
|
|
227
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterImpurePipe, decorators: [{
|
|
228
|
+
type: Pipe,
|
|
229
|
+
args: [{
|
|
230
|
+
standalone: true,
|
|
231
|
+
name: 'relativeShortDateTimeImpurePipe',
|
|
232
|
+
pure: false
|
|
233
|
+
}]
|
|
234
|
+
}] });
|
|
235
|
+
export class RangeDateFormatterPipe extends BaseFormatterPipe {
|
|
140
236
|
transform([value1, value2]) {
|
|
141
237
|
const date1 = this.adapter.deserialize(value1);
|
|
142
238
|
const date2 = this.adapter.deserialize(value2);
|
|
143
239
|
return this.formatter.rangeLongDate(date1, date2);
|
|
144
240
|
}
|
|
145
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterPipe, deps:
|
|
146
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterPipe, name: "rangeLongDate" }); }
|
|
241
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
242
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterPipe, isStandalone: true, name: "rangeLongDate" }); }
|
|
147
243
|
}
|
|
148
244
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterPipe, decorators: [{
|
|
149
245
|
type: Pipe,
|
|
150
|
-
args: [{
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
246
|
+
args: [{
|
|
247
|
+
standalone: true,
|
|
248
|
+
name: 'rangeLongDate'
|
|
249
|
+
}]
|
|
250
|
+
}] });
|
|
251
|
+
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
252
|
+
export class RangeDateFormatterImpurePipe extends RangeDateFormatterPipe {
|
|
253
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
254
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterImpurePipe, isStandalone: true, name: "rangeLongDateImpurePipe", pure: false }); }
|
|
255
|
+
}
|
|
256
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterImpurePipe, decorators: [{
|
|
257
|
+
type: Pipe,
|
|
258
|
+
args: [{
|
|
259
|
+
standalone: true,
|
|
260
|
+
name: 'rangeLongDateImpurePipe',
|
|
261
|
+
pure: false
|
|
262
|
+
}]
|
|
263
|
+
}] });
|
|
264
|
+
export class RangeShortDateFormatterPipe extends BaseFormatterPipe {
|
|
157
265
|
transform([value1, value2]) {
|
|
158
266
|
const date1 = this.adapter.deserialize(value1);
|
|
159
267
|
const date2 = this.adapter.deserialize(value2);
|
|
160
268
|
return this.formatter.rangeShortDate(date1, date2);
|
|
161
269
|
}
|
|
162
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterPipe, deps:
|
|
163
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterPipe, name: "rangeShortDate" }); }
|
|
270
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
271
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterPipe, isStandalone: true, name: "rangeShortDate" }); }
|
|
164
272
|
}
|
|
165
273
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterPipe, decorators: [{
|
|
166
274
|
type: Pipe,
|
|
167
|
-
args: [{
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
275
|
+
args: [{
|
|
276
|
+
standalone: true,
|
|
277
|
+
name: 'rangeShortDate'
|
|
278
|
+
}]
|
|
279
|
+
}] });
|
|
280
|
+
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
281
|
+
export class RangeShortDateFormatterImpurePipe extends RangeShortDateFormatterPipe {
|
|
282
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
283
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterImpurePipe, isStandalone: true, name: "rangeShortDateImpurePipe", pure: false }); }
|
|
284
|
+
}
|
|
285
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterImpurePipe, decorators: [{
|
|
286
|
+
type: Pipe,
|
|
287
|
+
args: [{
|
|
288
|
+
standalone: true,
|
|
289
|
+
name: 'rangeShortDateImpurePipe',
|
|
290
|
+
pure: false
|
|
291
|
+
}]
|
|
292
|
+
}] });
|
|
293
|
+
export class RangeDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
174
294
|
transform([value1, value2], options) {
|
|
175
295
|
const date1 = this.adapter.deserialize(value1);
|
|
176
296
|
const date2 = this.adapter.deserialize(value2);
|
|
177
297
|
return this.formatter.rangeLongDateTime(date1, date2, options);
|
|
178
298
|
}
|
|
179
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterPipe, deps:
|
|
180
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterPipe, name: "rangeLongDateTime" }); }
|
|
299
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
300
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterPipe, isStandalone: true, name: "rangeLongDateTime" }); }
|
|
181
301
|
}
|
|
182
302
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterPipe, decorators: [{
|
|
183
303
|
type: Pipe,
|
|
184
|
-
args: [{
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
304
|
+
args: [{
|
|
305
|
+
standalone: true,
|
|
306
|
+
name: 'rangeLongDateTime'
|
|
307
|
+
}]
|
|
308
|
+
}] });
|
|
309
|
+
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
310
|
+
export class RangeDateTimeFormatterImpurePipe extends RangeDateTimeFormatterPipe {
|
|
311
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
312
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterImpurePipe, isStandalone: true, name: "rangeLongDateTimeImpurePipe", pure: false }); }
|
|
313
|
+
}
|
|
314
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterImpurePipe, decorators: [{
|
|
315
|
+
type: Pipe,
|
|
316
|
+
args: [{
|
|
317
|
+
standalone: true,
|
|
318
|
+
name: 'rangeLongDateTimeImpurePipe',
|
|
319
|
+
pure: false
|
|
320
|
+
}]
|
|
321
|
+
}] });
|
|
322
|
+
export class RangeMiddleDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
191
323
|
transform([value1, value2], options) {
|
|
192
324
|
const date1 = this.adapter.deserialize(value1);
|
|
193
325
|
const date2 = this.adapter.deserialize(value2);
|
|
194
326
|
return this.formatter.rangeMiddleDateTime(date1, date2, options);
|
|
195
327
|
}
|
|
196
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, deps:
|
|
197
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, name: "rangeMiddleDateTime" }); }
|
|
328
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
329
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, isStandalone: true, name: "rangeMiddleDateTime" }); }
|
|
198
330
|
}
|
|
199
331
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, decorators: [{
|
|
200
332
|
type: Pipe,
|
|
201
|
-
args: [{
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
333
|
+
args: [{
|
|
334
|
+
standalone: true,
|
|
335
|
+
name: 'rangeMiddleDateTime'
|
|
336
|
+
}]
|
|
337
|
+
}] });
|
|
338
|
+
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
339
|
+
export class RangeMiddleDateTimeFormatterImpurePipe extends RangeMiddleDateTimeFormatterPipe {
|
|
340
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
341
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterImpurePipe, isStandalone: true, name: "rangeMiddleDateTimeImpurePipe", pure: false }); }
|
|
342
|
+
}
|
|
343
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterImpurePipe, decorators: [{
|
|
344
|
+
type: Pipe,
|
|
345
|
+
args: [{
|
|
346
|
+
standalone: true,
|
|
347
|
+
name: 'rangeMiddleDateTimeImpurePipe',
|
|
348
|
+
pure: false
|
|
349
|
+
}]
|
|
350
|
+
}] });
|
|
351
|
+
export class RangeShortDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
208
352
|
transform([value1, value2], options) {
|
|
209
353
|
const date1 = this.adapter.deserialize(value1);
|
|
210
354
|
const date2 = this.adapter.deserialize(value2);
|
|
211
355
|
return this.formatter.rangeShortDateTime(date1, date2, options);
|
|
212
356
|
}
|
|
213
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterPipe, deps:
|
|
214
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterPipe, name: "rangeShortDateTime" }); }
|
|
357
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
358
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterPipe, isStandalone: true, name: "rangeShortDateTime" }); }
|
|
215
359
|
}
|
|
216
360
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterPipe, decorators: [{
|
|
217
361
|
type: Pipe,
|
|
218
|
-
args: [{
|
|
219
|
-
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvZm9ybWF0dGVycy9kYXRlL2Zvcm1hdHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7O0FBRzVDLE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsWUFDWSxPQUF1QixFQUN2QixTQUEyQjtRQUQzQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUNwQyxDQUFDO0lBRUosU0FBUyxDQUFDLEtBQWlCLEVBQUUsUUFBa0I7UUFDM0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0MsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDdkUsQ0FBQztpSUFWUSx5QkFBeUI7K0hBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFEckMsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRTs7QUFlbEMsTUFBTSxPQUFPLDZCQUE2QjtJQUN0QyxZQUNZLE9BQXVCLEVBQ3ZCLFNBQTJCO1FBRDNCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQ3BDLENBQUM7SUFFSixTQUFTLENBQUMsS0FBaUIsRUFBRSxPQUF5QjtRQUNsRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMs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SUFDL0UsQ0FBQztpSUFYUSxnQ0FBZ0M7K0hBQWhDLGdDQUFnQzs7MkZBQWhDLGdDQUFnQztrQkFENUMsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRTs7QUFnQnJDLE1BQU0sT0FBTywrQkFBK0I7SUFDeEMsWUFDWSxPQUF1QixFQUN2QixTQUEyQjtRQUQzQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUNwQyxDQUFDO0lBRUosU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBaUIsRUFBRSxPQUF5QjtRQUNqRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsS0FBVSxFQUFFLEtBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO2lJQVhRLCtCQUErQjsrSEFBL0IsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQUQzQyxJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZVRpbWVPcHRpb25zIH0gZnJvbSAnQGtvb2JpcS9kYXRlLWZvcm1hdHRlcic7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJy4uLy4uL2RhdGV0aW1lJztcbmltcG9ydCB7IERhdGVGb3JtYXR0ZXIgfSBmcm9tICcuL2Zvcm1hdHRlcic7XG5cbkBQaXBlKHsgbmFtZTogJ2Fic29sdXRlTG9uZ0RhdGUnIH0pXG5leHBvcnQgY2xhc3MgQWJzb2x1dGVEYXRlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBwcml2YXRlIGZvcm1hdHRlcjogRGF0ZUZvcm1hdHRlcjxEPlxuICAgICkge31cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogRCB8IHN0cmluZywgY3VyclllYXI/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5hYnNvbHV0ZUxvbmdEYXRlKGRhdGUsIGN1cnJZZWFyKSA6ICcnO1xuICAgIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAnYWJzb2x1dGVMb25nRGF0ZVRpbWUnIH0pXG5leHBvcnQgY2xhc3MgQWJzb2x1dGVEYXRlVGltZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhZGFwdGVyOiBEYXRlQWRhcHRlcjxEPixcbiAgICAgICAgcHJpdmF0ZSBmb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXI8RD5cbiAgICApIHt9XG5cbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLmFic29sdXRlTG9uZ0RhdGVUaW1lKGRhdGUsIG9wdGlvbnMpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdhYnNvbHV0ZVNob3J0RGF0ZScgfSlcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZURhdGVTaG9ydEZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhZGFwdGVyOiBEYXRlQWRhcHRlcjxEPixcbiAgICAgICAgcHJpdmF0ZSBmb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXI8RD5cbiAgICApIHt9XG5cbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcsIGN1cnJZZWFyPzogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBkYXRlID8gdGhpcy5mb3JtYXR0ZXIuYWJzb2x1dGVTaG9ydERhdGUoZGF0ZSwgY3VyclllYXIpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdhYnNvbHV0ZVNob3J0RGF0ZVRpbWUnIH0pXG5leHBvcnQgY2xhc3MgQWJzb2x1dGVTaG9ydERhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBwcml2YXRlIGZvcm1hdHRlcjogRGF0ZUZvcm1hdHRlcjxEPlxuICAgICkge31cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogRCB8IHN0cmluZywgb3B0aW9ucz86IERhdGVUaW1lT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBkYXRlID8gdGhpcy5mb3JtYXR0ZXIuYWJzb2x1dGVTaG9ydERhdGVUaW1lKGRhdGUsIG9wdGlvbnMpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdyZWxhdGl2ZUxvbmdEYXRlJyB9KVxuZXhwb3J0IGNsYXNzIFJlbGF0aXZlRGF0ZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhZGFwdGVyOiBEYXRlQWRhcHRlcjxEPixcbiAgICAgICAgcHJpdmF0ZSBmb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXI8RD5cbiAgICApIHt9XG5cbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLnJlbGF0aXZlTG9uZ0RhdGUoZGF0ZSkgOiAnJztcbiAgICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ3JlbGF0aXZlTG9uZ0RhdGVUaW1lJyB9KVxuZXhwb3J0IGNsYXNzIFJlbGF0aXZlRGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYWRhcHRlcjogRGF0ZUFkYXB0ZXI8RD4sXG4gICAgICAgIHByaXZhdGUgZm9ybWF0dGVyOiBEYXRlRm9ybWF0dGVyPEQ+XG4gICAgKSB7fVxuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBEIHwgc3RyaW5nLCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5yZWxhdGl2ZUxvbmdEYXRlVGltZShkYXRlLCBvcHRpb25zKSA6ICcnO1xuICAgIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAncmVsYXRpdmVTaG9ydERhdGUnIH0pXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVTaG9ydERhdGVGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYWRhcHRlcjogRGF0ZUFkYXB0ZXI8RD4sXG4gICAgICAgIHByaXZhdGUgZm9ybWF0dGVyOiBEYXRlRm9ybWF0dGVyPEQ+XG4gICAgKSB7fVxuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBEIHwgc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5yZWxhdGl2ZVNob3J0RGF0ZShkYXRlKSA6ICcnO1xuICAgIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAncmVsYXRpdmVTaG9ydERhdGVUaW1lJyB9KVxuZXhwb3J0IGNsYXNzIFJlbGF0aXZlU2hvcnREYXRlVGltZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhZGFwdGVyOiBEYXRlQWRhcHRlcjxEPixcbiAgICAgICAgcHJpdmF0ZSBmb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXI8RD5cbiAgICApIHt9XG5cbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLnJlbGF0aXZlU2hvcnREYXRlVGltZShkYXRlLCBvcHRpb25zKSA6ICcnO1xuICAgIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAncmFuZ2VMb25nRGF0ZScgfSlcbmV4cG9ydCBjbGFzcyBSYW5nZURhdGVGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYWRhcHRlcjogRGF0ZUFkYXB0ZXI8RD4sXG4gICAgICAgIHByaXZhdGUgZm9ybWF0dGVyOiBEYXRlRm9ybWF0dGVyPEQ+XG4gICAgKSB7fVxuXG4gICAgdHJhbnNmb3JtKFt2YWx1ZTEsIHZhbHVlMl06IERbXSB8IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZTEgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUxKTtcbiAgICAgICAgY29uc3QgZGF0ZTIgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUyKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZXIucmFuZ2VMb25nRGF0ZShkYXRlMSBhcyBELCBkYXRlMiBhcyBEKTtcbiAgICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ3JhbmdlU2hvcnREYXRlJyB9KVxuZXhwb3J0IGNsYXNzIFJhbmdlU2hvcnREYXRlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBwcml2YXRlIGZvcm1hdHRlcjogRGF0ZUZvcm1hdHRlcjxEPlxuICAgICkge31cblxuICAgIHRyYW5zZm9ybShbdmFsdWUxLCB2YWx1ZTJdOiBEW10gfCBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUxID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMSk7XG4gICAgICAgIGNvbnN0IGRhdGUyID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyLnJhbmdlU2hvcnREYXRlKGRhdGUxIGFzIEQsIGRhdGUyIGFzIEQpO1xuICAgIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAncmFuZ2VMb25nRGF0ZVRpbWUnIH0pXG5leHBvcnQgY2xhc3MgUmFuZ2VEYXRlVGltZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhZGFwdGVyOiBEYXRlQWRhcHRlcjxEPixcbiAgICAgICAgcHJpdmF0ZSBmb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXI8RD5cbiAgICApIHt9XG5cbiAgICB0cmFuc2Zvcm0oW3ZhbHVlMSwgdmFsdWUyXTogRFtdIHwgc3RyaW5nW10sIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlMSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZTEpO1xuICAgICAgICBjb25zdCBkYXRlMiA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZTIpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlci5yYW5nZUxvbmdEYXRlVGltZShkYXRlMSBhcyBELCBkYXRlMiBhcyBELCBvcHRpb25zKTtcbiAgICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ3JhbmdlTWlkZGxlRGF0ZVRpbWUnIH0pXG5leHBvcnQgY2xhc3MgUmFuZ2VNaWRkbGVEYXRlVGltZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhZGFwdGVyOiBEYXRlQWRhcHRlcjxEPixcbiAgICAgICAgcHJpdmF0ZSBmb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXI8RD5cbiAgICApIHt9XG5cbiAgICB0cmFuc2Zvcm0oW3ZhbHVlMSwgdmFsdWUyXTogRFtdIHwgc3RyaW5nW10sIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlMSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZTEpO1xuICAgICAgICBjb25zdCBkYXRlMiA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZTIpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlci5yYW5nZU1pZGRsZURhdGVUaW1lKGRhdGUxIGFzIEQsIGRhdGUyIGFzIEQsIG9wdGlvbnMpO1xuICAgIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAncmFuZ2VTaG9ydERhdGVUaW1lJyB9KVxuZXhwb3J0IGNsYXNzIFJhbmdlU2hvcnREYXRlVGltZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhZGFwdGVyOiBEYXRlQWRhcHRlcjxEPixcbiAgICAgICAgcHJpdmF0ZSBmb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXI8RD5cbiAgICApIHt9XG5cbiAgICB0cmFuc2Zvcm0oW3ZhbHVlMSwgdmFsdWUyXTogRFtdIHwgc3RyaW5nW10sIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlMSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZTEpO1xuICAgICAgICBjb25zdCBkYXRlMiA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZTIpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlci5yYW5nZVNob3J0RGF0ZVRpbWUoZGF0ZTEgYXMgRCwgZGF0ZTIgYXMgRCwgb3B0aW9ucyk7XG4gICAgfVxufVxuIl19
|
|
362
|
+
args: [{
|
|
363
|
+
standalone: true,
|
|
364
|
+
name: 'rangeShortDateTime'
|
|
365
|
+
}]
|
|
366
|
+
}] });
|
|
367
|
+
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
368
|
+
export class RangeShortDateTimeFormatterImpurePipe extends RangeShortDateTimeFormatterPipe {
|
|
369
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
370
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterImpurePipe, isStandalone: true, name: "rangeShortDateTimeImpurePipe", pure: false }); }
|
|
371
|
+
}
|
|
372
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterImpurePipe, decorators: [{
|
|
373
|
+
type: Pipe,
|
|
374
|
+
args: [{
|
|
375
|
+
standalone: true,
|
|
376
|
+
name: 'rangeShortDateTimeImpurePipe',
|
|
377
|
+
pure: false
|
|
378
|
+
}]
|
|
379
|
+
}] });
|
|
380
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvZm9ybWF0dGVycy9kYXRlL2Zvcm1hdHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFNUMsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQUN1QixZQUFPLEdBQW1CLE1BQU0sQ0FBQyxDQUFBLFdBQWMsQ0FBQSxDQUFDLENBQUM7UUFDakQsY0FBUyxHQUFxQixNQUFNLENBQUMsQ0FBQSxhQUFnQixDQUFBLENBQUMsQ0FBQztJQUM5RSxDQUFDO0NBQUE7QUFNRCxNQUFNLE9BQU8seUJBQTZCLFNBQVEsaUJBQW9CO0lBQ2xFLFNBQVMsQ0FBQyxLQUFpQixFQUFFLFFBQWtCO1FBQzNDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3ZFLENBQUM7aUlBTFEseUJBQXlCOytIQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBSnJDLElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxrQkFBa0I7aUJBQzNCOztBQWNELHdFQUF3RTtBQUN4RSxNQUFNLE9BQU8sK0JBQW1DLFNBQVEseUJBQTRCO2lJQUF2RSwrQkFBK0I7K0hBQS9CLCtCQUErQjs7MkZB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QUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBaUIsRUFBRSxPQUF5QjtRQUNqRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsS0FBVSxFQUFFLEtBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO2lJQU5RLCtCQUErQjsrSEFBL0IsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQUozQyxJQUFJO21CQUFDO29CQUNGLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsb0JBQW9CO2lCQUM3Qjs7QUFlRCx3RUFBd0U7QUFDeEUsTUFBTSxPQUFPLHFDQUF5QyxTQUFRLCtCQUFrQztpSUFBbkYscUNBQXFDOytIQUFyQyxxQ0FBcUM7OzJGQUFyQyxxQ0FBcUM7a0JBTmpELElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSw4QkFBOEI7b0JBQ3BDLElBQUksRUFBRSxLQUFLO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlVGltZU9wdGlvbnMgfSBmcm9tICdAa29vYmlxL2RhdGUtZm9ybWF0dGVyJztcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vZGF0ZXRpbWUnO1xuaW1wb3J0IHsgRGF0ZUZvcm1hdHRlciB9IGZyb20gJy4vZm9ybWF0dGVyJztcblxuZXhwb3J0IGNsYXNzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWRhcHRlcjogRGF0ZUFkYXB0ZXI8RD4gPSBpbmplY3QoRGF0ZUFkYXB0ZXI8RD4pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBmb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXI8RD4gPSBpbmplY3QoRGF0ZUZvcm1hdHRlcjxEPik7XG59XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdhYnNvbHV0ZUxvbmdEYXRlJ1xufSlcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZURhdGVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcsIGN1cnJZZWFyPzogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBkYXRlID8gdGhpcy5mb3JtYXR0ZXIuYWJzb2x1dGVMb25nRGF0ZShkYXRlLCBjdXJyWWVhcikgOiAnJztcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdhYnNvbHV0ZUxvbmdEYXRlSW1wdXJlUGlwZScsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3VzZS1waXBlLXRyYW5zZm9ybS1pbnRlcmZhY2VcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZURhdGVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgQWJzb2x1dGVEYXRlRm9ybWF0dGVyUGlwZTxEPiB7fVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAnYWJzb2x1dGVMb25nRGF0ZVRpbWUnXG59KVxuZXhwb3J0IGNsYXNzIEFic29sdXRlRGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLmFic29sdXRlTG9uZ0RhdGVUaW1lKGRhdGUsIG9wdGlvbnMpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAnYWJzb2x1dGVMb25nRGF0ZVRpbWVJbXB1cmVQaXBlJyxcbiAgICBwdXJlOiBmYWxzZVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdXNlLXBpcGUtdHJhbnNmb3JtLWludGVyZmFjZVxuZXhwb3J0IGNsYXNzIEFic29sdXRlRGF0ZVRpbWVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgQWJzb2x1dGVEYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ2Fic29sdXRlU2hvcnREYXRlJ1xufSlcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZURhdGVTaG9ydEZvcm1hdHRlclBpcGU8RD4gZXh0ZW5kcyBCYXNlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybSh2YWx1ZTogRCB8IHN0cmluZywgY3VyclllYXI/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5hYnNvbHV0ZVNob3J0RGF0ZShkYXRlLCBjdXJyWWVhcikgOiAnJztcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdhYnNvbHV0ZVNob3J0RGF0ZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgQWJzb2x1dGVEYXRlU2hvcnRGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgQWJzb2x1dGVEYXRlU2hvcnRGb3JtYXR0ZXJQaXBlPEQ+IHt9XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdhYnNvbHV0ZVNob3J0RGF0ZVRpbWUnXG59KVxuZXhwb3J0IGNsYXNzIEFic29sdXRlU2hvcnREYXRlVGltZUZvcm1hdHRlclBpcGU8RD4gZXh0ZW5kcyBCYXNlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybSh2YWx1ZTogRCB8IHN0cmluZywgb3B0aW9ucz86IERhdGVUaW1lT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBkYXRlID8gdGhpcy5mb3JtYXR0ZXIuYWJzb2x1dGVTaG9ydERhdGVUaW1lKGRhdGUsIG9wdGlvbnMpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAnYWJzb2x1dGVTaG9ydERhdGVUaW1lSW1wdXJlUGlwZScsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3VzZS1waXBlLXRyYW5zZm9ybS1pbnRlcmZhY2VcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZVNob3J0RGF0ZVRpbWVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgQWJzb2x1dGVTaG9ydERhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiB7fVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmVsYXRpdmVMb25nRGF0ZSdcbn0pXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVEYXRlRm9ybWF0dGVyUGlwZTxEPiBleHRlbmRzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBEIHwgc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5yZWxhdGl2ZUxvbmdEYXRlKGRhdGUpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmVsYXRpdmVMb25nRGF0ZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVEYXRlRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJlbGF0aXZlRGF0ZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JlbGF0aXZlTG9uZ0RhdGVUaW1lJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWxhdGl2ZURhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBleHRlbmRzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBEIHwgc3RyaW5nLCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5yZWxhdGl2ZUxvbmdEYXRlVGltZShkYXRlLCBvcHRpb25zKSA6ICcnO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JlbGF0aXZlTG9uZ0RhdGVUaW1lSW1wdXJlUGlwZScsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3VzZS1waXBlLXRyYW5zZm9ybS1pbnRlcmZhY2VcbmV4cG9ydCBjbGFzcyBSZWxhdGl2ZURhdGVUaW1lRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJlbGF0aXZlRGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IHt9XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdyZWxhdGl2ZVNob3J0RGF0ZSdcbn0pXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVTaG9ydERhdGVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLnJlbGF0aXZlU2hvcnREYXRlKGRhdGUpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmVsYXRpdmVTaG9ydERhdGVJbXB1cmVQaXBlJyxcbiAgICBwdXJlOiBmYWxzZVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdXNlLXBpcGUtdHJhbnNmb3JtLWludGVyZmFjZVxuZXhwb3J0IGNsYXNzIFJlbGF0aXZlU2hvcnREYXRlRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJlbGF0aXZlU2hvcnREYXRlRm9ybWF0dGVyUGlwZTxEPiB7fVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmVsYXRpdmVTaG9ydERhdGVUaW1lJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWxhdGl2ZVNob3J0RGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLnJlbGF0aXZlU2hvcnREYXRlVGltZShkYXRlLCBvcHRpb25zKSA6ICcnO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JlbGF0aXZlU2hvcnREYXRlVGltZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVTaG9ydERhdGVUaW1lRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJlbGF0aXZlU2hvcnREYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlTG9uZ0RhdGUnXG59KVxuZXhwb3J0IGNsYXNzIFJhbmdlRGF0ZUZvcm1hdHRlclBpcGU8RD4gZXh0ZW5kcyBCYXNlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShbdmFsdWUxLCB2YWx1ZTJdOiBEW10gfCBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUxID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMSk7XG4gICAgICAgIGNvbnN0IGRhdGUyID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyLnJhbmdlTG9uZ0RhdGUoZGF0ZTEgYXMgRCwgZGF0ZTIgYXMgRCk7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmFuZ2VMb25nRGF0ZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgUmFuZ2VEYXRlRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJhbmdlRGF0ZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlU2hvcnREYXRlJ1xufSlcbmV4cG9ydCBjbGFzcyBSYW5nZVNob3J0RGF0ZUZvcm1hdHRlclBpcGU8RD4gZXh0ZW5kcyBCYXNlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShbdmFsdWUxLCB2YWx1ZTJdOiBEW10gfCBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUxID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMSk7XG4gICAgICAgIGNvbnN0IGRhdGUyID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyLnJhbmdlU2hvcnREYXRlKGRhdGUxIGFzIEQsIGRhdGUyIGFzIEQpO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlU2hvcnREYXRlSW1wdXJlUGlwZScsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3VzZS1waXBlLXRyYW5zZm9ybS1pbnRlcmZhY2VcbmV4cG9ydCBjbGFzcyBSYW5nZVNob3J0RGF0ZUZvcm1hdHRlckltcHVyZVBpcGU8RD4gZXh0ZW5kcyBSYW5nZVNob3J0RGF0ZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlTG9uZ0RhdGVUaW1lJ1xufSlcbmV4cG9ydCBjbGFzcyBSYW5nZURhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBleHRlbmRzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKFt2YWx1ZTEsIHZhbHVlMl06IERbXSB8IHN0cmluZ1tdLCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZTEgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUxKTtcbiAgICAgICAgY29uc3QgZGF0ZTIgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUyKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZXIucmFuZ2VMb25nRGF0ZVRpbWUoZGF0ZTEgYXMgRCwgZGF0ZTIgYXMgRCwgb3B0aW9ucyk7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmFuZ2VMb25nRGF0ZVRpbWVJbXB1cmVQaXBlJyxcbiAgICBwdXJlOiBmYWxzZVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdXNlLXBpcGUtdHJhbnNmb3JtLWludGVyZmFjZVxuZXhwb3J0IGNsYXNzIFJhbmdlRGF0ZVRpbWVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgUmFuZ2VEYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlTWlkZGxlRGF0ZVRpbWUnXG59KVxuZXhwb3J0IGNsYXNzIFJhbmdlTWlkZGxlRGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0oW3ZhbHVlMSwgdmFsdWUyXTogRFtdIHwgc3RyaW5nW10sIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlMSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZTEpO1xuICAgICAgICBjb25zdCBkYXRlMiA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZTIpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlci5yYW5nZU1pZGRsZURhdGVUaW1lKGRhdGUxIGFzIEQsIGRhdGUyIGFzIEQsIG9wdGlvbnMpO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlTWlkZGxlRGF0ZVRpbWVJbXB1cmVQaXBlJyxcbiAgICBwdXJlOiBmYWxzZVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdXNlLXBpcGUtdHJhbnNmb3JtLWludGVyZmFjZVxuZXhwb3J0IGNsYXNzIFJhbmdlTWlkZGxlRGF0ZVRpbWVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgUmFuZ2VNaWRkbGVEYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlU2hvcnREYXRlVGltZSdcbn0pXG5leHBvcnQgY2xhc3MgUmFuZ2VTaG9ydERhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBleHRlbmRzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKFt2YWx1ZTEsIHZhbHVlMl06IERbXSB8IHN0cmluZ1tdLCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZTEgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUxKTtcbiAgICAgICAgY29uc3QgZGF0ZTIgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUyKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZXIucmFuZ2VTaG9ydERhdGVUaW1lKGRhdGUxIGFzIEQsIGRhdGUyIGFzIEQsIG9wdGlvbnMpO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlU2hvcnREYXRlVGltZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgUmFuZ2VTaG9ydERhdGVUaW1lRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJhbmdlU2hvcnREYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cbiJdfQ==
|