@dereekb/dbx-form 4.0.1 → 5.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.
Files changed (168) hide show
  1. package/LICENSE +21 -0
  2. package/_index.scss +4 -5
  3. package/esm2020/lib/form/action/form.action.directive.mjs +20 -21
  4. package/esm2020/lib/form/action/form.action.module.mjs +6 -17
  5. package/esm2020/lib/form/action/transition/form.action.transition.module.mjs +5 -13
  6. package/esm2020/lib/form/action/transition/form.action.transition.safety.directive.mjs +2 -2
  7. package/esm2020/lib/form/form.mjs +4 -7
  8. package/esm2020/lib/form/form.module.mjs +4 -12
  9. package/esm2020/lib/form/io/form.changes.directive.mjs +4 -2
  10. package/esm2020/lib/form/io/form.input.directive.mjs +3 -6
  11. package/esm2020/lib/form/io/form.io.module.mjs +6 -22
  12. package/esm2020/lib/form/io/form.loading.directive.mjs +1 -1
  13. package/esm2020/lib/form.module.mjs +4 -12
  14. package/esm2020/lib/formly/config/index.mjs +1 -1
  15. package/esm2020/lib/formly/config/validation.mjs +1 -1
  16. package/esm2020/lib/formly/field/checklist/checklist.field.mjs +6 -9
  17. package/esm2020/lib/formly/field/checklist/checklist.item.field.component.mjs +14 -12
  18. package/esm2020/lib/formly/field/checklist/checklist.item.field.content.default.component.mjs +1 -1
  19. package/esm2020/lib/formly/field/checklist/checklist.item.field.mjs +1 -1
  20. package/esm2020/lib/formly/field/checklist/checklist.item.field.module.mjs +6 -18
  21. package/esm2020/lib/formly/field/checklist/checklist.item.mjs +1 -1
  22. package/esm2020/lib/formly/field/component/component.field.component.mjs +1 -1
  23. package/esm2020/lib/formly/field/component/component.field.mjs +1 -1
  24. package/esm2020/lib/formly/field/component/component.field.module.mjs +5 -13
  25. package/esm2020/lib/formly/field/field.mjs +4 -2
  26. package/esm2020/lib/formly/field/form.field.module.mjs +5 -26
  27. package/esm2020/lib/formly/field/selection/pickable/index.mjs +1 -1
  28. package/esm2020/lib/formly/field/selection/pickable/pickable.chip.field.component.mjs +5 -5
  29. package/esm2020/lib/formly/field/selection/pickable/pickable.field.directive.mjs +43 -43
  30. package/esm2020/lib/formly/field/selection/pickable/pickable.field.mjs +3 -3
  31. package/esm2020/lib/formly/field/selection/pickable/pickable.field.module.mjs +5 -15
  32. package/esm2020/lib/formly/field/selection/pickable/pickable.list.field.component.mjs +17 -12
  33. package/esm2020/lib/formly/field/selection/pickable/pickable.mjs +1 -1
  34. package/esm2020/lib/formly/field/selection/searchable/searchable.chip.field.component.mjs +3 -3
  35. package/esm2020/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.mjs +15 -13
  36. package/esm2020/lib/formly/field/selection/searchable/searchable.field.directive.mjs +24 -26
  37. package/esm2020/lib/formly/field/selection/searchable/searchable.field.mjs +6 -5
  38. package/esm2020/lib/formly/field/selection/searchable/searchable.field.module.mjs +7 -19
  39. package/esm2020/lib/formly/field/selection/searchable/searchable.mjs +1 -1
  40. package/esm2020/lib/formly/field/selection/searchable/searchable.text.field.component.mjs +7 -8
  41. package/esm2020/lib/formly/field/selection/searchable/text.chip.field.mjs +5 -5
  42. package/esm2020/lib/formly/field/selection/selection.mjs +1 -1
  43. package/esm2020/lib/formly/field/selection/selection.module.mjs +5 -14
  44. package/esm2020/lib/formly/field/texteditor/texteditor.field.component.mjs +5 -3
  45. package/esm2020/lib/formly/field/texteditor/texteditor.field.mjs +1 -1
  46. package/esm2020/lib/formly/field/texteditor/texteditor.field.module.mjs +4 -10
  47. package/esm2020/lib/formly/field/value/array/array.field.component.mjs +31 -25
  48. package/esm2020/lib/formly/field/value/array/array.field.mjs +3 -3
  49. package/esm2020/lib/formly/field/value/array/array.field.module.mjs +4 -10
  50. package/esm2020/lib/formly/field/value/boolean/boolean.field.mjs +1 -1
  51. package/esm2020/lib/formly/field/value/boolean/boolean.field.module.mjs +1 -1
  52. package/esm2020/lib/formly/field/value/date/date.field.module.mjs +5 -13
  53. package/esm2020/lib/formly/field/value/date/datetime.field.component.mjs +24 -33
  54. package/esm2020/lib/formly/field/value/date/datetime.field.mjs +3 -3
  55. package/esm2020/lib/formly/field/value/enum/enum.field.mjs +2 -2
  56. package/esm2020/lib/formly/field/value/enum/enum.field.module.mjs +1 -1
  57. package/esm2020/lib/formly/field/value/enum/enum.mjs +1 -1
  58. package/esm2020/lib/formly/field/value/hidden.field.mjs +1 -1
  59. package/esm2020/lib/formly/field/value/phone/phone.field.component.mjs +3 -3
  60. package/esm2020/lib/formly/field/value/phone/phone.field.mjs +2 -4
  61. package/esm2020/lib/formly/field/value/phone/phone.field.module.mjs +4 -10
  62. package/esm2020/lib/formly/field/value/text/text.additional.field.mjs +2 -2
  63. package/esm2020/lib/formly/field/value/text/text.address.field.mjs +12 -6
  64. package/esm2020/lib/formly/field/value/text/text.field.mjs +2 -2
  65. package/esm2020/lib/formly/field/value/text/text.field.module.mjs +4 -10
  66. package/esm2020/lib/formly/field/value/value.module.mjs +5 -26
  67. package/esm2020/lib/formly/field/wrapper/autotouch.wrapper.component.mjs +8 -4
  68. package/esm2020/lib/formly/field/wrapper/expandable.wrapper.component.mjs +15 -15
  69. package/esm2020/lib/formly/field/wrapper/expandable.wrapper.delegate.mjs +1 -1
  70. package/esm2020/lib/formly/field/wrapper/flex.wrapper.component.mjs +1 -1
  71. package/esm2020/lib/formly/field/wrapper/form.wrapper.module.mjs +3 -21
  72. package/esm2020/lib/formly/field/wrapper/info.wrapper.component.mjs +3 -5
  73. package/esm2020/lib/formly/field/wrapper/section.wrapper.component.mjs +1 -1
  74. package/esm2020/lib/formly/field/wrapper/style.wrapper.component.mjs +2 -2
  75. package/esm2020/lib/formly/field/wrapper/subsection.wrapper.component.mjs +7 -7
  76. package/esm2020/lib/formly/field/wrapper/toggle.wrapper.component.mjs +16 -16
  77. package/esm2020/lib/formly/field/wrapper/working.wrapper.component.mjs +2 -2
  78. package/esm2020/lib/formly/field/wrapper/wrapper.mjs +6 -4
  79. package/esm2020/lib/formly/formly.context.directive.mjs +4 -4
  80. package/esm2020/lib/formly/formly.context.mjs +9 -7
  81. package/esm2020/lib/formly/formly.directive.mjs +1 -1
  82. package/esm2020/lib/formly/formly.form.component.mjs +7 -7
  83. package/esm2020/lib/formly/formly.module.mjs +5 -25
  84. package/esm2020/lib/formly/template/available.mjs +6 -4
  85. package/esm2020/lib/formly/template/login.mjs +8 -11
  86. package/esm2020/lib/layout/form.layout.module.mjs +5 -13
  87. package/esm2020/lib/layout/form.spacer.component.mjs +7 -3
  88. package/esm2020/lib/validator/available.mjs +2 -3
  89. package/esm2020/lib/validator/boolean.mjs +2 -2
  90. package/esm2020/lib/validator/email.mjs +2 -2
  91. package/esm2020/lib/validator/field.mjs +3 -3
  92. package/esm2020/lib/validator/number.mjs +20 -16
  93. package/fesm2015/dereekb-dbx-form.mjs +420 -624
  94. package/fesm2015/dereekb-dbx-form.mjs.map +1 -1
  95. package/fesm2020/dereekb-dbx-form.mjs +423 -624
  96. package/fesm2020/dereekb-dbx-form.mjs.map +1 -1
  97. package/lib/form/_form.scss +6 -4
  98. package/lib/form/action/form.action.directive.d.ts +4 -4
  99. package/lib/form/form.d.ts +4 -4
  100. package/lib/form/io/form.changes.directive.d.ts +3 -3
  101. package/lib/form/io/form.input.directive.d.ts +3 -3
  102. package/lib/form/io/form.loading.directive.d.ts +3 -3
  103. package/lib/formly/_formly.scss +6 -4
  104. package/lib/formly/config/validation.d.ts +4 -4
  105. package/lib/formly/field/checklist/_checklist.scss +6 -10
  106. package/lib/formly/field/checklist/checklist.field.d.ts +3 -3
  107. package/lib/formly/field/checklist/checklist.item.d.ts +8 -8
  108. package/lib/formly/field/checklist/checklist.item.field.component.d.ts +7 -9
  109. package/lib/formly/field/checklist/checklist.item.field.content.default.component.d.ts +4 -4
  110. package/lib/formly/field/checklist/checklist.item.field.d.ts +3 -3
  111. package/lib/formly/field/component/_component.scss +6 -4
  112. package/lib/formly/field/component/component.field.component.d.ts +3 -4
  113. package/lib/formly/field/component/component.field.d.ts +3 -4
  114. package/lib/formly/field/field.d.ts +3 -3
  115. package/lib/formly/field/selection/pickable/_pickable.scss +4 -3
  116. package/lib/formly/field/selection/pickable/pickable.chip.field.component.d.ts +1 -1
  117. package/lib/formly/field/selection/pickable/pickable.d.ts +9 -11
  118. package/lib/formly/field/selection/pickable/pickable.field.d.ts +3 -3
  119. package/lib/formly/field/selection/pickable/pickable.field.directive.d.ts +49 -50
  120. package/lib/formly/field/selection/pickable/pickable.list.field.component.d.ts +7 -7
  121. package/lib/formly/field/selection/searchable/_searchable.scss +4 -6
  122. package/lib/formly/field/selection/searchable/searchable.chip.field.component.d.ts +8 -8
  123. package/lib/formly/field/selection/searchable/searchable.d.ts +9 -8
  124. package/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.d.ts +1 -1
  125. package/lib/formly/field/selection/searchable/searchable.field.d.ts +9 -9
  126. package/lib/formly/field/selection/searchable/searchable.field.directive.d.ts +25 -25
  127. package/lib/formly/field/selection/searchable/searchable.text.field.component.d.ts +12 -9
  128. package/lib/formly/field/selection/searchable/text.chip.field.d.ts +3 -3
  129. package/lib/formly/field/selection/selection.d.ts +6 -6
  130. package/lib/formly/field/texteditor/_texteditor.scss +3 -8
  131. package/lib/formly/field/texteditor/texteditor.field.component.d.ts +1 -2
  132. package/lib/formly/field/value/array/_array.scss +2 -6
  133. package/lib/formly/field/value/array/array.field.component.d.ts +1 -1
  134. package/lib/formly/field/value/array/array.field.d.ts +1 -1
  135. package/lib/formly/field/value/boolean/_boolean.scss +6 -4
  136. package/lib/formly/field/value/date/_date.scss +7 -9
  137. package/lib/formly/field/value/date/datetime.field.component.d.ts +2 -3
  138. package/lib/formly/field/value/date/datetime.field.d.ts +1 -2
  139. package/lib/formly/field/value/enum/_enum.scss +6 -4
  140. package/lib/formly/field/value/enum/enum.field.d.ts +1 -1
  141. package/lib/formly/field/value/hidden.field.d.ts +1 -2
  142. package/lib/formly/field/value/phone/_phone.scss +2 -4
  143. package/lib/formly/field/value/text/_text.scss +6 -4
  144. package/lib/formly/field/value/text/text.additional.field.d.ts +3 -3
  145. package/lib/formly/field/value/text/text.address.field.d.ts +1 -2
  146. package/lib/formly/field/wrapper/_wrapper.scss +4 -4
  147. package/lib/formly/field/wrapper/expandable.wrapper.component.d.ts +4 -4
  148. package/lib/formly/field/wrapper/expandable.wrapper.delegate.d.ts +11 -11
  149. package/lib/formly/field/wrapper/toggle.wrapper.component.d.ts +4 -4
  150. package/lib/formly/field/wrapper/working.wrapper.component.d.ts +4 -2
  151. package/lib/formly/field/wrapper/wrapper.d.ts +2 -2
  152. package/lib/formly/formly.context.d.ts +4 -5
  153. package/lib/formly/formly.context.directive.d.ts +1 -1
  154. package/lib/formly/formly.directive.d.ts +1 -1
  155. package/lib/formly/formly.form.component.d.ts +2 -2
  156. package/lib/formly/template/login.d.ts +2 -3
  157. package/lib/layout/_layout.scss +6 -4
  158. package/lib/style/_config.scss +8 -6
  159. package/lib/style/_core.scss +1 -1
  160. package/lib/style/_mixin.scss +1 -1
  161. package/lib/style/_theming.scss +2 -12
  162. package/lib/style/_variables.scss +1 -1
  163. package/lib/validator/available.d.ts +1 -1
  164. package/lib/validator/boolean.d.ts +1 -1
  165. package/lib/validator/email.d.ts +1 -1
  166. package/lib/validator/field.d.ts +6 -6
  167. package/lib/validator/number.d.ts +8 -1
  168. package/package.json +5 -4
@@ -3,16 +3,15 @@ import { forwardRef, Directive, Host, Input, NgModule, EventEmitter, Output, Com
3
3
  import * as i5 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1$1 from '@dereekb/dbx-web';
6
- import { DbxActionTransitionSafetyDirective, DbxTextModule, DbxLoadingModule, DbxFlexLayoutModule, DbxSectionLayoutModule, DbxRouterAnchorModule, AbstractDbxSelectionListWrapperDirective, DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, AbstractDbxSelectionListViewDirective, addConfigToValueListItems, ProvideDbxListView, AbstractDbxValueListViewItemComponent, DbxButtonModule, DbxListLayoutModule, mapCompactModeObs, DbxBarLayoutModule } from '@dereekb/dbx-web';
6
+ import { DbxActionTransitionSafetyDirective, DbxTextModule, DbxLoadingModule, DbxFlexLayoutModule, DbxSectionLayoutModule, DbxRouterAnchorModule, AbstractDbxSelectionListWrapperDirective, DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, AbstractDbxSelectionListViewDirective, addConfigToValueListItems, provideDbxListView, AbstractDbxValueListViewItemComponent, DbxButtonModule, DbxListLayoutModule, mapCompactModeObs, DbxBarLayoutModule } from '@dereekb/dbx-web';
7
7
  import { isPast, addSeconds, isSameMinute, startOfDay, isSameDay, addMinutes } from 'date-fns';
8
- import { BehaviorSubject, switchMap, first, exhaustMap, of, catchError, delay, filter, combineLatest, map, distinctUntilChanged, mergeMap, shareReplay as shareReplay$1, startWith, debounceTime, Subject, skipWhile, interval, merge, throttleTime as throttleTime$1, scan } from 'rxjs';
9
- import { LockSet, SubscriptionObject, asObservable, loadingStateHasFinishedLoading, switchMapMaybeObs, filterMaybe, switchMapMaybeDefault, SimpleLoadingContext, beginLoading, mapLoadingStateResults, successResult, ListLoadingStateContextInstance, isListLoadingStateEmpty, LoadingStateContextInstance, skipFirstMaybe, asyncPusherCache, scanCount } from '@dereekb/rxjs';
8
+ import { BehaviorSubject, switchMap, first, exhaustMap, of, catchError, delay, filter, combineLatest, map, distinctUntilChanged, mergeMap, shareReplay, startWith, debounceTime, Subject, skipWhile, interval, tap, merge, throttleTime, scan } from 'rxjs';
9
+ import { LockSet, SubscriptionObject, asObservable, loadingStateHasFinishedLoading, switchMapMaybeObs, filterMaybe, switchMapMaybeDefault, SimpleLoadingContext, startWithBeginLoading, mapLoadingStateResults, successResult, ListLoadingStateContextInstance, isListLoadingStateEmpty, LoadingStateContextInstance, skipFirstMaybe, asyncPusherCache, scanCount } from '@dereekb/rxjs';
10
10
  import * as i2 from '@dereekb/dbx-core';
11
11
  import { AbstractSubscriptionDirective, safeDetectChanges, DbxInjectionComponentModule, DbxDatePipeModule, mergeDbxInjectionComponentConfigs, tapDetectChanges } from '@dereekb/dbx-core';
12
12
  import * as i3 from '@uirouter/core';
13
13
  import * as i4 from '@angular/material/dialog';
14
14
  import { MatDialogModule } from '@angular/material/dialog';
15
- import { distinctUntilChanged as distinctUntilChanged$1, shareReplay, map as map$1, delay as delay$1, debounceTime as debounceTime$1, filter as filter$1, switchMap as switchMap$1, startWith as startWith$1, tap, throttleTime, first as first$1 } from 'rxjs/operators';
16
15
  import * as i1$4 from '@ngx-formly/core';
17
16
  import { FieldType, FieldWrapper, FormlyModule, FieldArrayType } from '@ngx-formly/core';
18
17
  import * as i1 from '@angular/material/checkbox';
@@ -86,14 +85,11 @@ class DbxForm {
86
85
  }
87
86
  class DbxMutableForm extends DbxForm {
88
87
  }
89
- function ProvideDbxForm(sourceType) {
88
+ function provideDbxForm(sourceType) {
90
89
  return [{ provide: DbxForm, useExisting: forwardRef(() => sourceType) }];
91
90
  }
92
- function ProvideDbxMutableForm(sourceType) {
93
- return [
94
- ...ProvideDbxForm(sourceType),
95
- { provide: DbxMutableForm, useExisting: forwardRef(() => sourceType) }
96
- ];
91
+ function provideDbxMutableForm(sourceType) {
92
+ return [...provideDbxForm(sourceType), { provide: DbxMutableForm, useExisting: forwardRef(() => sourceType) }];
97
93
  }
98
94
 
99
95
  const APP_ACTION_FORM_DISABLED_KEY = 'dbx_action_form';
@@ -126,7 +122,8 @@ class DbxActionFormDirective {
126
122
  }
127
123
  ngOnInit() {
128
124
  // Pass data from the form to the source when triggered.
129
- this._triggeredSub.subscription = this.source.triggered$.pipe(switchMap(() => this.form.stream$.pipe(first(), exhaustMap((stream) => {
125
+ this._triggeredSub.subscription = this.source.triggered$
126
+ .pipe(switchMap(() => this.form.stream$.pipe(first(), exhaustMap((stream) => {
130
127
  const { isComplete } = stream;
131
128
  const doNothing = {}; // nothing, form not complete
132
129
  let obs;
@@ -144,7 +141,8 @@ class DbxActionFormDirective {
144
141
  obs = of(doNothing);
145
142
  }
146
143
  return obs;
147
- })))).subscribe((result) => {
144
+ }))))
145
+ .subscribe((result) => {
148
146
  if (result.reject) {
149
147
  this.source.reject(result.reject);
150
148
  }
@@ -156,36 +154,34 @@ class DbxActionFormDirective {
156
154
  }
157
155
  });
158
156
  // Update the enabled/disabled state
159
- this._isCompleteSub.subscription = this.form.stream$.pipe(delay(0), filter((x) => x.state !== DbxFormState.INITIALIZING), switchMap((event) => {
157
+ this._isCompleteSub.subscription = this.form.stream$
158
+ .pipe(delay(0), filter((x) => x.state !== DbxFormState.INITIALIZING), switchMap((event) => {
160
159
  return this.form.getValue().pipe(first(), exhaustMap((value) => {
161
160
  var _a, _b;
162
161
  // Use both changes count and whether or not something was in the past to guage whether or not the item has been touched.
163
162
  // Angular Form's untouched is whether or not focus has been lost but we can still recieve value updates.
164
163
  // More than a certain amount of updates implies that it is being typed into.
165
- const isProbablyTouched = !event.untouched ||
166
- (((_a = event.changesCount) !== null && _a !== void 0 ? _a : 0) > 3 && isPast(addSeconds((_b = event.lastResetAt) !== null && _b !== void 0 ? _b : new Date(), 2)));
164
+ const isProbablyTouched = !event.untouched || (((_a = event.changesCount) !== null && _a !== void 0 ? _a : 0) > 3 && isPast(addSeconds((_b = event.lastResetAt) !== null && _b !== void 0 ? _b : new Date(), 2)));
167
165
  let validatorObs;
168
166
  const initialIsValidCheck = event.isComplete;
169
167
  if (initialIsValidCheck) {
170
- validatorObs = (this.dbxActionFormValidator) ? this.dbxActionFormValidator(value) : of(true);
168
+ validatorObs = this.dbxActionFormValidator ? this.dbxActionFormValidator(value) : of(true);
171
169
  }
172
170
  else {
173
171
  validatorObs = of(false);
174
172
  }
175
173
  let modifiedObs;
176
- const isConsideredModified = (event.pristine === false && isProbablyTouched);
174
+ const isConsideredModified = event.pristine === false && isProbablyTouched;
177
175
  if (isConsideredModified) {
178
- modifiedObs = (this.dbxActionFormModified) ? this.dbxActionFormModified(value) : of(true);
176
+ modifiedObs = this.dbxActionFormModified ? this.dbxActionFormModified(value) : of(true);
179
177
  }
180
178
  else {
181
179
  modifiedObs = of(false);
182
180
  }
183
- return combineLatest([
184
- validatorObs,
185
- modifiedObs
186
- ]).pipe(first(), map(([valid, modified]) => ({ valid, modified, value, event })));
181
+ return combineLatest([validatorObs, modifiedObs]).pipe(first(), map(([valid, modified]) => ({ valid, modified, value, event })));
187
182
  }));
188
- })).subscribe(({ valid, modified, value, event }) => {
183
+ }))
184
+ .subscribe(({ valid, modified /*, value, event */ }) => {
189
185
  // console.log('x: ', value, event, valid, modified);
190
186
  // Update Modified State
191
187
  this.source.setIsModified(modified);
@@ -193,7 +189,9 @@ class DbxActionFormDirective {
193
189
  this.source.enable(APP_ACTION_FORM_DISABLED_KEY, valid);
194
190
  });
195
191
  // Watch the working state and disable form while working
196
- this._isWorkingSub.subscription = combineLatest([this.source.isWorking$, this._formDisabledWhileWorking]).pipe(map(([isWorking, lockOnWorking]) => lockOnWorking && isWorking), distinctUntilChanged()).subscribe((disable) => {
192
+ this._isWorkingSub.subscription = combineLatest([this.source.isWorking$, this._formDisabledWhileWorking])
193
+ .pipe(map(([isWorking, lockOnWorking]) => lockOnWorking && isWorking), distinctUntilChanged())
194
+ .subscribe((disable) => {
197
195
  this.form.setDisabled(APP_ACTION_FORM_DISABLED_KEY, disable);
198
196
  });
199
197
  }
@@ -208,12 +206,9 @@ class DbxActionFormDirective {
208
206
  });
209
207
  }
210
208
  preCheckReadyValue(value) {
211
- let validatorObs = (this.dbxActionFormValidator) ? this.dbxActionFormValidator(value) : of(true);
212
- let modifiedObs = (this.dbxActionFormModified) ? this.dbxActionFormModified(value) : of(true);
213
- return combineLatest([
214
- validatorObs,
215
- modifiedObs
216
- ]).pipe(first(), map(([valid, modified]) => valid && modified));
209
+ const validatorObs = this.dbxActionFormValidator ? this.dbxActionFormValidator(value) : of(true);
210
+ const modifiedObs = this.dbxActionFormModified ? this.dbxActionFormModified(value) : of(true);
211
+ return combineLatest([validatorObs, modifiedObs]).pipe(first(), map(([valid, modified]) => valid && modified));
217
212
  }
218
213
  readyValue(value) {
219
214
  return of({ value });
@@ -258,7 +253,7 @@ DbxActionFormSafetyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12
258
253
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionFormSafetyDirective, decorators: [{
259
254
  type: Directive,
260
255
  args: [{
261
- selector: '[dbxActionFormSafety]',
256
+ selector: '[dbxActionFormSafety]'
262
257
  }]
263
258
  }], ctorParameters: function () {
264
259
  return [{ type: DbxActionFormDirective, decorators: [{
@@ -273,59 +268,37 @@ class DbxFormActionTransitionModule {
273
268
  }
274
269
  DbxFormActionTransitionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionTransitionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
275
270
  DbxFormActionTransitionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionTransitionModule, declarations: [DbxActionFormSafetyDirective], imports: [CommonModule], exports: [DbxActionFormSafetyDirective] });
276
- DbxFormActionTransitionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionTransitionModule, imports: [[
277
- CommonModule
278
- ]] });
271
+ DbxFormActionTransitionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionTransitionModule, imports: [[CommonModule]] });
279
272
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionTransitionModule, decorators: [{
280
273
  type: NgModule,
281
274
  args: [{
282
- imports: [
283
- CommonModule
284
- ],
285
- declarations: [
286
- DbxActionFormSafetyDirective
287
- ],
288
- exports: [
289
- DbxActionFormSafetyDirective
290
- ]
275
+ imports: [CommonModule],
276
+ declarations: [DbxActionFormSafetyDirective],
277
+ exports: [DbxActionFormSafetyDirective]
291
278
  }]
292
279
  }] });
293
280
 
294
281
  class DbxFormActionModule {
295
282
  }
296
283
  DbxFormActionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
297
- DbxFormActionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionModule, declarations: [DbxActionFormDirective], imports: [CommonModule,
298
- MatDialogModule], exports: [DbxActionFormDirective] });
299
- DbxFormActionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionModule, imports: [[
300
- CommonModule,
301
- MatDialogModule
302
- ]] });
284
+ DbxFormActionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionModule, declarations: [DbxActionFormDirective], imports: [CommonModule, MatDialogModule], exports: [DbxActionFormDirective] });
285
+ DbxFormActionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionModule, imports: [[CommonModule, MatDialogModule]] });
303
286
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionModule, decorators: [{
304
287
  type: NgModule,
305
288
  args: [{
306
- imports: [
307
- CommonModule,
308
- MatDialogModule
309
- ],
310
- declarations: [
311
- DbxActionFormDirective
312
- ],
313
- exports: [
314
- DbxActionFormDirective
315
- ]
289
+ imports: [CommonModule, MatDialogModule],
290
+ declarations: [DbxActionFormDirective],
291
+ exports: [DbxActionFormDirective]
316
292
  }]
317
293
  }] });
318
294
 
319
295
  function dbxFormSourceObservable(form, inputObs, mode$) {
320
296
  const observable = asObservable(inputObs);
321
- return combineLatest([
322
- observable.pipe(distinctUntilChanged()),
323
- mode$.pipe(distinctUntilChanged())
324
- ]).pipe(switchMap(([value, mode]) => form.stream$.pipe(
297
+ return combineLatest([observable.pipe(distinctUntilChanged()), mode$.pipe(distinctUntilChanged())]).pipe(switchMap(([value, mode]) => form.stream$.pipe(
325
298
  // wait for the form to finish initializing.
326
299
  filter((x) => x.state !== DbxFormState.INITIALIZING),
327
300
  // if mode is reset, then filter out changes until the form is reset again.
328
- filter((x) => ((mode === 'reset') ? (x.state === DbxFormState.RESET) : true)), first(), map((_) => value))));
301
+ filter((x) => (mode === 'reset' ? x.state === DbxFormState.RESET : true)), first(), map(() => value))));
329
302
  }
330
303
  /**
331
304
  * Used with a FormComponent to set the value based on the input value.
@@ -446,7 +419,9 @@ class DbxFormValueChangesDirective extends AbstractSubscriptionDirective {
446
419
  this.dbxFormValueChange = new EventEmitter();
447
420
  }
448
421
  ngOnInit() {
449
- this.sub = this.form.stream$.pipe(mergeMap((x) => this.form.getValue().pipe(first(), map((value) => ({ isComplete: x.isComplete, value })))), delay(0)).subscribe(({ isComplete, value }) => {
422
+ this.sub = this.form.stream$
423
+ .pipe(mergeMap((x) => this.form.getValue().pipe(first(), map((value) => ({ isComplete: x.isComplete, value })))), delay(0))
424
+ .subscribe(({ isComplete, value }) => {
450
425
  if (isComplete) {
451
426
  this.dbxFormValueChange.next(value);
452
427
  }
@@ -478,50 +453,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
478
453
  class DbxFormIoModule {
479
454
  }
480
455
  DbxFormIoModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormIoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
481
- DbxFormIoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormIoModule, declarations: [DbxFormSourceDirective,
482
- DbxFormValueChangesDirective,
483
- DbxFormLoadingSourceDirective], imports: [CommonModule], exports: [DbxFormSourceDirective,
484
- DbxFormValueChangesDirective,
485
- DbxFormLoadingSourceDirective] });
486
- DbxFormIoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormIoModule, imports: [[
487
- CommonModule
488
- ]] });
456
+ DbxFormIoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormIoModule, declarations: [DbxFormSourceDirective, DbxFormValueChangesDirective, DbxFormLoadingSourceDirective], imports: [CommonModule], exports: [DbxFormSourceDirective, DbxFormValueChangesDirective, DbxFormLoadingSourceDirective] });
457
+ DbxFormIoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormIoModule, imports: [[CommonModule]] });
489
458
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormIoModule, decorators: [{
490
459
  type: NgModule,
491
460
  args: [{
492
- imports: [
493
- CommonModule
494
- ],
495
- declarations: [
496
- DbxFormSourceDirective,
497
- DbxFormValueChangesDirective,
498
- DbxFormLoadingSourceDirective
499
- ],
500
- exports: [
501
- DbxFormSourceDirective,
502
- DbxFormValueChangesDirective,
503
- DbxFormLoadingSourceDirective
504
- ]
461
+ imports: [CommonModule],
462
+ declarations: [DbxFormSourceDirective, DbxFormValueChangesDirective, DbxFormLoadingSourceDirective],
463
+ exports: [DbxFormSourceDirective, DbxFormValueChangesDirective, DbxFormLoadingSourceDirective]
505
464
  }]
506
465
  }] });
507
466
 
508
467
  class DbxFormModule {
509
468
  }
510
469
  DbxFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
511
- DbxFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormModule, exports: [DbxFormActionTransitionModule,
512
- DbxFormActionModule,
513
- DbxFormIoModule] });
514
- DbxFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormModule, imports: [DbxFormActionTransitionModule,
515
- DbxFormActionModule,
516
- DbxFormIoModule] });
470
+ DbxFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormModule, exports: [DbxFormActionTransitionModule, DbxFormActionModule, DbxFormIoModule] });
471
+ DbxFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormModule, imports: [DbxFormActionTransitionModule, DbxFormActionModule, DbxFormIoModule] });
517
472
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormModule, decorators: [{
518
473
  type: NgModule,
519
474
  args: [{
520
- exports: [
521
- DbxFormActionTransitionModule,
522
- DbxFormActionModule,
523
- DbxFormIoModule
524
- ]
475
+ exports: [DbxFormActionTransitionModule, DbxFormActionModule, DbxFormIoModule]
525
476
  }]
526
477
  }] });
527
478
 
@@ -589,9 +540,9 @@ class DbxChecklistItemFieldComponent extends FieldType {
589
540
  constructor() {
590
541
  super(...arguments);
591
542
  this._displayContent = new BehaviorSubject(undefined);
592
- this.displayContent$ = this._displayContent.pipe(switchMapMaybeObs(), distinctUntilChanged$1(), shareReplay(1));
593
- this.anchor$ = this.displayContent$.pipe(map$1(x => x.anchor), shareReplay(1));
594
- this.rippleDisabled$ = this.displayContent$.pipe(map$1(x => x.ripple === false || (x.ripple !== true && !x.anchor)), distinctUntilChanged$1(), shareReplay(1));
543
+ this.displayContent$ = this._displayContent.pipe(switchMapMaybeObs(), distinctUntilChanged(), shareReplay(1));
544
+ this.anchor$ = this.displayContent$.pipe(map((x) => x.anchor), shareReplay(1));
545
+ this.rippleDisabled$ = this.displayContent$.pipe(map((x) => x.ripple === false || (x.ripple !== true && !x.anchor)), distinctUntilChanged(), shareReplay(1));
595
546
  }
596
547
  get formGroup() {
597
548
  return this.form;
@@ -630,10 +581,10 @@ class DbxChecklistItemFieldComponent extends FieldType {
630
581
  }
631
582
  }
632
583
  DbxChecklistItemFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxChecklistItemFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
633
- DbxChecklistItemFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxChecklistItemFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-checklist-item-wrapper\" [formGroup]=\"formGroup\">\n <div *ngIf=\"label\" class=\"dbx-checklist-item-label\">{{ label }}</div>\n <div class=\"dbx-checklist-item\">\n <div class=\"dbx-checklist-item-check\">\n <mat-checkbox [formControlName]=\"formControlName\"></mat-checkbox>\n </div>\n <div class=\"dbx-checklist-item-content-wrapper\">\n <dbx-anchor [block]=\"true\" [anchor]=\"anchor$ | async\">\n <div class=\"dbx-checklist-item-content\" matRipple [matRippleDisabled]=\"(rippleDisabled$ | async) ?? false\">\n <dbx-checklist-item-content-component></dbx-checklist-item-content-component>\n <span class=\"spacer\"></span>\n <mat-icon *ngIf=\"!(rippleDisabled$ | async)\">navigate_next</mat-icon>\n </div>\n </dbx-anchor>\n </div>\n </div>\n <div *ngIf=\"description\" class=\"dbx-hint\">{{ description }}</div>\n</div>\n", components: [{ type: i0.forwardRef(function () { return i1.MatCheckbox; }), selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i0.forwardRef(function () { return i1$1.DbxAnchorComponent; }), selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { type: i0.forwardRef(function () { return DbxChecklistItemContentComponent; }), selector: "dbx-checklist-item-content-component" }, { type: i0.forwardRef(function () { return i2$1.MatIcon; }), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i0.forwardRef(function () { return i4$1.NgControlStatusGroup; }), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i0.forwardRef(function () { return i4$1.FormGroupDirective; }), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i0.forwardRef(function () { return i5.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i0.forwardRef(function () { return i4$1.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { type: i0.forwardRef(function () { return i4$1.FormControlName; }), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i0.forwardRef(function () { return i6.MatRipple; }), selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], pipes: { "async": i0.forwardRef(function () { return i5.AsyncPipe; }) } });
584
+ DbxChecklistItemFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxChecklistItemFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-checklist-item-wrapper\" [formGroup]=\"formGroup\">\n <div *ngIf=\"label\" class=\"dbx-checklist-item-label\">{{ label }}</div>\n <div class=\"dbx-checklist-item\">\n <div class=\"dbx-checklist-item-check\">\n <mat-checkbox [formControlName]=\"formControlName\"></mat-checkbox>\n </div>\n <div class=\"dbx-checklist-item-content-wrapper\">\n <dbx-anchor [block]=\"true\" [anchor]=\"anchor$ | async\">\n <div class=\"dbx-checklist-item-content\" matRipple [matRippleDisabled]=\"(rippleDisabled$ | async) ?? false\">\n <dbx-checklist-item-content-component></dbx-checklist-item-content-component>\n <span class=\"spacer\"></span>\n <mat-icon *ngIf=\"(rippleDisabled$ | async) !== true\">navigate_next</mat-icon>\n </div>\n </dbx-anchor>\n </div>\n </div>\n <div *ngIf=\"description\" class=\"dbx-hint\">{{ description }}</div>\n</div>\n", components: [{ type: i0.forwardRef(function () { return i1.MatCheckbox; }), selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i0.forwardRef(function () { return i1$1.DbxAnchorComponent; }), selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { type: i0.forwardRef(function () { return DbxChecklistItemContentComponent; }), selector: "dbx-checklist-item-content-component" }, { type: i0.forwardRef(function () { return i2$1.MatIcon; }), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i0.forwardRef(function () { return i4$1.NgControlStatusGroup; }), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i0.forwardRef(function () { return i4$1.FormGroupDirective; }), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i0.forwardRef(function () { return i5.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i0.forwardRef(function () { return i4$1.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { type: i0.forwardRef(function () { return i4$1.FormControlName; }), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i0.forwardRef(function () { return i6.MatRipple; }), selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], pipes: { "async": i0.forwardRef(function () { return i5.AsyncPipe; }) } });
634
585
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxChecklistItemFieldComponent, decorators: [{
635
586
  type: Component,
636
- args: [{ template: "<div class=\"dbx-checklist-item-wrapper\" [formGroup]=\"formGroup\">\n <div *ngIf=\"label\" class=\"dbx-checklist-item-label\">{{ label }}</div>\n <div class=\"dbx-checklist-item\">\n <div class=\"dbx-checklist-item-check\">\n <mat-checkbox [formControlName]=\"formControlName\"></mat-checkbox>\n </div>\n <div class=\"dbx-checklist-item-content-wrapper\">\n <dbx-anchor [block]=\"true\" [anchor]=\"anchor$ | async\">\n <div class=\"dbx-checklist-item-content\" matRipple [matRippleDisabled]=\"(rippleDisabled$ | async) ?? false\">\n <dbx-checklist-item-content-component></dbx-checklist-item-content-component>\n <span class=\"spacer\"></span>\n <mat-icon *ngIf=\"!(rippleDisabled$ | async)\">navigate_next</mat-icon>\n </div>\n </dbx-anchor>\n </div>\n </div>\n <div *ngIf=\"description\" class=\"dbx-hint\">{{ description }}</div>\n</div>\n" }]
587
+ args: [{ template: "<div class=\"dbx-checklist-item-wrapper\" [formGroup]=\"formGroup\">\n <div *ngIf=\"label\" class=\"dbx-checklist-item-label\">{{ label }}</div>\n <div class=\"dbx-checklist-item\">\n <div class=\"dbx-checklist-item-check\">\n <mat-checkbox [formControlName]=\"formControlName\"></mat-checkbox>\n </div>\n <div class=\"dbx-checklist-item-content-wrapper\">\n <dbx-anchor [block]=\"true\" [anchor]=\"anchor$ | async\">\n <div class=\"dbx-checklist-item-content\" matRipple [matRippleDisabled]=\"(rippleDisabled$ | async) ?? false\">\n <dbx-checklist-item-content-component></dbx-checklist-item-content-component>\n <span class=\"spacer\"></span>\n <mat-icon *ngIf=\"(rippleDisabled$ | async) !== true\">navigate_next</mat-icon>\n </div>\n </dbx-anchor>\n </div>\n </div>\n <div *ngIf=\"description\" class=\"dbx-hint\">{{ description }}</div>\n</div>\n" }]
637
588
  }] });
638
589
  class DbxChecklistItemContentComponent extends AbstractSubscriptionDirective {
639
590
  constructor(checklistItemFieldComponent, cdRef) {
@@ -654,12 +605,16 @@ class DbxChecklistItemContentComponent extends AbstractSubscriptionDirective {
654
605
  }
655
606
  }
656
607
  DbxChecklistItemContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxChecklistItemContentComponent, deps: [{ token: DbxChecklistItemFieldComponent }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
657
- DbxChecklistItemContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxChecklistItemContentComponent, selector: "dbx-checklist-item-content-component", usesInheritance: true, ngImport: i0, template: `<dbx-injection [config]="config"></dbx-injection>`, isInline: true, components: [{ type: i2.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }] });
608
+ DbxChecklistItemContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxChecklistItemContentComponent, selector: "dbx-checklist-item-content-component", usesInheritance: true, ngImport: i0, template: `
609
+ <dbx-injection [config]="config"></dbx-injection>
610
+ `, isInline: true, components: [{ type: i2.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }] });
658
611
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxChecklistItemContentComponent, decorators: [{
659
612
  type: Component,
660
613
  args: [{
661
614
  selector: 'dbx-checklist-item-content-component',
662
- template: `<dbx-injection [config]="config"></dbx-injection>`
615
+ template: `
616
+ <dbx-injection [config]="config"></dbx-injection>
617
+ `
663
618
  }]
664
619
  }], ctorParameters: function () { return [{ type: DbxChecklistItemFieldComponent }, { type: i0.ChangeDetectorRef }]; } });
665
620
 
@@ -678,8 +633,7 @@ DbxFormInfoWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.
678
633
  <ng-container #fieldComponent></ng-container>
679
634
  </div>
680
635
  <div class="dbx-form-info-wrapper-info" fxFlex="noshrink" fxLayout="column" fxLayoutAlign="center center">
681
- <button mat-icon-button [attr.aria-label]="'show info button for ' + (to.label || 'section')"
682
- (click)="onInfoClick()">
636
+ <button mat-icon-button [attr.aria-label]="'show info button for ' + (to.label || 'section')" (click)="onInfoClick()">
683
637
  <mat-icon>info</mat-icon>
684
638
  </button>
685
639
  </div>
@@ -694,8 +648,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
694
648
  <ng-container #fieldComponent></ng-container>
695
649
  </div>
696
650
  <div class="dbx-form-info-wrapper-info" fxFlex="noshrink" fxLayout="column" fxLayoutAlign="center center">
697
- <button mat-icon-button [attr.aria-label]="'show info button for ' + (to.label || 'section')"
698
- (click)="onInfoClick()">
651
+ <button mat-icon-button [attr.aria-label]="'show info button for ' + (to.label || 'section')" (click)="onInfoClick()">
699
652
  <mat-icon>info</mat-icon>
700
653
  </button>
701
654
  </div>
@@ -773,17 +726,17 @@ class DbxFormSubsectionWrapperComponent extends FieldWrapper {
773
726
  }
774
727
  DbxFormSubsectionWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormSubsectionWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
775
728
  DbxFormSubsectionWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormSubsectionWrapperComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
776
- <dbx-subsection [header]="header" [hint]="hint">
777
- <ng-container #fieldComponent></ng-container>
778
- </dbx-subsection>
729
+ <dbx-subsection [header]="header" [hint]="hint">
730
+ <ng-container #fieldComponent></ng-container>
731
+ </dbx-subsection>
779
732
  `, isInline: true, components: [{ type: i1$1.DbxSubSectionComponent, selector: "dbx-subsection" }] });
780
733
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormSubsectionWrapperComponent, decorators: [{
781
734
  type: Component,
782
735
  args: [{
783
736
  template: `
784
- <dbx-subsection [header]="header" [hint]="hint">
785
- <ng-container #fieldComponent></ng-container>
786
- </dbx-subsection>
737
+ <dbx-subsection [header]="header" [hint]="hint">
738
+ <ng-container #fieldComponent></ng-container>
739
+ </dbx-subsection>
787
740
  `
788
741
  }]
789
742
  }] });
@@ -802,10 +755,10 @@ class AbstractFormExpandableSectionWrapperDirective extends FieldWrapper {
802
755
  else {
803
756
  return this.hasValue$;
804
757
  }
805
- }), shareReplay$1(1));
758
+ }), shareReplay(1));
806
759
  this.hasValue$ = this.formControl$.pipe(switchMap((x) => x.valueChanges.pipe(startWith(x.value), map((value) => {
807
760
  return this.hasValueFn(value);
808
- }), shareReplay$1(1))));
761
+ }), shareReplay(1))));
809
762
  }
810
763
  get expandableSection() {
811
764
  return this.to.expandWrapper;
@@ -853,27 +806,27 @@ class DbxFormExpandWrapperComponent extends AbstractFormExpandableSectionWrapper
853
806
  }
854
807
  DbxFormExpandWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExpandWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
855
808
  DbxFormExpandWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormExpandWrapperComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
856
- <ng-container [ngSwitch]="show$ | async">
857
- <ng-container *ngSwitchCase="true">
858
- <ng-container #fieldComponent></ng-container>
859
- </ng-container>
860
- <ng-container *ngSwitchCase="false">
861
- <span class="dbx-form-expandable-section-button" (click)="open()">{{ expandLabel }}</span>
809
+ <ng-container [ngSwitch]="show$ | async">
810
+ <ng-container *ngSwitchCase="true">
811
+ <ng-container #fieldComponent></ng-container>
812
+ </ng-container>
813
+ <ng-container *ngSwitchCase="false">
814
+ <span class="dbx-form-expandable-section-button" (click)="open()">{{ expandLabel }}</span>
815
+ </ng-container>
862
816
  </ng-container>
863
- </ng-container>
864
817
  `, isInline: true, directives: [{ type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "async": i5.AsyncPipe } });
865
818
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExpandWrapperComponent, decorators: [{
866
819
  type: Component,
867
820
  args: [{
868
821
  template: `
869
- <ng-container [ngSwitch]="show$ | async">
870
- <ng-container *ngSwitchCase="true">
871
- <ng-container #fieldComponent></ng-container>
872
- </ng-container>
873
- <ng-container *ngSwitchCase="false">
874
- <span class="dbx-form-expandable-section-button" (click)="open()">{{ expandLabel }}</span>
822
+ <ng-container [ngSwitch]="show$ | async">
823
+ <ng-container *ngSwitchCase="true">
824
+ <ng-container #fieldComponent></ng-container>
825
+ </ng-container>
826
+ <ng-container *ngSwitchCase="false">
827
+ <span class="dbx-form-expandable-section-button" (click)="open()">{{ expandLabel }}</span>
828
+ </ng-container>
875
829
  </ng-container>
876
- </ng-container>
877
830
  `
878
831
  }]
879
832
  }] });
@@ -883,7 +836,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
883
836
  */
884
837
  class AutoTouchFieldWrapperComponent extends FieldWrapper {
885
838
  ngOnInit() {
886
- this.formControl.valueChanges.pipe(delay$1(200)).subscribe(() => {
839
+ this.formControl.valueChanges.pipe(delay(200)).subscribe(() => {
887
840
  if (!this.formControl.pristine && this.formControl.untouched) {
888
841
  this.formControl.markAsTouched();
889
842
  this.formControl.updateValueAndValidity();
@@ -892,11 +845,15 @@ class AutoTouchFieldWrapperComponent extends FieldWrapper {
892
845
  }
893
846
  }
894
847
  AutoTouchFieldWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AutoTouchFieldWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
895
- AutoTouchFieldWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AutoTouchFieldWrapperComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<ng-container #fieldComponent></ng-container>`, isInline: true });
848
+ AutoTouchFieldWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AutoTouchFieldWrapperComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
849
+ <ng-container #fieldComponent></ng-container>
850
+ `, isInline: true });
896
851
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AutoTouchFieldWrapperComponent, decorators: [{
897
852
  type: Component,
898
853
  args: [{
899
- template: `<ng-container #fieldComponent></ng-container>`
854
+ template: `
855
+ <ng-container #fieldComponent></ng-container>
856
+ `
900
857
  }]
901
858
  }] });
902
859
 
@@ -906,7 +863,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
906
863
  class DbxFormToggleWrapperComponent extends AbstractFormExpandableSectionWrapperDirective {
907
864
  constructor() {
908
865
  super(...arguments);
909
- this.slideLabel$ = this._toggleOpen.pipe(switchMap(x => {
866
+ this.slideLabel$ = this._toggleOpen.pipe(switchMap((x) => {
910
867
  var _a, _b;
911
868
  if ((_a = this.expandableSection) === null || _a === void 0 ? void 0 : _a.toggleLabelObs) {
912
869
  return (_b = this.expandableSection) === null || _b === void 0 ? void 0 : _b.toggleLabelObs(x);
@@ -914,7 +871,7 @@ class DbxFormToggleWrapperComponent extends AbstractFormExpandableSectionWrapper
914
871
  else {
915
872
  return of(this.expandLabel);
916
873
  }
917
- }), shareReplay$1(1));
874
+ }), shareReplay(1));
918
875
  }
919
876
  onToggleChange() {
920
877
  this.show$.pipe(first()).subscribe((show) => {
@@ -924,27 +881,27 @@ class DbxFormToggleWrapperComponent extends AbstractFormExpandableSectionWrapper
924
881
  }
925
882
  DbxFormToggleWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormToggleWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
926
883
  DbxFormToggleWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormToggleWrapperComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
927
- <div class="dbx-form-toggle-wrapper" [ngSwitch]="show$ | async">
928
- <div class="dbx-form-toggle-wrapper-toggle">
929
- <mat-slide-toggle [checked]="show$ | async" (toggleChange)="onToggleChange()">{{ slideLabel$ | async }}</mat-slide-toggle>
884
+ <div class="dbx-form-toggle-wrapper" [ngSwitch]="show$ | async">
885
+ <div class="dbx-form-toggle-wrapper-toggle">
886
+ <mat-slide-toggle [checked]="show$ | async" (toggleChange)="onToggleChange()">{{ slideLabel$ | async }}</mat-slide-toggle>
887
+ </div>
888
+ <ng-container *ngSwitchCase="true">
889
+ <ng-container #fieldComponent></ng-container>
890
+ </ng-container>
930
891
  </div>
931
- <ng-container *ngSwitchCase="true">
932
- <ng-container #fieldComponent></ng-container>
933
- </ng-container>
934
- </div>
935
892
  `, isInline: true, components: [{ type: i1$3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], directives: [{ type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "async": i5.AsyncPipe } });
936
893
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormToggleWrapperComponent, decorators: [{
937
894
  type: Component,
938
895
  args: [{
939
896
  template: `
940
- <div class="dbx-form-toggle-wrapper" [ngSwitch]="show$ | async">
941
- <div class="dbx-form-toggle-wrapper-toggle">
942
- <mat-slide-toggle [checked]="show$ | async" (toggleChange)="onToggleChange()">{{ slideLabel$ | async }}</mat-slide-toggle>
897
+ <div class="dbx-form-toggle-wrapper" [ngSwitch]="show$ | async">
898
+ <div class="dbx-form-toggle-wrapper-toggle">
899
+ <mat-slide-toggle [checked]="show$ | async" (toggleChange)="onToggleChange()">{{ slideLabel$ | async }}</mat-slide-toggle>
900
+ </div>
901
+ <ng-container *ngSwitchCase="true">
902
+ <ng-container #fieldComponent></ng-container>
903
+ </ng-container>
943
904
  </div>
944
- <ng-container *ngSwitchCase="true">
945
- <ng-container #fieldComponent></ng-container>
946
- </ng-container>
947
- </div>
948
905
  `
949
906
  }]
950
907
  }] });
@@ -953,7 +910,7 @@ class DbxFormStyleWrapperComponent extends FieldWrapper {
953
910
  constructor() {
954
911
  super(...arguments);
955
912
  this._style = new BehaviorSubject(undefined);
956
- this.style$ = this._style.pipe(switchMapMaybeDefault(''), shareReplay$1(1));
913
+ this.style$ = this._style.pipe(switchMapMaybeDefault(''), shareReplay(1));
957
914
  }
958
915
  get styleWrapper() {
959
916
  return this.field.styleWrapper;
@@ -1029,15 +986,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
1029
986
  class DbxFormFormlyWrapperModule {
1030
987
  }
1031
988
  DbxFormFormlyWrapperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyWrapperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1032
- DbxFormFormlyWrapperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyWrapperModule, declarations: [AutoTouchFieldWrapperComponent,
1033
- DbxFormSectionWrapperComponent,
1034
- DbxFormSubsectionWrapperComponent,
1035
- DbxFormInfoWrapperComponent,
1036
- DbxFormExpandWrapperComponent,
1037
- DbxFormToggleWrapperComponent,
1038
- DbxFormFlexWrapperComponent,
1039
- DbxFormStyleWrapperComponent,
1040
- DbxFormWorkingWrapperComponent], imports: [CommonModule,
989
+ DbxFormFormlyWrapperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyWrapperModule, declarations: [AutoTouchFieldWrapperComponent, DbxFormSectionWrapperComponent, DbxFormSubsectionWrapperComponent, DbxFormInfoWrapperComponent, DbxFormExpandWrapperComponent, DbxFormToggleWrapperComponent, DbxFormFlexWrapperComponent, DbxFormStyleWrapperComponent, DbxFormWorkingWrapperComponent], imports: [CommonModule,
1041
990
  DbxTextModule,
1042
991
  DbxLoadingModule,
1043
992
  DbxFlexLayoutModule,
@@ -1097,17 +1046,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
1097
1046
  ]
1098
1047
  })
1099
1048
  ],
1100
- declarations: [
1101
- AutoTouchFieldWrapperComponent,
1102
- DbxFormSectionWrapperComponent,
1103
- DbxFormSubsectionWrapperComponent,
1104
- DbxFormInfoWrapperComponent,
1105
- DbxFormExpandWrapperComponent,
1106
- DbxFormToggleWrapperComponent,
1107
- DbxFormFlexWrapperComponent,
1108
- DbxFormStyleWrapperComponent,
1109
- DbxFormWorkingWrapperComponent
1110
- ],
1049
+ declarations: [AutoTouchFieldWrapperComponent, DbxFormSectionWrapperComponent, DbxFormSubsectionWrapperComponent, DbxFormInfoWrapperComponent, DbxFormExpandWrapperComponent, DbxFormToggleWrapperComponent, DbxFormFlexWrapperComponent, DbxFormStyleWrapperComponent, DbxFormWorkingWrapperComponent],
1111
1050
  exports: []
1112
1051
  }]
1113
1052
  }] });
@@ -1115,9 +1054,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
1115
1054
  class DbxFormFormlyChecklistItemFieldModule {
1116
1055
  }
1117
1056
  DbxFormFormlyChecklistItemFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyChecklistItemFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1118
- DbxFormFormlyChecklistItemFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyChecklistItemFieldModule, declarations: [DbxChecklistItemFieldComponent,
1119
- DbxChecklistItemContentComponent,
1120
- DbxDefaultChecklistItemFieldDisplayComponent], imports: [CommonModule,
1057
+ DbxFormFormlyChecklistItemFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyChecklistItemFieldModule, declarations: [DbxChecklistItemFieldComponent, DbxChecklistItemContentComponent, DbxDefaultChecklistItemFieldDisplayComponent], imports: [CommonModule,
1121
1058
  DbxTextModule,
1122
1059
  FormsModule,
1123
1060
  ReactiveFormsModule,
@@ -1141,9 +1078,7 @@ DbxFormFormlyChecklistItemFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVers
1141
1078
  DbxInjectionComponentModule,
1142
1079
  DbxFormFormlyWrapperModule,
1143
1080
  FormlyModule.forChild({
1144
- types: [
1145
- { name: 'checklistitem', component: DbxChecklistItemFieldComponent }
1146
- ]
1081
+ types: [{ name: 'checklistitem', component: DbxChecklistItemFieldComponent }]
1147
1082
  })
1148
1083
  ], DbxFormFormlyWrapperModule] });
1149
1084
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyChecklistItemFieldModule, decorators: [{
@@ -1162,19 +1097,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
1162
1097
  DbxInjectionComponentModule,
1163
1098
  DbxFormFormlyWrapperModule,
1164
1099
  FormlyModule.forChild({
1165
- types: [
1166
- { name: 'checklistitem', component: DbxChecklistItemFieldComponent }
1167
- ]
1100
+ types: [{ name: 'checklistitem', component: DbxChecklistItemFieldComponent }]
1168
1101
  })
1169
1102
  ],
1170
- declarations: [
1171
- DbxChecklistItemFieldComponent,
1172
- DbxChecklistItemContentComponent,
1173
- DbxDefaultChecklistItemFieldDisplayComponent
1174
- ],
1175
- exports: [
1176
- DbxFormFormlyWrapperModule
1177
- ]
1103
+ declarations: [DbxChecklistItemFieldComponent, DbxChecklistItemContentComponent, DbxDefaultChecklistItemFieldDisplayComponent],
1104
+ exports: [DbxFormFormlyWrapperModule]
1178
1105
  }]
1179
1106
  }] });
1180
1107
 
@@ -1195,7 +1122,9 @@ function templateOptionsForFieldConfig(fieldConfig, override) {
1195
1122
  };
1196
1123
  }
1197
1124
  function templateOptionsValueForFieldConfig(fieldConfig, override) {
1198
- const { label, placeholder, required, readonly, description, autocomplete } = mergeObjects([fieldConfig, override], { keysFilter: ['label', 'placeholder', 'required', 'readonly', 'description', 'autocomplete'] });
1125
+ const { label, placeholder, required, readonly, description, autocomplete } = mergeObjects([fieldConfig, override], {
1126
+ keysFilter: ['label', 'placeholder', 'required', 'readonly', 'description', 'autocomplete']
1127
+ });
1199
1128
  const attributes = mergeObjects([fieldConfig.attributes, override === null || override === void 0 ? void 0 : override.attributes]);
1200
1129
  const result = filterFromPOJO(Object.assign(Object.assign({}, override), { label,
1201
1130
  placeholder,
@@ -1252,10 +1181,7 @@ class ChecklistItemFieldDataSetBuilder {
1252
1181
  const currentField = this._assertFieldExists(key).field;
1253
1182
  const mergedConfig = Object.assign(Object.assign(Object.assign({}, currentField), config), { key });
1254
1183
  if (currentField.displayContentObs && config.displayContentObs) {
1255
- mergedConfig.displayContentObs = combineLatest([
1256
- currentField.displayContentObs,
1257
- config.displayContentObs
1258
- ]).pipe(map$1(([a, b]) => {
1184
+ mergedConfig.displayContentObs = combineLatest([currentField.displayContentObs, config.displayContentObs]).pipe(map(([a, b]) => {
1259
1185
  const result = Object.assign(Object.assign({}, a), b);
1260
1186
  // console.log('A and b: ', a, b, result);
1261
1187
  return result;
@@ -1283,10 +1209,11 @@ class ChecklistItemFieldDataSetBuilder {
1283
1209
  }
1284
1210
  field(config) {
1285
1211
  const key = config.key;
1286
- this._fields.set(key, {
1212
+ const field = {
1287
1213
  key,
1288
1214
  field: config
1289
- });
1215
+ };
1216
+ this._fields.set(key, field);
1290
1217
  }
1291
1218
  // MARK: Build/Finish
1292
1219
  build() {
@@ -1296,7 +1223,7 @@ class ChecklistItemFieldDataSetBuilder {
1296
1223
  }
1297
1224
  // MARK: Utility
1298
1225
  customContentFromData(mapFn) {
1299
- return this.dataObs$.pipe(map$1(mapFn));
1226
+ return this.dataObs$.pipe(map(mapFn));
1300
1227
  }
1301
1228
  contentWithValueFromData(key, contentFn) {
1302
1229
  return this.customContentFromData((data) => {
@@ -1340,9 +1267,7 @@ DbxFormFormlyComponentFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion:
1340
1267
  CommonModule,
1341
1268
  DbxInjectionComponentModule,
1342
1269
  FormlyModule.forChild({
1343
- types: [
1344
- { name: 'component', component: DbxFormComponentFieldComponent }
1345
- ]
1270
+ types: [{ name: 'component', component: DbxFormComponentFieldComponent }]
1346
1271
  })
1347
1272
  ]] });
1348
1273
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyComponentFieldModule, decorators: [{
@@ -1352,17 +1277,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
1352
1277
  CommonModule,
1353
1278
  DbxInjectionComponentModule,
1354
1279
  FormlyModule.forChild({
1355
- types: [
1356
- { name: 'component', component: DbxFormComponentFieldComponent }
1357
- ]
1280
+ types: [{ name: 'component', component: DbxFormComponentFieldComponent }]
1358
1281
  })
1359
1282
  ],
1360
- declarations: [
1361
- DbxFormComponentFieldComponent
1362
- ],
1363
- exports: [
1364
- DbxFormComponentFieldComponent
1365
- ]
1283
+ declarations: [DbxFormComponentFieldComponent],
1284
+ exports: [DbxFormComponentFieldComponent]
1366
1285
  }]
1367
1286
  }] });
1368
1287
 
@@ -1384,14 +1303,14 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
1384
1303
  this.formControl$ = this._formControlObs.pipe(filterMaybe());
1385
1304
  this._displayHashMap = new BehaviorSubject(new Map());
1386
1305
  this.filterInputValue$ = this.inputCtrl.valueChanges.pipe(startWith(undefined));
1387
- this.filterInputValueString$ = this.filterInputValue$.pipe(debounceTime(200), distinctUntilChanged(), shareReplay$1(1));
1388
- this.loadResultsDisplayValuesState$ = this.formControl$.pipe(first(), switchMap(() => this.loadValuesFn().pipe(switchMap((x) => this.loadDisplayValuesForFieldValues(x)), startWith(beginLoading()))), shareReplay$1(1));
1389
- this._formControlValue = this.formControl$.pipe(switchMap(control => control.valueChanges.pipe(startWith(control.value), shareReplay$1(1))));
1390
- this.loadResultsDisplayValues$ = this.loadResultsDisplayValuesState$.pipe(map(x => { var _a; return (_a = x === null || x === void 0 ? void 0 : x.value) !== null && _a !== void 0 ? _a : []; }));
1306
+ this.filterInputValueString$ = this.filterInputValue$.pipe(debounceTime(200), distinctUntilChanged(), shareReplay(1));
1307
+ this.loadResultsDisplayValuesState$ = this.formControl$.pipe(first(), switchMap(() => this.loadValuesFn().pipe(switchMap((x) => this.loadDisplayValuesForFieldValues(x)), startWithBeginLoading())), shareReplay(1));
1308
+ this._formControlValue = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value), shareReplay(1))));
1309
+ this.loadResultsDisplayValues$ = this.loadResultsDisplayValuesState$.pipe(map((x) => { var _a; return (_a = x === null || x === void 0 ? void 0 : x.value) !== null && _a !== void 0 ? _a : []; }));
1391
1310
  /**
1392
1311
  * Current values in the form control.
1393
1312
  */
1394
- this.values$ = this._formControlValue.pipe(map(convertMaybeToArray), shareReplay$1(1));
1313
+ this.values$ = this._formControlValue.pipe(map(convertMaybeToArray), shareReplay(1));
1395
1314
  /**
1396
1315
  * Current values with their display value.
1397
1316
  */
@@ -1401,16 +1320,16 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
1401
1320
  currentValues.forEach((x) => {
1402
1321
  var _a;
1403
1322
  const key = this.hashForValue(x);
1404
- let displayValue = (_a = displayValuesMap.get(key)) === null || _a === void 0 ? void 0 : _a[0];
1323
+ const displayValue = (_a = displayValuesMap.get(key)) === null || _a === void 0 ? void 0 : _a[0];
1405
1324
  if (!displayValue) {
1406
1325
  valuesNotInDisplayMap.push(x);
1407
1326
  }
1408
1327
  });
1409
1328
  if (valuesNotInDisplayMap.length) {
1410
- return this.loadDisplayValuesForValues(valuesNotInDisplayMap).pipe(map(x => mapLoadingStateResults(x, {
1329
+ return this.loadDisplayValuesForValues(valuesNotInDisplayMap).pipe(map((x) => mapLoadingStateResults(x, {
1411
1330
  mapValue: (loadedValues) => {
1412
- loadedValues.forEach(x => { var _a; return x.isUnknown = (_a = x.isUnknown) !== null && _a !== void 0 ? _a : true; }); // Assign unknown flag.
1413
- return ([...displayValues, ...loadedValues]);
1331
+ loadedValues.forEach((x) => { var _a; return (x.isUnknown = (_a = x.isUnknown) !== null && _a !== void 0 ? _a : true); }); // Assign unknown flag.
1332
+ return [...displayValues, ...loadedValues];
1414
1333
  }
1415
1334
  })));
1416
1335
  }
@@ -1421,27 +1340,27 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
1421
1340
  /**
1422
1341
  * Results to be displayed if filtered.
1423
1342
  */
1424
- this.filteredSearchResultsState$ = this.loadResultsDisplayValues$.pipe(switchMap((values) => this.filterInputValueString$.pipe(switchMap(text => combineLatest([this._filterValues(text, values), this.displayValuesState$]).pipe(map(([values, displayState]) => mapLoadingStateResults(displayState, {
1343
+ this.filteredSearchResultsState$ = this.loadResultsDisplayValues$.pipe(switchMap((values) => this.filterInputValueString$.pipe(switchMap((text) => combineLatest([this._filterValues(text, values), this.displayValuesState$]).pipe(map(([values, displayState]) => mapLoadingStateResults(displayState, {
1425
1344
  mapValue: (displayValues) => {
1426
- const valueHashSet = new Set(values.map(x => this.hashForValue(x)));
1427
- return displayValues.filter(x => !x.isUnknown && valueHashSet.has(x._hash));
1345
+ const valueHashSet = new Set(values.map((x) => this.hashForValue(x)));
1346
+ return displayValues.filter((x) => !x.isUnknown && valueHashSet.has(x._hash));
1428
1347
  }
1429
- })), startWith(beginLoading()))))), shareReplay$1(1));
1430
- this.filteredSearchResults$ = this.filteredSearchResultsState$.pipe(map(x => x === null || x === void 0 ? void 0 : x.value), filterMaybe(), shareReplay$1(1));
1348
+ })), startWithBeginLoading())))), shareReplay(1));
1349
+ this.filteredSearchResults$ = this.filteredSearchResultsState$.pipe(map((x) => x === null || x === void 0 ? void 0 : x.value), filterMaybe(), shareReplay(1));
1431
1350
  this.items$ = combineLatest([this.filteredSearchResults$, this.values$]).pipe(map(([displayValues, values]) => {
1432
- const selectedHashValuesSet = new Set(values.map(x => this.hashForValue(x)));
1351
+ const selectedHashValuesSet = new Set(values.map((x) => this.hashForValue(x)));
1433
1352
  let items = displayValues.map((x) => ({ itemValue: x, selected: selectedHashValuesSet.has(x._hash) }));
1434
1353
  if (this.sortItems) {
1435
1354
  items = this.sortItems(items);
1436
1355
  }
1437
1356
  return items;
1438
- }), shareReplay$1(1));
1439
- this.itemsLoadingState$ = this.loadResultsDisplayValues$.pipe(switchMap(x => this.items$.pipe(first(), map(x => successResult(x)), startWith(beginLoading()), shareReplay$1(1))));
1357
+ }), shareReplay(1));
1358
+ this.itemsLoadingState$ = this.loadResultsDisplayValues$.pipe(switchMap(() => this.items$.pipe(first(), map((x) => successResult(x)), startWithBeginLoading(), shareReplay(1))));
1440
1359
  /**
1441
1360
  * Context used for managing the loading of items, or when the current results change.
1442
1361
  */
1443
1362
  this.context = new ListLoadingStateContextInstance({ obs: this.itemsLoadingState$, showLoadingOnNoValue: false });
1444
- this.filterItemsLoadingState$ = this.items$.pipe(map(x => successResult(x)), startWith(beginLoading()), shareReplay$1(1));
1363
+ this.filterItemsLoadingState$ = this.items$.pipe(map((x) => successResult(x)), startWithBeginLoading(), shareReplay(1));
1445
1364
  /**
1446
1365
  * Context used for searching/filtering.
1447
1366
  */
@@ -1471,7 +1390,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
1471
1390
  }
1472
1391
  get name() {
1473
1392
  var _a, _b;
1474
- return (_a = this.field.name) !== null && _a !== void 0 ? _a : (camelCase((_b = this.label) !== null && _b !== void 0 ? _b : this.key));
1393
+ return (_a = this.field.name) !== null && _a !== void 0 ? _a : camelCase((_b = this.label) !== null && _b !== void 0 ? _b : this.key);
1475
1394
  }
1476
1395
  get label() {
1477
1396
  var _a;
@@ -1479,7 +1398,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
1479
1398
  }
1480
1399
  get autocomplete() {
1481
1400
  var _a, _b, _c;
1482
- return (_c = (_b = (_a = this.field.templateOptions) === null || _a === void 0 ? void 0 : _a.attributes) === null || _b === void 0 ? void 0 : _b['autocomplete']) !== null && _c !== void 0 ? _c : this.key;
1401
+ return ((_c = (_b = (_a = this.field.templateOptions) === null || _a === void 0 ? void 0 : _a.attributes) === null || _b === void 0 ? void 0 : _b['autocomplete']) !== null && _c !== void 0 ? _c : this.key);
1483
1402
  }
1484
1403
  get changeSelectionModeToViewOnDisabled() {
1485
1404
  var _a;
@@ -1500,7 +1419,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
1500
1419
  }
1501
1420
  get filterValuesFn() {
1502
1421
  var _a;
1503
- return (_a = this.pickableField.filterValues) !== null && _a !== void 0 ? _a : ((_, x) => of(x.map(y => y.value)));
1422
+ return (_a = this.pickableField.filterValues) !== null && _a !== void 0 ? _a : ((_, x) => of(x.map((y) => y.value)));
1504
1423
  }
1505
1424
  get skipFilterFnOnEmpty() {
1506
1425
  var _a;
@@ -1515,7 +1434,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
1515
1434
  result = this.filterValuesFn(filterText, values);
1516
1435
  }
1517
1436
  else {
1518
- result = of(values.map(x => x.value));
1437
+ result = of(values.map((x) => x.value));
1519
1438
  }
1520
1439
  return result;
1521
1440
  };
@@ -1543,44 +1462,44 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
1543
1462
  return this.loadDisplayValuesForFieldValues(values.map((value) => ({ value })));
1544
1463
  }
1545
1464
  loadDisplayValuesForFieldValues(values) {
1546
- return this.getDisplayValuesForFieldValues(values).pipe(map((displayValues) => successResult(displayValues)), startWith(beginLoading()), shareReplay$1(1));
1465
+ return this.getDisplayValuesForFieldValues(values).pipe(map((displayValues) => successResult(displayValues)), startWithBeginLoading(), shareReplay(1));
1547
1466
  }
1548
1467
  getDisplayValuesForFieldValues(values) {
1549
1468
  return this._displayHashMap.pipe(mergeMap((displayMap) => {
1550
- const mappingResult = values
1551
- .map(x => [x, this.hashForValue(x.value)])
1552
- .map(([x, hash], i) => [i, hash, x, displayMap.get(hash)]);
1553
- const hasDisplay = mappingResult.filter(x => Boolean(x[3]));
1554
- const needsDisplay = mappingResult.filter(x => !x[3]);
1469
+ const mappingResult = values.map((x) => [x, this.hashForValue(x.value)]).map(([x, hash], i) => [i, hash, x, displayMap.get(hash)]);
1470
+ const hasDisplay = mappingResult.filter((x) => Boolean(x[3]));
1471
+ const needsDisplay = mappingResult.filter((x) => !x[3]);
1555
1472
  if (needsDisplay.length > 0) {
1556
1473
  // Go get the display value.
1557
- const displayValuesObs = this.displayForValue(needsDisplay.map(x => x[2]));
1474
+ const displayValuesObs = this.displayForValue(needsDisplay.map((x) => x[2]));
1558
1475
  return displayValuesObs.pipe(first(), map((displayResults) => {
1559
1476
  const displayResultsWithHash = displayResults.map((x) => {
1560
1477
  x._hash = this.hashForValue(x.value);
1561
1478
  return x;
1562
1479
  });
1563
1480
  // Create a map to re-join values later.
1564
- const displayResultsMapping = displayResultsWithHash.map(x => [x, x._hash]);
1481
+ const displayResultsMapping = displayResultsWithHash.map((x) => [x, x._hash]);
1565
1482
  const valueIndexHashMap = new Map(displayResultsMapping.map(([x, hash]) => [hash, x]));
1566
1483
  // Update displayMap. No need to push an update notification.
1567
1484
  displayResultsMapping.forEach(([x, hash]) => displayMap.set(hash, x));
1568
1485
  // Zip values back together.
1569
- const newDisplayValues = mappingResult.map(x => { var _a; return (_a = x[3]) !== null && _a !== void 0 ? _a : valueIndexHashMap.get(x[1]); });
1486
+ const newDisplayValues = mappingResult.map((x) => { var _a; return (_a = x[3]) !== null && _a !== void 0 ? _a : valueIndexHashMap.get(x[1]); });
1570
1487
  // Return display values.
1571
1488
  return newDisplayValues;
1572
1489
  }));
1573
1490
  }
1574
1491
  else {
1575
1492
  // If all display values are hashed return that.
1576
- return of(hasDisplay.map(x => x[3]));
1493
+ return of(hasDisplay.map((x) => x[3]));
1577
1494
  }
1578
1495
  }));
1579
1496
  }
1580
1497
  ngOnInit() {
1581
1498
  this._formControlObs.next(this.formControl);
1582
1499
  // Focus after finished loading for the first time.
1583
- this.context.loading$.pipe(delay(10), filter(x => x), first()).subscribe(() => {
1500
+ this.context.loading$
1501
+ .pipe(delay(10), filter((x) => x), first())
1502
+ .subscribe(() => {
1584
1503
  var _a;
1585
1504
  (_a = this.filterMatInput) === null || _a === void 0 ? void 0 : _a.focus();
1586
1505
  });
@@ -1592,7 +1511,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
1592
1511
  this.filterResultsContext.destroy();
1593
1512
  }
1594
1513
  _getValueOnFormControl(valueOnFormControl) {
1595
- const value = (valueOnFormControl != null) ? [].concat(valueOnFormControl) : []; // Always return an array.
1514
+ const value = valueOnFormControl != null ? [].concat(valueOnFormControl) : []; // Always return an array.
1596
1515
  return value;
1597
1516
  }
1598
1517
  addValue(value) {
@@ -1600,7 +1519,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
1600
1519
  }
1601
1520
  removeValue(value) {
1602
1521
  const hashToFilter = this.hashForValue(value);
1603
- const values = this.values.filter(x => this.hashForValue(x) !== hashToFilter);
1522
+ const values = this.values.filter((x) => this.hashForValue(x) !== hashToFilter);
1604
1523
  this.setValues(values);
1605
1524
  }
1606
1525
  setValues(values) {
@@ -1609,7 +1528,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
1609
1528
  values = findUnique(values, this.hashForValue);
1610
1529
  }
1611
1530
  if (!this.multiSelect) {
1612
- values = [values[0]].filter(x => x != null);
1531
+ values = [values[0]].filter((x) => x != null);
1613
1532
  }
1614
1533
  this._setValueOnFormControl(values);
1615
1534
  }
@@ -1617,7 +1536,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
1617
1536
  _setValueOnFormControl(values) {
1618
1537
  let newValue = values;
1619
1538
  if (!this.asArrayValue) {
1620
- newValue = [values[0]].filter(x => x != null)[0];
1539
+ newValue = [values[0]].filter((x) => x != null)[0];
1621
1540
  }
1622
1541
  this.formControl.setValue(newValue);
1623
1542
  this.formControl.markAsTouched();
@@ -1649,10 +1568,10 @@ class DbxPickableChipListFieldComponent extends AbstractDbxPickableItemFieldDire
1649
1568
  }
1650
1569
  }
1651
1570
  DbxPickableChipListFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableChipListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1652
- DbxPickableChipListFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPickableChipListFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\" [linear]=\"true\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-chips\">\n <mat-chip-list [required]=\"required\" [selectable]=\"!isReadonlyOrDisabled\" #chipList>\n <mat-chip *ngFor=\"let item of items$ | async\" (click)=\"itemClicked(item)\" [selected]=\"item.selected\"\n [disabled]=\"isReadonlyOrDisabled || item.disabled\">\n <span class=\"dbx-chip-label\">{{ item.itemValue.label }}</span>\n <span class=\"dbx-chip-sublabel\" *ngIf=\"item.itemValue.sublabel\">{{ item.itemValue.sublabel }}</span>\n </mat-chip>\n </mat-chip-list>\n <dbx-injection [config]=\"footerConfig\"></dbx-injection>\n </div>\n </dbx-loading>\n</div>\n\n<!-- Filter Input -->\n<ng-template #filterTemplate>\n <div class=\"dbx-pickable-item-field-filter\">\n <div class=\"dbx-label\">{{ filterLabel }}</div>\n <input [name]=\"name\" autocomplete=\"{{ autocomplete }}\" #filterMatInput=\"matInput\" matInput\n [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\">\n <mat-divider></mat-divider>\n <dbx-loading [linear]=\"true\" [context]=\"filterResultsContext\"></dbx-loading>\n <!-- No items found. -->\n <p *ngIf=\"noItemsAvailable$ | async\" class=\"dbx-label\">No items match this filter.</p>\n </div>\n</ng-template>\n", components: [{ type: i1$1.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i1$5.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i2.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { type: i4$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$5.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i6$1.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$1.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: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i5.AsyncPipe } });
1571
+ DbxPickableChipListFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPickableChipListFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\" [linear]=\"true\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-chips\">\n <mat-chip-list [required]=\"required\" [selectable]=\"!isReadonlyOrDisabled\" #chipList>\n <mat-chip *ngFor=\"let item of items$ | async\" (click)=\"itemClicked(item)\" [selected]=\"item.selected\" [disabled]=\"isReadonlyOrDisabled || item.disabled\">\n <span class=\"dbx-chip-label\">{{ item.itemValue.label }}</span>\n <span class=\"dbx-chip-sublabel\" *ngIf=\"item.itemValue.sublabel\">{{ item.itemValue.sublabel }}</span>\n </mat-chip>\n </mat-chip-list>\n <dbx-injection [config]=\"footerConfig\"></dbx-injection>\n </div>\n </dbx-loading>\n</div>\n\n<!-- Filter Input -->\n<ng-template #filterTemplate>\n <div class=\"dbx-pickable-item-field-filter\">\n <div class=\"dbx-label\">{{ filterLabel }}</div>\n <input [name]=\"name\" autocomplete=\"{{ autocomplete }}\" #filterMatInput=\"matInput\" matInput [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\" />\n <mat-divider></mat-divider>\n <dbx-loading [linear]=\"true\" [context]=\"filterResultsContext\"></dbx-loading>\n <!-- No items found. -->\n <p *ngIf=\"noItemsAvailable$ | async\" class=\"dbx-label\">No items match this filter.</p>\n </div>\n</ng-template>\n", components: [{ type: i1$1.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i1$5.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i2.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { type: i4$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$5.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i6$1.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$1.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: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i5.AsyncPipe } });
1653
1572
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableChipListFieldComponent, decorators: [{
1654
1573
  type: Component,
1655
- args: [{ template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\" [linear]=\"true\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-chips\">\n <mat-chip-list [required]=\"required\" [selectable]=\"!isReadonlyOrDisabled\" #chipList>\n <mat-chip *ngFor=\"let item of items$ | async\" (click)=\"itemClicked(item)\" [selected]=\"item.selected\"\n [disabled]=\"isReadonlyOrDisabled || item.disabled\">\n <span class=\"dbx-chip-label\">{{ item.itemValue.label }}</span>\n <span class=\"dbx-chip-sublabel\" *ngIf=\"item.itemValue.sublabel\">{{ item.itemValue.sublabel }}</span>\n </mat-chip>\n </mat-chip-list>\n <dbx-injection [config]=\"footerConfig\"></dbx-injection>\n </div>\n </dbx-loading>\n</div>\n\n<!-- Filter Input -->\n<ng-template #filterTemplate>\n <div class=\"dbx-pickable-item-field-filter\">\n <div class=\"dbx-label\">{{ filterLabel }}</div>\n <input [name]=\"name\" autocomplete=\"{{ autocomplete }}\" #filterMatInput=\"matInput\" matInput\n [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\">\n <mat-divider></mat-divider>\n <dbx-loading [linear]=\"true\" [context]=\"filterResultsContext\"></dbx-loading>\n <!-- No items found. -->\n <p *ngIf=\"noItemsAvailable$ | async\" class=\"dbx-label\">No items match this filter.</p>\n </div>\n</ng-template>\n" }]
1574
+ args: [{ template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\" [linear]=\"true\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-chips\">\n <mat-chip-list [required]=\"required\" [selectable]=\"!isReadonlyOrDisabled\" #chipList>\n <mat-chip *ngFor=\"let item of items$ | async\" (click)=\"itemClicked(item)\" [selected]=\"item.selected\" [disabled]=\"isReadonlyOrDisabled || item.disabled\">\n <span class=\"dbx-chip-label\">{{ item.itemValue.label }}</span>\n <span class=\"dbx-chip-sublabel\" *ngIf=\"item.itemValue.sublabel\">{{ item.itemValue.sublabel }}</span>\n </mat-chip>\n </mat-chip-list>\n <dbx-injection [config]=\"footerConfig\"></dbx-injection>\n </div>\n </dbx-loading>\n</div>\n\n<!-- Filter Input -->\n<ng-template #filterTemplate>\n <div class=\"dbx-pickable-item-field-filter\">\n <div class=\"dbx-label\">{{ filterLabel }}</div>\n <input [name]=\"name\" autocomplete=\"{{ autocomplete }}\" #filterMatInput=\"matInput\" matInput [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\" />\n <mat-divider></mat-divider>\n <dbx-loading [linear]=\"true\" [context]=\"filterResultsContext\"></dbx-loading>\n <!-- No items found. -->\n <p *ngIf=\"noItemsAvailable$ | async\" class=\"dbx-label\">No items match this filter.</p>\n </div>\n</ng-template>\n" }]
1656
1575
  }] });
1657
1576
 
1658
1577
  /**
@@ -1661,15 +1580,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
1661
1580
  class DbxPickableListFieldComponent extends AbstractDbxPickableItemFieldDirective {
1662
1581
  onSelectionChange(event) {
1663
1582
  const items = event.items;
1664
- const values = items.map(x => x.itemValue.value);
1583
+ const values = items.map((x) => x.itemValue.value);
1665
1584
  this.setValues(values);
1666
1585
  }
1667
1586
  }
1668
1587
  DbxPickableListFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1669
- DbxPickableListFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPickableListFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-list\">\n <div class=\"dbx-pickable-item-field-list-content\">\n <dbx-form-pickable-item-field-item-list [disabled]=\"isReadonlyOrDisabled\" [state$]=\"filterItemsLoadingState$\"\n (selectionChange)=\"onSelectionChange($event)\">\n </dbx-form-pickable-item-field-item-list>\n </div>\n <dbx-injection [config]=\"footerConfig\"></dbx-injection>\n </div>\n </dbx-loading>\n</div>\n\n<!-- Filter Input -->\n<ng-template #filterTemplate>\n <div class=\"dbx-pickable-item-field-filter\">\n <div class=\"dbx-label\">{{ filterLabel }}</div>\n <input [name]=\"name\" autocomplete=\"{{ autocomplete }}\" #filterMatInput=\"matInput\" matInput\n [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\">\n <mat-divider></mat-divider>\n <dbx-loading [linear]=\"true\" [context]=\"filterResultsContext\"></dbx-loading>\n <!-- No items found. -->\n <p *ngIf=\"noItemsAvailable$ | async\" class=\"dbx-label\">No items match this filter.</p>\n </div>\n</ng-template>\n", components: [{ type: i0.forwardRef(function () { return i1$1.DbxLoadingComponent; }), selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i0.forwardRef(function () { return DbxPickableListFieldItemListComponent; }), selector: "dbx-form-pickable-item-field-item-list" }, { type: i0.forwardRef(function () { return i2.DbxInjectionComponent; }), selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { type: i0.forwardRef(function () { return i4$2.MatDivider; }), selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i0.forwardRef(function () { return i5.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i0.forwardRef(function () { return i5.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i0.forwardRef(function () { return i6$1.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: i0.forwardRef(function () { return i4$1.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: i0.forwardRef(function () { return i4$1.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { type: i0.forwardRef(function () { return i4$1.FormControlDirective; }), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i0.forwardRef(function () { return i5.AsyncPipe; }) } });
1588
+ DbxPickableListFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPickableListFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-list\">\n <div class=\"dbx-pickable-item-field-list-content\">\n <dbx-form-pickable-item-field-item-list [disabled]=\"isReadonlyOrDisabled\" [state$]=\"filterItemsLoadingState$\" (selectionChange)=\"onSelectionChange($event)\"></dbx-form-pickable-item-field-item-list>\n </div>\n <dbx-injection [config]=\"footerConfig\"></dbx-injection>\n </div>\n </dbx-loading>\n</div>\n\n<!-- Filter Input -->\n<ng-template #filterTemplate>\n <div class=\"dbx-pickable-item-field-filter\">\n <div class=\"dbx-label\">{{ filterLabel }}</div>\n <input [name]=\"name\" autocomplete=\"{{ autocomplete }}\" #filterMatInput=\"matInput\" matInput [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\" />\n <mat-divider></mat-divider>\n <dbx-loading [linear]=\"true\" [context]=\"filterResultsContext\"></dbx-loading>\n <!-- No items found. -->\n <p *ngIf=\"noItemsAvailable$ | async\" class=\"dbx-label\">No items match this filter.</p>\n </div>\n</ng-template>\n", components: [{ type: i0.forwardRef(function () { return i1$1.DbxLoadingComponent; }), selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i0.forwardRef(function () { return DbxPickableListFieldItemListComponent; }), selector: "dbx-form-pickable-item-field-item-list" }, { type: i0.forwardRef(function () { return i2.DbxInjectionComponent; }), selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { type: i0.forwardRef(function () { return i4$2.MatDivider; }), selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i0.forwardRef(function () { return i5.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i0.forwardRef(function () { return i5.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i0.forwardRef(function () { return i6$1.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: i0.forwardRef(function () { return i4$1.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: i0.forwardRef(function () { return i4$1.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { type: i0.forwardRef(function () { return i4$1.FormControlDirective; }), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i0.forwardRef(function () { return i5.AsyncPipe; }) } });
1670
1589
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableListFieldComponent, decorators: [{
1671
1590
  type: Component,
1672
- args: [{ template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-list\">\n <div class=\"dbx-pickable-item-field-list-content\">\n <dbx-form-pickable-item-field-item-list [disabled]=\"isReadonlyOrDisabled\" [state$]=\"filterItemsLoadingState$\"\n (selectionChange)=\"onSelectionChange($event)\">\n </dbx-form-pickable-item-field-item-list>\n </div>\n <dbx-injection [config]=\"footerConfig\"></dbx-injection>\n </div>\n </dbx-loading>\n</div>\n\n<!-- Filter Input -->\n<ng-template #filterTemplate>\n <div class=\"dbx-pickable-item-field-filter\">\n <div class=\"dbx-label\">{{ filterLabel }}</div>\n <input [name]=\"name\" autocomplete=\"{{ autocomplete }}\" #filterMatInput=\"matInput\" matInput\n [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\">\n <mat-divider></mat-divider>\n <dbx-loading [linear]=\"true\" [context]=\"filterResultsContext\"></dbx-loading>\n <!-- No items found. -->\n <p *ngIf=\"noItemsAvailable$ | async\" class=\"dbx-label\">No items match this filter.</p>\n </div>\n</ng-template>\n" }]
1591
+ args: [{ template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-list\">\n <div class=\"dbx-pickable-item-field-list-content\">\n <dbx-form-pickable-item-field-item-list [disabled]=\"isReadonlyOrDisabled\" [state$]=\"filterItemsLoadingState$\" (selectionChange)=\"onSelectionChange($event)\"></dbx-form-pickable-item-field-item-list>\n </div>\n <dbx-injection [config]=\"footerConfig\"></dbx-injection>\n </div>\n </dbx-loading>\n</div>\n\n<!-- Filter Input -->\n<ng-template #filterTemplate>\n <div class=\"dbx-pickable-item-field-filter\">\n <div class=\"dbx-label\">{{ filterLabel }}</div>\n <input [name]=\"name\" autocomplete=\"{{ autocomplete }}\" #filterMatInput=\"matInput\" matInput [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\" />\n <mat-divider></mat-divider>\n <dbx-loading [linear]=\"true\" [context]=\"filterResultsContext\"></dbx-loading>\n <!-- No items found. -->\n <p *ngIf=\"noItemsAvailable$ | async\" class=\"dbx-label\">No items match this filter.</p>\n </div>\n</ng-template>\n" }]
1673
1592
  }] });
1674
1593
  // MARK: Selection List
1675
1594
  class DbxPickableListFieldItemListComponent extends AbstractDbxSelectionListWrapperDirective {
@@ -1695,12 +1614,13 @@ class DbxPickableListFieldItemListViewComponent extends AbstractDbxSelectionList
1695
1614
  constructor(dbxPickableListFieldComponent) {
1696
1615
  super();
1697
1616
  this.dbxPickableListFieldComponent = dbxPickableListFieldComponent;
1617
+ // TODO: any belongs here for now, but item list typings need to be updated.
1698
1618
  this.config = {
1699
1619
  componentClass: DbxPickableListFieldItemListViewItemComponent
1700
1620
  };
1701
1621
  this.items$ = this.values$.pipe(
1702
1622
  // NOTE: This causes the "value" to be a PickableValueFieldDisplayValue<T>, which means we emit PickableValueFieldDisplayValue<T> to DbxPickableListFieldComponent.
1703
- map(x => addConfigToValueListItems(this.config, x)), shareReplay$1(1));
1623
+ map((x) => addConfigToValueListItems(this.config, x)), shareReplay(1));
1704
1624
  }
1705
1625
  get multiple() {
1706
1626
  return this.dbxPickableListFieldComponent.multiSelect;
@@ -1714,12 +1634,16 @@ class DbxPickableListFieldItemListViewComponent extends AbstractDbxSelectionList
1714
1634
  }
1715
1635
  }
1716
1636
  DbxPickableListFieldItemListViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableListFieldItemListViewComponent, deps: [{ token: DbxPickableListFieldComponent }], target: i0.ɵɵFactoryTarget.Component });
1717
- DbxPickableListFieldItemListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPickableListFieldItemListViewComponent, selector: "ng-component", providers: ProvideDbxListView(DbxPickableListFieldItemListViewComponent), usesInheritance: true, ngImport: i0, template: `<dbx-selection-list-view-content [multiple]="multiple" [selectionMode]="selectionMode" [items]="items$ | async"></dbx-selection-list-view-content>`, isInline: true, components: [{ type: i1$1.DbxSelectionValueListItemViewComponent, selector: "dbx-selection-list-view-content", inputs: ["multiple", "selectionMode"] }], pipes: { "async": i5.AsyncPipe } });
1637
+ DbxPickableListFieldItemListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPickableListFieldItemListViewComponent, selector: "ng-component", providers: provideDbxListView(DbxPickableListFieldItemListViewComponent), usesInheritance: true, ngImport: i0, template: `
1638
+ <dbx-selection-list-view-content [multiple]="multiple" [selectionMode]="selectionMode" [items]="items$ | async"></dbx-selection-list-view-content>
1639
+ `, isInline: true, components: [{ type: i1$1.DbxSelectionValueListItemViewComponent, selector: "dbx-selection-list-view-content", inputs: ["multiple", "selectionMode"] }], pipes: { "async": i5.AsyncPipe } });
1718
1640
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableListFieldItemListViewComponent, decorators: [{
1719
1641
  type: Component,
1720
1642
  args: [{
1721
- template: `<dbx-selection-list-view-content [multiple]="multiple" [selectionMode]="selectionMode" [items]="items$ | async"></dbx-selection-list-view-content>`,
1722
- providers: ProvideDbxListView(DbxPickableListFieldItemListViewComponent)
1643
+ template: `
1644
+ <dbx-selection-list-view-content [multiple]="multiple" [selectionMode]="selectionMode" [items]="items$ | async"></dbx-selection-list-view-content>
1645
+ `,
1646
+ providers: provideDbxListView(DbxPickableListFieldItemListViewComponent)
1723
1647
  }]
1724
1648
  }], ctorParameters: function () { return [{ type: DbxPickableListFieldComponent }]; } });
1725
1649
  class DbxPickableListFieldItemListViewItemComponent extends AbstractDbxValueListViewItemComponent {
@@ -1743,11 +1667,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
1743
1667
  class DbxFormFormlyPickableFieldModule {
1744
1668
  }
1745
1669
  DbxFormFormlyPickableFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyPickableFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1746
- DbxFormFormlyPickableFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyPickableFieldModule, declarations: [DbxPickableChipListFieldComponent,
1747
- DbxPickableListFieldComponent,
1748
- DbxPickableListFieldItemListComponent,
1749
- DbxPickableListFieldItemListViewComponent,
1750
- DbxPickableListFieldItemListViewItemComponent], imports: [CommonModule,
1670
+ DbxFormFormlyPickableFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyPickableFieldModule, declarations: [DbxPickableChipListFieldComponent, DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent], imports: [CommonModule,
1751
1671
  DbxTextModule,
1752
1672
  DbxLoadingModule,
1753
1673
  DbxButtonModule,
@@ -1785,7 +1705,7 @@ DbxFormFormlyPickableFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion:
1785
1705
  FormlyModule.forChild({
1786
1706
  types: [
1787
1707
  { name: 'pickablechipfield', component: DbxPickableChipListFieldComponent, wrappers: ['form-field'] },
1788
- { name: 'pickablelistfield', component: DbxPickableListFieldComponent, wrappers: ['form-field'] },
1708
+ { name: 'pickablelistfield', component: DbxPickableListFieldComponent, wrappers: ['form-field'] }
1789
1709
  ]
1790
1710
  })
1791
1711
  ]] });
@@ -1813,17 +1733,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
1813
1733
  FormlyModule.forChild({
1814
1734
  types: [
1815
1735
  { name: 'pickablechipfield', component: DbxPickableChipListFieldComponent, wrappers: ['form-field'] },
1816
- { name: 'pickablelistfield', component: DbxPickableListFieldComponent, wrappers: ['form-field'] },
1736
+ { name: 'pickablelistfield', component: DbxPickableListFieldComponent, wrappers: ['form-field'] }
1817
1737
  ]
1818
1738
  })
1819
1739
  ],
1820
- declarations: [
1821
- DbxPickableChipListFieldComponent,
1822
- DbxPickableListFieldComponent,
1823
- DbxPickableListFieldItemListComponent,
1824
- DbxPickableListFieldItemListViewComponent,
1825
- DbxPickableListFieldItemListViewItemComponent
1826
- ],
1740
+ declarations: [DbxPickableChipListFieldComponent, DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent],
1827
1741
  exports: []
1828
1742
  }]
1829
1743
  }] });
@@ -1832,12 +1746,12 @@ function filterPickableItemFieldValuesByLabel(filterText, values) {
1832
1746
  let filteredValues;
1833
1747
  if (filterText) {
1834
1748
  const searchString = filterText.toLocaleLowerCase();
1835
- filteredValues = values.filter(x => x.label.toLocaleLowerCase().indexOf(searchString) !== -1);
1749
+ filteredValues = values.filter((x) => x.label.toLocaleLowerCase().indexOf(searchString) !== -1);
1836
1750
  }
1837
1751
  else {
1838
1752
  filteredValues = values;
1839
1753
  }
1840
- return of(filteredValues.map(x => x.value));
1754
+ return of(filteredValues.map((x) => x.value));
1841
1755
  }
1842
1756
  function sortPickableItemsByLabel(chips) {
1843
1757
  return chips.sort((a, b) => a.itemValue.label.localeCompare(b.itemValue.label));
@@ -1859,15 +1773,17 @@ const DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN = new InjectionToken('DbxSearcha
1859
1773
  class DbxSearchableFieldAutocompleteItemComponent {
1860
1774
  constructor() {
1861
1775
  this._displayValue = new BehaviorSubject(undefined);
1862
- this.displayValue$ = this._displayValue.pipe(filterMaybe(), shareReplay$1(1));
1863
- this.config$ = this.displayValue$.pipe(map(x => {
1864
- const config = Object.assign(Object.assign({}, x.display), { providers: mergeIntoArray([{
1776
+ this.displayValue$ = this._displayValue.pipe(filterMaybe(), shareReplay(1));
1777
+ this.config$ = this.displayValue$.pipe(map((x) => {
1778
+ const config = Object.assign(Object.assign({}, x.display), { providers: mergeIntoArray([
1779
+ {
1865
1780
  provide: DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN,
1866
1781
  useValue: x
1867
- }], x.display.providers) });
1782
+ }
1783
+ ], x.display.providers) });
1868
1784
  return config;
1869
1785
  }));
1870
- this.anchor$ = this.displayValue$.pipe(map(x => x.anchor));
1786
+ this.anchor$ = this.displayValue$.pipe(map((x) => x.anchor));
1871
1787
  }
1872
1788
  set displayValue(displayValue) {
1873
1789
  this._displayValue.next(displayValue);
@@ -1915,20 +1831,20 @@ class DbxDefaultSearchableFieldDisplayComponent extends AbstractDbxSearchableFie
1915
1831
  }
1916
1832
  DbxDefaultSearchableFieldDisplayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1917
1833
  DbxDefaultSearchableFieldDisplayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxDefaultSearchableFieldDisplayComponent, selector: "dbx-default-searchable-field-display", usesInheritance: true, ngImport: i0, template: `
1918
- <div class="dbx-default-searchable-field-display">
1919
- <span class="dbx-chip-label">{{ displayValue.label }}</span>
1920
- <span class="dbx-chip-sublabel" *ngIf="displayValue.sublabel">({{ displayValue.sublabel }})</span>
1921
- </div>
1834
+ <div class="dbx-default-searchable-field-display">
1835
+ <span class="dbx-chip-label">{{ displayValue.label }}</span>
1836
+ <span class="dbx-chip-sublabel" *ngIf="displayValue.sublabel">({{ displayValue.sublabel }})</span>
1837
+ </div>
1922
1838
  `, isInline: true, directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1923
1839
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, decorators: [{
1924
1840
  type: Component,
1925
1841
  args: [{
1926
1842
  selector: 'dbx-default-searchable-field-display',
1927
1843
  template: `
1928
- <div class="dbx-default-searchable-field-display">
1929
- <span class="dbx-chip-label">{{ displayValue.label }}</span>
1930
- <span class="dbx-chip-sublabel" *ngIf="displayValue.sublabel">({{ displayValue.sublabel }})</span>
1931
- </div>
1844
+ <div class="dbx-default-searchable-field-display">
1845
+ <span class="dbx-chip-label">{{ displayValue.label }}</span>
1846
+ <span class="dbx-chip-sublabel" *ngIf="displayValue.sublabel">({{ displayValue.sublabel }})</span>
1847
+ </div>
1932
1848
  `
1933
1849
  }]
1934
1850
  }] });
@@ -1952,20 +1868,20 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
1952
1868
  this._displayHashMap = new BehaviorSubject(new Map());
1953
1869
  this.inputValue$ = this.inputCtrl.valueChanges.pipe(startWith(this.inputCtrl.value));
1954
1870
  this.inputValueString$ = this.inputValue$.pipe(debounceTime(200), distinctUntilChanged());
1955
- this.searchResultsState$ = this.inputValueString$.pipe(switchMap((text) => ((text || this.searchOnEmptyText) ? this.search(text !== null && text !== void 0 ? text : '') : of([])).pipe(switchMap((x) => this.loadDisplayValuesForFieldValues(x)),
1871
+ this.searchResultsState$ = this.inputValueString$.pipe(switchMap((text) => (text || this.searchOnEmptyText ? this.search(text !== null && text !== void 0 ? text : '') : of([])).pipe(switchMap((x) => this.loadDisplayValuesForFieldValues(x)),
1956
1872
  // Return begin loading to setup the loading state.
1957
- startWith(beginLoading()))), shareReplay$1(1));
1873
+ startWithBeginLoading())), shareReplay(1));
1958
1874
  this.singleValueSyncSubscription = new SubscriptionObject();
1959
1875
  this.searchContext = new LoadingStateContextInstance({ obs: this.searchResultsState$, showLoadingOnNoValue: false });
1960
- this.searchResults$ = this.searchResultsState$.pipe(map(x => { var _a; return (_a = x === null || x === void 0 ? void 0 : x.value) !== null && _a !== void 0 ? _a : []; }));
1961
- this._formControlValue = this.formControl$.pipe(switchMap(control => control.valueChanges.pipe(startWith(control.value), shareReplay$1(1))));
1962
- this.values$ = this._formControlValue.pipe(map(convertMaybeToArray), shareReplay$1(1));
1963
- this.displayValuesState$ = this.values$.pipe(distinctUntilChanged(), switchMap((values) => this.loadDisplayValuesForValues(values)), shareReplay$1(1));
1964
- this.displayValues$ = this.displayValuesState$.pipe(map(x => { var _a; return (_a = x === null || x === void 0 ? void 0 : x.value) !== null && _a !== void 0 ? _a : []; }));
1876
+ this.searchResults$ = this.searchResultsState$.pipe(map((x) => { var _a; return (_a = x === null || x === void 0 ? void 0 : x.value) !== null && _a !== void 0 ? _a : []; }));
1877
+ this._formControlValue = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value), shareReplay(1))));
1878
+ this.values$ = this._formControlValue.pipe(map(convertMaybeToArray), shareReplay(1));
1879
+ this.displayValuesState$ = this.values$.pipe(distinctUntilChanged(), switchMap((values) => this.loadDisplayValuesForValues(values)), shareReplay(1));
1880
+ this.displayValues$ = this.displayValuesState$.pipe(map((x) => { var _a; return (_a = x === null || x === void 0 ? void 0 : x.value) !== null && _a !== void 0 ? _a : []; }));
1965
1881
  }
1966
1882
  get name() {
1967
1883
  var _a, _b;
1968
- return (_a = this.field.name) !== null && _a !== void 0 ? _a : (camelCase((_b = this.label) !== null && _b !== void 0 ? _b : this.key));
1884
+ return (_a = this.field.name) !== null && _a !== void 0 ? _a : camelCase((_b = this.label) !== null && _b !== void 0 ? _b : this.key);
1969
1885
  }
1970
1886
  get label() {
1971
1887
  var _a;
@@ -1984,7 +1900,7 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
1984
1900
  }
1985
1901
  get autocomplete() {
1986
1902
  var _a, _b, _c;
1987
- return (_c = (_b = (_a = this.field.templateOptions) === null || _a === void 0 ? void 0 : _a.attributes) === null || _b === void 0 ? void 0 : _b['autocomplete']) !== null && _c !== void 0 ? _c : this.key;
1903
+ return ((_c = (_b = (_a = this.field.templateOptions) === null || _a === void 0 ? void 0 : _a.attributes) === null || _b === void 0 ? void 0 : _b['autocomplete']) !== null && _c !== void 0 ? _c : this.key);
1988
1904
  }
1989
1905
  get hashForValue() {
1990
1906
  var _a;
@@ -2024,24 +1940,22 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
2024
1940
  return this.loadDisplayValuesForFieldValues(values.map((value) => ({ value })));
2025
1941
  }
2026
1942
  loadDisplayValuesForFieldValues(values) {
2027
- return this.getDisplayValuesForFieldValues(values).pipe(map((displayValues) => successResult(displayValues)), startWith(beginLoading()), shareReplay$1(1));
1943
+ return this.getDisplayValuesForFieldValues(values).pipe(map((displayValues) => successResult(displayValues)), startWithBeginLoading(), shareReplay(1));
2028
1944
  }
2029
1945
  getDisplayValuesForFieldValues(values) {
2030
1946
  return this._displayHashMap.pipe(mergeMap((displayMap) => {
2031
- const mappingResult = values
2032
- .map(x => [x, this.hashForValue(x.value)])
2033
- .map(([x, hash], i) => [i, hash, x, displayMap.get(hash)]);
2034
- const hasDisplay = mappingResult.filter(x => Boolean(x[3]));
2035
- const needsDisplay = mappingResult.filter(x => !x[3]);
1947
+ const mappingResult = values.map((x) => [x, this.hashForValue(x.value)]).map(([x, hash], i) => [i, hash, x, displayMap.get(hash)]);
1948
+ const hasDisplay = mappingResult.filter((x) => Boolean(x[3]));
1949
+ const needsDisplay = mappingResult.filter((x) => !x[3]);
2036
1950
  let obs;
2037
1951
  if (needsDisplay.length > 0) {
2038
1952
  // Go get the display value.
2039
- const displayValuesObs = this.displayForValue(needsDisplay.map(x => x[2]));
1953
+ const displayValuesObs = this.displayForValue(needsDisplay.map((x) => x[2]));
2040
1954
  const defaultDisplay = mergeDbxInjectionComponentConfigs([this.defaultDisplay, this.display]);
2041
1955
  const anchorForValue = this.useAnchor && this.anchorForValue;
2042
1956
  obs = displayValuesObs.pipe(first(), map((displayResults) => {
2043
1957
  // Assign the default component classes to complete configuration.
2044
- displayResults.forEach(x => {
1958
+ displayResults.forEach((x) => {
2045
1959
  if (!x.display) {
2046
1960
  x.display = defaultDisplay;
2047
1961
  }
@@ -2053,19 +1967,19 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
2053
1967
  }
2054
1968
  });
2055
1969
  // Create a map to re-join values later.
2056
- const displayResultsMapping = displayResults.map(x => [x, this.hashForValue(x.value)]);
1970
+ const displayResultsMapping = displayResults.map((x) => [x, this.hashForValue(x.value)]);
2057
1971
  const valueIndexHashMap = new Map(displayResultsMapping.map(([x, hash]) => [hash, x]));
2058
1972
  // Update displayMap. No need to push an update notification.
2059
1973
  displayResultsMapping.forEach(([x, hash]) => displayMap.set(hash, x));
2060
1974
  // Zip values back together.
2061
- const newDisplayValues = mappingResult.map(x => { var _a; return (_a = x[3]) !== null && _a !== void 0 ? _a : valueIndexHashMap.get(x[1]); });
1975
+ const newDisplayValues = mappingResult.map((x) => { var _a; return (_a = x[3]) !== null && _a !== void 0 ? _a : valueIndexHashMap.get(x[1]); });
2062
1976
  // Return display values.
2063
1977
  return newDisplayValues;
2064
1978
  }));
2065
1979
  }
2066
1980
  else {
2067
1981
  // If all display values are hashed return that.
2068
- obs = of(hasDisplay.map(x => x[3]));
1982
+ obs = of(hasDisplay.map((x) => x[3]));
2069
1983
  }
2070
1984
  return obs;
2071
1985
  }));
@@ -2114,7 +2028,7 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
2114
2028
  return;
2115
2029
  }
2116
2030
  if (text) {
2117
- const value = (this.convertStringValue) ? this.convertStringValue(text) : text;
2031
+ const value = this.convertStringValue ? this.convertStringValue(text) : text;
2118
2032
  this.addValue(value);
2119
2033
  }
2120
2034
  }
@@ -2144,10 +2058,10 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
2144
2058
  let values;
2145
2059
  if (this.hashForValue) {
2146
2060
  const hashToFilter = this.hashForValue(value);
2147
- values = this.values.filter(x => this.hashForValue(x) !== hashToFilter);
2061
+ values = this.values.filter((x) => this.hashForValue(x) !== hashToFilter);
2148
2062
  }
2149
2063
  else {
2150
- values = this.values.filter(x => x !== value);
2064
+ values = this.values.filter((x) => x !== value);
2151
2065
  }
2152
2066
  this.setValues(values);
2153
2067
  }
@@ -2163,11 +2077,11 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
2163
2077
  }
2164
2078
  // MARK: Internal
2165
2079
  _getValueOnFormControl(valueOnFormControl) {
2166
- const value = (valueOnFormControl != null) ? [].concat(valueOnFormControl) : []; // Always return an array.
2080
+ const value = valueOnFormControl != null ? [].concat(valueOnFormControl) : []; // Always return an array.
2167
2081
  return value;
2168
2082
  }
2169
2083
  _setValueOnFormControl(values) {
2170
- const value = (this.multiSelect) ? values : lastValue(values); // pick last value, as the last value added is the newest value.
2084
+ const value = this.multiSelect ? values : lastValue(values); // pick last value, as the last value added is the newest value.
2171
2085
  this.formControl.setValue(value);
2172
2086
  this.formControl.markAsDirty();
2173
2087
  this.formControl.markAsTouched();
@@ -2225,10 +2139,10 @@ class DbxSearchableChipFieldComponent extends AbstractDbxSearchableValueFieldDir
2225
2139
  }
2226
2140
  }
2227
2141
  DbxSearchableChipFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxSearchableChipFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2228
- DbxSearchableChipFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxSearchableChipFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-searchable-field\">\n <!-- View -->\n <mat-chip-list [selectable]=\"!readonly\" [required]=\"required\" [disabled]=\"readonly\" #chipList>\n <mat-chip *ngFor=\"let displayValue of displayValues$ | async\" [removable]=\"true\"\n (removed)=\"removeWithDisplayValue(displayValue)\">\n <span class=\"dbx-chip-label\">{{ displayValue.label }}</span>\n <span class=\"dbx-chip-sublabel\" *ngIf=\"displayValue.sublabel\">{{ displayValue.sublabel }}</span>\n <mat-icon *ngIf=\"!readonly\" matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input #textInput [name]=\"name\" [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\"\n autocomplete=\"{{ autocomplete }}\" [matAutocompleteDisabled]=\"readonly\" [matChipInputFor]=\"chipList\" (keydown)=\"tabPressedOnInput($event)\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"addChip($event)\" (blur)=\"onBlur()\">\n </mat-chip-list>\n <div class=\"searchable-field-form-loading\">\n <dbx-loading [linear]=\"true\" [context]=\"searchContext\"></dbx-loading>\n </div>\n</div>\n\n<!-- Autocomplete -->\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto=\"matAutocomplete\"\n (optionSelected)=\"selected($event)\">\n <mat-option *ngFor=\"let displayValue of (searchResults$ | async)\" [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\">\n </dbx-searchable-field-autocomplete-item>\n </mat-option>\n</mat-autocomplete>\n", components: [{ type: i1$5.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i1$1.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i4$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: ["displayValue"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$5.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$5.MatChipRemove, selector: "[matChipRemove]" }, { type: i4$1.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: i4$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i1$5.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i5.AsyncPipe } });
2142
+ DbxSearchableChipFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxSearchableChipFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-searchable-field\">\n <!-- View -->\n <mat-chip-list [selectable]=\"!readonly\" [required]=\"required\" [disabled]=\"readonly\" #chipList>\n <mat-chip *ngFor=\"let displayValue of displayValues$ | async\" [removable]=\"true\" (removed)=\"removeWithDisplayValue(displayValue)\">\n <span class=\"dbx-chip-label\">{{ displayValue.label }}</span>\n <span class=\"dbx-chip-sublabel\" *ngIf=\"displayValue.sublabel\">{{ displayValue.sublabel }}</span>\n <mat-icon *ngIf=\"!readonly\" matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input #textInput [name]=\"name\" [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\" autocomplete=\"{{ autocomplete }}\" [matAutocompleteDisabled]=\"readonly\" [matChipInputFor]=\"chipList\" (keydown)=\"tabPressedOnInput($event)\" [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"addChip($event)\" (blur)=\"onBlur()\" />\n </mat-chip-list>\n <div class=\"searchable-field-form-loading\">\n <dbx-loading [linear]=\"true\" [context]=\"searchContext\"></dbx-loading>\n </div>\n</div>\n\n<!-- Autocomplete -->\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto=\"matAutocomplete\" (optionSelected)=\"selected($event)\">\n <mat-option *ngFor=\"let displayValue of searchResults$ | async\" [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\"></dbx-searchable-field-autocomplete-item>\n </mat-option>\n</mat-autocomplete>\n", components: [{ type: i1$5.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i1$1.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i4$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: ["displayValue"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$5.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$5.MatChipRemove, selector: "[matChipRemove]" }, { type: i4$1.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: i4$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i1$5.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i5.AsyncPipe } });
2229
2143
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxSearchableChipFieldComponent, decorators: [{
2230
2144
  type: Component,
2231
- args: [{ template: "<div class=\"dbx-searchable-field\">\n <!-- View -->\n <mat-chip-list [selectable]=\"!readonly\" [required]=\"required\" [disabled]=\"readonly\" #chipList>\n <mat-chip *ngFor=\"let displayValue of displayValues$ | async\" [removable]=\"true\"\n (removed)=\"removeWithDisplayValue(displayValue)\">\n <span class=\"dbx-chip-label\">{{ displayValue.label }}</span>\n <span class=\"dbx-chip-sublabel\" *ngIf=\"displayValue.sublabel\">{{ displayValue.sublabel }}</span>\n <mat-icon *ngIf=\"!readonly\" matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input #textInput [name]=\"name\" [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\"\n autocomplete=\"{{ autocomplete }}\" [matAutocompleteDisabled]=\"readonly\" [matChipInputFor]=\"chipList\" (keydown)=\"tabPressedOnInput($event)\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"addChip($event)\" (blur)=\"onBlur()\">\n </mat-chip-list>\n <div class=\"searchable-field-form-loading\">\n <dbx-loading [linear]=\"true\" [context]=\"searchContext\"></dbx-loading>\n </div>\n</div>\n\n<!-- Autocomplete -->\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto=\"matAutocomplete\"\n (optionSelected)=\"selected($event)\">\n <mat-option *ngFor=\"let displayValue of (searchResults$ | async)\" [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\">\n </dbx-searchable-field-autocomplete-item>\n </mat-option>\n</mat-autocomplete>\n" }]
2145
+ args: [{ template: "<div class=\"dbx-searchable-field\">\n <!-- View -->\n <mat-chip-list [selectable]=\"!readonly\" [required]=\"required\" [disabled]=\"readonly\" #chipList>\n <mat-chip *ngFor=\"let displayValue of displayValues$ | async\" [removable]=\"true\" (removed)=\"removeWithDisplayValue(displayValue)\">\n <span class=\"dbx-chip-label\">{{ displayValue.label }}</span>\n <span class=\"dbx-chip-sublabel\" *ngIf=\"displayValue.sublabel\">{{ displayValue.sublabel }}</span>\n <mat-icon *ngIf=\"!readonly\" matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input #textInput [name]=\"name\" [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\" autocomplete=\"{{ autocomplete }}\" [matAutocompleteDisabled]=\"readonly\" [matChipInputFor]=\"chipList\" (keydown)=\"tabPressedOnInput($event)\" [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"addChip($event)\" (blur)=\"onBlur()\" />\n </mat-chip-list>\n <div class=\"searchable-field-form-loading\">\n <dbx-loading [linear]=\"true\" [context]=\"searchContext\"></dbx-loading>\n </div>\n</div>\n\n<!-- Autocomplete -->\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto=\"matAutocomplete\" (optionSelected)=\"selected($event)\">\n <mat-option *ngFor=\"let displayValue of searchResults$ | async\" [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\"></dbx-searchable-field-autocomplete-item>\n </mat-option>\n</mat-autocomplete>\n" }]
2232
2146
  }] });
2233
2147
 
2234
2148
  /**
@@ -2243,9 +2157,10 @@ function makeMetaFilterSearchableFieldValueDisplayFn({ loadMetaForValues, makeDi
2243
2157
  let allValues;
2244
2158
  if (needLoading.length > 0) {
2245
2159
  const loadingResult = loadMetaForValues(needLoading);
2246
- allValues = loadingResult.pipe(map$1((result) => {
2160
+ allValues = loadingResult.pipe(map((result) => {
2247
2161
  const resultMap = arrayToMap(result, (x) => x.value);
2248
- const mergedWithLoad = needLoading.map((x) => {
2162
+ const mergedWithLoad = needLoading
2163
+ .map((x) => {
2249
2164
  var _a;
2250
2165
  const id = x.value;
2251
2166
  const loadedItem = resultMap.get(id);
@@ -2253,9 +2168,10 @@ function makeMetaFilterSearchableFieldValueDisplayFn({ loadMetaForValues, makeDi
2253
2168
  const meta = loadedItem === null || loadedItem === void 0 ? void 0 : loadedItem.meta;
2254
2169
  return Object.assign(Object.assign({}, x), { anchor,
2255
2170
  meta });
2256
- }).filter(x => !x.meta);
2171
+ })
2172
+ .filter((x) => !x.meta);
2257
2173
  return mergedWithLoad;
2258
- }), map$1((result) => [...loaded, ...result]));
2174
+ }), map((result) => [...loaded, ...result]));
2259
2175
  }
2260
2176
  else {
2261
2177
  allValues = of(loaded);
@@ -2286,9 +2202,9 @@ function searchableTextField(config) {
2286
2202
  class DbxSearchableTextFieldComponent extends AbstractDbxSearchableValueFieldDirective {
2287
2203
  constructor() {
2288
2204
  super(...arguments);
2289
- this.selectedDisplayValue$ = this.displayValues$.pipe(map(x => x[0]), shareReplay$1(1), tapDetectChanges(this.cdRef));
2290
- this.hasValue$ = this.selectedDisplayValue$.pipe(map(x => Boolean(x)));
2291
- this.showSelectedDisplayValue$ = this.selectedDisplayValue$.pipe(map(x => this.showSelectedValue && Boolean(x)), distinctUntilChanged(), shareReplay$1(1), tapDetectChanges(this.cdRef));
2205
+ this.selectedDisplayValue$ = this.displayValues$.pipe(map((x) => x[0]), shareReplay(1), tapDetectChanges(this.cdRef));
2206
+ this.hasValue$ = this.selectedDisplayValue$.pipe(map((x) => Boolean(x)));
2207
+ this.showSelectedDisplayValue$ = this.selectedDisplayValue$.pipe(map((x) => this.showSelectedValue && Boolean(x)), distinctUntilChanged(), shareReplay(1), tapDetectChanges(this.cdRef));
2292
2208
  this.multiSelect = false;
2293
2209
  this._clearInputSub = new SubscriptionObject();
2294
2210
  }
@@ -2312,24 +2228,20 @@ class DbxSearchableTextFieldComponent extends AbstractDbxSearchableValueFieldDir
2312
2228
  this._clearInputSub.destroy();
2313
2229
  }
2314
2230
  selected(event) {
2315
- const e = event;
2316
- this.addWithDisplayValue(e.option.value);
2231
+ this.addWithDisplayValue(event.option.value);
2317
2232
  }
2318
2233
  }
2319
2234
  DbxSearchableTextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxSearchableTextFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2320
- DbxSearchableTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxSearchableTextFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-searchable-text-field\"\n [ngClass]=\"{ 'dbx-searchable-text-field-has-value': (hasValue$ | async), 'dbx-searchable-text-field-show-value': showSelectedValue }\">\n <!-- Result View -->\n <div class=\"dbx-searchable-text-field-value mat-option mat-option-text\" *ngIf=\"showSelectedDisplayValue$ | async\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"(selectedDisplayValue$ | async)!\">\n </dbx-searchable-field-autocomplete-item>\n </div>\n <div class=\"dbx-searchable-text-field-input\">\n <div class=\"dbx-label\">Search</div>\n <!-- View -->\n <input type=\"search\" [name]=\"name\" matInput #textInput [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\"\n [matAutocomplete]=\"auto\" [matAutocompleteDisabled]=\"readonly\" autocomplete=\"{{ autocomplete }}\">\n <div class=\"searchable-field-form-loading\">\n <dbx-loading [linear]=\"true\" [context]=\"searchContext\"></dbx-loading>\n </div>\n </div>\n</div>\n\n<!-- Autocomplete -->\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto (optionSelected)=\"selected($event)\">\n <mat-option *ngFor=\"let displayValue of (searchResults$ | async)\" [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\">\n </dbx-searchable-field-autocomplete-item>\n </mat-option>\n <!-- Add/Pick String Value -->\n <mat-option *ngIf=\"allowStringValues && (inputValue$ | async)\" [value]=\"{ value: (inputValue$ | async) }\">\n <p class=\"dbx-clear-hint text-center\">\"{{ inputValue$ | async }}\"</p>\n </mat-option>\n <!-- Show clear value -->\n <mat-option *ngIf=\"showClearValue && (hasValue$ | async)\" value=\"\">\n <p class=\"dbx-clear-hint text-center\">Clear</p>\n </mat-option>\n</mat-autocomplete>\n", components: [{ type: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: ["displayValue"] }, { type: i1$1.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i4$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$1.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$1.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: i4$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i5.AsyncPipe } });
2235
+ DbxSearchableTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxSearchableTextFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-searchable-text-field\" [ngClass]=\"{ 'dbx-searchable-text-field-has-value': (hasValue$ | async), 'dbx-searchable-text-field-show-value': showSelectedValue }\">\n <!-- Result View -->\n <div class=\"dbx-searchable-text-field-value mat-option mat-option-text\" *ngIf=\"showSelectedDisplayValue$ | async\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"(selectedDisplayValue$ | async)!\"></dbx-searchable-field-autocomplete-item>\n </div>\n <div class=\"dbx-searchable-text-field-input\">\n <div class=\"dbx-label\">Search</div>\n <!-- View -->\n <input type=\"search\" [name]=\"name\" matInput #textInput [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\" [matAutocompleteDisabled]=\"readonly\" autocomplete=\"{{ autocomplete }}\" />\n <div class=\"searchable-field-form-loading\">\n <dbx-loading [linear]=\"true\" [context]=\"searchContext\"></dbx-loading>\n </div>\n </div>\n</div>\n\n<!-- Autocomplete -->\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto (optionSelected)=\"selected($event)\">\n <mat-option *ngFor=\"let displayValue of searchResults$ | async\" [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\"></dbx-searchable-field-autocomplete-item>\n </mat-option>\n <!-- Add/Pick String Value -->\n <mat-option *ngIf=\"allowStringValues && (inputValue$ | async)\" [value]=\"{ value: (inputValue$ | async) }\">\n <p class=\"dbx-clear-hint text-center\">\"{{ inputValue$ | async }}\"</p>\n </mat-option>\n <!-- Show clear value -->\n <mat-option *ngIf=\"showClearValue && (hasValue$ | async)\" value=\"\">\n <p class=\"dbx-clear-hint text-center\">Clear</p>\n </mat-option>\n</mat-autocomplete>\n", components: [{ type: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: ["displayValue"] }, { type: i1$1.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i4$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$1.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$1.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: i4$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i5.AsyncPipe } });
2321
2236
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxSearchableTextFieldComponent, decorators: [{
2322
2237
  type: Component,
2323
- args: [{ template: "<div class=\"dbx-searchable-text-field\"\n [ngClass]=\"{ 'dbx-searchable-text-field-has-value': (hasValue$ | async), 'dbx-searchable-text-field-show-value': showSelectedValue }\">\n <!-- Result View -->\n <div class=\"dbx-searchable-text-field-value mat-option mat-option-text\" *ngIf=\"showSelectedDisplayValue$ | async\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"(selectedDisplayValue$ | async)!\">\n </dbx-searchable-field-autocomplete-item>\n </div>\n <div class=\"dbx-searchable-text-field-input\">\n <div class=\"dbx-label\">Search</div>\n <!-- View -->\n <input type=\"search\" [name]=\"name\" matInput #textInput [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\"\n [matAutocomplete]=\"auto\" [matAutocompleteDisabled]=\"readonly\" autocomplete=\"{{ autocomplete }}\">\n <div class=\"searchable-field-form-loading\">\n <dbx-loading [linear]=\"true\" [context]=\"searchContext\"></dbx-loading>\n </div>\n </div>\n</div>\n\n<!-- Autocomplete -->\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto (optionSelected)=\"selected($event)\">\n <mat-option *ngFor=\"let displayValue of (searchResults$ | async)\" [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\">\n </dbx-searchable-field-autocomplete-item>\n </mat-option>\n <!-- Add/Pick String Value -->\n <mat-option *ngIf=\"allowStringValues && (inputValue$ | async)\" [value]=\"{ value: (inputValue$ | async) }\">\n <p class=\"dbx-clear-hint text-center\">\"{{ inputValue$ | async }}\"</p>\n </mat-option>\n <!-- Show clear value -->\n <mat-option *ngIf=\"showClearValue && (hasValue$ | async)\" value=\"\">\n <p class=\"dbx-clear-hint text-center\">Clear</p>\n </mat-option>\n</mat-autocomplete>\n" }]
2238
+ args: [{ template: "<div class=\"dbx-searchable-text-field\" [ngClass]=\"{ 'dbx-searchable-text-field-has-value': (hasValue$ | async), 'dbx-searchable-text-field-show-value': showSelectedValue }\">\n <!-- Result View -->\n <div class=\"dbx-searchable-text-field-value mat-option mat-option-text\" *ngIf=\"showSelectedDisplayValue$ | async\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"(selectedDisplayValue$ | async)!\"></dbx-searchable-field-autocomplete-item>\n </div>\n <div class=\"dbx-searchable-text-field-input\">\n <div class=\"dbx-label\">Search</div>\n <!-- View -->\n <input type=\"search\" [name]=\"name\" matInput #textInput [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\" [matAutocompleteDisabled]=\"readonly\" autocomplete=\"{{ autocomplete }}\" />\n <div class=\"searchable-field-form-loading\">\n <dbx-loading [linear]=\"true\" [context]=\"searchContext\"></dbx-loading>\n </div>\n </div>\n</div>\n\n<!-- Autocomplete -->\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto (optionSelected)=\"selected($event)\">\n <mat-option *ngFor=\"let displayValue of searchResults$ | async\" [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\"></dbx-searchable-field-autocomplete-item>\n </mat-option>\n <!-- Add/Pick String Value -->\n <mat-option *ngIf=\"allowStringValues && (inputValue$ | async)\" [value]=\"{ value: (inputValue$ | async) }\">\n <p class=\"dbx-clear-hint text-center\">\"{{ inputValue$ | async }}\"</p>\n </mat-option>\n <!-- Show clear value -->\n <mat-option *ngIf=\"showClearValue && (hasValue$ | async)\" value=\"\">\n <p class=\"dbx-clear-hint text-center\">Clear</p>\n </mat-option>\n</mat-autocomplete>\n" }]
2324
2239
  }] });
2325
2240
 
2326
2241
  class DbxFormFormlySearchableFieldModule {
2327
2242
  }
2328
2243
  DbxFormFormlySearchableFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySearchableFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2329
- DbxFormFormlySearchableFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySearchableFieldModule, declarations: [DbxSearchableChipFieldComponent,
2330
- DbxSearchableTextFieldComponent,
2331
- DbxSearchableFieldAutocompleteItemComponent,
2332
- DbxDefaultSearchableFieldDisplayComponent], imports: [CommonModule,
2244
+ DbxFormFormlySearchableFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySearchableFieldModule, declarations: [DbxSearchableChipFieldComponent, DbxSearchableTextFieldComponent, DbxSearchableFieldAutocompleteItemComponent, DbxDefaultSearchableFieldDisplayComponent], imports: [CommonModule,
2333
2245
  DbxTextModule,
2334
2246
  DbxLoadingModule,
2335
2247
  DbxButtonModule,
@@ -2344,8 +2256,7 @@ DbxFormFormlySearchableFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion
2344
2256
  DbxRouterAnchorModule,
2345
2257
  MatChipsModule,
2346
2258
  MatIconModule,
2347
- DbxInjectionComponentModule, i1$4.FormlyModule], exports: [DbxSearchableChipFieldComponent,
2348
- DbxSearchableTextFieldComponent] });
2259
+ DbxInjectionComponentModule, i1$4.FormlyModule], exports: [DbxSearchableChipFieldComponent, DbxSearchableTextFieldComponent] });
2349
2260
  DbxFormFormlySearchableFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySearchableFieldModule, imports: [[
2350
2261
  CommonModule,
2351
2262
  DbxTextModule,
@@ -2366,7 +2277,7 @@ DbxFormFormlySearchableFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion
2366
2277
  FormlyModule.forChild({
2367
2278
  types: [
2368
2279
  { name: 'searchablechipfield', component: DbxSearchableChipFieldComponent, wrappers: ['form-field'] },
2369
- { name: 'searchabletextfield', component: DbxSearchableTextFieldComponent, wrappers: ['form-field'] },
2280
+ { name: 'searchabletextfield', component: DbxSearchableTextFieldComponent, wrappers: ['form-field'] }
2370
2281
  ]
2371
2282
  })
2372
2283
  ]] });
@@ -2393,50 +2304,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
2393
2304
  FormlyModule.forChild({
2394
2305
  types: [
2395
2306
  { name: 'searchablechipfield', component: DbxSearchableChipFieldComponent, wrappers: ['form-field'] },
2396
- { name: 'searchabletextfield', component: DbxSearchableTextFieldComponent, wrappers: ['form-field'] },
2307
+ { name: 'searchabletextfield', component: DbxSearchableTextFieldComponent, wrappers: ['form-field'] }
2397
2308
  ]
2398
2309
  })
2399
2310
  ],
2400
- declarations: [
2401
- DbxSearchableChipFieldComponent,
2402
- DbxSearchableTextFieldComponent,
2403
- DbxSearchableFieldAutocompleteItemComponent,
2404
- DbxDefaultSearchableFieldDisplayComponent
2405
- ],
2406
- exports: [
2407
- DbxSearchableChipFieldComponent,
2408
- DbxSearchableTextFieldComponent
2409
- ]
2311
+ declarations: [DbxSearchableChipFieldComponent, DbxSearchableTextFieldComponent, DbxSearchableFieldAutocompleteItemComponent, DbxDefaultSearchableFieldDisplayComponent],
2312
+ exports: [DbxSearchableChipFieldComponent, DbxSearchableTextFieldComponent]
2410
2313
  }]
2411
2314
  }] });
2412
2315
 
2413
2316
  function chipTextField(config) {
2414
- const convertStringValue = (config.caseSensitive) ? ((x) => x) : ((x) => x === null || x === void 0 ? void 0 : x.toLowerCase());
2317
+ const convertStringValue = config.caseSensitive ? (x) => x : (x) => x === null || x === void 0 ? void 0 : x.toLowerCase();
2415
2318
  return formlyField(Object.assign(Object.assign({ type: 'searchablechipfield', allowStringValues: true, convertStringValue }, config), { displayForValue: (values) => {
2416
- return of(values.map(x => (Object.assign(Object.assign({}, x), { label: x.value }))));
2319
+ return of(values.map((x) => (Object.assign(Object.assign({}, x), { label: x.value }))));
2417
2320
  } }));
2418
2321
  }
2419
2322
 
2420
2323
  class DbxFormFormlySelectionModule {
2421
2324
  }
2422
2325
  DbxFormFormlySelectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySelectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2423
- DbxFormFormlySelectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [CommonModule], exports: [DbxFormFormlyPickableFieldModule,
2424
- DbxFormFormlySearchableFieldModule] });
2425
- DbxFormFormlySelectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [[
2426
- CommonModule
2427
- ], DbxFormFormlyPickableFieldModule,
2428
- DbxFormFormlySearchableFieldModule] });
2326
+ DbxFormFormlySelectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [CommonModule], exports: [DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule] });
2327
+ DbxFormFormlySelectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [[CommonModule], DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule] });
2429
2328
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySelectionModule, decorators: [{
2430
2329
  type: NgModule,
2431
2330
  args: [{
2432
- imports: [
2433
- CommonModule
2434
- ],
2331
+ imports: [CommonModule],
2435
2332
  declarations: [],
2436
- exports: [
2437
- DbxFormFormlyPickableFieldModule,
2438
- DbxFormFormlySearchableFieldModule
2439
- ]
2333
+ exports: [DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule]
2440
2334
  }]
2441
2335
  }] });
2442
2336
 
@@ -2469,7 +2363,9 @@ class DbxTextEditorFieldComponent extends FieldType$1 {
2469
2363
  ngOnInit() {
2470
2364
  this._editor = new Editor({});
2471
2365
  // Watch for value changes every second and update the pristine level.
2472
- this._sub.subscription = this.editor.valueChanges.pipe(debounceTime$1(100), filter$1(_ => this.editor.view.hasFocus())).subscribe(() => {
2366
+ this._sub.subscription = this.editor.valueChanges
2367
+ .pipe(debounceTime(100), filter(() => this.editor.view.hasFocus()))
2368
+ .subscribe(() => {
2473
2369
  this.formControl.updateValueAndValidity();
2474
2370
  this.formControl.markAsDirty();
2475
2371
  });
@@ -2541,9 +2437,7 @@ DbxFormFormlyTextEditorFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion
2541
2437
  MatFormFieldModule,
2542
2438
  MatInputModule,
2543
2439
  FormlyModule.forChild({
2544
- types: [
2545
- { name: 'texteditor', component: DbxTextEditorFieldComponent }
2546
- ]
2440
+ types: [{ name: 'texteditor', component: DbxTextEditorFieldComponent }]
2547
2441
  })
2548
2442
  ]] });
2549
2443
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyTextEditorFieldModule, decorators: [{
@@ -2558,14 +2452,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
2558
2452
  MatFormFieldModule,
2559
2453
  MatInputModule,
2560
2454
  FormlyModule.forChild({
2561
- types: [
2562
- { name: 'texteditor', component: DbxTextEditorFieldComponent }
2563
- ]
2455
+ types: [{ name: 'texteditor', component: DbxTextEditorFieldComponent }]
2564
2456
  })
2565
2457
  ],
2566
- declarations: [
2567
- DbxTextEditorFieldComponent
2568
- ],
2458
+ declarations: [DbxTextEditorFieldComponent],
2569
2459
  exports: []
2570
2460
  }]
2571
2461
  }] });
@@ -2613,7 +2503,7 @@ class DbxFormRepeatArrayTypeComponent extends FieldArrayType {
2613
2503
  return true;
2614
2504
  }
2615
2505
  else {
2616
- return (this.count < max);
2506
+ return this.count < max;
2617
2507
  }
2618
2508
  }
2619
2509
  /**
@@ -2653,17 +2543,20 @@ DbxFormRepeatArrayTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
2653
2543
  <dbx-subsection [header]="label">
2654
2544
  <!-- Fields -->
2655
2545
  <div class="dbx-form-repeat-array-fields" cdkDropList (cdkDropListDropped)="drop($event)">
2656
- <div class="dbx-form-repeat-array-field" cdkDrag cdkDragLockAxis="y" *ngFor="let field of field.fieldGroup; let i = index; let last = last;">
2657
- <div class="example-custom-placeholder" *cdkDragPlaceholder></div>
2658
- <dbx-bar>
2659
- <button cdkDragHandle mat-flat-button><mat-icon>drag_handle</mat-icon></button>
2660
- <dbx-button-spacer></dbx-button-spacer>
2661
- <h4><span class="repeat-array-number">{{ i + 1 }}</span><span>{{ labelForItem(field) }}</span></h4>
2662
- <span class="dbx-spacer"></span>
2663
- <button mat-flat-button color="warn" (click)="remove(i)">{{ removeText }}</button>
2664
- </dbx-bar>
2665
- <formly-field class="dbx-form-repeat-array-field-content" [field]="field"></formly-field>
2666
- </div>
2546
+ <div class="dbx-form-repeat-array-field" cdkDrag cdkDragLockAxis="y" *ngFor="let field of field.fieldGroup; let i = index; let last = last">
2547
+ <div class="example-custom-placeholder" *cdkDragPlaceholder></div>
2548
+ <dbx-bar>
2549
+ <button cdkDragHandle mat-flat-button><mat-icon>drag_handle</mat-icon></button>
2550
+ <dbx-button-spacer></dbx-button-spacer>
2551
+ <h4>
2552
+ <span class="repeat-array-number">{{ i + 1 }}</span>
2553
+ <span>{{ labelForItem(field) }}</span>
2554
+ </h4>
2555
+ <span class="dbx-spacer"></span>
2556
+ <button mat-flat-button color="warn" (click)="remove(i)">{{ removeText }}</button>
2557
+ </dbx-bar>
2558
+ <formly-field class="dbx-form-repeat-array-field-content" [field]="field"></formly-field>
2559
+ </div>
2667
2560
  </div>
2668
2561
  <!-- Add Button -->
2669
2562
  <div class="dbx-form-repeat-array-footer">
@@ -2671,7 +2564,7 @@ DbxFormRepeatArrayTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
2671
2564
  </div>
2672
2565
  </dbx-subsection>
2673
2566
  </div>
2674
- `, isInline: true, components: [{ type: i1$1.DbxSubSectionComponent, selector: "dbx-subsection" }, { type: i1$2.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$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i1$4.FormlyField, selector: "formly-field", inputs: ["field"] }], directives: [{ type: i5$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i5$1.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { type: i1$1.DbxBarDirective, selector: "dbx-bar", inputs: ["color"] }, { type: i5$1.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { type: i1$1.DbxButtonSpacerDirective, selector: "dbx-button-spacer,dbxButtonSpacer" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2567
+ `, isInline: true, components: [{ type: i1$1.DbxSubSectionComponent, selector: "dbx-subsection" }, { type: i1$2.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$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i1$4.FormlyField, selector: "formly-field", inputs: ["field"] }], directives: [{ type: i5$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i5$1.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { type: i1$1.DbxBarDirective, selector: "dbx-bar,[dbxBar]", inputs: ["color"] }, { type: i5$1.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { type: i1$1.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2675
2568
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormRepeatArrayTypeComponent, decorators: [{
2676
2569
  type: Component,
2677
2570
  args: [{
@@ -2680,17 +2573,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
2680
2573
  <dbx-subsection [header]="label">
2681
2574
  <!-- Fields -->
2682
2575
  <div class="dbx-form-repeat-array-fields" cdkDropList (cdkDropListDropped)="drop($event)">
2683
- <div class="dbx-form-repeat-array-field" cdkDrag cdkDragLockAxis="y" *ngFor="let field of field.fieldGroup; let i = index; let last = last;">
2684
- <div class="example-custom-placeholder" *cdkDragPlaceholder></div>
2685
- <dbx-bar>
2686
- <button cdkDragHandle mat-flat-button><mat-icon>drag_handle</mat-icon></button>
2687
- <dbx-button-spacer></dbx-button-spacer>
2688
- <h4><span class="repeat-array-number">{{ i + 1 }}</span><span>{{ labelForItem(field) }}</span></h4>
2689
- <span class="dbx-spacer"></span>
2690
- <button mat-flat-button color="warn" (click)="remove(i)">{{ removeText }}</button>
2691
- </dbx-bar>
2692
- <formly-field class="dbx-form-repeat-array-field-content" [field]="field"></formly-field>
2693
- </div>
2576
+ <div class="dbx-form-repeat-array-field" cdkDrag cdkDragLockAxis="y" *ngFor="let field of field.fieldGroup; let i = index; let last = last">
2577
+ <div class="example-custom-placeholder" *cdkDragPlaceholder></div>
2578
+ <dbx-bar>
2579
+ <button cdkDragHandle mat-flat-button><mat-icon>drag_handle</mat-icon></button>
2580
+ <dbx-button-spacer></dbx-button-spacer>
2581
+ <h4>
2582
+ <span class="repeat-array-number">{{ i + 1 }}</span>
2583
+ <span>{{ labelForItem(field) }}</span>
2584
+ </h4>
2585
+ <span class="dbx-spacer"></span>
2586
+ <button mat-flat-button color="warn" (click)="remove(i)">{{ removeText }}</button>
2587
+ </dbx-bar>
2588
+ <formly-field class="dbx-form-repeat-array-field-content" [field]="field"></formly-field>
2589
+ </div>
2694
2590
  </div>
2695
2591
  <!-- Add Button -->
2696
2592
  <div class="dbx-form-repeat-array-footer">
@@ -2727,9 +2623,7 @@ DbxFormFormlyArrayFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12
2727
2623
  DbxBarLayoutModule,
2728
2624
  DbxButtonModule,
2729
2625
  FormlyModule.forChild({
2730
- types: [
2731
- { name: 'repeatarray', component: DbxFormRepeatArrayTypeComponent }
2732
- ]
2626
+ types: [{ name: 'repeatarray', component: DbxFormRepeatArrayTypeComponent }]
2733
2627
  })
2734
2628
  ]] });
2735
2629
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyArrayFieldModule, decorators: [{
@@ -2747,14 +2641,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
2747
2641
  DbxBarLayoutModule,
2748
2642
  DbxButtonModule,
2749
2643
  FormlyModule.forChild({
2750
- types: [
2751
- { name: 'repeatarray', component: DbxFormRepeatArrayTypeComponent }
2752
- ]
2644
+ types: [{ name: 'repeatarray', component: DbxFormRepeatArrayTypeComponent }]
2753
2645
  })
2754
2646
  ],
2755
- declarations: [
2756
- DbxFormRepeatArrayTypeComponent
2757
- ],
2647
+ declarations: [DbxFormRepeatArrayTypeComponent],
2758
2648
  exports: []
2759
2649
  }]
2760
2650
  }] });
@@ -2764,7 +2654,7 @@ function repeatArrayField(config) {
2764
2654
  return formlyField(Object.assign(Object.assign({ key, type: 'repeatarray', repeatArrayField: {
2765
2655
  labelForField,
2766
2656
  addText,
2767
- removeText,
2657
+ removeText
2768
2658
  } }, templateOptionsForFieldConfig(config, {
2769
2659
  maxLength
2770
2660
  })), { fieldArray: {
@@ -2842,12 +2732,12 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
2842
2732
  this._formControlObs = new BehaviorSubject(undefined);
2843
2733
  this.formControl$ = this._formControlObs.pipe(filterMaybe());
2844
2734
  this._updateTime = new Subject();
2845
- this.value$ = this.formControl$.pipe(switchMap$1(control => control.valueChanges.pipe(startWith$1(control.value))), distinctUntilChanged$1((a, b) => isSameMinute(a, b)), shareReplay(1));
2735
+ this.value$ = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value))), distinctUntilChanged((a, b) => isSameMinute(a, b)), shareReplay(1));
2846
2736
  /**
2847
2737
  * Used to trigger/display visual updates (specifically on timeDistance, etc.).
2848
2738
  */
2849
- this.displayValue$ = interval(10 * 1000).pipe(startWith$1(0), map$1(_ => new Date().getMinutes()), distinctUntilChanged$1(), tap((_) => this.cdRef.markForCheck()), switchMap$1(_ => this.value$), shareReplay(1));
2850
- this.timeString$ = this.value$.pipe(filterMaybe(), map$1((x) => {
2739
+ this.displayValue$ = interval(10 * 1000).pipe(startWith(0), map(() => new Date().getMinutes()), distinctUntilChanged(), tap(() => this.cdRef.markForCheck()), switchMap(() => this.value$), shareReplay(1));
2740
+ this.timeString$ = this.value$.pipe(filterMaybe(), map((x) => {
2851
2741
  const timezone = guessCurrentTimezone();
2852
2742
  const timeString = toReadableTimeString(x, timezone);
2853
2743
  return timeString;
@@ -2856,23 +2746,17 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
2856
2746
  validators: []
2857
2747
  });
2858
2748
  this.timeInputCtrl = new FormControl('', {
2859
- validators: [
2860
- Validators.pattern(/^(now)$|^([0-9]|(0[0-9])|(1[0-9])|(2[0-3]))(:)?([0-5][0-9])?(\s)?([apAP][Mm])?(\\s)*$/)
2861
- ]
2749
+ validators: [Validators.pattern(/^(now)$|^([0-9]|(0[0-9])|(1[0-9])|(2[0-3]))(:)?([0-5][0-9])?(\s)?([apAP][Mm])?(\\s)*$/)]
2862
2750
  });
2863
2751
  this._config = new BehaviorSubject(undefined);
2864
- this.fullDay$ = this.fullDayControl$.pipe(switchMap$1(control => control.valueChanges.pipe(startWith$1(control.value))));
2865
- this.showTimeInput$ = this.fullDay$.pipe(map$1(x => !x && this.timeMode !== DbxDateTimeFieldTimeMode.NONE));
2866
- this.showAddTime$ = this.showTimeInput$.pipe(map$1(x => !x && this.timeMode === DbxDateTimeFieldTimeMode.OPTIONAL), shareReplay(1));
2867
- this.date$ = this.dateInputCtrl.valueChanges.pipe(startWith$1(this.dateInputCtrl.value), filterMaybe(), shareReplay(1));
2868
- this.dateValue$ = merge(this.date$, this.value$.pipe(skipFirstMaybe())).pipe(map$1((x) => (x) ? startOfDay(x) : x), distinctUntilChanged$1((a, b) => Boolean(a && b) && isSameDay(a, b)), shareReplay(1));
2869
- this.timeInput$ = this._updateTime.pipe(debounceTime$1(5), map$1(_ => this.timeInputCtrl.value), distinctUntilChanged$1());
2752
+ this.fullDay$ = this.fullDayControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value))));
2753
+ this.showTimeInput$ = this.fullDay$.pipe(map((x) => !x && this.timeMode !== DbxDateTimeFieldTimeMode.NONE));
2754
+ this.showAddTime$ = this.showTimeInput$.pipe(map((x) => !x && this.timeMode === DbxDateTimeFieldTimeMode.OPTIONAL), shareReplay(1));
2755
+ this.date$ = this.dateInputCtrl.valueChanges.pipe(startWith(this.dateInputCtrl.value), filterMaybe(), shareReplay(1));
2756
+ this.dateValue$ = merge(this.date$, this.value$.pipe(skipFirstMaybe())).pipe(map((x) => (x ? startOfDay(x) : x)), distinctUntilChanged((a, b) => a != null && b != null && isSameDay(a, b)), shareReplay(1));
2757
+ this.timeInput$ = this._updateTime.pipe(debounceTime(5), map(() => this.timeInputCtrl.value), distinctUntilChanged());
2870
2758
  this.config$ = this._config.pipe(switchMapMaybeDefault(), shareReplay(1));
2871
- this.rawDateTime$ = combineLatest([
2872
- this.dateValue$,
2873
- this.timeInput$.pipe(startWith$1(null)),
2874
- this.fullDay$
2875
- ]).pipe(map$1(([date, timeString, fullDay]) => {
2759
+ this.rawDateTime$ = combineLatest([this.dateValue$, this.timeInput$.pipe(startWith(null)), this.fullDay$]).pipe(map(([date, timeString, fullDay]) => {
2876
2760
  var _a;
2877
2761
  let result;
2878
2762
  if (date) {
@@ -2885,22 +2769,19 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
2885
2769
  }
2886
2770
  }
2887
2771
  else if (timeString) {
2888
- result = (_a = readableTimeStringToDate(timeString, {
2889
- date,
2890
- useSystemTimezone: true
2891
- })) !== null && _a !== void 0 ? _a : date;
2772
+ result =
2773
+ (_a = readableTimeStringToDate(timeString, {
2774
+ date,
2775
+ useSystemTimezone: true
2776
+ })) !== null && _a !== void 0 ? _a : date;
2892
2777
  }
2893
2778
  else {
2894
2779
  result = date;
2895
2780
  }
2896
2781
  }
2897
2782
  return result;
2898
- }), distinctUntilChanged$1((a, b) => Boolean(a && b) && isSameMinute(a, b)), shareReplay(1));
2899
- this.timeOutput$ = combineLatest([
2900
- this.rawDateTime$,
2901
- this._offset,
2902
- this.config$.pipe(distinctUntilChanged$1()),
2903
- ]).pipe(throttleTime(40, undefined, { leading: false, trailing: true }), distinctUntilChanged$1((current, next) => current[0] === next[0] && next[1] === 0), tap(([_, stepsOffset]) => (stepsOffset) ? this._offset.next(0) : 0), map$1(([date, stepsOffset, config]) => {
2783
+ }), distinctUntilChanged((a, b) => a != null && b != null && isSameMinute(a, b)), shareReplay(1));
2784
+ this.timeOutput$ = combineLatest([this.rawDateTime$, this._offset, this.config$.pipe(distinctUntilChanged())]).pipe(throttleTime(40, 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]) => {
2904
2785
  if (date != null) {
2905
2786
  const instance = new DateTimeMinuteInstance(Object.assign(Object.assign({ date }, config), { roundDownToMinute: true }));
2906
2787
  date = instance.limit(date);
@@ -2908,7 +2789,7 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
2908
2789
  date = addMinutes(date, minutes);
2909
2790
  }
2910
2791
  return date;
2911
- }), distinctUntilChanged$1((a, b) => Boolean(a && b) && isSameMinute(a, b)), shareReplay(1));
2792
+ }), distinctUntilChanged((a, b) => a != null && b != null && isSameMinute(a, b)), shareReplay(1));
2912
2793
  }
2913
2794
  get dateOnly() {
2914
2795
  return this.timeMode === DbxDateTimeFieldTimeMode.NONE;
@@ -2924,7 +2805,7 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
2924
2805
  }
2925
2806
  get timeMode() {
2926
2807
  var _a;
2927
- return (this.timeOnly) ? DbxDateTimeFieldTimeMode.REQUIRED : ((_a = this.dateTimeField.timeMode) !== null && _a !== void 0 ? _a : DbxDateTimeFieldTimeMode.REQUIRED);
2808
+ return this.timeOnly ? DbxDateTimeFieldTimeMode.REQUIRED : (_a = this.dateTimeField.timeMode) !== null && _a !== void 0 ? _a : DbxDateTimeFieldTimeMode.REQUIRED;
2928
2809
  }
2929
2810
  get description() {
2930
2811
  var _a;
@@ -3033,11 +2914,12 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
3033
2914
  offset = 5;
3034
2915
  }
3035
2916
  if (direction !== 0) {
3036
- this._offset.next(this._offset.value + (offset * direction));
2917
+ this._offset.next(this._offset.value + offset * direction);
3037
2918
  this._updateTime.next();
3038
2919
  }
3039
2920
  }
3040
2921
  focusTime() {
2922
+ // do nothing
3041
2923
  }
3042
2924
  focusOutTime() {
3043
2925
  this._updateTime.next();
@@ -3049,16 +2931,16 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
3049
2931
  this.setFullDay(true);
3050
2932
  }
3051
2933
  setFullDay(fullDay) {
3052
- this.fullDayControl$.pipe(first$1()).subscribe((x) => {
2934
+ this.fullDayControl$.pipe(first()).subscribe((x) => {
3053
2935
  x.setValue(fullDay);
3054
2936
  });
3055
2937
  }
3056
2938
  }
3057
2939
  DbxDateTimeFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxDateTimeFieldComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3058
- DbxDateTimeFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", 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]=\"dateOnly ? '100' : '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\" ngClass.lt-sm=\"add-time-button-full\" (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>\n</div>\n\n<!-- Date Input Template -->\n<ng-template #dateInputTemplate>\n <button mat-icon-button (click)=\"picker.open()\" [disabled]=\"disabled\">\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 #dateInput matInput [formControl]=\"dateInputCtrl\" [matDatepicker]=\"picker\" (dateChange)=\"datePicked($event)\"\n [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\" [disabled]=\"disabled\">\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)=\"setLogicalTime('now')\">\n <span>Now</span>\n </button>\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$2.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$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4$4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { type: i5$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i5$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i4$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i3$1.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: i3$1.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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.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: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2$2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3$2.MatLabel, selector: "mat-label" }, { type: i6$1.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$1.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: i4$4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], pipes: { "async": i5.AsyncPipe, "date": i5.DatePipe, "dateDistance": i2.DateDistancePipe, "timeDistance": i2.TimeDistancePipe } });
2940
+ DbxDateTimeFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", 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]=\"dateOnly ? '100' : '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\" ngClass.lt-sm=\"add-time-button-full\" (click)=\"addTime()\">\n <mat-icon>timer</mat-icon>\n 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\">\n <b class=\"dbx-ok\">All Day</b>\n {{ dateValue$ | async | date: 'fullDate' }} ({{ dateValue$ | async | dateDistance }})\n </small>\n <small *ngSwitchCase=\"false\">\n <ng-container *ngIf=\"value$ | async\">\n <b class=\"dbx-ok\">At</b>\n {{ displayValue$ | async | date: 'medium' }} ({{ displayValue$ | async | timeDistance }})\n </ng-container>\n </small>\n </div>\n </div>\n</div>\n\n<!-- Date Input Template -->\n<ng-template #dateInputTemplate>\n <button mat-icon-button (click)=\"picker.open()\" [disabled]=\"disabled\">\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 #dateInput matInput [formControl]=\"dateInputCtrl\" [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\" [disabled]=\"disabled\">\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)=\"setLogicalTime('now')\">\n <span>Now</span>\n </button>\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()\" (keydown)=\"keydownOnInput($event)\" />\n </mat-form-field>\n</ng-template>\n", components: [{ type: i1$2.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$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4$4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { type: i5$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i5$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i4$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i3$1.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: i3$1.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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.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: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2$2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3$2.MatLabel, selector: "mat-label" }, { type: i6$1.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$1.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: i4$4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], pipes: { "async": i5.AsyncPipe, "date": i5.DatePipe, "dateDistance": i2.DateDistancePipe, "timeDistance": i2.TimeDistancePipe } });
3059
2941
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxDateTimeFieldComponent, decorators: [{
3060
2942
  type: Component,
3061
- 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]=\"dateOnly ? '100' : '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\" ngClass.lt-sm=\"add-time-button-full\" (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>\n</div>\n\n<!-- Date Input Template -->\n<ng-template #dateInputTemplate>\n <button mat-icon-button (click)=\"picker.open()\" [disabled]=\"disabled\">\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 #dateInput matInput [formControl]=\"dateInputCtrl\" [matDatepicker]=\"picker\" (dateChange)=\"datePicked($event)\"\n [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\" [disabled]=\"disabled\">\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)=\"setLogicalTime('now')\">\n <span>Now</span>\n </button>\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" }]
2943
+ 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]=\"dateOnly ? '100' : '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\" ngClass.lt-sm=\"add-time-button-full\" (click)=\"addTime()\">\n <mat-icon>timer</mat-icon>\n 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\">\n <b class=\"dbx-ok\">All Day</b>\n {{ dateValue$ | async | date: 'fullDate' }} ({{ dateValue$ | async | dateDistance }})\n </small>\n <small *ngSwitchCase=\"false\">\n <ng-container *ngIf=\"value$ | async\">\n <b class=\"dbx-ok\">At</b>\n {{ displayValue$ | async | date: 'medium' }} ({{ displayValue$ | async | timeDistance }})\n </ng-container>\n </small>\n </div>\n </div>\n</div>\n\n<!-- Date Input Template -->\n<ng-template #dateInputTemplate>\n <button mat-icon-button (click)=\"picker.open()\" [disabled]=\"disabled\">\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 #dateInput matInput [formControl]=\"dateInputCtrl\" [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\" [disabled]=\"disabled\">\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)=\"setLogicalTime('now')\">\n <span>Now</span>\n </button>\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()\" (keydown)=\"keydownOnInput($event)\" />\n </mat-form-field>\n</ng-template>\n" }]
3062
2944
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
3063
2945
 
3064
2946
  class DbxFormFormlyDateFieldModule {
@@ -3094,9 +2976,7 @@ DbxFormFormlyDateFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.
3094
2976
  MatIconModule,
3095
2977
  FlexLayoutModule,
3096
2978
  FormlyModule.forChild({
3097
- types: [
3098
- { name: 'datetime', component: DbxDateTimeFieldComponent, wrappers: ['style', 'form-field'] }
3099
- ]
2979
+ types: [{ name: 'datetime', component: DbxDateTimeFieldComponent, wrappers: ['style', 'form-field'] }]
3100
2980
  })
3101
2981
  ], DbxFormFormlyWrapperModule] });
3102
2982
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyDateFieldModule, decorators: [{
@@ -3118,17 +2998,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
3118
2998
  MatIconModule,
3119
2999
  FlexLayoutModule,
3120
3000
  FormlyModule.forChild({
3121
- types: [
3122
- { name: 'datetime', component: DbxDateTimeFieldComponent, wrappers: ['style', 'form-field'] }
3123
- ]
3001
+ types: [{ name: 'datetime', component: DbxDateTimeFieldComponent, wrappers: ['style', 'form-field'] }]
3124
3002
  })
3125
3003
  ],
3126
- declarations: [
3127
- DbxDateTimeFieldComponent
3128
- ],
3129
- exports: [
3130
- DbxFormFormlyWrapperModule
3131
- ]
3004
+ declarations: [DbxDateTimeFieldComponent],
3005
+ exports: [DbxFormFormlyWrapperModule]
3132
3006
  }]
3133
3007
  }] });
3134
3008
 
@@ -3145,10 +3019,10 @@ function timeOnlyField(config = {}) {
3145
3019
  function dateTimeField(config = {}) {
3146
3020
  const { key = 'date', timeMode = DbxDateTimeFieldTimeMode.REQUIRED, fullDayFieldName, getConfigObs, timeOnly = false } = config;
3147
3021
  const fieldConfig = formlyField(Object.assign(Object.assign({ key, type: 'datetime', dateTimeField: {
3148
- timeMode: (timeOnly) ? DbxDateTimeFieldTimeMode.REQUIRED : timeMode,
3022
+ timeMode: timeOnly ? DbxDateTimeFieldTimeMode.REQUIRED : timeMode,
3149
3023
  fullDayFieldName,
3150
3024
  getConfigObs,
3151
- timeOnly,
3025
+ timeOnly
3152
3026
  } }, templateOptionsForFieldConfig(config)), { styleWrapper: {
3153
3027
  style: 'dbx-datetime-parent-form-field'
3154
3028
  } }));
@@ -3167,7 +3041,7 @@ function staticEnumField({ key, label = '', placeholder = '', description, multi
3167
3041
  multiple,
3168
3042
  selectAllOption: 'Select All',
3169
3043
  options
3170
- },
3044
+ }
3171
3045
  });
3172
3046
  return fieldConfig;
3173
3047
  }
@@ -3203,10 +3077,10 @@ class DbxPhoneFieldComponent extends FieldType$1 {
3203
3077
  }
3204
3078
  }
3205
3079
  DbxPhoneFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPhoneFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3206
- DbxPhoneFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPhoneFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ngx-mat-intl-tel-input class=\"dbx-form-phone-field\" [required]=\"required\" [preferredCountries]=\"preferredCountries\"\n [enablePlaceholder]=\"false\" name=\"phone\" [formControl]=\"formControl\">\n</ngx-mat-intl-tel-input>\n", components: [{ type: i1$6.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: i4$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
3080
+ DbxPhoneFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPhoneFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ngx-mat-intl-tel-input class=\"dbx-form-phone-field\" [required]=\"required\" [preferredCountries]=\"preferredCountries\" [enablePlaceholder]=\"false\" name=\"phone\" [formControl]=\"formControl\"></ngx-mat-intl-tel-input>\n", components: [{ type: i1$6.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: i4$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
3207
3081
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPhoneFieldComponent, decorators: [{
3208
3082
  type: Component,
3209
- args: [{ template: "<ngx-mat-intl-tel-input class=\"dbx-form-phone-field\" [required]=\"required\" [preferredCountries]=\"preferredCountries\"\n [enablePlaceholder]=\"false\" name=\"phone\" [formControl]=\"formControl\">\n</ngx-mat-intl-tel-input>\n" }]
3083
+ args: [{ template: "<ngx-mat-intl-tel-input class=\"dbx-form-phone-field\" [required]=\"required\" [preferredCountries]=\"preferredCountries\" [enablePlaceholder]=\"false\" name=\"phone\" [formControl]=\"formControl\"></ngx-mat-intl-tel-input>\n" }]
3210
3084
  }] });
3211
3085
 
3212
3086
  class DbxFormFormlyPhoneFieldModule {
@@ -3236,9 +3110,7 @@ DbxFormFormlyPhoneFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12
3236
3110
  FlexLayoutModule,
3237
3111
  FormlyMatFormFieldModule,
3238
3112
  FormlyModule.forChild({
3239
- types: [
3240
- { name: 'intphone', component: DbxPhoneFieldComponent, wrappers: ['form-field'] }
3241
- ]
3113
+ types: [{ name: 'intphone', component: DbxPhoneFieldComponent, wrappers: ['form-field'] }]
3242
3114
  })
3243
3115
  ]] });
3244
3116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyPhoneFieldModule, decorators: [{
@@ -3257,14 +3129,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
3257
3129
  FlexLayoutModule,
3258
3130
  FormlyMatFormFieldModule,
3259
3131
  FormlyModule.forChild({
3260
- types: [
3261
- { name: 'intphone', component: DbxPhoneFieldComponent, wrappers: ['form-field'] }
3262
- ]
3132
+ types: [{ name: 'intphone', component: DbxPhoneFieldComponent, wrappers: ['form-field'] }]
3263
3133
  })
3264
3134
  ],
3265
- declarations: [
3266
- DbxPhoneFieldComponent
3267
- ],
3135
+ declarations: [DbxPhoneFieldComponent],
3268
3136
  exports: []
3269
3137
  }]
3270
3138
  }] });
@@ -3340,9 +3208,11 @@ function flexLayoutWrapper(fieldConfigs, { relative, breakpoint, size: defaultSi
3340
3208
  }
3341
3209
  },
3342
3210
  fieldGroup: fieldConfigs.map((inputConfig) => {
3343
- const fieldConfig = checkIsFieldFlexLayoutGroupFieldConfig(inputConfig) ? inputConfig : {
3344
- field: inputConfig
3345
- };
3211
+ const fieldConfig = checkIsFieldFlexLayoutGroupFieldConfig(inputConfig)
3212
+ ? inputConfig
3213
+ : {
3214
+ field: inputConfig
3215
+ };
3346
3216
  const { field, size = defaultSize } = fieldConfig;
3347
3217
  const className = `dbx-flex-${size}`;
3348
3218
  return Object.assign(Object.assign({}, field), { className });
@@ -3364,7 +3234,7 @@ function textAreaField(config) {
3364
3234
  return formlyField(Object.assign({ key, type: 'textarea' }, templateOptionsForFieldConfig(config, {
3365
3235
  rows,
3366
3236
  minLength,
3367
- maxLength,
3237
+ maxLength
3368
3238
  })));
3369
3239
  }
3370
3240
 
@@ -3409,7 +3279,6 @@ function phoneListField(repeatConfig = {}) {
3409
3279
  addText,
3410
3280
  removeText, repeatFieldGroup: repeatFieldGroup !== null && repeatFieldGroup !== void 0 ? repeatFieldGroup : [wrappedPhoneAndLabelField(phoneAndLabel)] }));
3411
3281
  }
3412
- ;
3413
3282
 
3414
3283
  const PHONE_LABEL_MAX_LENGTH = 100;
3415
3284
  const ADDRESS_COUNTRY_MAX_LENGTH = 80;
@@ -3502,15 +3371,20 @@ function addressFormlyFields() {
3502
3371
  autocomplete: 'address-line2',
3503
3372
  maxLength: ADDRESS_LINE_MAX_LENGTH
3504
3373
  }),
3505
- flexLayoutWrapper([{
3374
+ flexLayoutWrapper([
3375
+ {
3506
3376
  field: cityField({})
3507
- }, {
3377
+ },
3378
+ {
3508
3379
  field: stateField({})
3509
- }, {
3380
+ },
3381
+ {
3510
3382
  field: zipCodeField({})
3511
- }, {
3383
+ },
3384
+ {
3512
3385
  field: countryField({})
3513
- }], { size: 1, relative: true })
3386
+ }
3387
+ ], { size: 1, relative: true })
3514
3388
  ];
3515
3389
  }
3516
3390
  function addressField({ key = 'address', required = false } = {}) {
@@ -3528,6 +3402,7 @@ function addressField({ key = 'address', required = false } = {}) {
3528
3402
  function addressListField({ key = 'addresses', required = false, maxAddresses = 6 } = {}) {
3529
3403
  return repeatArrayField({
3530
3404
  key,
3405
+ required,
3531
3406
  label: 'Addresses',
3532
3407
  labelForField: 'Address',
3533
3408
  addText: 'Add Address',
@@ -3541,19 +3416,13 @@ class DbxFormFormlyTextFieldModule {
3541
3416
  }
3542
3417
  DbxFormFormlyTextFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyTextFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3543
3418
  DbxFormFormlyTextFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyTextFieldModule, imports: [FormlyMaterialModule], exports: [DbxFormFormlyWrapperModule] });
3544
- DbxFormFormlyTextFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyTextFieldModule, imports: [[
3545
- FormlyMaterialModule
3546
- ], DbxFormFormlyWrapperModule] });
3419
+ DbxFormFormlyTextFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyTextFieldModule, imports: [[FormlyMaterialModule], DbxFormFormlyWrapperModule] });
3547
3420
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyTextFieldModule, decorators: [{
3548
3421
  type: NgModule,
3549
3422
  args: [{
3550
- imports: [
3551
- FormlyMaterialModule
3552
- ],
3423
+ imports: [FormlyMaterialModule],
3553
3424
  declarations: [],
3554
- exports: [
3555
- DbxFormFormlyWrapperModule
3556
- ]
3425
+ exports: [DbxFormFormlyWrapperModule]
3557
3426
  }]
3558
3427
  }] });
3559
3428
 
@@ -3567,70 +3436,28 @@ function hiddenField({ key, required = false }) {
3567
3436
  class DbxFormFormlyValueModule {
3568
3437
  }
3569
3438
  DbxFormFormlyValueModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyValueModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3570
- DbxFormFormlyValueModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyValueModule, imports: [CommonModule], exports: [DbxFormFormlyArrayFieldModule,
3571
- DbxFormFormlyBooleanFieldModule,
3572
- DbxFormFormlyDateFieldModule,
3573
- DbxFormFormlyEnumFieldModule,
3574
- DbxFormFormlyPhoneFieldModule,
3575
- DbxFormFormlyTextFieldModule] });
3576
- DbxFormFormlyValueModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyValueModule, imports: [[
3577
- CommonModule
3578
- ], DbxFormFormlyArrayFieldModule,
3579
- DbxFormFormlyBooleanFieldModule,
3580
- DbxFormFormlyDateFieldModule,
3581
- DbxFormFormlyEnumFieldModule,
3582
- DbxFormFormlyPhoneFieldModule,
3583
- DbxFormFormlyTextFieldModule] });
3439
+ DbxFormFormlyValueModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyValueModule, imports: [CommonModule], exports: [DbxFormFormlyArrayFieldModule, DbxFormFormlyBooleanFieldModule, DbxFormFormlyDateFieldModule, DbxFormFormlyEnumFieldModule, DbxFormFormlyPhoneFieldModule, DbxFormFormlyTextFieldModule] });
3440
+ DbxFormFormlyValueModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyValueModule, imports: [[CommonModule], DbxFormFormlyArrayFieldModule, DbxFormFormlyBooleanFieldModule, DbxFormFormlyDateFieldModule, DbxFormFormlyEnumFieldModule, DbxFormFormlyPhoneFieldModule, DbxFormFormlyTextFieldModule] });
3584
3441
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyValueModule, decorators: [{
3585
3442
  type: NgModule,
3586
3443
  args: [{
3587
- imports: [
3588
- CommonModule
3589
- ],
3444
+ imports: [CommonModule],
3590
3445
  declarations: [],
3591
- exports: [
3592
- DbxFormFormlyArrayFieldModule,
3593
- DbxFormFormlyBooleanFieldModule,
3594
- DbxFormFormlyDateFieldModule,
3595
- DbxFormFormlyEnumFieldModule,
3596
- DbxFormFormlyPhoneFieldModule,
3597
- DbxFormFormlyTextFieldModule
3598
- ]
3446
+ exports: [DbxFormFormlyArrayFieldModule, DbxFormFormlyBooleanFieldModule, DbxFormFormlyDateFieldModule, DbxFormFormlyEnumFieldModule, DbxFormFormlyPhoneFieldModule, DbxFormFormlyTextFieldModule]
3599
3447
  }]
3600
3448
  }] });
3601
3449
 
3602
3450
  class DbxFormFormlyFieldModule {
3603
3451
  }
3604
3452
  DbxFormFormlyFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3605
- DbxFormFormlyFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyFieldModule, imports: [CommonModule], exports: [DbxFormFormlyChecklistItemFieldModule,
3606
- DbxFormFormlyComponentFieldModule,
3607
- DbxFormFormlySelectionModule,
3608
- DbxFormFormlyTextEditorFieldModule,
3609
- DbxFormFormlyValueModule,
3610
- DbxFormFormlyWrapperModule] });
3611
- DbxFormFormlyFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyFieldModule, imports: [[
3612
- CommonModule
3613
- ], DbxFormFormlyChecklistItemFieldModule,
3614
- DbxFormFormlyComponentFieldModule,
3615
- DbxFormFormlySelectionModule,
3616
- DbxFormFormlyTextEditorFieldModule,
3617
- DbxFormFormlyValueModule,
3618
- DbxFormFormlyWrapperModule] });
3453
+ DbxFormFormlyFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyFieldModule, imports: [CommonModule], exports: [DbxFormFormlyChecklistItemFieldModule, DbxFormFormlyComponentFieldModule, DbxFormFormlySelectionModule, DbxFormFormlyTextEditorFieldModule, DbxFormFormlyValueModule, DbxFormFormlyWrapperModule] });
3454
+ DbxFormFormlyFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyFieldModule, imports: [[CommonModule], DbxFormFormlyChecklistItemFieldModule, DbxFormFormlyComponentFieldModule, DbxFormFormlySelectionModule, DbxFormFormlyTextEditorFieldModule, DbxFormFormlyValueModule, DbxFormFormlyWrapperModule] });
3619
3455
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyFieldModule, decorators: [{
3620
3456
  type: NgModule,
3621
3457
  args: [{
3622
- imports: [
3623
- CommonModule
3624
- ],
3458
+ imports: [CommonModule],
3625
3459
  declarations: [],
3626
- exports: [
3627
- DbxFormFormlyChecklistItemFieldModule,
3628
- DbxFormFormlyComponentFieldModule,
3629
- DbxFormFormlySelectionModule,
3630
- DbxFormFormlyTextEditorFieldModule,
3631
- DbxFormFormlyValueModule,
3632
- DbxFormFormlyWrapperModule
3633
- ]
3460
+ exports: [DbxFormFormlyChecklistItemFieldModule, DbxFormFormlyComponentFieldModule, DbxFormFormlySelectionModule, DbxFormFormlyTextEditorFieldModule, DbxFormFormlyValueModule, DbxFormFormlyWrapperModule]
3634
3461
  }]
3635
3462
  }] });
3636
3463
 
@@ -3644,7 +3471,7 @@ const FIELD_VALUES_ARE_EQUAL_VALIDATION_KEY = 'fieldValuesAreEqual';
3644
3471
  * @returns
3645
3472
  */
3646
3473
  function fieldValuesAreEqualValidator(config = {}) {
3647
- const { keysFilter, valuesFilter: inputValuesFilter, isEqual = ((a, b) => a === b), message = 'Field values are not equal.' } = config;
3474
+ const { keysFilter, valuesFilter: inputValuesFilter, isEqual = (a, b) => a === b, message = 'Field values are not equal.' } = config;
3648
3475
  const valuesFilter = inputValuesFilter !== null && inputValuesFilter !== void 0 ? inputValuesFilter : {
3649
3476
  valueFilter: KeyValueTypleValueFilter.NONE,
3650
3477
  keysFilter
@@ -3664,7 +3491,6 @@ function fieldValuesAreEqualValidator(config = {}) {
3664
3491
  };
3665
3492
  }
3666
3493
 
3667
- ;
3668
3494
  /**
3669
3495
  * Configured simple text password field.
3670
3496
  *
@@ -3687,12 +3513,14 @@ function textPasswordWithVerifyFieldGroup(config) {
3687
3513
  var _a, _b, _c, _d, _e;
3688
3514
  const passwordFieldConfig = textPasswordField(config.password);
3689
3515
  const verifyPasswordFieldKey = (_b = (_a = config.verifyPassword) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : `verify${capitalizeFirstLetter(String(passwordFieldConfig.key))}`;
3690
- const verifyPasswordField = textVerifyPasswordField(Object.assign(Object.assign(Object.assign({}, config.password), config.verifyPassword), { label: (_d = ((_c = config.verifyPassword) === null || _c === void 0 ? void 0 : _c.label)) !== null && _d !== void 0 ? _d : `Verify ${(_e = passwordFieldConfig.templateOptions) === null || _e === void 0 ? void 0 : _e.label}`, key: verifyPasswordFieldKey }));
3516
+ const verifyPasswordField = textVerifyPasswordField(Object.assign(Object.assign(Object.assign({}, config.password), config.verifyPassword), { label: (_d = (_c = config.verifyPassword) === null || _c === void 0 ? void 0 : _c.label) !== null && _d !== void 0 ? _d : `Verify ${(_e = passwordFieldConfig.templateOptions) === null || _e === void 0 ? void 0 : _e.label}`, key: verifyPasswordFieldKey }));
3691
3517
  const validators = {
3692
- validation: [{
3518
+ validation: [
3519
+ {
3693
3520
  errorPath: verifyPasswordFieldKey,
3694
3521
  expression: fieldValuesAreEqualValidator({ keysFilter: [passwordFieldConfig.key, verifyPasswordField.key], message: 'The passwords do not match.' })
3695
- }]
3522
+ }
3523
+ ]
3696
3524
  };
3697
3525
  const groupFieldConfig = {
3698
3526
  validators,
@@ -3700,7 +3528,6 @@ function textPasswordWithVerifyFieldGroup(config) {
3700
3528
  };
3701
3529
  return groupFieldConfig;
3702
3530
  }
3703
- ;
3704
3531
  /**
3705
3532
  * Template for login field that takes in a username and password.
3706
3533
  *
@@ -3729,11 +3556,8 @@ function usernamePasswordLoginFields({ username, password, verifyPassword }) {
3729
3556
  else {
3730
3557
  usernameField = textField(Object.assign(Object.assign({}, usernameFieldConfig.username), defaultUsernameFieldConfig));
3731
3558
  }
3732
- const passwordField = (verifyPassword) ? (textPasswordWithVerifyFieldGroup({ password, verifyPassword: (verifyPassword === true) ? undefined : verifyPassword })) : textPasswordField(password);
3733
- return [
3734
- usernameField,
3735
- passwordField
3736
- ];
3559
+ const passwordField = verifyPassword ? textPasswordWithVerifyFieldGroup({ password, verifyPassword: verifyPassword === true ? undefined : verifyPassword }) : textPasswordField(password);
3560
+ return [usernameField, passwordField];
3737
3561
  }
3738
3562
 
3739
3563
  const FIELD_VALUE_IS_AVAILABLE_VALIDATION_KEY = 'fieldValueIsAvailable';
@@ -3751,7 +3575,7 @@ function fieldValueIsAvailableValidator(config) {
3751
3575
  const pusher = asyncPusherCache({
3752
3576
  throttle
3753
3577
  });
3754
- return (control) => pusher(control.valueChanges)(control.value).pipe(switchMap$1((x) => checkValueIsAvailable(x)), map((isAvailable) => {
3578
+ return (control) => pusher(control.valueChanges)(control.value).pipe(switchMap((x) => checkValueIsAvailable(x)), map((isAvailable) => {
3755
3579
  if (isAvailable) {
3756
3580
  return null;
3757
3581
  }
@@ -3762,15 +3586,17 @@ function fieldValueIsAvailableValidator(config) {
3762
3586
  }
3763
3587
  }), catchError(() => of({
3764
3588
  [FIELD_VALUE_IS_AVAILABLE_ERROR_VALIDATION_KEY]: { message: 'An error occured.' }
3765
- })), first$1());
3589
+ })), first());
3766
3590
  }
3767
3591
 
3768
3592
  function textIsAvailableField(config) {
3769
3593
  const field = textField(config);
3770
3594
  field.asyncValidators = {
3771
- validation: [{
3772
- expression: fieldValueIsAvailableValidator(Object.assign(Object.assign({}, config), { message: config === null || config === void 0 ? void 0 : config.isNotAvailableErrorMessage })),
3773
- }]
3595
+ validation: [
3596
+ {
3597
+ expression: fieldValueIsAvailableValidator(Object.assign(Object.assign({}, config), { message: config === null || config === void 0 ? void 0 : config.isNotAvailableErrorMessage }))
3598
+ }
3599
+ ]
3774
3600
  };
3775
3601
  return workingWrapper(field, {});
3776
3602
  }
@@ -3778,12 +3604,14 @@ function textIsAvailableField(config) {
3778
3604
  /**
3779
3605
  * Allows a directive to provide a formly context and form.
3780
3606
  */
3781
- function ProvideFormlyContext() {
3782
- return [{
3607
+ function provideFormlyContext() {
3608
+ return [
3609
+ {
3783
3610
  provide: DbxFormlyContext,
3784
3611
  useClass: DbxFormlyContext
3785
3612
  },
3786
- ...ProvideDbxMutableForm(DbxFormlyContext)];
3613
+ ...provideDbxMutableForm(DbxFormlyContext)
3614
+ ];
3787
3615
  }
3788
3616
  /**
3789
3617
  * DbxForm Instance that registers a delegate and manages the state of that form/delegate.
@@ -3797,7 +3625,7 @@ class DbxFormlyContext {
3797
3625
  this._delegate = new BehaviorSubject(undefined);
3798
3626
  this.fields$ = this._fields.pipe(filterMaybe());
3799
3627
  this.disabled$ = this._disabled.pipe(filterMaybe());
3800
- this.stream$ = this._delegate.pipe(distinctUntilChanged(), switchMap(x => (x) ? x.stream$ : of(DbxFormlyContext.INITIAL_STATE)), shareReplay$1(1));
3628
+ this.stream$ = this._delegate.pipe(distinctUntilChanged(), switchMap((x) => (x ? x.stream$ : of(DbxFormlyContext.INITIAL_STATE))), shareReplay(1));
3801
3629
  }
3802
3630
  destroy() {
3803
3631
  this.lockSet.destroyOnNextUnlock(() => {
@@ -3832,7 +3660,7 @@ class DbxFormlyContext {
3832
3660
  }
3833
3661
  // MARK: FormComponent
3834
3662
  getValue() {
3835
- return this._delegate.pipe(filterMaybe(), switchMap(x => x.getValue()), shareReplay$1(1));
3663
+ return this._delegate.pipe(filterMaybe(), switchMap((x) => x.getValue()), shareReplay(1));
3836
3664
  }
3837
3665
  setValue(value) {
3838
3666
  this._initialValue.next(value);
@@ -3948,7 +3776,7 @@ class AbstractConfigAsyncFormlyFormDirective extends AbstractAsyncFormlyFormDire
3948
3776
  constructor() {
3949
3777
  super(...arguments);
3950
3778
  this._config = new BehaviorSubject(undefined);
3951
- this.config$ = this._config.pipe(filterMaybe(), shareReplay$1(1));
3779
+ this.config$ = this._config.pipe(filterMaybe(), shareReplay(1));
3952
3780
  }
3953
3781
  get config() {
3954
3782
  return this._config.value;
@@ -3990,12 +3818,12 @@ class DbxFormlyFieldsContextDirective extends AbstractAsyncFormlyFormDirective {
3990
3818
  }
3991
3819
  }
3992
3820
  DbxFormlyFieldsContextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormlyFieldsContextDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3993
- DbxFormlyFieldsContextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormlyFieldsContextDirective, selector: "[dbxFormlyFields]", inputs: { fields: ["dbxFormlyFields", "fields"] }, providers: ProvideFormlyContext(), usesInheritance: true, ngImport: i0 });
3821
+ DbxFormlyFieldsContextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormlyFieldsContextDirective, selector: "[dbxFormlyFields]", inputs: { fields: ["dbxFormlyFields", "fields"] }, providers: provideFormlyContext(), usesInheritance: true, ngImport: i0 });
3994
3822
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormlyFieldsContextDirective, decorators: [{
3995
3823
  type: Directive,
3996
3824
  args: [{
3997
3825
  selector: '[dbxFormlyFields]',
3998
- providers: ProvideFormlyContext()
3826
+ providers: provideFormlyContext()
3999
3827
  }]
4000
3828
  }], propDecorators: { fields: [{
4001
3829
  type: Input,
@@ -4018,10 +3846,10 @@ class DbxFormlyFormComponent extends AbstractSubscriptionDirective {
4018
3846
  this.form = new FormGroup({});
4019
3847
  this.model = {};
4020
3848
  this.options = {};
4021
- this.fields$ = this._fields.pipe(switchMapMaybeObs(), distinctUntilChanged(), shareReplay$1(1));
4022
- this.stream$ = this._reset.pipe(switchMap((lastResetAt) => this.form.valueChanges.pipe(startWith(0), distinctUntilChanged(), throttleTime$1(50, undefined, { leading: true, trailing: true }), scanCount(-1),
3849
+ this.fields$ = this._fields.pipe(switchMapMaybeObs(), distinctUntilChanged(), shareReplay(1));
3850
+ this.stream$ = this._reset.pipe(switchMap((lastResetAt) => this.form.valueChanges.pipe(startWith(0), distinctUntilChanged(), throttleTime(50, undefined, { leading: true, trailing: true }), scanCount(-1),
4023
3851
  // update on validation changes too. Does not count towards changes since last reset.
4024
- switchMap(changesSinceLastReset => this.form.statusChanges.pipe(startWith(this.form.status), distinctUntilChanged()).pipe(map(_ => changesSinceLastReset))), map((changesSinceLastResetCount) => ({
3852
+ switchMap((changesSinceLastReset) => this.form.statusChanges.pipe(startWith(this.form.status), distinctUntilChanged()).pipe(map(() => changesSinceLastReset))), map((changesSinceLastResetCount) => ({
4025
3853
  changesSinceLastResetCount,
4026
3854
  isFormValid: this.form.status !== 'PENDING' && this.form.valid,
4027
3855
  isFormDisabled: this.form.disabled
@@ -4043,7 +3871,7 @@ class DbxFormlyFormComponent extends AbstractSubscriptionDirective {
4043
3871
  const complete = isFormValid;
4044
3872
  const nextState = {
4045
3873
  isComplete: complete,
4046
- state: (isReset) ? DbxFormState.RESET : DbxFormState.USED,
3874
+ state: isReset ? DbxFormState.RESET : DbxFormState.USED,
4047
3875
  status: this.form.status,
4048
3876
  untouched: this.form.untouched,
4049
3877
  pristine: this.form.pristine,
@@ -4054,7 +3882,7 @@ class DbxFormlyFormComponent extends AbstractSubscriptionDirective {
4054
3882
  };
4055
3883
  // console.log('Change: ', nextState);
4056
3884
  return nextState;
4057
- }))), shareReplay$1(1));
3885
+ }))), shareReplay(1));
4058
3886
  }
4059
3887
  ngOnInit() {
4060
3888
  this.context.setDelegate(this);
@@ -4135,7 +3963,7 @@ class DbxFormlyFormComponent extends AbstractSubscriptionDirective {
4135
3963
  }
4136
3964
  }
4137
3965
  DbxFormlyFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormlyFormComponent, deps: [{ token: DbxFormlyContext }], target: i0.ɵɵFactoryTarget.Component });
4138
- DbxFormlyFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormlyFormComponent, selector: "dbx-formly", host: { classAttribute: "dbx-formly" }, providers: ProvideDbxMutableForm(DbxFormlyFormComponent), exportAs: ["formly"], usesInheritance: true, ngImport: i0, template: `
3966
+ DbxFormlyFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormlyFormComponent, selector: "dbx-formly", host: { classAttribute: "dbx-formly" }, providers: provideDbxMutableForm(DbxFormlyFormComponent), exportAs: ["formly"], usesInheritance: true, ngImport: i0, template: `
4139
3967
  <form [formGroup]="form" class="dbx-formly">
4140
3968
  <formly-form [form]="form" [fields]="(fields$ | async) ?? []" [model]="model"></formly-form>
4141
3969
  </form>
@@ -4150,9 +3978,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
4150
3978
  <formly-form [form]="form" [fields]="(fields$ | async) ?? []" [model]="model"></formly-form>
4151
3979
  </form>
4152
3980
  `,
4153
- providers: ProvideDbxMutableForm(DbxFormlyFormComponent),
3981
+ providers: provideDbxMutableForm(DbxFormlyFormComponent),
4154
3982
  host: {
4155
- 'class': 'dbx-formly'
3983
+ class: 'dbx-formly'
4156
3984
  }
4157
3985
  }]
4158
3986
  }], ctorParameters: function () { return [{ type: DbxFormlyContext }]; } });
@@ -4160,12 +3988,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
4160
3988
  class DbxFormlyModule {
4161
3989
  }
4162
3990
  DbxFormlyModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormlyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4163
- DbxFormlyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormlyModule, declarations: [DbxFormlyFormComponent,
4164
- DbxFormlyFieldsContextDirective], imports: [CommonModule,
4165
- FormsModule,
4166
- ReactiveFormsModule,
4167
- FormlyModule,
4168
- FormlyMatToggleModule], exports: [
3991
+ DbxFormlyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormlyModule, declarations: [DbxFormlyFormComponent, DbxFormlyFieldsContextDirective], imports: [CommonModule, FormsModule, ReactiveFormsModule, FormlyModule, FormlyMatToggleModule], exports: [
4169
3992
  // Modules (?)
4170
3993
  FormsModule,
4171
3994
  ReactiveFormsModule,
@@ -4174,30 +3997,15 @@ DbxFormlyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
4174
3997
  DbxFormlyFieldsContextDirective
4175
3998
  // Helper Modules
4176
3999
  ] });
4177
- DbxFormlyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormlyModule, imports: [[
4178
- CommonModule,
4179
- FormsModule,
4180
- ReactiveFormsModule,
4181
- FormlyModule,
4182
- FormlyMatToggleModule
4183
- ],
4000
+ DbxFormlyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormlyModule, imports: [[CommonModule, FormsModule, ReactiveFormsModule, FormlyModule, FormlyMatToggleModule],
4184
4001
  // Modules (?)
4185
4002
  FormsModule,
4186
4003
  ReactiveFormsModule] });
4187
4004
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormlyModule, decorators: [{
4188
4005
  type: NgModule,
4189
4006
  args: [{
4190
- imports: [
4191
- CommonModule,
4192
- FormsModule,
4193
- ReactiveFormsModule,
4194
- FormlyModule,
4195
- FormlyMatToggleModule
4196
- ],
4197
- declarations: [
4198
- DbxFormlyFormComponent,
4199
- DbxFormlyFieldsContextDirective
4200
- ],
4007
+ imports: [CommonModule, FormsModule, ReactiveFormsModule, FormlyModule, FormlyMatToggleModule],
4008
+ declarations: [DbxFormlyFormComponent, DbxFormlyFieldsContextDirective],
4201
4009
  exports: [
4202
4010
  // Modules (?)
4203
4011
  FormsModule,
@@ -4216,12 +4024,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
4216
4024
  class DbxFormSpacerComponent {
4217
4025
  }
4218
4026
  DbxFormSpacerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormSpacerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4219
- DbxFormSpacerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormSpacerComponent, selector: "dbx-form-spacer", ngImport: i0, template: `<div class="dbx-form-spacer"></div>`, isInline: true });
4027
+ DbxFormSpacerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormSpacerComponent, selector: "dbx-form-spacer", ngImport: i0, template: `
4028
+ <div class="dbx-form-spacer"></div>
4029
+ `, isInline: true });
4220
4030
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormSpacerComponent, decorators: [{
4221
4031
  type: Component,
4222
4032
  args: [{
4223
4033
  selector: 'dbx-form-spacer',
4224
- template: `<div class="dbx-form-spacer"></div>`,
4034
+ template: `
4035
+ <div class="dbx-form-spacer"></div>
4036
+ `
4225
4037
  }]
4226
4038
  }] });
4227
4039
 
@@ -4229,25 +4041,17 @@ class DbxFormLayoutModule {
4229
4041
  }
4230
4042
  DbxFormLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4231
4043
  DbxFormLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormLayoutModule, declarations: [DbxFormSpacerComponent], imports: [CommonModule], exports: [DbxFormSpacerComponent] });
4232
- DbxFormLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormLayoutModule, imports: [[
4233
- CommonModule
4234
- ]] });
4044
+ DbxFormLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormLayoutModule, imports: [[CommonModule]] });
4235
4045
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormLayoutModule, decorators: [{
4236
4046
  type: NgModule,
4237
4047
  args: [{
4238
- imports: [
4239
- CommonModule
4240
- ],
4241
- declarations: [
4242
- DbxFormSpacerComponent
4243
- ],
4244
- exports: [
4245
- DbxFormSpacerComponent
4246
- ]
4048
+ imports: [CommonModule],
4049
+ declarations: [DbxFormSpacerComponent],
4050
+ exports: [DbxFormSpacerComponent]
4247
4051
  }]
4248
4052
  }] });
4249
4053
 
4250
- function IsTruthy() {
4054
+ function isTruthy() {
4251
4055
  return (control) => {
4252
4056
  const value = control.value;
4253
4057
  if (!value) {
@@ -4260,26 +4064,26 @@ function IsTruthy() {
4260
4064
  }
4261
4065
 
4262
4066
  const DOMAIN_NAME_REGEX = /(.+)\.(.+)/;
4263
- function IsDomain() {
4067
+ function isDomain() {
4264
4068
  return Validators.pattern(DOMAIN_NAME_REGEX);
4265
4069
  }
4266
4070
 
4267
- function IsInRange(min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {
4071
+ /**
4072
+ * Merges the use of the min and max validator.
4073
+ *
4074
+ * @param min
4075
+ * @param max
4076
+ * @returns
4077
+ */
4078
+ function isInRange(min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {
4079
+ const minFn = Validators.min(min);
4080
+ const maxFn = Validators.max(max);
4268
4081
  return (control) => {
4269
- const numberString = control.value;
4270
- const errors = {};
4271
- if (numberString) {
4272
- const value = Number(numberString);
4273
- if (!isNaN(value)) {
4274
- const bigEnough = value >= min;
4275
- const smallEnough = value <= max;
4276
- if (!bigEnough) {
4277
- errors.min = value;
4278
- }
4279
- if (!smallEnough) {
4280
- errors.max = value;
4281
- }
4282
- }
4082
+ const minError = minFn(control);
4083
+ const maxError = maxFn(control);
4084
+ let errors = null;
4085
+ if (minError || maxError) {
4086
+ errors = Object.assign(Object.assign({}, minError), maxError);
4283
4087
  }
4284
4088
  return errors;
4285
4089
  };
@@ -4288,20 +4092,12 @@ function IsInRange(min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER)
4288
4092
  class DbxFormExtensionModule {
4289
4093
  }
4290
4094
  DbxFormExtensionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExtensionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4291
- DbxFormExtensionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExtensionModule, exports: [DbxFormModule,
4292
- DbxFormlyModule,
4293
- DbxFormFormlyFieldModule] });
4294
- DbxFormExtensionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExtensionModule, imports: [DbxFormModule,
4295
- DbxFormlyModule,
4296
- DbxFormFormlyFieldModule] });
4095
+ DbxFormExtensionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExtensionModule, exports: [DbxFormModule, DbxFormlyModule, DbxFormFormlyFieldModule] });
4096
+ DbxFormExtensionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExtensionModule, imports: [DbxFormModule, DbxFormlyModule, DbxFormFormlyFieldModule] });
4297
4097
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExtensionModule, decorators: [{
4298
4098
  type: NgModule,
4299
4099
  args: [{
4300
- exports: [
4301
- DbxFormModule,
4302
- DbxFormlyModule,
4303
- DbxFormFormlyFieldModule
4304
- ]
4100
+ exports: [DbxFormModule, DbxFormlyModule, DbxFormFormlyFieldModule]
4305
4101
  }]
4306
4102
  }] });
4307
4103
 
@@ -4309,5 +4105,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
4309
4105
  * Generated bundle index. Do not edit.
4310
4106
  */
4311
4107
 
4312
- export { ADDRESS_CITY_MAX_LENGTH, ADDRESS_COUNTRY_MAX_LENGTH, ADDRESS_LINE_MAX_LENGTH, ADDRESS_STATE_MAX_LENGTH, ADDRESS_ZIP_MAX_LENGTH, APP_ACTION_FORM_DISABLED_KEY, AbstractAsyncFormlyFormDirective, AbstractConfigAsyncFormlyFormDirective, AbstractDbxPickableItemFieldDirective, AbstractDbxSearchableFieldDisplayDirective, AbstractDbxSearchableValueFieldDirective, AbstractFormExpandableSectionWrapperDirective, AbstractFormlyFormDirective, AbstractSyncFormlyFormDirective, AutoTouchFieldWrapperComponent, ChecklistItemFieldDataSetBuilder, DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN, DEFAULT_FORM_DISABLED_KEY, DEFAULT_HAS_VALUE_FN, DEFAULT_PREFERRED_COUNTRIES, DOMAIN_NAME_REGEX, DbxActionFormDirective, DbxActionFormSafetyDirective, DbxChecklistItemContentComponent, DbxChecklistItemFieldComponent, DbxDateTimeFieldComponent, DbxDateTimeFieldTimeMode, DbxDefaultChecklistItemFieldDisplayComponent, DbxDefaultSearchableFieldDisplayComponent, DbxForm, DbxFormActionModule, DbxFormActionTransitionModule, DbxFormComponentFieldComponent, DbxFormExpandWrapperComponent, DbxFormExtensionModule, DbxFormFlexWrapperComponent, DbxFormFormlyArrayFieldModule, DbxFormFormlyBooleanFieldModule, DbxFormFormlyChecklistItemFieldModule, DbxFormFormlyComponentFieldModule, DbxFormFormlyDateFieldModule, DbxFormFormlyEnumFieldModule, DbxFormFormlyFieldModule, DbxFormFormlyPhoneFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule, DbxFormFormlySelectionModule, DbxFormFormlyTextEditorFieldModule, DbxFormFormlyTextFieldModule, DbxFormFormlyValueModule, DbxFormFormlyWrapperModule, DbxFormInfoWrapperComponent, DbxFormIoModule, DbxFormLayoutModule, DbxFormLoadingSourceDirective, DbxFormModule, DbxFormRepeatArrayTypeComponent, DbxFormSectionWrapperComponent, DbxFormSourceDirective, DbxFormSpacerComponent, DbxFormState, DbxFormSubsectionWrapperComponent, DbxFormToggleWrapperComponent, DbxFormValueChangesDirective, DbxFormWorkingWrapperComponent, DbxFormlyContext, DbxFormlyFieldsContextDirective, DbxFormlyFormComponent, DbxFormlyModule, DbxMutableForm, DbxPhoneFieldComponent, DbxPickableChipListFieldComponent, DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent, DbxSearchableChipFieldComponent, DbxSearchableFieldAutocompleteItemComponent, DbxSearchableTextFieldComponent, DbxTextEditorFieldComponent, EXPANDABLE_WRAPPER_KEY, FIELD_VALUES_ARE_EQUAL_VALIDATION_KEY, FIELD_VALUE_IS_AVAILABLE_ERROR_VALIDATION_KEY, FIELD_VALUE_IS_AVAILABLE_VALIDATION_KEY, FLEX_WRAPPER_KEY, INFO_WRAPPER_KEY, INVALID_PHONE_NUMBER_MESSAGE, IsDomain, IsInRange, IsTruthy, LABEL_STRING_MAX_LENGTH, MAX_LENGTH_VALIDATION_MESSAGE, MAX_VALIDATION_MESSAGE, MIN_LENGTH_VALIDATION_MESSAGE, MIN_VALIDATION_MESSAGE, PHONE_LABEL_MAX_LENGTH, ProvideDbxForm, ProvideDbxMutableForm, ProvideFormlyContext, REQUIRED_VALIDATION_MESSAGE, SEARCH_STRING_MAX_LENGTH, SECTION_WRAPPER_KEY, STYLE_WRAPPER_KEY, SUBSECTION_WRAPPER_KEY, TAKE_NEXT_UPCOMING_TIME_CONFIG_OBS, TOGGLE_WRAPPER_KEY, WORKING_WRAPPER_KEY, addWrapperToFormlyFieldConfig, addressField, addressFormlyFields, addressListField, checkIsFieldFlexLayoutGroupFieldConfig, checkboxField, checklistItemField, chipTextField, cityField, componentField, countryField, dateTimeField, dbxFormSourceObservable, defaultValidationMessages, disableFormlyFieldAutofillAttributes, emailField, expandWrapper, fieldValueIsAvailableValidator, fieldValuesAreEqualValidator, filterPickableItemFieldValuesByLabel, flexLayoutWrapper, formlyField, hiddenField, infoWrapper, makeMetaFilterSearchableFieldValueDisplayFn, maxLengthValidationMessage, maxValidationMessage, minLengthValidationMessage, minValidationMessage, nameField, phoneAndLabelSectionField, phoneField, phoneListField, pickableItemChipField, pickableItemListField, repeatArrayField, searchableChipField, searchableStringChipField, searchableTextField, sectionWrapper, sortPickableItemsByLabel, stateField, staticEnumField, styleWrapper, subsectionWrapper, templateOptionsForFieldConfig, templateOptionsValueForFieldConfig, textAreaField, textEditorField, textField, textIsAvailableField, textPasswordField, textPasswordWithVerifyFieldGroup, textVerifyPasswordField, timeOnlyField, toggleField, toggleWrapper, usernamePasswordLoginFields, workingWrapper, wrappedPhoneAndLabelField, zipCodeField };
4108
+ export { ADDRESS_CITY_MAX_LENGTH, ADDRESS_COUNTRY_MAX_LENGTH, ADDRESS_LINE_MAX_LENGTH, ADDRESS_STATE_MAX_LENGTH, ADDRESS_ZIP_MAX_LENGTH, APP_ACTION_FORM_DISABLED_KEY, AbstractAsyncFormlyFormDirective, AbstractConfigAsyncFormlyFormDirective, AbstractDbxPickableItemFieldDirective, AbstractDbxSearchableFieldDisplayDirective, AbstractDbxSearchableValueFieldDirective, AbstractFormExpandableSectionWrapperDirective, AbstractFormlyFormDirective, AbstractSyncFormlyFormDirective, AutoTouchFieldWrapperComponent, ChecklistItemFieldDataSetBuilder, DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN, DEFAULT_FORM_DISABLED_KEY, DEFAULT_HAS_VALUE_FN, DEFAULT_PREFERRED_COUNTRIES, DOMAIN_NAME_REGEX, DbxActionFormDirective, DbxActionFormSafetyDirective, DbxChecklistItemContentComponent, DbxChecklistItemFieldComponent, DbxDateTimeFieldComponent, DbxDateTimeFieldTimeMode, DbxDefaultChecklistItemFieldDisplayComponent, DbxDefaultSearchableFieldDisplayComponent, DbxForm, DbxFormActionModule, DbxFormActionTransitionModule, DbxFormComponentFieldComponent, DbxFormExpandWrapperComponent, DbxFormExtensionModule, DbxFormFlexWrapperComponent, DbxFormFormlyArrayFieldModule, DbxFormFormlyBooleanFieldModule, DbxFormFormlyChecklistItemFieldModule, DbxFormFormlyComponentFieldModule, DbxFormFormlyDateFieldModule, DbxFormFormlyEnumFieldModule, DbxFormFormlyFieldModule, DbxFormFormlyPhoneFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule, DbxFormFormlySelectionModule, DbxFormFormlyTextEditorFieldModule, DbxFormFormlyTextFieldModule, DbxFormFormlyValueModule, DbxFormFormlyWrapperModule, DbxFormInfoWrapperComponent, DbxFormIoModule, DbxFormLayoutModule, DbxFormLoadingSourceDirective, DbxFormModule, DbxFormRepeatArrayTypeComponent, DbxFormSectionWrapperComponent, DbxFormSourceDirective, DbxFormSpacerComponent, DbxFormState, DbxFormSubsectionWrapperComponent, DbxFormToggleWrapperComponent, DbxFormValueChangesDirective, DbxFormWorkingWrapperComponent, DbxFormlyContext, DbxFormlyFieldsContextDirective, DbxFormlyFormComponent, DbxFormlyModule, DbxMutableForm, DbxPhoneFieldComponent, DbxPickableChipListFieldComponent, DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent, DbxSearchableChipFieldComponent, DbxSearchableFieldAutocompleteItemComponent, DbxSearchableTextFieldComponent, DbxTextEditorFieldComponent, EXPANDABLE_WRAPPER_KEY, FIELD_VALUES_ARE_EQUAL_VALIDATION_KEY, FIELD_VALUE_IS_AVAILABLE_ERROR_VALIDATION_KEY, FIELD_VALUE_IS_AVAILABLE_VALIDATION_KEY, FLEX_WRAPPER_KEY, INFO_WRAPPER_KEY, INVALID_PHONE_NUMBER_MESSAGE, LABEL_STRING_MAX_LENGTH, MAX_LENGTH_VALIDATION_MESSAGE, MAX_VALIDATION_MESSAGE, MIN_LENGTH_VALIDATION_MESSAGE, MIN_VALIDATION_MESSAGE, PHONE_LABEL_MAX_LENGTH, REQUIRED_VALIDATION_MESSAGE, SEARCH_STRING_MAX_LENGTH, SECTION_WRAPPER_KEY, STYLE_WRAPPER_KEY, SUBSECTION_WRAPPER_KEY, TAKE_NEXT_UPCOMING_TIME_CONFIG_OBS, TOGGLE_WRAPPER_KEY, WORKING_WRAPPER_KEY, addWrapperToFormlyFieldConfig, addressField, addressFormlyFields, addressListField, checkIsFieldFlexLayoutGroupFieldConfig, checkboxField, checklistItemField, chipTextField, cityField, componentField, countryField, dateTimeField, dbxFormSourceObservable, defaultValidationMessages, disableFormlyFieldAutofillAttributes, emailField, expandWrapper, fieldValueIsAvailableValidator, fieldValuesAreEqualValidator, filterPickableItemFieldValuesByLabel, flexLayoutWrapper, formlyField, hiddenField, infoWrapper, isDomain, isInRange, isTruthy, makeMetaFilterSearchableFieldValueDisplayFn, maxLengthValidationMessage, maxValidationMessage, minLengthValidationMessage, minValidationMessage, nameField, phoneAndLabelSectionField, phoneField, phoneListField, pickableItemChipField, pickableItemListField, provideDbxForm, provideDbxMutableForm, provideFormlyContext, repeatArrayField, searchableChipField, searchableStringChipField, searchableTextField, sectionWrapper, sortPickableItemsByLabel, stateField, staticEnumField, styleWrapper, subsectionWrapper, templateOptionsForFieldConfig, templateOptionsValueForFieldConfig, textAreaField, textEditorField, textField, textIsAvailableField, textPasswordField, textPasswordWithVerifyFieldGroup, textVerifyPasswordField, timeOnlyField, toggleField, toggleWrapper, usernamePasswordLoginFields, workingWrapper, wrappedPhoneAndLabelField, zipCodeField };
4313
4109
  //# sourceMappingURL=dereekb-dbx-form.mjs.map