@yuuvis/client-framework 3.0.0 → 3.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 (27) hide show
  1. package/fesm2022/yuuvis-client-framework-forms.mjs +702 -613
  2. package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
  3. package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs +4 -3
  4. package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs.map +1 -1
  5. package/fesm2022/yuuvis-client-framework-metadata-form.mjs +4 -2
  6. package/fesm2022/yuuvis-client-framework-metadata-form.mjs.map +1 -1
  7. package/fesm2022/yuuvis-client-framework-object-details.mjs +173 -173
  8. package/fesm2022/yuuvis-client-framework-object-details.mjs.map +1 -1
  9. package/fesm2022/yuuvis-client-framework-object-form.mjs +9 -5
  10. package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -1
  11. package/fesm2022/yuuvis-client-framework-object-relationship.mjs +1 -1
  12. package/fesm2022/yuuvis-client-framework-object-relationship.mjs.map +1 -1
  13. package/fesm2022/yuuvis-client-framework-object-summary.mjs +2 -2
  14. package/fesm2022/yuuvis-client-framework-object-summary.mjs.map +1 -1
  15. package/fesm2022/yuuvis-client-framework-renderer.mjs +1 -1
  16. package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -1
  17. package/fesm2022/yuuvis-client-framework-sequence-list.mjs +47 -35
  18. package/fesm2022/yuuvis-client-framework-sequence-list.mjs.map +1 -1
  19. package/fesm2022/yuuvis-client-framework-tile-list.mjs +34 -17
  20. package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -1
  21. package/lib/assets/i18n/de.json +22 -22
  22. package/lib/assets/i18n/en.json +12 -12
  23. package/package.json +6 -6
  24. package/types/yuuvis-client-framework-forms.d.ts +215 -186
  25. package/types/yuuvis-client-framework-object-details.d.ts +99 -99
  26. package/types/yuuvis-client-framework-sequence-list.d.ts +2 -2
  27. package/types/yuuvis-client-framework-tile-list.d.ts +3 -2
@@ -1,14 +1,45 @@
1
- import * as _angular_core from '@angular/core';
2
- import { ElementRef, OnInit, OnDestroy, AfterViewInit } from '@angular/core';
3
1
  import * as _angular_forms from '@angular/forms';
4
- import { ControlValueAccessor, Validator, FormControl, FormGroup, ValidationErrors, AbstractControl } from '@angular/forms';
2
+ import { ControlValueAccessor, FormControl, Validator, FormGroup, ValidationErrors, AbstractControl } from '@angular/forms';
3
+ import * as _angular_core from '@angular/core';
4
+ import { OnInit, OnDestroy, ElementRef, AfterViewInit } from '@angular/core';
5
+ import { AbstractMatFormField } from '@yuuvis/client-framework/common';
5
6
  import { TranslateService, Situation, ObjectFormControl, RangeValue, Operator, LocaleNumberPipe, FileSizePipe, OrganizationSetEntry, DateRange, FilesizeRange, FormattedMailTo } from '@yuuvis/client-core';
6
7
  import { MetadataFormFieldContext } from '@yuuvis/client-framework/metadata-form';
7
- import { AbstractMatFormField } from '@yuuvis/client-framework/common';
8
8
  import { DatepickerComponent, DatepickerLabels } from '@yuuvis/client-framework/datepicker';
9
9
  import { AutocompleteItem } from '@yuuvis/client-framework/autocomplete';
10
10
  import { MatChipInputEvent, MatChipEditedEvent } from '@angular/material/chips';
11
11
 
12
+ declare class CatalogComponent extends AbstractMatFormField<string | string[]> implements ControlValueAccessor, OnInit, OnDestroy {
13
+ #private;
14
+ private readonly translate;
15
+ readonly: _angular_core.InputSignal<boolean>;
16
+ multiple: _angular_core.InputSignal<boolean>;
17
+ _options: _angular_core.WritableSignal<{
18
+ label: string;
19
+ value: string;
20
+ }[]>;
21
+ options: _angular_core.InputSignal<string[]>;
22
+ /**
23
+ * Additional semantics for the form element.
24
+ */
25
+ classifications: _angular_core.InputSignal<string[]>;
26
+ /**
27
+ * Possibles values are `EDIT` (default),`SEARCH`,`CREATE`. In search situation validation of the form element will be turned off, so you are able to enter search terms that do not meet the elements validators.
28
+ */
29
+ situation: _angular_core.InputSignal<string | undefined>;
30
+ ngControl: _angular_forms.NgControl | null;
31
+ readonly fc: FormControl<string | string[] | null | undefined>;
32
+ propagateChange: (_: any) => void;
33
+ writeValue(value: string | string[]): void;
34
+ registerOnChange(fn: any): void;
35
+ registerOnTouched(fn: any): void;
36
+ setDisabledState?(isDisabled: boolean): void;
37
+ ngOnInit(): void;
38
+ ngOnDestroy(): void;
39
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CatalogComponent, never>;
40
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CatalogComponent, "yuv-catalog", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "classifications": { "alias": "classifications"; "required": false; "isSignal": true; }; "situation": { "alias": "situation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
41
+ }
42
+
12
43
  declare enum DataGridSizeType {
13
44
  SMALL = "small",
14
45
  MEDIUM = "medium",
@@ -58,6 +89,40 @@ declare class DataGridComponent implements ControlValueAccessor, Validator {
58
89
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataGridComponent, "yuv-data-grid", never, { "situation": { "alias": "situation"; "required": false; "isSignal": true; }; "formElement": { "alias": "formElement"; "required": false; "isSignal": true; }; "formControl": { "alias": "formControl"; "required": false; "isSignal": true; }; "classifications": { "alias": "classifications"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "formFieldContext": { "alias": "formFieldContext"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
59
90
  }
60
91
 
92
+ declare class DatetimeRangeComponent extends AbstractMatFormField<RangeValue<Date | string>> implements ControlValueAccessor, OnInit, OnDestroy {
93
+ #private;
94
+ /**
95
+ * Enables setting time as well (default: false)
96
+ */
97
+ withTimeInput: _angular_core.InputSignal<boolean>;
98
+ withTime: _angular_core.WritableSignal<boolean>;
99
+ /**
100
+ * Will prevent the input from being changed (default: false)
101
+ */
102
+ readonly: _angular_core.InputSignal<boolean>;
103
+ operator: _angular_core.InputSignal<Operator>;
104
+ situation: _angular_core.InputSignal<string | undefined>;
105
+ private _isValid;
106
+ ngControl: _angular_forms.NgControl | null;
107
+ availableSearchOptions: {
108
+ label: string;
109
+ value: Operator;
110
+ }[];
111
+ rangeForm: FormGroup<{
112
+ dateValue: FormControl<string | Date | undefined>;
113
+ operator: FormControl<Operator>;
114
+ dateValueFrom: FormControl<string | Date | undefined>;
115
+ }>;
116
+ propagateChange: (_: any) => void;
117
+ writeValue(value?: RangeValue<Date | string>): void;
118
+ registerOnChange(fn: any): void;
119
+ registerOnTouched(fn: any): void;
120
+ ngOnInit(): void;
121
+ ngOnDestroy(): void;
122
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatetimeRangeComponent, never>;
123
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatetimeRangeComponent, "yuv-datetime-range", never, { "withTimeInput": { "alias": "withTime"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "operator": { "alias": "operator"; "required": false; "isSignal": true; }; "situation": { "alias": "situation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
124
+ }
125
+
61
126
  declare class DatetimeComponent extends AbstractMatFormField<Date | null> implements ControlValueAccessor, OnInit {
62
127
  #private;
63
128
  private translate;
@@ -95,103 +160,73 @@ declare class DatetimeComponent extends AbstractMatFormField<Date | null> implem
95
160
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatetimeComponent, "yuv-datetime", never, { "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "onlyFutureDates": { "alias": "onlyFutureDates"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "withTime": { "alias": "withTime"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
96
161
  }
97
162
 
98
- declare class DatetimeRangeComponent extends AbstractMatFormField<RangeValue<Date | string>> implements ControlValueAccessor, OnInit, OnDestroy {
163
+ declare class DynamicCatalogComponent extends AbstractMatFormField<string | string[]> implements ControlValueAccessor, OnInit, OnDestroy {
99
164
  #private;
165
+ catalog: _angular_core.InputSignal<string>;
166
+ readonly: _angular_core.InputSignal<boolean>;
167
+ multiple: _angular_core.InputSignal<boolean>;
168
+ options: _angular_core.WritableSignal<{
169
+ value: string;
170
+ label: string;
171
+ }[] | undefined>;
100
172
  /**
101
- * Enables setting time as well (default: false)
102
- */
103
- withTimeInput: _angular_core.InputSignal<boolean>;
104
- withTime: _angular_core.WritableSignal<boolean>;
105
- /**
106
- * Will prevent the input from being changed (default: false)
173
+ * Possibles values are `EDIT` (default),`SEARCH`,`CREATE`. In search situation
174
+ * validation of the form element will be turned off, so you are able to enter
175
+ * search terms that do not meet the elements validators.
107
176
  */
108
- readonly: _angular_core.InputSignal<boolean>;
109
- operator: _angular_core.InputSignal<Operator>;
110
177
  situation: _angular_core.InputSignal<string | undefined>;
111
- private _isValid;
112
178
  ngControl: _angular_forms.NgControl | null;
113
- availableSearchOptions: {
114
- label: string;
115
- value: Operator;
116
- }[];
117
- rangeForm: FormGroup<{
118
- dateValue: FormControl<string | Date | undefined>;
119
- operator: FormControl<Operator>;
120
- dateValueFrom: FormControl<string | Date | undefined>;
121
- }>;
122
- propagateChange: (_: any) => void;
123
- writeValue(value?: RangeValue<Date | string>): void;
124
- registerOnChange(fn: any): void;
125
- registerOnTouched(fn: any): void;
179
+ readonly ctrl: FormControl<string | string[] | null | undefined>;
180
+ constructor();
181
+ propagateChange: (fnc: any) => void;
182
+ writeValue(value: string | string[]): void;
183
+ registerOnChange(fnc: any): void;
184
+ registerOnTouched(): void;
185
+ setDisabledState(isDisabled: boolean): void;
126
186
  ngOnInit(): void;
127
187
  ngOnDestroy(): void;
128
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatetimeRangeComponent, never>;
129
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatetimeRangeComponent, "yuv-datetime-range", never, { "withTimeInput": { "alias": "withTime"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "operator": { "alias": "operator"; "required": false; "isSignal": true; }; "situation": { "alias": "situation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
188
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicCatalogComponent, never>;
189
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicCatalogComponent, "yuv-dynamic-catalog", never, { "catalog": { "alias": "catalog"; "required": true; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "situation": { "alias": "situation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
130
190
  }
131
191
 
132
192
  /**
133
- * Creates form input for number values.
134
- *
135
- * Implements `ControlValueAccessor` so it can be used within Angular forms.
136
- *
137
- * @example
138
- * <yuv-number [scale]="2"></yuv-number>
139
- *
193
+ * Form element for selecting one or multiple i18n catalog values.
194
+ * Having a classification of `i18n:catalog[one, two, three]` configured on the metadata field
195
+ * will automatically populate the options from the catalog. The options will be translated
196
+ * using the catalogs static values adding a prefix, the property name an the value itself.
197
+ * E.g. for property name `status` and option value `open` the label key will be `catalog:status:open_label`.
140
198
  */
141
- declare class NumberComponent extends AbstractMatFormField<number> implements ControlValueAccessor, OnInit, OnDestroy {
199
+ declare class I18nCatalogComponent extends AbstractMatFormField<string | string[]> implements ControlValueAccessor, OnInit, OnDestroy {
142
200
  #private;
143
- readonly translate: TranslateService;
144
- validationErrors: ValidationErrors[];
145
- transformPipe: LocaleNumberPipe | FileSizePipe;
146
- innerCtrl: FormControl<string | null>;
147
- ngControl: _angular_forms.NgControl | null;
148
- /**
149
- * Number of decimal places
150
- */
151
- scale: _angular_core.InputSignal<number | undefined>;
152
- /**
153
- * Overall amount of digits allowed (including decimal places)
154
- */
155
- precision: _angular_core.InputSignal<number | undefined>;
156
- /**
157
- * Set to true to group number by pattern
158
- */
159
- grouping: _angular_core.InputSignal<boolean>;
160
- /**
161
- * The pattern to group number value by
162
- */
163
- groupPattern: _angular_core.InputSignal<string | undefined>;
164
- /**
165
- * Will prevent the input from being changed (default: false)
166
- */
201
+ private readonly translate;
167
202
  readonly: _angular_core.InputSignal<boolean>;
203
+ multiple: _angular_core.InputSignal<boolean>;
204
+ propertyName: _angular_core.InputSignal<string | undefined>;
205
+ _options: _angular_core.WritableSignal<{
206
+ label: string;
207
+ value: string;
208
+ }[]>;
209
+ options: _angular_core.InputSignal<string[]>;
168
210
  /**
169
- * set minimum input value
170
- */
171
- minValue: _angular_core.InputSignal<number | undefined>;
172
- /**
173
- * set maximum input value
174
- *
211
+ * Additional semantics for the form element.
175
212
  */
176
- maxValue: _angular_core.InputSignal<number | undefined>;
213
+ classifications: _angular_core.InputSignal<string[]>;
177
214
  /**
178
- * classification property adds some semantics to the value of this component.
179
- * If you provide a value of `filesize` numbers typed into the control will be
180
- * handled like file sizes (calculates differnt units)
215
+ * Possibles values are `EDIT` (default),`SEARCH`,`CREATE`. In search situation validation of the form element will be turned off, so you are able to enter search terms that do not meet the elements validators.
181
216
  */
182
- classifications: _angular_core.InputSignal<string[]>;
183
- static betweenTwoNumbers(val: number, minVal: number | undefined, maxVal: number | undefined): boolean;
217
+ situation: _angular_core.InputSignal<string | undefined>;
218
+ ngControl: _angular_forms.NgControl | null;
219
+ readonly fc: FormControl<string | string[] | null | undefined>;
220
+ constructor();
184
221
  propagateChange: (_: any) => void;
185
- writeValue(value: any): void;
222
+ writeValue(value: string | string[]): void;
186
223
  registerOnChange(fn: any): void;
187
- registerOnTouched(): void;
224
+ registerOnTouched(fn: any): void;
188
225
  setDisabledState?(isDisabled: boolean): void;
189
- format(): void;
190
- unformat(): void;
191
226
  ngOnInit(): void;
192
227
  ngOnDestroy(): void;
193
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<NumberComponent, never>;
194
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<NumberComponent, "yuv-number", never, { "scale": { "alias": "scale"; "required": false; "isSignal": true; }; "precision": { "alias": "precision"; "required": false; "isSignal": true; }; "grouping": { "alias": "grouping"; "required": false; "isSignal": true; }; "groupPattern": { "alias": "groupPattern"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "minValue": { "alias": "minValue"; "required": false; "isSignal": true; }; "maxValue": { "alias": "maxValue"; "required": false; "isSignal": true; }; "classifications": { "alias": "classifications"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
228
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<I18nCatalogComponent, never>;
229
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<I18nCatalogComponent, "yuv-i18n-catalog", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "propertyName": { "alias": "propertyName"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "classifications": { "alias": "classifications"; "required": false; "isSignal": true; }; "situation": { "alias": "situation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
195
230
  }
196
231
 
197
232
  /**
@@ -263,64 +298,69 @@ declare class NumberRangeComponent extends AbstractMatFormField<RangeValue> impl
263
298
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NumberRangeComponent, "yuv-number-range", never, { "scale": { "alias": "scale"; "required": false; "isSignal": true; }; "precision": { "alias": "precision"; "required": false; "isSignal": true; }; "grouping": { "alias": "grouping"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "classifications": { "alias": "classifications"; "required": false; "isSignal": true; }; "minValue": { "alias": "minValue"; "required": false; "isSignal": true; }; "maxValue": { "alias": "maxValue"; "required": false; "isSignal": true; }; "situation": { "alias": "situation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
264
299
  }
265
300
 
266
- type OrganizationNode = OrganizationSetEntry & {
267
- notFound?: boolean;
268
- };
269
- type FormControlValue = string | {
270
- id: string;
271
- title: string;
272
- };
273
301
  /**
274
- * Creates form input for organization values.
302
+ * Creates form input for number values.
303
+ *
304
+ * Implements `ControlValueAccessor` so it can be used within Angular forms.
275
305
  *
276
306
  * @example
277
- * <yuv-organization [multiselect]="true"></yuv-organization>
307
+ * <yuv-number [scale]="2"></yuv-number>
308
+ *
278
309
  */
279
- declare class OrganizationComponent extends AbstractMatFormField<FormControlValue | FormControlValue[] | undefined> implements ControlValueAccessor, OnInit, OnDestroy {
310
+ declare class NumberComponent extends AbstractMatFormField<number> implements ControlValueAccessor, OnInit, OnDestroy {
280
311
  #private;
281
312
  readonly translate: TranslateService;
282
- minLength: number;
283
- busy: _angular_core.WritableSignal<boolean>;
284
- acFormControl: FormControl<AutocompleteItem<unknown> | AutocompleteItem<unknown>[] | null | undefined>;
313
+ validationErrors: ValidationErrors[];
314
+ transformPipe: LocaleNumberPipe | FileSizePipe;
315
+ innerCtrl: FormControl<string | null>;
285
316
  ngControl: _angular_forms.NgControl | null;
286
- _innerValue: OrganizationNode[];
287
- set innerValue(iv: OrganizationNode[]);
288
- get innerValue(): OrganizationNode[];
289
- autocompleteRes: AutocompleteItem[];
290
317
  /**
291
- * Possibles values are `EDIT` (default),`SEARCH`,`CREATE`. In search situation validation of the form element will be turned off, so you are able to enter search terms that do not meet the elements validators.
318
+ * Number of decimal places
292
319
  */
293
- situation: _angular_core.InputSignal<string | undefined>;
320
+ scale: _angular_core.InputSignal<number | undefined>;
294
321
  /**
295
- * Indicator that multiple strings could be inserted, they will be rendered as chips (default: false).
322
+ * Overall amount of digits allowed (including decimal places)
296
323
  */
297
- multiselect: _angular_core.InputSignal<boolean>;
298
- classifications: _angular_core.InputSignal<string[] | undefined>;
324
+ precision: _angular_core.InputSignal<number | undefined>;
325
+ /**
326
+ * Set to true to group number by pattern
327
+ */
328
+ grouping: _angular_core.InputSignal<boolean>;
329
+ /**
330
+ * The pattern to group number value by
331
+ */
332
+ groupPattern: _angular_core.InputSignal<string | undefined>;
299
333
  /**
300
334
  * Will prevent the input from being changed (default: false)
301
335
  */
302
336
  readonly: _angular_core.InputSignal<boolean>;
303
337
  /**
304
- * Whether or not to exclude the current user from autocomplete result
338
+ * set minimum input value
305
339
  */
306
- excludeMe: _angular_core.InputSignal<boolean>;
340
+ minValue: _angular_core.InputSignal<number | undefined>;
307
341
  /**
308
- * Whether or not the emitted value should be an object containing id and title
309
- * or, if set to false only the ID
342
+ * set maximum input value
343
+ *
310
344
  */
311
- withMetadata: _angular_core.InputSignal<boolean>;
345
+ maxValue: _angular_core.InputSignal<number | undefined>;
346
+ /**
347
+ * classification property adds some semantics to the value of this component.
348
+ * If you provide a value of `filesize` numbers typed into the control will be
349
+ * handled like file sizes (calculates differnt units)
350
+ */
351
+ classifications: _angular_core.InputSignal<string[]>;
352
+ static betweenTwoNumbers(val: number, minVal: number | undefined, maxVal: number | undefined): boolean;
312
353
  propagateChange: (_: any) => void;
313
- writeValue(value: string | string[]): void;
354
+ writeValue(value: any): void;
314
355
  registerOnChange(fn: any): void;
315
- registerOnTouched(fn: any): void;
316
- private propagate;
356
+ registerOnTouched(): void;
317
357
  setDisabledState?(isDisabled: boolean): void;
318
- resolveFn(value: string[]): void;
319
- autocompleteFn(query: string): void;
358
+ format(): void;
359
+ unformat(): void;
320
360
  ngOnInit(): void;
321
361
  ngOnDestroy(): void;
322
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationComponent, never>;
323
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationComponent, "yuv-organization", never, { "situation": { "alias": "situation"; "required": false; "isSignal": true; }; "multiselect": { "alias": "multiselect"; "required": false; "isSignal": true; }; "classifications": { "alias": "classifications"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "excludeMe": { "alias": "excludeMe"; "required": false; "isSignal": true; }; "withMetadata": { "alias": "withMetadata"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
362
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NumberComponent, never>;
363
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NumberComponent, "yuv-number", never, { "scale": { "alias": "scale"; "required": false; "isSignal": true; }; "precision": { "alias": "precision"; "required": false; "isSignal": true; }; "grouping": { "alias": "grouping"; "required": false; "isSignal": true; }; "groupPattern": { "alias": "groupPattern"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "minValue": { "alias": "minValue"; "required": false; "isSignal": true; }; "maxValue": { "alias": "maxValue"; "required": false; "isSignal": true; }; "classifications": { "alias": "classifications"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
324
364
  }
325
365
 
326
366
  /**
@@ -379,6 +419,66 @@ declare class OrganizationSetComponent extends AbstractMatFormField<string | str
379
419
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationSetComponent, "yuv-organization-set", never, { "situation": { "alias": "situation"; "required": false; "isSignal": true; }; "multiselect": { "alias": "multiselect"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "withMetadata": { "alias": "withMetadata"; "required": false; "isSignal": true; }; "autocompleteMinLength": { "alias": "autocompleteMinLength"; "required": false; "isSignal": true; }; "classifications": { "alias": "classifications"; "required": false; "isSignal": true; }; "types": { "alias": "types"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
380
420
  }
381
421
 
422
+ type OrganizationNode = OrganizationSetEntry & {
423
+ notFound?: boolean;
424
+ };
425
+ type FormControlValue = string | {
426
+ id: string;
427
+ title: string;
428
+ };
429
+ /**
430
+ * Creates form input for organization values.
431
+ *
432
+ * @example
433
+ * <yuv-organization [multiselect]="true"></yuv-organization>
434
+ */
435
+ declare class OrganizationComponent extends AbstractMatFormField<FormControlValue | FormControlValue[] | undefined> implements ControlValueAccessor, OnInit, OnDestroy {
436
+ #private;
437
+ readonly translate: TranslateService;
438
+ minLength: number;
439
+ busy: _angular_core.WritableSignal<boolean>;
440
+ acFormControl: FormControl<AutocompleteItem<unknown> | AutocompleteItem<unknown>[] | null | undefined>;
441
+ ngControl: _angular_forms.NgControl | null;
442
+ _innerValue: OrganizationNode[];
443
+ set innerValue(iv: OrganizationNode[]);
444
+ get innerValue(): OrganizationNode[];
445
+ autocompleteRes: AutocompleteItem[];
446
+ /**
447
+ * Possibles values are `EDIT` (default),`SEARCH`,`CREATE`. In search situation validation of the form element will be turned off, so you are able to enter search terms that do not meet the elements validators.
448
+ */
449
+ situation: _angular_core.InputSignal<string | undefined>;
450
+ /**
451
+ * Indicator that multiple strings could be inserted, they will be rendered as chips (default: false).
452
+ */
453
+ multiselect: _angular_core.InputSignal<boolean>;
454
+ classifications: _angular_core.InputSignal<string[] | undefined>;
455
+ /**
456
+ * Will prevent the input from being changed (default: false)
457
+ */
458
+ readonly: _angular_core.InputSignal<boolean>;
459
+ /**
460
+ * Whether or not to exclude the current user from autocomplete result
461
+ */
462
+ excludeMe: _angular_core.InputSignal<boolean>;
463
+ /**
464
+ * Whether or not the emitted value should be an object containing id and title
465
+ * or, if set to false only the ID
466
+ */
467
+ withMetadata: _angular_core.InputSignal<boolean>;
468
+ propagateChange: (_: any) => void;
469
+ writeValue(value: string | string[]): void;
470
+ registerOnChange(fn: any): void;
471
+ registerOnTouched(fn: any): void;
472
+ private propagate;
473
+ setDisabledState?(isDisabled: boolean): void;
474
+ resolveFn(value: string[]): void;
475
+ autocompleteFn(query: string): void;
476
+ ngOnInit(): void;
477
+ ngOnDestroy(): void;
478
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationComponent, never>;
479
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationComponent, "yuv-organization", never, { "situation": { "alias": "situation"; "required": false; "isSignal": true; }; "multiselect": { "alias": "multiselect"; "required": false; "isSignal": true; }; "classifications": { "alias": "classifications"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "excludeMe": { "alias": "excludeMe"; "required": false; "isSignal": true; }; "withMetadata": { "alias": "withMetadata"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
480
+ }
481
+
382
482
  interface RangeSelectDateValue {
383
483
  rangeValue: RangeValue;
384
484
  label?: string;
@@ -545,83 +645,12 @@ declare class StringComponent extends AbstractMatFormField<string | string[] | u
545
645
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<StringComponent, "yuv-string", never, { "multiselect": { "alias": "multiselect"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "classifications": { "alias": "classifications"; "required": false; }; "situation": { "alias": "situation"; "required": false; "isSignal": true; }; "regex": { "alias": "regex"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
546
646
  }
547
647
 
548
- declare class CatalogComponent extends AbstractMatFormField<string | string[]> implements ControlValueAccessor, OnInit, OnDestroy {
549
- #private;
550
- private readonly translate;
551
- readonly: _angular_core.InputSignal<boolean>;
552
- multiple: _angular_core.InputSignal<boolean>;
553
- _options: _angular_core.WritableSignal<{
554
- label: string;
555
- value: string;
556
- }[]>;
557
- options: _angular_core.InputSignal<string[]>;
558
- /**
559
- * Additional semantics for the form element.
560
- */
561
- classifications: _angular_core.InputSignal<string[]>;
562
- /**
563
- * Possibles values are `EDIT` (default),`SEARCH`,`CREATE`. In search situation validation of the form element will be turned off, so you are able to enter search terms that do not meet the elements validators.
564
- */
565
- situation: _angular_core.InputSignal<string | undefined>;
566
- ngControl: _angular_forms.NgControl | null;
567
- readonly fc: FormControl<string | string[] | null | undefined>;
568
- propagateChange: (_: any) => void;
569
- writeValue(value: string | string[]): void;
570
- registerOnChange(fn: any): void;
571
- registerOnTouched(fn: any): void;
572
- setDisabledState?(isDisabled: boolean): void;
573
- ngOnInit(): void;
574
- ngOnDestroy(): void;
575
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<CatalogComponent, never>;
576
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CatalogComponent, "yuv-catalog", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "classifications": { "alias": "classifications"; "required": false; "isSignal": true; }; "situation": { "alias": "situation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
577
- }
578
-
579
- /**
580
- * Form element for selecting one or multiple i18n catalog values.
581
- * Having a classification of `i18n:catalog[one, two, three]` configured on the metadata field
582
- * will automatically populate the options from the catalog. The options will be translated
583
- * using the catalogs static values adding a prefix, the property name an the value itself.
584
- * E.g. for property name `status` and option value `open` the label key will be `catalog:status:open_label`.
585
- */
586
- declare class I18nCatalogComponent extends AbstractMatFormField<string | string[]> implements ControlValueAccessor, OnInit, OnDestroy {
587
- #private;
588
- private readonly translate;
589
- readonly: _angular_core.InputSignal<boolean>;
590
- multiple: _angular_core.InputSignal<boolean>;
591
- propertyName: _angular_core.InputSignal<string | undefined>;
592
- _options: _angular_core.WritableSignal<{
593
- label: string;
594
- value: string;
595
- }[]>;
596
- options: _angular_core.InputSignal<string[]>;
597
- /**
598
- * Additional semantics for the form element.
599
- */
600
- classifications: _angular_core.InputSignal<string[]>;
601
- /**
602
- * Possibles values are `EDIT` (default),`SEARCH`,`CREATE`. In search situation validation of the form element will be turned off, so you are able to enter search terms that do not meet the elements validators.
603
- */
604
- situation: _angular_core.InputSignal<string | undefined>;
605
- ngControl: _angular_forms.NgControl | null;
606
- readonly fc: FormControl<string | string[] | null | undefined>;
607
- constructor();
608
- propagateChange: (_: any) => void;
609
- writeValue(value: string | string[]): void;
610
- registerOnChange(fn: any): void;
611
- registerOnTouched(fn: any): void;
612
- setDisabledState?(isDisabled: boolean): void;
613
- ngOnInit(): void;
614
- ngOnDestroy(): void;
615
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<I18nCatalogComponent, never>;
616
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<I18nCatalogComponent, "yuv-i18n-catalog", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "propertyName": { "alias": "propertyName"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "classifications": { "alias": "classifications"; "required": false; "isSignal": true; }; "situation": { "alias": "situation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
617
- }
618
-
619
648
  /**
620
649
  * Module for the forms library.
621
650
  */
622
651
  declare class YuvFormsModule {
623
652
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuvFormsModule, never>;
624
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<YuvFormsModule, never, [typeof StringComponent, typeof NumberComponent, typeof NumberRangeComponent, typeof DatetimeComponent, typeof DatetimeRangeComponent, typeof OrganizationComponent, typeof StringComponent, typeof CatalogComponent, typeof I18nCatalogComponent], [typeof StringComponent, typeof NumberComponent, typeof NumberRangeComponent, typeof DatetimeComponent, typeof DatetimeRangeComponent, typeof OrganizationComponent, typeof StringComponent, typeof CatalogComponent, typeof I18nCatalogComponent]>;
653
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<YuvFormsModule, never, [typeof StringComponent, typeof NumberComponent, typeof NumberRangeComponent, typeof DatetimeComponent, typeof DatetimeRangeComponent, typeof OrganizationComponent, typeof StringComponent, typeof CatalogComponent, typeof DynamicCatalogComponent, typeof I18nCatalogComponent], [typeof StringComponent, typeof NumberComponent, typeof NumberRangeComponent, typeof DatetimeComponent, typeof DatetimeRangeComponent, typeof OrganizationComponent, typeof StringComponent, typeof CatalogComponent, typeof DynamicCatalogComponent, typeof I18nCatalogComponent]>;
625
654
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<YuvFormsModule>;
626
655
  }
627
656
 
@@ -629,5 +658,5 @@ declare class FormUtils {
629
658
  static getErrorState(control: AbstractControl): boolean;
630
659
  }
631
660
 
632
- export { CatalogComponent, DataGridComponent, DatetimeComponent, DatetimeRangeComponent, FormUtils, I18nCatalogComponent, NumberComponent, NumberRangeComponent, OrganizationComponent, OrganizationSetComponent, RangeSelectDateComponent, RangeSelectFilesizeComponent, StringComponent, YuvFormsModule };
661
+ export { CatalogComponent, DataGridComponent, DatetimeComponent, DatetimeRangeComponent, DynamicCatalogComponent, FormUtils, I18nCatalogComponent, NumberComponent, NumberRangeComponent, OrganizationComponent, OrganizationSetComponent, RangeSelectDateComponent, RangeSelectFilesizeComponent, StringComponent, YuvFormsModule };
633
662
  export type { RangeSelectDateValue, RangeSelectFilesizeValue };