@acorex/components 20.2.11 → 20.2.12

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.
@@ -18,6 +18,8 @@ class AXTimeDurationComponent extends classes((MXInputBaseValueComponent), MXLoo
18
18
  this.valueEnd = input('MILLISECOND', ...(ngDevMode ? [{ debugName: "valueEnd" }] : []));
19
19
  this.label = input(true, ...(ngDevMode ? [{ debugName: "label" }] : []));
20
20
  this.maskDigits = input('00:00:00:00:00:00:00:000', ...(ngDevMode ? [{ debugName: "maskDigits" }] : []));
21
+ this.minValue = input(null, ...(ngDevMode ? [{ debugName: "minValue" }] : []));
22
+ this.maxValue = input(null, ...(ngDevMode ? [{ debugName: "maxValue" }] : []));
21
23
  this.maskOptions = signal({
22
24
  mask: 'HH:MM:SS',
23
25
  blocks: {
@@ -68,21 +70,34 @@ class AXTimeDurationComponent extends classes((MXInputBaseValueComponent), MXLoo
68
70
  return;
69
71
  this.onInputFire = true;
70
72
  const milliseconds = this.maskToMilliseconds(event);
71
- if (!milliseconds) {
72
- this.commitValue(null);
73
- return;
73
+ // Apply min/max validation
74
+ const minValue = this.minValue();
75
+ const maxValue = this.maxValue();
76
+ let validatedMilliseconds = milliseconds;
77
+ if (minValue !== null && milliseconds < minValue) {
78
+ validatedMilliseconds = minValue;
79
+ }
80
+ if (maxValue !== null && milliseconds > maxValue) {
81
+ validatedMilliseconds = maxValue;
74
82
  }
75
- this.commitValue(milliseconds, true);
83
+ this.commitValue(validatedMilliseconds, true);
76
84
  this.onInputFire = false;
77
85
  }
78
86
  async internalValueChanged(value) {
79
- if (!value) {
80
- this.commitValue(null);
81
- }
82
87
  if (this.onInputFire)
83
88
  return;
84
89
  this.onInternalValueChangedFire = true;
85
- const normalizedMask = await this.timeDurationFormatter.millisecondsToMask(value, this.valueStart(), this.valueEnd(), this.label(), this.maskDigits(), true);
90
+ // Apply min/max validation for programmatically set values
91
+ const minValue = this.minValue();
92
+ const maxValue = this.maxValue();
93
+ let validatedValue = value;
94
+ if (minValue !== null && value < minValue) {
95
+ validatedValue = minValue;
96
+ }
97
+ if (maxValue !== null && value > maxValue) {
98
+ validatedValue = maxValue;
99
+ }
100
+ const normalizedMask = await this.timeDurationFormatter.millisecondsToMask(validatedValue, this.valueStart(), this.valueEnd(), this.label(), this.maskDigits(), true);
86
101
  this.inputValue = normalizedMask;
87
102
  setTimeout(() => {
88
103
  this.onInternalValueChangedFire = false;
@@ -221,7 +236,7 @@ class AXTimeDurationComponent extends classes((MXInputBaseValueComponent), MXLoo
221
236
  return this.name;
222
237
  }
223
238
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXTimeDurationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
224
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.4", type: AXTimeDurationComponent, isStandalone: true, selector: "ax-time-duration", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, valueStart: { classPropertyName: "valueStart", publicName: "valueStart", isSignal: true, isRequired: false, transformFunction: null }, valueEnd: { classPropertyName: "valueEnd", publicName: "valueEnd", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, maskDigits: { classPropertyName: "maskDigits", publicName: "maskDigits", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onValueChanged: "onValueChanged" }, host: { properties: { "attr.name": "this.__hostName" } }, providers: [
239
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.4", type: AXTimeDurationComponent, isStandalone: true, selector: "ax-time-duration", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, valueStart: { classPropertyName: "valueStart", publicName: "valueStart", isSignal: true, isRequired: false, transformFunction: null }, valueEnd: { classPropertyName: "valueEnd", publicName: "valueEnd", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, maskDigits: { classPropertyName: "maskDigits", publicName: "maskDigits", isSignal: true, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onValueChanged: "onValueChanged" }, host: { properties: { "attr.name": "this.__hostName" } }, providers: [
225
240
  { provide: AXComponent, useExisting: AXTimeDurationComponent },
226
241
  { provide: AXFocusableComponent, useExisting: AXTimeDurationComponent },
227
242
  { provide: AXValuableComponent, useExisting: AXTimeDurationComponent },
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-time-duration.mjs","sources":["../tmp-esm2022/time-duration/lib/time-duration.component.js","../tmp-esm2022/time-duration/lib/time-duration.module.js","../tmp-esm2022/time-duration/acorex-components-time-duration.js"],"sourcesContent":["import { AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, } from '@acorex/cdk/common';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTimeDurationFormatter } from '@acorex/core/date-time';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { afterNextRender, ChangeDetectionStrategy, Component, effect, forwardRef, HostBinding, inject, input, signal, ViewEncapsulation, } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { IMask } from 'angular-imask';\nimport { classes } from 'polytype';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/text-box\";\nimport * as i2 from \"@angular/forms\";\nexport class AXTimeDurationComponent extends classes((MXInputBaseValueComponent), MXLookComponent) {\n constructor() {\n super(...arguments);\n this.valueStart = input('YEAR', ...(ngDevMode ? [{ debugName: \"valueStart\" }] : []));\n this.valueEnd = input('MILLISECOND', ...(ngDevMode ? [{ debugName: \"valueEnd\" }] : []));\n this.label = input(true, ...(ngDevMode ? [{ debugName: \"label\" }] : []));\n this.maskDigits = input('00:00:00:00:00:00:00:000', ...(ngDevMode ? [{ debugName: \"maskDigits\" }] : []));\n this.maskOptions = signal({\n mask: 'HH:MM:SS',\n blocks: {\n HH: { mask: IMask.MaskedRange, from: 0, to: 23 },\n MM: { mask: IMask.MaskedRange, from: 0, to: 59 },\n SS: { mask: IMask.MaskedRange, from: 0, to: 59 },\n },\n }, ...(ngDevMode ? [{ debugName: \"maskOptions\" }] : []));\n this.translationService = inject(AXTranslationService);\n this.timeDurationFormatter = inject(AXTimeDurationFormatter);\n this.onInputFire = false;\n this.onInternalValueChangedFire = false;\n this.YEAR = signal(null, ...(ngDevMode ? [{ debugName: \"YEAR\" }] : []));\n this.MONTH = signal(null, ...(ngDevMode ? [{ debugName: \"MONTH\" }] : []));\n this.WEEK = signal(null, ...(ngDevMode ? [{ debugName: \"WEEK\" }] : []));\n this.DAY = signal(null, ...(ngDevMode ? [{ debugName: \"DAY\" }] : []));\n this.HOUR = signal(null, ...(ngDevMode ? [{ debugName: \"HOUR\" }] : []));\n this.MINUTE = signal(null, ...(ngDevMode ? [{ debugName: \"MINUTE\" }] : []));\n this.SECOND = signal(null, ...(ngDevMode ? [{ debugName: \"SECOND\" }] : []));\n this.MILLISECOND = signal(null, ...(ngDevMode ? [{ debugName: \"MILLISECOND\" }] : []));\n this.isTranslationInit = signal(false, ...(ngDevMode ? [{ debugName: \"isTranslationInit\" }] : []));\n this.#init = afterNextRender(async () => {\n await this.initTranslation();\n });\n this.#effect = effect(() => {\n // Depend on label as well\n void this.label();\n if (this.valueStart() && this.valueEnd() && this.isTranslationInit()) {\n this.updateMask();\n }\n }, ...(ngDevMode ? [{ debugName: \"#effect\" }] : []));\n }\n #init;\n #effect;\n async initTranslation() {\n this.YEAR.set((await this.translationService.translateAsync('@acorex:dateTime.units.year')).toLocaleUpperCase());\n this.MONTH.set((await this.translationService.translateAsync('@acorex:dateTime.units.month')).toLocaleUpperCase());\n this.WEEK.set((await this.translationService.translateAsync('@acorex:dateTime.units.week')).toLocaleUpperCase());\n this.DAY.set((await this.translationService.translateAsync('@acorex:dateTime.units.day')).toLocaleUpperCase());\n this.HOUR.set((await this.translationService.translateAsync('@acorex:dateTime.units.hour')).toLocaleUpperCase());\n this.MINUTE.set((await this.translationService.translateAsync('@acorex:dateTime.units.minute')).toLocaleUpperCase());\n this.SECOND.set((await this.translationService.translateAsync('@acorex:dateTime.units.second')).toLocaleUpperCase());\n this.MILLISECOND.set((await this.translationService.translateAsync('@acorex:dateTime.units.millisecond')).toLocaleUpperCase());\n this.isTranslationInit.set(true);\n }\n onInput(event) {\n if (this.onInternalValueChangedFire)\n return;\n this.onInputFire = true;\n const milliseconds = this.maskToMilliseconds(event);\n if (!milliseconds) {\n this.commitValue(null);\n return;\n }\n this.commitValue(milliseconds, true);\n this.onInputFire = false;\n }\n async internalValueChanged(value) {\n if (!value) {\n this.commitValue(null);\n }\n if (this.onInputFire)\n return;\n this.onInternalValueChangedFire = true;\n const normalizedMask = await this.timeDurationFormatter.millisecondsToMask(value, this.valueStart(), this.valueEnd(), this.label(), this.maskDigits(), true);\n this.inputValue = normalizedMask;\n setTimeout(() => {\n this.onInternalValueChangedFire = false;\n });\n }\n replacePersianLabels(input) {\n const replacements = {\n [this.YEAR()]: 'YEAR',\n [this.MONTH()]: 'MONTH',\n [this.WEEK()]: 'WEEK',\n [this.DAY()]: 'DAY',\n [this.HOUR()]: 'HOUR',\n [this.MINUTE()]: 'MINUTE',\n [this.SECOND()]: 'SECOND',\n [this.MILLISECOND()]: 'MILLISECOND',\n };\n return Object.entries(replacements).reduce((str, [fa, en]) => {\n return str.replace(`(${fa})`, `(${en})`);\n }, input);\n }\n maskToMilliseconds(maskValue) {\n const timeUnits = {\n YEAR: 365 * 24 * 60 * 60 * 1000,\n MONTH: 30 * 24 * 60 * 60 * 1000,\n WEEK: 7 * 24 * 60 * 60 * 1000,\n DAY: 24 * 60 * 60 * 1000,\n HOUR: 60 * 60 * 1000,\n MINUTE: 60 * 1000,\n SECOND: 1000,\n MILLISECOND: 1,\n };\n let totalMs = 0;\n if (this.label()) {\n // Parse labeled format: \"00 (YEAR) : 00 (MONTH) : 00 (DAY)\"\n const transformedMaskValue = this.replacePersianLabels(maskValue);\n const regex = /(\\d+)\\s*\\((YEAR|MONTH|WEEK|DAY|HOUR|MINUTE|SECOND|MILLISECOND)\\)/g;\n let match;\n while ((match = regex.exec(transformedMaskValue)) !== null) {\n const value = parseInt(match[1], 10);\n const unit = match[2];\n if (timeUnits[unit] !== undefined) {\n totalMs += value * timeUnits[unit];\n }\n }\n }\n else {\n // Parse unlabeled format: \"00:00:00\" (colon-separated numbers)\n const allUnits = ['YEAR', 'MONTH', 'WEEK', 'DAY', 'HOUR', 'MINUTE', 'SECOND', 'MILLISECOND'];\n const startIndex = allUnits.indexOf(this.valueStart());\n const endIndex = allUnits.indexOf(this.valueEnd());\n if (startIndex !== -1 && endIndex !== -1 && endIndex >= startIndex) {\n const selectedUnits = allUnits.slice(startIndex, endIndex + 1);\n const numbers = maskValue.split(':').map((num) => parseInt(num.trim(), 10));\n for (let i = 0; i < Math.min(numbers.length, selectedUnits.length); i++) {\n const value = numbers[i];\n const unit = selectedUnits[i];\n if (!isNaN(value) && timeUnits[unit] !== undefined) {\n totalMs += value * timeUnits[unit];\n }\n }\n }\n }\n return totalMs;\n }\n updateMask() {\n const allUnits = ['YEAR', 'MONTH', 'WEEK', 'DAY', 'HOUR', 'MINUTE', 'SECOND', 'MILLISECOND'];\n const startIndex = allUnits.indexOf(this.valueStart());\n const endIndex = allUnits.indexOf(this.valueEnd());\n if (startIndex === -1 || endIndex === -1 || endIndex < startIndex) {\n this.maskOptions.set({ mask: '', eager: true });\n return null;\n }\n const selectedUnits = allUnits.slice(startIndex, endIndex + 1);\n let maskParts;\n const yearDigits = this.maskDigits().split(':')[0];\n const monthDigits = this.maskDigits().split(':')[1];\n const weekDigits = this.maskDigits().split(':')[2];\n const dayDigits = this.maskDigits().split(':')[3];\n const hourDigits = this.maskDigits().split(':')[4];\n const minuteDigits = this.maskDigits().split(':')[5];\n const secondDigits = this.maskDigits().split(':')[6];\n const millisecondDigits = this.maskDigits().split(':')[7];\n if (this.label()) {\n // With labels\n const unitPatterns = {\n YEAR: `${yearDigits} (${this.YEAR()})`,\n MONTH: `${monthDigits} (${this.MONTH()})`,\n WEEK: `${weekDigits} (${this.WEEK()})`,\n DAY: `${dayDigits} (${this.DAY()})`,\n HOUR: `${hourDigits} (${this.HOUR()})`,\n MINUTE: `${minuteDigits} (${this.MINUTE()})`,\n SECOND: `${secondDigits} (${this.SECOND()})`,\n MILLISECOND: `${millisecondDigits} (${this.MILLISECOND()})`,\n };\n maskParts = selectedUnits.map((unit) => {\n return unitPatterns[unit];\n });\n }\n else {\n // Without labels - just numbers\n const unitPatterns = {\n YEAR: yearDigits,\n MONTH: monthDigits,\n WEEK: weekDigits,\n DAY: dayDigits,\n HOUR: hourDigits,\n MINUTE: minuteDigits,\n SECOND: secondDigits,\n MILLISECOND: millisecondDigits,\n };\n maskParts = selectedUnits.map((unit) => {\n return unitPatterns[unit];\n });\n }\n let result;\n if (this.label()) {\n if (this.translationService.getActiveLang() === 'fa-IR') {\n result = maskParts.reverse().join(' : ');\n }\n else {\n result = maskParts.join(' : ');\n }\n }\n else {\n result = maskParts.join(':');\n }\n this.maskOptions.set({ mask: result, eager: true });\n }\n focusHandler(e) {\n this.onFocus.emit(e);\n }\n blurHandler(e) {\n this.onBlur.emit(e);\n }\n get __hostName() {\n return this.name;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXTimeDurationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.4\", type: AXTimeDurationComponent, isStandalone: true, selector: \"ax-time-duration\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: \"tabIndex\", publicName: \"tabIndex\", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: \"readonly\", publicName: \"readonly\", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: \"look\", publicName: \"look\", isSignal: false, isRequired: false, transformFunction: null }, valueStart: { classPropertyName: \"valueStart\", publicName: \"valueStart\", isSignal: true, isRequired: false, transformFunction: null }, valueEnd: { classPropertyName: \"valueEnd\", publicName: \"valueEnd\", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: \"label\", publicName: \"label\", isSignal: true, isRequired: false, transformFunction: null }, maskDigits: { classPropertyName: \"maskDigits\", publicName: \"maskDigits\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onValueChanged: \"onValueChanged\" }, host: { properties: { \"attr.name\": \"this.__hostName\" } }, providers: [\n { provide: AXComponent, useExisting: AXTimeDurationComponent },\n { provide: AXFocusableComponent, useExisting: AXTimeDurationComponent },\n { provide: AXValuableComponent, useExisting: AXTimeDurationComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXTimeDurationComponent),\n multi: true,\n },\n ], usesInheritance: true, ngImport: i0, template: \"<ax-text-box\\n [look]=\\\"look\\\"\\n [placeholder]=\\\"maskOptions().mask\\\"\\n [mask-options]=\\\"maskOptions()\\\"\\n [(ngModel)]=\\\"inputValue\\\"\\n (ngModelChange)=\\\"onInput($event)\\\"\\n class=\\\"ax-time-duration-text\\\"\\n [disabled]=\\\"disabled\\\"\\n [tabIndex]=\\\"tabIndex\\\"\\n [readonly]=\\\"readonly\\\"\\n (onFocus)=\\\"focusHandler($event)\\\"\\n (onBlur)=\\\"blurHandler($event)\\\"\\n>\\n <ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n</ax-text-box>\\n\", dependencies: [{ kind: \"ngmodule\", type: AXTextBoxModule }, { kind: \"component\", type: i1.AXTextBoxComponent, selector: \"ax-text-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"value\", \"state\", \"name\", \"id\", \"placeholder\", \"maxLength\", \"allowNull\", \"type\", \"autoComplete\", \"look\", \"mask-options\", \"class\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"stateChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AXSelectBoxModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXTimeDurationComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-time-duration', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXTextBoxModule, FormsModule, AXSelectBoxModule], inputs: ['disabled', 'tabIndex', 'readonly', 'look'], outputs: ['onValueChanged'], providers: [\n { provide: AXComponent, useExisting: AXTimeDurationComponent },\n { provide: AXFocusableComponent, useExisting: AXTimeDurationComponent },\n { provide: AXValuableComponent, useExisting: AXTimeDurationComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXTimeDurationComponent),\n multi: true,\n },\n ], template: \"<ax-text-box\\n [look]=\\\"look\\\"\\n [placeholder]=\\\"maskOptions().mask\\\"\\n [mask-options]=\\\"maskOptions()\\\"\\n [(ngModel)]=\\\"inputValue\\\"\\n (ngModelChange)=\\\"onInput($event)\\\"\\n class=\\\"ax-time-duration-text\\\"\\n [disabled]=\\\"disabled\\\"\\n [tabIndex]=\\\"tabIndex\\\"\\n [readonly]=\\\"readonly\\\"\\n (onFocus)=\\\"focusHandler($event)\\\"\\n (onBlur)=\\\"blurHandler($event)\\\"\\n>\\n <ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n</ax-text-box>\\n\" }]\n }], propDecorators: { __hostName: [{\n type: HostBinding,\n args: ['attr.name']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1kdXJhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RpbWUtZHVyYXRpb24vc3JjL2xpYi90aW1lLWR1cmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdGltZS1kdXJhdGlvbi9zcmMvbGliL3RpbWUtZHVyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxvQkFBb0IsRUFFcEIsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixlQUFlLEdBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFpQixlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7QUFzQm5DLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxPQUFPLENBQUMsQ0FBQSx5QkFBaUMsQ0FBQSxFQUFFLGVBQWUsQ0FBQztJ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LEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRTtZQUN2RSxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUU7WUFDdEU7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQzlDSCxpY0FlQSwyQ0RtQlksZUFBZSxxYkFBRSxXQUFXLDhWQUFFLGlCQUFpQjs7MkZBYzlDLHVCQUF1QjtrQkFuQm5DLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUVYLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixDQUFDLFVBQ2xELENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLFdBQzNDLENBQUMsZ0JBQWdCLENBQUMsYUFDaEI7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcseUJBQXlCLEVBQUU7d0JBQzlELEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcseUJBQXlCLEVBQUU7d0JBQ3ZFLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcseUJBQXlCLEVBQUU7d0JBQ3RFOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkF3UFcsVUFBVTtzQkFEckIsV0FBVzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVhDb21wb25lbnQsXG4gIEFYRm9jdXNhYmxlQ29tcG9uZW50LFxuICBBWEZvY3VzRXZlbnQsXG4gIEFYVmFsdWFibGVDb21wb25lbnQsXG4gIE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQsXG4gIE1YTG9va0NvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYU2VsZWN0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NlbGVjdC1ib3gnO1xuaW1wb3J0IHsgQVhNYXNrT3B0aW9ucywgQVhUZXh0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RleHQtYm94JztcbmltcG9ydCB7IEFYVGltZUR1cmF0aW9uRm9ybWF0dGVyIH0gZnJvbSAnQGFjb3JleC9jb3JlL2RhdGUtdGltZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQge1xuICBhZnRlck5leHRSZW5kZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGVmZmVjdCxcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSU1hc2sgfSBmcm9tICdhbmd1bGFyLWltYXNrJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XG5pbXBvcnQgeyBBWFRpbWVEdXJhdGlvblVuaXQgfSBmcm9tICcuL3RpbWUtZHVyYXRpb24udHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXRpbWUtZHVyYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGltZS1kdXJhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbQVhUZXh0Qm94TW9kdWxlLCBGb3Jtc01vZHVsZSwgQVhTZWxlY3RCb3hNb2R1bGVdLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAndGFiSW5kZXgnLCAncmVhZG9ubHknLCAnbG9vayddLFxuICBvdXRwdXRzOiBbJ29uVmFsdWVDaGFuZ2VkJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFRpbWVEdXJhdGlvbkNvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhGb2N1c2FibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFRpbWVEdXJhdGlvbkNvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhWYWx1YWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYVGltZUR1cmF0aW9uQ29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWFRpbWVEdXJhdGlvbkNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFRpbWVEdXJhdGlvbkNvbXBvbmVudCBleHRlbmRzIGNsYXNzZXMoTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudDxudW1iZXI+LCBNWExvb2tDb21wb25lbnQpIHtcbiAgcHJvdGVjdGVkIGlucHV0VmFsdWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdmFsdWVTdGFydCA9IGlucHV0PEFYVGltZUR1cmF0aW9uVW5pdD4oJ1lFQVInKTtcbiAgcmVhZG9ubHkgdmFsdWVFbmQgPSBpbnB1dDxBWFRpbWVEdXJhdGlvblVuaXQ+KCdNSUxMSVNFQ09ORCcpO1xuICByZWFkb25seSBsYWJlbCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuICByZWFkb25seSBtYXNrRGlnaXRzID0gaW5wdXQoJzAwOjAwOjAwOjAwOjAwOjAwOjAwOjAwMCcpO1xuXG4gIHByb3RlY3RlZCBtYXNrT3B0aW9ucyA9IHNpZ25hbDxBWE1hc2tPcHRpb25zPih7XG4gICAgbWFzazogJ0hIOk1NOlNTJyxcbiAgICBibG9ja3M6IHtcbiAgICAgIEhIOiB7IG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLCBmcm9tOiAwLCB0bzogMjMgfSxcbiAgICAgIE1NOiB7IG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLCBmcm9tOiAwLCB0bzogNTkgfSxcbiAgICAgIFNTOiB7IG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLCBmcm9tOiAwLCB0bzogNTkgfSxcbiAgICB9LFxuICB9KTtcblxuICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZTogQVhUcmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIHRpbWVEdXJhdGlvbkZvcm1hdHRlcjogQVhUaW1lRHVyYXRpb25Gb3JtYXR0ZXIgPSBpbmplY3QoQVhUaW1lRHVyYXRpb25Gb3JtYXR0ZXIpO1xuXG4gIHByaXZhdGUgb25JbnB1dEZpcmUgPSBmYWxzZTtcbiAgcHJpdmF0ZSBvbkludGVybmFsVmFsdWVDaGFuZ2VkRmlyZSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgWUVBUiA9IHNpZ25hbChudWxsKTtcbiAgcHJpdmF0ZSBNT05USCA9IHNpZ25hbChudWxsKTtcbiAgcHJpdmF0ZSBXRUVLID0gc2lnbmFsKG51bGwpO1xuICBwcml2YXRlIERBWSA9IHNpZ25hbChudWxsKTtcbiAgcHJpdmF0ZSBIT1VSID0gc2lnbmFsKG51bGwpO1xuICBwcml2YXRlIE1JTlVURSA9IHNpZ25hbChudWxsKTtcbiAgcHJpdmF0ZSBTRUNPTkQgPSBzaWduYWwobnVsbCk7XG4gIHByaXZhdGUgTUlMTElTRUNPTkQgPSBzaWduYWwobnVsbCk7XG4gIHByaXZhdGUgaXNUcmFuc2xhdGlvbkluaXQgPSBzaWduYWwoZmFsc2UpO1xuXG4gICNpbml0ID0gYWZ0ZXJOZXh0UmVuZGVyKGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCB0aGlzLmluaXRUcmFuc2xhdGlvbigpO1xuICB9KTtcblxuICAjZWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAvLyBEZXBlbmQgb24gbGFiZWwgYXMgd2VsbFxuICAgIHZvaWQgdGhpcy5sYWJlbCgpO1xuICAgIGlmICh0aGlzLnZhbHVlU3RhcnQoKSAmJiB0aGlzLnZhbHVlRW5kKCkgJiYgdGhpcy5pc1RyYW5zbGF0aW9uSW5pdCgpKSB7XG4gICAgICB0aGlzLnVwZGF0ZU1hc2soKTtcbiAgICB9XG4gIH0pO1xuXG4gIGFzeW5jIGluaXRUcmFuc2xhdGlvbigpIHtcbiAgICB0aGlzLllFQVIuc2V0KChhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGFjb3JleDpkYXRlVGltZS51bml0cy55ZWFyJykpLnRvTG9jYWxlVXBwZXJDYXNlKCkpO1xuICAgIHRoaXMuTU9OVEguc2V0KChhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGFjb3JleDpkYXRlVGltZS51bml0cy5tb250aCcpKS50b0xvY2FsZVVwcGVyQ2FzZSgpKTtcbiAgICB0aGlzLldFRUsuc2V0KChhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGFjb3JleDpkYXRlVGltZS51bml0cy53ZWVrJykpLnRvTG9jYWxlVXBwZXJDYXNlKCkpO1xuICAgIHRoaXMuREFZLnNldCgoYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BhY29yZXg6ZGF0ZVRpbWUudW5pdHMuZGF5JykpLnRvTG9jYWxlVXBwZXJDYXNlKCkpO1xuICAgIHRoaXMuSE9VUi5zZXQoKGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAYWNvcmV4OmRhdGVUaW1lLnVuaXRzLmhvdXInKSkudG9Mb2NhbGVVcHBlckNhc2UoKSk7XG4gICAgdGhpcy5NSU5VVEUuc2V0KFxuICAgICAgKGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAYWNvcmV4OmRhdGVUaW1lLnVuaXRzLm1pbnV0ZScpKS50b0xvY2FsZVVwcGVyQ2FzZSgpLFxuICAgICk7XG4gICAgdGhpcy5TRUNPTkQuc2V0KFxuICAgICAgKGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAYWNvcmV4OmRhdGVUaW1lLnVuaXRzLnNlY29uZCcpKS50b0xvY2FsZVVwcGVyQ2FzZSgpLFxuICAgICk7XG4gICAgdGhpcy5NSUxMSVNFQ09ORC5zZXQoXG4gICAgICAoYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BhY29yZXg6ZGF0ZVRpbWUudW5pdHMubWlsbGlzZWNvbmQnKSkudG9Mb2NhbGVVcHBlckNhc2UoKSxcbiAgICApO1xuICAgIHRoaXMuaXNUcmFuc2xhdGlvbkluaXQuc2V0KHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uSW5wdXQoZXZlbnQ6IGFueSkge1xuICAgIGlmICh0aGlzLm9uSW50ZXJuYWxWYWx1ZUNoYW5nZWRGaXJlKSByZXR1cm47XG4gICAgdGhpcy5vbklucHV0RmlyZSA9IHRydWU7XG4gICAgY29uc3QgbWlsbGlzZWNvbmRzID0gdGhpcy5tYXNrVG9NaWxsaXNlY29uZHMoZXZlbnQpO1xuICAgIGlmICghbWlsbGlzZWNvbmRzKSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKG51bGwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNvbW1pdFZhbHVlKG1pbGxpc2Vjb25kcywgdHJ1ZSk7XG4gICAgdGhpcy5vbklucHV0RmlyZSA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGludGVybmFsVmFsdWVDaGFuZ2VkKHZhbHVlOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKG51bGwpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9uSW5wdXRGaXJlKSByZXR1cm47XG4gICAgdGhpcy5vbkludGVybmFsVmFsdWVDaGFuZ2VkRmlyZSA9IHRydWU7XG5cbiAgICBjb25zdCBub3JtYWxpemVkTWFzayA9IGF3YWl0IHRoaXMudGltZUR1cmF0aW9uRm9ybWF0dGVyLm1pbGxpc2Vjb25kc1RvTWFzayhcbiAgICAgIHZhbHVlLFxuICAgICAgdGhpcy52YWx1ZVN0YXJ0KCksXG4gICAgICB0aGlzLnZhbHVlRW5kKCksXG4gICAgICB0aGlzLmxhYmVsKCksXG4gICAgICB0aGlzLm1hc2tEaWdpdHMoKSxcbiAgICAgIHRydWUsXG4gICAgKTtcblxuICAgIHRoaXMuaW5wdXRWYWx1ZSA9IG5vcm1hbGl6ZWRNYXNrO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm9uSW50ZXJuYWxWYWx1ZUNoYW5nZWRGaXJlID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlcGxhY2VQZXJzaWFuTGFiZWxzKGlucHV0OiBzdHJpbmcpIHtcbiAgICBjb25zdCByZXBsYWNlbWVudHMgPSB7XG4gICAgICBbdGhpcy5ZRUFSKCldOiAnWUVBUicsXG4gICAgICBbdGhpcy5NT05USCgpXTogJ01PTlRIJyxcbiAgICAgIFt0aGlzLldFRUsoKV06ICdXRUVLJyxcbiAgICAgIFt0aGlzLkRBWSgpXTogJ0RBWScsXG4gICAgICBbdGhpcy5IT1VSKCldOiAnSE9VUicsXG4gICAgICBbdGhpcy5NSU5VVEUoKV06ICdNSU5VVEUnLFxuICAgICAgW3RoaXMuU0VDT05EKCldOiAnU0VDT05EJyxcbiAgICAgIFt0aGlzLk1JTExJU0VDT05EKCldOiAnTUlMTElTRUNPTkQnLFxuICAgIH07XG5cbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVwbGFjZW1lbnRzKS5yZWR1Y2UoKHN0ciwgW2ZhLCBlbl0pID0+IHtcbiAgICAgIHJldHVybiBzdHIucmVwbGFjZShgKCR7ZmF9KWAsIGAoJHtlbn0pYCk7XG4gICAgfSwgaW5wdXQpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXNrVG9NaWxsaXNlY29uZHMobWFza1ZhbHVlOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IHRpbWVVbml0cyA9IHtcbiAgICAgIFlFQVI6IDM2NSAqIDI0ICogNjAgKiA2MCAqIDEwMDAsXG4gICAgICBNT05USDogMzAgKiAyNCAqIDYwICogNjAgKiAxMDAwLFxuICAgICAgV0VFSzogNyAqIDI0ICogNjAgKiA2MCAqIDEwMDAsXG4gICAgICBEQVk6IDI0ICogNjAgKiA2MCAqIDEwMDAsXG4gICAgICBIT1VSOiA2MCAqIDYwICogMTAwMCxcbiAgICAgIE1JTlVURTogNjAgKiAxMDAwLFxuICAgICAgU0VDT05EOiAxMDAwLFxuICAgICAgTUlMTElTRUNPTkQ6IDEsXG4gICAgfTtcblxuICAgIGxldCB0b3RhbE1zID0gMDtcblxuICAgIGlmICh0aGlzLmxhYmVsKCkpIHtcbiAgICAgIC8vIFBhcnNlIGxhYmVsZWQgZm9ybWF0OiBcIjAwIChZRUFSKSA6IDAwIChNT05USCkgOiAwMCAoREFZKVwiXG4gICAgICBjb25zdCB0cmFuc2Zvcm1lZE1hc2tWYWx1ZSA9IHRoaXMucmVwbGFjZVBlcnNpYW5MYWJlbHMobWFza1ZhbHVlKTtcbiAgICAgIGNvbnN0IHJlZ2V4ID0gLyhcXGQrKVxccypcXCgoWUVBUnxNT05USHxXRUVLfERBWXxIT1VSfE1JTlVURXxTRUNPTkR8TUlMTElTRUNPTkQpXFwpL2c7XG4gICAgICBsZXQgbWF0Y2g7XG5cbiAgICAgIHdoaWxlICgobWF0Y2ggPSByZWdleC5leGVjKHRyYW5zZm9ybWVkTWFza1ZhbHVlKSkgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJzZUludChtYXRjaFsxXSwgMTApO1xuICAgICAgICBjb25zdCB1bml0ID0gbWF0Y2hbMl07XG4gICAgICAgIGlmICh0aW1lVW5pdHNbdW5pdF0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRvdGFsTXMgKz0gdmFsdWUgKiB0aW1lVW5pdHNbdW5pdF07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUGFyc2UgdW5sYWJlbGVkIGZvcm1hdDogXCIwMDowMDowMFwiIChjb2xvbi1zZXBhcmF0ZWQgbnVtYmVycylcbiAgICAgIGNvbnN0IGFsbFVuaXRzID0gWydZRUFSJywgJ01PTlRIJywgJ1dFRUsnLCAnREFZJywgJ0hPVVInLCAnTUlOVVRFJywgJ1NFQ09ORCcsICdNSUxMSVNFQ09ORCddO1xuICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IGFsbFVuaXRzLmluZGV4T2YodGhpcy52YWx1ZVN0YXJ0KCkpO1xuICAgICAgY29uc3QgZW5kSW5kZXggPSBhbGxVbml0cy5pbmRleE9mKHRoaXMudmFsdWVFbmQoKSk7XG5cbiAgICAgIGlmIChzdGFydEluZGV4ICE9PSAtMSAmJiBlbmRJbmRleCAhPT0gLTEgJiYgZW5kSW5kZXggPj0gc3RhcnRJbmRleCkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZFVuaXRzID0gYWxsVW5pdHMuc2xpY2Uoc3RhcnRJbmRleCwgZW5kSW5kZXggKyAxKTtcbiAgICAgICAgY29uc3QgbnVtYmVycyA9IG1hc2tWYWx1ZS5zcGxpdCgnOicpLm1hcCgobnVtKSA9PiBwYXJzZUludChudW0udHJpbSgpLCAxMCkpO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTWF0aC5taW4obnVtYmVycy5sZW5ndGgsIHNlbGVjdGVkVW5pdHMubGVuZ3RoKTsgaSsrKSB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBudW1iZXJzW2ldO1xuICAgICAgICAgIGNvbnN0IHVuaXQgPSBzZWxlY3RlZFVuaXRzW2ldO1xuICAgICAgICAgIGlmICghaXNOYU4odmFsdWUpICYmIHRpbWVVbml0c1t1bml0XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0b3RhbE1zICs9IHZhbHVlICogdGltZVVuaXRzW3VuaXRdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0b3RhbE1zO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVNYXNrKCkge1xuICAgIGNvbnN0IGFsbFVuaXRzID0gWydZRUFSJywgJ01PTlRIJywgJ1dFRUsnLCAnREFZJywgJ0hPVVInLCAnTUlOVVRFJywgJ1NFQ09ORCcsICdNSUxMSVNFQ09ORCddO1xuICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBhbGxVbml0cy5pbmRleE9mKHRoaXMudmFsdWVTdGFydCgpKTtcbiAgICBjb25zdCBlbmRJbmRleCA9IGFsbFVuaXRzLmluZGV4T2YodGhpcy52YWx1ZUVuZCgpKTtcblxuICAgIGlmIChzdGFydEluZGV4ID09PSAtMSB8fCBlbmRJbmRleCA9PT0gLTEgfHwgZW5kSW5kZXggPCBzdGFydEluZGV4KSB7XG4gICAgICB0aGlzLm1hc2tPcHRpb25zLnNldCh7IG1hc2s6ICcnLCBlYWdlcjogdHJ1ZSB9KTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdGVkVW5pdHMgPSBhbGxVbml0cy5zbGljZShzdGFydEluZGV4LCBlbmRJbmRleCArIDEpO1xuXG4gICAgbGV0IG1hc2tQYXJ0czogc3RyaW5nW107XG5cbiAgICBjb25zdCB5ZWFyRGlnaXRzID0gdGhpcy5tYXNrRGlnaXRzKCkuc3BsaXQoJzonKVswXTtcbiAgICBjb25zdCBtb250aERpZ2l0cyA9IHRoaXMubWFza0RpZ2l0cygpLnNwbGl0KCc6JylbMV07XG4gICAgY29uc3Qgd2Vla0RpZ2l0cyA9IHRoaXMubWFza0RpZ2l0cygpLnNwbGl0KCc6JylbMl07XG4gICAgY29uc3QgZGF5RGlnaXRzID0gdGhpcy5tYXNrRGlnaXRzKCkuc3BsaXQoJzonKVszXTtcbiAgICBjb25zdCBob3VyRGlnaXRzID0gdGhpcy5tYXNrRGlnaXRzKCkuc3BsaXQoJzonKVs0XTtcbiAgICBjb25zdCBtaW51dGVEaWdpdHMgPSB0aGlzLm1hc2tEaWdpdHMoKS5zcGxpdCgnOicpWzVdO1xuICAgIGNvbnN0IHNlY29uZERpZ2l0cyA9IHRoaXMubWFza0RpZ2l0cygpLnNwbGl0KCc6JylbNl07XG4gICAgY29uc3QgbWlsbGlzZWNvbmREaWdpdHMgPSB0aGlzLm1hc2tEaWdpdHMoKS5zcGxpdCgnOicpWzddO1xuXG4gICAgaWYgKHRoaXMubGFiZWwoKSkge1xuICAgICAgLy8gV2l0aCBsYWJlbHNcbiAgICAgIGNvbnN0IHVuaXRQYXR0ZXJuczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgICAgWUVBUjogYCR7eWVhckRpZ2l0c30gKCR7dGhpcy5ZRUFSKCl9KWAsXG4gICAgICAgIE1PTlRIOiBgJHttb250aERpZ2l0c30gKCR7dGhpcy5NT05USCgpfSlgLFxuICAgICAgICBXRUVLOiBgJHt3ZWVrRGlnaXRzfSAoJHt0aGlzLldFRUsoKX0pYCxcbiAgICAgICAgREFZOiBgJHtkYXlEaWdpdHN9ICgke3RoaXMuREFZKCl9KWAsXG4gICAgICAgIEhPVVI6IGAke2hvdXJEaWdpdHN9ICgke3RoaXMuSE9VUigpfSlgLFxuICAgICAgICBNSU5VVEU6IGAke21pbnV0ZURpZ2l0c30gKCR7dGhpcy5NSU5VVEUoKX0pYCxcbiAgICAgICAgU0VDT05EOiBgJHtzZWNvbmREaWdpdHN9ICgke3RoaXMuU0VDT05EKCl9KWAsXG4gICAgICAgIE1JTExJU0VDT05EOiBgJHttaWxsaXNlY29uZERpZ2l0c30gKCR7dGhpcy5NSUxMSVNFQ09ORCgpfSlgLFxuICAgICAgfTtcblxuICAgICAgbWFza1BhcnRzID0gc2VsZWN0ZWRVbml0cy5tYXAoKHVuaXQpID0+IHtcbiAgICAgICAgcmV0dXJuIHVuaXRQYXR0ZXJuc1t1bml0XTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXaXRob3V0IGxhYmVscyAtIGp1c3QgbnVtYmVyc1xuICAgICAgY29uc3QgdW5pdFBhdHRlcm5zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgICBZRUFSOiB5ZWFyRGlnaXRzLFxuICAgICAgICBNT05USDogbW9udGhEaWdpdHMsXG4gICAgICAgIFdFRUs6IHdlZWtEaWdpdHMsXG4gICAgICAgIERBWTogZGF5RGlnaXRzLFxuICAgICAgICBIT1VSOiBob3VyRGlnaXRzLFxuICAgICAgICBNSU5VVEU6IG1pbnV0ZURpZ2l0cyxcbiAgICAgICAgU0VDT05EOiBzZWNvbmREaWdpdHMsXG4gICAgICAgIE1JTExJU0VDT05EOiBtaWxsaXNlY29uZERpZ2l0cyxcbiAgICAgIH07XG5cbiAgICAgIG1hc2tQYXJ0cyA9IHNlbGVjdGVkVW5pdHMubWFwKCh1bml0KSA9PiB7XG4gICAgICAgIHJldHVybiB1bml0UGF0dGVybnNbdW5pdF07XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBsZXQgcmVzdWx0OiBzdHJpbmc7XG5cbiAgICBpZiAodGhpcy5sYWJlbCgpKSB7XG4gICAgICBpZiAodGhpcy50cmFuc2xhdGlvblNlcnZpY2UuZ2V0QWN0aXZlTGFuZygpID09PSAnZmEtSVInKSB7XG4gICAgICAgIHJlc3VsdCA9IG1hc2tQYXJ0cy5yZXZlcnNlKCkuam9pbignIDogJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgPSBtYXNrUGFydHMuam9pbignIDogJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IG1hc2tQYXJ0cy5qb2luKCc6Jyk7XG4gICAgfVxuXG4gICAgdGhpcy5tYXNrT3B0aW9ucy5zZXQoeyBtYXNrOiByZXN1bHQsIGVhZ2VyOiB0cnVlIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZvY3VzSGFuZGxlcihlOiBBWEZvY3VzRXZlbnQpIHtcbiAgICB0aGlzLm9uRm9jdXMuZW1pdChlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBibHVySGFuZGxlcihlOiBBWEZvY3VzRXZlbnQpIHtcbiAgICB0aGlzLm9uQmx1ci5lbWl0KGUpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLm5hbWUnKVxuICBwcml2YXRlIGdldCBfX2hvc3ROYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxufVxuIiwiPGF4LXRleHQtYm94XG4gIFtsb29rXT1cImxvb2tcIlxuICBbcGxhY2Vob2xkZXJdPVwibWFza09wdGlvbnMoKS5tYXNrXCJcbiAgW21hc2stb3B0aW9uc109XCJtYXNrT3B0aW9ucygpXCJcbiAgWyhuZ01vZGVsKV09XCJpbnB1dFZhbHVlXCJcbiAgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgY2xhc3M9XCJheC10aW1lLWR1cmF0aW9uLXRleHRcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbdGFiSW5kZXhdPVwidGFiSW5kZXhcIlxuICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAob25Gb2N1cyk9XCJmb2N1c0hhbmRsZXIoJGV2ZW50KVwiXG4gIChvbkJsdXIpPVwiYmx1ckhhbmRsZXIoJGV2ZW50KVwiXG4+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPiA8L25nLWNvbnRlbnQ+XG48L2F4LXRleHQtYm94PlxuIl19","import { NgModule } from '@angular/core';\nimport { AXTimeDurationComponent } from './time-duration.component';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXTimeDurationComponent];\nconst MODULES = [];\nexport class AXTimeDurationModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXTimeDurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXTimeDurationModule, imports: [AXTimeDurationComponent], exports: [AXTimeDurationComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXTimeDurationModule, imports: [MODULES, COMPONENT] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXTimeDurationModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1kdXJhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RpbWUtZHVyYXRpb24vc3JjL2xpYi90aW1lLWR1cmF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUVwRSxNQUFNLFNBQVMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFFNUMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBT25CLE1BQU0sT0FBTyxvQkFBb0I7OEdBQXBCLG9CQUFvQjsrR0FBcEIsb0JBQW9CLFlBVGQsdUJBQXVCLGFBQXZCLHVCQUF1QjsrR0FTN0Isb0JBQW9CLFlBSmxCLE9BQU8sRUFBSyxTQUFTOzsyRkFJdkIsb0JBQW9CO2tCQUxoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDdkIsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhUaW1lRHVyYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3RpbWUtZHVyYXRpb24uY29tcG9uZW50JztcblxuY29uc3QgQ09NUE9ORU5UID0gW0FYVGltZUR1cmF0aW9uQ29tcG9uZW50XTtcblxuY29uc3QgTU9EVUxFUyA9IFtdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbLi4uTU9EVUxFUywgLi4uQ09NUE9ORU5UXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYVGltZUR1cmF0aW9uTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtdGltZS1kdXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdGltZS1kdXJhdGlvbi9zcmMvYWNvcmV4LWNvbXBvbmVudHMtdGltZS1kdXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-time-duration.mjs","sources":["../tmp-esm2022/time-duration/lib/time-duration.component.js","../tmp-esm2022/time-duration/lib/time-duration.module.js","../tmp-esm2022/time-duration/acorex-components-time-duration.js"],"sourcesContent":["import { AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, } from '@acorex/cdk/common';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTimeDurationFormatter } from '@acorex/core/date-time';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { afterNextRender, ChangeDetectionStrategy, Component, effect, forwardRef, HostBinding, inject, input, signal, ViewEncapsulation, } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { IMask } from 'angular-imask';\nimport { classes } from 'polytype';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/text-box\";\nimport * as i2 from \"@angular/forms\";\nexport class AXTimeDurationComponent extends classes((MXInputBaseValueComponent), MXLookComponent) {\n constructor() {\n super(...arguments);\n this.valueStart = input('YEAR', ...(ngDevMode ? [{ debugName: \"valueStart\" }] : []));\n this.valueEnd = input('MILLISECOND', ...(ngDevMode ? [{ debugName: \"valueEnd\" }] : []));\n this.label = input(true, ...(ngDevMode ? [{ debugName: \"label\" }] : []));\n this.maskDigits = input('00:00:00:00:00:00:00:000', ...(ngDevMode ? [{ debugName: \"maskDigits\" }] : []));\n this.minValue = input(null, ...(ngDevMode ? [{ debugName: \"minValue\" }] : []));\n this.maxValue = input(null, ...(ngDevMode ? [{ debugName: \"maxValue\" }] : []));\n this.maskOptions = signal({\n mask: 'HH:MM:SS',\n blocks: {\n HH: { mask: IMask.MaskedRange, from: 0, to: 23 },\n MM: { mask: IMask.MaskedRange, from: 0, to: 59 },\n SS: { mask: IMask.MaskedRange, from: 0, to: 59 },\n },\n }, ...(ngDevMode ? [{ debugName: \"maskOptions\" }] : []));\n this.translationService = inject(AXTranslationService);\n this.timeDurationFormatter = inject(AXTimeDurationFormatter);\n this.onInputFire = false;\n this.onInternalValueChangedFire = false;\n this.YEAR = signal(null, ...(ngDevMode ? [{ debugName: \"YEAR\" }] : []));\n this.MONTH = signal(null, ...(ngDevMode ? [{ debugName: \"MONTH\" }] : []));\n this.WEEK = signal(null, ...(ngDevMode ? [{ debugName: \"WEEK\" }] : []));\n this.DAY = signal(null, ...(ngDevMode ? [{ debugName: \"DAY\" }] : []));\n this.HOUR = signal(null, ...(ngDevMode ? [{ debugName: \"HOUR\" }] : []));\n this.MINUTE = signal(null, ...(ngDevMode ? [{ debugName: \"MINUTE\" }] : []));\n this.SECOND = signal(null, ...(ngDevMode ? [{ debugName: \"SECOND\" }] : []));\n this.MILLISECOND = signal(null, ...(ngDevMode ? [{ debugName: \"MILLISECOND\" }] : []));\n this.isTranslationInit = signal(false, ...(ngDevMode ? [{ debugName: \"isTranslationInit\" }] : []));\n this.#init = afterNextRender(async () => {\n await this.initTranslation();\n });\n this.#effect = effect(() => {\n // Depend on label as well\n void this.label();\n if (this.valueStart() && this.valueEnd() && this.isTranslationInit()) {\n this.updateMask();\n }\n }, ...(ngDevMode ? [{ debugName: \"#effect\" }] : []));\n }\n #init;\n #effect;\n async initTranslation() {\n this.YEAR.set((await this.translationService.translateAsync('@acorex:dateTime.units.year')).toLocaleUpperCase());\n this.MONTH.set((await this.translationService.translateAsync('@acorex:dateTime.units.month')).toLocaleUpperCase());\n this.WEEK.set((await this.translationService.translateAsync('@acorex:dateTime.units.week')).toLocaleUpperCase());\n this.DAY.set((await this.translationService.translateAsync('@acorex:dateTime.units.day')).toLocaleUpperCase());\n this.HOUR.set((await this.translationService.translateAsync('@acorex:dateTime.units.hour')).toLocaleUpperCase());\n this.MINUTE.set((await this.translationService.translateAsync('@acorex:dateTime.units.minute')).toLocaleUpperCase());\n this.SECOND.set((await this.translationService.translateAsync('@acorex:dateTime.units.second')).toLocaleUpperCase());\n this.MILLISECOND.set((await this.translationService.translateAsync('@acorex:dateTime.units.millisecond')).toLocaleUpperCase());\n this.isTranslationInit.set(true);\n }\n onInput(event) {\n if (this.onInternalValueChangedFire)\n return;\n this.onInputFire = true;\n const milliseconds = this.maskToMilliseconds(event);\n // Apply min/max validation\n const minValue = this.minValue();\n const maxValue = this.maxValue();\n let validatedMilliseconds = milliseconds;\n if (minValue !== null && milliseconds < minValue) {\n validatedMilliseconds = minValue;\n }\n if (maxValue !== null && milliseconds > maxValue) {\n validatedMilliseconds = maxValue;\n }\n this.commitValue(validatedMilliseconds, true);\n this.onInputFire = false;\n }\n async internalValueChanged(value) {\n if (this.onInputFire)\n return;\n this.onInternalValueChangedFire = true;\n // Apply min/max validation for programmatically set values\n const minValue = this.minValue();\n const maxValue = this.maxValue();\n let validatedValue = value;\n if (minValue !== null && value < minValue) {\n validatedValue = minValue;\n }\n if (maxValue !== null && value > maxValue) {\n validatedValue = maxValue;\n }\n const normalizedMask = await this.timeDurationFormatter.millisecondsToMask(validatedValue, this.valueStart(), this.valueEnd(), this.label(), this.maskDigits(), true);\n this.inputValue = normalizedMask;\n setTimeout(() => {\n this.onInternalValueChangedFire = false;\n });\n }\n replacePersianLabels(input) {\n const replacements = {\n [this.YEAR()]: 'YEAR',\n [this.MONTH()]: 'MONTH',\n [this.WEEK()]: 'WEEK',\n [this.DAY()]: 'DAY',\n [this.HOUR()]: 'HOUR',\n [this.MINUTE()]: 'MINUTE',\n [this.SECOND()]: 'SECOND',\n [this.MILLISECOND()]: 'MILLISECOND',\n };\n return Object.entries(replacements).reduce((str, [fa, en]) => {\n return str.replace(`(${fa})`, `(${en})`);\n }, input);\n }\n maskToMilliseconds(maskValue) {\n const timeUnits = {\n YEAR: 365 * 24 * 60 * 60 * 1000,\n MONTH: 30 * 24 * 60 * 60 * 1000,\n WEEK: 7 * 24 * 60 * 60 * 1000,\n DAY: 24 * 60 * 60 * 1000,\n HOUR: 60 * 60 * 1000,\n MINUTE: 60 * 1000,\n SECOND: 1000,\n MILLISECOND: 1,\n };\n let totalMs = 0;\n if (this.label()) {\n // Parse labeled format: \"00 (YEAR) : 00 (MONTH) : 00 (DAY)\"\n const transformedMaskValue = this.replacePersianLabels(maskValue);\n const regex = /(\\d+)\\s*\\((YEAR|MONTH|WEEK|DAY|HOUR|MINUTE|SECOND|MILLISECOND)\\)/g;\n let match;\n while ((match = regex.exec(transformedMaskValue)) !== null) {\n const value = parseInt(match[1], 10);\n const unit = match[2];\n if (timeUnits[unit] !== undefined) {\n totalMs += value * timeUnits[unit];\n }\n }\n }\n else {\n // Parse unlabeled format: \"00:00:00\" (colon-separated numbers)\n const allUnits = ['YEAR', 'MONTH', 'WEEK', 'DAY', 'HOUR', 'MINUTE', 'SECOND', 'MILLISECOND'];\n const startIndex = allUnits.indexOf(this.valueStart());\n const endIndex = allUnits.indexOf(this.valueEnd());\n if (startIndex !== -1 && endIndex !== -1 && endIndex >= startIndex) {\n const selectedUnits = allUnits.slice(startIndex, endIndex + 1);\n const numbers = maskValue.split(':').map((num) => parseInt(num.trim(), 10));\n for (let i = 0; i < Math.min(numbers.length, selectedUnits.length); i++) {\n const value = numbers[i];\n const unit = selectedUnits[i];\n if (!isNaN(value) && timeUnits[unit] !== undefined) {\n totalMs += value * timeUnits[unit];\n }\n }\n }\n }\n return totalMs;\n }\n updateMask() {\n const allUnits = ['YEAR', 'MONTH', 'WEEK', 'DAY', 'HOUR', 'MINUTE', 'SECOND', 'MILLISECOND'];\n const startIndex = allUnits.indexOf(this.valueStart());\n const endIndex = allUnits.indexOf(this.valueEnd());\n if (startIndex === -1 || endIndex === -1 || endIndex < startIndex) {\n this.maskOptions.set({ mask: '', eager: true });\n return null;\n }\n const selectedUnits = allUnits.slice(startIndex, endIndex + 1);\n let maskParts;\n const yearDigits = this.maskDigits().split(':')[0];\n const monthDigits = this.maskDigits().split(':')[1];\n const weekDigits = this.maskDigits().split(':')[2];\n const dayDigits = this.maskDigits().split(':')[3];\n const hourDigits = this.maskDigits().split(':')[4];\n const minuteDigits = this.maskDigits().split(':')[5];\n const secondDigits = this.maskDigits().split(':')[6];\n const millisecondDigits = this.maskDigits().split(':')[7];\n if (this.label()) {\n // With labels\n const unitPatterns = {\n YEAR: `${yearDigits} (${this.YEAR()})`,\n MONTH: `${monthDigits} (${this.MONTH()})`,\n WEEK: `${weekDigits} (${this.WEEK()})`,\n DAY: `${dayDigits} (${this.DAY()})`,\n HOUR: `${hourDigits} (${this.HOUR()})`,\n MINUTE: `${minuteDigits} (${this.MINUTE()})`,\n SECOND: `${secondDigits} (${this.SECOND()})`,\n MILLISECOND: `${millisecondDigits} (${this.MILLISECOND()})`,\n };\n maskParts = selectedUnits.map((unit) => {\n return unitPatterns[unit];\n });\n }\n else {\n // Without labels - just numbers\n const unitPatterns = {\n YEAR: yearDigits,\n MONTH: monthDigits,\n WEEK: weekDigits,\n DAY: dayDigits,\n HOUR: hourDigits,\n MINUTE: minuteDigits,\n SECOND: secondDigits,\n MILLISECOND: millisecondDigits,\n };\n maskParts = selectedUnits.map((unit) => {\n return unitPatterns[unit];\n });\n }\n let result;\n if (this.label()) {\n if (this.translationService.getActiveLang() === 'fa-IR') {\n result = maskParts.reverse().join(' : ');\n }\n else {\n result = maskParts.join(' : ');\n }\n }\n else {\n result = maskParts.join(':');\n }\n this.maskOptions.set({ mask: result, eager: true });\n }\n focusHandler(e) {\n this.onFocus.emit(e);\n }\n blurHandler(e) {\n this.onBlur.emit(e);\n }\n get __hostName() {\n return this.name;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXTimeDurationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.4\", type: AXTimeDurationComponent, isStandalone: true, selector: \"ax-time-duration\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: \"tabIndex\", publicName: \"tabIndex\", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: \"readonly\", publicName: \"readonly\", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: \"look\", publicName: \"look\", isSignal: false, isRequired: false, transformFunction: null }, valueStart: { classPropertyName: \"valueStart\", publicName: \"valueStart\", isSignal: true, isRequired: false, transformFunction: null }, valueEnd: { classPropertyName: \"valueEnd\", publicName: \"valueEnd\", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: \"label\", publicName: \"label\", isSignal: true, isRequired: false, transformFunction: null }, maskDigits: { classPropertyName: \"maskDigits\", publicName: \"maskDigits\", isSignal: true, isRequired: false, transformFunction: null }, minValue: { classPropertyName: \"minValue\", publicName: \"minValue\", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: \"maxValue\", publicName: \"maxValue\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onValueChanged: \"onValueChanged\" }, host: { properties: { \"attr.name\": \"this.__hostName\" } }, providers: [\n { provide: AXComponent, useExisting: AXTimeDurationComponent },\n { provide: AXFocusableComponent, useExisting: AXTimeDurationComponent },\n { provide: AXValuableComponent, useExisting: AXTimeDurationComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXTimeDurationComponent),\n multi: true,\n },\n ], usesInheritance: true, ngImport: i0, template: \"<ax-text-box\\n [look]=\\\"look\\\"\\n [placeholder]=\\\"maskOptions().mask\\\"\\n [mask-options]=\\\"maskOptions()\\\"\\n [(ngModel)]=\\\"inputValue\\\"\\n (ngModelChange)=\\\"onInput($event)\\\"\\n class=\\\"ax-time-duration-text\\\"\\n [disabled]=\\\"disabled\\\"\\n [tabIndex]=\\\"tabIndex\\\"\\n [readonly]=\\\"readonly\\\"\\n (onFocus)=\\\"focusHandler($event)\\\"\\n (onBlur)=\\\"blurHandler($event)\\\"\\n>\\n <ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n</ax-text-box>\\n\", dependencies: [{ kind: \"ngmodule\", type: AXTextBoxModule }, { kind: \"component\", type: i1.AXTextBoxComponent, selector: \"ax-text-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"value\", \"state\", \"name\", \"id\", \"placeholder\", \"maxLength\", \"allowNull\", \"type\", \"autoComplete\", \"look\", \"mask-options\", \"class\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"stateChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AXSelectBoxModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXTimeDurationComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-time-duration', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXTextBoxModule, FormsModule, AXSelectBoxModule], inputs: ['disabled', 'tabIndex', 'readonly', 'look'], outputs: ['onValueChanged'], providers: [\n { provide: AXComponent, useExisting: AXTimeDurationComponent },\n { provide: AXFocusableComponent, useExisting: AXTimeDurationComponent },\n { provide: AXValuableComponent, useExisting: AXTimeDurationComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXTimeDurationComponent),\n multi: true,\n },\n ], template: \"<ax-text-box\\n [look]=\\\"look\\\"\\n [placeholder]=\\\"maskOptions().mask\\\"\\n [mask-options]=\\\"maskOptions()\\\"\\n [(ngModel)]=\\\"inputValue\\\"\\n (ngModelChange)=\\\"onInput($event)\\\"\\n class=\\\"ax-time-duration-text\\\"\\n [disabled]=\\\"disabled\\\"\\n [tabIndex]=\\\"tabIndex\\\"\\n [readonly]=\\\"readonly\\\"\\n (onFocus)=\\\"focusHandler($event)\\\"\\n (onBlur)=\\\"blurHandler($event)\\\"\\n>\\n <ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n</ax-text-box>\\n\" }]\n }], propDecorators: { __hostName: [{\n type: HostBinding,\n args: ['attr.name']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1kdXJhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RpbWUtZHVyYXRpb24vc3JjL2xpYi90aW1lLWR1cmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdGltZS1kdXJhdGlvbi9zcmMvbGliL3RpbWUtZHVyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxvQkFBb0IsRUFFcEIsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixlQUFlLEdBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFpQixlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7QUFzQm5DLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxPQUFPLENBQUMsQ0FBQSx5QkFBaUMsQ0FBQSxFQUFFLGVBQWUsQ0FBQztJ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QkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxVQUNsRCxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxXQUMzQyxDQUFDLGdCQUFnQixDQUFDLGFBQ2hCO3dCQUNULEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLHlCQUF5QixFQUFFO3dCQUM5RCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLHlCQUF5QixFQUFFO3dCQUN2RSxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLHlCQUF5QixFQUFFO3dCQUN0RTs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBNlFXLFVBQVU7c0JBRHJCLFdBQVc7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYQ29tcG9uZW50LFxuICBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgQVhGb2N1c0V2ZW50LFxuICBBWFZhbHVhYmxlQ29tcG9uZW50LFxuICBNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50LFxuICBNWExvb2tDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWFNlbGVjdEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWxlY3QtYm94JztcbmltcG9ydCB7IEFYTWFza09wdGlvbnMsIEFYVGV4dEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0LWJveCc7XG5pbXBvcnQgeyBBWFRpbWVEdXJhdGlvbkZvcm1hdHRlciB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlLXRpbWUnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBlZmZlY3QsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElNYXNrIH0gZnJvbSAnYW5ndWxhci1pbWFzayc7XG5pbXBvcnQgeyBjbGFzc2VzIH0gZnJvbSAncG9seXR5cGUnO1xuaW1wb3J0IHsgQVhUaW1lRHVyYXRpb25Vbml0IH0gZnJvbSAnLi90aW1lLWR1cmF0aW9uLnR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC10aW1lLWR1cmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbWUtZHVyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW0FYVGV4dEJveE1vZHVsZSwgRm9ybXNNb2R1bGUsIEFYU2VsZWN0Qm94TW9kdWxlXSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3RhYkluZGV4JywgJ3JlYWRvbmx5JywgJ2xvb2snXSxcbiAgb3V0cHV0czogWydvblZhbHVlQ2hhbmdlZCddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhUaW1lRHVyYXRpb25Db21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYRm9jdXNhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhUaW1lRHVyYXRpb25Db21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYVmFsdWFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFRpbWVEdXJhdGlvbkNvbXBvbmVudCB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQVhUaW1lRHVyYXRpb25Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhUaW1lRHVyYXRpb25Db21wb25lbnQgZXh0ZW5kcyBjbGFzc2VzKE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQ8bnVtYmVyPiwgTVhMb29rQ29tcG9uZW50KSB7XG4gIHByb3RlY3RlZCBpbnB1dFZhbHVlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZhbHVlU3RhcnQgPSBpbnB1dDxBWFRpbWVEdXJhdGlvblVuaXQ+KCdZRUFSJyk7XG4gIHJlYWRvbmx5IHZhbHVlRW5kID0gaW5wdXQ8QVhUaW1lRHVyYXRpb25Vbml0PignTUlMTElTRUNPTkQnKTtcbiAgcmVhZG9ubHkgbGFiZWwgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbiAgcmVhZG9ubHkgbWFza0RpZ2l0cyA9IGlucHV0KCcwMDowMDowMDowMDowMDowMDowMDowMDAnKTtcbiAgcmVhZG9ubHkgbWluVmFsdWUgPSBpbnB1dDxudW1iZXI+KG51bGwpO1xuICByZWFkb25seSBtYXhWYWx1ZSA9IGlucHV0PG51bWJlcj4obnVsbCk7XG5cbiAgcHJvdGVjdGVkIG1hc2tPcHRpb25zID0gc2lnbmFsPEFYTWFza09wdGlvbnM+KHtcbiAgICBtYXNrOiAnSEg6TU06U1MnLFxuICAgIGJsb2Nrczoge1xuICAgICAgSEg6IHsgbWFzazogSU1hc2suTWFza2VkUmFuZ2UsIGZyb206IDAsIHRvOiAyMyB9LFxuICAgICAgTU06IHsgbWFzazogSU1hc2suTWFza2VkUmFuZ2UsIGZyb206IDAsIHRvOiA1OSB9LFxuICAgICAgU1M6IHsgbWFzazogSU1hc2suTWFza2VkUmFuZ2UsIGZyb206IDAsIHRvOiA1OSB9LFxuICAgIH0sXG4gIH0pO1xuXG4gIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlOiBBWFRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgdGltZUR1cmF0aW9uRm9ybWF0dGVyOiBBWFRpbWVEdXJhdGlvbkZvcm1hdHRlciA9IGluamVjdChBWFRpbWVEdXJhdGlvbkZvcm1hdHRlcik7XG5cbiAgcHJpdmF0ZSBvbklucHV0RmlyZSA9IGZhbHNlO1xuICBwcml2YXRlIG9uSW50ZXJuYWxWYWx1ZUNoYW5nZWRGaXJlID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBZRUFSID0gc2lnbmFsKG51bGwpO1xuICBwcml2YXRlIE1PTlRIID0gc2lnbmFsKG51bGwpO1xuICBwcml2YXRlIFdFRUsgPSBzaWduYWwobnVsbCk7XG4gIHByaXZhdGUgREFZID0gc2lnbmFsKG51bGwpO1xuICBwcml2YXRlIEhPVVIgPSBzaWduYWwobnVsbCk7XG4gIHByaXZhdGUgTUlOVVRFID0gc2lnbmFsKG51bGwpO1xuICBwcml2YXRlIFNFQ09ORCA9IHNpZ25hbChudWxsKTtcbiAgcHJpdmF0ZSBNSUxMSVNFQ09ORCA9IHNpZ25hbChudWxsKTtcbiAgcHJpdmF0ZSBpc1RyYW5zbGF0aW9uSW5pdCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgI2luaXQgPSBhZnRlck5leHRSZW5kZXIoYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHRoaXMuaW5pdFRyYW5zbGF0aW9uKCk7XG4gIH0pO1xuXG4gICNlZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIC8vIERlcGVuZCBvbiBsYWJlbCBhcyB3ZWxsXG4gICAgdm9pZCB0aGlzLmxhYmVsKCk7XG4gICAgaWYgKHRoaXMudmFsdWVTdGFydCgpICYmIHRoaXMudmFsdWVFbmQoKSAmJiB0aGlzLmlzVHJhbnNsYXRpb25Jbml0KCkpIHtcbiAgICAgIHRoaXMudXBkYXRlTWFzaygpO1xuICAgIH1cbiAgfSk7XG5cbiAgYXN5bmMgaW5pdFRyYW5zbGF0aW9uKCkge1xuICAgIHRoaXMuWUVBUi5zZXQoKGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAYWNvcmV4OmRhdGVUaW1lLnVuaXRzLnllYXInKSkudG9Mb2NhbGVVcHBlckNhc2UoKSk7XG4gICAgdGhpcy5NT05USC5zZXQoKGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAYWNvcmV4OmRhdGVUaW1lLnVuaXRzLm1vbnRoJykpLnRvTG9jYWxlVXBwZXJDYXNlKCkpO1xuICAgIHRoaXMuV0VFSy5zZXQoKGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAYWNvcmV4OmRhdGVUaW1lLnVuaXRzLndlZWsnKSkudG9Mb2NhbGVVcHBlckNhc2UoKSk7XG4gICAgdGhpcy5EQVkuc2V0KChhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGFjb3JleDpkYXRlVGltZS51bml0cy5kYXknKSkudG9Mb2NhbGVVcHBlckNhc2UoKSk7XG4gICAgdGhpcy5IT1VSLnNldCgoYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BhY29yZXg6ZGF0ZVRpbWUudW5pdHMuaG91cicpKS50b0xvY2FsZVVwcGVyQ2FzZSgpKTtcbiAgICB0aGlzLk1JTlVURS5zZXQoXG4gICAgICAoYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BhY29yZXg6ZGF0ZVRpbWUudW5pdHMubWludXRlJykpLnRvTG9jYWxlVXBwZXJDYXNlKCksXG4gICAgKTtcbiAgICB0aGlzLlNFQ09ORC5zZXQoXG4gICAgICAoYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BhY29yZXg6ZGF0ZVRpbWUudW5pdHMuc2Vjb25kJykpLnRvTG9jYWxlVXBwZXJDYXNlKCksXG4gICAgKTtcbiAgICB0aGlzLk1JTExJU0VDT05ELnNldChcbiAgICAgIChhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGFjb3JleDpkYXRlVGltZS51bml0cy5taWxsaXNlY29uZCcpKS50b0xvY2FsZVVwcGVyQ2FzZSgpLFxuICAgICk7XG4gICAgdGhpcy5pc1RyYW5zbGF0aW9uSW5pdC5zZXQodHJ1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25JbnB1dChldmVudDogYW55KSB7XG4gICAgaWYgKHRoaXMub25JbnRlcm5hbFZhbHVlQ2hhbmdlZEZpcmUpIHJldHVybjtcbiAgICB0aGlzLm9uSW5wdXRGaXJlID0gdHJ1ZTtcbiAgICBjb25zdCBtaWxsaXNlY29uZHMgPSB0aGlzLm1hc2tUb01pbGxpc2Vjb25kcyhldmVudCk7XG5cbiAgICAvLyBBcHBseSBtaW4vbWF4IHZhbGlkYXRpb25cbiAgICBjb25zdCBtaW5WYWx1ZSA9IHRoaXMubWluVmFsdWUoKTtcbiAgICBjb25zdCBtYXhWYWx1ZSA9IHRoaXMubWF4VmFsdWUoKTtcbiAgICBsZXQgdmFsaWRhdGVkTWlsbGlzZWNvbmRzID0gbWlsbGlzZWNvbmRzO1xuXG4gICAgaWYgKG1pblZhbHVlICE9PSBudWxsICYmIG1pbGxpc2Vjb25kcyA8IG1pblZhbHVlKSB7XG4gICAgICB2YWxpZGF0ZWRNaWxsaXNlY29uZHMgPSBtaW5WYWx1ZTtcbiAgICB9XG5cbiAgICBpZiAobWF4VmFsdWUgIT09IG51bGwgJiYgbWlsbGlzZWNvbmRzID4gbWF4VmFsdWUpIHtcbiAgICAgIHZhbGlkYXRlZE1pbGxpc2Vjb25kcyA9IG1heFZhbHVlO1xuICAgIH1cblxuICAgIHRoaXMuY29tbWl0VmFsdWUodmFsaWRhdGVkTWlsbGlzZWNvbmRzLCB0cnVlKTtcbiAgICB0aGlzLm9uSW5wdXRGaXJlID0gZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgaW50ZXJuYWxWYWx1ZUNoYW5nZWQodmFsdWU6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLm9uSW5wdXRGaXJlKSByZXR1cm47XG4gICAgdGhpcy5vbkludGVybmFsVmFsdWVDaGFuZ2VkRmlyZSA9IHRydWU7XG5cbiAgICAvLyBBcHBseSBtaW4vbWF4IHZhbGlkYXRpb24gZm9yIHByb2dyYW1tYXRpY2FsbHkgc2V0IHZhbHVlc1xuICAgIGNvbnN0IG1pblZhbHVlID0gdGhpcy5taW5WYWx1ZSgpO1xuICAgIGNvbnN0IG1heFZhbHVlID0gdGhpcy5tYXhWYWx1ZSgpO1xuICAgIGxldCB2YWxpZGF0ZWRWYWx1ZSA9IHZhbHVlO1xuXG4gICAgaWYgKG1pblZhbHVlICE9PSBudWxsICYmIHZhbHVlIDwgbWluVmFsdWUpIHtcbiAgICAgIHZhbGlkYXRlZFZhbHVlID0gbWluVmFsdWU7XG4gICAgfVxuXG4gICAgaWYgKG1heFZhbHVlICE9PSBudWxsICYmIHZhbHVlID4gbWF4VmFsdWUpIHtcbiAgICAgIHZhbGlkYXRlZFZhbHVlID0gbWF4VmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZE1hc2sgPSBhd2FpdCB0aGlzLnRpbWVEdXJhdGlvbkZvcm1hdHRlci5taWxsaXNlY29uZHNUb01hc2soXG4gICAgICB2YWxpZGF0ZWRWYWx1ZSxcbiAgICAgIHRoaXMudmFsdWVTdGFydCgpLFxuICAgICAgdGhpcy52YWx1ZUVuZCgpLFxuICAgICAgdGhpcy5sYWJlbCgpLFxuICAgICAgdGhpcy5tYXNrRGlnaXRzKCksXG4gICAgICB0cnVlLFxuICAgICk7XG5cbiAgICB0aGlzLmlucHV0VmFsdWUgPSBub3JtYWxpemVkTWFzaztcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5vbkludGVybmFsVmFsdWVDaGFuZ2VkRmlyZSA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXBsYWNlUGVyc2lhbkxhYmVscyhpbnB1dDogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVwbGFjZW1lbnRzID0ge1xuICAgICAgW3RoaXMuWUVBUigpXTogJ1lFQVInLFxuICAgICAgW3RoaXMuTU9OVEgoKV06ICdNT05USCcsXG4gICAgICBbdGhpcy5XRUVLKCldOiAnV0VFSycsXG4gICAgICBbdGhpcy5EQVkoKV06ICdEQVknLFxuICAgICAgW3RoaXMuSE9VUigpXTogJ0hPVVInLFxuICAgICAgW3RoaXMuTUlOVVRFKCldOiAnTUlOVVRFJyxcbiAgICAgIFt0aGlzLlNFQ09ORCgpXTogJ1NFQ09ORCcsXG4gICAgICBbdGhpcy5NSUxMSVNFQ09ORCgpXTogJ01JTExJU0VDT05EJyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlcGxhY2VtZW50cykucmVkdWNlKChzdHIsIFtmYSwgZW5dKSA9PiB7XG4gICAgICByZXR1cm4gc3RyLnJlcGxhY2UoYCgke2ZhfSlgLCBgKCR7ZW59KWApO1xuICAgIH0sIGlucHV0KTtcbiAgfVxuXG4gIHByaXZhdGUgbWFza1RvTWlsbGlzZWNvbmRzKG1hc2tWYWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCB0aW1lVW5pdHMgPSB7XG4gICAgICBZRUFSOiAzNjUgKiAyNCAqIDYwICogNjAgKiAxMDAwLFxuICAgICAgTU9OVEg6IDMwICogMjQgKiA2MCAqIDYwICogMTAwMCxcbiAgICAgIFdFRUs6IDcgKiAyNCAqIDYwICogNjAgKiAxMDAwLFxuICAgICAgREFZOiAyNCAqIDYwICogNjAgKiAxMDAwLFxuICAgICAgSE9VUjogNjAgKiA2MCAqIDEwMDAsXG4gICAgICBNSU5VVEU6IDYwICogMTAwMCxcbiAgICAgIFNFQ09ORDogMTAwMCxcbiAgICAgIE1JTExJU0VDT05EOiAxLFxuICAgIH07XG5cbiAgICBsZXQgdG90YWxNcyA9IDA7XG5cbiAgICBpZiAodGhpcy5sYWJlbCgpKSB7XG4gICAgICAvLyBQYXJzZSBsYWJlbGVkIGZvcm1hdDogXCIwMCAoWUVBUikgOiAwMCAoTU9OVEgpIDogMDAgKERBWSlcIlxuICAgICAgY29uc3QgdHJhbnNmb3JtZWRNYXNrVmFsdWUgPSB0aGlzLnJlcGxhY2VQZXJzaWFuTGFiZWxzKG1hc2tWYWx1ZSk7XG4gICAgICBjb25zdCByZWdleCA9IC8oXFxkKylcXHMqXFwoKFlFQVJ8TU9OVEh8V0VFS3xEQVl8SE9VUnxNSU5VVEV8U0VDT05EfE1JTExJU0VDT05EKVxcKS9nO1xuICAgICAgbGV0IG1hdGNoO1xuXG4gICAgICB3aGlsZSAoKG1hdGNoID0gcmVnZXguZXhlYyh0cmFuc2Zvcm1lZE1hc2tWYWx1ZSkpICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gcGFyc2VJbnQobWF0Y2hbMV0sIDEwKTtcbiAgICAgICAgY29uc3QgdW5pdCA9IG1hdGNoWzJdO1xuICAgICAgICBpZiAodGltZVVuaXRzW3VuaXRdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0b3RhbE1zICs9IHZhbHVlICogdGltZVVuaXRzW3VuaXRdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFBhcnNlIHVubGFiZWxlZCBmb3JtYXQ6IFwiMDA6MDA6MDBcIiAoY29sb24tc2VwYXJhdGVkIG51bWJlcnMpXG4gICAgICBjb25zdCBhbGxVbml0cyA9IFsnWUVBUicsICdNT05USCcsICdXRUVLJywgJ0RBWScsICdIT1VSJywgJ01JTlVURScsICdTRUNPTkQnLCAnTUlMTElTRUNPTkQnXTtcbiAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBhbGxVbml0cy5pbmRleE9mKHRoaXMudmFsdWVTdGFydCgpKTtcbiAgICAgIGNvbnN0IGVuZEluZGV4ID0gYWxsVW5pdHMuaW5kZXhPZih0aGlzLnZhbHVlRW5kKCkpO1xuXG4gICAgICBpZiAoc3RhcnRJbmRleCAhPT0gLTEgJiYgZW5kSW5kZXggIT09IC0xICYmIGVuZEluZGV4ID49IHN0YXJ0SW5kZXgpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRVbml0cyA9IGFsbFVuaXRzLnNsaWNlKHN0YXJ0SW5kZXgsIGVuZEluZGV4ICsgMSk7XG4gICAgICAgIGNvbnN0IG51bWJlcnMgPSBtYXNrVmFsdWUuc3BsaXQoJzonKS5tYXAoKG51bSkgPT4gcGFyc2VJbnQobnVtLnRyaW0oKSwgMTApKTtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE1hdGgubWluKG51bWJlcnMubGVuZ3RoLCBzZWxlY3RlZFVuaXRzLmxlbmd0aCk7IGkrKykge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gbnVtYmVyc1tpXTtcbiAgICAgICAgICBjb25zdCB1bml0ID0gc2VsZWN0ZWRVbml0c1tpXTtcbiAgICAgICAgICBpZiAoIWlzTmFOKHZhbHVlKSAmJiB0aW1lVW5pdHNbdW5pdF0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdG90YWxNcyArPSB2YWx1ZSAqIHRpbWVVbml0c1t1bml0XTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdG90YWxNcztcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTWFzaygpIHtcbiAgICBjb25zdCBhbGxVbml0cyA9IFsnWUVBUicsICdNT05USCcsICdXRUVLJywgJ0RBWScsICdIT1VSJywgJ01JTlVURScsICdTRUNPTkQnLCAnTUlMTElTRUNPTkQnXTtcbiAgICBjb25zdCBzdGFydEluZGV4ID0gYWxsVW5pdHMuaW5kZXhPZih0aGlzLnZhbHVlU3RhcnQoKSk7XG4gICAgY29uc3QgZW5kSW5kZXggPSBhbGxVbml0cy5pbmRleE9mKHRoaXMudmFsdWVFbmQoKSk7XG5cbiAgICBpZiAoc3RhcnRJbmRleCA9PT0gLTEgfHwgZW5kSW5kZXggPT09IC0xIHx8IGVuZEluZGV4IDwgc3RhcnRJbmRleCkge1xuICAgICAgdGhpcy5tYXNrT3B0aW9ucy5zZXQoeyBtYXNrOiAnJywgZWFnZXI6IHRydWUgfSk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3RlZFVuaXRzID0gYWxsVW5pdHMuc2xpY2Uoc3RhcnRJbmRleCwgZW5kSW5kZXggKyAxKTtcblxuICAgIGxldCBtYXNrUGFydHM6IHN0cmluZ1tdO1xuXG4gICAgY29uc3QgeWVhckRpZ2l0cyA9IHRoaXMubWFza0RpZ2l0cygpLnNwbGl0KCc6JylbMF07XG4gICAgY29uc3QgbW9udGhEaWdpdHMgPSB0aGlzLm1hc2tEaWdpdHMoKS5zcGxpdCgnOicpWzFdO1xuICAgIGNvbnN0IHdlZWtEaWdpdHMgPSB0aGlzLm1hc2tEaWdpdHMoKS5zcGxpdCgnOicpWzJdO1xuICAgIGNvbnN0IGRheURpZ2l0cyA9IHRoaXMubWFza0RpZ2l0cygpLnNwbGl0KCc6JylbM107XG4gICAgY29uc3QgaG91ckRpZ2l0cyA9IHRoaXMubWFza0RpZ2l0cygpLnNwbGl0KCc6JylbNF07XG4gICAgY29uc3QgbWludXRlRGlnaXRzID0gdGhpcy5tYXNrRGlnaXRzKCkuc3BsaXQoJzonKVs1XTtcbiAgICBjb25zdCBzZWNvbmREaWdpdHMgPSB0aGlzLm1hc2tEaWdpdHMoKS5zcGxpdCgnOicpWzZdO1xuICAgIGNvbnN0IG1pbGxpc2Vjb25kRGlnaXRzID0gdGhpcy5tYXNrRGlnaXRzKCkuc3BsaXQoJzonKVs3XTtcblxuICAgIGlmICh0aGlzLmxhYmVsKCkpIHtcbiAgICAgIC8vIFdpdGggbGFiZWxzXG4gICAgICBjb25zdCB1bml0UGF0dGVybnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICAgIFlFQVI6IGAke3llYXJEaWdpdHN9ICgke3RoaXMuWUVBUigpfSlgLFxuICAgICAgICBNT05USDogYCR7bW9udGhEaWdpdHN9ICgke3RoaXMuTU9OVEgoKX0pYCxcbiAgICAgICAgV0VFSzogYCR7d2Vla0RpZ2l0c30gKCR7dGhpcy5XRUVLKCl9KWAsXG4gICAgICAgIERBWTogYCR7ZGF5RGlnaXRzfSAoJHt0aGlzLkRBWSgpfSlgLFxuICAgICAgICBIT1VSOiBgJHtob3VyRGlnaXRzfSAoJHt0aGlzLkhPVVIoKX0pYCxcbiAgICAgICAgTUlOVVRFOiBgJHttaW51dGVEaWdpdHN9ICgke3RoaXMuTUlOVVRFKCl9KWAsXG4gICAgICAgIFNFQ09ORDogYCR7c2Vjb25kRGlnaXRzfSAoJHt0aGlzLlNFQ09ORCgpfSlgLFxuICAgICAgICBNSUxMSVNFQ09ORDogYCR7bWlsbGlzZWNvbmREaWdpdHN9ICgke3RoaXMuTUlMTElTRUNPTkQoKX0pYCxcbiAgICAgIH07XG5cbiAgICAgIG1hc2tQYXJ0cyA9IHNlbGVjdGVkVW5pdHMubWFwKCh1bml0KSA9PiB7XG4gICAgICAgIHJldHVybiB1bml0UGF0dGVybnNbdW5pdF07XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gV2l0aG91dCBsYWJlbHMgLSBqdXN0IG51bWJlcnNcbiAgICAgIGNvbnN0IHVuaXRQYXR0ZXJuczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgICAgWUVBUjogeWVhckRpZ2l0cyxcbiAgICAgICAgTU9OVEg6IG1vbnRoRGlnaXRzLFxuICAgICAgICBXRUVLOiB3ZWVrRGlnaXRzLFxuICAgICAgICBEQVk6IGRheURpZ2l0cyxcbiAgICAgICAgSE9VUjogaG91ckRpZ2l0cyxcbiAgICAgICAgTUlOVVRFOiBtaW51dGVEaWdpdHMsXG4gICAgICAgIFNFQ09ORDogc2Vjb25kRGlnaXRzLFxuICAgICAgICBNSUxMSVNFQ09ORDogbWlsbGlzZWNvbmREaWdpdHMsXG4gICAgICB9O1xuXG4gICAgICBtYXNrUGFydHMgPSBzZWxlY3RlZFVuaXRzLm1hcCgodW5pdCkgPT4ge1xuICAgICAgICByZXR1cm4gdW5pdFBhdHRlcm5zW3VuaXRdO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgbGV0IHJlc3VsdDogc3RyaW5nO1xuXG4gICAgaWYgKHRoaXMubGFiZWwoKSkge1xuICAgICAgaWYgKHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmdldEFjdGl2ZUxhbmcoKSA9PT0gJ2ZhLUlSJykge1xuICAgICAgICByZXN1bHQgPSBtYXNrUGFydHMucmV2ZXJzZSgpLmpvaW4oJyA6ICcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ID0gbWFza1BhcnRzLmpvaW4oJyA6ICcpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBtYXNrUGFydHMuam9pbignOicpO1xuICAgIH1cblxuICAgIHRoaXMubWFza09wdGlvbnMuc2V0KHsgbWFzazogcmVzdWx0LCBlYWdlcjogdHJ1ZSB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmb2N1c0hhbmRsZXIoZTogQVhGb2N1c0V2ZW50KSB7XG4gICAgdGhpcy5vbkZvY3VzLmVtaXQoZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYmx1ckhhbmRsZXIoZTogQVhGb2N1c0V2ZW50KSB7XG4gICAgdGhpcy5vbkJsdXIuZW1pdChlKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5uYW1lJylcbiAgcHJpdmF0ZSBnZXQgX19ob3N0TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cbn1cbiIsIjxheC10ZXh0LWJveFxuICBbbG9va109XCJsb29rXCJcbiAgW3BsYWNlaG9sZGVyXT1cIm1hc2tPcHRpb25zKCkubWFza1wiXG4gIFttYXNrLW9wdGlvbnNdPVwibWFza09wdGlvbnMoKVwiXG4gIFsobmdNb2RlbCldPVwiaW5wdXRWYWx1ZVwiXG4gIChuZ01vZGVsQ2hhbmdlKT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gIGNsYXNzPVwiYXgtdGltZS1kdXJhdGlvbi10ZXh0XCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW3RhYkluZGV4XT1cInRhYkluZGV4XCJcbiAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgKG9uRm9jdXMpPVwiZm9jdXNIYW5kbGVyKCRldmVudClcIlxuICAob25CbHVyKT1cImJsdXJIYW5kbGVyKCRldmVudClcIlxuPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj4gPC9uZy1jb250ZW50PlxuPC9heC10ZXh0LWJveD5cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { AXTimeDurationComponent } from './time-duration.component';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXTimeDurationComponent];\nconst MODULES = [];\nexport class AXTimeDurationModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXTimeDurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: AXTimeDurationModule, imports: [AXTimeDurationComponent], exports: [AXTimeDurationComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXTimeDurationModule, imports: [MODULES, COMPONENT] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXTimeDurationModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1kdXJhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RpbWUtZHVyYXRpb24vc3JjL2xpYi90aW1lLWR1cmF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUVwRSxNQUFNLFNBQVMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFFNUMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBT25CLE1BQU0sT0FBTyxvQkFBb0I7OEdBQXBCLG9CQUFvQjsrR0FBcEIsb0JBQW9CLFlBVGQsdUJBQXVCLGFBQXZCLHVCQUF1QjsrR0FTN0Isb0JBQW9CLFlBSmxCLE9BQU8sRUFBSyxTQUFTOzsyRkFJdkIsb0JBQW9CO2tCQUxoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDdkIsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhUaW1lRHVyYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3RpbWUtZHVyYXRpb24uY29tcG9uZW50JztcblxuY29uc3QgQ09NUE9ORU5UID0gW0FYVGltZUR1cmF0aW9uQ29tcG9uZW50XTtcblxuY29uc3QgTU9EVUxFUyA9IFtdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbLi4uTU9EVUxFUywgLi4uQ09NUE9ORU5UXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYVGltZUR1cmF0aW9uTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtdGltZS1kdXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdGltZS1kdXJhdGlvbi9zcmMvYWNvcmV4LWNvbXBvbmVudHMtdGltZS1kdXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "20.2.11",
3
+ "version": "20.2.12",
4
4
  "peerDependencies": {
5
- "@acorex/core": "20.2.11",
6
- "@acorex/cdk": "20.2.11",
5
+ "@acorex/core": "20.2.12",
6
+ "@acorex/cdk": "20.2.12",
7
7
  "@angular/common": "^20.0.0",
8
8
  "@angular/core": "^20.0.0",
9
9
  "@angular/cdk": "^20.0.0",
@@ -119,10 +119,6 @@
119
119
  "types": "./circular-progress/index.d.ts",
120
120
  "default": "./fesm2022/acorex-components-circular-progress.mjs"
121
121
  },
122
- "./code-editor": {
123
- "types": "./code-editor/index.d.ts",
124
- "default": "./fesm2022/acorex-components-code-editor.mjs"
125
- },
126
122
  "./collapse": {
127
123
  "types": "./collapse/index.d.ts",
128
124
  "default": "./fesm2022/acorex-components-collapse.mjs"
@@ -291,6 +287,10 @@
291
287
  "types": "./page/index.d.ts",
292
288
  "default": "./fesm2022/acorex-components-page.mjs"
293
289
  },
290
+ "./code-editor": {
291
+ "types": "./code-editor/index.d.ts",
292
+ "default": "./fesm2022/acorex-components-code-editor.mjs"
293
+ },
294
294
  "./paint": {
295
295
  "types": "./paint/index.d.ts",
296
296
  "default": "./fesm2022/acorex-components-paint.mjs"
@@ -323,6 +323,10 @@
323
323
  "types": "./progress-bar/index.d.ts",
324
324
  "default": "./fesm2022/acorex-components-progress-bar.mjs"
325
325
  },
326
+ "./qrcode": {
327
+ "types": "./qrcode/index.d.ts",
328
+ "default": "./fesm2022/acorex-components-qrcode.mjs"
329
+ },
326
330
  "./query-builder": {
327
331
  "types": "./query-builder/index.d.ts",
328
332
  "default": "./fesm2022/acorex-components-query-builder.mjs"
@@ -331,10 +335,6 @@
331
335
  "types": "./radio/index.d.ts",
332
336
  "default": "./fesm2022/acorex-components-radio.mjs"
333
337
  },
334
- "./qrcode": {
335
- "types": "./qrcode/index.d.ts",
336
- "default": "./fesm2022/acorex-components-qrcode.mjs"
337
- },
338
338
  "./rail-navigation": {
339
339
  "types": "./rail-navigation/index.d.ts",
340
340
  "default": "./fesm2022/acorex-components-rail-navigation.mjs"
@@ -351,14 +351,14 @@
351
351
  "types": "./rest-api-generator/index.d.ts",
352
352
  "default": "./fesm2022/acorex-components-rest-api-generator.mjs"
353
353
  },
354
- "./result": {
355
- "types": "./result/index.d.ts",
356
- "default": "./fesm2022/acorex-components-result.mjs"
357
- },
358
354
  "./routing-progress": {
359
355
  "types": "./routing-progress/index.d.ts",
360
356
  "default": "./fesm2022/acorex-components-routing-progress.mjs"
361
357
  },
358
+ "./result": {
359
+ "types": "./result/index.d.ts",
360
+ "default": "./fesm2022/acorex-components-result.mjs"
361
+ },
362
362
  "./rrule": {
363
363
  "types": "./rrule/index.d.ts",
364
364
  "default": "./fesm2022/acorex-components-rrule.mjs"
@@ -16,6 +16,8 @@ declare class AXTimeDurationComponent extends AXTimeDurationComponent_base {
16
16
  readonly valueEnd: _angular_core.InputSignal<AXTimeDurationUnit>;
17
17
  readonly label: _angular_core.InputSignal<boolean>;
18
18
  readonly maskDigits: _angular_core.InputSignal<string>;
19
+ readonly minValue: _angular_core.InputSignal<number>;
20
+ readonly maxValue: _angular_core.InputSignal<number>;
19
21
  protected maskOptions: _angular_core.WritableSignal<any>;
20
22
  private translationService;
21
23
  private timeDurationFormatter;
@@ -40,7 +42,7 @@ declare class AXTimeDurationComponent extends AXTimeDurationComponent_base {
40
42
  protected blurHandler(e: AXFocusEvent): void;
41
43
  private get __hostName();
42
44
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXTimeDurationComponent, never>;
43
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXTimeDurationComponent, "ax-time-duration", never, { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "look": { "alias": "look"; "required": false; }; "valueStart": { "alias": "valueStart"; "required": false; "isSignal": true; }; "valueEnd": { "alias": "valueEnd"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "maskDigits": { "alias": "maskDigits"; "required": false; "isSignal": true; }; }, { "onValueChanged": "onValueChanged"; }, never, ["ax-validation-rule"], true, never>;
45
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXTimeDurationComponent, "ax-time-duration", never, { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "look": { "alias": "look"; "required": false; }; "valueStart": { "alias": "valueStart"; "required": false; "isSignal": true; }; "valueEnd": { "alias": "valueEnd"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "maskDigits": { "alias": "maskDigits"; "required": false; "isSignal": true; }; "minValue": { "alias": "minValue"; "required": false; "isSignal": true; }; "maxValue": { "alias": "maxValue"; "required": false; "isSignal": true; }; }, { "onValueChanged": "onValueChanged"; }, never, ["ax-validation-rule"], true, never>;
44
46
  }
45
47
 
46
48
  declare class AXTimeDurationModule {