@dereekb/dbx-form 4.1.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +4 -3
@@ -1,46 +1,45 @@
1
- import { DbxInjectionComponentConfig } from "@dereekb/dbx-core";
2
- import { LoadingState, ListLoadingStateContextInstance } from "@dereekb/rxjs";
3
- import { Maybe } from "@dereekb/util";
4
- import { OnDestroy, OnInit } from "@angular/core";
5
- import { FormControl, AbstractControl } from "@angular/forms";
6
- import { MatInput } from "@angular/material/input";
7
- import { FieldTypeConfig, FormlyFieldConfig } from "@ngx-formly/core";
8
- import { FieldType } from "@ngx-formly/material";
9
- import { Observable } from "rxjs";
10
- import { PickableValueFieldDisplayFn, PickableValueFieldDisplayValue, PickableValueFieldFilterFn, PickableValueFieldHashFn, PickableValueFieldLoadValuesFn, PickableValueFieldValue } from "./pickable";
11
- import { DbxValueListItem } from "@dereekb/dbx-web";
1
+ import { DbxInjectionComponentConfig } from '@dereekb/dbx-core';
2
+ import { LoadingState, ListLoadingStateContextInstance } from '@dereekb/rxjs';
3
+ import { PrimativeKey, Maybe, ArrayOrValue } from '@dereekb/util';
4
+ import { OnDestroy, OnInit } from '@angular/core';
5
+ import { FormControl, AbstractControl } from '@angular/forms';
6
+ import { MatInput } from '@angular/material/input';
7
+ import { FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';
8
+ import { FieldType } from '@ngx-formly/material';
9
+ import { Observable } from 'rxjs';
10
+ import { PickableValueFieldDisplayFn, PickableValueFieldDisplayValue, PickableValueFieldFilterFn, PickableValueFieldHashFn, PickableValueFieldLoadValuesFn, PickableValueFieldValue } from './pickable';
11
+ import { DbxValueListItem } from '@dereekb/dbx-web';
12
12
  import * as i0 from "@angular/core";
13
13
  /**
14
14
  * Wraps the selected state with the items.
15
15
  */
16
- export interface PickableItemFieldItem<T> extends DbxValueListItem<PickableValueFieldDisplayValue<T>> {
17
- }
18
- export declare type PickableItemFieldItemSortFn<T> = (items: PickableItemFieldItem<T>[]) => PickableItemFieldItem<T>[];
19
- export interface PickableValueFieldsFieldConfig<T> {
16
+ export declare type PickableItemFieldItem<T, M = unknown> = DbxValueListItem<PickableValueFieldDisplayValue<T, M>>;
17
+ export declare type PickableItemFieldItemSortFn<T, M = unknown> = (items: PickableItemFieldItem<T, M>[]) => PickableItemFieldItem<T, M>[];
18
+ export interface PickableValueFieldsFieldConfig<T, M = unknown, H extends PrimativeKey = PrimativeKey> {
20
19
  /**
21
20
  * Loads all pickable values.
22
21
  */
23
- loadValues: PickableValueFieldLoadValuesFn<T>;
22
+ loadValues: PickableValueFieldLoadValuesFn<T, M>;
24
23
  /**
25
24
  * Used for building a display value given the input.
26
25
  */
27
- displayForValue: PickableValueFieldDisplayFn<T>;
26
+ displayForValue: PickableValueFieldDisplayFn<T, M>;
28
27
  /**
29
28
  * Used for hashing display values and omitting repeat values.
30
29
  *
31
30
  * If hashForValue is not provided, the value's value will be used as is.
32
31
  */
33
- hashForValue?: PickableValueFieldHashFn<T>;
32
+ hashForValue?: PickableValueFieldHashFn<T, H>;
34
33
  /**
35
34
  * Used for filtering values via the search text.
36
35
  */
37
- filterValues?: PickableValueFieldFilterFn<T>;
36
+ filterValues?: PickableValueFieldFilterFn<T, M>;
38
37
  /**
39
38
  * Used for sorting the items before they are displayed.
40
39
  *
41
40
  * Should only be used to sort values.
42
41
  */
43
- sortItems?: PickableItemFieldItemSortFn<T>;
42
+ sortItems?: PickableItemFieldItemSortFn<T, M>;
44
43
  /**
45
44
  * Whether or not to allow multiple items to be selected.
46
45
  */
@@ -80,29 +79,29 @@ export interface PickableValueFieldsFieldConfig<T> {
80
79
  */
81
80
  changeSelectionModeToViewOnDisabled?: boolean;
82
81
  }
83
- export interface PickableValueFieldsFormlyFieldConfig<T> extends FormlyFieldConfig {
84
- pickableField: PickableValueFieldsFieldConfig<T>;
82
+ export interface PickableValueFieldsFormlyFieldConfig<T, M = unknown, H extends PrimativeKey = PrimativeKey> extends FormlyFieldConfig {
83
+ pickableField: PickableValueFieldsFieldConfig<T, M, H>;
85
84
  }
86
85
  /**
87
86
  * Displayed value with the computed hash.
88
87
  */
89
- export interface PickableValueFieldDisplayValueWithHash<T, M = any> extends PickableValueFieldDisplayValue<T, M> {
90
- _hash: any;
88
+ export interface PickableValueFieldDisplayValueWithHash<T, M = unknown, H extends PrimativeKey = PrimativeKey> extends PickableValueFieldDisplayValue<T, M> {
89
+ _hash: H;
91
90
  }
92
91
  /**
93
92
  * Used for picking pre-set values using items as the presentation.
94
93
  */
95
- export declare class AbstractDbxPickableItemFieldDirective<T> extends FieldType<PickableValueFieldsFormlyFieldConfig<T> & FieldTypeConfig> implements OnInit, OnDestroy {
94
+ export declare class AbstractDbxPickableItemFieldDirective<T, M = unknown, H extends PrimativeKey = PrimativeKey> extends FieldType<PickableValueFieldsFormlyFieldConfig<T, M, H> & FieldTypeConfig> implements OnInit, OnDestroy {
96
95
  filterMatInput: MatInput;
97
96
  readonly inputCtrl: FormControl;
98
97
  private _formControlObs;
99
98
  readonly formControl$: Observable<AbstractControl>;
100
99
  private _displayHashMap;
101
- readonly filterInputValue$: Observable<string>;
102
- readonly filterInputValueString$: Observable<string>;
103
- readonly loadResultsDisplayValuesState$: Observable<LoadingState<PickableValueFieldDisplayValueWithHash<T>[]>>;
100
+ readonly filterInputValue$: Observable<Maybe<string>>;
101
+ readonly filterInputValueString$: Observable<Maybe<string>>;
102
+ readonly loadResultsDisplayValuesState$: Observable<LoadingState<PickableValueFieldDisplayValueWithHash<T, M, H>[]>>;
104
103
  readonly _formControlValue: Observable<T | T[]>;
105
- readonly loadResultsDisplayValues$: Observable<PickableValueFieldDisplayValueWithHash<T>[]>;
104
+ readonly loadResultsDisplayValues$: Observable<PickableValueFieldDisplayValueWithHash<T, M, H>[]>;
106
105
  /**
107
106
  * Current values in the form control.
108
107
  */
@@ -110,27 +109,27 @@ export declare class AbstractDbxPickableItemFieldDirective<T> extends FieldType<
110
109
  /**
111
110
  * Current values with their display value.
112
111
  */
113
- readonly displayValuesState$: Observable<LoadingState<PickableValueFieldDisplayValueWithHash<T>[]>>;
112
+ readonly displayValuesState$: Observable<LoadingState<PickableValueFieldDisplayValueWithHash<T, M, H>[]>>;
114
113
  /**
115
114
  * Results to be displayed if filtered.
116
115
  */
117
- readonly filteredSearchResultsState$: Observable<LoadingState<PickableValueFieldDisplayValueWithHash<T>[]>>;
118
- readonly filteredSearchResults$: Observable<PickableValueFieldDisplayValueWithHash<T>[]>;
119
- readonly items$: Observable<PickableItemFieldItem<T>[]>;
120
- readonly itemsLoadingState$: Observable<LoadingState>;
116
+ readonly filteredSearchResultsState$: Observable<LoadingState<PickableValueFieldDisplayValueWithHash<T, M, H>[]>>;
117
+ readonly filteredSearchResults$: Observable<PickableValueFieldDisplayValueWithHash<T, M, H>[]>;
118
+ readonly items$: Observable<PickableItemFieldItem<T, M>[]>;
119
+ readonly itemsLoadingState$: Observable<LoadingState<PickableItemFieldItem<T>[]>>;
121
120
  /**
122
121
  * Context used for managing the loading of items, or when the current results change.
123
122
  */
124
- readonly context: ListLoadingStateContextInstance<any, LoadingState<any>>;
125
- readonly filterItemsLoadingState$: Observable<LoadingState>;
123
+ readonly context: ListLoadingStateContextInstance<unknown, LoadingState<PickableItemFieldItem<T, unknown>[]>>;
124
+ readonly filterItemsLoadingState$: Observable<LoadingState<PickableItemFieldItem<T>[]>>;
126
125
  /**
127
126
  * Context used for searching/filtering.
128
127
  */
129
- readonly filterResultsContext: ListLoadingStateContextInstance<any, LoadingState<PickableValueFieldDisplayValueWithHash<T, any>[]>>;
128
+ readonly filterResultsContext: ListLoadingStateContextInstance<unknown, LoadingState<PickableValueFieldDisplayValueWithHash<T, M, H>[]>>;
130
129
  readonly noItemsAvailable$: Observable<boolean>;
131
130
  get readonly(): Maybe<boolean>;
132
131
  get isReadonlyOrDisabled(): boolean;
133
- get pickableField(): PickableValueFieldsFieldConfig<T>;
132
+ get pickableField(): PickableValueFieldsFieldConfig<T, M, H>;
134
133
  get multiSelect(): boolean;
135
134
  get asArrayValue(): boolean;
136
135
  get filterLabel(): Maybe<string>;
@@ -138,27 +137,27 @@ export declare class AbstractDbxPickableItemFieldDirective<T> extends FieldType<
138
137
  get label(): Maybe<string>;
139
138
  get autocomplete(): string;
140
139
  get changeSelectionModeToViewOnDisabled(): boolean;
141
- get sortItems(): Maybe<PickableItemFieldItemSortFn<T>>;
142
- get hashForValue(): PickableValueFieldHashFn<T>;
143
- get displayForValue(): PickableValueFieldDisplayFn<T>;
140
+ get sortItems(): Maybe<PickableItemFieldItemSortFn<T, M>>;
141
+ get hashForValue(): PickableValueFieldHashFn<T, H>;
142
+ get displayForValue(): PickableValueFieldDisplayFn<T, M>;
144
143
  get showFilterInput(): boolean;
145
- get filterValuesFn(): PickableValueFieldFilterFn<T>;
144
+ get filterValuesFn(): PickableValueFieldFilterFn<T, M>;
146
145
  get skipFilterFnOnEmpty(): boolean;
147
- get _filterValues(): PickableValueFieldFilterFn<T>;
146
+ get _filterValues(): PickableValueFieldFilterFn<T, M>;
148
147
  get showTextFilter(): boolean;
149
- get loadValuesFn(): PickableValueFieldLoadValuesFn<T>;
148
+ get loadValuesFn(): PickableValueFieldLoadValuesFn<T, M>;
150
149
  get values(): T[];
151
150
  get footerConfig(): Maybe<DbxInjectionComponentConfig>;
152
- loadDisplayValuesForValues(values: T[]): Observable<LoadingState<PickableValueFieldDisplayValueWithHash<T>[]>>;
153
- loadDisplayValuesForFieldValues(values: PickableValueFieldValue<T>[]): Observable<LoadingState<PickableValueFieldDisplayValueWithHash<T>[]>>;
154
- getDisplayValuesForFieldValues(values: PickableValueFieldValue<T>[]): Observable<PickableValueFieldDisplayValueWithHash<T>[]>;
151
+ loadDisplayValuesForValues(values: T[]): Observable<LoadingState<PickableValueFieldDisplayValueWithHash<T, M, H>[]>>;
152
+ loadDisplayValuesForFieldValues(values: PickableValueFieldValue<T, M>[]): Observable<LoadingState<PickableValueFieldDisplayValueWithHash<T, M, H>[]>>;
153
+ getDisplayValuesForFieldValues(values: PickableValueFieldValue<T, M>[]): Observable<PickableValueFieldDisplayValueWithHash<T, M, H>[]>;
155
154
  ngOnInit(): void;
156
155
  ngOnDestroy(): void;
157
- protected _getValueOnFormControl(valueOnFormControl: any): T[];
156
+ protected _getValueOnFormControl(valueOnFormControl: ArrayOrValue<T>): T[];
158
157
  addValue(value: T): void;
159
158
  removeValue(value: T): void;
160
159
  setValues(values: T[]): void;
161
160
  protected _setValueOnFormControl(values: T[]): void;
162
- static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDbxPickableItemFieldDirective<any>, never>;
163
- static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractDbxPickableItemFieldDirective<any>, never, never, {}, {}, never>;
161
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDbxPickableItemFieldDirective<any, any, any>, never>;
162
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractDbxPickableItemFieldDirective<any, any, any>, never, never, {}, {}, never>;
164
163
  }
@@ -1,8 +1,8 @@
1
- import { DbxInjectionComponentConfig } from "@dereekb/dbx-core";
2
- import { AbstractDbxSelectionListWrapperDirective, AbstractDbxSelectionListViewDirective, AbstractDbxValueListViewItemComponent, DbxListSelectionMode } from "@dereekb/dbx-web";
3
- import { Maybe } from "@dereekb/util";
4
- import { PickableValueFieldDisplayValue } from "./pickable";
5
- import { AbstractDbxPickableItemFieldDirective, PickableItemFieldItem } from "./pickable.field.directive";
1
+ import { DbxInjectionComponentConfig } from '@dereekb/dbx-core';
2
+ import { AbstractDbxSelectionListWrapperDirective, AbstractDbxSelectionListViewDirective, AbstractDbxValueListViewItemComponent, DbxListSelectionMode } from '@dereekb/dbx-web';
3
+ import { Maybe } from '@dereekb/util';
4
+ import { PickableValueFieldDisplayValue } from './pickable';
5
+ import { AbstractDbxPickableItemFieldDirective, PickableItemFieldItem } from './pickable.field.directive';
6
6
  import * as i0 from "@angular/core";
7
7
  /**
8
8
  * Used for picking pre-set values using a selection list as the presentation.
@@ -20,12 +20,12 @@ export declare class DbxPickableListFieldItemListComponent<T> extends AbstractDb
20
20
  /**
21
21
  * NOTE: Values input are PickableItemFieldItem<T>, but output values are PickableValueFieldDisplayValue<T>.
22
22
  */
23
- export declare class DbxPickableListFieldItemListViewComponent<T> extends AbstractDbxSelectionListViewDirective<PickableItemFieldItem<T>> {
23
+ export declare class DbxPickableListFieldItemListViewComponent<T> extends AbstractDbxSelectionListViewDirective<any> {
24
24
  readonly dbxPickableListFieldComponent: DbxPickableListFieldComponent<T>;
25
25
  readonly config: DbxInjectionComponentConfig;
26
26
  get multiple(): boolean;
27
27
  get selectionMode(): Maybe<DbxListSelectionMode>;
28
- readonly items$: import("rxjs").Observable<import("@dereekb/dbx-web").DbxValueListItemConfig<unknown, PickableItemFieldItem<T>>[]>;
28
+ readonly items$: import("rxjs").Observable<any[]>;
29
29
  constructor(dbxPickableListFieldComponent: DbxPickableListFieldComponent<T>);
30
30
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxPickableListFieldItemListViewComponent<any>, never>;
31
31
  static ɵcmp: i0.ɵɵComponentDeclaration<DbxPickableListFieldItemListViewComponent<any>, "ng-component", never, {}, {}, never, never>;
@@ -2,10 +2,8 @@
2
2
 
3
3
  // MARK: Variables
4
4
 
5
-
6
5
  // MARK: Mixin
7
6
  @mixin core() {
8
-
9
7
  .dbx-searchable-text-field-value {
10
8
  width: 100%;
11
9
  }
@@ -20,7 +18,6 @@
20
18
  }
21
19
 
22
20
  .dbx-searchable-text-field-has-value.dbx-searchable-text-field-show-value {
23
-
24
21
  .dbx-searchable-text-field-value {
25
22
  margin-bottom: -6px;
26
23
  }
@@ -36,12 +33,13 @@
36
33
  opacity: unset;
37
34
  height: unset;
38
35
  }
39
-
40
36
  }
41
37
 
42
- @mixin color($theme-config) {}
38
+ @mixin color($theme-config) {
39
+ }
43
40
 
44
- @mixin typography($typography-config) {}
41
+ @mixin typography($typography-config) {
42
+ }
45
43
 
46
44
  @mixin theme($theme-config) {
47
45
  @include theming.private-check-duplicate-theme-styles($theme-config, 'dbx-form-field-selection-searchable') {
@@ -1,14 +1,14 @@
1
- import { OnDestroy } from '@angular/core';
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
3
3
  import { MatChipInputEvent } from '@angular/material/chips';
4
4
  import { AbstractDbxSearchableValueFieldDirective, SearchableValueFieldsFieldConfig, SearchableValueFieldsFormlyFieldConfig } from './searchable.field.directive';
5
+ import { PrimativeKey } from '@dereekb/util';
5
6
  import * as i0 from "@angular/core";
6
- export interface SearchableChipValueFieldsFieldConfig<T> extends SearchableValueFieldsFieldConfig<T> {
7
+ export declare type SearchableChipValueFieldsFieldConfig<T, M = unknown, H extends PrimativeKey = PrimativeKey> = SearchableValueFieldsFieldConfig<T, M, H>;
8
+ export interface SearchableChipValueFieldsFormlyFieldConfig<T, M = unknown, H extends PrimativeKey = PrimativeKey> extends SearchableValueFieldsFormlyFieldConfig<T, M, H> {
9
+ searchableField: SearchableChipValueFieldsFieldConfig<T, M, H>;
7
10
  }
8
- export interface SearchableChipValueFieldsFormlyFieldConfig<T> extends SearchableValueFieldsFormlyFieldConfig<T> {
9
- searchableField: SearchableChipValueFieldsFieldConfig<T>;
10
- }
11
- export declare class DbxSearchableChipFieldComponent<T> extends AbstractDbxSearchableValueFieldDirective<T, SearchableChipValueFieldsFormlyFieldConfig<T>> implements OnDestroy {
11
+ export declare class DbxSearchableChipFieldComponent<T, M = unknown, H extends PrimativeKey = PrimativeKey> extends AbstractDbxSearchableValueFieldDirective<T, M, H, SearchableChipValueFieldsFormlyFieldConfig<T, M, H>> implements OnInit, OnDestroy {
12
12
  private _blur;
13
13
  private _blurSub;
14
14
  readonly separatorKeysCodes: number[];
@@ -18,6 +18,6 @@ export declare class DbxSearchableChipFieldComponent<T> extends AbstractDbxSearc
18
18
  ngOnInit(): void;
19
19
  ngOnDestroy(): void;
20
20
  onBlur(): void;
21
- static ɵfac: i0.ɵɵFactoryDeclaration<DbxSearchableChipFieldComponent<any>, never>;
22
- static ɵcmp: i0.ɵɵComponentDeclaration<DbxSearchableChipFieldComponent<any>, "ng-component", never, {}, {}, never, never>;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxSearchableChipFieldComponent<any, any, any>, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxSearchableChipFieldComponent<any, any, any>, "ng-component", never, {}, {}, never, never>;
23
23
  }
@@ -1,7 +1,8 @@
1
+ import { PrimativeKey } from '@dereekb/util';
1
2
  import { DbxInjectionComponentConfig, ClickableAnchor } from '@dereekb/dbx-core';
2
3
  import { Observable } from 'rxjs';
3
4
  import { SelectionDisplayValue, SelectionValue, SelectionValueHashFn } from '../selection';
4
- export interface SearchableValueFieldValue<T, M = any> extends SelectionValue<T, M> {
5
+ export interface SearchableValueFieldValue<T, M = unknown> extends SelectionValue<T, M> {
5
6
  /**
6
7
  * Optional anchor metadata on the field.
7
8
  */
@@ -10,29 +11,29 @@ export interface SearchableValueFieldValue<T, M = any> extends SelectionValue<T,
10
11
  /**
11
12
  * Displayed value.
12
13
  */
13
- export interface SearchableValueFieldDisplayValue<T, M = any> extends SelectionDisplayValue<T, M>, SearchableValueFieldValue<T, M> {
14
+ export interface SearchableValueFieldDisplayValue<T, M = unknown> extends SelectionDisplayValue<T, M>, SearchableValueFieldValue<T, M> {
14
15
  /**
15
16
  * Display override configuration
16
17
  */
17
18
  display?: Partial<DbxInjectionComponentConfig>;
18
19
  }
19
- export interface ConfiguredSearchableValueFieldDisplayValue<T, M = any> extends Omit<SearchableValueFieldDisplayValue<T, M>, 'display'> {
20
+ export interface ConfiguredSearchableValueFieldDisplayValue<T, M = unknown> extends Omit<SearchableValueFieldDisplayValue<T, M>, 'display'> {
20
21
  display: DbxInjectionComponentConfig;
21
22
  }
22
23
  /**
23
24
  * SearchableValueField function for searching values.
24
25
  */
25
- export declare type SearchableValueFieldStringSearchFn<T> = (search: string) => Observable<SearchableValueFieldValue<T>[]>;
26
+ export declare type SearchableValueFieldStringSearchFn<T, M = unknown> = (search: string) => Observable<SearchableValueFieldValue<T, M>[]>;
26
27
  /**
27
- * SearchableValueField function that allows the values a chance to go through another observable for any changes.
28
+ * SearchableValueField function that allows the values a chance to go through another observable for unknown changes.
28
29
  *
29
30
  * An example usage is passing an email address, then getting back metadata that can be used to show the values.
30
31
  *
31
32
  * The value itself should not change. All other fields on the value may change, however.
32
33
  */
33
- export declare type SearchableValueFieldDisplayFn<T> = (values: SearchableValueFieldValue<T>[]) => Observable<SearchableValueFieldDisplayValue<T>[]>;
34
+ export declare type SearchableValueFieldDisplayFn<T, M = unknown> = (values: SearchableValueFieldValue<T, M>[]) => Observable<SearchableValueFieldDisplayValue<T, M>[]>;
34
35
  /**
35
36
  * SearchableValueField function for setting anchor values on a field value.
36
37
  */
37
- export declare type SearchableValueFieldAnchorFn<T> = (value: SearchableValueFieldValue<T>) => ClickableAnchor;
38
- export declare type SearchableValueFieldHashFn<T> = SelectionValueHashFn<T>;
38
+ export declare type SearchableValueFieldAnchorFn<T, M = unknown> = (value: SearchableValueFieldValue<T, M>) => ClickableAnchor;
39
+ export declare type SearchableValueFieldHashFn<T, H extends PrimativeKey = PrimativeKey> = SelectionValueHashFn<T, H>;
@@ -6,7 +6,7 @@ import * as i0 from "@angular/core";
6
6
  export declare const DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN: InjectionToken<unknown>;
7
7
  export declare class DbxSearchableFieldAutocompleteItemComponent<T> implements OnDestroy {
8
8
  private _displayValue;
9
- readonly displayValue$: Observable<ConfiguredSearchableValueFieldDisplayValue<T, any>>;
9
+ readonly displayValue$: Observable<ConfiguredSearchableValueFieldDisplayValue<T, unknown>>;
10
10
  readonly config$: Observable<DbxInjectionComponentConfig>;
11
11
  readonly anchor$: Observable<import("@dereekb/dbx-core").ClickableAnchor | undefined>;
12
12
  set displayValue(displayValue: ConfiguredSearchableValueFieldDisplayValue<T>);
@@ -1,3 +1,4 @@
1
+ import { PrimativeKey } from '@dereekb/util';
1
2
  import { FormlyFieldConfig } from '@ngx-formly/core';
2
3
  import { Observable } from 'rxjs';
3
4
  import { LabeledFieldConfig, DescriptionFieldConfig } from '../../field';
@@ -10,16 +11,15 @@ import { SearchableTextValueFieldsFieldConfig } from './searchable.text.field.co
10
11
  * @param param0
11
12
  * @returns
12
13
  */
13
- export declare function makeMetaFilterSearchableFieldValueDisplayFn<T = string | number, M = any>({ loadMetaForValues, makeDisplayForValues }: {
14
+ export declare function makeMetaFilterSearchableFieldValueDisplayFn<T extends string | number = string | number, M = unknown>({ loadMetaForValues, makeDisplayForValues }: {
14
15
  loadMetaForValues: (values: SearchableValueFieldValue<T, M>[]) => Observable<SearchableValueFieldValue<T, M>[]>;
15
16
  makeDisplayForValues: (values: SearchableValueFieldValue<T, M>[]) => Observable<SearchableValueFieldDisplayValue<T, M>[]>;
16
- }): SearchableValueFieldDisplayFn<T>;
17
- export interface StringSearchableChipFieldConfig extends Omit<SearchableChipFieldConfig<string>, 'allowStringValues'> {
17
+ }): SearchableValueFieldDisplayFn<T, M>;
18
+ export declare type StringSearchableChipFieldConfig<M = unknown> = Omit<SearchableChipFieldConfig<string, M>, 'allowStringValues'>;
19
+ export declare function searchableStringChipField<M = unknown>(config: StringSearchableChipFieldConfig<M>): FormlyFieldConfig;
20
+ export interface SearchableChipFieldConfig<T = unknown, M = unknown, H extends PrimativeKey = PrimativeKey> extends LabeledFieldConfig, DescriptionFieldConfig, SearchableChipValueFieldsFieldConfig<T, M, H> {
18
21
  }
19
- export declare function searchableStringChipField(config: StringSearchableChipFieldConfig): FormlyFieldConfig;
20
- export interface SearchableChipFieldConfig<T = any> extends LabeledFieldConfig, DescriptionFieldConfig, SearchableChipValueFieldsFieldConfig<T> {
22
+ export declare function searchableChipField<T, M = unknown, H extends PrimativeKey = PrimativeKey>(config: SearchableChipFieldConfig<T, M, H>): FormlyFieldConfig;
23
+ export interface SearchableTextFieldConfig<T = unknown, M = unknown, H extends PrimativeKey = PrimativeKey> extends LabeledFieldConfig, DescriptionFieldConfig, SearchableTextValueFieldsFieldConfig<T, M, H> {
21
24
  }
22
- export declare function searchableChipField<T>(config: SearchableChipFieldConfig<T>): FormlyFieldConfig;
23
- export interface SearchableTextFieldConfig<T = any> extends LabeledFieldConfig, DescriptionFieldConfig, SearchableTextValueFieldsFieldConfig<T> {
24
- }
25
- export declare function searchableTextField<T>(config: SearchableTextFieldConfig<T>): FormlyFieldConfig;
25
+ export declare function searchableTextField<T, M = unknown, H extends PrimativeKey = PrimativeKey>(config: SearchableTextFieldConfig<T, M, H>): FormlyFieldConfig;
@@ -1,3 +1,4 @@
1
+ import { ArrayOrValue, Maybe, PrimativeKey } from '@dereekb/util';
1
2
  import { DbxInjectionComponentConfig } from '@dereekb/dbx-core';
2
3
  import { SubscriptionObject, LoadingState, LoadingStateContextInstance } from '@dereekb/rxjs';
3
4
  import { ChangeDetectorRef, ElementRef, OnDestroy, OnInit } from '@angular/core';
@@ -6,7 +7,6 @@ import { FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';
6
7
  import { FieldType } from '@ngx-formly/material';
7
8
  import { Observable } from 'rxjs';
8
9
  import { SearchableValueFieldHashFn, SearchableValueFieldStringSearchFn, SearchableValueFieldDisplayFn, SearchableValueFieldDisplayValue, SearchableValueFieldValue, SearchableValueFieldAnchorFn, ConfiguredSearchableValueFieldDisplayValue } from './searchable';
9
- import { Maybe } from '@dereekb/util';
10
10
  import * as i0 from "@angular/core";
11
11
  export interface StringValueFieldsFieldConfig {
12
12
  /**
@@ -16,7 +16,7 @@ export interface StringValueFieldsFieldConfig {
16
16
  }
17
17
  export interface StringValueFieldsFormlyFieldConfig extends StringValueFieldsFieldConfig, FormlyFieldConfig {
18
18
  }
19
- export interface SearchableValueFieldsFieldConfig<T> extends StringValueFieldsFieldConfig {
19
+ export interface SearchableValueFieldsFieldConfig<T, M = unknown, H extends PrimativeKey = PrimativeKey> extends StringValueFieldsFieldConfig {
20
20
  /**
21
21
  * Whether or not to allow string values to be used directly, or if values can only be chosen from searching.
22
22
  */
@@ -30,11 +30,11 @@ export interface SearchableValueFieldsFieldConfig<T> extends StringValueFieldsFi
30
30
  *
31
31
  * If hashForValue is not provided, the value's value will be used as is.
32
32
  */
33
- hashForValue?: SearchableValueFieldHashFn<T>;
33
+ hashForValue?: SearchableValueFieldHashFn<T, H>;
34
34
  /**
35
35
  * Performs a search.
36
36
  */
37
- search: SearchableValueFieldStringSearchFn<T>;
37
+ search: SearchableValueFieldStringSearchFn<T, M>;
38
38
  /**
39
39
  * Whether or not to allow searches on empty text. Is false by default.
40
40
  */
@@ -46,7 +46,7 @@ export interface SearchableValueFieldsFieldConfig<T> extends StringValueFieldsFi
46
46
  /**
47
47
  * Used for building a display value given the input.
48
48
  */
49
- displayForValue: SearchableValueFieldDisplayFn<T>;
49
+ displayForValue: SearchableValueFieldDisplayFn<T, M>;
50
50
  /**
51
51
  * Whether or not to use the anchor field on value elements.
52
52
  *
@@ -58,21 +58,21 @@ export interface SearchableValueFieldsFieldConfig<T> extends StringValueFieldsFi
58
58
  *
59
59
  * Only used when useAnchor is true.
60
60
  */
61
- anchorForValue?: SearchableValueFieldAnchorFn<T>;
61
+ anchorForValue?: SearchableValueFieldAnchorFn<T, M>;
62
62
  /**
63
63
  * Whether or not to show "Clear" in the autcomplete list.
64
64
  */
65
65
  showClearValue?: boolean;
66
66
  }
67
- export interface SearchableValueFieldsFormlyFieldConfig<T> extends FormlyFieldConfig {
68
- searchableField: SearchableValueFieldsFieldConfig<T>;
67
+ export interface SearchableValueFieldsFormlyFieldConfig<T, M = unknown, H extends PrimativeKey = PrimativeKey> extends FormlyFieldConfig {
68
+ searchableField: SearchableValueFieldsFieldConfig<T, M, H>;
69
69
  }
70
70
  /**
71
71
  * Abstract searchable field that provides a feature for searching for values, and for displaying values using Observables.
72
72
  *
73
73
  * Display values are cached for performance.
74
74
  */
75
- export declare abstract class AbstractDbxSearchableValueFieldDirective<T, C extends SearchableValueFieldsFormlyFieldConfig<T>> extends FieldType<C & FieldTypeConfig> implements OnInit, OnDestroy {
75
+ export declare abstract class AbstractDbxSearchableValueFieldDirective<T, M = unknown, H extends PrimativeKey = PrimativeKey, C extends SearchableValueFieldsFormlyFieldConfig<T, M, H> = SearchableValueFieldsFormlyFieldConfig<T, M, H>> extends FieldType<C & FieldTypeConfig> implements OnInit, OnDestroy {
76
76
  readonly cdRef: ChangeDetectorRef;
77
77
  /**
78
78
  * Whether or not to set/get values as an array.
@@ -89,33 +89,33 @@ export declare abstract class AbstractDbxSearchableValueFieldDirective<T, C exte
89
89
  private _displayHashMap;
90
90
  readonly inputValue$: Observable<string>;
91
91
  readonly inputValueString$: Observable<string>;
92
- readonly searchResultsState$: Observable<LoadingState<any> | LoadingState<ConfiguredSearchableValueFieldDisplayValue<T, any>[]>>;
92
+ readonly searchResultsState$: Observable<LoadingState<ConfiguredSearchableValueFieldDisplayValue<T, M>[]>>;
93
93
  readonly singleValueSyncSubscription: SubscriptionObject;
94
- readonly searchContext: LoadingStateContextInstance<any, LoadingState<any> | LoadingState<ConfiguredSearchableValueFieldDisplayValue<T, any>[]>>;
95
- readonly searchResults$: Observable<ConfiguredSearchableValueFieldDisplayValue<T>[]>;
94
+ readonly searchContext: LoadingStateContextInstance<unknown, LoadingState<ConfiguredSearchableValueFieldDisplayValue<T, M>[]>>;
95
+ readonly searchResults$: Observable<ConfiguredSearchableValueFieldDisplayValue<T, M>[]>;
96
96
  readonly _formControlValue: Observable<T | T[]>;
97
97
  readonly values$: Observable<T[]>;
98
- readonly displayValuesState$: Observable<LoadingState<ConfiguredSearchableValueFieldDisplayValue<T>[]>>;
99
- readonly displayValues$: Observable<ConfiguredSearchableValueFieldDisplayValue<T>[]>;
98
+ readonly displayValuesState$: Observable<LoadingState<ConfiguredSearchableValueFieldDisplayValue<T, M>[]>>;
99
+ readonly displayValues$: Observable<ConfiguredSearchableValueFieldDisplayValue<T, M>[]>;
100
100
  get name(): string;
101
101
  get label(): Maybe<string>;
102
102
  get readonly(): Maybe<boolean>;
103
- get searchableField(): SearchableValueFieldsFieldConfig<T>;
103
+ get searchableField(): SearchableValueFieldsFieldConfig<T, M, H>;
104
104
  get searchOnEmptyText(): boolean;
105
105
  get autocomplete(): string;
106
- get hashForValue(): SearchableValueFieldHashFn<T>;
107
- get displayForValue(): SearchableValueFieldDisplayFn<T>;
106
+ get hashForValue(): SearchableValueFieldHashFn<T, H>;
107
+ get displayForValue(): SearchableValueFieldDisplayFn<T, M>;
108
108
  get useAnchor(): Maybe<boolean>;
109
- get anchorForValue(): Maybe<SearchableValueFieldAnchorFn<T>>;
109
+ get anchorForValue(): Maybe<SearchableValueFieldAnchorFn<T, M>>;
110
110
  get display(): Maybe<Partial<DbxInjectionComponentConfig>>;
111
- get search(): SearchableValueFieldStringSearchFn<T>;
111
+ get search(): SearchableValueFieldStringSearchFn<T, M>;
112
112
  get values(): T[];
113
113
  get allowStringValues(): boolean;
114
114
  get convertStringValue(): Maybe<(text: string) => T>;
115
115
  get showClearValue(): boolean;
116
- loadDisplayValuesForValues(values: T[]): Observable<LoadingState<ConfiguredSearchableValueFieldDisplayValue<T>[]>>;
117
- loadDisplayValuesForFieldValues(values: SearchableValueFieldValue<T>[]): Observable<LoadingState<ConfiguredSearchableValueFieldDisplayValue<T>[]>>;
118
- getDisplayValuesForFieldValues(values: SearchableValueFieldValue<T>[]): Observable<ConfiguredSearchableValueFieldDisplayValue<T>[]>;
116
+ loadDisplayValuesForValues(values: T[]): Observable<LoadingState<ConfiguredSearchableValueFieldDisplayValue<T, M>[]>>;
117
+ loadDisplayValuesForFieldValues(values: SearchableValueFieldValue<T, M>[]): Observable<LoadingState<ConfiguredSearchableValueFieldDisplayValue<T, M>[]>>;
118
+ getDisplayValuesForFieldValues(values: SearchableValueFieldValue<T, M>[]): Observable<ConfiguredSearchableValueFieldDisplayValue<T, M>[]>;
119
119
  constructor(cdRef: ChangeDetectorRef);
120
120
  ngOnInit(): void;
121
121
  ngOnDestroy(): void;
@@ -133,8 +133,8 @@ export declare abstract class AbstractDbxSearchableValueFieldDirective<T, C exte
133
133
  removeValue(value: T): void;
134
134
  clearValues(): void;
135
135
  setValues(values: T[]): void;
136
- protected _getValueOnFormControl(valueOnFormControl: any): T[];
136
+ protected _getValueOnFormControl(valueOnFormControl: ArrayOrValue<T>): T[];
137
137
  protected _setValueOnFormControl(values: T[]): void;
138
- static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDbxSearchableValueFieldDirective<any, any>, never>;
139
- static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractDbxSearchableValueFieldDirective<any, any>, never, never, {}, {}, never>;
138
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDbxSearchableValueFieldDirective<any, any, any, any>, never>;
139
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractDbxSearchableValueFieldDirective<any, any, any, any>, never, never, {}, {}, never>;
140
140
  }
@@ -1,25 +1,28 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
1
3
  import { AbstractDbxSearchableValueFieldDirective, SearchableValueFieldsFieldConfig, SearchableValueFieldsFormlyFieldConfig } from './searchable.field.directive';
4
+ import { PrimativeKey } from '@dereekb/util';
2
5
  import * as i0 from "@angular/core";
3
- export interface SearchableTextValueFieldsFieldConfig<T> extends SearchableValueFieldsFieldConfig<T> {
6
+ export interface SearchableTextValueFieldsFieldConfig<T, M = unknown, H extends PrimativeKey = PrimativeKey> extends SearchableValueFieldsFieldConfig<T, M, H> {
4
7
  showSelectedValue?: boolean;
5
8
  }
6
- export interface SearchableTextValueFieldsFormlyFieldConfig<T> extends SearchableValueFieldsFormlyFieldConfig<T> {
7
- searchableField: SearchableTextValueFieldsFieldConfig<T>;
9
+ export interface SearchableTextValueFieldsFormlyFieldConfig<T, M = unknown, H extends PrimativeKey = PrimativeKey> extends SearchableValueFieldsFormlyFieldConfig<T, M, H> {
10
+ searchableField: SearchableTextValueFieldsFieldConfig<T, M, H>;
8
11
  }
9
12
  /**
10
13
  * Display component for selecting a single item/value.
11
14
  */
12
- export declare class DbxSearchableTextFieldComponent<T> extends AbstractDbxSearchableValueFieldDirective<T, SearchableTextValueFieldsFormlyFieldConfig<T>> {
13
- readonly selectedDisplayValue$: import("rxjs").Observable<import("@dereekb/dbx-form").ConfiguredSearchableValueFieldDisplayValue<T, any>>;
15
+ export declare class DbxSearchableTextFieldComponent<T, M = unknown, H extends PrimativeKey = PrimativeKey> extends AbstractDbxSearchableValueFieldDirective<T, M, H, SearchableTextValueFieldsFormlyFieldConfig<T, M, H>> implements OnInit, OnDestroy {
16
+ readonly selectedDisplayValue$: import("rxjs").Observable<import("@dereekb/dbx-form").ConfiguredSearchableValueFieldDisplayValue<T, M>>;
14
17
  readonly hasValue$: import("rxjs").Observable<boolean>;
15
18
  readonly showSelectedDisplayValue$: import("rxjs").Observable<boolean>;
16
- get searchableField(): SearchableTextValueFieldsFieldConfig<T>;
19
+ get searchableField(): SearchableTextValueFieldsFieldConfig<T, M, H>;
17
20
  get showSelectedValue(): boolean;
18
21
  readonly multiSelect = false;
19
22
  private _clearInputSub;
20
23
  ngOnInit(): void;
21
24
  ngOnDestroy(): void;
22
- selected(event: any): void;
23
- static ɵfac: i0.ɵɵFactoryDeclaration<DbxSearchableTextFieldComponent<any>, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<DbxSearchableTextFieldComponent<any>, "ng-component", never, {}, {}, never, never>;
25
+ selected(event: MatAutocompleteSelectedEvent): void;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxSearchableTextFieldComponent<any, any, any>, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxSearchableTextFieldComponent<any, any, any>, "ng-component", never, {}, {}, never, never>;
25
28
  }
@@ -1,6 +1,6 @@
1
- import { FormlyFieldConfig } from "@ngx-formly/core";
2
- import { LabeledFieldConfig } from "../../field";
3
- import { StringValueFieldsFieldConfig, StringValueFieldsFormlyFieldConfig } from "./searchable.field.directive";
1
+ import { FormlyFieldConfig } from '@ngx-formly/core';
2
+ import { LabeledFieldConfig } from '../../field';
3
+ import { StringValueFieldsFieldConfig, StringValueFieldsFormlyFieldConfig } from './searchable.field.directive';
4
4
  export interface ChipTextFieldConfig extends LabeledFieldConfig, StringValueFieldsFieldConfig {
5
5
  }
6
6
  export interface ChipTextFieldFormlyConfig extends StringValueFieldsFormlyFieldConfig, FormlyFieldConfig {
@@ -1,8 +1,8 @@
1
- import { Maybe } from "@dereekb/util";
2
- export interface SelectionValue<T, M = any> {
1
+ import { PrimativeKey, Maybe } from '@dereekb/util';
2
+ export interface SelectionValue<T, M = unknown> {
3
3
  /**
4
- * Value associated with this field.
5
- */
4
+ * Value associated with this field.
5
+ */
6
6
  value: T;
7
7
  /**
8
8
  * Optional metadata on the field.
@@ -12,7 +12,7 @@ export interface SelectionValue<T, M = any> {
12
12
  /**
13
13
  * Displayed value.
14
14
  */
15
- export interface SelectionDisplayValue<T, M = any> extends SelectionValue<T, M> {
15
+ export interface SelectionDisplayValue<T, M = unknown> extends SelectionValue<T, M> {
16
16
  label: string;
17
17
  sublabel?: string;
18
18
  /**
@@ -23,4 +23,4 @@ export interface SelectionDisplayValue<T, M = any> extends SelectionValue<T, M>
23
23
  /**
24
24
  * Used to hash the value from the input pickable value.
25
25
  */
26
- export declare type SelectionValueHashFn<T> = (value: T) => any;
26
+ export declare type SelectionValueHashFn<T, H extends PrimativeKey = PrimativeKey> = (value: T) => H;
@@ -5,10 +5,8 @@
5
5
 
6
6
  // MARK: Variables
7
7
 
8
-
9
8
  // MARK: Mixin
10
9
  @mixin core() {
11
-
12
10
  .dbx-texteditor-field-compact {
13
11
  .dbx-texteditor-field-input {
14
12
  min-height: 120px;
@@ -21,7 +19,6 @@
21
19
  max-height: 400px;
22
20
  overflow: auto;
23
21
  }
24
-
25
22
  }
26
23
 
27
24
  @mixin color($theme-config) {
@@ -35,7 +32,6 @@
35
32
  $text-color: theming.get-color-from-palette($foreground, 'text');
36
33
 
37
34
  .dbx-texteditor-field {
38
-
39
35
  .NgxEditor {
40
36
  background: transparent;
41
37
  color: $text-color;
@@ -62,7 +58,7 @@
62
58
  }
63
59
 
64
60
  .NgxEditor__Popup,
65
- .NgxEditor__Dropdown.NgxEditor__Dropdown--Selected,
61
+ .NgxEditor__Dropdown.NgxEditor__Dropdown--Selected,
66
62
  .NgxEditor__Dropdown.NgxEditor__Dropdown--Open,
67
63
  .NgxEditor__Dropdown .NgxEditor__Dropdown--DropdownMenu,
68
64
  .NgxEditor__Popup--FormGroup input {
@@ -73,12 +69,11 @@
73
69
  .NgxEditor__Dropdown.NgxEditor__Dropdown--Selected .NgxEditor__Dropdown--Text {
74
70
  color: $text-color;
75
71
  }
76
-
77
72
  }
78
-
79
73
  }
80
74
 
81
- @mixin typography($typography-config) {}
75
+ @mixin typography($typography-config) {
76
+ }
82
77
 
83
78
  @mixin theme($theme-config) {
84
79
  @include theming.private-check-duplicate-theme-styles($theme-config, 'dbx-form-field-texteditor') {