@yuuvis/client-components 3.0.0-beta.21.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 (47) hide show
  1. package/README.md +3 -0
  2. package/autocomplete/README.md +3 -0
  3. package/common/README.md +3 -0
  4. package/datepicker/README.md +3 -0
  5. package/fesm2022/yuuvis-client-components-autocomplete.mjs +236 -0
  6. package/fesm2022/yuuvis-client-components-autocomplete.mjs.map +1 -0
  7. package/fesm2022/yuuvis-client-components-common.mjs +1724 -0
  8. package/fesm2022/yuuvis-client-components-common.mjs.map +1 -0
  9. package/fesm2022/yuuvis-client-components-datepicker.mjs +456 -0
  10. package/fesm2022/yuuvis-client-components-datepicker.mjs.map +1 -0
  11. package/fesm2022/yuuvis-client-components-list.mjs +666 -0
  12. package/fesm2022/yuuvis-client-components-list.mjs.map +1 -0
  13. package/fesm2022/yuuvis-client-components-master-details.mjs +136 -0
  14. package/fesm2022/yuuvis-client-components-master-details.mjs.map +1 -0
  15. package/fesm2022/yuuvis-client-components-overflow-hidden.mjs +109 -0
  16. package/fesm2022/yuuvis-client-components-overflow-hidden.mjs.map +1 -0
  17. package/fesm2022/yuuvis-client-components-overflow-menu.mjs +171 -0
  18. package/fesm2022/yuuvis-client-components-overflow-menu.mjs.map +1 -0
  19. package/fesm2022/yuuvis-client-components-popout.mjs +240 -0
  20. package/fesm2022/yuuvis-client-components-popout.mjs.map +1 -0
  21. package/fesm2022/yuuvis-client-components-split-view.mjs +317 -0
  22. package/fesm2022/yuuvis-client-components-split-view.mjs.map +1 -0
  23. package/fesm2022/yuuvis-client-components-widget-grid.mjs +933 -0
  24. package/fesm2022/yuuvis-client-components-widget-grid.mjs.map +1 -0
  25. package/fesm2022/yuuvis-client-components.mjs +18 -0
  26. package/fesm2022/yuuvis-client-components.mjs.map +1 -0
  27. package/lib/assets/i18n/de.json +56 -0
  28. package/lib/assets/i18n/en.json +56 -0
  29. package/list/README.md +3 -0
  30. package/master-details/README.md +3 -0
  31. package/overflow-hidden/README.md +3 -0
  32. package/overflow-menu/README.md +3 -0
  33. package/package.json +67 -0
  34. package/popout/README.md +3 -0
  35. package/split-view/README.md +3 -0
  36. package/types/yuuvis-client-components-autocomplete.d.ts +89 -0
  37. package/types/yuuvis-client-components-common.d.ts +536 -0
  38. package/types/yuuvis-client-components-datepicker.d.ts +94 -0
  39. package/types/yuuvis-client-components-list.d.ts +380 -0
  40. package/types/yuuvis-client-components-master-details.d.ts +69 -0
  41. package/types/yuuvis-client-components-overflow-hidden.d.ts +72 -0
  42. package/types/yuuvis-client-components-overflow-menu.d.ts +89 -0
  43. package/types/yuuvis-client-components-popout.d.ts +106 -0
  44. package/types/yuuvis-client-components-split-view.d.ts +197 -0
  45. package/types/yuuvis-client-components-widget-grid.d.ts +299 -0
  46. package/types/yuuvis-client-components.d.ts +8 -0
  47. package/widget-grid/README.md +48 -0
@@ -0,0 +1,536 @@
1
+ import * as i0 from '@angular/core';
2
+ import { OnInit, OnDestroy, ElementRef, AfterViewInit, InjectionToken, EnvironmentProviders } from '@angular/core';
3
+ import { ControlValueAccessor, NgControl } from '@angular/forms';
4
+ import { BooleanInput } from '@angular/cdk/coercion';
5
+ import { MatFormFieldControl } from '@angular/material/form-field';
6
+ import { Subject, Observable } from 'rxjs';
7
+ import { DmsObject, RetentionState } from '@yuuvis/client-core';
8
+
9
+ interface BusyOverlayConfig {
10
+ backdropColor?: string;
11
+ blur?: boolean;
12
+ }
13
+
14
+ /**
15
+ * A directive that will overlay its host component with a translucent background
16
+ * and a loading spinner once the condition resolves with true. This is useful for example to
17
+ * prevent user interaction while component data is loading or some processing is done.
18
+ *
19
+ * It'll also prevent the overlaid element from being interacted with.
20
+ *
21
+ * ```html
22
+ * <div class="data-panel" [yuvBusyOverlay]="isLoadingData">...</div>
23
+ * ```
24
+ * Setting a `yuvBusyError` will replace the loading spinner by the provided error message.
25
+ * You need to keep the `yuvBusyOverlay` condition true to show the error.
26
+ * The error element rendered has a dismiss/close action that trigger the `yuvBusyErrorDismiss`
27
+ * output event, that you then can use to set the busy condition to false.
28
+ *
29
+ * ```html
30
+ * <div class="result-list"
31
+ * [yuvBusyOverlay]="waitingForServerResponse"
32
+ * (yuvBusyErrorDismiss)="waitingForServerResponse = false"
33
+ * [yuvBusyError]="errorMessage">
34
+ * ...
35
+ * </div>
36
+ * ```
37
+ *
38
+ * ```ts
39
+ * // in your component code
40
+ * this.waitingForServerResponse = true;
41
+ * fetchData().subscribe({
42
+ * next: (data) => {
43
+ * ...
44
+ * this.waitingForServerResponse = false;
45
+ * }
46
+ * error: (err) => {
47
+ * this.errorMessage = 'Failed to load data from server: ' + err.message;
48
+ * }
49
+ * });
50
+ * ```
51
+ *
52
+ */
53
+ declare class BusyOverlayDirective implements OnInit, OnDestroy {
54
+ #private;
55
+ stylePosition: i0.WritableSignal<string>;
56
+ /**
57
+ * The Boolean expression to evaluate as the condition for showing the busy overlay
58
+ */
59
+ yuvBusyOverlay: i0.InputSignal<boolean>;
60
+ /**
61
+ * Configuration options for the busy overlay. These include
62
+ * e.g. backdrops background color and whether to blur the
63
+ * overlaid content.
64
+ */
65
+ yuvBusyOverlayConfig: i0.InputSignal<BusyOverlayConfig | undefined>;
66
+ /**
67
+ * Error message to display in the overlay. If set, the loading spinner is replaced by the error message.
68
+ */
69
+ yuvBusyError: i0.InputSignal<string | undefined>;
70
+ /**
71
+ * Event emitted when the error message's dismiss action is triggered.
72
+ */
73
+ yuvBusyErrorDismiss: i0.OutputEmitterRef<void>;
74
+ ngOnInit(): void;
75
+ ngOnDestroy(): void;
76
+ static ɵfac: i0.ɵɵFactoryDeclaration<BusyOverlayDirective, never>;
77
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BusyOverlayDirective, "[yuvBusyOverlay]", never, { "yuvBusyOverlay": { "alias": "yuvBusyOverlay"; "required": false; "isSignal": true; }; "yuvBusyOverlayConfig": { "alias": "yuvBusyOverlayConfig"; "required": false; "isSignal": true; }; "yuvBusyError": { "alias": "yuvBusyError"; "required": false; "isSignal": true; }; }, { "yuvBusyErrorDismiss": "yuvBusyErrorDismiss"; }, never, never, true, never>;
78
+ }
79
+
80
+ /**
81
+ * Directive keeping track of the focus beeing within a component. Once the component or
82
+ * any of its child components gain focus, a class of `focusWithin` will be set on the
83
+ * host component in order to allow styling it while beeing focused. Furthermore you can
84
+ * register callbacks once the component gets or looses focus.
85
+ *
86
+ * @example
87
+ * // just set the css class
88
+ * <some-component yuvFocusWithin></some-component>
89
+ * // set the css class and listen to focus changes
90
+ * <some-component (yuvFocusWithin)="onFocusEnter()" (yuvFocusWithinBlur)="onFocusLeave()"></some-component>
91
+ */
92
+ declare class FocusWithinDirective {
93
+ private elRef;
94
+ private eventCount;
95
+ hasFocusWithin: boolean;
96
+ onFocusIn(evt: FocusEvent): void;
97
+ onFocusOut(evt: FocusEvent): void;
98
+ /**
99
+ * Emitted once the component or any of its child components gains focus.
100
+ */
101
+ readonly yuvFocusWithin: i0.OutputEmitterRef<void>;
102
+ /**
103
+ * Emitted once the component (incl. any of its child components) looses focus.
104
+ */
105
+ readonly yuvFocusWithinBlur: i0.OutputEmitterRef<void>;
106
+ /**
107
+ * @ignore
108
+ */
109
+ constructor(elRef: ElementRef);
110
+ private matchesFocusWithin;
111
+ static ɵfac: i0.ɵɵFactoryDeclaration<FocusWithinDirective, never>;
112
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FocusWithinDirective, "[yuvFocusWithin]", never, {}, { "yuvFocusWithin": "yuvFocusWithin"; "yuvFocusWithinBlur": "yuvFocusWithinBlur"; }, never, never, true, never>;
113
+ }
114
+
115
+ interface FileDropZoneOptions {
116
+ label?: string;
117
+ coverStyles?: Record<string, string>;
118
+ coverLabelStyles?: Record<string, string>;
119
+ }
120
+
121
+ declare class FileDropZoneDirective {
122
+ #private;
123
+ active: i0.Signal<boolean>;
124
+ yuvFileDropZone: i0.InputSignal<FileDropZoneOptions | undefined>;
125
+ fileDropDisabled: i0.InputSignal<boolean>;
126
+ fileDrop: i0.OutputEmitterRef<File[]>;
127
+ fileDropOver: i0.OutputEmitterRef<boolean>;
128
+ onDrop(event: DragEvent): void;
129
+ onDragOver(event: DragEvent): void;
130
+ onDragLeave(event: DragEvent): void;
131
+ onBodyDragOver(event: DragEvent): void;
132
+ onBodyDrop(event: DragEvent): void;
133
+ static ɵfac: i0.ɵɵFactoryDeclaration<FileDropZoneDirective, never>;
134
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FileDropZoneDirective, "[yuvFileDropZone]", never, { "yuvFileDropZone": { "alias": "yuvFileDropZone"; "required": false; "isSignal": true; }; "fileDropDisabled": { "alias": "fileDropDisabled"; "required": false; "isSignal": true; }; }, { "fileDrop": "fileDrop"; "fileDropOver": "fileDropOver"; }, never, never, true, never>;
135
+ }
136
+
137
+ /**
138
+ * Fixes the issue of 'click' event beeing triggered on 'doubleclick' by defining new outputs that
139
+ * distinguish between single and double click.
140
+ */
141
+ declare class ClickDoubleDirective {
142
+ readonly debounceTime: i0.InputSignal<number>;
143
+ readonly doubleClick: i0.OutputEmitterRef<MouseEvent>;
144
+ readonly singleClick: i0.OutputEmitterRef<MouseEvent>;
145
+ private clicksSubject;
146
+ constructor();
147
+ clickEvent(event: MouseEvent): void;
148
+ doubleClickEvent(event: MouseEvent): void;
149
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClickDoubleDirective, never>;
150
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClickDoubleDirective, "[click.single],[click.double]", never, { "debounceTime": { "alias": "debounceTime"; "required": false; "isSignal": true; }; }, { "doubleClick": "click.double"; "singleClick": "click.single"; }, never, never, true, never>;
151
+ }
152
+
153
+ /**
154
+ * Directive for applying light dismiss actions. Adding this directive will trigger
155
+ * the given function when the user clicks outside the component or hits escape.
156
+ *
157
+ * ```ts
158
+ * <div class="notifications" (yuvLightDismiss)="close()">
159
+ * ...
160
+ * </div>
161
+ * ```
162
+ */
163
+ declare class LightDismissDirective {
164
+ private elRef;
165
+ onKeydownHandler(event: KeyboardEvent | Event): void;
166
+ onMousedown(event: MouseEvent): void;
167
+ yuvLightDismiss: i0.OutputEmitterRef<void>;
168
+ static ɵfac: i0.ɵɵFactoryDeclaration<LightDismissDirective, never>;
169
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LightDismissDirective, "[yuvLightDismiss]", never, {}, { "yuvLightDismiss": "yuvLightDismiss"; }, never, never, true, never>;
170
+ }
171
+
172
+ /**
173
+ * Directive to watch the size of an element inside the DOM. Usefull for example to provide
174
+ * a different layout (different components) depending on the available screen estate. You
175
+ * should first try to use CSS container queries but somtimes you need a different set of
176
+ * components to be loaded for a certain component size.
177
+ *
178
+ * Let's say you have components designed for bigger screens. You do not want to load them
179
+ * if there is not enough space for them. So you rather load components that are designed to
180
+ * take less space by providing the best user experience on smaller devices.
181
+ *
182
+ * ```html
183
+ * <div yuvContainerSize (containerHeight)="onContainerResize($event)" (containerWidth)="onContainerResize($event)"></div>
184
+ * ```
185
+ *
186
+ */
187
+ declare class ContainerSizeDirective implements OnDestroy {
188
+ private elRef;
189
+ private ngZone;
190
+ containerHeight: i0.OutputEmitterRef<number>;
191
+ containerWidth: i0.OutputEmitterRef<number>;
192
+ private _size?;
193
+ private _resizeObserver;
194
+ constructor();
195
+ private _emit;
196
+ ngOnDestroy(): void;
197
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContainerSizeDirective, never>;
198
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ContainerSizeDirective, "[yuvContainerSize]", never, {}, { "containerHeight": "containerHeight"; "containerWidth": "containerWidth"; }, never, never, true, never>;
199
+ }
200
+
201
+ declare class LongPressDirective {
202
+ private elRef;
203
+ threshold: number;
204
+ yuvLongPress: i0.InputSignal<LongPressDirectiveOptions>;
205
+ longpress: i0.OutputEmitterRef<void>;
206
+ constructor();
207
+ static ɵfac: i0.ɵɵFactoryDeclaration<LongPressDirective, never>;
208
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LongPressDirective, "[yuvLongPress]", never, { "yuvLongPress": { "alias": "yuvLongPress"; "required": false; "isSignal": true; }; }, { "longpress": "longpress"; }, never, never, true, never>;
209
+ }
210
+ interface LongPressDirectiveOptions {
211
+ enabled: boolean;
212
+ }
213
+
214
+ interface DragSelectOptions {
215
+ disabled?: boolean;
216
+ selectorColor?: string;
217
+ }
218
+ declare class DragSelectDirective {
219
+ #private;
220
+ onPointerDown(event: PointerEvent): void;
221
+ items: i0.Signal<readonly DragSelectItemDirective[]>;
222
+ yuvDragSelect: i0.InputSignal<DragSelectOptions | undefined>;
223
+ dragSelectChange: i0.OutputEmitterRef<number[]>;
224
+ dragSelect: i0.OutputEmitterRef<number[]>;
225
+ static ɵfac: i0.ɵɵFactoryDeclaration<DragSelectDirective, never>;
226
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DragSelectDirective, "[yuvDragSelect]", never, { "yuvDragSelect": { "alias": "yuvDragSelect"; "required": false; "isSignal": true; }; }, { "dragSelectChange": "dragSelectChange"; "dragSelect": "dragSelect"; }, ["items"], never, true, never>;
227
+ }
228
+ declare class DragSelectItemDirective {
229
+ #private;
230
+ el: HTMLElement;
231
+ static ɵfac: i0.ɵɵFactoryDeclaration<DragSelectItemDirective, never>;
232
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DragSelectItemDirective, "[yuvDragSelectItem]", never, {}, {}, never, never, true, never>;
233
+ }
234
+
235
+ /**
236
+ * Directive for adding drag scroll behaviour to a container element. Elements that overlow will then
237
+ * be 'scrollable' by dragging the list of children.
238
+ *
239
+ * @example
240
+ * <div yuvDragScroll>
241
+ * <div class="tile">#1</div>
242
+ * <div class="tile">#2</div>
243
+ * <div class="tile">#3</div>
244
+ * ...
245
+ * </div>
246
+ */
247
+ declare class DragScrollDirective implements AfterViewInit {
248
+ #private;
249
+ ngAfterViewInit(): void;
250
+ static ɵfac: i0.ɵɵFactoryDeclaration<DragScrollDirective, never>;
251
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DragScrollDirective, "[yuvDragScroll]", never, {}, {}, never, never, true, never>;
252
+ }
253
+
254
+ declare class NoopValueAccessorDirective implements ControlValueAccessor {
255
+ writeValue(obj: any): void;
256
+ registerOnChange(fn: any): void;
257
+ registerOnTouched(fn: any): void;
258
+ static ɵfac: i0.ɵɵFactoryDeclaration<NoopValueAccessorDirective, never>;
259
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NoopValueAccessorDirective, never, never, {}, {}, never, never, true, never>;
260
+ }
261
+ declare function injectNgControl(cva?: ControlValueAccessor): NgControl | null;
262
+
263
+ /**
264
+ * Directive putting focus on a 'focusable' child element.
265
+ * By default the first focusable child will receive focus.
266
+ */
267
+ declare class AutofocusChildDirective implements AfterViewInit {
268
+ #private;
269
+ set yuvAutofocusChild(s: string);
270
+ ngAfterViewInit(): void;
271
+ static ɵfac: i0.ɵɵFactoryDeclaration<AutofocusChildDirective, never>;
272
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AutofocusChildDirective, "[yuvAutofocusChild]", never, { "yuvAutofocusChild": { "alias": "yuvAutofocusChild"; "required": false; }; }, {}, never, never, true, never>;
273
+ }
274
+
275
+ /**
276
+ * Directive putting delayed focus on an element. If no
277
+ * delay is set, the focus will be set immediately.
278
+ *
279
+ * You have to ensure that the element is focusable when adding this directive to it.
280
+ */
281
+ declare class AutofocusDelayedDirective implements AfterViewInit {
282
+ #private;
283
+ /**
284
+ * Sets the delay in milliseconds. If no delay is set, the focus will be set immediately.
285
+ */
286
+ yuvAutofocusDelayed: i0.InputSignal<string | number>;
287
+ ngAfterViewInit(): void;
288
+ static ɵfac: i0.ɵɵFactoryDeclaration<AutofocusDelayedDirective, never>;
289
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AutofocusDelayedDirective, "[yuvAutofocusDelayed]", never, { "yuvAutofocusDelayed": { "alias": "yuvAutofocusDelayed"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
290
+ }
291
+
292
+ /**
293
+ * Directive that adds left/right scroll buttons around the host element when its content overflows horizontally.
294
+ * The directive restructures the DOM by wrapping the host inside a scroll container with navigation buttons.
295
+ *
296
+ * @example
297
+ * <mat-chip-grid yuvScrollButtons>...</mat-chip-grid>
298
+ *
299
+ * @example
300
+ * <div yuvScrollButtons [yuvScrollButtonsAmount]="200">...</div>
301
+ */
302
+ declare class ScrollButtonsDirective {
303
+ #private;
304
+ private readonly translate;
305
+ /** How many pixels to scroll per button click. */
306
+ yuvScrollButtonsAmount: i0.InputSignal<number>;
307
+ constructor();
308
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScrollButtonsDirective, never>;
309
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollButtonsDirective, "[yuvScrollButtons]", never, { "yuvScrollButtonsAmount": { "alias": "yuvScrollButtonsAmount"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
310
+ }
311
+
312
+ type LevelType = 'success' | 'warning' | 'error' | 'info' | 'default';
313
+ interface ConfirmOverlayData {
314
+ title?: string;
315
+ message: string;
316
+ confirmLabel?: string;
317
+ cancelLabel?: string;
318
+ hideCancelButton?: boolean;
319
+ level?: Extract<LevelType, 'default' | 'info' | 'warning'>;
320
+ }
321
+
322
+ declare class ConfirmComponent {
323
+ readonly dialogData: ConfirmOverlayData;
324
+ buttonType: i0.Signal<"danger" | "primary">;
325
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmComponent, never>;
326
+ static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmComponent, "yuv-confirm", never, {}, {}, never, never, true, never>;
327
+ }
328
+
329
+ /**
330
+ * Wrapper component that adds left/right scroll buttons when its content overflows horizontally.
331
+ * Buttons appear only when there is overflow in the respective direction.
332
+ *
333
+ * @example
334
+ * <yuv-scroll-buttons>
335
+ * <mat-chip-grid>...</mat-chip-grid>
336
+ * </yuv-scroll-buttons>
337
+ */
338
+ declare class ScrollButtonsComponent {
339
+ #private;
340
+ scrollContainer: i0.Signal<ElementRef<HTMLElement>>;
341
+ /** How many pixels to scroll per button click. */
342
+ scrollAmount: i0.InputSignal<number>;
343
+ showLeftButton: i0.WritableSignal<boolean>;
344
+ showRightButton: i0.WritableSignal<boolean>;
345
+ constructor();
346
+ onScroll(): void;
347
+ scrollLeft(): void;
348
+ scrollRight(): void;
349
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScrollButtonsComponent, never>;
350
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScrollButtonsComponent, "yuv-scroll-buttons", never, { "scrollAmount": { "alias": "scrollAmount"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
351
+ }
352
+
353
+ declare class YuvCommonModule {
354
+ static ɵfac: i0.ɵɵFactoryDeclaration<YuvCommonModule, never>;
355
+ static ɵmod: i0.ɵɵNgModuleDeclaration<YuvCommonModule, never, [typeof BusyOverlayDirective, typeof FocusWithinDirective, typeof FileDropZoneDirective, typeof ClickDoubleDirective, typeof LightDismissDirective, typeof ContainerSizeDirective, typeof LongPressDirective, typeof DragSelectDirective, typeof DragScrollDirective, typeof NoopValueAccessorDirective, typeof AutofocusChildDirective, typeof AutofocusDelayedDirective, typeof ScrollButtonsDirective, typeof ConfirmComponent, typeof ScrollButtonsComponent], [typeof BusyOverlayDirective, typeof FocusWithinDirective, typeof FileDropZoneDirective, typeof ClickDoubleDirective, typeof LightDismissDirective, typeof ContainerSizeDirective, typeof LongPressDirective, typeof DragSelectDirective, typeof DragScrollDirective, typeof NoopValueAccessorDirective, typeof AutofocusChildDirective, typeof AutofocusDelayedDirective, typeof ScrollButtonsDirective, typeof ConfirmComponent, typeof ScrollButtonsComponent]>;
356
+ static ɵinj: i0.ɵɵInjectorDeclaration<YuvCommonModule>;
357
+ }
358
+
359
+ declare function getFocusableChildren(element: HTMLElement): HTMLElement[];
360
+ declare function getFirstFocusableChild(element: HTMLElement): HTMLElement;
361
+
362
+ type LayoutMode = 'light' | 'dark' | 'system';
363
+
364
+ /**
365
+ * Service to store and retrieve layout settings. Those
366
+ * settings are stored on the users device because in
367
+ * general layout settings like panel widths are highly
368
+ * dependent on the current device.
369
+ */
370
+ declare class LayoutSettingsService {
371
+ #private;
372
+ DEFAULT_SPLIT_VIEW_GUTTER_SIZE: number;
373
+ /**
374
+ * @deprecated Use `ThemeService.mode` instead.
375
+ */
376
+ themeMode: i0.WritableSignal<LayoutMode>;
377
+ /**
378
+ * @deprecated Use `ThemeService.mode` instead.
379
+ */
380
+ mode: i0.Signal<LayoutMode>;
381
+ /**
382
+ * @deprecated Theme initialization is now handled by `ThemeService` internally.
383
+ */
384
+ init(): void;
385
+ /**
386
+ * @deprecated Use `ThemeService.toggleTheme()` instead.
387
+ */
388
+ setMode(mode: LayoutMode): void;
389
+ saveSettings(key: string, settings: unknown): boolean;
390
+ getSettings(key: string): unknown | undefined;
391
+ /**
392
+ * Clears all layout settings.
393
+ */
394
+ clearSettings(): void;
395
+ /**
396
+ * @deprecated Use `ThemeService.toggleTheme()` instead.
397
+ */
398
+ applyLayoutMode(mode?: LayoutMode): void;
399
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayoutSettingsService, never>;
400
+ static ɵprov: i0.ɵɵInjectableDeclaration<LayoutSettingsService>;
401
+ }
402
+
403
+ /**
404
+ * Providing an error message when a translation string for an object wasn't found
405
+ */
406
+ declare class FormTranslateService {
407
+ private translate;
408
+ /**
409
+ * Set the error label if a translation for this string wasn't provided
410
+ * @param error - error message about a missed translation key
411
+ * @param params
412
+ */
413
+ getErrorLabel(error: string, params?: any): any;
414
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormTranslateService, never>;
415
+ static ɵprov: i0.ɵɵInjectableDeclaration<FormTranslateService>;
416
+ }
417
+
418
+ type Mode = 'light' | 'dark';
419
+ interface CustomThemeSettings {
420
+ key: string;
421
+ label: string;
422
+ description: string;
423
+ hasDarkTheme?: boolean;
424
+ hasLightTheme?: boolean;
425
+ }
426
+ declare enum ThemeStorageKeys {
427
+ THEME_MODE = "yuv.theme:app.theme.mode",
428
+ CUSTOM_THEME = "yuv.theme:app.theme.custom"
429
+ }
430
+ declare const DEFAULT_THEME_KEY = "yuv-default";
431
+ declare const DEFAULT_THEME: CustomThemeSettings;
432
+ declare const HIGH_CONTRAST_THEME_KEY = "yuv-high-contrast";
433
+ declare const HIGH_CONTRAST_THEME: CustomThemeSettings;
434
+
435
+ declare class ThemeService {
436
+ #private;
437
+ mode: i0.Signal<Mode>;
438
+ customTheme: i0.WritableSignal<CustomThemeSettings>;
439
+ customThemes: i0.Signal<CustomThemeSettings[]>;
440
+ currentTheme: i0.Signal<string>;
441
+ disableMode: i0.Signal<boolean>;
442
+ constructor();
443
+ setMode(mode: Mode): void;
444
+ setCustomTheme(key: string): void;
445
+ toggleTheme(theme: Mode): void;
446
+ static ɵfac: i0.ɵɵFactoryDeclaration<ThemeService, never>;
447
+ static ɵprov: i0.ɵɵInjectableDeclaration<ThemeService>;
448
+ }
449
+
450
+ declare const YUV_CUSTOM_THEME: InjectionToken<CustomThemeSettings[]>;
451
+ declare const provideYuvCustomTheme: (customTheme: CustomThemeSettings[]) => EnvironmentProviders;
452
+
453
+ declare abstract class AbstractMatFormField<T> implements MatFormFieldControl<T> {
454
+ #private;
455
+ stateChanges: Subject<void>;
456
+ protected elRef: ElementRef<any>;
457
+ onFocusIn(): void;
458
+ onFocusout(): void;
459
+ set value(v: T | null);
460
+ get value(): T | null;
461
+ set id(v: string);
462
+ get id(): string;
463
+ set placeholder(v: string);
464
+ get placeholder(): string;
465
+ ngControl: NgControl | null;
466
+ set focused(f: boolean);
467
+ get focused(): boolean;
468
+ get shouldLabelFloat(): boolean;
469
+ set empty(f: boolean);
470
+ get empty(): boolean;
471
+ set required(f: BooleanInput);
472
+ get required(): boolean;
473
+ set disabled(f: BooleanInput);
474
+ get disabled(): boolean;
475
+ protected focusHandled: i0.WritableSignal<boolean>;
476
+ set errorState(f: BooleanInput);
477
+ get errorState(): boolean;
478
+ readonly controlType?: string;
479
+ readonly autofilled?: boolean;
480
+ readonly userAriaDescribedBy?: string;
481
+ readonly disableAutomaticLabeling?: boolean;
482
+ setDescribedByIds(ids: string[]): void;
483
+ onContainerClick(event: MouseEvent): void;
484
+ onNgOnDestroy(): void;
485
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbstractMatFormField<any>, never>;
486
+ static ɵcmp: i0.ɵɵComponentDeclaration<AbstractMatFormField<any>, "ng-component", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
487
+ }
488
+
489
+ declare class DialogComponent {
490
+ headertitle: i0.InputSignal<string | null>;
491
+ /**
492
+ * @deprecated use headertitle instead
493
+ */
494
+ headertitel: i0.InputSignal<string | null>;
495
+ static ɵfac: i0.ɵɵFactoryDeclaration<DialogComponent, never>;
496
+ static ɵcmp: i0.ɵɵComponentDeclaration<DialogComponent, "yuv-dialog", never, { "headertitle": { "alias": "headertitle"; "required": false; "isSignal": true; }; "headertitel": { "alias": "headertitel"; "required": false; "isSignal": true; }; }, {}, never, ["main", "footer"], true, never>;
497
+ }
498
+
499
+ declare enum DialogSize {
500
+ SMALL = "small",
501
+ MEDIUM = "medium",
502
+ LARGE = "large",
503
+ EXTRA_LARGE = "extra-large",
504
+ FULL_SCREEN = "full-screen"
505
+ }
506
+
507
+ declare class RetentionBadgeComponent {
508
+ #private;
509
+ dmsObject: i0.InputSignal<DmsObject>;
510
+ retentionData: i0.Signal<RetentionState>;
511
+ static ɵfac: i0.ɵɵFactoryDeclaration<RetentionBadgeComponent, never>;
512
+ static ɵcmp: i0.ɵɵComponentDeclaration<RetentionBadgeComponent, "yuv-retention-badge", never, { "dmsObject": { "alias": "dmsObject"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
513
+ }
514
+
515
+ declare class ConfirmService {
516
+ #private;
517
+ confirm(data: ConfirmOverlayData): Observable<boolean>;
518
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmService, never>;
519
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConfirmService>;
520
+ }
521
+
522
+ declare class BusyOverlayComponent {
523
+ config: i0.InputSignal<BusyOverlayConfig | undefined>;
524
+ error: i0.InputSignal<string | undefined>;
525
+ errorDismiss: i0.OutputEmitterRef<void>;
526
+ static ɵfac: i0.ɵɵFactoryDeclaration<BusyOverlayComponent, never>;
527
+ static ɵcmp: i0.ɵɵComponentDeclaration<BusyOverlayComponent, "yuv-busy-overlay", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; }, { "errorDismiss": "errorDismiss"; }, never, never, true, never>;
528
+ }
529
+
530
+ declare class HaloFocusComponent {
531
+ static ɵfac: i0.ɵɵFactoryDeclaration<HaloFocusComponent, never>;
532
+ static ɵcmp: i0.ɵɵComponentDeclaration<HaloFocusComponent, "yuv-halo-focus", never, {}, {}, never, never, true, never>;
533
+ }
534
+
535
+ export { AbstractMatFormField, AutofocusChildDirective, AutofocusDelayedDirective, BusyOverlayComponent, BusyOverlayDirective, ClickDoubleDirective, ConfirmComponent, ConfirmService, ContainerSizeDirective, DEFAULT_THEME, DEFAULT_THEME_KEY, DialogComponent, DialogSize, DragScrollDirective, DragSelectDirective, DragSelectItemDirective, FileDropZoneDirective, FocusWithinDirective, FormTranslateService, HIGH_CONTRAST_THEME, HIGH_CONTRAST_THEME_KEY, HaloFocusComponent, LayoutSettingsService, LightDismissDirective, LongPressDirective, NoopValueAccessorDirective, RetentionBadgeComponent, ScrollButtonsComponent, ScrollButtonsDirective, ThemeService, ThemeStorageKeys, YUV_CUSTOM_THEME, YuvCommonModule, getFirstFocusableChild, getFocusableChildren, injectNgControl, provideYuvCustomTheme };
536
+ export type { ConfirmOverlayData, CustomThemeSettings, DragSelectOptions, LayoutMode, LevelType, LongPressDirectiveOptions, Mode };
@@ -0,0 +1,94 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ElementRef } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
5
+
6
+ declare class DatepickerModule {
7
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatepickerModule, never>;
8
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<DatepickerModule, never, [typeof i1.CommonModule], never>;
9
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<DatepickerModule>;
10
+ }
11
+
12
+ interface CalendarDay {
13
+ date: Date;
14
+ dayNumber: number;
15
+ dateIso: string;
16
+ isToday: boolean;
17
+ isSelected: boolean;
18
+ isOutsideMonth: boolean;
19
+ isDisabled: boolean;
20
+ isFocusTarget: boolean;
21
+ fullLabel: string;
22
+ }
23
+ interface WeekdayHeader {
24
+ narrow: string;
25
+ long: string;
26
+ }
27
+
28
+ declare class CalendarComponent {
29
+ private readonly localeService;
30
+ private readonly elementRef;
31
+ private readonly cdr;
32
+ readonly selectedDate: _angular_core.InputSignal<Date | null>;
33
+ readonly initialFocusDate: _angular_core.InputSignal<Date>;
34
+ readonly min: _angular_core.InputSignal<Date | null>;
35
+ readonly dateSelected: _angular_core.OutputEmitterRef<Date>;
36
+ readonly closeRequested: _angular_core.OutputEmitterRef<void>;
37
+ protected readonly gridLabelId: string;
38
+ protected readonly focusedDate: _angular_core.WritableSignal<Date>;
39
+ protected readonly weekdayHeaders: WeekdayHeader[];
40
+ protected readonly monthYearLabel: _angular_core.Signal<string>;
41
+ protected readonly weeks: _angular_core.Signal<CalendarDay[][]>;
42
+ constructor();
43
+ focusActiveCell(): void;
44
+ protected selectDate(day: CalendarDay): void;
45
+ protected navigateMonth(delta: number): void;
46
+ protected navigateYear(delta: number): void;
47
+ protected onGridKeydown(event: KeyboardEvent): void;
48
+ private generateWeeks;
49
+ private isBeforeMin;
50
+ private moveFocusClamped;
51
+ private addDays;
52
+ private startOfWeek;
53
+ private endOfWeek;
54
+ private moveFocusMonth;
55
+ private moveFocusYear;
56
+ private isSameDay;
57
+ private toIsoString;
58
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CalendarComponent, never>;
59
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CalendarComponent, "yuv-calendar", never, { "selectedDate": { "alias": "selectedDate"; "required": false; "isSignal": true; }; "initialFocusDate": { "alias": "initialFocusDate"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; }, { "dateSelected": "dateSelected"; "closeRequested": "closeRequested"; }, never, never, true, never>;
60
+ }
61
+
62
+ declare class DatepickerComponent implements ControlValueAccessor, Validator {
63
+ private readonly localeService;
64
+ readonly label: _angular_core.InputSignal<string>;
65
+ readonly min: _angular_core.InputSignal<Date | null>;
66
+ protected readonly selectedDate: _angular_core.WritableSignal<Date | null>;
67
+ protected readonly inputValue: _angular_core.WritableSignal<string>;
68
+ protected readonly disabled: _angular_core.WritableSignal<boolean>;
69
+ private readonly uid;
70
+ protected readonly inputId: string;
71
+ protected readonly descriptionId: string;
72
+ protected readonly calendarDialog: _angular_core.Signal<ElementRef<HTMLDialogElement>>;
73
+ protected readonly triggerButton: _angular_core.Signal<ElementRef<HTMLButtonElement>>;
74
+ protected readonly calendarRef: _angular_core.Signal<CalendarComponent>;
75
+ protected readonly dateFormatPlaceholder: string;
76
+ protected readonly chooseButtonAriaLabel: _angular_core.Signal<string>;
77
+ protected readonly initialFocusDate: _angular_core.Signal<Date>;
78
+ private onChange;
79
+ protected onTouched: () => void;
80
+ writeValue(value: Date | null): void;
81
+ registerOnChange(fn: (value: Date | null) => void): void;
82
+ registerOnTouched(fn: () => void): void;
83
+ setDisabledState(isDisabled: boolean): void;
84
+ validate(_control: AbstractControl): ValidationErrors | null;
85
+ protected onManualInput(event: Event): void;
86
+ protected toggleDialog(): void;
87
+ protected onDateSelected(date: Date): void;
88
+ protected onDialogClose(): void;
89
+ protected onDialogBackdropClick(event: MouseEvent): void;
90
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatepickerComponent, never>;
91
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatepickerComponent, "yuv-datepicker", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
92
+ }
93
+
94
+ export { DatepickerComponent, DatepickerModule };