@dereekb/dbx-form 0.0.1
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/README.md +6 -0
- package/dereekb-dbx-form.d.ts +5 -0
- package/esm2020/dereekb-dbx-form.mjs +5 -0
- package/esm2020/index.mjs +2 -0
- package/esm2020/lib/form/action/form.action.directive.mjs +131 -0
- package/esm2020/lib/form/action/form.action.module.mjs +30 -0
- package/esm2020/lib/form/action/index.mjs +3 -0
- package/esm2020/lib/form/form.changes.directive.mjs +33 -0
- package/esm2020/lib/form/form.input.directive.mjs +49 -0
- package/esm2020/lib/form/form.mjs +20 -0
- package/esm2020/lib/form/form.module.mjs +36 -0
- package/esm2020/lib/form/index.mjs +7 -0
- package/esm2020/lib/form/loading/form.loading.directive.mjs +52 -0
- package/esm2020/lib/form/loading/index.mjs +2 -0
- package/esm2020/lib/formly/field/checklist/checklist.item.field.component.mjs +91 -0
- package/esm2020/lib/formly/field/checklist/checklist.item.field.content.default.component.mjs +38 -0
- package/esm2020/lib/formly/field/checklist/checklist.item.field.mjs +119 -0
- package/esm2020/lib/formly/field/checklist/checklist.item.field.module.mjs +81 -0
- package/esm2020/lib/formly/field/checklist/checklist.item.mjs +2 -0
- package/esm2020/lib/formly/field/checklist/index.mjs +6 -0
- package/esm2020/lib/formly/field/component/component.field.component.mjs +35 -0
- package/esm2020/lib/formly/field/component/component.field.mjs +7 -0
- package/esm2020/lib/formly/field/component/component.field.module.mjs +42 -0
- package/esm2020/lib/formly/field/component/index.mjs +4 -0
- package/esm2020/lib/formly/field/field.mjs +21 -0
- package/esm2020/lib/formly/field/index.mjs +7 -0
- package/esm2020/lib/formly/field/selection/index.mjs +4 -0
- package/esm2020/lib/formly/field/selection/pickable/index.mjs +6 -0
- package/esm2020/lib/formly/field/selection/pickable/pickable.chip.field.component.mjs +30 -0
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.directive.mjs +244 -0
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.module.mjs +96 -0
- package/esm2020/lib/formly/field/selection/pickable/pickable.list.field.component.mjs +30 -0
- package/esm2020/lib/formly/field/selection/pickable/pickable.mjs +2 -0
- package/esm2020/lib/formly/field/selection/searchable/index.mjs +9 -0
- package/esm2020/lib/formly/field/selection/searchable/searchable.chip.field.component.mjs +45 -0
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.mjs +73 -0
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.directive.mjs +237 -0
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.mjs +45 -0
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.module.mjs +107 -0
- package/esm2020/lib/formly/field/selection/searchable/searchable.mjs +2 -0
- package/esm2020/lib/formly/field/selection/searchable/searchable.text.field.component.mjs +31 -0
- package/esm2020/lib/formly/field/selection/searchable/text.chip.field.mjs +15 -0
- package/esm2020/lib/formly/field/selection/selection.mjs +2 -0
- package/esm2020/lib/formly/field/value/array/array.field.component.mjs +87 -0
- package/esm2020/lib/formly/field/value/array/array.field.module.mjs +52 -0
- package/esm2020/lib/formly/field/value/array/index.mjs +3 -0
- package/esm2020/lib/formly/field/value/boolean/boolean.field.mjs +50 -0
- package/esm2020/lib/formly/field/value/boolean/boolean.field.module.mjs +16 -0
- package/esm2020/lib/formly/field/value/boolean/index.mjs +3 -0
- package/esm2020/lib/formly/field/value/date/date.field.mjs +36 -0
- package/esm2020/lib/formly/field/value/date/date.field.module.mjs +87 -0
- package/esm2020/lib/formly/field/value/date/datetime.field.component.mjs +226 -0
- package/esm2020/lib/formly/field/value/date/index.mjs +4 -0
- package/esm2020/lib/formly/field/value/enum/enum.field.mjs +18 -0
- package/esm2020/lib/formly/field/value/enum/enum.mjs +2 -0
- package/esm2020/lib/formly/field/value/enum/index.mjs +4 -0
- package/esm2020/lib/formly/field/value/hidden.field.mjs +8 -0
- package/esm2020/lib/formly/field/value/index.mjs +8 -0
- package/esm2020/lib/formly/field/value/phone/index.mjs +4 -0
- package/esm2020/lib/formly/field/value/phone/phone.field.component.mjs +44 -0
- package/esm2020/lib/formly/field/value/phone/phone.field.mjs +64 -0
- package/esm2020/lib/formly/field/value/phone/phone.field.module.mjs +67 -0
- package/esm2020/lib/formly/field/value/text/index.mjs +4 -0
- package/esm2020/lib/formly/field/value/text/text.address.field.mjs +65 -0
- package/esm2020/lib/formly/field/value/text/text.field.mjs +125 -0
- package/esm2020/lib/formly/field/value/text/text.field.module.mjs +19 -0
- package/esm2020/lib/formly/field/wrapper/autotouch.wrapper.component.mjs +26 -0
- package/esm2020/lib/formly/field/wrapper/expandable.wrapper.component.mjs +83 -0
- package/esm2020/lib/formly/field/wrapper/flex.wrapper.component.mjs +22 -0
- package/esm2020/lib/formly/field/wrapper/flex.wrapper.layout.mjs +20 -0
- package/esm2020/lib/formly/field/wrapper/form.wrapper.module.mjs +84 -0
- package/esm2020/lib/formly/field/wrapper/index.mjs +11 -0
- package/esm2020/lib/formly/field/wrapper/info.wrapper.component.mjs +47 -0
- package/esm2020/lib/formly/field/wrapper/section.wrapper.component.mjs +35 -0
- package/esm2020/lib/formly/field/wrapper/subsection.wrapper.component.mjs +35 -0
- package/esm2020/lib/formly/field/wrapper/toggle.wrapper.component.mjs +58 -0
- package/esm2020/lib/formly/field/wrapper/toggle.wrapper.mjs +10 -0
- package/esm2020/lib/formly/formly.component.mjs +134 -0
- package/esm2020/lib/formly/formly.context.mjs +111 -0
- package/esm2020/lib/formly/formly.directive.mjs +101 -0
- package/esm2020/lib/formly/formly.module.mjs +59 -0
- package/esm2020/lib/formly/index.mjs +6 -0
- package/esm2020/lib/index.mjs +5 -0
- package/esm2020/lib/layout/form.layout.module.mjs +26 -0
- package/esm2020/lib/layout/form.spacer.component.mjs +17 -0
- package/esm2020/lib/layout/index.mjs +3 -0
- package/esm2020/lib/validator/boolean.mjs +12 -0
- package/esm2020/lib/validator/email.mjs +6 -0
- package/esm2020/lib/validator/index.mjs +4 -0
- package/esm2020/lib/validator/number.mjs +21 -0
- package/fesm2015/dereekb-dbx-form.mjs +3295 -0
- package/fesm2015/dereekb-dbx-form.mjs.map +1 -0
- package/fesm2020/dereekb-dbx-form.mjs +3289 -0
- package/fesm2020/dereekb-dbx-form.mjs.map +1 -0
- package/index.d.ts +1 -0
- package/lib/form/action/form.action.directive.d.ts +44 -0
- package/lib/form/action/form.action.module.d.ts +9 -0
- package/lib/form/action/index.d.ts +2 -0
- package/lib/form/form.changes.directive.d.ts +15 -0
- package/lib/form/form.d.ts +51 -0
- package/lib/form/form.input.directive.d.ts +18 -0
- package/lib/form/form.module.d.ts +10 -0
- package/lib/form/index.d.ts +6 -0
- package/lib/form/loading/form.loading.directive.d.ts +19 -0
- package/lib/form/loading/index.d.ts +1 -0
- package/lib/formly/field/checklist/checklist.item.d.ts +38 -0
- package/lib/formly/field/checklist/checklist.item.field.component.d.ts +48 -0
- package/lib/formly/field/checklist/checklist.item.field.content.default.component.d.ts +10 -0
- package/lib/formly/field/checklist/checklist.item.field.d.ts +50 -0
- package/lib/formly/field/checklist/checklist.item.field.module.d.ts +18 -0
- package/lib/formly/field/checklist/index.d.ts +5 -0
- package/lib/formly/field/component/component.field.component.d.ts +22 -0
- package/lib/formly/field/component/component.field.d.ts +6 -0
- package/lib/formly/field/component/component.field.module.d.ts +10 -0
- package/lib/formly/field/component/index.d.ts +3 -0
- package/lib/formly/field/field.d.ts +31 -0
- package/lib/formly/field/index.d.ts +6 -0
- package/lib/formly/field/selection/index.d.ts +3 -0
- package/lib/formly/field/selection/pickable/index.d.ts +5 -0
- package/lib/formly/field/selection/pickable/pickable.chip.field.component.d.ts +10 -0
- package/lib/formly/field/selection/pickable/pickable.d.ts +28 -0
- package/lib/formly/field/selection/pickable/pickable.field.directive.d.ts +155 -0
- package/lib/formly/field/selection/pickable/pickable.field.module.d.ts +20 -0
- package/lib/formly/field/selection/pickable/pickable.list.field.component.d.ts +11 -0
- package/lib/formly/field/selection/searchable/index.d.ts +8 -0
- package/lib/formly/field/selection/searchable/searchable.chip.field.component.d.ts +16 -0
- package/lib/formly/field/selection/searchable/searchable.d.ts +40 -0
- package/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.d.ts +20 -0
- package/lib/formly/field/selection/searchable/searchable.field.d.ts +16 -0
- package/lib/formly/field/selection/searchable/searchable.field.directive.d.ts +131 -0
- package/lib/formly/field/selection/searchable/searchable.field.module.d.ts +21 -0
- package/lib/formly/field/selection/searchable/searchable.text.field.component.d.ts +15 -0
- package/lib/formly/field/selection/searchable/text.chip.field.d.ts +9 -0
- package/lib/formly/field/selection/selection.d.ts +25 -0
- package/lib/formly/field/value/array/array.field.component.d.ts +22 -0
- package/lib/formly/field/value/array/array.field.module.d.ts +13 -0
- package/lib/formly/field/value/array/index.d.ts +2 -0
- package/lib/formly/field/value/boolean/boolean.field.d.ts +8 -0
- package/lib/formly/field/value/boolean/boolean.field.module.d.ts +6 -0
- package/lib/formly/field/value/boolean/index.d.ts +2 -0
- package/lib/formly/field/value/date/date.field.d.ts +13 -0
- package/lib/formly/field/value/date/date.field.module.d.ts +21 -0
- package/lib/formly/field/value/date/datetime.field.component.d.ts +105 -0
- package/lib/formly/field/value/date/index.d.ts +3 -0
- package/lib/formly/field/value/enum/enum.d.ts +4 -0
- package/lib/formly/field/value/enum/enum.field.d.ts +14 -0
- package/lib/formly/field/value/enum/index.d.ts +2 -0
- package/lib/formly/field/value/hidden.field.d.ts +5 -0
- package/lib/formly/field/value/index.d.ts +7 -0
- package/lib/formly/field/value/phone/index.d.ts +3 -0
- package/lib/formly/field/value/phone/phone.field.component.d.ts +24 -0
- package/lib/formly/field/value/phone/phone.field.d.ts +26 -0
- package/lib/formly/field/value/phone/phone.field.module.d.ts +16 -0
- package/lib/formly/field/value/text/index.d.ts +3 -0
- package/lib/formly/field/value/text/text.address.field.d.ts +12 -0
- package/lib/formly/field/value/text/text.field.d.ts +42 -0
- package/lib/formly/field/value/text/text.field.module.d.ts +7 -0
- package/lib/formly/field/wrapper/autotouch.wrapper.component.d.ts +11 -0
- package/lib/formly/field/wrapper/expandable.wrapper.component.d.ts +43 -0
- package/lib/formly/field/wrapper/flex.wrapper.component.d.ts +6 -0
- package/lib/formly/field/wrapper/flex.wrapper.layout.d.ts +10 -0
- package/lib/formly/field/wrapper/form.wrapper.module.d.ts +19 -0
- package/lib/formly/field/wrapper/index.d.ts +10 -0
- package/lib/formly/field/wrapper/info.wrapper.component.d.ts +17 -0
- package/lib/formly/field/wrapper/section.wrapper.component.d.ts +8 -0
- package/lib/formly/field/wrapper/subsection.wrapper.component.d.ts +8 -0
- package/lib/formly/field/wrapper/toggle.wrapper.component.d.ts +24 -0
- package/lib/formly/field/wrapper/toggle.wrapper.d.ts +7 -0
- package/lib/formly/formly.component.d.ts +36 -0
- package/lib/formly/formly.context.d.ts +57 -0
- package/lib/formly/formly.directive.d.ts +50 -0
- package/lib/formly/formly.module.d.ts +11 -0
- package/lib/formly/index.d.ts +5 -0
- package/lib/index.d.ts +4 -0
- package/lib/layout/form.layout.module.d.ts +8 -0
- package/lib/layout/form.spacer.component.d.ts +8 -0
- package/lib/layout/index.d.ts +2 -0
- package/lib/validator/boolean.d.ts +2 -0
- package/lib/validator/email.d.ts +3 -0
- package/lib/validator/index.d.ts +3 -0
- package/lib/validator/number.d.ts +2 -0
- package/package.json +67 -0
- package/src/_index.scss +11 -0
- package/src/lib/form/_form.scss +26 -0
- package/src/lib/formly/_formly.scss +26 -0
- package/src/lib/formly/field/_field.scss +33 -0
- package/src/lib/formly/field/checklist/_checklist.scss +26 -0
- package/src/lib/formly/field/checklist/checklist.item_TODO.scss +57 -0
- package/src/lib/formly/field/component/_component.scss +26 -0
- package/src/lib/formly/field/fields_TODO.scss +4 -0
- package/src/lib/formly/field/selection/_selection.scss +17 -0
- package/src/lib/formly/field/selection/generic_TODO.scss +36 -0
- package/src/lib/formly/field/selection/pickable/_pickable.scss +26 -0
- package/src/lib/formly/field/selection/searchable/_searchable.scss +26 -0
- package/src/lib/formly/field/texteditor/_texteditor.scss +26 -0
- package/src/lib/formly/field/texteditor/texteditor_TODO.scss +32 -0
- package/src/lib/formly/field/value/_value.scss +33 -0
- package/src/lib/formly/field/value/array/_array.scss +26 -0
- package/src/lib/formly/field/value/boolean/_boolean.scss +26 -0
- package/src/lib/formly/field/value/date/_date.scss +26 -0
- package/src/lib/formly/field/value/date/date_TODO.scss +27 -0
- package/src/lib/formly/field/value/enum/_enum.scss +26 -0
- package/src/lib/formly/field/value/phone/_phone.scss +26 -0
- package/src/lib/formly/field/value/phone/phone_TODO.scss +10 -0
- package/src/lib/formly/field/value/text/_text.scss +26 -0
- package/src/lib/formly/field/wrapper/_wrapper.scss +26 -0
- package/src/lib/formly/field/wrapper/wrapper_TODO.scss +34 -0
- package/src/lib/formly/form_TODO.scss +153 -0
- package/src/lib/layout/_layout.scss +26 -0
- package/src/lib/style/_all-core.scss +12 -0
- package/src/lib/style/_all-theme.scss +12 -0
- package/src/lib/style/_all-typography.scss +12 -0
- package/src/lib/style/_config.scss +20 -0
- package/src/lib/style/_core.scss +9 -0
- package/src/lib/style/_mixin.scss +3 -0
- package/src/lib/style/_theming.scss +19 -0
- package/src/lib/style/_variables.scss +1 -0
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { DateTimeMinuteInstance, guessCurrentTimezone, readableTimeStringToDate, toReadableTimeString, utcDayForDate } from '@dereekb/date';
|
|
2
|
+
import { switchMap, shareReplay, map, filter, startWith, tap, first, distinctUntilChanged, debounceTime, throttleTime } from 'rxjs/operators';
|
|
3
|
+
import { ChangeDetectorRef, Component } from '@angular/core';
|
|
4
|
+
import { FormControl, Validators } from '@angular/forms';
|
|
5
|
+
import { FieldType } from '@ngx-formly/core';
|
|
6
|
+
import { BehaviorSubject, combineLatest, Subject, merge, interval } from 'rxjs';
|
|
7
|
+
import { addMinutes, isSameDay, isSameMinute, startOfDay } from 'date-fns';
|
|
8
|
+
import { filterMaybe, SubscriptionObject, switchMapMaybeObs } from '@dereekb/rxjs';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/material/button";
|
|
11
|
+
import * as i2 from "@angular/material/icon";
|
|
12
|
+
import * as i3 from "@angular/material/form-field";
|
|
13
|
+
import * as i4 from "@angular/material/datepicker";
|
|
14
|
+
import * as i5 from "@angular/material/menu";
|
|
15
|
+
import * as i6 from "@angular/material/divider";
|
|
16
|
+
import * as i7 from "@angular/flex-layout/flex";
|
|
17
|
+
import * as i8 from "@angular/common";
|
|
18
|
+
import * as i9 from "@angular/material/input";
|
|
19
|
+
import * as i10 from "@angular/forms";
|
|
20
|
+
import * as i11 from "@dereekb/dbx-core";
|
|
21
|
+
export var DateTimeFieldTimeMode;
|
|
22
|
+
(function (DateTimeFieldTimeMode) {
|
|
23
|
+
/**
|
|
24
|
+
* Time is required.
|
|
25
|
+
*/
|
|
26
|
+
DateTimeFieldTimeMode["REQUIRED"] = "required";
|
|
27
|
+
/**
|
|
28
|
+
* Time is optional.
|
|
29
|
+
*/
|
|
30
|
+
DateTimeFieldTimeMode["OPTIONAL"] = "optional";
|
|
31
|
+
/**
|
|
32
|
+
* Time is permenantly off.
|
|
33
|
+
*/
|
|
34
|
+
DateTimeFieldTimeMode["NONE"] = "none";
|
|
35
|
+
})(DateTimeFieldTimeMode || (DateTimeFieldTimeMode = {}));
|
|
36
|
+
export class DbxDateTimeFieldComponent extends FieldType {
|
|
37
|
+
constructor(cdRef) {
|
|
38
|
+
super();
|
|
39
|
+
this.cdRef = cdRef;
|
|
40
|
+
this._sub = new SubscriptionObject();
|
|
41
|
+
this._valueSub = new SubscriptionObject();
|
|
42
|
+
this._fullDayControlObs = new BehaviorSubject(undefined);
|
|
43
|
+
this.fullDayControl$ = this._fullDayControlObs.pipe(filterMaybe());
|
|
44
|
+
this._offset = new BehaviorSubject(0);
|
|
45
|
+
this._formControlObs = new BehaviorSubject(undefined);
|
|
46
|
+
this.formControl$ = this._formControlObs.pipe(filterMaybe());
|
|
47
|
+
this._updateTime = new Subject();
|
|
48
|
+
this.value$ = this.formControl$.pipe(switchMap(control => control.valueChanges.pipe(startWith(control.value))), distinctUntilChanged((a, b) => isSameMinute(a, b)), shareReplay(1));
|
|
49
|
+
/**
|
|
50
|
+
* Used to trigger/display visual updates (specifically on timeDistance, etc.).
|
|
51
|
+
*/
|
|
52
|
+
this.displayValue$ = interval(10 * 1000).pipe(startWith(0), map(_ => new Date().getMinutes()), distinctUntilChanged(), tap((_) => this.cdRef.markForCheck()), switchMap(_ => this.value$), shareReplay(1));
|
|
53
|
+
this.timeString$ = this.value$.pipe(filter(x => Boolean(x)), map((x) => {
|
|
54
|
+
const timezone = guessCurrentTimezone();
|
|
55
|
+
const timeString = toReadableTimeString(x, timezone);
|
|
56
|
+
return timeString;
|
|
57
|
+
}));
|
|
58
|
+
this.timeInputCtrl = new FormControl('', {
|
|
59
|
+
validators: [
|
|
60
|
+
Validators.pattern(/^([0-9]|(0[0-9])|(1[0-9])|(2[0-3]))(:)?([0-5][0-9])?(\s)?([apAP][Mm])?(\\s)*$/)
|
|
61
|
+
]
|
|
62
|
+
});
|
|
63
|
+
this._date = new BehaviorSubject(new Date());
|
|
64
|
+
this._config = new BehaviorSubject(undefined);
|
|
65
|
+
this.fullDay$ = this.fullDayControl$.pipe(switchMap(control => control.valueChanges.pipe(startWith(control.value))));
|
|
66
|
+
this.showTimeInput$ = this.fullDay$.pipe(map(x => !x && this.timeMode !== DateTimeFieldTimeMode.NONE));
|
|
67
|
+
this.showAddTime$ = this.showTimeInput$.pipe(map(x => !x && this.timeMode === DateTimeFieldTimeMode.OPTIONAL), shareReplay(1));
|
|
68
|
+
this.date$ = this._date.pipe(distinctUntilChanged((a, b) => isSameDay(a, b)));
|
|
69
|
+
this.dateValue$ = merge(this.value$.pipe(startWith(undefined)), this.date$).pipe(filterMaybe(), map((x) => startOfDay(x)), distinctUntilChanged((a, b) => isSameDay(a, b)), shareReplay(1));
|
|
70
|
+
this.timeInput$ = this._updateTime.pipe(debounceTime(5), map(x => this.timeInputCtrl.value), distinctUntilChanged());
|
|
71
|
+
this.config$ = this._config.pipe(switchMapMaybeObs(), shareReplay(1));
|
|
72
|
+
this.rawDateTime$ = combineLatest([
|
|
73
|
+
this.dateValue$.pipe(filterMaybe()),
|
|
74
|
+
this.timeInput$.pipe(startWith(null)),
|
|
75
|
+
this.fullDay$
|
|
76
|
+
]).pipe(map(([date, timeString, fullDay]) => {
|
|
77
|
+
let result;
|
|
78
|
+
if (fullDay) {
|
|
79
|
+
if (this.field.fullDayInUTC) {
|
|
80
|
+
result = utcDayForDate(date);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
result = startOfDay(date);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else if (timeString) {
|
|
87
|
+
result = readableTimeStringToDate(timeString, {
|
|
88
|
+
date,
|
|
89
|
+
useSystemTimezone: true
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
return result;
|
|
93
|
+
}), filterMaybe(), distinctUntilChanged((a, b) => isSameMinute(a, b)), shareReplay(1));
|
|
94
|
+
this.timeOutput$ = combineLatest([
|
|
95
|
+
this.rawDateTime$,
|
|
96
|
+
this._offset,
|
|
97
|
+
this.config$.pipe(distinctUntilChanged()),
|
|
98
|
+
]).pipe(throttleTime(10, undefined, { leading: false, trailing: true }), distinctUntilChanged((current, next) => current[0] === next[0] && next[1] === 0), tap(([_, stepsOffset]) => (stepsOffset) ? this._offset.next(0) : 0), map(([date, stepsOffset, config]) => {
|
|
99
|
+
const instance = new DateTimeMinuteInstance({
|
|
100
|
+
date,
|
|
101
|
+
...config,
|
|
102
|
+
roundDownToMinute: true
|
|
103
|
+
});
|
|
104
|
+
date = instance.limit(date);
|
|
105
|
+
const minutes = stepsOffset * 5;
|
|
106
|
+
date = addMinutes(date, minutes);
|
|
107
|
+
return date;
|
|
108
|
+
}), distinctUntilChanged((a, b) => a && b && isSameMinute(a, b)));
|
|
109
|
+
}
|
|
110
|
+
get timeOnly() {
|
|
111
|
+
return this.field.timeOnly;
|
|
112
|
+
}
|
|
113
|
+
get showDateInput() {
|
|
114
|
+
return !this.timeOnly;
|
|
115
|
+
}
|
|
116
|
+
get timeMode() {
|
|
117
|
+
return (this.timeOnly) ? DateTimeFieldTimeMode.REQUIRED : (this.field.timeMode ?? DateTimeFieldTimeMode.REQUIRED);
|
|
118
|
+
}
|
|
119
|
+
get description() {
|
|
120
|
+
return this.field.templateOptions?.description;
|
|
121
|
+
}
|
|
122
|
+
ngOnInit() {
|
|
123
|
+
this._formControlObs.next(this.formControl);
|
|
124
|
+
this._config.next(this.field.getConfigObs?.());
|
|
125
|
+
this._sub.subscription = this.timeOutput$.subscribe((value) => {
|
|
126
|
+
this.formControl.setValue(value);
|
|
127
|
+
this.formControl.markAsDirty();
|
|
128
|
+
this.formControl.markAsTouched();
|
|
129
|
+
});
|
|
130
|
+
this._valueSub.subscription = this.timeString$.subscribe((x) => {
|
|
131
|
+
this.timeInputCtrl.setValue(x);
|
|
132
|
+
});
|
|
133
|
+
const isFullDayField = this.field.fullDayFieldName;
|
|
134
|
+
let fullDayFieldCtrl;
|
|
135
|
+
if (isFullDayField) {
|
|
136
|
+
fullDayFieldCtrl = this.form.get(isFullDayField);
|
|
137
|
+
}
|
|
138
|
+
if (!fullDayFieldCtrl) {
|
|
139
|
+
this._fullDayInputCtrl = new FormControl(true);
|
|
140
|
+
// Set the control in the form too if the name is defined.
|
|
141
|
+
if (isFullDayField) {
|
|
142
|
+
this.form.addControl(isFullDayField, this._fullDayInputCtrl);
|
|
143
|
+
}
|
|
144
|
+
fullDayFieldCtrl = this._fullDayInputCtrl;
|
|
145
|
+
}
|
|
146
|
+
this._fullDayControlObs.next(fullDayFieldCtrl);
|
|
147
|
+
switch (this.field.timeMode) {
|
|
148
|
+
case DateTimeFieldTimeMode.OPTIONAL:
|
|
149
|
+
break;
|
|
150
|
+
case DateTimeFieldTimeMode.NONE:
|
|
151
|
+
this.removeTime();
|
|
152
|
+
break;
|
|
153
|
+
case DateTimeFieldTimeMode.REQUIRED:
|
|
154
|
+
this.addTime();
|
|
155
|
+
break;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
ngOnDestroy() {
|
|
159
|
+
this._formControlObs.complete();
|
|
160
|
+
this._date.complete();
|
|
161
|
+
this._updateTime.complete();
|
|
162
|
+
this._config.complete();
|
|
163
|
+
this._sub.destroy();
|
|
164
|
+
this._valueSub.destroy();
|
|
165
|
+
}
|
|
166
|
+
datePicked(event) {
|
|
167
|
+
const date = event.value;
|
|
168
|
+
if (date) {
|
|
169
|
+
this._date.next(date);
|
|
170
|
+
this._updateTime.next();
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
setTime(time) {
|
|
174
|
+
this.timeInputCtrl.setValue(time);
|
|
175
|
+
this._offset.next(0);
|
|
176
|
+
this._updateTime.next();
|
|
177
|
+
}
|
|
178
|
+
keydownOnInput(event) {
|
|
179
|
+
let direction = 0;
|
|
180
|
+
switch (event.key?.toLowerCase()) {
|
|
181
|
+
case 'arrowup':
|
|
182
|
+
direction = 1;
|
|
183
|
+
break;
|
|
184
|
+
case 'arrowdown':
|
|
185
|
+
direction = -1;
|
|
186
|
+
break;
|
|
187
|
+
}
|
|
188
|
+
let offset = 1;
|
|
189
|
+
if (event.altKey && event.shiftKey) {
|
|
190
|
+
offset = 300;
|
|
191
|
+
}
|
|
192
|
+
else if (event.altKey) {
|
|
193
|
+
offset = 60;
|
|
194
|
+
}
|
|
195
|
+
else if (event.shiftKey) {
|
|
196
|
+
offset = 5;
|
|
197
|
+
}
|
|
198
|
+
if (direction !== 0) {
|
|
199
|
+
this._offset.next(this._offset.value + (offset * direction));
|
|
200
|
+
this._updateTime.next();
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
focusTime() {
|
|
204
|
+
}
|
|
205
|
+
focusOutTime() {
|
|
206
|
+
this._updateTime.next();
|
|
207
|
+
}
|
|
208
|
+
addTime() {
|
|
209
|
+
this.setFullDay(false);
|
|
210
|
+
}
|
|
211
|
+
removeTime() {
|
|
212
|
+
this.setFullDay(true);
|
|
213
|
+
}
|
|
214
|
+
setFullDay(fullDay) {
|
|
215
|
+
this.fullDayControl$.pipe(first()).subscribe((x) => {
|
|
216
|
+
x.setValue(fullDay);
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
DbxDateTimeFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxDateTimeFieldComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
221
|
+
DbxDateTimeFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxDateTimeFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-datetime-field\" fxLayout=\"row wrap\" fxLayout.xs=\"column wrap\" fxLayoutAlign=\"space-evenly stretch\">\n <!-- Date -->\n <div class=\"dbx-datetime-row\" fxFlex.lt-sm=\"100\" fxFlex=\"50\" *ngIf=\"showDateInput\">\n <ng-container *ngTemplateOutlet=\"dateInputTemplate\"></ng-container>\n </div>\n <!-- Time -->\n <div class=\"dbx-datetime-row\" fxFlex.lt-sm=\"100\" [fxFlex]=\"showDateInput ? 50 : 100\">\n <ng-container *ngIf=\"showTimeInput$ | async\">\n <ng-container *ngTemplateOutlet=\"timeMenuAndInputTemplate\"></ng-container>\n </ng-container>\n <div class=\"add-time-button-wrapper\" *ngIf=\"showAddTime$ | async\">\n <button mat-button class=\"add-time-button\" (click)=\"addTime()\">\n <mat-icon>timer</mat-icon> Add Time\n </button>\n </div>\n </div>\n <div class=\"dbx-datetime-row dbx-datetime-hint-row\" fxFlex=\"100\">\n <div class=\"dbx-hint\" [ngSwitch]=\"fullDay$ | async\">\n <small *ngSwitchCase=\"true\"><b class=\"dbx-ok\">All Day</b> {{ dateValue$ | async | date:'fullDate' }}\n ({{ dateValue$ | async | dateDistance }})</small>\n <small *ngSwitchCase=\"false\">\n <ng-container *ngIf=\"value$ | async\"><b class=\"dbx-ok\">At</b> {{ displayValue$ | async | date:'medium' }}\n ({{ displayValue$ | async | timeDistance }})</ng-container>\n </small>\n </div>\n <div class=\"dbx-small dbx-label\" *ngIf=\"description\">\n {{ description }}\n </div>\n </div>\n</div>\n\n<!-- Date Input Template -->\n<ng-template #dateInputTemplate>\n <button mat-icon-button (click)=\"picker.open()\">\n <mat-icon>calendar_today</mat-icon>\n </button>\n <mat-form-field class=\"dbx-datetime-row-field\">\n <mat-label>Date</mat-label>\n <input matInput [matDatepicker]=\"picker\" (dateChange)=\"datePicked($event)\" [value]=\"dateValue$ | async\">\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n</ng-template>\n\n<!-- Time Menu/Input Template -->\n<ng-template #timeMenuAndInputTemplate>\n <button mat-icon-button [matMenuTriggerFor]=\"timemenu\" aria-label=\"opens the time menu\">\n <mat-icon>timer</mat-icon>\n </button>\n <mat-menu #timemenu=\"matMenu\">\n <ng-container *ngIf=\"timeMode === 'optional'\">\n <button mat-menu-item (click)=\"removeTime()\">\n <span>Remove Time</span>\n </button>\n <mat-divider></mat-divider>\n </ng-container>\n <button mat-menu-item (click)=\"setTime('12:00AM')\">\n <span>Midnight</span>\n </button>\n <button mat-menu-item (click)=\"setTime('6:00AM')\">\n <span>6:00AM</span>\n </button>\n <button mat-menu-item (click)=\"setTime('8:00AM')\">\n <span>8:00AM</span>\n </button>\n <button mat-menu-item (click)=\"setTime('10:00AM')\">\n <span>10:00AM</span>\n </button>\n <button mat-menu-item (click)=\"setTime('12:00PM')\">\n <span>Noon</span>\n </button>\n <button mat-menu-item (click)=\"setTime('2:00PM')\">\n <span>2:00PM</span>\n </button>\n <button mat-menu-item (click)=\"setTime('5:00PM')\">\n <span>5:00PM</span>\n </button>\n </mat-menu>\n <mat-form-field class=\"dbx-datetime-row-field\">\n <mat-label>Time</mat-label>\n <input #timeInput matInput [formControl]=\"timeInputCtrl\" (focus)=\"focusTime()\" (focusout)=\"focusOutTime()\"\n (keydown)=\"keydownOnInput($event)\">\n </mat-form-field>\n</ng-template>\n", components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { type: i5.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.MatLabel, selector: "mat-label" }, { type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i8.AsyncPipe, "date": i8.DatePipe, "dateDistance": i11.DateDistancePipe, "timeDistance": i11.TimeDistancePipe } });
|
|
222
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxDateTimeFieldComponent, decorators: [{
|
|
223
|
+
type: Component,
|
|
224
|
+
args: [{ template: "<div class=\"dbx-datetime-field\" fxLayout=\"row wrap\" fxLayout.xs=\"column wrap\" fxLayoutAlign=\"space-evenly stretch\">\n <!-- Date -->\n <div class=\"dbx-datetime-row\" fxFlex.lt-sm=\"100\" fxFlex=\"50\" *ngIf=\"showDateInput\">\n <ng-container *ngTemplateOutlet=\"dateInputTemplate\"></ng-container>\n </div>\n <!-- Time -->\n <div class=\"dbx-datetime-row\" fxFlex.lt-sm=\"100\" [fxFlex]=\"showDateInput ? 50 : 100\">\n <ng-container *ngIf=\"showTimeInput$ | async\">\n <ng-container *ngTemplateOutlet=\"timeMenuAndInputTemplate\"></ng-container>\n </ng-container>\n <div class=\"add-time-button-wrapper\" *ngIf=\"showAddTime$ | async\">\n <button mat-button class=\"add-time-button\" (click)=\"addTime()\">\n <mat-icon>timer</mat-icon> Add Time\n </button>\n </div>\n </div>\n <div class=\"dbx-datetime-row dbx-datetime-hint-row\" fxFlex=\"100\">\n <div class=\"dbx-hint\" [ngSwitch]=\"fullDay$ | async\">\n <small *ngSwitchCase=\"true\"><b class=\"dbx-ok\">All Day</b> {{ dateValue$ | async | date:'fullDate' }}\n ({{ dateValue$ | async | dateDistance }})</small>\n <small *ngSwitchCase=\"false\">\n <ng-container *ngIf=\"value$ | async\"><b class=\"dbx-ok\">At</b> {{ displayValue$ | async | date:'medium' }}\n ({{ displayValue$ | async | timeDistance }})</ng-container>\n </small>\n </div>\n <div class=\"dbx-small dbx-label\" *ngIf=\"description\">\n {{ description }}\n </div>\n </div>\n</div>\n\n<!-- Date Input Template -->\n<ng-template #dateInputTemplate>\n <button mat-icon-button (click)=\"picker.open()\">\n <mat-icon>calendar_today</mat-icon>\n </button>\n <mat-form-field class=\"dbx-datetime-row-field\">\n <mat-label>Date</mat-label>\n <input matInput [matDatepicker]=\"picker\" (dateChange)=\"datePicked($event)\" [value]=\"dateValue$ | async\">\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n</ng-template>\n\n<!-- Time Menu/Input Template -->\n<ng-template #timeMenuAndInputTemplate>\n <button mat-icon-button [matMenuTriggerFor]=\"timemenu\" aria-label=\"opens the time menu\">\n <mat-icon>timer</mat-icon>\n </button>\n <mat-menu #timemenu=\"matMenu\">\n <ng-container *ngIf=\"timeMode === 'optional'\">\n <button mat-menu-item (click)=\"removeTime()\">\n <span>Remove Time</span>\n </button>\n <mat-divider></mat-divider>\n </ng-container>\n <button mat-menu-item (click)=\"setTime('12:00AM')\">\n <span>Midnight</span>\n </button>\n <button mat-menu-item (click)=\"setTime('6:00AM')\">\n <span>6:00AM</span>\n </button>\n <button mat-menu-item (click)=\"setTime('8:00AM')\">\n <span>8:00AM</span>\n </button>\n <button mat-menu-item (click)=\"setTime('10:00AM')\">\n <span>10:00AM</span>\n </button>\n <button mat-menu-item (click)=\"setTime('12:00PM')\">\n <span>Noon</span>\n </button>\n <button mat-menu-item (click)=\"setTime('2:00PM')\">\n <span>2:00PM</span>\n </button>\n <button mat-menu-item (click)=\"setTime('5:00PM')\">\n <span>5:00PM</span>\n </button>\n </mat-menu>\n <mat-form-field class=\"dbx-datetime-row-field\">\n <mat-label>Time</mat-label>\n <input #timeInput matInput [formControl]=\"timeInputCtrl\" (focus)=\"focusTime()\" (focusout)=\"focusOutTime()\"\n (keydown)=\"keydownOnInput($event)\">\n </mat-form-field>\n</ng-template>\n" }]
|
|
225
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvdmFsdWUvZGF0ZS9kYXRldGltZS5maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC92YWx1ZS9kYXRlL2RhdGV0aW1lLmZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0Isc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsd0JBQXdCLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xLLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlJLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBbUIsV0FBVyxFQUFFLFVBQVUsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHNUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLE1BQU0s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bnV0ZUNvbmZpZywgRGF0ZVRpbWVNaW51dGVJbnN0YW5jZSwgZ3Vlc3NDdXJyZW50VGltZXpvbmUsIHJlYWRhYmxlVGltZVN0cmluZ1RvRGF0ZSwgdG9SZWFkYWJsZVRpbWVTdHJpbmcsIHV0Y0RheUZvckRhdGUgfSBmcm9tICdAZGVyZWVrYi9kYXRlJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgc2hhcmVSZXBsYXksIG1hcCwgZmlsdGVyLCBzdGFydFdpdGgsIHRhcCwgZmlyc3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBkZWJvdW5jZVRpbWUsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycywgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmllbGRUeXBlLCBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBTdWJqZWN0LCBtZXJnZSwgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1heWJlLCBSZWFkYWJsZVRpbWVTdHJpbmcgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJJbnB1dEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBhZGRNaW51dGVzLCBpc1NhbWVEYXksIGlzU2FtZU1pbnV0ZSwgc3RhcnRPZkRheSB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGZpbHRlck1heWJlLCBTdWJzY3JpcHRpb25PYmplY3QsIHN3aXRjaE1hcE1heWJlT2JzIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5cbmV4cG9ydCBlbnVtIERhdGVUaW1lRmllbGRUaW1lTW9kZSB7XG4gIC8qKlxuICAgKiBUaW1lIGlzIHJlcXVpcmVkLlxuICAgKi9cbiAgUkVRVUlSRUQgPSAncmVxdWlyZWQnLFxuICAvKipcbiAgICogVGltZSBpcyBvcHRpb25hbC5cbiAgICovXG4gIE9QVElPTkFMID0gJ29wdGlvbmFsJyxcbiAgLyoqXG4gICAqIFRpbWUgaXMgcGVybWVuYW50bHkgb2ZmLlxuICAgKi9cbiAgTk9ORSA9ICdub25lJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGVUaW1lUGlja2VyQ29uZmlndXJhdGlvbiBleHRlbmRzIE9taXQ8RGF0ZVRpbWVNaW51dGVDb25maWcsICdkYXRlJz4geyB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RGF0ZVRpbWVGaWVsZENvbmZpZyB7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBkYXRlIGlzIGhpZGRlbiwgYW5kIGF1dG9tYXRpY2FsbHkgdXNlcyB0b2RheS9pbnB1dCBkYXRlLlxuICAgKi9cbiAgdGltZU9ubHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgdGltZSBjYW4gYmUgYWRkZWQvcmVtb3ZlZCBvcHRpb25hbGx5LlxuICAgKiBcbiAgICogVGhpcyBpcyBpZ25vcmVkIGlmIHRpbWVPbmx5IGlzIHNwZWNpZmllZC5cbiAgICovXG4gIHRpbWVNb2RlPzogRGF0ZVRpbWVGaWVsZFRpbWVNb2RlO1xuXG4gIC8qKlxuICAgKiBPdGhlciBmb3JtIGNvbnRybyBmb3IgZW5hYmxpbmcvZGlzYWJsaW5nIHdoZXRoZXIgb3Igbm90IGl0IGlzIGEgZnVsbCBkYXkuXG4gICAqXG4gICAqIFRoaXMgZmllbGQgaXMgb25seSB1c2VkIGlmIHRpbWUgaXMgb3B0aW9uYWwuXG4gICAqXG4gICAqIFdoZW4gdGltZSBpcyBvZmYsIHRoZSBmaWVsZCBpcyBzZXQgdG8gdHJ1ZS5cbiAgICovXG4gIGZ1bGxEYXlGaWVsZE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIHBhc3MgdGhlIGRhdGUgdmFsdWUgYXMgYSBVVEMgZGF0ZSwgb3IgYSBkYXRlIGluIHRoZSBjdXJyZW50IHRpbWV6b25lLlxuICAgKi9cbiAgZnVsbERheUluVVRDPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlZCBmb3IgcmV0dXJuaW5nIHRoZSBjb25maWd1cmF0aW9uIG9ic2VydmFibGUuXG4gICAqL1xuICBnZXRDb25maWdPYnM/OiAoKSA9PiBPYnNlcnZhYmxlPERhdGVUaW1lUGlja2VyQ29uZmlndXJhdGlvbj47XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRlc2NyaXB0aW9uL2hpbnQgdG8gZGlzcGxheS5cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZVRpbWVGb3JtbHlGaWVsZENvbmZpZyBleHRlbmRzIERieERhdGVUaW1lRmllbGRDb25maWcsIEZvcm1seUZpZWxkQ29uZmlnIHsgfVxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICdkYXRldGltZS5maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIC8vIFRPRE86IHN0eWxlVXJsczogWycuL2RhdGUuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERieERhdGVUaW1lRmllbGRDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGU8RGF0ZVRpbWVGb3JtbHlGaWVsZENvbmZpZz4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfc3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF92YWx1ZVN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICBwcml2YXRlIF9mdWxsRGF5SW5wdXRDdHJsPzogRm9ybUNvbnRyb2w7XG4gIHByaXZhdGUgX2Z1bGxEYXlDb250cm9sT2JzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxBYnN0cmFjdENvbnRyb2w+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBmdWxsRGF5Q29udHJvbCQgPSB0aGlzLl9mdWxsRGF5Q29udHJvbE9icy5waXBlKGZpbHRlck1heWJlKCkpO1xuXG4gIHByaXZhdGUgX29mZnNldCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgcHJpdmF0ZSBfZm9ybUNvbnRyb2xPYnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPEFic3RyYWN0Q29udHJvbD4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGZvcm1Db250cm9sJCA9IHRoaXMuX2Zvcm1Db250cm9sT2JzLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG5cbiAgcHJpdmF0ZSBfdXBkYXRlVGltZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgdmFsdWUkID0gdGhpcy5mb3JtQ29udHJvbCQucGlwZShcbiAgICBzd2l0Y2hNYXAoY29udHJvbCA9PiBjb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aChjb250cm9sLnZhbHVlKSkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBpc1NhbWVNaW51dGUoYSwgYikpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gdHJpZ2dlci9kaXNwbGF5IHZpc3VhbCB1cGRhdGVzIChzcGVjaWZpY2FsbHkgb24gdGltZURpc3RhbmNlLCBldGMuKS5cbiAgICovXG4gIHJlYWRvbmx5IGRpc3BsYXlWYWx1ZSQgPSBpbnRlcnZhbCgxMCAqIDEwMDApLnBpcGUoXG4gICAgc3RhcnRXaXRoKDApLFxuICAgIG1hcChfID0+IG5ldyBEYXRlKCkuZ2V0TWludXRlcygpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHRhcCgoXykgPT4gdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKSksXG4gICAgc3dpdGNoTWFwKF8gPT4gdGhpcy52YWx1ZSQpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgdGltZVN0cmluZyQ6IE9ic2VydmFibGU8UmVhZGFibGVUaW1lU3RyaW5nPiA9IHRoaXMudmFsdWUkLnBpcGUoXG4gICAgZmlsdGVyKHggPT4gQm9vbGVhbih4KSksXG4gICAgbWFwKCh4KSA9PiB7XG4gICAgICBjb25zdCB0aW1lem9uZSA9IGd1ZXNzQ3VycmVudFRpbWV6b25lKCk7XG4gICAgICBjb25zdCB0aW1lU3RyaW5nID0gdG9SZWFkYWJsZVRpbWVTdHJpbmcoeCwgdGltZXpvbmUpO1xuICAgICAgcmV0dXJuIHRpbWVTdHJpbmc7XG4gICAgfSlcbiAgKTtcblxuICByZWFkb25seSB0aW1lSW5wdXRDdHJsID0gbmV3IEZvcm1Db250cm9sKCcnLCB7XG4gICAgdmFsaWRhdG9yczogW1xuICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKC9eKFswLTldfCgwWzAtOV0pfCgxWzAtOV0pfCgyWzAtM10pKSg6KT8oWzAtNV1bMC05XSk/KFxccyk/KFthcEFQXVtNbV0pPyhcXFxccykqJC8pXG4gICAgXVxuICB9KTtcblxuICBwcml2YXRlIF9kYXRlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRlPihuZXcgRGF0ZSgpKTtcbiAgcHJpdmF0ZSBfY29uZmlnID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxPYnNlcnZhYmxlPERhdGVUaW1lUGlja2VyQ29uZmlndXJhdGlvbj4+Pih1bmRlZmluZWQpO1xuXG4gIGdldCB0aW1lT25seSgpOiBNYXliZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQudGltZU9ubHk7XG4gIH1cblxuICBnZXQgc2hvd0RhdGVJbnB1dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMudGltZU9ubHk7XG4gIH1cblxuICBnZXQgdGltZU1vZGUoKTogRGF0ZVRpbWVGaWVsZFRpbWVNb2RlIHtcbiAgICByZXR1cm4gKHRoaXMudGltZU9ubHkpID8gRGF0ZVRpbWVGaWVsZFRpbWVNb2RlLlJFUVVJUkVEIDogKHRoaXMuZmllbGQudGltZU1vZGUgPz8gRGF0ZVRpbWVGaWVsZFRpbWVNb2RlLlJFUVVJUkVEKTtcbiAgfVxuXG4gIGdldCBkZXNjcmlwdGlvbigpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC50ZW1wbGF0ZU9wdGlvbnM/LmRlc2NyaXB0aW9uO1xuICB9XG5cbiAgcmVhZG9ubHkgZnVsbERheSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmZ1bGxEYXlDb250cm9sJC5waXBlKFxuICAgIHN3aXRjaE1hcChjb250cm9sID0+IGNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKGNvbnRyb2wudmFsdWUpKSlcbiAgKTtcblxuICByZWFkb25seSBzaG93VGltZUlucHV0JDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuZnVsbERheSQucGlwZShcbiAgICBtYXAoeCA9PiAheCAmJiB0aGlzLnRpbWVNb2RlICE9PSBEYXRlVGltZUZpZWxkVGltZU1vZGUuTk9ORSlcbiAgKTtcblxuICByZWFkb25seSBzaG93QWRkVGltZSQgPSB0aGlzLnNob3dUaW1lSW5wdXQkLnBpcGUoXG4gICAgbWFwKHggPT4gIXggJiYgdGhpcy50aW1lTW9kZSA9PT0gRGF0ZVRpbWVGaWVsZFRpbWVNb2RlLk9QVElPTkFMKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGRhdGUkID0gdGhpcy5fZGF0ZS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBpc1NhbWVEYXkoYSwgYikpKTtcbiAgcmVhZG9ubHkgZGF0ZVZhbHVlJCA9IG1lcmdlKFxuICAgIHRoaXMudmFsdWUkLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCkpLFxuICAgIHRoaXMuZGF0ZSRcbiAgKS5waXBlKFxuICAgIGZpbHRlck1heWJlKCksXG4gICAgbWFwKCh4OiBEYXRlKSA9PiBzdGFydE9mRGF5KHgpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gaXNTYW1lRGF5KGEsIGIpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IHRpbWVJbnB1dCQ6IE9ic2VydmFibGU8UmVhZGFibGVUaW1lU3RyaW5nPiA9IHRoaXMuX3VwZGF0ZVRpbWUucGlwZShcbiAgICBkZWJvdW5jZVRpbWUoNSksXG4gICAgbWFwKHggPT4gdGhpcy50aW1lSW5wdXRDdHJsLnZhbHVlKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICk7XG5cbiAgcmVhZG9ubHkgY29uZmlnJCA9IHRoaXMuX2NvbmZpZy5waXBlKHN3aXRjaE1hcE1heWJlT2JzKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSByYXdEYXRlVGltZSQ6IE9ic2VydmFibGU8RGF0ZT4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmRhdGVWYWx1ZSQucGlwZShmaWx0ZXJNYXliZSgpKSxcbiAgICB0aGlzLnRpbWVJbnB1dCQucGlwZShzdGFydFdpdGgobnVsbCBhcyBhbnkpKSxcbiAgICB0aGlzLmZ1bGxEYXkkXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbZGF0ZSwgdGltZVN0cmluZywgZnVsbERheV0pID0+IHtcbiAgICAgIGxldCByZXN1bHQ6IE1heWJlPERhdGU+O1xuXG4gICAgICBpZiAoZnVsbERheSkge1xuICAgICAgICBpZiAodGhpcy5maWVsZC5mdWxsRGF5SW5VVEMpIHtcbiAgICAgICAgICByZXN1bHQgPSB1dGNEYXlGb3JEYXRlKGRhdGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9IHN0YXJ0T2ZEYXkoZGF0ZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodGltZVN0cmluZykge1xuICAgICAgICByZXN1bHQgPSByZWFkYWJsZVRpbWVTdHJpbmdUb0RhdGUodGltZVN0cmluZywge1xuICAgICAgICAgIGRhdGUsXG4gICAgICAgICAgdXNlU3lzdGVtVGltZXpvbmU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSksXG4gICAgZmlsdGVyTWF5YmUoKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gaXNTYW1lTWludXRlKGEsIGIpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IHRpbWVPdXRwdXQkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5yYXdEYXRlVGltZSQsXG4gICAgdGhpcy5fb2Zmc2V0LFxuICAgIHRoaXMuY29uZmlnJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICBdKS5waXBlKFxuICAgIHRocm90dGxlVGltZSgxMCwgdW5kZWZpbmVkLCB7IGxlYWRpbmc6IGZhbHNlLCB0cmFpbGluZzogdHJ1ZSB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoY3VycmVudCwgbmV4dCkgPT4gY3VycmVudFswXSA9PT0gbmV4dFswXSAmJiBuZXh0WzFdID09PSAwKSxcbiAgICB0YXAoKFtfLCBzdGVwc09mZnNldF0pID0+IChzdGVwc09mZnNldCkgPyB0aGlzLl9vZmZzZXQubmV4dCgwKSA6IDApLFxuICAgIG1hcCgoW2RhdGUsIHN0ZXBzT2Zmc2V0LCBjb25maWddKSA9PiB7XG4gICAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBEYXRlVGltZU1pbnV0ZUluc3RhbmNlKHtcbiAgICAgICAgZGF0ZSxcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICByb3VuZERvd25Ub01pbnV0ZTogdHJ1ZVxuICAgICAgfSk7XG5cbiAgICAgIGRhdGUgPSBpbnN0YW5jZS5saW1pdChkYXRlKTtcblxuICAgICAgY29uc3QgbWludXRlcyA9IHN0ZXBzT2Zmc2V0ICogNTtcbiAgICAgIGRhdGUgPSBhZGRNaW51dGVzKGRhdGUsIG1pbnV0ZXMpO1xuXG4gICAgICByZXR1cm4gZGF0ZTtcbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYSAmJiBiICYmIGlzU2FtZU1pbnV0ZShhLCBiKSksXG4gICk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZm9ybUNvbnRyb2xPYnMubmV4dCh0aGlzLmZvcm1Db250cm9sKTtcbiAgICB0aGlzLl9jb25maWcubmV4dCh0aGlzLmZpZWxkLmdldENvbmZpZ09icz8uKCkpO1xuXG4gICAgdGhpcy5fc3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMudGltZU91dHB1dCQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3ZhbHVlU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMudGltZVN0cmluZyQuc3Vic2NyaWJlKCh4KSA9PiB7XG4gICAgICB0aGlzLnRpbWVJbnB1dEN0cmwuc2V0VmFsdWUoeCk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBpc0Z1bGxEYXlGaWVsZCA9IHRoaXMuZmllbGQuZnVsbERheUZpZWxkTmFtZTtcbiAgICBsZXQgZnVsbERheUZpZWxkQ3RybDogTWF5YmU8QWJzdHJhY3RDb250cm9sPjtcblxuICAgIGlmIChpc0Z1bGxEYXlGaWVsZCkge1xuICAgICAgZnVsbERheUZpZWxkQ3RybCA9IHRoaXMuZm9ybS5nZXQoaXNGdWxsRGF5RmllbGQpO1xuICAgIH1cblxuICAgIGlmICghZnVsbERheUZpZWxkQ3RybCkge1xuICAgICAgdGhpcy5fZnVsbERheUlucHV0Q3RybCA9IG5ldyBGb3JtQ29udHJvbCh0cnVlKTtcblxuICAgICAgLy8gU2V0IHRoZSBjb250cm9sIGluIHRoZSBmb3JtIHRvbyBpZiB0aGUgbmFtZSBpcyBkZWZpbmVkLlxuICAgICAgaWYgKGlzRnVsbERheUZpZWxkKSB7XG4gICAgICAgICh0aGlzLmZvcm0gYXMgRm9ybUdyb3VwKS5hZGRDb250cm9sKGlzRnVsbERheUZpZWxkLCB0aGlzLl9mdWxsRGF5SW5wdXRDdHJsKTtcbiAgICAgIH1cblxuICAgICAgZnVsbERheUZpZWxkQ3RybCA9IHRoaXMuX2Z1bGxEYXlJbnB1dEN0cmw7XG4gICAgfVxuXG4gICAgdGhpcy5fZnVsbERheUNvbnRyb2xPYnMubmV4dChmdWxsRGF5RmllbGRDdHJsKTtcblxuICAgIHN3aXRjaCAodGhpcy5maWVsZC50aW1lTW9kZSkge1xuICAgICAgY2FzZSBEYXRlVGltZUZpZWxkVGltZU1vZGUuT1BUSU9OQUw6XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBEYXRlVGltZUZpZWxkVGltZU1vZGUuTk9ORTpcbiAgICAgICAgdGhpcy5yZW1vdmVUaW1lKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBEYXRlVGltZUZpZWxkVGltZU1vZGUuUkVRVUlSRUQ6XG4gICAgICAgIHRoaXMuYWRkVGltZSgpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mb3JtQ29udHJvbE9icy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2RhdGUuY29tcGxldGUoKTtcbiAgICB0aGlzLl91cGRhdGVUaW1lLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fY29uZmlnLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fc3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl92YWx1ZVN1Yi5kZXN0cm95KCk7XG4gIH1cblxuICBkYXRlUGlja2VkKGV2ZW50OiBNYXREYXRlcGlja2VySW5wdXRFdmVudDxEYXRlPik6IHZvaWQge1xuICAgIGNvbnN0IGRhdGUgPSBldmVudC52YWx1ZTtcblxuICAgIGlmIChkYXRlKSB7XG4gICAgICB0aGlzLl9kYXRlLm5leHQoZGF0ZSk7XG4gICAgICB0aGlzLl91cGRhdGVUaW1lLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBzZXRUaW1lKHRpbWU6IFJlYWRhYmxlVGltZVN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudGltZUlucHV0Q3RybC5zZXRWYWx1ZSh0aW1lKTtcbiAgICB0aGlzLl9vZmZzZXQubmV4dCgwKTtcbiAgICB0aGlzLl91cGRhdGVUaW1lLm5leHQoKTtcbiAgfVxuXG4gIGtleWRvd25PbklucHV0KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgbGV0IGRpcmVjdGlvbiA9IDA7XG5cbiAgICBzd2l0Y2ggKGV2ZW50LmtleT8udG9Mb3dlckNhc2UoKSkge1xuICAgICAgY2FzZSAnYXJyb3d1cCc6XG4gICAgICAgIGRpcmVjdGlvbiA9IDE7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYXJyb3dkb3duJzpcbiAgICAgICAgZGlyZWN0aW9uID0gLTE7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGxldCBvZmZzZXQgPSAxO1xuXG4gICAgaWYgKGV2ZW50LmFsdEtleSAmJiBldmVudC5zaGlmdEtleSkge1xuICAgICAgb2Zmc2V0ID0gMzAwO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYWx0S2V5KSB7XG4gICAgICBvZmZzZXQgPSA2MDtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICBvZmZzZXQgPSA1O1xuICAgIH1cblxuICAgIGlmIChkaXJlY3Rpb24gIT09IDApIHtcbiAgICAgIHRoaXMuX29mZnNldC5uZXh0KHRoaXMuX29mZnNldC52YWx1ZSArIChvZmZzZXQgKiBkaXJlY3Rpb24pKTtcbiAgICAgIHRoaXMuX3VwZGF0ZVRpbWUubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIGZvY3VzVGltZSgpOiB2b2lkIHtcblxuICB9XG5cbiAgZm9jdXNPdXRUaW1lKCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZVRpbWUubmV4dCgpO1xuICB9XG5cbiAgYWRkVGltZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEZ1bGxEYXkoZmFsc2UpO1xuICB9XG5cbiAgcmVtb3ZlVGltZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEZ1bGxEYXkodHJ1ZSk7XG4gIH1cblxuICBzZXRGdWxsRGF5KGZ1bGxEYXk6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmZ1bGxEYXlDb250cm9sJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoeCkgPT4ge1xuICAgICAgeC5zZXRWYWx1ZShmdWxsRGF5KTtcbiAgICB9KTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZGJ4LWRhdGV0aW1lLWZpZWxkXCIgZnhMYXlvdXQ9XCJyb3cgd3JhcFwiIGZ4TGF5b3V0LnhzPVwiY29sdW1uIHdyYXBcIiBmeExheW91dEFsaWduPVwic3BhY2UtZXZlbmx5IHN0cmV0Y2hcIj5cbiAgPCEtLSBEYXRlIC0tPlxuICA8ZGl2IGNsYXNzPVwiZGJ4LWRhdGV0aW1lLXJvd1wiIGZ4RmxleC5sdC1zbT1cIjEwMFwiIGZ4RmxleD1cIjUwXCIgKm5nSWY9XCJzaG93RGF0ZUlucHV0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGVJbnB1dFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8IS0tIFRpbWUgLS0+XG4gIDxkaXYgY2xhc3M9XCJkYngtZGF0ZXRpbWUtcm93XCIgZnhGbGV4Lmx0LXNtPVwiMTAwXCIgW2Z4RmxleF09XCJzaG93RGF0ZUlucHV0ID8gNTAgOiAxMDBcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1RpbWVJbnB1dCQgfCBhc3luY1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRpbWVNZW51QW5kSW5wdXRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJhZGQtdGltZS1idXR0b24td3JhcHBlclwiICpuZ0lmPVwic2hvd0FkZFRpbWUkIHwgYXN5bmNcIj5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz1cImFkZC10aW1lLWJ1dHRvblwiIChjbGljayk9XCJhZGRUaW1lKClcIj5cbiAgICAgICAgPG1hdC1pY29uPnRpbWVyPC9tYXQtaWNvbj4gQWRkIFRpbWVcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImRieC1kYXRldGltZS1yb3cgZGJ4LWRhdGV0aW1lLWhpbnQtcm93XCIgZnhGbGV4PVwiMTAwXCI+XG4gICAgPGRpdiBjbGFzcz1cImRieC1oaW50XCIgW25nU3dpdGNoXT1cImZ1bGxEYXkkIHwgYXN5bmNcIj5cbiAgICAgIDxzbWFsbCAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiPjxiIGNsYXNzPVwiZGJ4LW9rXCI+QWxsIERheTwvYj4ge3sgZGF0ZVZhbHVlJCB8IGFzeW5jIHwgZGF0ZTonZnVsbERhdGUnIH19XG4gICAgICAgICh7eyBkYXRlVmFsdWUkIHwgYXN5bmMgfCBkYXRlRGlzdGFuY2UgfX0pPC9zbWFsbD5cbiAgICAgIDxzbWFsbCAqbmdTd2l0Y2hDYXNlPVwiZmFsc2VcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZhbHVlJCB8IGFzeW5jXCI+PGIgY2xhc3M9XCJkYngtb2tcIj5BdDwvYj4ge3sgZGlzcGxheVZhbHVlJCB8IGFzeW5jIHwgZGF0ZTonbWVkaXVtJyB9fVxuICAgICAgICAgICh7eyBkaXNwbGF5VmFsdWUkIHwgYXN5bmMgfCB0aW1lRGlzdGFuY2UgfX0pPC9uZy1jb250YWluZXI+XG4gICAgICA8L3NtYWxsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJkYngtc21hbGwgZGJ4LWxhYmVsXCIgKm5nSWY9XCJkZXNjcmlwdGlvblwiPlxuICAgICAge3sgZGVzY3JpcHRpb24gfX1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLSBEYXRlIElucHV0IFRlbXBsYXRlIC0tPlxuPG5nLXRlbXBsYXRlICNkYXRlSW5wdXRUZW1wbGF0ZT5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInBpY2tlci5vcGVuKClcIj5cbiAgICA8bWF0LWljb24+Y2FsZW5kYXJfdG9kYXk8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZGJ4LWRhdGV0aW1lLXJvdy1maWVsZFwiPlxuICAgIDxtYXQtbGFiZWw+RGF0ZTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIiAoZGF0ZUNoYW5nZSk9XCJkYXRlUGlja2VkKCRldmVudClcIiBbdmFsdWVdPVwiZGF0ZVZhbHVlJCB8IGFzeW5jXCI+XG4gICAgPG1hdC1kYXRlcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gVGltZSBNZW51L0lucHV0IFRlbXBsYXRlIC0tPlxuPG5nLXRlbXBsYXRlICN0aW1lTWVudUFuZElucHV0VGVtcGxhdGU+XG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJ0aW1lbWVudVwiIGFyaWEtbGFiZWw9XCJvcGVucyB0aGUgdGltZSBtZW51XCI+XG4gICAgPG1hdC1pY29uPnRpbWVyPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG4gIDxtYXQtbWVudSAjdGltZW1lbnU9XCJtYXRNZW51XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRpbWVNb2RlID09PSAnb3B0aW9uYWwnXCI+XG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInJlbW92ZVRpbWUoKVwiPlxuICAgICAgICA8c3Bhbj5SZW1vdmUgVGltZTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzZXRUaW1lKCcxMjowMEFNJylcIj5cbiAgICAgIDxzcGFuPk1pZG5pZ2h0PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwic2V0VGltZSgnNjowMEFNJylcIj5cbiAgICAgIDxzcGFuPjY6MDBBTTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInNldFRpbWUoJzg6MDBBTScpXCI+XG4gICAgICA8c3Bhbj44OjAwQU08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzZXRUaW1lKCcxMDowMEFNJylcIj5cbiAgICAgIDxzcGFuPjEwOjAwQU08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzZXRUaW1lKCcxMjowMFBNJylcIj5cbiAgICAgIDxzcGFuPk5vb248L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzZXRUaW1lKCcyOjAwUE0nKVwiPlxuICAgICAgPHNwYW4+MjowMFBNPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwic2V0VGltZSgnNTowMFBNJylcIj5cbiAgICAgIDxzcGFuPjU6MDBQTTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9tYXQtbWVudT5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZGJ4LWRhdGV0aW1lLXJvdy1maWVsZFwiPlxuICAgIDxtYXQtbGFiZWw+VGltZTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCAjdGltZUlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJ0aW1lSW5wdXRDdHJsXCIgKGZvY3VzKT1cImZvY3VzVGltZSgpXCIgKGZvY3Vzb3V0KT1cImZvY3VzT3V0VGltZSgpXCJcbiAgICAgIChrZXlkb3duKT1cImtleWRvd25PbklucHV0KCRldmVudClcIj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './date.field.module';
|
|
2
|
+
export * from './date.field';
|
|
3
|
+
export * from './datetime.field.component';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC92YWx1ZS9kYXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGF0ZS5maWVsZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlLmZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZXRpbWUuZmllbGQuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { formlyField } from '../../field';
|
|
2
|
+
export function staticEnumField({ key, label = '', placeholder = '', description, multiple = false, required = false, options }) {
|
|
3
|
+
const fieldConfig = formlyField({
|
|
4
|
+
key,
|
|
5
|
+
type: 'select',
|
|
6
|
+
templateOptions: {
|
|
7
|
+
label,
|
|
8
|
+
description,
|
|
9
|
+
placeholder,
|
|
10
|
+
required,
|
|
11
|
+
multiple,
|
|
12
|
+
selectAllOption: 'Select All',
|
|
13
|
+
options
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
return fieldConfig;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2ZpZWxkL3ZhbHVlL2VudW0vZW51bS5maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUF1QyxNQUFNLGFBQWEsQ0FBQztBQWUvRSxNQUFNLFVBQVUsZUFBZSxDQUFVLEVBQ3ZDLEdBQUcsRUFBRSxLQUFLLEdBQUcsRUFBRSxFQUFFLFdBQVcsR0FBRyxFQUFFLEVBQ2pDLFdBQVcsRUFDWCxRQUFRLEdBQUcsS0FBSyxFQUNoQixRQUFRLEdBQUcsS0FBSyxFQUNoQixPQUFPLEVBQ2tCO0lBQ3pCLE1BQU0sV0FBVyxHQUFzQixXQUFXLENBQUM7UUFDakQsR0FBRztRQUNILElBQUksRUFBRSxRQUFRO1FBQ2QsZUFBZSxFQUFFO1lBQ2YsS0FBSztZQUNMLFdBQVc7WUFDWCxXQUFXO1lBQ1gsUUFBUTtZQUNSLFFBQVE7WUFDUixlQUFlLEVBQUUsWUFBWTtZQUM3QixPQUFPO1NBQ1I7S0FDRixDQUFDLENBQUM7SUFFSCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9ybWx5RmllbGQsIERlc2NyaXB0aW9uRmllbGRDb25maWcsIEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vZmllbGQnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEVudW1WYWx1ZUZpZWxkT3B0aW9uIH0gZnJvbSAnLi9lbnVtJztcblxuZXhwb3J0IGludGVyZmFjZSBTdGF0aWNFbnVtRmllbGRDb25maWc8VD4gZXh0ZW5kcyBGaWVsZENvbmZpZywgRGVzY3JpcHRpb25GaWVsZENvbmZpZyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCBtdWx0aXBsZSB2YWx1ZXMgY2FuIGJlIHNlbGVjdGVkLlxuICAgKi9cbiAgbXVsdGlwbGU/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9uc1xuICAgKi9cbiAgb3B0aW9uczogRW51bVZhbHVlRmllbGRPcHRpb248VD5bXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRpY0VudW1GaWVsZDxUID0gYW55Pih7XG4gIGtleSwgbGFiZWwgPSAnJywgcGxhY2Vob2xkZXIgPSAnJyxcbiAgZGVzY3JpcHRpb24sXG4gIG11bHRpcGxlID0gZmFsc2UsXG4gIHJlcXVpcmVkID0gZmFsc2UsXG4gIG9wdGlvbnNcbn06IFN0YXRpY0VudW1GaWVsZENvbmZpZzxUPik6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgY29uc3QgZmllbGRDb25maWc6IEZvcm1seUZpZWxkQ29uZmlnID0gZm9ybWx5RmllbGQoe1xuICAgIGtleSxcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgIGxhYmVsLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBwbGFjZWhvbGRlcixcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgbXVsdGlwbGUsXG4gICAgICBzZWxlY3RBbGxPcHRpb246ICdTZWxlY3QgQWxsJyxcbiAgICAgIG9wdGlvbnNcbiAgICB9LFxuICB9KTtcblxuICByZXR1cm4gZmllbGRDb25maWc7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2ZpZWxkL3ZhbHVlL2VudW0vZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgaW50ZXJmYWNlIEVudW1WYWx1ZUZpZWxkT3B0aW9uPFQ+IHtcbiAgdmFsdWU6IFQ7XG4gIGxhYmVsOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './enum';
|
|
2
|
+
export * from './enum.field';
|
|
3
|
+
// TODO: Finish dynamic.enum before adding in
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC92YWx1ZS9lbnVtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsY0FBYyxDQUFDO0FBRTdCLDZDQUE2QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2VudW0uZmllbGQnO1xuXG4vLyBUT0RPOiBGaW5pc2ggZHluYW1pYy5lbnVtIGJlZm9yZSBhZGRpbmcgaW5cbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { formlyField } from '../field';
|
|
2
|
+
export function hiddenField({ key, required = false }) {
|
|
3
|
+
return formlyField({
|
|
4
|
+
key,
|
|
5
|
+
templateOptions: { required }
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlkZGVuLmZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvdmFsdWUvaGlkZGVuLmZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJcEQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLEdBQUcsS0FBSyxFQUFxQjtJQUN0RSxPQUFPLFdBQVcsQ0FBQztRQUNqQixHQUFHO1FBQ0gsZUFBZSxFQUFFLEVBQUUsUUFBUSxFQUFFO0tBQzlCLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUvbGliL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRDb25maWcsIGZvcm1seUZpZWxkIH0gZnJvbSAnLi4vZmllbGQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhpZGRlbkZpZWxkQ29uZmlnIGV4dGVuZHMgUGljazxGaWVsZENvbmZpZywgJ2tleScgfCAncmVxdWlyZWQnPiB7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGhpZGRlbkZpZWxkKHsga2V5LCByZXF1aXJlZCA9IGZhbHNlIH06IEhpZGRlbkZpZWxkQ29uZmlnKTogRm9ybWx5RmllbGRDb25maWcge1xuICByZXR1cm4gZm9ybWx5RmllbGQoe1xuICAgIGtleSxcbiAgICB0ZW1wbGF0ZU9wdGlvbnM6IHsgcmVxdWlyZWQgfVxuICB9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './array';
|
|
2
|
+
export * from './boolean';
|
|
3
|
+
export * from './date';
|
|
4
|
+
export * from './enum';
|
|
5
|
+
export * from './phone';
|
|
6
|
+
export * from './text';
|
|
7
|
+
export * from './hidden.field';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC92YWx1ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcnJheSc7XG5leHBvcnQgKiBmcm9tICcuL2Jvb2xlYW4nO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL3Bob25lJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL2hpZGRlbi5maWVsZCc7XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './phone.field.component';
|
|
2
|
+
export * from './phone.field.module';
|
|
3
|
+
export * from './phone.field';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC92YWx1ZS9waG9uZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Bob25lLmZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Bob25lLmZpZWxkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3Bob25lLmZpZWxkJztcbiJdfQ==
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { FieldType } from '@ngx-formly/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/form-field";
|
|
5
|
+
import * as i2 from "ngx-mat-intl-tel-input";
|
|
6
|
+
import * as i3 from "@angular/forms";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
export const DEFAULT_PREFERRED_COUNTRIES = ['us'];
|
|
9
|
+
export class DbxInternationalPhoneFieldComponent extends FieldType {
|
|
10
|
+
get fieldInputKey() {
|
|
11
|
+
return this.key;
|
|
12
|
+
}
|
|
13
|
+
get fieldFormGroup() {
|
|
14
|
+
return this.form;
|
|
15
|
+
}
|
|
16
|
+
get label() {
|
|
17
|
+
return this.field.templateOptions.label;
|
|
18
|
+
}
|
|
19
|
+
get placeholder() {
|
|
20
|
+
return this.field.templateOptions.placeholder;
|
|
21
|
+
}
|
|
22
|
+
get description() {
|
|
23
|
+
return this.field.templateOptions.description;
|
|
24
|
+
}
|
|
25
|
+
get preferredCountries() {
|
|
26
|
+
return this.field.preferredCountries ?? DEFAULT_PREFERRED_COUNTRIES;
|
|
27
|
+
}
|
|
28
|
+
get onlyCountries() {
|
|
29
|
+
return this.field.onlyCountries ?? [];
|
|
30
|
+
}
|
|
31
|
+
get required() {
|
|
32
|
+
return this.field.templateOptions.required ?? false;
|
|
33
|
+
}
|
|
34
|
+
get errors() {
|
|
35
|
+
return this.field.formControl?.errors;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
DbxInternationalPhoneFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxInternationalPhoneFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
+
DbxInternationalPhoneFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxInternationalPhoneFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-international-phone-field\" [formGroup]=\"fieldFormGroup\">\n <mat-form-field class=\"dbx-international-phone-form-field\">\n <ngx-mat-intl-tel-input [required]=\"required\" [preferredCountries]=\"preferredCountries\" [enablePlaceholder]=\"false\"\n name=\"phone\" [formControlName]=\"fieldInputKey\">\n </ngx-mat-intl-tel-input>\n <mat-error *ngIf=\"errors?.['required']\">Required Field</mat-error>\n <mat-error *ngIf=\"errors?.['validatePhoneNumber']\">Invalid Number</mat-error>\n <mat-hint>{{ description }}</mat-hint>\n </mat-form-field>\n</div>\n", components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i2.NgxMatIntlTelInputComponent, selector: "ngx-mat-intl-tel-input", inputs: ["preferredCountries", "enablePlaceholder", "inputPlaceholder", "cssClass", "name", "onlyCountries", "errorStateMatcher", "enableSearch", "searchPlaceholder", "describedBy", "format", "placeholder", "required", "disabled"], outputs: ["countryChanged"] }], directives: [{ type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatError, selector: "mat-error", inputs: ["id"] }, { type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }] });
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxInternationalPhoneFieldComponent, decorators: [{
|
|
41
|
+
type: Component,
|
|
42
|
+
args: [{ template: "<div class=\"dbx-international-phone-field\" [formGroup]=\"fieldFormGroup\">\n <mat-form-field class=\"dbx-international-phone-form-field\">\n <ngx-mat-intl-tel-input [required]=\"required\" [preferredCountries]=\"preferredCountries\" [enablePlaceholder]=\"false\"\n name=\"phone\" [formControlName]=\"fieldInputKey\">\n </ngx-mat-intl-tel-input>\n <mat-error *ngIf=\"errors?.['required']\">Required Field</mat-error>\n <mat-error *ngIf=\"errors?.['validatePhoneNumber']\">Invalid Number</mat-error>\n <mat-hint>{{ description }}</mat-hint>\n </mat-form-field>\n</div>\n" }]
|
|
43
|
+
}] });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvdmFsdWUvcGhvbmUvcGhvbmUuZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvdmFsdWUvcGhvbmUvcGhvbmUuZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGtCQUFrQixDQUFDOzs7Ozs7QUFVaEUsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUtsRCxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsU0FBOEM7SUFFckcsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsR0FBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWdCLENBQUMsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZ0IsQ0FBQyxXQUFXLENBQUM7SUFDakQsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFnQixDQUFDLFdBQVcsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixJQUFJLDJCQUEyQixDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWdCLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDeEMsQ0FBQzs7Z0lBcENVLG1DQUFtQztvSEFBbkMsbUNBQW1DLDJFQ2pCaEQsa2xCQVVBOzJGRE9hLG1DQUFtQztrQkFIL0MsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycywgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmllbGRUeXBlLCBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhJbnRlcm5hdGlvbmFsUGhvbmVGaWVsZENvbmZpZyB7XG4gIHByZWZlcnJlZENvdW50cmllcz86IHN0cmluZ1tdO1xuICBvbmx5Q291bnRyaWVzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJuYXRpb25hbFBob25lRm9ybWx5RmllbGRDb25maWcgZXh0ZW5kcyBEYnhJbnRlcm5hdGlvbmFsUGhvbmVGaWVsZENvbmZpZywgRm9ybWx5RmllbGRDb25maWcgeyB9XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BSRUZFUlJFRF9DT1VOVFJJRVMgPSBbJ3VzJ107XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJ3Bob25lLmZpZWxkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBEYnhJbnRlcm5hdGlvbmFsUGhvbmVGaWVsZENvbXBvbmVudCBleHRlbmRzIEZpZWxkVHlwZTxJbnRlcm5hdGlvbmFsUGhvbmVGb3JtbHlGaWVsZENvbmZpZz4ge1xuXG4gIGdldCBmaWVsZElucHV0S2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMua2V5IGFzIHN0cmluZztcbiAgfVxuXG4gIGdldCBmaWVsZEZvcm1Hcm91cCgpOiBGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmZvcm0gYXMgRm9ybUdyb3VwO1xuICB9XG5cbiAgZ2V0IGxhYmVsKCk6IE1heWJlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnRlbXBsYXRlT3B0aW9ucyEubGFiZWw7XG4gIH1cblxuICBnZXQgcGxhY2Vob2xkZXIoKTogTWF5YmU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQudGVtcGxhdGVPcHRpb25zIS5wbGFjZWhvbGRlcjtcbiAgfVxuXG4gIGdldCBkZXNjcmlwdGlvbigpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC50ZW1wbGF0ZU9wdGlvbnMhLmRlc2NyaXB0aW9uO1xuICB9XG5cbiAgZ2V0IHByZWZlcnJlZENvdW50cmllcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQucHJlZmVycmVkQ291bnRyaWVzID8/IERFRkFVTFRfUFJFRkVSUkVEX0NPVU5UUklFUztcbiAgfVxuXG4gIGdldCBvbmx5Q291bnRyaWVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5vbmx5Q291bnRyaWVzID8/IFtdO1xuICB9XG5cbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnRlbXBsYXRlT3B0aW9ucyEucmVxdWlyZWQgPz8gZmFsc2U7XG4gIH1cblxuICBnZXQgZXJyb3JzKCk6IE1heWJlPFZhbGlkYXRpb25FcnJvcnM+IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5mb3JtQ29udHJvbD8uZXJyb3JzO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJkYngtaW50ZXJuYXRpb25hbC1waG9uZS1maWVsZFwiIFtmb3JtR3JvdXBdPVwiZmllbGRGb3JtR3JvdXBcIj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZGJ4LWludGVybmF0aW9uYWwtcGhvbmUtZm9ybS1maWVsZFwiPlxuICAgIDxuZ3gtbWF0LWludGwtdGVsLWlucHV0IFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFtwcmVmZXJyZWRDb3VudHJpZXNdPVwicHJlZmVycmVkQ291bnRyaWVzXCIgW2VuYWJsZVBsYWNlaG9sZGVyXT1cImZhbHNlXCJcbiAgICAgIG5hbWU9XCJwaG9uZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGRJbnB1dEtleVwiPlxuICAgIDwvbmd4LW1hdC1pbnRsLXRlbC1pbnB1dD5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZXJyb3JzPy5bJ3JlcXVpcmVkJ11cIj5SZXF1aXJlZCBGaWVsZDwvbWF0LWVycm9yPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJlcnJvcnM/LlsndmFsaWRhdGVQaG9uZU51bWJlciddXCI+SW52YWxpZCBOdW1iZXI8L21hdC1lcnJvcj5cbiAgICA8bWF0LWhpbnQ+e3sgZGVzY3JpcHRpb24gfX08L21hdC1oaW50PlxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { textField } from '../text/text.field';
|
|
2
|
+
import { formlyField } from '../../field';
|
|
3
|
+
import { flexLayoutWrapper } from '../../wrapper/flex.wrapper.layout';
|
|
4
|
+
export function internationalPhoneField({ key, label = '', placeholder = '', required = false }) {
|
|
5
|
+
const fieldConfig = formlyField({
|
|
6
|
+
key,
|
|
7
|
+
type: 'intphone',
|
|
8
|
+
templateOptions: {
|
|
9
|
+
label,
|
|
10
|
+
placeholder,
|
|
11
|
+
required
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
// TODO: Add configuration...
|
|
15
|
+
return fieldConfig;
|
|
16
|
+
}
|
|
17
|
+
export function phoneAndLabelFields({ phoneField: phone, labelField: label }) {
|
|
18
|
+
return [
|
|
19
|
+
flexLayoutWrapper([
|
|
20
|
+
{
|
|
21
|
+
field: internationalPhoneField({ key: 'phone', ...phone })
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
field: textField({
|
|
25
|
+
key: 'label',
|
|
26
|
+
label: 'Label',
|
|
27
|
+
autocomplete: 'phone-label',
|
|
28
|
+
...label
|
|
29
|
+
})
|
|
30
|
+
}
|
|
31
|
+
])
|
|
32
|
+
];
|
|
33
|
+
}
|
|
34
|
+
export function phoneAndLabelFieldGroup({ key = 'phone', label = 'Phone Number', required, phoneField, labelField }) {
|
|
35
|
+
return {
|
|
36
|
+
key,
|
|
37
|
+
wrappers: ['section'],
|
|
38
|
+
templateOptions: {
|
|
39
|
+
label,
|
|
40
|
+
required
|
|
41
|
+
},
|
|
42
|
+
fieldGroup: phoneAndLabelFields({ phoneField, labelField })
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export function phoneListField({ key = 'phones', label = 'Phone Numbers', repeatSection, required = false, maxPhones = 6, phoneField, labelField }) {
|
|
46
|
+
return {
|
|
47
|
+
key,
|
|
48
|
+
type: 'repeat',
|
|
49
|
+
wrappers: ['section'],
|
|
50
|
+
templateOptions: {
|
|
51
|
+
label,
|
|
52
|
+
required,
|
|
53
|
+
repeatSection: repeatSection ?? {
|
|
54
|
+
addText: 'Add Phone Number',
|
|
55
|
+
removeText: 'Remove Phone Number'
|
|
56
|
+
},
|
|
57
|
+
maxLength: maxPhones
|
|
58
|
+
},
|
|
59
|
+
fieldArray: {
|
|
60
|
+
fieldGroup: phoneAndLabelFields({ phoneField, labelField })
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC92YWx1ZS9waG9uZS9waG9uZS5maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLG9CQUFvQixDQUFDO0FBRWhFLE9BQU8sRUFBZSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFLdEUsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEVBQ3RDLEdBQUcsRUFBRSxLQUFLLEdBQUcsRUFBRSxFQUFFLFdBQVcsR0FBRyxFQUFFLEVBQ2pDLFFBQVEsR0FBRyxLQUFLLEVBQ3VCO0lBQ3ZDLE1BQU0sV0FBVyxHQUFzQixXQUFXLENBQUM7UUFDakQsR0FBRztRQUNILElBQUksRUFBRSxVQUFVO1FBQ2hCLGVBQWUsRUFBRTtZQUNmLEtBQUs7WUFDTCxXQUFXO1lBQ1gsUUFBUTtTQUNUO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsNkJBQTZCO0lBRTdCLE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUFPRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQTJCO0lBQ25HLE9BQU87UUFDTCxpQkFBaUIsQ0FBQztZQUNoQjtnQkFDRSxLQUFLLEVBQUUsdUJBQXVCLENBQUMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7YUFDM0Q7WUFDRDtnQkFDRSxLQUFLLEVBQUUsU0FBUyxDQUFDO29CQUNmLEdBQUcsRUFBRSxPQUFPO29CQUNaLEtBQUssRUFBRSxPQUFPO29CQUNkLFlBQVksRUFBRSxhQUFhO29CQUMzQixHQUFHLEtBQUs7aUJBQ1QsQ0FBQzthQUNIO1NBQ0YsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBUUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEVBQUUsR0FBRyxHQUFHLE9BQU8sRUFBRSxLQUFLLEdBQUcsY0FBYyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFpQztJQUNoSixPQUFPO1FBQ0wsR0FBRztRQUNILFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQztRQUNyQixlQUFlLEVBQUU7WUFDZixLQUFLO1lBQ0wsUUFBUTtTQUNUO1FBQ0QsVUFBVSxFQUFFLG1CQUFtQixDQUFDLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDO0tBQzVELENBQUM7QUFDSixDQUFDO0FBVUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxRQUFRLEVBQUUsS0FBSyxHQUFHLGVBQWUsRUFBRSxhQUFhLEVBQUUsUUFBUSxHQUFHLEtBQUssRUFBRSxTQUFTLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQXdCO0lBQ3RLLE9BQU87UUFDTCxHQUFHO1FBQ0gsSUFBSSxFQUFFLFFBQVE7UUFDZCxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUM7UUFDckIsZUFBZSxFQUFFO1lBQ2YsS0FBSztZQUNMLFFBQVE7WUFDUixhQUFhLEVBQUUsYUFBYSxJQUFJO2dCQUM5QixPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixVQUFVLEVBQUUscUJBQXFCO2FBQ2xDO1lBQ0QsU0FBUyxFQUFFLFNBQVM7U0FDckI7UUFDRCxVQUFVLEVBQUU7WUFDVixVQUFVLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUM7U0FDNUQ7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRleHRGaWVsZCwgVGV4dEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vdGV4dC90ZXh0LmZpZWxkJztcbmltcG9ydCB7IEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBGaWVsZENvbmZpZywgZm9ybWx5RmllbGQgfSBmcm9tICcuLi8uLi9maWVsZCc7XG5pbXBvcnQgeyBmbGV4TGF5b3V0V3JhcHBlciB9IGZyb20gJy4uLy4uL3dyYXBwZXIvZmxleC53cmFwcGVyLmxheW91dCc7XG5pbXBvcnQgeyBEYnhJbnRlcm5hdGlvbmFsUGhvbmVGaWVsZENvbmZpZywgSW50ZXJuYXRpb25hbFBob25lRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICcuL3Bob25lLmZpZWxkLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJuYXRpb25hbFBob25lRmllbGRDb25maWcgZXh0ZW5kcyBGaWVsZENvbmZpZywgRGJ4SW50ZXJuYXRpb25hbFBob25lRmllbGRDb25maWcgeyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnRlcm5hdGlvbmFsUGhvbmVGaWVsZCh7XG4gIGtleSwgbGFiZWwgPSAnJywgcGxhY2Vob2xkZXIgPSAnJyxcbiAgcmVxdWlyZWQgPSBmYWxzZVxufTogUGFydGlhbDxJbnRlcm5hdGlvbmFsUGhvbmVGaWVsZENvbmZpZz4pOiBJbnRlcm5hdGlvbmFsUGhvbmVGb3JtbHlGaWVsZENvbmZpZyB7XG4gIGNvbnN0IGZpZWxkQ29uZmlnOiBGb3JtbHlGaWVsZENvbmZpZyA9IGZvcm1seUZpZWxkKHtcbiAgICBrZXksXG4gICAgdHlwZTogJ2ludHBob25lJyxcbiAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgIGxhYmVsLFxuICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICByZXF1aXJlZFxuICAgIH1cbiAgfSk7XG5cbiAgLy8gVE9ETzogQWRkIGNvbmZpZ3VyYXRpb24uLi5cblxuICByZXR1cm4gZmllbGRDb25maWc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGhvbmVGb3JtbHlGaWVsZHNDb25maWcge1xuICBwaG9uZUZpZWxkPzogSW50ZXJuYXRpb25hbFBob25lRmllbGRDb25maWc7XG4gIGxhYmVsRmllbGQ/OiBUZXh0RmllbGRDb25maWc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwaG9uZUFuZExhYmVsRmllbGRzKHsgcGhvbmVGaWVsZDogcGhvbmUsIGxhYmVsRmllbGQ6IGxhYmVsIH06IFBob25lRm9ybWx5RmllbGRzQ29uZmlnKTogRm9ybWx5RmllbGRDb25maWdbXSB7XG4gIHJldHVybiBbXG4gICAgZmxleExheW91dFdyYXBwZXIoW1xuICAgICAge1xuICAgICAgICBmaWVsZDogaW50ZXJuYXRpb25hbFBob25lRmllbGQoeyBrZXk6ICdwaG9uZScsIC4uLnBob25lIH0pXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBmaWVsZDogdGV4dEZpZWxkKHtcbiAgICAgICAgICBrZXk6ICdsYWJlbCcsXG4gICAgICAgICAgbGFiZWw6ICdMYWJlbCcsXG4gICAgICAgICAgYXV0b2NvbXBsZXRlOiAncGhvbmUtbGFiZWwnLFxuICAgICAgICAgIC4uLmxhYmVsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgXSlcbiAgXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaG9uZUFuZExhYmVsRmllbGRHcm91cENvbmZpZyBleHRlbmRzIFBob25lRm9ybWx5RmllbGRzQ29uZmlnIHtcbiAga2V5Pzogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGhvbmVBbmRMYWJlbEZpZWxkR3JvdXAoeyBrZXkgPSAncGhvbmUnLCBsYWJlbCA9ICdQaG9uZSBOdW1iZXInLCByZXF1aXJlZCwgcGhvbmVGaWVsZCwgbGFiZWxGaWVsZCB9OiBQaG9uZUFuZExhYmVsRmllbGRHcm91cENvbmZpZyk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICBrZXksXG4gICAgd3JhcHBlcnM6IFsnc2VjdGlvbiddLFxuICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgbGFiZWwsXG4gICAgICByZXF1aXJlZFxuICAgIH0sXG4gICAgZmllbGRHcm91cDogcGhvbmVBbmRMYWJlbEZpZWxkcyh7IHBob25lRmllbGQsIGxhYmVsRmllbGQgfSlcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaG9uZUxpc3RGaWVsZENvbmZpZyBleHRlbmRzIFBob25lQW5kTGFiZWxGaWVsZEdyb3VwQ29uZmlnIHtcbiAgbWF4UGhvbmVzPzogbnVtYmVyO1xuICByZXBlYXRTZWN0aW9uPzoge1xuICAgIGFkZFRleHQ6IHN0cmluZ1xuICAgIHJlbW92ZVRleHQ6IHN0cmluZ1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwaG9uZUxpc3RGaWVsZCh7IGtleSA9ICdwaG9uZXMnLCBsYWJlbCA9ICdQaG9uZSBOdW1iZXJzJywgcmVwZWF0U2VjdGlvbiwgcmVxdWlyZWQgPSBmYWxzZSwgbWF4UGhvbmVzID0gNiwgcGhvbmVGaWVsZCwgbGFiZWxGaWVsZCB9OiBQaG9uZUxpc3RGaWVsZENvbmZpZyk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICBrZXksXG4gICAgdHlwZTogJ3JlcGVhdCcsXG4gICAgd3JhcHBlcnM6IFsnc2VjdGlvbiddLFxuICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgbGFiZWwsXG4gICAgICByZXF1aXJlZCxcbiAgICAgIHJlcGVhdFNlY3Rpb246IHJlcGVhdFNlY3Rpb24gPz8ge1xuICAgICAgICBhZGRUZXh0OiAnQWRkIFBob25lIE51bWJlcicsXG4gICAgICAgIHJlbW92ZVRleHQ6ICdSZW1vdmUgUGhvbmUgTnVtYmVyJ1xuICAgICAgfSxcbiAgICAgIG1heExlbmd0aDogbWF4UGhvbmVzXG4gICAgfSxcbiAgICBmaWVsZEFycmF5OiB7XG4gICAgICBmaWVsZEdyb3VwOiBwaG9uZUFuZExhYmVsRmllbGRzKHsgcGhvbmVGaWVsZCwgbGFiZWxGaWVsZCB9KVxuICAgIH1cbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
5
|
+
import { MatChipsModule } from '@angular/material/chips';
|
|
6
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
7
|
+
import { MatInputModule } from '@angular/material/input';
|
|
8
|
+
import { FormlyModule } from '@ngx-formly/core';
|
|
9
|
+
import { DbxInternationalPhoneFieldComponent } from './phone.field.component';
|
|
10
|
+
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
11
|
+
import { NgxMatIntlTelInputModule } from 'ngx-mat-intl-tel-input';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@ngx-formly/core";
|
|
14
|
+
export class DbxFormFormlyPhoneFieldModule {
|
|
15
|
+
}
|
|
16
|
+
DbxFormFormlyPhoneFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormFormlyPhoneFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
+
DbxFormFormlyPhoneFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormFormlyPhoneFieldModule, declarations: [DbxInternationalPhoneFieldComponent], imports: [CommonModule,
|
|
18
|
+
MatInputModule,
|
|
19
|
+
FormsModule,
|
|
20
|
+
NgxMatIntlTelInputModule,
|
|
21
|
+
ReactiveFormsModule,
|
|
22
|
+
MatAutocompleteModule,
|
|
23
|
+
MatChipsModule,
|
|
24
|
+
MatIconModule,
|
|
25
|
+
FlexLayoutModule, i1.FormlyModule] });
|
|
26
|
+
DbxFormFormlyPhoneFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormFormlyPhoneFieldModule, imports: [[
|
|
27
|
+
CommonModule,
|
|
28
|
+
MatInputModule,
|
|
29
|
+
FormsModule,
|
|
30
|
+
NgxMatIntlTelInputModule,
|
|
31
|
+
ReactiveFormsModule,
|
|
32
|
+
MatAutocompleteModule,
|
|
33
|
+
MatChipsModule,
|
|
34
|
+
MatIconModule,
|
|
35
|
+
FlexLayoutModule,
|
|
36
|
+
FormlyModule.forChild({
|
|
37
|
+
types: [
|
|
38
|
+
{ name: 'intphone', component: DbxInternationalPhoneFieldComponent }
|
|
39
|
+
]
|
|
40
|
+
})
|
|
41
|
+
]] });
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormFormlyPhoneFieldModule, decorators: [{
|
|
43
|
+
type: NgModule,
|
|
44
|
+
args: [{
|
|
45
|
+
imports: [
|
|
46
|
+
CommonModule,
|
|
47
|
+
MatInputModule,
|
|
48
|
+
FormsModule,
|
|
49
|
+
NgxMatIntlTelInputModule,
|
|
50
|
+
ReactiveFormsModule,
|
|
51
|
+
MatAutocompleteModule,
|
|
52
|
+
MatChipsModule,
|
|
53
|
+
MatIconModule,
|
|
54
|
+
FlexLayoutModule,
|
|
55
|
+
FormlyModule.forChild({
|
|
56
|
+
types: [
|
|
57
|
+
{ name: 'intphone', component: DbxInternationalPhoneFieldComponent }
|
|
58
|
+
]
|
|
59
|
+
})
|
|
60
|
+
],
|
|
61
|
+
declarations: [
|
|
62
|
+
DbxInternationalPhoneFieldComponent
|
|
63
|
+
],
|
|
64
|
+
exports: []
|
|
65
|
+
}]
|
|
66
|
+
}] });
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuZmllbGQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvdmFsdWUvcGhvbmUvcGhvbmUuZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQXdCbEUsTUFBTSxPQUFPLDZCQUE2Qjs7MEhBQTdCLDZCQUE2QjsySEFBN0IsNkJBQTZCLGlCQUp0QyxtQ0FBbUMsYUFoQm5DLFlBQVk7UUFDWixjQUFjO1FBQ2QsV0FBVztRQUNYLHdCQUF3QjtRQUN4QixtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLGNBQWM7UUFDZCxhQUFhO1FBQ2IsZ0JBQWdCOzJIQVlQLDZCQUE2QixZQXJCL0I7WUFDUCxZQUFZO1lBQ1osY0FBYztZQUNkLFdBQVc7WUFDWCx3QkFBd0I7WUFDeEIsbUJBQW1CO1lBQ25CLHFCQUFxQjtZQUNyQixjQUFjO1lBQ2QsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixZQUFZLENBQUMsUUFBUSxDQUFDO2dCQUNwQixLQUFLLEVBQUU7b0JBQ0wsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxtQ0FBbUMsRUFBRTtpQkFDckU7YUFDRixDQUFDO1NBQ0g7MkZBTVUsNkJBQTZCO2tCQXRCekMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsd0JBQXdCO3dCQUN4QixtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsWUFBWSxDQUFDLFFBQVEsQ0FBQzs0QkFDcEIsS0FBSyxFQUFFO2dDQUNMLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsbUNBQW1DLEVBQUU7NkJBQ3JFO3lCQUNGLENBQUM7cUJBQ0g7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLG1DQUFtQztxQkFDcEM7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBGb3JtbHlNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IERieEludGVybmF0aW9uYWxQaG9uZUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9waG9uZS5maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcbmltcG9ydCB7IE5neE1hdEludGxUZWxJbnB1dE1vZHVsZSB9IGZyb20gJ25neC1tYXQtaW50bC10ZWwtaW5wdXQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE5neE1hdEludGxUZWxJbnB1dE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBNYXRDaGlwc01vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXG4gICAgRm9ybWx5TW9kdWxlLmZvckNoaWxkKHtcbiAgICAgIHR5cGVzOiBbXG4gICAgICAgIHsgbmFtZTogJ2ludHBob25lJywgY29tcG9uZW50OiBEYnhJbnRlcm5hdGlvbmFsUGhvbmVGaWVsZENvbXBvbmVudCB9XG4gICAgICBdXG4gICAgfSlcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRGJ4SW50ZXJuYXRpb25hbFBob25lRmllbGRDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW11cbn0pXG5leHBvcnQgY2xhc3MgRGJ4Rm9ybUZvcm1seVBob25lRmllbGRNb2R1bGUgeyB9XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './text.address.field';
|
|
2
|
+
export * from './text.field.module';
|
|
3
|
+
export * from './text.field';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC92YWx1ZS90ZXh0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGV4dC5hZGRyZXNzLmZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC5maWVsZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LmZpZWxkJztcbiJdfQ==
|