yukit-web 0.3.4 → 0.5.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.
- package/.npm/_cacache/content-v2/sha512/{ed/40/013f2c5093e74e2dda819bec22bdbb0db4105c7f213c0328c35ad4731bb22cbfbff72e3b1f06288ea530093c3cb91d9220631f0c9cd0822f3b426de2e217 → 12/b2/45271ab4776eed53a96bb88c93b6347ee7509ad0c3fa78204e7d5a93b2c01630d945bddedf05169c6ba568cf82dc60ac2846fabe107bfeaac1d6810ecd32} +1 -1
- package/.npm/_cacache/index-v5/64/dc/73c7a26f2e6eb0c711133d96c247da5ecf0eba708cd37c450a7b3c7cb488 +1 -1
- package/.npm/_logs/{2026-10-13T14_50_09_756Z-debug-0.log → 2026-10-15T07_02_08_999Z-debug-0.log} +10 -10
- package/.npm/_logs/{2026-10-13T14_50_10_359Z-debug-0.log → 2026-10-15T07_02_09_460Z-debug-0.log} +2 -2
- package/fesm2022/yukit-web.mjs +3159 -2207
- package/fesm2022/yukit-web.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/theme/components/button-group.css +5 -0
- package/types/yukit-web.d.ts +1076 -424
package/types/yukit-web.d.ts
CHANGED
|
@@ -3,33 +3,34 @@ import * as _angular_core from '@angular/core';
|
|
|
3
3
|
import { ModelSignal, Type, Provider, InputSignal, InputSignalWithTransform, TemplateRef, WritableSignal, Signal, OnInit, ElementRef } from '@angular/core';
|
|
4
4
|
import { ControlValueAccessor } from '@angular/forms';
|
|
5
5
|
import { SortingState, PaginationState, columnFilteringFeature, columnVisibilityFeature, rowPaginationFeature, rowSelectionFeature, rowSortingFeature, RowData, ColumnDef, ColumnFiltersState, ColumnVisibilityState, RowSelectionState } from '@tanstack/table-core';
|
|
6
|
+
import * as i1 from '@spartan-ng/brain/combobox';
|
|
6
7
|
import { ButtonVariants } from 'yukit-web/helm/button';
|
|
7
|
-
import * as i1 from 'yukit-web/helm/badge';
|
|
8
|
+
import * as i1$1 from 'yukit-web/helm/badge';
|
|
8
9
|
import * as yukit_web from 'yukit-web';
|
|
9
10
|
import { HlmAccordion, HlmAccordionItem } from 'yukit-web/helm/accordion';
|
|
10
11
|
import { HlmLabel } from 'yukit-web/helm/label';
|
|
11
|
-
import * as i1$
|
|
12
|
-
import * as i1$
|
|
13
|
-
import * as i1$
|
|
14
|
-
import * as i1$
|
|
12
|
+
import * as i1$2 from 'yukit-web/helm/skeleton';
|
|
13
|
+
import * as i1$3 from 'yukit-web/helm/card';
|
|
14
|
+
import * as i1$4 from 'yukit-web/helm/empty';
|
|
15
|
+
import * as i1$5 from 'yukit-web/helm/context-menu';
|
|
15
16
|
import * as i2 from 'yukit-web/helm/dropdown-menu';
|
|
16
|
-
import * as i1$
|
|
17
|
+
import * as i1$6 from 'yukit-web/helm/table';
|
|
17
18
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
18
19
|
import * as _tanstack_angular_table from '@tanstack/angular-table';
|
|
19
|
-
import * as i1$
|
|
20
|
+
import * as i1$7 from 'yukit-web/helm/item';
|
|
20
21
|
import { HlmItemSeparator } from 'yukit-web/helm/item';
|
|
21
|
-
import * as i1$
|
|
22
|
-
import * as i1$
|
|
23
|
-
import * as i1$
|
|
22
|
+
import * as i1$8 from '@spartan-ng/brain/sheet';
|
|
23
|
+
import * as i1$9 from '@spartan-ng/brain/popover';
|
|
24
|
+
import * as i1$a from '@spartan-ng/brain/tooltip';
|
|
24
25
|
import { ToastOptions } from '@spartan-ng/brain/sonner';
|
|
25
26
|
export { toast as yuwToast } from '@spartan-ng/brain/sonner';
|
|
26
|
-
import * as i1$
|
|
27
|
+
import * as i1$b from '@spartan-ng/brain/dialog';
|
|
27
28
|
import { BrnDialogState } from '@spartan-ng/brain/dialog';
|
|
28
|
-
import * as i1$
|
|
29
|
-
import * as i1$
|
|
29
|
+
import * as i1$c from '@spartan-ng/brain/alert-dialog';
|
|
30
|
+
import * as i1$d from 'yukit-web/helm/attachment';
|
|
30
31
|
import { HlmAttachmentAction } from 'yukit-web/helm/attachment';
|
|
31
32
|
import { RouterLink } from '@angular/router';
|
|
32
|
-
import * as i1$
|
|
33
|
+
import * as i1$e from 'yukit-web/helm/sidebar';
|
|
33
34
|
export { HlmSidebarConfig as YuwSidebarConfigDto, HlmSidebarService as YuwSidebarService, SidebarVariant as YuwSidebarServiceVariantDto, provideHlmSidebarConfig as provideYuwSidebarConfig } from 'yukit-web/helm/sidebar';
|
|
34
35
|
import { CommandFilter } from '@spartan-ng/brain/command';
|
|
35
36
|
|
|
@@ -77,6 +78,95 @@ declare class YuwClassDirective {
|
|
|
77
78
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwClassDirective, "[yuwClass]", never, { "yuwClass": { "alias": "yuwClass"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
78
79
|
}
|
|
79
80
|
|
|
81
|
+
/** Scroll axes the mouse-scroll directives drag along. */
|
|
82
|
+
type YuwScrollAxisDto = 'x' | 'y';
|
|
83
|
+
/**
|
|
84
|
+
* Click-and-drag scrolling for a mouse along one axis, shared by `yuwMouseScrollX` and `yuwMouseScrollY`.
|
|
85
|
+
* Touch and pen input are left to the browser's native scrolling, and nothing happens while the host
|
|
86
|
+
* does not overflow along the axis.
|
|
87
|
+
*
|
|
88
|
+
* Pressing the primary button and moving past `DRAG_THRESHOLD_PX` scrolls the host with the pointer,
|
|
89
|
+
* captured so it keeps following outside the host. The click that ends a drag is swallowed in the
|
|
90
|
+
* capture phase, so the control under the pointer is not activated; a shorter press is a normal click.
|
|
91
|
+
* The pointer is only captured once the drag starts, so a press that leaves the host before then is
|
|
92
|
+
* released outside unseen: it is dropped on the next move that arrives with the button up, and never
|
|
93
|
+
* turns into a drag the user is no longer holding.
|
|
94
|
+
* While dragging the host gets `data-dragging`, a `grabbing` cursor and no text selection.
|
|
95
|
+
*
|
|
96
|
+
* Built to cost nothing while idle, since it sits inside data-heavy views: every listener is a native one
|
|
97
|
+
* registered outside Angular, so no event ever schedules change detection, and the drag state lives in
|
|
98
|
+
* plain fields written straight to the DOM instead of signals bound to the host. At rest the host only
|
|
99
|
+
* listens to `pointerdown` (plus `wheel` in `yuwMouseScrollX`); the move, release and `dragstart`
|
|
100
|
+
* listeners exist only during a press, and the click-swallowing one only between a drag and its click.
|
|
101
|
+
* Each group hangs off an `AbortController`, so ending a press or destroying the directive drops it at once.
|
|
102
|
+
*
|
|
103
|
+
* Subclasses provide `_axis`, the axis they scroll along, and register extra host listeners with `_listen`.
|
|
104
|
+
*/
|
|
105
|
+
declare abstract class YuwMouseDragScrollBase {
|
|
106
|
+
protected readonly _element: HTMLElement;
|
|
107
|
+
private readonly _zone;
|
|
108
|
+
protected abstract readonly _axis: YuwScrollAxisDto;
|
|
109
|
+
private _clickGuard;
|
|
110
|
+
private _dragging;
|
|
111
|
+
private readonly _lifetime;
|
|
112
|
+
private readonly _onPointerDown;
|
|
113
|
+
private readonly _onPointerEnd;
|
|
114
|
+
private readonly _onPointerMove;
|
|
115
|
+
private _press;
|
|
116
|
+
constructor();
|
|
117
|
+
/** Adds a native host listener outside Angular, removed when the directive is destroyed. */
|
|
118
|
+
protected _listen<K extends keyof HTMLElementEventMap>(type: K, listener: (event: HTMLElementEventMap[K]) => void, options?: AddEventListenerOptions): void;
|
|
119
|
+
private _endPress;
|
|
120
|
+
/**
|
|
121
|
+
* Swallows the click a drag ends with. The listener is dropped after that click, or on the next press
|
|
122
|
+
* when the release produced none.
|
|
123
|
+
*/
|
|
124
|
+
private _guardNextClick;
|
|
125
|
+
private _setDragging;
|
|
126
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwMouseDragScrollBase, never>;
|
|
127
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwMouseDragScrollBase, never, never, {}, {}, never, never, true, never>;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Lets a mouse scroll a horizontally overflowing element, which otherwise only a touch swipe, a trackpad
|
|
132
|
+
* or Shift+wheel can move.
|
|
133
|
+
*
|
|
134
|
+
* - Wheel: a mostly vertical step scrolls sideways while the element can still move that way; at either
|
|
135
|
+
* end, or when nothing overflows, the event is left alone so the page keeps scrolling. Horizontal input
|
|
136
|
+
* (trackpads, tilt wheels) and Ctrl+wheel zoom pass through untouched.
|
|
137
|
+
* - Drag: click and drag scrolls sideways, as described in `YuwMouseDragScrollBase`.
|
|
138
|
+
*
|
|
139
|
+
* The wheel listener is native, registered outside Angular and non-passive, since it must be able to
|
|
140
|
+
* `preventDefault`; it only reads four numbers before returning, so it never delays the page's scrolling.
|
|
141
|
+
*
|
|
142
|
+
* Usage:
|
|
143
|
+
* ```html
|
|
144
|
+
* <div class="overflow-x-auto" yuwMouseScrollX>...</div>
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
declare class YuwMouseScrollXDirective extends YuwMouseDragScrollBase {
|
|
148
|
+
protected readonly _axis = "x";
|
|
149
|
+
private readonly _onWheel;
|
|
150
|
+
constructor();
|
|
151
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwMouseScrollXDirective, never>;
|
|
152
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwMouseScrollXDirective, "[yuwMouseScrollX]", never, {}, {}, never, never, true, never>;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Lets a mouse scroll a vertically overflowing element by click and drag, as described in
|
|
157
|
+
* `YuwMouseDragScrollBase`. The wheel already scrolls vertically, so it is left to the browser.
|
|
158
|
+
*
|
|
159
|
+
* Usage:
|
|
160
|
+
* ```html
|
|
161
|
+
* <div class="overflow-y-auto" yuwMouseScrollY>...</div>
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
declare class YuwMouseScrollYDirective extends YuwMouseDragScrollBase {
|
|
165
|
+
protected readonly _axis = "y";
|
|
166
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwMouseScrollYDirective, never>;
|
|
167
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwMouseScrollYDirective, "[yuwMouseScrollY]", never, {}, {}, never, never, true, never>;
|
|
168
|
+
}
|
|
169
|
+
|
|
80
170
|
/**
|
|
81
171
|
* Registers a component as a form control, so `formControlName`/`formControl`/`ngModel` bind to it.
|
|
82
172
|
*
|
|
@@ -235,6 +325,8 @@ interface YuwComboboxOptionDto<TData = unknown> {
|
|
|
235
325
|
data?: TData;
|
|
236
326
|
}
|
|
237
327
|
|
|
328
|
+
type YuwColorDto = 'primary' | 'secondary' | 'neutral' | 'destructive' | 'success' | 'warning' | 'info' | 'muted' | 'violet' | 'orange' | 'pink' | 'teal';
|
|
329
|
+
|
|
238
330
|
/** The `let-` context of a `*yuwComboboxItem` template. `$implicit` is the option itself, so
|
|
239
331
|
* `let-option` works; `selected` is passed alongside because an item that renders its own
|
|
240
332
|
* markup loses the default check glyph and often needs to show that state some other way. */
|
|
@@ -268,6 +360,49 @@ declare class YuwComboboxItemDirective<TData = unknown> {
|
|
|
268
360
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwComboboxItemDirective<any>, "[yuwComboboxItem]", never, { "typeOf": { "alias": "yuwComboboxItemTypeOf"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
269
361
|
}
|
|
270
362
|
|
|
363
|
+
/**
|
|
364
|
+
* The `let-` context of a `yuwComboboxTrigger` template.
|
|
365
|
+
*
|
|
366
|
+
* `$implict`: Labels of the selected options joined with `, `;
|
|
367
|
+
* empty while nothing is selected.
|
|
368
|
+
*
|
|
369
|
+
* `labels`: Labels of the selected options, in selection order.
|
|
370
|
+
*/
|
|
371
|
+
interface YuwComboboxTriggerContext {
|
|
372
|
+
readonly $implicit: string;
|
|
373
|
+
readonly labels: readonly string[];
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* Turns `<yuw-combobox>` into a button that opens its option list directly, with the search field
|
|
377
|
+
* inside the list. The template is the button's content; the button itself is a `<yuw-button>`
|
|
378
|
+
* styled by the combobox `trigger*` inputs.
|
|
379
|
+
*
|
|
380
|
+
* Usage:
|
|
381
|
+
* ```html
|
|
382
|
+
* <yuw-combobox multiple [options]="columns" [(value)]="hidden" triggerAriaLabel="Columns" triggerSize="icon">
|
|
383
|
+
* <ng-template yuwComboboxTrigger let-selected>
|
|
384
|
+
* <ng-icon name="lucideSettings2" />
|
|
385
|
+
* </ng-template>
|
|
386
|
+
* </yuw-combobox>
|
|
387
|
+
* ```
|
|
388
|
+
*/
|
|
389
|
+
declare class YuwComboboxTriggerDirective {
|
|
390
|
+
readonly templateRef: TemplateRef<YuwComboboxTriggerContext>;
|
|
391
|
+
static ngTemplateContextGuard(_directive: YuwComboboxTriggerDirective, _context: unknown): _context is YuwComboboxTriggerContext;
|
|
392
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwComboboxTriggerDirective, never>;
|
|
393
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwComboboxTriggerDirective, "ng-template[yuwComboboxTrigger]", never, {}, {}, never, never, true, never>;
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* Makes a `<yuw-button>` the trigger and anchor of the surrounding brain combobox. The brain
|
|
397
|
+
* trigger's selector only matches a native `button`, so composing the directives here is what lets
|
|
398
|
+
* the combobox reuse `<yuw-button>`; its `inline-flex` host gives the overlay a box to anchor to and
|
|
399
|
+
* receives the click bubbling up from the inner button.
|
|
400
|
+
*/
|
|
401
|
+
declare class YuwComboboxTriggerButtonDirective {
|
|
402
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwComboboxTriggerButtonDirective, never>;
|
|
403
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwComboboxTriggerButtonDirective, "yuw-button[yuwComboboxTriggerButton]", never, {}, {}, never, never, true, [{ directive: typeof i1.BrnComboboxTrigger; inputs: {}; outputs: {}; }, { directive: typeof i1.BrnComboboxAnchor; inputs: {}; outputs: {}; }, { directive: typeof i1.BrnComboboxPopoverTrigger; inputs: {}; outputs: {}; }]>;
|
|
404
|
+
}
|
|
405
|
+
|
|
271
406
|
type YuwComboboxValue = string | string[] | undefined;
|
|
272
407
|
/**
|
|
273
408
|
* Searchable select combobox component supporting single or multiple selections, search filtering, and custom option rendering.
|
|
@@ -297,8 +432,19 @@ type YuwComboboxValue = string | string[] | undefined;
|
|
|
297
432
|
* - `inputId`: HTML `id` for the focusable control (the search input, or the trigger button when
|
|
298
433
|
* `readonlyTrigger` is set), enabling external `<label for="...">` association.
|
|
299
434
|
* - `readonlyTrigger`: Renders control as a button showing selected label, placing search input inside popover.
|
|
435
|
+
* - `triggerColor`, `triggerSize`, `triggerVariant`, `triggerClass`: Look of the button rendered by a
|
|
436
|
+
* projected `yuwComboboxTrigger` template, same vocabulary as `<yuw-popover>`. Defaults are
|
|
437
|
+
* `'neutral'`, `'default'`, `'outline'` and `''`.
|
|
438
|
+
*
|
|
439
|
+
* A projected `<ng-template yuwComboboxTrigger>` replaces the control, in either mode, with a
|
|
440
|
+
* `<yuw-button>` whose content is that template: clicking it opens the option list straight away,
|
|
441
|
+
* with the search field inside it. `triggerAriaLabel` names that button, so pass one that reads well
|
|
442
|
+
* for an icon-only trigger. See `YuwComboboxTriggerDirective`.
|
|
300
443
|
* - `invalid`: Forces invalid styling.
|
|
301
444
|
*
|
|
445
|
+
* Content marked `yuwComboboxFooter` is projected at the bottom of the option list, for actions
|
|
446
|
+
* that belong with it (a "clear all", say); the consumer renders and styles it.
|
|
447
|
+
*
|
|
302
448
|
* `multiple` takes precedence over `readonlyTrigger`: when both are set the multi-select
|
|
303
449
|
* chips shape renders and `readonlyTrigger` is ignored.
|
|
304
450
|
*
|
|
@@ -316,6 +462,7 @@ declare class YuwComboboxComponent<TData = unknown> extends YuwValueAccessorBase
|
|
|
316
462
|
private readonly _panel;
|
|
317
463
|
private readonly _singleBox;
|
|
318
464
|
protected readonly itemTemplate: _angular_core.Signal<YuwComboboxItemDirective<TData> | undefined>;
|
|
465
|
+
protected readonly triggerTemplate: _angular_core.Signal<YuwComboboxTriggerDirective | undefined>;
|
|
319
466
|
readonly clearAriaLabel: _angular_core.InputSignal<string | undefined>;
|
|
320
467
|
readonly emptyText: _angular_core.InputSignal<string | undefined>;
|
|
321
468
|
readonly inputId: _angular_core.InputSignal<string | undefined>;
|
|
@@ -329,16 +476,22 @@ declare class YuwComboboxComponent<TData = unknown> extends YuwValueAccessorBase
|
|
|
329
476
|
readonly searchPlaceholder: _angular_core.InputSignal<string | undefined>;
|
|
330
477
|
readonly size: _angular_core.InputSignal<YuwFieldSizeDto>;
|
|
331
478
|
readonly triggerAriaLabel: _angular_core.InputSignal<string>;
|
|
479
|
+
readonly triggerClass: _angular_core.InputSignal<string>;
|
|
480
|
+
readonly triggerColor: _angular_core.InputSignal<YuwColorDto>;
|
|
481
|
+
readonly triggerSize: _angular_core.InputSignal<"default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined>;
|
|
482
|
+
readonly triggerVariant: _angular_core.InputSignal<"link" | "default" | "secondary" | "destructive" | "outline" | "ghost" | null | undefined>;
|
|
332
483
|
readonly value: _angular_core.ModelSignal<YuwComboboxValue>;
|
|
333
484
|
protected readonly _focusSelectors: string[];
|
|
334
485
|
private readonly _generatedId;
|
|
335
486
|
protected readonly _itemToString: (value: string) => string;
|
|
336
487
|
protected readonly _chipsClass: _angular_core.Signal<string>;
|
|
337
488
|
protected readonly _clearVisible: _angular_core.Signal<boolean>;
|
|
489
|
+
protected readonly _contentClass: _angular_core.Signal<"" | "w-auto min-w-56 max-w-80">;
|
|
338
490
|
protected readonly _controlId: _angular_core.Signal<string>;
|
|
339
491
|
protected readonly _fieldClass: _angular_core.Signal<string>;
|
|
340
492
|
private readonly _labelByValue;
|
|
341
493
|
protected readonly _multipleValue: _angular_core.Signal<string[]>;
|
|
494
|
+
protected readonly _searchInPanel: _angular_core.Signal<boolean>;
|
|
342
495
|
protected readonly _selectedChips: _angular_core.Signal<{
|
|
343
496
|
value: string;
|
|
344
497
|
label: string;
|
|
@@ -346,6 +499,7 @@ declare class YuwComboboxComponent<TData = unknown> extends YuwValueAccessorBase
|
|
|
346
499
|
protected readonly _selectedValues: _angular_core.Signal<Set<string>>;
|
|
347
500
|
protected readonly _singleValue: _angular_core.Signal<string | undefined>;
|
|
348
501
|
protected readonly _triggerClass: _angular_core.Signal<string>;
|
|
502
|
+
protected readonly _triggerContext: _angular_core.Signal<YuwComboboxTriggerContext>;
|
|
349
503
|
close(): void;
|
|
350
504
|
constructor();
|
|
351
505
|
/**
|
|
@@ -365,7 +519,7 @@ declare class YuwComboboxComponent<TData = unknown> extends YuwValueAccessorBase
|
|
|
365
519
|
*/
|
|
366
520
|
private _guardEscape;
|
|
367
521
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwComboboxComponent<any>, never>;
|
|
368
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwComboboxComponent<any>, "yuw-combobox", never, { "clearAriaLabel": { "alias": "clearAriaLabel"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "keepValueOnEscape": { "alias": "keepValueOnEscape"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": true; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonlyTrigger": { "alias": "readonlyTrigger"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "triggerAriaLabel": { "alias": "triggerAriaLabel"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "search": "searchChange"; "value": "valueChange"; }, ["itemTemplate"],
|
|
522
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwComboboxComponent<any>, "yuw-combobox", never, { "clearAriaLabel": { "alias": "clearAriaLabel"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "keepValueOnEscape": { "alias": "keepValueOnEscape"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": true; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonlyTrigger": { "alias": "readonlyTrigger"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "triggerAriaLabel": { "alias": "triggerAriaLabel"; "required": true; "isSignal": true; }; "triggerClass": { "alias": "triggerClass"; "required": false; "isSignal": true; }; "triggerColor": { "alias": "triggerColor"; "required": false; "isSignal": true; }; "triggerSize": { "alias": "triggerSize"; "required": false; "isSignal": true; }; "triggerVariant": { "alias": "triggerVariant"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "search": "searchChange"; "value": "valueChange"; }, ["itemTemplate", "triggerTemplate"], ["[yuwComboboxFooter]"], true, never>;
|
|
369
523
|
}
|
|
370
524
|
|
|
371
525
|
interface YuwPageSort {
|
|
@@ -412,8 +566,6 @@ interface YuwPagedList<Filters> {
|
|
|
412
566
|
*/
|
|
413
567
|
declare function createPagedList<Filters>(options: YuwPagedListOptions<Filters>): YuwPagedList<Filters>;
|
|
414
568
|
|
|
415
|
-
type YuwColorDto = 'primary' | 'secondary' | 'neutral' | 'destructive' | 'success' | 'warning' | 'info' | 'muted' | 'violet' | 'orange' | 'pink' | 'teal';
|
|
416
|
-
|
|
417
569
|
/**
|
|
418
570
|
* A single action button, rendered as a `<button>` or, when `href` is set, an `<a>`.
|
|
419
571
|
*
|
|
@@ -465,7 +617,7 @@ declare class YuwButtonComponent {
|
|
|
465
617
|
readonly size: _angular_core.InputSignal<"default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined>;
|
|
466
618
|
readonly target: _angular_core.InputSignal<string | undefined>;
|
|
467
619
|
readonly transparent: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
468
|
-
readonly type: _angular_core.InputSignal<"
|
|
620
|
+
readonly type: _angular_core.InputSignal<"reset" | "submit" | "button">;
|
|
469
621
|
readonly userClass: _angular_core.InputSignal<string>;
|
|
470
622
|
readonly variant: _angular_core.InputSignal<"link" | "default" | "secondary" | "destructive" | "outline" | "ghost" | null | undefined>;
|
|
471
623
|
readonly yuwDropdownMenuTrigger: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
@@ -602,7 +754,7 @@ declare class YuwButtonGroupComponent {
|
|
|
602
754
|
color: YuwColorDto;
|
|
603
755
|
transparent: boolean;
|
|
604
756
|
disabled: boolean;
|
|
605
|
-
type: "
|
|
757
|
+
type: "reset" | "submit" | "button";
|
|
606
758
|
class: string;
|
|
607
759
|
id: string;
|
|
608
760
|
label?: string;
|
|
@@ -681,7 +833,7 @@ declare class YuwBadgeComponent {
|
|
|
681
833
|
protected readonly removeClass: _angular_core.Signal<string>;
|
|
682
834
|
protected onRemoveClick(event: Event): void;
|
|
683
835
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwBadgeComponent, never>;
|
|
684
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwBadgeComponent, "yuw-badge", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "dot": { "alias": "dot"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, { "removed": "removed"; }, never, ["[yuwBadgeIcon]", "*"], true, [{ directive: typeof i1.HlmBadge; inputs: { "variant": "variant"; }; outputs: {}; }]>;
|
|
836
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwBadgeComponent, "yuw-badge", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "dot": { "alias": "dot"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, { "removed": "removed"; }, never, ["[yuwBadgeIcon]", "*"], true, [{ directive: typeof i1$1.HlmBadge; inputs: { "variant": "variant"; }; outputs: {}; }]>;
|
|
685
837
|
}
|
|
686
838
|
|
|
687
839
|
/** A single crumb in `<yuw-breadcrumb>`'s `items` input. */
|
|
@@ -806,95 +958,6 @@ type YuwPaginationRangeItem = number | 'ellipsis';
|
|
|
806
958
|
*/
|
|
807
959
|
declare function getPaginationRange(page: number, totalPages: number): YuwPaginationRangeItem[];
|
|
808
960
|
|
|
809
|
-
/** Text of the page size selector and its range message. */
|
|
810
|
-
interface YuwPageSizeLabels {
|
|
811
|
-
readonly label: string;
|
|
812
|
-
readonly empty: string;
|
|
813
|
-
readonly range: (range: YuwPageRange) => string;
|
|
814
|
-
}
|
|
815
|
-
/** Text of the standalone pagination footer. */
|
|
816
|
-
interface YuwListPaginationLabels {
|
|
817
|
-
readonly pageSize: YuwPageSizeLabels;
|
|
818
|
-
readonly ariaLabel: string;
|
|
819
|
-
readonly previous: string;
|
|
820
|
-
readonly next: string;
|
|
821
|
-
readonly ellipsis: string;
|
|
822
|
-
}
|
|
823
|
-
|
|
824
|
-
/**
|
|
825
|
-
* Page size selector and range message of a `YuwPagedList`; in a datatable it takes the pagination slot.
|
|
826
|
-
*
|
|
827
|
-
* Inputs:
|
|
828
|
-
* - `disabled`: Disables the page size selector. Default is `false`.
|
|
829
|
-
* - `labels`: Required `YuwPageSizeLabels` with the selector label, the text for an empty list and the function that builds the range message.
|
|
830
|
-
* - `list`: Required `YuwPagedList` whose page size is chosen and whose range is shown in the message.
|
|
831
|
-
*/
|
|
832
|
-
declare class YuwPageSizeComponent {
|
|
833
|
-
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
834
|
-
readonly labels: _angular_core.InputSignal<YuwPageSizeLabels>;
|
|
835
|
-
readonly list: _angular_core.InputSignal<YuwPagedList<unknown>>;
|
|
836
|
-
protected readonly message: _angular_core.Signal<string>;
|
|
837
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwPageSizeComponent, never>;
|
|
838
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwPageSizeComponent, "yuw-page-size", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": true; "isSignal": true; }; "list": { "alias": "list"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
839
|
-
}
|
|
840
|
-
|
|
841
|
-
/**
|
|
842
|
-
* Pagination footer for lists without a datatable: the page size selector with its range message
|
|
843
|
-
* and the page navigation, both driven by one `YuwPagedList`. A disabled `fieldset` blocks its buttons.
|
|
844
|
-
*
|
|
845
|
-
* Inputs:
|
|
846
|
-
* - `disabled`: Disables the page size selector and the page buttons. Default is `false`.
|
|
847
|
-
* - `labels`: Required `YuwListPaginationLabels` with the consumer's text for the page size selector, the navigation aria label and the previous, next and ellipsis texts.
|
|
848
|
-
* - `list`: Required `YuwPagedList` holding the current page, page size, total pages and range; changes made in the footer are written back to it.
|
|
849
|
-
*/
|
|
850
|
-
declare class YuwListPaginationComponent {
|
|
851
|
-
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
852
|
-
readonly labels: _angular_core.InputSignal<YuwListPaginationLabels>;
|
|
853
|
-
readonly list: _angular_core.InputSignal<YuwPagedList<unknown>>;
|
|
854
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwListPaginationComponent, never>;
|
|
855
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwListPaginationComponent, "yuw-list-pagination", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": true; "isSignal": true; }; "list": { "alias": "list"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
856
|
-
}
|
|
857
|
-
|
|
858
|
-
/**
|
|
859
|
-
* Page title, optional description and up to two actions, each rendered when its label is set.
|
|
860
|
-
* On mobile the primary action shows only its icon, or `primaryMobileLabel`. Icons are `@ng-icons`
|
|
861
|
-
* names; the consumer registers any beyond `lucidePlus` with `provideIcons`.
|
|
862
|
-
*
|
|
863
|
-
* Inputs:
|
|
864
|
-
* - `backLabel`: Text of the back button, which renders only when set; on small screens only its arrow shows.
|
|
865
|
-
* - `description`: Optional subtitle under the title.
|
|
866
|
-
* - `primaryDisabled`: Disables the primary action, which stays visible but ignores clicks, e.g. while the list it creates items for is loading.
|
|
867
|
-
* - `primaryIcon`: Icon name shown in the primary action.
|
|
868
|
-
* - `primaryLabel`: Text of the primary action, which renders only when set.
|
|
869
|
-
* - `primaryMobileLabel`: Text the primary action shows on small screens instead of its label.
|
|
870
|
-
* - `secondaryIcon`: Icon name shown in the secondary action.
|
|
871
|
-
* - `secondaryLabel`: Text of the secondary action, which renders only when set; hidden on small screens, leaving its icon.
|
|
872
|
-
* - `title`: Required page title.
|
|
873
|
-
*
|
|
874
|
-
* Outputs:
|
|
875
|
-
* - `backClicked`: Emits the `MouseEvent` of the back button.
|
|
876
|
-
* - `primaryClicked`: Emits the `MouseEvent` of the primary action.
|
|
877
|
-
* - `secondaryClicked`: Emits the `MouseEvent` of the secondary action.
|
|
878
|
-
*/
|
|
879
|
-
declare class YuwPageHeaderComponent {
|
|
880
|
-
readonly backLabel: _angular_core.InputSignal<string | undefined>;
|
|
881
|
-
readonly description: _angular_core.InputSignal<string | undefined>;
|
|
882
|
-
readonly primaryDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
883
|
-
readonly primaryIcon: _angular_core.InputSignal<string | undefined>;
|
|
884
|
-
readonly primaryLabel: _angular_core.InputSignal<string | undefined>;
|
|
885
|
-
readonly primaryMobileLabel: _angular_core.InputSignal<string | undefined>;
|
|
886
|
-
readonly secondaryDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
887
|
-
readonly secondaryIcon: _angular_core.InputSignal<string | undefined>;
|
|
888
|
-
readonly secondaryLabel: _angular_core.InputSignal<string | undefined>;
|
|
889
|
-
readonly title: _angular_core.InputSignal<string>;
|
|
890
|
-
readonly backClicked: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
891
|
-
readonly primaryClicked: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
892
|
-
readonly secondaryClicked: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
893
|
-
protected readonly isMobile: _angular_core.Signal<boolean>;
|
|
894
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwPageHeaderComponent, never>;
|
|
895
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwPageHeaderComponent, "yuw-page-header", never, { "backLabel": { "alias": "backLabel"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "primaryDisabled": { "alias": "primaryDisabled"; "required": false; "isSignal": true; }; "primaryIcon": { "alias": "primaryIcon"; "required": false; "isSignal": true; }; "primaryLabel": { "alias": "primaryLabel"; "required": false; "isSignal": true; }; "primaryMobileLabel": { "alias": "primaryMobileLabel"; "required": false; "isSignal": true; }; "secondaryDisabled": { "alias": "secondaryDisabled"; "required": false; "isSignal": true; }; "secondaryIcon": { "alias": "secondaryIcon"; "required": false; "isSignal": true; }; "secondaryLabel": { "alias": "secondaryLabel"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; }, { "backClicked": "backClicked"; "primaryClicked": "primaryClicked"; "secondaryClicked": "secondaryClicked"; }, never, never, true, never>;
|
|
896
|
-
}
|
|
897
|
-
|
|
898
961
|
/**
|
|
899
962
|
* Container directive for collapsible accordion items.
|
|
900
963
|
*
|
|
@@ -1637,53 +1700,7 @@ declare class YuwRadioGroupComponent extends YuwValueAccessorBase<string | undef
|
|
|
1637
1700
|
*/
|
|
1638
1701
|
declare class YuwSkeletonDirective {
|
|
1639
1702
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSkeletonDirective, never>;
|
|
1640
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSkeletonDirective, "[yuwSkeleton]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
1641
|
-
}
|
|
1642
|
-
|
|
1643
|
-
/**
|
|
1644
|
-
* Grid of projected cards, usually `yuw-card-grid-item`s in an `@for`. `loading` shows
|
|
1645
|
-
* `skeletonCount` placeholders shaped by `skeletonClass`; `empty` shows `emptyText`; `columnsClass`
|
|
1646
|
-
* holds the Tailwind column utilities.
|
|
1647
|
-
*
|
|
1648
|
-
* Inputs:
|
|
1649
|
-
* - `columnsClass`: Tailwind grid column utilities applied to the grid and its skeleton. Default is `'grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4'`.
|
|
1650
|
-
* - `empty`: Shows `emptyText` instead of the projected cards. Default is `false`.
|
|
1651
|
-
* - `emptyText`: Required message shown when `empty` is set. The app supplies and translates it.
|
|
1652
|
-
* - `loading`: Shows `skeletonCount` placeholders instead of the content; takes precedence over `empty`. Default is `false`.
|
|
1653
|
-
* - `skeletonClass`: Extra classes sizing each placeholder, e.g. its height. Default is `'h-16'`.
|
|
1654
|
-
* - `skeletonCount`: Number of placeholders shown while loading. Default is `12`.
|
|
1655
|
-
*
|
|
1656
|
-
* `YuwCardGridComponent.COLUMNS` holds the column classes admin lists share per view mode — `list`
|
|
1657
|
-
* is one column, `block` grows from one to five, and `tags` packs small tag cards up to six — so every listing lays out its cards the same
|
|
1658
|
-
* way: `[columnsClass]="YuwCardGridComponent.COLUMNS[mode]"`.
|
|
1659
|
-
*/
|
|
1660
|
-
declare class YuwCardGridComponent {
|
|
1661
|
-
readonly columnsClass: _angular_core.InputSignal<string>;
|
|
1662
|
-
readonly empty: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1663
|
-
readonly emptyText: _angular_core.InputSignal<string>;
|
|
1664
|
-
readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1665
|
-
readonly skeletonClass: _angular_core.InputSignal<string>;
|
|
1666
|
-
readonly skeletonCount: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
1667
|
-
static readonly COLUMNS: {
|
|
1668
|
-
readonly list: "grid-cols-1";
|
|
1669
|
-
readonly block: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5";
|
|
1670
|
-
readonly tags: "grid-cols-1 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 2xl:grid-cols-6";
|
|
1671
|
-
};
|
|
1672
|
-
protected readonly skeletons: _angular_core.Signal<number[]>;
|
|
1673
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwCardGridComponent, never>;
|
|
1674
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwCardGridComponent, "yuw-card-grid", never, { "columnsClass": { "alias": "columnsClass"; "required": false; "isSignal": true; }; "empty": { "alias": "empty"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": true; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "skeletonClass": { "alias": "skeletonClass"; "required": false; "isSignal": true; }; "skeletonCount": { "alias": "skeletonCount"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
1675
|
-
}
|
|
1676
|
-
|
|
1677
|
-
/**
|
|
1678
|
-
* While `pending` the card stays hidden in place under a skeleton, so the grid does not jump.
|
|
1679
|
-
*
|
|
1680
|
-
* Inputs:
|
|
1681
|
-
* - `pending`: Hides the projected card and overlays a skeleton while it is loading. Default is `false`.
|
|
1682
|
-
*/
|
|
1683
|
-
declare class YuwCardGridItemComponent {
|
|
1684
|
-
readonly pending: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1685
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwCardGridItemComponent, never>;
|
|
1686
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwCardGridItemComponent, "yuw-card-grid-item", never, { "pending": { "alias": "pending"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
1703
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSkeletonDirective, "[yuwSkeleton]", never, {}, {}, never, never, true, [{ directive: typeof i1$2.HlmSkeleton; inputs: {}; outputs: {}; }]>;
|
|
1687
1704
|
}
|
|
1688
1705
|
|
|
1689
1706
|
/**
|
|
@@ -1704,37 +1721,37 @@ declare class YuwCardGridItemComponent {
|
|
|
1704
1721
|
*/
|
|
1705
1722
|
declare class YuwCardDirective {
|
|
1706
1723
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwCardDirective, never>;
|
|
1707
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwCardDirective, "[yuwCard]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
1724
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwCardDirective, "[yuwCard]", never, {}, {}, never, never, true, [{ directive: typeof i1$3.HlmCard; inputs: { "size": "size"; }; outputs: {}; }]>;
|
|
1708
1725
|
}
|
|
1709
1726
|
/** Header container directive for a card. */
|
|
1710
1727
|
declare class YuwCardHeaderDirective {
|
|
1711
1728
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwCardHeaderDirective, never>;
|
|
1712
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwCardHeaderDirective, "[yuwCardHeader]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
1729
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwCardHeaderDirective, "[yuwCardHeader]", never, {}, {}, never, never, true, [{ directive: typeof i1$3.HlmCardHeader; inputs: {}; outputs: {}; }]>;
|
|
1713
1730
|
}
|
|
1714
1731
|
/** Heading directive for card title text. */
|
|
1715
1732
|
declare class YuwCardTitleDirective {
|
|
1716
1733
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwCardTitleDirective, never>;
|
|
1717
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwCardTitleDirective, "[yuwCardTitle]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
1734
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwCardTitleDirective, "[yuwCardTitle]", never, {}, {}, never, never, true, [{ directive: typeof i1$3.HlmCardTitle; inputs: {}; outputs: {}; }]>;
|
|
1718
1735
|
}
|
|
1719
1736
|
/** Subtitle or description directive for card text. */
|
|
1720
1737
|
declare class YuwCardDescriptionDirective {
|
|
1721
1738
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwCardDescriptionDirective, never>;
|
|
1722
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwCardDescriptionDirective, "[yuwCardDescription]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
1739
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwCardDescriptionDirective, "[yuwCardDescription]", never, {}, {}, never, never, true, [{ directive: typeof i1$3.HlmCardDescription; inputs: {}; outputs: {}; }]>;
|
|
1723
1740
|
}
|
|
1724
1741
|
/** Header action directive for placing top-right controls (e.g. menu button or status badge). */
|
|
1725
1742
|
declare class YuwCardActionDirective {
|
|
1726
1743
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwCardActionDirective, never>;
|
|
1727
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwCardActionDirective, "[yuwCardAction]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
1744
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwCardActionDirective, "[yuwCardAction]", never, {}, {}, never, never, true, [{ directive: typeof i1$3.HlmCardAction; inputs: {}; outputs: {}; }]>;
|
|
1728
1745
|
}
|
|
1729
1746
|
/** Main body container directive for card content. */
|
|
1730
1747
|
declare class YuwCardContentDirective {
|
|
1731
1748
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwCardContentDirective, never>;
|
|
1732
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwCardContentDirective, "[yuwCardContent]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
1749
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwCardContentDirective, "[yuwCardContent]", never, {}, {}, never, never, true, [{ directive: typeof i1$3.HlmCardContent; inputs: {}; outputs: {}; }]>;
|
|
1733
1750
|
}
|
|
1734
1751
|
/** Footer container directive for card action buttons or summary info. */
|
|
1735
1752
|
declare class YuwCardFooterDirective {
|
|
1736
1753
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwCardFooterDirective, never>;
|
|
1737
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwCardFooterDirective, "[yuwCardFooter]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
1754
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwCardFooterDirective, "[yuwCardFooter]", never, {}, {}, never, never, true, [{ directive: typeof i1$3.HlmCardFooter; inputs: {}; outputs: {}; }]>;
|
|
1738
1755
|
}
|
|
1739
1756
|
/** Every card part, for a consumer's `imports`. */
|
|
1740
1757
|
declare const YuwCardImports: readonly [typeof YuwCardDirective, typeof YuwCardHeaderDirective, typeof YuwCardTitleDirective, typeof YuwCardDescriptionDirective, typeof YuwCardActionDirective, typeof YuwCardContentDirective, typeof YuwCardFooterDirective];
|
|
@@ -1760,32 +1777,32 @@ declare const YuwCardImports: readonly [typeof YuwCardDirective, typeof YuwCardH
|
|
|
1760
1777
|
*/
|
|
1761
1778
|
declare class YuwEmptyDirective {
|
|
1762
1779
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwEmptyDirective, never>;
|
|
1763
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwEmptyDirective, "[yuwEmpty]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
1780
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwEmptyDirective, "[yuwEmpty]", never, {}, {}, never, never, true, [{ directive: typeof i1$4.HlmEmpty; inputs: {}; outputs: {}; }]>;
|
|
1764
1781
|
}
|
|
1765
1782
|
/** Header container directive for empty-state title and media. */
|
|
1766
1783
|
declare class YuwEmptyHeaderDirective {
|
|
1767
1784
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwEmptyHeaderDirective, never>;
|
|
1768
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwEmptyHeaderDirective, "[yuwEmptyHeader]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
1785
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwEmptyHeaderDirective, "[yuwEmptyHeader]", never, {}, {}, never, never, true, [{ directive: typeof i1$4.HlmEmptyHeader; inputs: {}; outputs: {}; }]>;
|
|
1769
1786
|
}
|
|
1770
1787
|
/** Slot directive for empty-state icons or illustrations. Supports `variant` input. */
|
|
1771
1788
|
declare class YuwEmptyMediaDirective {
|
|
1772
1789
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwEmptyMediaDirective, never>;
|
|
1773
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwEmptyMediaDirective, "[yuwEmptyMedia]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
1790
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwEmptyMediaDirective, "[yuwEmptyMedia]", never, {}, {}, never, never, true, [{ directive: typeof i1$4.HlmEmptyMedia; inputs: { "variant": "variant"; }; outputs: {}; }]>;
|
|
1774
1791
|
}
|
|
1775
1792
|
/** Title heading directive for empty state message. */
|
|
1776
1793
|
declare class YuwEmptyTitleDirective {
|
|
1777
1794
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwEmptyTitleDirective, never>;
|
|
1778
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwEmptyTitleDirective, "[yuwEmptyTitle]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
1795
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwEmptyTitleDirective, "[yuwEmptyTitle]", never, {}, {}, never, never, true, [{ directive: typeof i1$4.HlmEmptyTitle; inputs: {}; outputs: {}; }]>;
|
|
1779
1796
|
}
|
|
1780
1797
|
/** Description paragraph directive explaining the empty state. */
|
|
1781
1798
|
declare class YuwEmptyDescriptionDirective {
|
|
1782
1799
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwEmptyDescriptionDirective, never>;
|
|
1783
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwEmptyDescriptionDirective, "[yuwEmptyDescription]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
1800
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwEmptyDescriptionDirective, "[yuwEmptyDescription]", never, {}, {}, never, never, true, [{ directive: typeof i1$4.HlmEmptyDescription; inputs: {}; outputs: {}; }]>;
|
|
1784
1801
|
}
|
|
1785
1802
|
/** Content slot directive for action buttons or call-to-action controls in an empty state. */
|
|
1786
1803
|
declare class YuwEmptyContentDirective {
|
|
1787
1804
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwEmptyContentDirective, never>;
|
|
1788
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwEmptyContentDirective, "[yuwEmptyContent]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
1805
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwEmptyContentDirective, "[yuwEmptyContent]", never, {}, {}, never, never, true, [{ directive: typeof i1$4.HlmEmptyContent; inputs: {}; outputs: {}; }]>;
|
|
1789
1806
|
}
|
|
1790
1807
|
/** Every empty-state part, for a consumer's `imports`. */
|
|
1791
1808
|
declare const YuwEmptyImports: readonly [typeof YuwEmptyDirective, typeof YuwEmptyHeaderDirective, typeof YuwEmptyMediaDirective, typeof YuwEmptyTitleDirective, typeof YuwEmptyDescriptionDirective, typeof YuwEmptyContentDirective];
|
|
@@ -1887,7 +1904,7 @@ declare class YuwContextMenuTriggerDirective {
|
|
|
1887
1904
|
readonly opened: _angular_core.OutputRef<void>;
|
|
1888
1905
|
constructor();
|
|
1889
1906
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwContextMenuTriggerDirective, never>;
|
|
1890
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwContextMenuTriggerDirective, "[yuwContextMenuTrigger]", never, { "menu": { "alias": "yuwContextMenuTrigger"; "required": true; "isSignal": true; }; "menuData": { "alias": "yuwContextMenuTriggerData"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "opened": "opened"; }, never, never, true, [{ directive: typeof i1$
|
|
1907
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwContextMenuTriggerDirective, "[yuwContextMenuTrigger]", never, { "menu": { "alias": "yuwContextMenuTrigger"; "required": true; "isSignal": true; }; "menuData": { "alias": "yuwContextMenuTriggerData"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "opened": "opened"; }, never, never, true, [{ directive: typeof i1$5.HlmContextMenuTrigger; inputs: { "disabled": "disabled"; "align": "align"; "side": "side"; }; outputs: {}; }]>;
|
|
1891
1908
|
}
|
|
1892
1909
|
/** Container directive for context menu options, placed inside the context menu template. */
|
|
1893
1910
|
declare class YuwContextMenuDirective {
|
|
@@ -2093,47 +2110,47 @@ declare class YuwDatepickerComponent extends YuwValueAccessorBase<YuwDatepickerV
|
|
|
2093
2110
|
*/
|
|
2094
2111
|
declare class YuwTableContainerDirective {
|
|
2095
2112
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwTableContainerDirective, never>;
|
|
2096
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwTableContainerDirective, "[yuwTableContainer]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2113
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwTableContainerDirective, "[yuwTableContainer]", never, {}, {}, never, never, true, [{ directive: typeof i1$6.HlmTableContainer; inputs: {}; outputs: {}; }]>;
|
|
2097
2114
|
}
|
|
2098
2115
|
/** Table element styling directive applied to native `<table>`. */
|
|
2099
2116
|
declare class YuwTableDirective {
|
|
2100
2117
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwTableDirective, never>;
|
|
2101
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwTableDirective, "[yuwTable]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2118
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwTableDirective, "[yuwTable]", never, {}, {}, never, never, true, [{ directive: typeof i1$6.HlmTable; inputs: {}; outputs: {}; }]>;
|
|
2102
2119
|
}
|
|
2103
2120
|
/** Table header container directive applied to native `<thead>`. */
|
|
2104
2121
|
declare class YuwTHeadDirective {
|
|
2105
2122
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwTHeadDirective, never>;
|
|
2106
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwTHeadDirective, "[yuwTHead]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2123
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwTHeadDirective, "[yuwTHead]", never, {}, {}, never, never, true, [{ directive: typeof i1$6.HlmTHead; inputs: {}; outputs: {}; }]>;
|
|
2107
2124
|
}
|
|
2108
2125
|
/** Table body container directive applied to native `<tbody>`. */
|
|
2109
2126
|
declare class YuwTBodyDirective {
|
|
2110
2127
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwTBodyDirective, never>;
|
|
2111
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwTBodyDirective, "[yuwTBody]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2128
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwTBodyDirective, "[yuwTBody]", never, {}, {}, never, never, true, [{ directive: typeof i1$6.HlmTBody; inputs: {}; outputs: {}; }]>;
|
|
2112
2129
|
}
|
|
2113
2130
|
/** Table footer container directive applied to native `<tfoot>`. */
|
|
2114
2131
|
declare class YuwTFootDirective {
|
|
2115
2132
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwTFootDirective, never>;
|
|
2116
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwTFootDirective, "[yuwTFoot]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2133
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwTFootDirective, "[yuwTFoot]", never, {}, {}, never, never, true, [{ directive: typeof i1$6.HlmTFoot; inputs: {}; outputs: {}; }]>;
|
|
2117
2134
|
}
|
|
2118
2135
|
/** Table row directive applied to native `<tr>`. */
|
|
2119
2136
|
declare class YuwTrDirective {
|
|
2120
2137
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwTrDirective, never>;
|
|
2121
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwTrDirective, "[yuwTr]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2138
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwTrDirective, "[yuwTr]", never, {}, {}, never, never, true, [{ directive: typeof i1$6.HlmTr; inputs: {}; outputs: {}; }]>;
|
|
2122
2139
|
}
|
|
2123
2140
|
/** Table header cell directive applied to native `<th>`. */
|
|
2124
2141
|
declare class YuwThDirective {
|
|
2125
2142
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwThDirective, never>;
|
|
2126
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwThDirective, "[yuwTh]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2143
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwThDirective, "[yuwTh]", never, {}, {}, never, never, true, [{ directive: typeof i1$6.HlmTh; inputs: {}; outputs: {}; }]>;
|
|
2127
2144
|
}
|
|
2128
2145
|
/** Table data cell directive applied to native `<td>`. */
|
|
2129
2146
|
declare class YuwTdDirective {
|
|
2130
2147
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwTdDirective, never>;
|
|
2131
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwTdDirective, "[yuwTd]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2148
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwTdDirective, "[yuwTd]", never, {}, {}, never, never, true, [{ directive: typeof i1$6.HlmTd; inputs: {}; outputs: {}; }]>;
|
|
2132
2149
|
}
|
|
2133
2150
|
/** Table caption directive applied to native `<caption>`. */
|
|
2134
2151
|
declare class YuwCaptionDirective {
|
|
2135
2152
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwCaptionDirective, never>;
|
|
2136
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwCaptionDirective, "[yuwCaption]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2153
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwCaptionDirective, "[yuwCaption]", never, {}, {}, never, never, true, [{ directive: typeof i1$6.HlmCaption; inputs: {}; outputs: {}; }]>;
|
|
2137
2154
|
}
|
|
2138
2155
|
/** Table custom pagination div content. */
|
|
2139
2156
|
declare class YuwDatatablePaginationDirective {
|
|
@@ -2143,215 +2160,36 @@ declare class YuwDatatablePaginationDirective {
|
|
|
2143
2160
|
/** Every table part, for a consumer's `imports`. */
|
|
2144
2161
|
declare const YuwTableImports: readonly [typeof YuwTableContainerDirective, typeof YuwTableDirective, typeof YuwTHeadDirective, typeof YuwTBodyDirective, typeof YuwTFootDirective, typeof YuwTrDirective, typeof YuwThDirective, typeof YuwTdDirective, typeof YuwCaptionDirective, typeof YuwDatatablePaginationDirective];
|
|
2145
2162
|
|
|
2146
|
-
|
|
2147
|
-
readonly value: string;
|
|
2148
|
-
readonly label: string;
|
|
2149
|
-
readonly disabled?: boolean;
|
|
2150
|
-
}
|
|
2151
|
-
/** `single` keeps one value, `multiple` a set; both render as checkboxes. */
|
|
2152
|
-
type YuwFilterGroupMode = 'single' | 'multiple';
|
|
2153
|
-
/**
|
|
2154
|
-
* `options` feeds the checkbox list; a group without them renders the `yuwFilterContent` template
|
|
2155
|
-
* of the same id, and `mode` then only states whether its value is a string or an array.
|
|
2156
|
-
*/
|
|
2157
|
-
interface YuwFilterGroupDto {
|
|
2158
|
-
readonly id: string;
|
|
2159
|
-
readonly label: string;
|
|
2160
|
-
readonly mode: YuwFilterGroupMode;
|
|
2161
|
-
readonly options?: readonly YuwFilterOptionDto[];
|
|
2162
|
-
}
|
|
2163
|
-
/** Value of one group: a string for `single` groups, an array for `multiple`. */
|
|
2164
|
-
type YuwFilterValue = string | readonly string[];
|
|
2165
|
-
/** Selection keyed by `YuwFilterGroupDto.id`. */
|
|
2166
|
-
type YuwFilterSelection = Readonly<Record<string, YuwFilterValue>>;
|
|
2167
|
-
/** A named selection the user saved; `id` is assigned by the consumer that persists it. */
|
|
2168
|
-
interface YuwFilterSetDto {
|
|
2169
|
-
readonly id: string;
|
|
2170
|
-
readonly name: string;
|
|
2171
|
-
readonly selection: YuwFilterSelection;
|
|
2172
|
-
}
|
|
2173
|
-
/** Payload of `setSaved`: the name the user typed and the selection applied at that moment. */
|
|
2174
|
-
interface YuwFilterSetSaveDto {
|
|
2175
|
-
readonly name: string;
|
|
2176
|
-
readonly selection: YuwFilterSelection;
|
|
2177
|
-
}
|
|
2178
|
-
/** Payload of `setRenamed`. */
|
|
2179
|
-
interface YuwFilterSetRenameDto {
|
|
2180
|
-
readonly id: string;
|
|
2181
|
-
readonly name: string;
|
|
2182
|
-
}
|
|
2183
|
-
/** Texts of the saved-sets control and its dialog; the consumer translates them. */
|
|
2184
|
-
interface YuwFilterSetLabels {
|
|
2185
|
-
readonly title: string;
|
|
2186
|
-
readonly empty: string;
|
|
2187
|
-
readonly save: string;
|
|
2188
|
-
readonly select: string;
|
|
2189
|
-
readonly none: string;
|
|
2190
|
-
readonly edit: string;
|
|
2191
|
-
readonly delete: string;
|
|
2192
|
-
readonly saveTitle: string;
|
|
2193
|
-
readonly renameTitle: string;
|
|
2194
|
-
readonly deleteTitle: string;
|
|
2195
|
-
readonly deleteMessage: (name: string) => string;
|
|
2196
|
-
readonly nameLabel: string;
|
|
2197
|
-
readonly confirm: string;
|
|
2198
|
-
readonly cancel: string;
|
|
2199
|
-
readonly close: string;
|
|
2200
|
-
}
|
|
2201
|
-
interface YuwListToolbarFilterLabels {
|
|
2202
|
-
readonly title: string;
|
|
2203
|
-
readonly clearAll: string;
|
|
2204
|
-
readonly close: string;
|
|
2205
|
-
readonly apply: string;
|
|
2206
|
-
readonly pending: string;
|
|
2207
|
-
readonly selected: (count: number) => string;
|
|
2208
|
-
readonly sets?: YuwFilterSetLabels;
|
|
2209
|
-
}
|
|
2210
|
-
interface YuwListToolbarSearchLabels {
|
|
2211
|
-
readonly expand: string;
|
|
2212
|
-
readonly clear: string;
|
|
2213
|
-
}
|
|
2214
|
-
interface YuwListToolbarColumnsLabels {
|
|
2215
|
-
readonly trigger: string;
|
|
2216
|
-
readonly placeholder: string;
|
|
2217
|
-
readonly empty: string;
|
|
2218
|
-
readonly toggle: string;
|
|
2219
|
-
}
|
|
2220
|
-
type YuwViewMode = 'list' | 'block';
|
|
2221
|
-
type YuwListToolbarViewModeLabels = Readonly<Record<YuwViewMode, string>>;
|
|
2222
|
-
/** ng-icon names of the view mode buttons; the consumer registers custom ones with `provideIcons`. */
|
|
2223
|
-
type YuwListToolbarViewModeIcons = Readonly<Record<YuwViewMode, string>>;
|
|
2224
|
-
interface YuwListToolbarLabels {
|
|
2225
|
-
readonly filters: YuwListToolbarFilterLabels;
|
|
2226
|
-
readonly search: YuwListToolbarSearchLabels;
|
|
2227
|
-
readonly columns: YuwListToolbarColumnsLabels;
|
|
2228
|
-
readonly export: string;
|
|
2229
|
-
readonly viewMode?: YuwListToolbarViewModeLabels;
|
|
2230
|
-
}
|
|
2231
|
-
|
|
2232
|
-
/** Template context of a `yuwFilterContent` template. */
|
|
2233
|
-
interface YuwFilterContentContext {
|
|
2234
|
-
/** The group the template renders; same as `let-group`. */
|
|
2235
|
-
readonly $implicit: YuwFilterGroupDto;
|
|
2236
|
-
/** Staged value of the group, `undefined` while it holds nothing. */
|
|
2237
|
-
readonly value: YuwFilterValue | undefined;
|
|
2238
|
-
/** Stages a new value for the group; `undefined` or an empty array clears it. */
|
|
2239
|
-
readonly change: (value: YuwFilterValue | undefined) => void;
|
|
2240
|
-
}
|
|
2163
|
+
type YuwDatatableAlign = 'start' | 'center' | 'end';
|
|
2241
2164
|
/**
|
|
2242
|
-
*
|
|
2243
|
-
* Apply it to an `<ng-template>` and pass the id of the group it renders; that group needs no
|
|
2244
|
-
* `options`.
|
|
2165
|
+
* Default floor for a column that opts into `meta.wrap`, as a Tailwind `min-w-*` class.
|
|
2245
2166
|
*
|
|
2246
|
-
*
|
|
2247
|
-
*
|
|
2248
|
-
*
|
|
2167
|
+
* This is the only bound a wrapping column needs. It is what makes the responsive behaviour work:
|
|
2168
|
+
* below it the table stops shrinking the column — which would end in a column one word wide — and
|
|
2169
|
+
* the table's own width exceeds the container instead, so `YuwTableContainer`'s `overflow-x-auto`
|
|
2170
|
+
* scrolls horizontally.
|
|
2249
2171
|
*
|
|
2250
|
-
*
|
|
2251
|
-
*
|
|
2252
|
-
*
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
*
|
|
2257
|
-
* ```
|
|
2172
|
+
* There is deliberately no maximum. A cap would make a wrapping column break onto several lines
|
|
2173
|
+
* while the table still had free space beside it, which reads as broken; letting the column take
|
|
2174
|
+
* its share of the row means text wraps only once it genuinely no longer fits.
|
|
2175
|
+
*/
|
|
2176
|
+
declare const YUW_DATATABLE_WRAP_MIN_WIDTH = "min-w-48";
|
|
2177
|
+
/**
|
|
2178
|
+
* Layout classes the `<table>` needs for `meta.wrap` columns to size correctly.
|
|
2258
2179
|
*
|
|
2259
|
-
*
|
|
2260
|
-
*
|
|
2180
|
+
* `w-full` lets the table fill its container so a wrapping column can spread into the free space
|
|
2181
|
+
* instead of wrapping early, and `min-w-max` keeps the table at least as wide as its content
|
|
2182
|
+
* demands — which is what lets a wrapping column's floor push the table past the container and
|
|
2183
|
+
* hand the overflow to the scroll container. Applied unconditionally: for a table with no wrapping
|
|
2184
|
+
* column both halves resolve to the width it already had.
|
|
2261
2185
|
*/
|
|
2262
|
-
declare
|
|
2263
|
-
readonly templateRef: TemplateRef<YuwFilterContentContext>;
|
|
2264
|
-
readonly groupId: _angular_core.InputSignal<string>;
|
|
2265
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwFilterContentDirective, never>;
|
|
2266
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwFilterContentDirective, "ng-template[yuwFilterContent]", never, { "groupId": { "alias": "yuwFilterContent"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2267
|
-
}
|
|
2268
|
-
|
|
2186
|
+
declare const DATATABLE_LAYOUT_CLASS = "w-full min-w-max";
|
|
2269
2187
|
/**
|
|
2270
|
-
*
|
|
2271
|
-
* trailing one, and projected content after them.
|
|
2188
|
+
* Class maps for `yuw-datatable`, layered on top of the Hlm table directives' own classes.
|
|
2272
2189
|
*
|
|
2273
|
-
*
|
|
2274
|
-
*
|
|
2275
|
-
*
|
|
2276
|
-
* the toolbar emits `setSaved`, `setRenamed` and `setDeleted` and the consumer persists them. `labels` holds every text and the consumer translates it;
|
|
2277
|
-
* `idleColor` is the filter trigger tone while nothing is applied. A filter group may omit `options` and be
|
|
2278
|
-
* rendered by a projected `<ng-template yuwFilterContent="groupId">` instead (a combobox, say); see
|
|
2279
|
-
* `YuwFilterContentDirective`.
|
|
2280
|
-
*
|
|
2281
|
-
* Inputs:
|
|
2282
|
-
* - `filterGroups`: Filter groups the editor offers; the filter control renders only when set.
|
|
2283
|
-
* - `filterSets`: Saved filter sets; together with `labels.filters.sets` it enables the sets star.
|
|
2284
|
-
* - `filtersDisabled`: Disables the filter buttons. Default is `false`.
|
|
2285
|
-
* - `hiddenColumns`: Two-way (`[(hiddenColumns)]`) ids of the columns currently hidden. Default is `[]`.
|
|
2286
|
-
* - `hideableColumns`: Options of the columns the user may hide; the columns button renders only when set.
|
|
2287
|
-
* - `idleColor`: `YuwColorDto` tone of the filter trigger while nothing is applied. Default is `'neutral'`.
|
|
2288
|
-
* - `labels`: Required `YuwListToolbarLabels` with the consumer's translated text for every control.
|
|
2289
|
-
* - `search`: Two-way (`[(search)]`) text of the search field. Default is `''`.
|
|
2290
|
-
* - `searchPlaceholder`: Placeholder of the search field; the search renders only when set.
|
|
2291
|
-
* - `selection`: Two-way (`[(selection)]`) applied filter selection, values keyed by group id. Default is `{}`.
|
|
2292
|
-
* - `showExport`: Renders the export button. Default is `false`.
|
|
2293
|
-
* - `viewMode`: Two-way (`[(viewMode)]`) `YuwViewMode` (`'list'` or `'block'`); the list/block switch renders only when set.
|
|
2294
|
-
* - `viewModeIcons`: Partial override of the switch icons by mode (ng-icon names, registered by the consumer with `provideIcons`). Defaults are `lucideList` and `lucideLayoutGrid`.
|
|
2295
|
-
*
|
|
2296
|
-
* Outputs:
|
|
2297
|
-
* - `exported`: Emits the `MouseEvent` of the export button click.
|
|
2298
|
-
* - `searched`: Emits the current search text on every keystroke and when it is cleared.
|
|
2299
|
-
*/
|
|
2300
|
-
declare class YuwListToolbarComponent {
|
|
2301
|
-
protected readonly filterContents: _angular_core.Signal<readonly YuwFilterContentDirective[]>;
|
|
2302
|
-
readonly filterGroups: _angular_core.InputSignal<readonly YuwFilterGroupDto[] | undefined>;
|
|
2303
|
-
readonly filtersDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2304
|
-
readonly filterSets: _angular_core.InputSignal<readonly YuwFilterSetDto[] | undefined>;
|
|
2305
|
-
readonly hiddenColumns: _angular_core.ModelSignal<string[]>;
|
|
2306
|
-
readonly hideableColumns: _angular_core.InputSignal<YuwComboboxOptionDto<unknown>[] | undefined>;
|
|
2307
|
-
readonly idleColor: _angular_core.InputSignal<YuwColorDto>;
|
|
2308
|
-
readonly labels: _angular_core.InputSignal<YuwListToolbarLabels>;
|
|
2309
|
-
readonly search: _angular_core.ModelSignal<string>;
|
|
2310
|
-
readonly searchPlaceholder: _angular_core.InputSignal<string | undefined>;
|
|
2311
|
-
readonly selection: _angular_core.ModelSignal<Readonly<Record<string, yukit_web.YuwFilterValue>>>;
|
|
2312
|
-
readonly showExport: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2313
|
-
readonly viewMode: _angular_core.ModelSignal<YuwViewMode | undefined>;
|
|
2314
|
-
readonly viewModeIcons: _angular_core.InputSignal<Partial<Readonly<Record<YuwViewMode, string>>> | undefined>;
|
|
2315
|
-
readonly exported: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
2316
|
-
readonly searched: _angular_core.OutputEmitterRef<string>;
|
|
2317
|
-
readonly setDeleted: _angular_core.OutputEmitterRef<string>;
|
|
2318
|
-
readonly setRenamed: _angular_core.OutputEmitterRef<YuwFilterSetRenameDto>;
|
|
2319
|
-
readonly setSaved: _angular_core.OutputEmitterRef<YuwFilterSetSaveDto>;
|
|
2320
|
-
protected readonly isMobile: _angular_core.Signal<boolean>;
|
|
2321
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwListToolbarComponent, never>;
|
|
2322
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwListToolbarComponent, "yuw-list-toolbar", never, { "filterGroups": { "alias": "filterGroups"; "required": false; "isSignal": true; }; "filtersDisabled": { "alias": "filtersDisabled"; "required": false; "isSignal": true; }; "filterSets": { "alias": "filterSets"; "required": false; "isSignal": true; }; "hiddenColumns": { "alias": "hiddenColumns"; "required": false; "isSignal": true; }; "hideableColumns": { "alias": "hideableColumns"; "required": false; "isSignal": true; }; "idleColor": { "alias": "idleColor"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": true; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "showExport": { "alias": "showExport"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "viewModeIcons": { "alias": "viewModeIcons"; "required": false; "isSignal": true; }; }, { "hiddenColumns": "hiddenColumnsChange"; "search": "searchChange"; "selection": "selectionChange"; "viewMode": "viewModeChange"; "exported": "exported"; "searched": "searched"; "setDeleted": "setDeleted"; "setRenamed": "setRenamed"; "setSaved": "setSaved"; }, ["filterContents"], ["*"], true, never>;
|
|
2323
|
-
}
|
|
2324
|
-
|
|
2325
|
-
type YuwDatatableAlign = 'start' | 'center' | 'end';
|
|
2326
|
-
/**
|
|
2327
|
-
* Default floor for a column that opts into `meta.wrap`, as a Tailwind `min-w-*` class.
|
|
2328
|
-
*
|
|
2329
|
-
* This is the only bound a wrapping column needs. It is what makes the responsive behaviour work:
|
|
2330
|
-
* below it the table stops shrinking the column — which would end in a column one word wide — and
|
|
2331
|
-
* the table's own width exceeds the container instead, so `YuwTableContainer`'s `overflow-x-auto`
|
|
2332
|
-
* scrolls horizontally.
|
|
2333
|
-
*
|
|
2334
|
-
* There is deliberately no maximum. A cap would make a wrapping column break onto several lines
|
|
2335
|
-
* while the table still had free space beside it, which reads as broken; letting the column take
|
|
2336
|
-
* its share of the row means text wraps only once it genuinely no longer fits.
|
|
2337
|
-
*/
|
|
2338
|
-
declare const YUW_DATATABLE_WRAP_MIN_WIDTH = "min-w-48";
|
|
2339
|
-
/**
|
|
2340
|
-
* Layout classes the `<table>` needs for `meta.wrap` columns to size correctly.
|
|
2341
|
-
*
|
|
2342
|
-
* `w-full` lets the table fill its container so a wrapping column can spread into the free space
|
|
2343
|
-
* instead of wrapping early, and `min-w-max` keeps the table at least as wide as its content
|
|
2344
|
-
* demands — which is what lets a wrapping column's floor push the table past the container and
|
|
2345
|
-
* hand the overflow to the scroll container. Applied unconditionally: for a table with no wrapping
|
|
2346
|
-
* column both halves resolve to the width it already had.
|
|
2347
|
-
*/
|
|
2348
|
-
declare const DATATABLE_LAYOUT_CLASS = "w-full min-w-max";
|
|
2349
|
-
/**
|
|
2350
|
-
* Class maps for `yuw-datatable`, layered on top of the Hlm table directives' own classes.
|
|
2351
|
-
*
|
|
2352
|
-
* `DATATABLE_ALIGN_CLASS` is keyed by a column's `meta.align` and shared by header and body cells,
|
|
2353
|
-
* so a column declares its alignment once and both honour it; `start` maps to an empty string
|
|
2354
|
-
* rather than re-stating what `HlmTh`/`HlmTd` already apply.
|
|
2190
|
+
* `DATATABLE_ALIGN_CLASS` is keyed by a column's `meta.align` and shared by header and body cells,
|
|
2191
|
+
* so a column declares its alignment once and both honour it; `start` maps to an empty string
|
|
2192
|
+
* rather than re-stating what `HlmTh`/`HlmTd` already apply.
|
|
2355
2193
|
*
|
|
2356
2194
|
* The `appearance` maps are split per element because the treatment is not uniform: `card` frames
|
|
2357
2195
|
* the container so the header tint clips to the radius instead of squaring off against a
|
|
@@ -2719,47 +2557,47 @@ declare class YuwAvatarComponent {
|
|
|
2719
2557
|
*/
|
|
2720
2558
|
declare class YuwItemDirective {
|
|
2721
2559
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwItemDirective, never>;
|
|
2722
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwItemDirective, "[yuwItem], yuw-item", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2560
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwItemDirective, "[yuwItem], yuw-item", never, {}, {}, never, never, true, [{ directive: typeof i1$7.HlmItem; inputs: { "variant": "variant"; "size": "size"; }; outputs: {}; }]>;
|
|
2723
2561
|
}
|
|
2724
2562
|
/** Header slot directive for an item container. */
|
|
2725
2563
|
declare class YuwItemHeaderDirective {
|
|
2726
2564
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwItemHeaderDirective, never>;
|
|
2727
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwItemHeaderDirective, "[yuwItemHeader], yuw-item-header", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2565
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwItemHeaderDirective, "[yuwItemHeader], yuw-item-header", never, {}, {}, never, never, true, [{ directive: typeof i1$7.HlmItemHeader; inputs: {}; outputs: {}; }]>;
|
|
2728
2566
|
}
|
|
2729
2567
|
/** Leading media slot directive (for icons, avatars, or images) at the start of an item. Supports `variant` (`'default'`, `'icon'`, `'image'`). */
|
|
2730
2568
|
declare class YuwItemMediaDirective {
|
|
2731
2569
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwItemMediaDirective, never>;
|
|
2732
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwItemMediaDirective, "[yuwItemMedia], yuw-item-media", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2570
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwItemMediaDirective, "[yuwItemMedia], yuw-item-media", never, {}, {}, never, never, true, [{ directive: typeof i1$7.HlmItemMedia; inputs: { "variant": "variant"; }; outputs: {}; }]>;
|
|
2733
2571
|
}
|
|
2734
2572
|
/** Main text content container directive for an item. */
|
|
2735
2573
|
declare class YuwItemContentDirective {
|
|
2736
2574
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwItemContentDirective, never>;
|
|
2737
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwItemContentDirective, "[yuwItemContent], yuw-item-content", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2575
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwItemContentDirective, "[yuwItemContent], yuw-item-content", never, {}, {}, never, never, true, [{ directive: typeof i1$7.HlmItemContent; inputs: {}; outputs: {}; }]>;
|
|
2738
2576
|
}
|
|
2739
2577
|
/** Title heading directive for an item. */
|
|
2740
2578
|
declare class YuwItemTitleDirective {
|
|
2741
2579
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwItemTitleDirective, never>;
|
|
2742
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwItemTitleDirective, "[yuwItemTitle], yuw-item-title", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2580
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwItemTitleDirective, "[yuwItemTitle], yuw-item-title", never, {}, {}, never, never, true, [{ directive: typeof i1$7.HlmItemTitle; inputs: {}; outputs: {}; }]>;
|
|
2743
2581
|
}
|
|
2744
2582
|
/** Subtitle or description paragraph directive for an item. */
|
|
2745
2583
|
declare class YuwItemDescriptionDirective {
|
|
2746
2584
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwItemDescriptionDirective, never>;
|
|
2747
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwItemDescriptionDirective, "[yuwItemDescription], yuw-item-description", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2585
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwItemDescriptionDirective, "[yuwItemDescription], yuw-item-description", never, {}, {}, never, never, true, [{ directive: typeof i1$7.HlmItemDescription; inputs: {}; outputs: {}; }]>;
|
|
2748
2586
|
}
|
|
2749
2587
|
/** Trailing action controls slot directive (for buttons, switches, or menu triggers) at the end of an item. */
|
|
2750
2588
|
declare class YuwItemActionsDirective {
|
|
2751
2589
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwItemActionsDirective, never>;
|
|
2752
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwItemActionsDirective, "[yuwItemActions], yuw-item-actions", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2590
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwItemActionsDirective, "[yuwItemActions], yuw-item-actions", never, {}, {}, never, never, true, [{ directive: typeof i1$7.HlmItemActions; inputs: {}; outputs: {}; }]>;
|
|
2753
2591
|
}
|
|
2754
2592
|
/** Footer slot directive for an item. */
|
|
2755
2593
|
declare class YuwItemFooterDirective {
|
|
2756
2594
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwItemFooterDirective, never>;
|
|
2757
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwItemFooterDirective, "[yuwItemFooter], yuw-item-footer", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2595
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwItemFooterDirective, "[yuwItemFooter], yuw-item-footer", never, {}, {}, never, never, true, [{ directive: typeof i1$7.HlmItemFooter; inputs: {}; outputs: {}; }]>;
|
|
2758
2596
|
}
|
|
2759
2597
|
/** Container directive for grouping multiple item rows together into a list card or bordered group. */
|
|
2760
2598
|
declare class YuwItemGroupDirective {
|
|
2761
2599
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwItemGroupDirective, never>;
|
|
2762
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwItemGroupDirective, "[yuwItemGroup], yuw-item-group", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2600
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwItemGroupDirective, "[yuwItemGroup], yuw-item-group", never, {}, {}, never, never, true, [{ directive: typeof i1$7.HlmItemGroup; inputs: {}; outputs: {}; }]>;
|
|
2763
2601
|
}
|
|
2764
2602
|
/**
|
|
2765
2603
|
* Visual separator line between items inside a group. Accepts `orientation` (`'horizontal'` or
|
|
@@ -2891,12 +2729,12 @@ declare const YuwSheetImports: readonly [typeof YuwSheetComponent, typeof YuwShe
|
|
|
2891
2729
|
*/
|
|
2892
2730
|
declare class YuwSheetTriggerDirective {
|
|
2893
2731
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSheetTriggerDirective, never>;
|
|
2894
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSheetTriggerDirective, "yuw-button[yuwSheetTriggerButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2732
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSheetTriggerDirective, "yuw-button[yuwSheetTriggerButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$8.BrnSheetTrigger; inputs: { "id": "id"; "side": "side"; "type": "type"; }; outputs: {}; }]>;
|
|
2895
2733
|
}
|
|
2896
2734
|
/** Closes the surrounding `<yuw-sheet>` when the host `<yuw-button>` is activated. */
|
|
2897
2735
|
declare class YuwSheetCloseDirective {
|
|
2898
2736
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSheetCloseDirective, never>;
|
|
2899
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSheetCloseDirective, "yuw-button[yuwSheetClose]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2737
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSheetCloseDirective, "yuw-button[yuwSheetClose]", never, {}, {}, never, never, true, [{ directive: typeof i1$8.BrnSheetClose; inputs: {}; outputs: {}; }]>;
|
|
2900
2738
|
}
|
|
2901
2739
|
|
|
2902
2740
|
type YuwPopoverAlignDto = 'start' | 'center' | 'end';
|
|
@@ -2972,7 +2810,7 @@ declare class YuwPopoverComponent {
|
|
|
2972
2810
|
*/
|
|
2973
2811
|
declare class YuwPopoverTriggerDirective {
|
|
2974
2812
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwPopoverTriggerDirective, never>;
|
|
2975
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwPopoverTriggerDirective, "yuw-button[yuwPopoverTriggerFor], yuw-button[yuwPopoverTriggerButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2813
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwPopoverTriggerDirective, "yuw-button[yuwPopoverTriggerFor], yuw-button[yuwPopoverTriggerButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$9.BrnPopoverTrigger; inputs: { "id": "id"; "brnPopoverTriggerFor": "yuwPopoverTriggerFor"; "type": "type"; }; outputs: {}; }]>;
|
|
2976
2814
|
}
|
|
2977
2815
|
|
|
2978
2816
|
type YuwTooltipPositionDto = 'top' | 'bottom' | 'left' | 'right';
|
|
@@ -2997,7 +2835,7 @@ type YuwTooltipPositionDto = 'top' | 'bottom' | 'left' | 'right';
|
|
|
2997
2835
|
*/
|
|
2998
2836
|
declare class YuwTooltipDirective {
|
|
2999
2837
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwTooltipDirective, never>;
|
|
3000
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwTooltipDirective, "[yuwTooltip]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
2838
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwTooltipDirective, "[yuwTooltip]", never, {}, {}, never, never, true, [{ directive: typeof i1$a.BrnTooltip; inputs: { "brnTooltip": "yuwTooltip"; "position": "position"; "hideDelay": "hideDelay"; "showDelay": "showDelay"; "tooltipDisabled": "tooltipDisabled"; }; outputs: {}; }]>;
|
|
3001
2839
|
}
|
|
3002
2840
|
|
|
3003
2841
|
/**
|
|
@@ -3224,12 +3062,12 @@ declare const YuwDialogImports: readonly [typeof YuwDialogComponent, typeof YuwD
|
|
|
3224
3062
|
*/
|
|
3225
3063
|
declare class YuwDialogTriggerDirective {
|
|
3226
3064
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwDialogTriggerDirective, never>;
|
|
3227
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwDialogTriggerDirective, "yuw-button[yuwDialogTriggerFor], yuw-button[yuwDialogTriggerButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3065
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwDialogTriggerDirective, "yuw-button[yuwDialogTriggerFor], yuw-button[yuwDialogTriggerButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$b.BrnDialogTrigger; inputs: { "id": "id"; "brnDialogTriggerFor": "yuwDialogTriggerFor"; "type": "type"; }; outputs: {}; }]>;
|
|
3228
3066
|
}
|
|
3229
3067
|
/** Closes the surrounding `<yuw-dialog>` when the host `<yuw-button>` is activated. */
|
|
3230
3068
|
declare class YuwDialogCloseDirective {
|
|
3231
3069
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwDialogCloseDirective, never>;
|
|
3232
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwDialogCloseDirective, "yuw-button[yuwDialogClose]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3070
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwDialogCloseDirective, "yuw-button[yuwDialogClose]", never, {}, {}, never, never, true, [{ directive: typeof i1$b.BrnDialogClose; inputs: {}; outputs: {}; }]>;
|
|
3233
3071
|
}
|
|
3234
3072
|
|
|
3235
3073
|
/**
|
|
@@ -3307,7 +3145,7 @@ declare class YuwAlertDialogComponent {
|
|
|
3307
3145
|
*/
|
|
3308
3146
|
declare class YuwAlertDialogTriggerDirective {
|
|
3309
3147
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAlertDialogTriggerDirective, never>;
|
|
3310
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAlertDialogTriggerDirective, "yuw-button[yuwAlertDialogTriggerFor], yuw-button[yuwAlertDialogTriggerButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3148
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAlertDialogTriggerDirective, "yuw-button[yuwAlertDialogTriggerFor], yuw-button[yuwAlertDialogTriggerButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$c.BrnAlertDialogTrigger; inputs: { "id": "id"; "brnAlertDialogTriggerFor": "yuwAlertDialogTriggerFor"; "type": "type"; }; outputs: {}; }]>;
|
|
3311
3149
|
}
|
|
3312
3150
|
|
|
3313
3151
|
/** A single tab in `<yuw-tabs>`, pairing the trigger label with the id used to match its content. */
|
|
@@ -3426,37 +3264,37 @@ declare class YuwTabContentDirective {
|
|
|
3426
3264
|
*/
|
|
3427
3265
|
declare class YuwAttachmentDirective {
|
|
3428
3266
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAttachmentDirective, never>;
|
|
3429
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentDirective, "[yuwAttachment], yuw-attachment", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3267
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentDirective, "[yuwAttachment], yuw-attachment", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmAttachment; inputs: { "state": "state"; "size": "size"; "orientation": "orientation"; }; outputs: {}; }]>;
|
|
3430
3268
|
}
|
|
3431
3269
|
/** Scrollable, snapping row that lays out several attachment cards. */
|
|
3432
3270
|
declare class YuwAttachmentGroupDirective {
|
|
3433
3271
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAttachmentGroupDirective, never>;
|
|
3434
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentGroupDirective, "[yuwAttachmentGroup], yuw-attachment-group", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3272
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentGroupDirective, "[yuwAttachmentGroup], yuw-attachment-group", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmAttachmentGroup; inputs: {}; outputs: {}; }]>;
|
|
3435
3273
|
}
|
|
3436
3274
|
/** Leading media slot of an attachment, for a file-type icon or an image preview. Supports `variant` (`'icon'`, `'image'`). */
|
|
3437
3275
|
declare class YuwAttachmentMediaDirective {
|
|
3438
3276
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAttachmentMediaDirective, never>;
|
|
3439
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentMediaDirective, "[yuwAttachmentMedia], yuw-attachment-media", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3277
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentMediaDirective, "[yuwAttachmentMedia], yuw-attachment-media", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmAttachmentMedia; inputs: { "variant": "variant"; }; outputs: {}; }]>;
|
|
3440
3278
|
}
|
|
3441
3279
|
/** Text content container of an attachment, holding its title and description. */
|
|
3442
3280
|
declare class YuwAttachmentContentDirective {
|
|
3443
3281
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAttachmentContentDirective, never>;
|
|
3444
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentContentDirective, "[yuwAttachmentContent], yuw-attachment-content", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3282
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentContentDirective, "[yuwAttachmentContent], yuw-attachment-content", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmAttachmentContent; inputs: {}; outputs: {}; }]>;
|
|
3445
3283
|
}
|
|
3446
3284
|
/** File name of an attachment. Truncates and shimmers while the attachment is uploading or processing. */
|
|
3447
3285
|
declare class YuwAttachmentTitleDirective {
|
|
3448
3286
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAttachmentTitleDirective, never>;
|
|
3449
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentTitleDirective, "[yuwAttachmentTitle], yuw-attachment-title", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3287
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentTitleDirective, "[yuwAttachmentTitle], yuw-attachment-title", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmAttachmentTitle; inputs: {}; outputs: {}; }]>;
|
|
3450
3288
|
}
|
|
3451
3289
|
/** Secondary line of an attachment, for file size, progress, or an error message. */
|
|
3452
3290
|
declare class YuwAttachmentDescriptionDirective {
|
|
3453
3291
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAttachmentDescriptionDirective, never>;
|
|
3454
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentDescriptionDirective, "[yuwAttachmentDescription], yuw-attachment-description", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3292
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentDescriptionDirective, "[yuwAttachmentDescription], yuw-attachment-description", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmAttachmentDescription; inputs: {}; outputs: {}; }]>;
|
|
3455
3293
|
}
|
|
3456
3294
|
/** Trailing container for an attachment's action buttons. */
|
|
3457
3295
|
declare class YuwAttachmentActionsDirective {
|
|
3458
3296
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAttachmentActionsDirective, never>;
|
|
3459
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentActionsDirective, "[yuwAttachmentActions], yuw-attachment-actions", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3297
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentActionsDirective, "[yuwAttachmentActions], yuw-attachment-actions", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmAttachmentActions; inputs: {}; outputs: {}; }]>;
|
|
3460
3298
|
}
|
|
3461
3299
|
/**
|
|
3462
3300
|
* Icon-sized action button inside an attachment, such as remove or retry.
|
|
@@ -3477,7 +3315,7 @@ declare class YuwAttachmentActionDirective extends HlmAttachmentAction {
|
|
|
3477
3315
|
/** Turns the whole attachment card into a single clickable target, layered under its actions. */
|
|
3478
3316
|
declare class YuwAttachmentTriggerDirective {
|
|
3479
3317
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAttachmentTriggerDirective, never>;
|
|
3480
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentTriggerDirective, "button[yuwAttachmentTrigger], a[yuwAttachmentTrigger]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3318
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentTriggerDirective, "button[yuwAttachmentTrigger], a[yuwAttachmentTrigger]", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmAttachmentTrigger; inputs: { "type": "type"; }; outputs: {}; }]>;
|
|
3481
3319
|
}
|
|
3482
3320
|
|
|
3483
3321
|
/**
|
|
@@ -3850,12 +3688,12 @@ declare class YuwSidebarTriggerComponent {
|
|
|
3850
3688
|
*/
|
|
3851
3689
|
declare class YuwSidebarWrapperDirective {
|
|
3852
3690
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarWrapperDirective, never>;
|
|
3853
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarWrapperDirective, "[yuwSidebarWrapper], yuw-sidebar-wrapper", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3691
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarWrapperDirective, "[yuwSidebarWrapper], yuw-sidebar-wrapper", never, {}, {}, never, never, true, [{ directive: typeof i1$e.HlmSidebarWrapper; inputs: { "sidebarWidth": "sidebarWidth"; "sidebarWidthIcon": "sidebarWidthIcon"; }; outputs: {}; }]>;
|
|
3854
3692
|
}
|
|
3855
3693
|
/** Top area of the sidebar, above the scrollable content. */
|
|
3856
3694
|
declare class YuwSidebarHeaderDirective {
|
|
3857
3695
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarHeaderDirective, never>;
|
|
3858
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarHeaderDirective, "[yuwSidebarHeader], yuw-sidebar-header", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3696
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarHeaderDirective, "[yuwSidebarHeader], yuw-sidebar-header", never, {}, {}, never, never, true, [{ directive: typeof i1$e.HlmSidebarHeader; inputs: {}; outputs: {}; }]>;
|
|
3859
3697
|
}
|
|
3860
3698
|
/**
|
|
3861
3699
|
* Scrollable middle area of the sidebar that holds the navigation groups.
|
|
@@ -3883,13 +3721,13 @@ declare class YuwSidebarHeaderDirective {
|
|
|
3883
3721
|
declare class YuwSidebarContentDirective {
|
|
3884
3722
|
constructor();
|
|
3885
3723
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarContentDirective, never>;
|
|
3886
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarContentDirective, "[yuwSidebarContent], yuw-sidebar-content", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3724
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarContentDirective, "[yuwSidebarContent], yuw-sidebar-content", never, {}, {}, never, never, true, [{ directive: typeof i1$e.HlmSidebarContent; inputs: {}; outputs: {}; }]>;
|
|
3887
3725
|
}
|
|
3888
3726
|
/** Bottom area of the sidebar, below the scrollable content. */
|
|
3889
3727
|
declare class YuwSidebarFooterDirective {
|
|
3890
3728
|
constructor();
|
|
3891
3729
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarFooterDirective, never>;
|
|
3892
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarFooterDirective, "[yuwSidebarFooter], yuw-sidebar-footer", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3730
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarFooterDirective, "[yuwSidebarFooter], yuw-sidebar-footer", never, {}, {}, never, never, true, [{ directive: typeof i1$e.HlmSidebarFooter; inputs: {}; outputs: {}; }]>;
|
|
3893
3731
|
}
|
|
3894
3732
|
/**
|
|
3895
3733
|
* A titled section of the sidebar.
|
|
@@ -3903,7 +3741,7 @@ declare class YuwSidebarFooterDirective {
|
|
|
3903
3741
|
declare class YuwSidebarGroupDirective {
|
|
3904
3742
|
constructor();
|
|
3905
3743
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarGroupDirective, never>;
|
|
3906
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarGroupDirective, "[yuwSidebarGroup], yuw-sidebar-group", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3744
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarGroupDirective, "[yuwSidebarGroup], yuw-sidebar-group", never, {}, {}, never, never, true, [{ directive: typeof i1$e.HlmSidebarGroup; inputs: {}; outputs: {}; }]>;
|
|
3907
3745
|
}
|
|
3908
3746
|
/**
|
|
3909
3747
|
* Heading of a sidebar group. Removed from the layout when the sidebar collapses to icons.
|
|
@@ -3917,17 +3755,17 @@ declare class YuwSidebarGroupDirective {
|
|
|
3917
3755
|
declare class YuwSidebarGroupLabelDirective {
|
|
3918
3756
|
constructor();
|
|
3919
3757
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarGroupLabelDirective, never>;
|
|
3920
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarGroupLabelDirective, "div[yuwSidebarGroupLabel], button[yuwSidebarGroupLabel]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3758
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarGroupLabelDirective, "div[yuwSidebarGroupLabel], button[yuwSidebarGroupLabel]", never, {}, {}, never, never, true, [{ directive: typeof i1$e.HlmSidebarGroupLabel; inputs: {}; outputs: {}; }]>;
|
|
3921
3759
|
}
|
|
3922
3760
|
/** Body of a sidebar group, wrapping its menu. */
|
|
3923
3761
|
declare class YuwSidebarGroupContentDirective {
|
|
3924
3762
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarGroupContentDirective, never>;
|
|
3925
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarGroupContentDirective, "div[yuwSidebarGroupContent]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3763
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarGroupContentDirective, "div[yuwSidebarGroupContent]", never, {}, {}, never, never, true, [{ directive: typeof i1$e.HlmSidebarGroupContent; inputs: {}; outputs: {}; }]>;
|
|
3926
3764
|
}
|
|
3927
3765
|
/** Navigation list of a sidebar group. Apply to a `<ul>`. */
|
|
3928
3766
|
declare class YuwSidebarMenuDirective {
|
|
3929
3767
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuDirective, never>;
|
|
3930
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuDirective, "ul[yuwSidebarMenu]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3768
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuDirective, "ul[yuwSidebarMenu]", never, {}, {}, never, never, true, [{ directive: typeof i1$e.HlmSidebarMenu; inputs: {}; outputs: {}; }]>;
|
|
3931
3769
|
}
|
|
3932
3770
|
/**
|
|
3933
3771
|
* Marks projected markup that belongs *inside* the region `<yuw-sidebar>` renders from its `content`
|
|
@@ -3959,7 +3797,7 @@ declare class YuwSidebarFooterExtraDirective {
|
|
|
3959
3797
|
declare class YuwSidebarMenuItemDirective {
|
|
3960
3798
|
constructor();
|
|
3961
3799
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuItemDirective, never>;
|
|
3962
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuItemDirective, "li[yuwSidebarMenuItem]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3800
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuItemDirective, "li[yuwSidebarMenuItem]", never, {}, {}, never, never, true, [{ directive: typeof i1$e.HlmSidebarMenuItem; inputs: {}; outputs: {}; }]>;
|
|
3963
3801
|
}
|
|
3964
3802
|
/**
|
|
3965
3803
|
* Interactive control of a sidebar menu item. Accepts `variant` (`'default'`, `'outline'`), `size`
|
|
@@ -4021,7 +3859,7 @@ declare class YuwSidebarMenuItemDirective {
|
|
|
4021
3859
|
declare class YuwSidebarMenuButtonDirective {
|
|
4022
3860
|
constructor();
|
|
4023
3861
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuButtonDirective, never>;
|
|
4024
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuButtonDirective, "button[yuwSidebarMenuButton], a[yuwSidebarMenuButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3862
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuButtonDirective, "button[yuwSidebarMenuButton], a[yuwSidebarMenuButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$e.HlmSidebarMenuButton; inputs: { "variant": "variant"; "size": "size"; "isActive": "isActive"; "closeMobileSidebarOnClick": "closeMobileSidebarOnClick"; }; outputs: {}; }]>;
|
|
4025
3863
|
}
|
|
4026
3864
|
/**
|
|
4027
3865
|
* Applied alongside `[yuwSidebarMenuButton]` on an entry whose leading slot is a 40px avatar rather
|
|
@@ -4059,17 +3897,17 @@ declare class YuwSidebarMenuAvatarButtonDirective {
|
|
|
4059
3897
|
/** Trailing count or status badge of a sidebar menu item. */
|
|
4060
3898
|
declare class YuwSidebarMenuBadgeDirective {
|
|
4061
3899
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuBadgeDirective, never>;
|
|
4062
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuBadgeDirective, "[yuwSidebarMenuBadge], yuw-sidebar-menu-badge", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3900
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuBadgeDirective, "[yuwSidebarMenuBadge], yuw-sidebar-menu-badge", never, {}, {}, never, never, true, [{ directive: typeof i1$e.HlmSidebarMenuBadge; inputs: {}; outputs: {}; }]>;
|
|
4063
3901
|
}
|
|
4064
3902
|
/** Nested submenu list of a sidebar menu item. Apply to a `<ul>`. */
|
|
4065
3903
|
declare class YuwSidebarMenuSubDirective {
|
|
4066
3904
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuSubDirective, never>;
|
|
4067
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuSubDirective, "ul[yuwSidebarMenuSub]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3905
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuSubDirective, "ul[yuwSidebarMenuSub]", never, {}, {}, never, never, true, [{ directive: typeof i1$e.HlmSidebarMenuSub; inputs: {}; outputs: {}; }]>;
|
|
4068
3906
|
}
|
|
4069
3907
|
/** A single entry of a sidebar submenu. Apply to an `<li>`. */
|
|
4070
3908
|
declare class YuwSidebarMenuSubItemDirective {
|
|
4071
3909
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuSubItemDirective, never>;
|
|
4072
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuSubItemDirective, "li[yuwSidebarMenuSubItem]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3910
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuSubItemDirective, "li[yuwSidebarMenuSubItem]", never, {}, {}, never, never, true, [{ directive: typeof i1$e.HlmSidebarMenuSubItem; inputs: {}; outputs: {}; }]>;
|
|
4073
3911
|
}
|
|
4074
3912
|
/**
|
|
4075
3913
|
* Interactive control of a sidebar submenu item. Accepts `size` (`'sm'`, `'md'`) and `isActive`.
|
|
@@ -4083,12 +3921,12 @@ declare class YuwSidebarMenuSubItemDirective {
|
|
|
4083
3921
|
declare class YuwSidebarMenuSubButtonDirective {
|
|
4084
3922
|
constructor();
|
|
4085
3923
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuSubButtonDirective, never>;
|
|
4086
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuSubButtonDirective, "a[yuwSidebarMenuSubButton], button[yuwSidebarMenuSubButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3924
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuSubButtonDirective, "a[yuwSidebarMenuSubButton], button[yuwSidebarMenuSubButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$e.HlmSidebarMenuSubButton; inputs: { "size": "size"; "isActive": "isActive"; "closeMobileSidebarOnClick": "closeMobileSidebarOnClick"; }; outputs: {}; }]>;
|
|
4087
3925
|
}
|
|
4088
3926
|
/** Divider between sidebar sections. */
|
|
4089
3927
|
declare class YuwSidebarSeparatorDirective {
|
|
4090
3928
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarSeparatorDirective, never>;
|
|
4091
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarSeparatorDirective, "[yuwSidebarSeparator], yuw-sidebar-separator", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3929
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarSeparatorDirective, "[yuwSidebarSeparator], yuw-sidebar-separator", never, {}, {}, never, never, true, [{ directive: typeof i1$e.HlmSidebarSeparator; inputs: {}; outputs: {}; }]>;
|
|
4092
3930
|
}
|
|
4093
3931
|
/**
|
|
4094
3932
|
* Thin draggable edge that toggles the sidebar. Apply to a `<button>`.
|
|
@@ -4102,12 +3940,12 @@ declare class YuwSidebarSeparatorDirective {
|
|
|
4102
3940
|
declare class YuwSidebarRailDirective {
|
|
4103
3941
|
readonly label: _angular_core.InputSignal<string>;
|
|
4104
3942
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarRailDirective, never>;
|
|
4105
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarRailDirective, "button[yuwSidebarRail]", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1$
|
|
3943
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarRailDirective, "button[yuwSidebarRail]", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1$e.HlmSidebarRail; inputs: {}; outputs: {}; }]>;
|
|
4106
3944
|
}
|
|
4107
3945
|
/** Main content region beside the sidebar. Apply to a `<main>`. */
|
|
4108
3946
|
declare class YuwSidebarInsetDirective {
|
|
4109
3947
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarInsetDirective, never>;
|
|
4110
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarInsetDirective, "main[yuwSidebarInset]", never, {}, {}, never, never, true, [{ directive: typeof i1$
|
|
3948
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarInsetDirective, "main[yuwSidebarInset]", never, {}, {}, never, never, true, [{ directive: typeof i1$e.HlmSidebarInset; inputs: {}; outputs: {}; }]>;
|
|
4111
3949
|
}
|
|
4112
3950
|
|
|
4113
3951
|
declare const YUW_SIDEBAR_RAIL_PADDING = "22px";
|
|
@@ -4307,5 +4145,819 @@ declare class YuwCommandDialogComponent {
|
|
|
4307
4145
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwCommandDialogComponent, "yuw-command-dialog", never, { "closeOnSelect": { "alias": "closeOnSelect"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "groups": { "alias": "groups"; "required": true; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; }, { "open": "openChange"; "search": "searchChange"; "commandSelected": "commandSelected"; }, never, never, true, never>;
|
|
4308
4146
|
}
|
|
4309
4147
|
|
|
4310
|
-
|
|
4311
|
-
|
|
4148
|
+
/**
|
|
4149
|
+
* Derives up to two uppercase initials from a name or an email address.
|
|
4150
|
+
*
|
|
4151
|
+
* The text is split on anything that is not a letter or a digit, so separators such as `.`, `@`, `-` or `_` never end
|
|
4152
|
+
* up as an initial: `Pere Sanches` and `p.sanchez@gmail.com` both give `PS`.
|
|
4153
|
+
*
|
|
4154
|
+
* @param text Display name or email.
|
|
4155
|
+
* @returns The first characters of the first two words, or an empty string when there are none.
|
|
4156
|
+
*/
|
|
4157
|
+
declare function yuwsInitialsOf(text: string): string;
|
|
4158
|
+
|
|
4159
|
+
/**
|
|
4160
|
+
* Tracks a media query as a signal. Resolves to a constant `false` where `matchMedia` is unavailable: a non-browser
|
|
4161
|
+
* platform has no OS preference or viewport to follow, so callers settle on their non-matching default instead of
|
|
4162
|
+
* throwing during injection. Server platforms expose a `window` shim without `matchMedia`, hence the `typeof` check.
|
|
4163
|
+
* Must be called in an injection context.
|
|
4164
|
+
*/
|
|
4165
|
+
declare function yuwsMediaQuerySignal(window: (Window & typeof globalThis) | null | undefined, query: string): Signal<boolean>;
|
|
4166
|
+
|
|
4167
|
+
/**
|
|
4168
|
+
* `rowClass` for `yuw-datatable` that dims and locks the rows whose id is in `pendingIds`, so nobody edits on top of
|
|
4169
|
+
* a write still in flight. `idOf` reads the id because not every row is identified the same way.
|
|
4170
|
+
*/
|
|
4171
|
+
declare function yuwsPendingRowClass<Row extends object>(pendingIds: Signal<ReadonlySet<string>>, idOf: (row: Row) => string): YuwDatatableRowClass<Row>;
|
|
4172
|
+
|
|
4173
|
+
/**
|
|
4174
|
+
* Reads a file as a `data:` URL, for previews and for backends that take the image inline.
|
|
4175
|
+
*
|
|
4176
|
+
* @param file File to read.
|
|
4177
|
+
* @returns The `data:` URL of the file contents; rejects if the browser fails to read it.
|
|
4178
|
+
*/
|
|
4179
|
+
declare function yuwsReadFileAsDataUrl(file: File): Promise<string>;
|
|
4180
|
+
|
|
4181
|
+
/** State of a create/edit sheet. `editing` is `undefined` while creating. */
|
|
4182
|
+
interface YuwsSheetEditor<Item> {
|
|
4183
|
+
readonly open: WritableSignal<boolean>;
|
|
4184
|
+
readonly editing: Signal<Item | undefined>;
|
|
4185
|
+
edit(item: Item): void;
|
|
4186
|
+
startNew(): void;
|
|
4187
|
+
}
|
|
4188
|
+
/**
|
|
4189
|
+
* State of a create/edit sheet: bind `open` with `[(open)]` and `editing` to the sheet's item, call `edit` from a row
|
|
4190
|
+
* and `startNew` from the "new" action.
|
|
4191
|
+
*/
|
|
4192
|
+
declare function createYuwsSheetEditor<Item>(): YuwsSheetEditor<Item>;
|
|
4193
|
+
|
|
4194
|
+
/**
|
|
4195
|
+
* Table cell with the active/inactive state of a row as a badge. The color derives from `active`, so an inactive row
|
|
4196
|
+
* can never be painted green.
|
|
4197
|
+
*
|
|
4198
|
+
* Inputs:
|
|
4199
|
+
* - `active` (required): Whether the row is active.
|
|
4200
|
+
* - `label` (required): Visible state text. The consuming app translates it.
|
|
4201
|
+
*
|
|
4202
|
+
* Usage:
|
|
4203
|
+
* ```ts
|
|
4204
|
+
* cell: ({ row }) => flexRenderComponent(YuwsActiveStatusCellComponent, { inputs: { active: row.original.active, label } })
|
|
4205
|
+
* ```
|
|
4206
|
+
*/
|
|
4207
|
+
declare class YuwsActiveStatusCellComponent {
|
|
4208
|
+
readonly active: _angular_core.InputSignal<boolean>;
|
|
4209
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
4210
|
+
protected readonly color: _angular_core.Signal<YuwColorDto>;
|
|
4211
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsActiveStatusCellComponent, never>;
|
|
4212
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsActiveStatusCellComponent, "yuws-active-status-cell", never, { "active": { "alias": "active"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4213
|
+
}
|
|
4214
|
+
|
|
4215
|
+
/** Avatar size of the cell: `sm` for entity listings, `md` for the 45x45 thumbnails of catalog listings. */
|
|
4216
|
+
type YuwsAvatarNameCellSize = 'sm' | 'md';
|
|
4217
|
+
/**
|
|
4218
|
+
* Table cell with the identity of a row: avatar and name. The name is text, not a link: the whole row is the click
|
|
4219
|
+
* target. Without an image the avatar shows the initials of `name`.
|
|
4220
|
+
*
|
|
4221
|
+
* Inputs:
|
|
4222
|
+
* - `imageUrl`: Image of the row. Default is `undefined`.
|
|
4223
|
+
* - `name` (required): Visible name; also the avatar's alternative text.
|
|
4224
|
+
* - `size`: Avatar size (`'sm'`, `'md'`). Default is `'sm'`.
|
|
4225
|
+
*/
|
|
4226
|
+
declare class YuwsAvatarNameCellComponent {
|
|
4227
|
+
readonly imageUrl: _angular_core.InputSignal<string | undefined>;
|
|
4228
|
+
readonly name: _angular_core.InputSignal<string>;
|
|
4229
|
+
readonly size: _angular_core.InputSignal<YuwsAvatarNameCellSize>;
|
|
4230
|
+
protected readonly avatar: _angular_core.Signal<{
|
|
4231
|
+
size: YuwAvatarSizeDto;
|
|
4232
|
+
class: string;
|
|
4233
|
+
}>;
|
|
4234
|
+
protected readonly initials: _angular_core.Signal<string>;
|
|
4235
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsAvatarNameCellComponent, never>;
|
|
4236
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsAvatarNameCellComponent, "yuws-avatar-name-cell", never, { "imageUrl": { "alias": "imageUrl"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4237
|
+
}
|
|
4238
|
+
|
|
4239
|
+
/**
|
|
4240
|
+
* Table cell that clamps its text to two lines, breaking anywhere, for long values with no spaces such as tokens. The
|
|
4241
|
+
* full text stays in the `title`.
|
|
4242
|
+
*
|
|
4243
|
+
* Inputs:
|
|
4244
|
+
* - `text` (required): Value to show.
|
|
4245
|
+
*/
|
|
4246
|
+
declare class YuwsClampedTextCellComponent {
|
|
4247
|
+
readonly text: _angular_core.InputSignal<string>;
|
|
4248
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsClampedTextCellComponent, never>;
|
|
4249
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsClampedTextCellComponent, "yuws-clamped-text-cell", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4250
|
+
}
|
|
4251
|
+
|
|
4252
|
+
/**
|
|
4253
|
+
* Table cell for a boolean field: a check or a dash. The icon is never the only carrier of the meaning: it takes
|
|
4254
|
+
* `label` as its accessible name.
|
|
4255
|
+
*
|
|
4256
|
+
* Inputs:
|
|
4257
|
+
* - `enabled` (required): Value of the field.
|
|
4258
|
+
* - `label` (required): Accessible text of the state. The consuming app translates it.
|
|
4259
|
+
*/
|
|
4260
|
+
declare class YuwsFlagCellComponent {
|
|
4261
|
+
readonly enabled: _angular_core.InputSignal<boolean>;
|
|
4262
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
4263
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsFlagCellComponent, never>;
|
|
4264
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsFlagCellComponent, "yuws-flag-cell", never, { "enabled": { "alias": "enabled"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4265
|
+
}
|
|
4266
|
+
|
|
4267
|
+
/**
|
|
4268
|
+
* Icon button at the end of a row, hidden until the row is hovered or keyboard-focused like the pencil of
|
|
4269
|
+
* `buildYuwActionsColumn`; touch devices keep it visible. `icon` is the SVG itself (e.g. `lucideEye`), so the cell does
|
|
4270
|
+
* not have to register every consumer's icon. The host stops the click so a clickable row does not fire too.
|
|
4271
|
+
*
|
|
4272
|
+
* Inputs:
|
|
4273
|
+
* - `action` (required): Callback run on click. An input because `flexRenderComponent` does not subscribe outputs.
|
|
4274
|
+
* - `icon` (required): SVG markup of the icon.
|
|
4275
|
+
* - `label` (required): Accessible name of the button. The consuming app translates it.
|
|
4276
|
+
*/
|
|
4277
|
+
declare class YuwsIconActionCellComponent {
|
|
4278
|
+
readonly action: _angular_core.InputSignal<() => void>;
|
|
4279
|
+
readonly icon: _angular_core.InputSignal<string>;
|
|
4280
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
4281
|
+
protected run(): void;
|
|
4282
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsIconActionCellComponent, never>;
|
|
4283
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsIconActionCellComponent, "yuws-icon-action-cell", never, { "action": { "alias": "action"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4284
|
+
}
|
|
4285
|
+
|
|
4286
|
+
/** Image size of the cell: `lg` is the 60x60 catalog thumbnail, `md` the 45x45 one. */
|
|
4287
|
+
type YuwsImageCellSize = 'md' | 'lg';
|
|
4288
|
+
/**
|
|
4289
|
+
* Table cell with the image of a row, backed by the initials of `name` when the image is missing or fails to load.
|
|
4290
|
+
* Sizes go through `class` because `yuw-avatar` sizes stop short of them.
|
|
4291
|
+
*
|
|
4292
|
+
* Inputs:
|
|
4293
|
+
* - `imageUrl`: Image of the row. Default is `undefined`.
|
|
4294
|
+
* - `name` (required): What the image shows; its alternative text and the source of the initials.
|
|
4295
|
+
* - `size`: Image size (`'md'`, `'lg'`). Default is `'lg'`.
|
|
4296
|
+
*/
|
|
4297
|
+
declare class YuwsImageCellComponent {
|
|
4298
|
+
readonly imageUrl: _angular_core.InputSignal<string | undefined>;
|
|
4299
|
+
readonly name: _angular_core.InputSignal<string>;
|
|
4300
|
+
readonly size: _angular_core.InputSignal<YuwsImageCellSize>;
|
|
4301
|
+
protected readonly initials: _angular_core.Signal<string>;
|
|
4302
|
+
protected readonly sizeClass: _angular_core.Signal<string>;
|
|
4303
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsImageCellComponent, never>;
|
|
4304
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsImageCellComponent, "yuws-image-cell", never, { "imageUrl": { "alias": "imageUrl"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4305
|
+
}
|
|
4306
|
+
|
|
4307
|
+
/**
|
|
4308
|
+
* Table cell with a link that opens in a new tab. It stops the click so a clickable row does not navigate too.
|
|
4309
|
+
*
|
|
4310
|
+
* Inputs:
|
|
4311
|
+
* - `href` (required): Link target.
|
|
4312
|
+
* - `label` (required): Link text. The consuming app translates it.
|
|
4313
|
+
*/
|
|
4314
|
+
declare class YuwsLinkCellComponent {
|
|
4315
|
+
readonly href: _angular_core.InputSignal<string>;
|
|
4316
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
4317
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsLinkCellComponent, never>;
|
|
4318
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsLinkCellComponent, "yuws-link-cell", never, { "href": { "alias": "href"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4319
|
+
}
|
|
4320
|
+
|
|
4321
|
+
/**
|
|
4322
|
+
* Table cell with a clickable pill: a state that flips on click (active, blocked) or, without `positive`, a neutral
|
|
4323
|
+
* action such as duplicate. It is a button so it is keyboard reachable, and it stops the click so a clickable row does
|
|
4324
|
+
* not fire too. `toggled` is an input because `flexRenderComponent` does not subscribe outputs.
|
|
4325
|
+
*
|
|
4326
|
+
* Inputs:
|
|
4327
|
+
* - `disabled`: Disables the pill. Default is `false`.
|
|
4328
|
+
* - `label` (required): Visible text. The consuming app translates it.
|
|
4329
|
+
* - `positive`: `true` paints the pill green, `false` red; unset keeps it neutral. Default is `undefined`.
|
|
4330
|
+
* - `toggled` (required): Callback run on click.
|
|
4331
|
+
*/
|
|
4332
|
+
declare class YuwsStatusToggleCellComponent {
|
|
4333
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
4334
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
4335
|
+
readonly positive: _angular_core.InputSignal<boolean | undefined>;
|
|
4336
|
+
readonly toggled: _angular_core.InputSignal<() => void>;
|
|
4337
|
+
private readonly _tone;
|
|
4338
|
+
protected readonly toneClass: _angular_core.Signal<string>;
|
|
4339
|
+
protected onClick(event: Event): void;
|
|
4340
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsStatusToggleCellComponent, never>;
|
|
4341
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsStatusToggleCellComponent, "yuws-status-toggle-cell", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "positive": { "alias": "positive"; "required": false; "isSignal": true; }; "toggled": { "alias": "toggled"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4342
|
+
}
|
|
4343
|
+
|
|
4344
|
+
/** Text of a cell with no value. */
|
|
4345
|
+
declare const YUWS_NO_DATA_PLACEHOLDER = "\u2014";
|
|
4346
|
+
/** Options of a text column: whether it sorts and whether its text may wrap. */
|
|
4347
|
+
interface YuwsTextColumnOptions {
|
|
4348
|
+
enableSorting?: boolean;
|
|
4349
|
+
wrap?: boolean;
|
|
4350
|
+
}
|
|
4351
|
+
/** Texts of the two states of a boolean column, already translated. */
|
|
4352
|
+
interface YuwsStateLabels {
|
|
4353
|
+
on: string;
|
|
4354
|
+
off: string;
|
|
4355
|
+
}
|
|
4356
|
+
/** Icon button column. `visible` decides the rows that show the button; without it every row does. */
|
|
4357
|
+
interface YuwsIconActionColumn<Row> {
|
|
4358
|
+
id: string;
|
|
4359
|
+
icon: string;
|
|
4360
|
+
label: string;
|
|
4361
|
+
header?: string;
|
|
4362
|
+
onAction: (row: Row) => void;
|
|
4363
|
+
visible?: (row: Row) => boolean;
|
|
4364
|
+
}
|
|
4365
|
+
/** State column that flips on click. `disabled` locks the rows whose state cannot change. */
|
|
4366
|
+
interface YuwsStatusToggleColumn<Row> {
|
|
4367
|
+
key: keyof Row & string;
|
|
4368
|
+
header: string;
|
|
4369
|
+
labels: YuwsStateLabels;
|
|
4370
|
+
positive: (row: Row) => boolean;
|
|
4371
|
+
toggled: (row: Row) => void;
|
|
4372
|
+
disabled?: (row: Row) => boolean;
|
|
4373
|
+
}
|
|
4374
|
+
/** Text column that shows `YUWS_NO_DATA_PLACEHOLDER` when the value is missing or an empty string. */
|
|
4375
|
+
declare function buildYuwsOptionalTextColumn<Row extends Record<string, unknown>>(key: keyof Row & string, header: string, options?: YuwsTextColumnOptions): YuwDatatableColumnDef<Row>;
|
|
4376
|
+
/** Date and time column formatted for `locale`, with `YUWS_NO_DATA_PLACEHOLDER` when the row has none. */
|
|
4377
|
+
declare function buildYuwsDateTimeColumn<Row extends Record<string, unknown>>(key: keyof Row & string, header: string, locale: string | undefined, enableSorting?: boolean): YuwDatatableColumnDef<Row>;
|
|
4378
|
+
/** Read-only active/inactive column of a row that exposes `active`. */
|
|
4379
|
+
declare function buildYuwsActiveStatusColumn<Row extends {
|
|
4380
|
+
active: boolean;
|
|
4381
|
+
}>(header: string, labels: YuwsStateLabels, meta?: YuwDatatableColumnDef<Row>['meta']): YuwDatatableColumnDef<Row>;
|
|
4382
|
+
/** State column that flips on click, painted green or red by `positive`. */
|
|
4383
|
+
declare function buildYuwsStatusToggleColumn<Row extends Record<string, unknown>>(column: YuwsStatusToggleColumn<Row>): YuwDatatableColumnDef<Row>;
|
|
4384
|
+
/** Last column with an icon button that runs `onAction` on the row. */
|
|
4385
|
+
declare function buildYuwsIconActionColumn<Row extends RowData>(column: YuwsIconActionColumn<Row>): YuwDatatableColumnDef<Row>;
|
|
4386
|
+
|
|
4387
|
+
/**
|
|
4388
|
+
* Button that copies a value to the clipboard without showing it. The icon turns into a check for a moment, and the
|
|
4389
|
+
* optional messages raise a toast for whoever looks elsewhere. Copying again restarts the wait. The host stops the
|
|
4390
|
+
* click because the button usually lives in a clickable row.
|
|
4391
|
+
*
|
|
4392
|
+
* Inputs:
|
|
4393
|
+
* - `ariaLabel` (required): Accessible name of the button. The consuming app translates it.
|
|
4394
|
+
* - `copiedMessage`: Success toast text; no toast when unset. Default is `undefined`.
|
|
4395
|
+
* - `failedMessage`: Error toast text; no toast when unset. Default is `undefined`.
|
|
4396
|
+
* - `value` (required): Text copied to the clipboard.
|
|
4397
|
+
*/
|
|
4398
|
+
declare class YuwsCopyButtonComponent {
|
|
4399
|
+
private readonly _navigator;
|
|
4400
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
4401
|
+
readonly copiedMessage: _angular_core.InputSignal<string | undefined>;
|
|
4402
|
+
readonly failedMessage: _angular_core.InputSignal<string | undefined>;
|
|
4403
|
+
readonly value: _angular_core.InputSignal<string>;
|
|
4404
|
+
private readonly _copies;
|
|
4405
|
+
protected readonly copied: _angular_core.Signal<boolean>;
|
|
4406
|
+
protected copy(): Promise<void>;
|
|
4407
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsCopyButtonComponent, never>;
|
|
4408
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsCopyButtonComponent, "yuws-copy-button", never, { "ariaLabel": { "alias": "ariaLabel"; "required": true; "isSignal": true; }; "copiedMessage": { "alias": "copiedMessage"; "required": false; "isSignal": true; }; "failedMessage": { "alias": "failedMessage"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4409
|
+
}
|
|
4410
|
+
|
|
4411
|
+
/** State a `yuws-confirm-dialog` reads: whether it is open, its title and what confirming does. */
|
|
4412
|
+
interface YuwsConfirmationState {
|
|
4413
|
+
readonly open: WritableSignal<boolean>;
|
|
4414
|
+
readonly title: Signal<string>;
|
|
4415
|
+
confirm(): void;
|
|
4416
|
+
}
|
|
4417
|
+
|
|
4418
|
+
/**
|
|
4419
|
+
* Dialog that asks to confirm an action on a row (delete, restore, block). It opens from its state rather than from a
|
|
4420
|
+
* trigger of its own, because the row starts the action.
|
|
4421
|
+
*
|
|
4422
|
+
* Inputs:
|
|
4423
|
+
* - `cancelLabel` (required): Cancel button text. The consuming app translates it.
|
|
4424
|
+
* - `confirmation` (required): Open state, title and confirm callback.
|
|
4425
|
+
* - `confirmLabel` (required): Confirm button text. The consuming app translates it.
|
|
4426
|
+
* - `description` (required): Body text. The consuming app translates it.
|
|
4427
|
+
* - `destructive`: Paints the confirm button red, for what cannot be undone. Default is `false`.
|
|
4428
|
+
*/
|
|
4429
|
+
declare class YuwsConfirmDialogComponent {
|
|
4430
|
+
readonly cancelLabel: _angular_core.InputSignal<string>;
|
|
4431
|
+
readonly confirmation: _angular_core.InputSignal<YuwsConfirmationState>;
|
|
4432
|
+
readonly confirmLabel: _angular_core.InputSignal<string>;
|
|
4433
|
+
readonly description: _angular_core.InputSignal<string>;
|
|
4434
|
+
readonly destructive: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4435
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsConfirmDialogComponent, never>;
|
|
4436
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsConfirmDialogComponent, "yuws-confirm-dialog", never, { "cancelLabel": { "alias": "cancelLabel"; "required": true; "isSignal": true; }; "confirmation": { "alias": "confirmation"; "required": true; "isSignal": true; }; "confirmLabel": { "alias": "confirmLabel"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": true; "isSignal": true; }; "destructive": { "alias": "destructive"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4437
|
+
}
|
|
4438
|
+
|
|
4439
|
+
/**
|
|
4440
|
+
* Combobox for a custom filter (`yuwsFilterContent`) of `yuws-list-toolbar` that looks like the toolbar's own filters:
|
|
4441
|
+
* a secondary button with the group label in bold followed by the selection.
|
|
4442
|
+
*
|
|
4443
|
+
* Inputs:
|
|
4444
|
+
* - `emptyText` (required): Text when the search finds nothing. The consuming app translates it.
|
|
4445
|
+
* - `idleColor`: Trigger color, matching the toolbar's idle filters. Default is `'secondary'`.
|
|
4446
|
+
* - `label` (required): Group label; also the trigger's accessible name.
|
|
4447
|
+
* - `options` (required): Options to pick from.
|
|
4448
|
+
* - `searchPlaceholder`: Placeholder of the search box. Default is `undefined`.
|
|
4449
|
+
* - `value` (model): Selected value.
|
|
4450
|
+
*/
|
|
4451
|
+
declare class YuwsFilterComboboxComponent {
|
|
4452
|
+
readonly emptyText: _angular_core.InputSignal<string>;
|
|
4453
|
+
readonly idleColor: _angular_core.InputSignal<YuwColorDto>;
|
|
4454
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
4455
|
+
readonly options: _angular_core.InputSignal<YuwComboboxOptionDto<unknown>[]>;
|
|
4456
|
+
readonly searchPlaceholder: _angular_core.InputSignal<string | undefined>;
|
|
4457
|
+
readonly value: _angular_core.ModelSignal<YuwComboboxValue>;
|
|
4458
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsFilterComboboxComponent, never>;
|
|
4459
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsFilterComboboxComponent, "yuws-filter-combobox", never, { "emptyText": { "alias": "emptyText"; "required": true; "isSignal": true; }; "idleColor": { "alias": "idleColor"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "options": { "alias": "options"; "required": true; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
4460
|
+
}
|
|
4461
|
+
|
|
4462
|
+
/** Texts of the fixed buttons of a `yuws-form-sheet`, already translated by the consuming app. */
|
|
4463
|
+
interface YuwsFormSheetLabels {
|
|
4464
|
+
cancel: string;
|
|
4465
|
+
close: string;
|
|
4466
|
+
save: string;
|
|
4467
|
+
}
|
|
4468
|
+
|
|
4469
|
+
/**
|
|
4470
|
+
* Side edit panel of an entity: the sheet, its title and the cancel/save footer. It only reports `save`, `remove`,
|
|
4471
|
+
* `restore` and `back`: composing the entity and closing the sheet stay with the host, which owns the draft. It opens
|
|
4472
|
+
* from a row, so it has no trigger.
|
|
4473
|
+
*
|
|
4474
|
+
* Inputs:
|
|
4475
|
+
* - `backLabel`: Turns the panel into a sub-step: a back arrow with this accessible name precedes the title, the close
|
|
4476
|
+
* button goes away and cancel emits `back`. Default is `undefined`.
|
|
4477
|
+
* - `errorMessage`: Rejection shown above the footer, so the draft stays on screen to be fixed. Default is `undefined`.
|
|
4478
|
+
* - `hideFooter`: Hides the footer. Default is `false`.
|
|
4479
|
+
* - `labels` (required): Cancel, close and save texts.
|
|
4480
|
+
* - `panelClass`: Class of the sheet panel. Default is `'w-full sm:max-w-md'`.
|
|
4481
|
+
* - `readonly`: Drops the save button. Default is `false`.
|
|
4482
|
+
* - `removeDisabled`: Disables the delete button. Default is `false`.
|
|
4483
|
+
* - `removeLabel`: Renders the delete button with this text. Default is `undefined`.
|
|
4484
|
+
* - `restoreLabel`: Renders the restore button with this text. Default is `undefined`.
|
|
4485
|
+
* - `saveDisabled`: Disables the save button. Default is `false`.
|
|
4486
|
+
* - `saving`: Disables the footer actions while the host's write is in flight. Default is `false`.
|
|
4487
|
+
* - `title` (required): Panel title.
|
|
4488
|
+
* - `open` (model): Whether the panel is open.
|
|
4489
|
+
*
|
|
4490
|
+
* Outputs: `back`, `remove`, `restore`, `save`.
|
|
4491
|
+
*/
|
|
4492
|
+
declare class YuwsFormSheetComponent {
|
|
4493
|
+
readonly backLabel: _angular_core.InputSignal<string | undefined>;
|
|
4494
|
+
readonly errorMessage: _angular_core.InputSignal<string | undefined>;
|
|
4495
|
+
readonly hideFooter: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4496
|
+
readonly labels: _angular_core.InputSignal<YuwsFormSheetLabels>;
|
|
4497
|
+
readonly open: _angular_core.ModelSignal<boolean>;
|
|
4498
|
+
readonly panelClass: _angular_core.InputSignal<string>;
|
|
4499
|
+
readonly readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4500
|
+
readonly removeDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4501
|
+
readonly removeLabel: _angular_core.InputSignal<string | undefined>;
|
|
4502
|
+
readonly restoreLabel: _angular_core.InputSignal<string | undefined>;
|
|
4503
|
+
readonly saveDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4504
|
+
readonly saving: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4505
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
4506
|
+
readonly back: _angular_core.OutputEmitterRef<void>;
|
|
4507
|
+
readonly remove: _angular_core.OutputEmitterRef<void>;
|
|
4508
|
+
readonly restore: _angular_core.OutputEmitterRef<void>;
|
|
4509
|
+
readonly save: _angular_core.OutputEmitterRef<void>;
|
|
4510
|
+
protected onCancel(): void;
|
|
4511
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsFormSheetComponent, never>;
|
|
4512
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsFormSheetComponent, "yuws-form-sheet", never, { "backLabel": { "alias": "backLabel"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "hideFooter": { "alias": "hideFooter"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": true; "isSignal": true; }; "open": { "alias": "open"; "required": true; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "removeDisabled": { "alias": "removeDisabled"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "restoreLabel": { "alias": "restoreLabel"; "required": false; "isSignal": true; }; "saveDisabled": { "alias": "saveDisabled"; "required": false; "isSignal": true; }; "saving": { "alias": "saving"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; }, { "open": "openChange"; "back": "back"; "remove": "remove"; "restore": "restore"; "save": "save"; }, never, ["*"], true, never>;
|
|
4513
|
+
}
|
|
4514
|
+
|
|
4515
|
+
/**
|
|
4516
|
+
* Image field of a form: label, avatar with the current image and an upload button. Without an image the avatar shows
|
|
4517
|
+
* the first letter of `name`.
|
|
4518
|
+
*
|
|
4519
|
+
* Inputs:
|
|
4520
|
+
* - `inputId` (required): Id of the file input, tied to the label.
|
|
4521
|
+
* - `label` (required): Field label. The consuming app translates it.
|
|
4522
|
+
* - `name` (required): What the image represents; its alternative text.
|
|
4523
|
+
* - `src`: Image already stored. Default is `undefined`.
|
|
4524
|
+
* - `uploadLabel` (required): Upload button text. The consuming app translates it.
|
|
4525
|
+
* - `value` (model): Files picked, sent by the form on save.
|
|
4526
|
+
*/
|
|
4527
|
+
declare class YuwsImageFieldComponent {
|
|
4528
|
+
readonly inputId: _angular_core.InputSignal<string>;
|
|
4529
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
4530
|
+
readonly name: _angular_core.InputSignal<string>;
|
|
4531
|
+
readonly src: _angular_core.InputSignal<string | undefined>;
|
|
4532
|
+
readonly uploadLabel: _angular_core.InputSignal<string>;
|
|
4533
|
+
readonly value: _angular_core.ModelSignal<File[]>;
|
|
4534
|
+
protected readonly initial: _angular_core.Signal<string>;
|
|
4535
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsImageFieldComponent, never>;
|
|
4536
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsImageFieldComponent, "yuws-image-field", never, { "inputId": { "alias": "inputId"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "name": { "alias": "name"; "required": true; "isSignal": true; }; "src": { "alias": "src"; "required": false; "isSignal": true; }; "uploadLabel": { "alias": "uploadLabel"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
4537
|
+
}
|
|
4538
|
+
|
|
4539
|
+
/**
|
|
4540
|
+
* Avatar with a button to pick an image that is kept as a `data:` URL in `imageUrl`, for backends that take the image
|
|
4541
|
+
* inline. The picked file is cleared once read, because what is shown and saved is `imageUrl`.
|
|
4542
|
+
*
|
|
4543
|
+
* Inputs:
|
|
4544
|
+
* - `fallback`: Initials shown without an image. Default is the initials of `name`.
|
|
4545
|
+
* - `name` (required): What the image represents; its alternative text.
|
|
4546
|
+
* - `uploadLabel` (required): Upload button text. The consuming app translates it.
|
|
4547
|
+
* - `imageUrl` (model): Current image as a URL or `data:` URL.
|
|
4548
|
+
*/
|
|
4549
|
+
declare class YuwsImageUploadComponent {
|
|
4550
|
+
readonly fallback: _angular_core.InputSignal<string | undefined>;
|
|
4551
|
+
readonly imageUrl: _angular_core.ModelSignal<string | undefined>;
|
|
4552
|
+
readonly name: _angular_core.InputSignal<string>;
|
|
4553
|
+
readonly uploadLabel: _angular_core.InputSignal<string>;
|
|
4554
|
+
protected readonly files: _angular_core.WritableSignal<File[]>;
|
|
4555
|
+
protected readonly initials: _angular_core.Signal<string>;
|
|
4556
|
+
protected onFiles(files: File[]): Promise<void>;
|
|
4557
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsImageUploadComponent, never>;
|
|
4558
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsImageUploadComponent, "yuws-image-upload", never, { "fallback": { "alias": "fallback"; "required": false; "isSignal": true; }; "imageUrl": { "alias": "imageUrl"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": true; "isSignal": true; }; "uploadLabel": { "alias": "uploadLabel"; "required": true; "isSignal": true; }; }, { "imageUrl": "imageUrlChange"; }, never, never, true, never>;
|
|
4559
|
+
}
|
|
4560
|
+
|
|
4561
|
+
/** Text of the page size selector and its range message. */
|
|
4562
|
+
interface YuwsPageSizeLabels {
|
|
4563
|
+
readonly label: string;
|
|
4564
|
+
readonly empty: string;
|
|
4565
|
+
readonly range: (range: YuwPageRange) => string;
|
|
4566
|
+
}
|
|
4567
|
+
/** Text of the standalone pagination footer. */
|
|
4568
|
+
interface YuwsListPaginationLabels {
|
|
4569
|
+
readonly pageSize: YuwsPageSizeLabels;
|
|
4570
|
+
readonly ariaLabel: string;
|
|
4571
|
+
readonly previous: string;
|
|
4572
|
+
readonly next: string;
|
|
4573
|
+
readonly ellipsis: string;
|
|
4574
|
+
}
|
|
4575
|
+
|
|
4576
|
+
/**
|
|
4577
|
+
* Sortable, paginated `yuw-datatable` in card appearance bound to a `YuwPagedList`, with the page-size picker in its
|
|
4578
|
+
* pagination slot.
|
|
4579
|
+
*
|
|
4580
|
+
* Inputs:
|
|
4581
|
+
* - `columns` (required): Column definitions.
|
|
4582
|
+
* - `data` (required): Rows of the current page.
|
|
4583
|
+
* - `emptyText` (required): Text without rows. The consuming app translates it.
|
|
4584
|
+
* - `labels` (required): Pagination and page-size texts.
|
|
4585
|
+
* - `list` (required): Paged list that owns pagination and sorting.
|
|
4586
|
+
* - `loading`: Shows the loading state and locks the page size. Default is `false`.
|
|
4587
|
+
* - `rowClass`: Class per row. Default is `undefined`.
|
|
4588
|
+
* - `selectable`: Adds row selection. Default is `false`.
|
|
4589
|
+
* - `total` (required): Total rows across pages.
|
|
4590
|
+
* - `columnVisibility` (model): Hidden columns.
|
|
4591
|
+
*
|
|
4592
|
+
* Outputs:
|
|
4593
|
+
* - `rowClicked`: Emits the clicked row.
|
|
4594
|
+
*/
|
|
4595
|
+
declare class YuwsListTableComponent<Row extends RowData> {
|
|
4596
|
+
readonly columns: _angular_core.InputSignal<YuwDatatableColumnDef<Row>[]>;
|
|
4597
|
+
readonly columnVisibility: _angular_core.ModelSignal<ColumnVisibilityState>;
|
|
4598
|
+
readonly data: _angular_core.InputSignal<Row[]>;
|
|
4599
|
+
readonly emptyText: _angular_core.InputSignal<string>;
|
|
4600
|
+
readonly labels: _angular_core.InputSignal<YuwsListPaginationLabels>;
|
|
4601
|
+
readonly list: _angular_core.InputSignal<YuwPagedList<unknown>>;
|
|
4602
|
+
readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4603
|
+
readonly rowClass: _angular_core.InputSignal<YuwDatatableRowClass<Row> | undefined>;
|
|
4604
|
+
readonly selectable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4605
|
+
readonly total: _angular_core.InputSignal<number>;
|
|
4606
|
+
readonly rowClicked: _angular_core.OutputEmitterRef<Row>;
|
|
4607
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsListTableComponent<any>, never>;
|
|
4608
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsListTableComponent<any>, "yuws-list-table", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "columnVisibility": { "alias": "columnVisibility"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": true; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": true; "isSignal": true; }; "labels": { "alias": "labels"; "required": true; "isSignal": true; }; "list": { "alias": "list"; "required": true; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "rowClass": { "alias": "rowClass"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "total": { "alias": "total"; "required": true; "isSignal": true; }; }, { "columnVisibility": "columnVisibilityChange"; "rowClicked": "rowClicked"; }, never, never, true, never>;
|
|
4609
|
+
}
|
|
4610
|
+
|
|
4611
|
+
/**
|
|
4612
|
+
* Page size selector and range message of a `YuwPagedList`; in a datatable it takes the pagination slot.
|
|
4613
|
+
*
|
|
4614
|
+
* Inputs:
|
|
4615
|
+
* - `disabled`: Disables the page size selector. Default is `false`.
|
|
4616
|
+
* - `labels`: Required `YuwsPageSizeLabels` with the selector label, the text for an empty list and the function that builds the range message.
|
|
4617
|
+
* - `list`: Required `YuwPagedList` whose page size is chosen and whose range is shown in the message.
|
|
4618
|
+
*/
|
|
4619
|
+
declare class YuwsPageSizeComponent {
|
|
4620
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4621
|
+
readonly labels: _angular_core.InputSignal<YuwsPageSizeLabels>;
|
|
4622
|
+
readonly list: _angular_core.InputSignal<YuwPagedList<unknown>>;
|
|
4623
|
+
protected readonly message: _angular_core.Signal<string>;
|
|
4624
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsPageSizeComponent, never>;
|
|
4625
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsPageSizeComponent, "yuws-page-size", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": true; "isSignal": true; }; "list": { "alias": "list"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4626
|
+
}
|
|
4627
|
+
|
|
4628
|
+
/**
|
|
4629
|
+
* Pagination footer for lists without a datatable: the page size selector with its range message
|
|
4630
|
+
* and the page navigation, both driven by one `YuwPagedList`. A disabled `fieldset` blocks its buttons.
|
|
4631
|
+
*
|
|
4632
|
+
* Inputs:
|
|
4633
|
+
* - `disabled`: Disables the page size selector and the page buttons. Default is `false`.
|
|
4634
|
+
* - `labels`: Required `YuwsListPaginationLabels` with the consumer's text for the page size selector, the navigation aria label and the previous, next and ellipsis texts.
|
|
4635
|
+
* - `list`: Required `YuwPagedList` holding the current page, page size, total pages and range; changes made in the footer are written back to it.
|
|
4636
|
+
*/
|
|
4637
|
+
declare class YuwsListPaginationComponent {
|
|
4638
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4639
|
+
readonly labels: _angular_core.InputSignal<YuwsListPaginationLabels>;
|
|
4640
|
+
readonly list: _angular_core.InputSignal<YuwPagedList<unknown>>;
|
|
4641
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsListPaginationComponent, never>;
|
|
4642
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsListPaginationComponent, "yuws-list-pagination", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": true; "isSignal": true; }; "list": { "alias": "list"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4643
|
+
}
|
|
4644
|
+
|
|
4645
|
+
/**
|
|
4646
|
+
* Page title, optional description and up to two actions, each rendered when its label is set.
|
|
4647
|
+
* On mobile the primary action shows only its icon, or `primaryMobileLabel`. Icons are `@ng-icons`
|
|
4648
|
+
* names; the consumer registers any beyond `lucidePlus` with `provideIcons`.
|
|
4649
|
+
*
|
|
4650
|
+
* Inputs:
|
|
4651
|
+
* - `backLabel`: Text of the back button, which renders only when set; on small screens only its arrow shows.
|
|
4652
|
+
* - `description`: Optional subtitle under the title.
|
|
4653
|
+
* - `primaryDisabled`: Disables the primary action, which stays visible but ignores clicks, e.g. while the list it creates items for is loading.
|
|
4654
|
+
* - `primaryIcon`: Icon name shown in the primary action.
|
|
4655
|
+
* - `primaryLabel`: Text of the primary action, which renders only when set.
|
|
4656
|
+
* - `primaryMobileLabel`: Text the primary action shows on small screens instead of its label.
|
|
4657
|
+
* - `secondaryIcon`: Icon name shown in the secondary action.
|
|
4658
|
+
* - `secondaryLabel`: Text of the secondary action, which renders only when set; hidden on small screens, leaving its icon.
|
|
4659
|
+
* - `title`: Required page title.
|
|
4660
|
+
*
|
|
4661
|
+
* Outputs:
|
|
4662
|
+
* - `backClicked`: Emits the `MouseEvent` of the back button.
|
|
4663
|
+
* - `primaryClicked`: Emits the `MouseEvent` of the primary action.
|
|
4664
|
+
* - `secondaryClicked`: Emits the `MouseEvent` of the secondary action.
|
|
4665
|
+
*/
|
|
4666
|
+
declare class YuwsPageHeaderComponent {
|
|
4667
|
+
readonly backLabel: _angular_core.InputSignal<string | undefined>;
|
|
4668
|
+
readonly description: _angular_core.InputSignal<string | undefined>;
|
|
4669
|
+
readonly primaryDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4670
|
+
readonly primaryIcon: _angular_core.InputSignal<string | undefined>;
|
|
4671
|
+
readonly primaryLabel: _angular_core.InputSignal<string | undefined>;
|
|
4672
|
+
readonly primaryMobileLabel: _angular_core.InputSignal<string | undefined>;
|
|
4673
|
+
readonly secondaryDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4674
|
+
readonly secondaryIcon: _angular_core.InputSignal<string | undefined>;
|
|
4675
|
+
readonly secondaryLabel: _angular_core.InputSignal<string | undefined>;
|
|
4676
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
4677
|
+
readonly backClicked: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
4678
|
+
readonly primaryClicked: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
4679
|
+
readonly secondaryClicked: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
4680
|
+
protected readonly isMobile: _angular_core.Signal<boolean>;
|
|
4681
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsPageHeaderComponent, never>;
|
|
4682
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsPageHeaderComponent, "yuws-page-header", never, { "backLabel": { "alias": "backLabel"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "primaryDisabled": { "alias": "primaryDisabled"; "required": false; "isSignal": true; }; "primaryIcon": { "alias": "primaryIcon"; "required": false; "isSignal": true; }; "primaryLabel": { "alias": "primaryLabel"; "required": false; "isSignal": true; }; "primaryMobileLabel": { "alias": "primaryMobileLabel"; "required": false; "isSignal": true; }; "secondaryDisabled": { "alias": "secondaryDisabled"; "required": false; "isSignal": true; }; "secondaryIcon": { "alias": "secondaryIcon"; "required": false; "isSignal": true; }; "secondaryLabel": { "alias": "secondaryLabel"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; }, { "backClicked": "backClicked"; "primaryClicked": "primaryClicked"; "secondaryClicked": "secondaryClicked"; }, never, never, true, never>;
|
|
4683
|
+
}
|
|
4684
|
+
|
|
4685
|
+
/**
|
|
4686
|
+
* Grid of projected cards, usually `yuws-card-grid-item`s in an `@for`. `loading` shows
|
|
4687
|
+
* `skeletonCount` placeholders shaped by `skeletonClass`; `empty` shows `emptyText`; `columnsClass`
|
|
4688
|
+
* holds the Tailwind column utilities.
|
|
4689
|
+
*
|
|
4690
|
+
* Inputs:
|
|
4691
|
+
* - `columnsClass`: Tailwind grid column utilities applied to the grid and its skeleton. Default is `'grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4'`.
|
|
4692
|
+
* - `empty`: Shows `emptyText` instead of the projected cards. Default is `false`.
|
|
4693
|
+
* - `emptyText`: Required message shown when `empty` is set. The app supplies and translates it.
|
|
4694
|
+
* - `loading`: Shows `skeletonCount` placeholders instead of the content; takes precedence over `empty`. Default is `false`.
|
|
4695
|
+
* - `skeletonClass`: Extra classes sizing each placeholder, e.g. its height. Default is `'h-16'`.
|
|
4696
|
+
* - `skeletonCount`: Number of placeholders shown while loading. Default is `12`.
|
|
4697
|
+
*
|
|
4698
|
+
* `YuwsCardGridComponent.COLUMNS` holds the column classes admin lists share per view mode — `list`
|
|
4699
|
+
* is one column, `block` grows from one to five, and `tags` packs small tag cards up to six — so every listing lays out its cards the same
|
|
4700
|
+
* way: `[columnsClass]="YuwsCardGridComponent.COLUMNS[mode]"`.
|
|
4701
|
+
*/
|
|
4702
|
+
declare class YuwsCardGridComponent {
|
|
4703
|
+
readonly columnsClass: _angular_core.InputSignal<string>;
|
|
4704
|
+
readonly empty: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4705
|
+
readonly emptyText: _angular_core.InputSignal<string>;
|
|
4706
|
+
readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4707
|
+
readonly skeletonClass: _angular_core.InputSignal<string>;
|
|
4708
|
+
readonly skeletonCount: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
4709
|
+
static readonly COLUMNS: {
|
|
4710
|
+
readonly list: "grid-cols-1";
|
|
4711
|
+
readonly block: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5";
|
|
4712
|
+
readonly tags: "grid-cols-1 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 2xl:grid-cols-6";
|
|
4713
|
+
};
|
|
4714
|
+
protected readonly skeletons: _angular_core.Signal<number[]>;
|
|
4715
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsCardGridComponent, never>;
|
|
4716
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsCardGridComponent, "yuws-card-grid", never, { "columnsClass": { "alias": "columnsClass"; "required": false; "isSignal": true; }; "empty": { "alias": "empty"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": true; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "skeletonClass": { "alias": "skeletonClass"; "required": false; "isSignal": true; }; "skeletonCount": { "alias": "skeletonCount"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
4717
|
+
}
|
|
4718
|
+
|
|
4719
|
+
/**
|
|
4720
|
+
* While `pending` the card stays hidden in place under a skeleton, so the grid does not jump.
|
|
4721
|
+
*
|
|
4722
|
+
* Inputs:
|
|
4723
|
+
* - `pending`: Hides the projected card and overlays a skeleton while it is loading. Default is `false`.
|
|
4724
|
+
*/
|
|
4725
|
+
declare class YuwsCardGridItemComponent {
|
|
4726
|
+
readonly pending: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4727
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsCardGridItemComponent, never>;
|
|
4728
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsCardGridItemComponent, "yuws-card-grid-item", never, { "pending": { "alias": "pending"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
4729
|
+
}
|
|
4730
|
+
|
|
4731
|
+
interface YuwsFilterOptionDto {
|
|
4732
|
+
readonly value: string;
|
|
4733
|
+
readonly label: string;
|
|
4734
|
+
readonly disabled?: boolean;
|
|
4735
|
+
}
|
|
4736
|
+
/** `single` keeps one value and closes its list after a pick, `multiple` keeps a set. */
|
|
4737
|
+
type YuwsFilterGroupMode = 'single' | 'multiple';
|
|
4738
|
+
/**
|
|
4739
|
+
* `options` feeds the group's combobox. A `yuwsFilterContent` template of the same id replaces that
|
|
4740
|
+
* combobox; `mode` then only states whether its value is a string or an array.
|
|
4741
|
+
*/
|
|
4742
|
+
interface YuwsFilterGroupDto {
|
|
4743
|
+
readonly id: string;
|
|
4744
|
+
readonly label: string;
|
|
4745
|
+
readonly mode: YuwsFilterGroupMode;
|
|
4746
|
+
readonly options?: readonly YuwsFilterOptionDto[];
|
|
4747
|
+
}
|
|
4748
|
+
/** Value of one group: a string for `single` groups, an array for `multiple`. */
|
|
4749
|
+
type YuwsFilterValue = string | readonly string[];
|
|
4750
|
+
/** Selection keyed by `YuwsFilterGroupDto.id`. */
|
|
4751
|
+
type YuwsFilterSelection = Readonly<Record<string, YuwsFilterValue>>;
|
|
4752
|
+
/** A named selection the user saved; `id` is assigned by the consumer that persists it. */
|
|
4753
|
+
interface YuwsFilterSetDto {
|
|
4754
|
+
readonly id: string;
|
|
4755
|
+
readonly name: string;
|
|
4756
|
+
readonly selection: YuwsFilterSelection;
|
|
4757
|
+
}
|
|
4758
|
+
/** Payload of `setSaved`: the name the user typed and the selection applied at that moment. */
|
|
4759
|
+
interface YuwsFilterSetSaveDto {
|
|
4760
|
+
readonly name: string;
|
|
4761
|
+
readonly selection: YuwsFilterSelection;
|
|
4762
|
+
}
|
|
4763
|
+
/** Payload of `setRenamed`. */
|
|
4764
|
+
interface YuwsFilterSetRenameDto {
|
|
4765
|
+
readonly id: string;
|
|
4766
|
+
readonly name: string;
|
|
4767
|
+
}
|
|
4768
|
+
/** Texts of the saved-sets control and its dialog; the consumer translates them. */
|
|
4769
|
+
interface YuwsFilterSetLabels {
|
|
4770
|
+
readonly title: string;
|
|
4771
|
+
readonly empty: string;
|
|
4772
|
+
readonly save: string;
|
|
4773
|
+
readonly select: string;
|
|
4774
|
+
readonly none: string;
|
|
4775
|
+
readonly edit: string;
|
|
4776
|
+
readonly delete: string;
|
|
4777
|
+
readonly saveTitle: string;
|
|
4778
|
+
readonly renameTitle: string;
|
|
4779
|
+
readonly deleteTitle: string;
|
|
4780
|
+
readonly deleteMessage: (name: string) => string;
|
|
4781
|
+
readonly nameLabel: string;
|
|
4782
|
+
readonly confirm: string;
|
|
4783
|
+
readonly cancel: string;
|
|
4784
|
+
}
|
|
4785
|
+
/**
|
|
4786
|
+
* `title` names the filter row for assistive tech, `add` is the add-filter button, `remove` the
|
|
4787
|
+
* accessible name of the remove button of each active filter, `clearAll` the button that removes
|
|
4788
|
+
* every filter, and `empty` the text of a filter search with no match.
|
|
4789
|
+
*/
|
|
4790
|
+
interface YuwsListToolbarFilterLabels {
|
|
4791
|
+
readonly title: string;
|
|
4792
|
+
readonly add: string;
|
|
4793
|
+
readonly remove: string;
|
|
4794
|
+
readonly clearAll: string;
|
|
4795
|
+
readonly empty: string;
|
|
4796
|
+
readonly sets?: YuwsFilterSetLabels;
|
|
4797
|
+
}
|
|
4798
|
+
interface YuwsListToolbarSearchLabels {
|
|
4799
|
+
readonly expand: string;
|
|
4800
|
+
readonly clear: string;
|
|
4801
|
+
}
|
|
4802
|
+
interface YuwsListToolbarColumnsLabels {
|
|
4803
|
+
readonly trigger: string;
|
|
4804
|
+
readonly placeholder: string;
|
|
4805
|
+
readonly empty: string;
|
|
4806
|
+
}
|
|
4807
|
+
type YuwsViewMode = 'list' | 'block';
|
|
4808
|
+
type YuwsListToolbarViewModeLabels = Readonly<Record<YuwsViewMode, string>>;
|
|
4809
|
+
/** ng-icon names of the view mode buttons; the consumer registers custom ones with `provideIcons`. */
|
|
4810
|
+
type YuwsListToolbarViewModeIcons = Readonly<Record<YuwsViewMode, string>>;
|
|
4811
|
+
interface YuwsListToolbarLabels {
|
|
4812
|
+
readonly filters: YuwsListToolbarFilterLabels;
|
|
4813
|
+
readonly search: YuwsListToolbarSearchLabels;
|
|
4814
|
+
readonly columns: YuwsListToolbarColumnsLabels;
|
|
4815
|
+
readonly export: string;
|
|
4816
|
+
readonly viewMode?: YuwsListToolbarViewModeLabels;
|
|
4817
|
+
}
|
|
4818
|
+
|
|
4819
|
+
/**
|
|
4820
|
+
* Template context of a `yuwsFilterContent` template.
|
|
4821
|
+
*
|
|
4822
|
+
* `$implicit`: The group the template renders; same as `let-group`.
|
|
4823
|
+
* `value`: Applied value of the group, `undefined` while it holds nothing.
|
|
4824
|
+
* `change`: Applies a new value to the group; `undefined` or an empty array clears it.
|
|
4825
|
+
*/
|
|
4826
|
+
interface YuwsFilterContentContext {
|
|
4827
|
+
readonly $implicit: YuwsFilterGroupDto;
|
|
4828
|
+
readonly value: YuwsFilterValue | undefined;
|
|
4829
|
+
readonly change: (value: YuwsFilterValue | undefined) => void;
|
|
4830
|
+
}
|
|
4831
|
+
/**
|
|
4832
|
+
* Replaces the combobox of one active filter inside `<yuws-list-toolbar>` with projected markup; the
|
|
4833
|
+
* remove button stays after it. Apply it to an `<ng-template>` and pass the id of the group it
|
|
4834
|
+
* renders; that group needs no `options`.
|
|
4835
|
+
*
|
|
4836
|
+
* The template feeds the same applied selection as the comboboxes: calling `change` writes the value
|
|
4837
|
+
* under the group id, so removing, clearing and saved sets work without extra wiring.
|
|
4838
|
+
*
|
|
4839
|
+
* To match the library's filters, render a `yuw-combobox` with a `yuwComboboxTrigger` template that
|
|
4840
|
+
* reads the group label and the selected labels; the row squares its trailing edge and welds it to the
|
|
4841
|
+
* remove button.
|
|
4842
|
+
*
|
|
4843
|
+
* Usage:
|
|
4844
|
+
* ```html
|
|
4845
|
+
* <yuws-list-toolbar [filterGroups]="groups" [(selection)]="selection" [labels]="labels">
|
|
4846
|
+
* <ng-template yuwsFilterContent="customer" let-group let-value="value" let-change="change">
|
|
4847
|
+
* <yuw-combobox [options]="customers" [value]="value" [triggerAriaLabel]="group.label" (valueChange)="change($event)">
|
|
4848
|
+
* <ng-template yuwComboboxTrigger let-summary>
|
|
4849
|
+
* <span class="font-semibold">{{ group.label }}</span> {{ summary }}
|
|
4850
|
+
* </ng-template>
|
|
4851
|
+
* </yuw-combobox>
|
|
4852
|
+
* </ng-template>
|
|
4853
|
+
* </yuws-list-toolbar>
|
|
4854
|
+
* ```
|
|
4855
|
+
*
|
|
4856
|
+
* Inputs:
|
|
4857
|
+
* - `yuwsFilterContent`: Required string; id of the filter group this template renders.
|
|
4858
|
+
*/
|
|
4859
|
+
declare class YuwsFilterContentDirective {
|
|
4860
|
+
readonly templateRef: TemplateRef<YuwsFilterContentContext>;
|
|
4861
|
+
readonly groupId: _angular_core.InputSignal<string>;
|
|
4862
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsFilterContentDirective, never>;
|
|
4863
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwsFilterContentDirective, "ng-template[yuwsFilterContent]", never, { "groupId": { "alias": "yuwsFilterContent"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4864
|
+
}
|
|
4865
|
+
|
|
4866
|
+
/**
|
|
4867
|
+
* Toolbar of a list page: filters on the leading edge, search, export and column visibility on the
|
|
4868
|
+
* trailing one, and projected content after them. The trailing actions keep the room they need (the
|
|
4869
|
+
* search grows into it when expanded) and the filter row takes the rest, scrolling its active
|
|
4870
|
+
* filters horizontally with faded edges when they do not fit. Below `md` the active filters move to a
|
|
4871
|
+
* full-width second line, still a single scrolling row, and the trailing actions stay on the first.
|
|
4872
|
+
*
|
|
4873
|
+
* Each control renders only when its input is set: `filterGroups`, `searchPlaceholder`,
|
|
4874
|
+
* `showExport`, `hideableColumns`, `viewMode`. Setting `viewMode` adds a list/block switch bound
|
|
4875
|
+
* two-way to it (`viewModeChange` is the click listener); its names come from `labels.viewMode`. Saved filter sets need `filterSets` and `labels.filters.sets`;
|
|
4876
|
+
* the toolbar emits `setSaved`, `setRenamed` and `setDeleted` and the consumer persists them. `labels` holds every text and the consumer translates it;
|
|
4877
|
+
* `idleColor` is the tone of the filter row's outline controls (filters, add button, star). Each active
|
|
4878
|
+
* group renders a combobox opened from an outline button; a projected `<ng-template yuwsFilterContent="groupId">` replaces it (see
|
|
4879
|
+
* `YuwsFilterContentDirective`). `selection` may be set from outside at any time, e.g. restored from
|
|
4880
|
+
* IndexedDB, and the row shows a filter for every group it holds.
|
|
4881
|
+
*
|
|
4882
|
+
* Inputs:
|
|
4883
|
+
* - `filterGroups`: Filter groups the editor offers; the filter control renders only when set.
|
|
4884
|
+
* - `filterSets`: Saved filter sets; together with `labels.filters.sets` it enables the sets star.
|
|
4885
|
+
* - `filtersDisabled`: Disables every control of the filter row. Default is `false`.
|
|
4886
|
+
* - `hiddenColumns`: Two-way (`[(hiddenColumns)]`) ids of the columns currently hidden. Default is `[]`.
|
|
4887
|
+
* - `hideableColumns`: Options of the columns the user may hide; the columns button renders only when set.
|
|
4888
|
+
* - `idleColor`: `YuwColorDto` tone of the filter row's outline controls. Default is `'neutral'`.
|
|
4889
|
+
* - `labels`: Required `YuwsListToolbarLabels` with the consumer's translated text for every control.
|
|
4890
|
+
* - `search`: Two-way (`[(search)]`) text of the search field. Default is `''`.
|
|
4891
|
+
* - `searchPlaceholder`: Placeholder of the search field; the search renders only when set.
|
|
4892
|
+
* - `selection`: Two-way (`[(selection)]`) applied filter selection, values keyed by group id. Default is `{}`.
|
|
4893
|
+
* - `showExport`: Renders the export button. Default is `false`.
|
|
4894
|
+
* - `viewMode`: Two-way (`[(viewMode)]`) `YuwsViewMode` (`'list'` or `'block'`); the list/block switch renders only when set.
|
|
4895
|
+
* - `viewModeIcons`: Partial override of the switch icons by mode (ng-icon names, registered by the consumer with `provideIcons`). Defaults are `lucideList` and `lucideLayoutGrid`.
|
|
4896
|
+
*
|
|
4897
|
+
* Outputs:
|
|
4898
|
+
* - `exported`: Emits the `MouseEvent` of the export button click.
|
|
4899
|
+
* - `searched`: Emits the current search text on every keystroke and when it is cleared.
|
|
4900
|
+
*/
|
|
4901
|
+
declare class YuwsListToolbarComponent {
|
|
4902
|
+
protected readonly filterContents: _angular_core.Signal<readonly YuwsFilterContentDirective[]>;
|
|
4903
|
+
readonly filterGroups: _angular_core.InputSignal<readonly YuwsFilterGroupDto[] | undefined>;
|
|
4904
|
+
readonly filtersDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4905
|
+
readonly filterSets: _angular_core.InputSignal<readonly YuwsFilterSetDto[] | undefined>;
|
|
4906
|
+
readonly hiddenColumns: _angular_core.ModelSignal<string[]>;
|
|
4907
|
+
readonly hideableColumns: _angular_core.InputSignal<YuwComboboxOptionDto<unknown>[] | undefined>;
|
|
4908
|
+
readonly idleColor: _angular_core.InputSignal<YuwColorDto>;
|
|
4909
|
+
readonly labels: _angular_core.InputSignal<YuwsListToolbarLabels>;
|
|
4910
|
+
readonly search: _angular_core.ModelSignal<string>;
|
|
4911
|
+
readonly searchPlaceholder: _angular_core.InputSignal<string | undefined>;
|
|
4912
|
+
readonly selection: _angular_core.ModelSignal<Readonly<Record<string, yukit_web.YuwsFilterValue>>>;
|
|
4913
|
+
readonly showExport: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4914
|
+
readonly viewMode: _angular_core.ModelSignal<YuwsViewMode | undefined>;
|
|
4915
|
+
readonly viewModeIcons: _angular_core.InputSignal<Partial<Readonly<Record<YuwsViewMode, string>>> | undefined>;
|
|
4916
|
+
readonly exported: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
4917
|
+
readonly searched: _angular_core.OutputEmitterRef<string>;
|
|
4918
|
+
readonly setDeleted: _angular_core.OutputEmitterRef<string>;
|
|
4919
|
+
readonly setRenamed: _angular_core.OutputEmitterRef<YuwsFilterSetRenameDto>;
|
|
4920
|
+
readonly setSaved: _angular_core.OutputEmitterRef<YuwsFilterSetSaveDto>;
|
|
4921
|
+
protected readonly isMobile: _angular_core.Signal<boolean>;
|
|
4922
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsListToolbarComponent, never>;
|
|
4923
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwsListToolbarComponent, "yuws-list-toolbar", never, { "filterGroups": { "alias": "filterGroups"; "required": false; "isSignal": true; }; "filtersDisabled": { "alias": "filtersDisabled"; "required": false; "isSignal": true; }; "filterSets": { "alias": "filterSets"; "required": false; "isSignal": true; }; "hiddenColumns": { "alias": "hiddenColumns"; "required": false; "isSignal": true; }; "hideableColumns": { "alias": "hideableColumns"; "required": false; "isSignal": true; }; "idleColor": { "alias": "idleColor"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": true; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "showExport": { "alias": "showExport"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "viewModeIcons": { "alias": "viewModeIcons"; "required": false; "isSignal": true; }; }, { "hiddenColumns": "hiddenColumnsChange"; "search": "searchChange"; "selection": "selectionChange"; "viewMode": "viewModeChange"; "exported": "exported"; "searched": "searched"; "setDeleted": "setDeleted"; "setRenamed": "setRenamed"; "setSaved": "setSaved"; }, ["filterContents"], ["*"], true, never>;
|
|
4924
|
+
}
|
|
4925
|
+
|
|
4926
|
+
/**
|
|
4927
|
+
* Walks a signal form with Enter. An invalid current field only shows its error; otherwise focus moves to the next
|
|
4928
|
+
* invalid field, wrapping around; with none left the form is submitted through `submit`, which runs its
|
|
4929
|
+
* `submission.action`. Disabled, hidden and read-only fields never hold the form back. One delegated listener on the
|
|
4930
|
+
* `<form>`, reading the fields from `FormField` at the moment of the key press, so it works with any control bound with
|
|
4931
|
+
* `[formField]`; focus goes to the first focusable descendant because `yuw-*` hosts are `display: contents`.
|
|
4932
|
+
*
|
|
4933
|
+
* Usage:
|
|
4934
|
+
* ```html
|
|
4935
|
+
* <form [formRoot]="form" yuwsAdvanceOnEnter>...</form>
|
|
4936
|
+
* ```
|
|
4937
|
+
*/
|
|
4938
|
+
declare class YuwsAdvanceOnEnterDirective {
|
|
4939
|
+
private readonly _root;
|
|
4940
|
+
private readonly _fields;
|
|
4941
|
+
protected onEnter(event: Event): void;
|
|
4942
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsAdvanceOnEnterDirective, never>;
|
|
4943
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwsAdvanceOnEnterDirective, "form[formRoot][yuwsAdvanceOnEnter]", never, {}, {}, ["_fields"], never, true, never>;
|
|
4944
|
+
}
|
|
4945
|
+
|
|
4946
|
+
/**
|
|
4947
|
+
* Shows the title of a `yuws-page-header` as a text skeleton while it is pending, so a page whose title is entity data
|
|
4948
|
+
* renders a placeholder of the same size instead of an empty gap. The height matches the header's `text-2xl` line.
|
|
4949
|
+
*
|
|
4950
|
+
* Usage:
|
|
4951
|
+
* ```html
|
|
4952
|
+
* <yuws-page-header [title]="title()" [yuwsTitleSkeleton]="!title()" />
|
|
4953
|
+
* ```
|
|
4954
|
+
*/
|
|
4955
|
+
declare class YuwsTitleSkeletonDirective {
|
|
4956
|
+
readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4957
|
+
protected readonly skeletonClass = "[&_h1]:block [&_h1]:h-8 [&_h1]:w-56 [&_h1]:max-w-full [&_h1]:rounded-md [&_h1]:bg-muted [&_h1]:motion-safe:animate-pulse";
|
|
4958
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwsTitleSkeletonDirective, never>;
|
|
4959
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwsTitleSkeletonDirective, "yuws-page-header[yuwsTitleSkeleton]", never, { "loading": { "alias": "yuwsTitleSkeleton"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4960
|
+
}
|
|
4961
|
+
|
|
4962
|
+
export { DATATABLE_ALIGN_CLASS, DATATABLE_LAYOUT_CLASS, DATATABLE_WRAP_CONTENT_CLASS, YUWS_NO_DATA_PLACEHOLDER, YUW_DATATABLE_FEATURES, YUW_DATATABLE_WRAP_MIN_WIDTH, YUW_PASSWORD_REVEAL_STATES, YUW_SIDEBAR_RAIL_ICON_SIZE, YUW_SIDEBAR_RAIL_PADDING, YUW_SIDEBAR_RAIL_WIDTH, YuwAccordion, YuwAccordionContentComponent, YuwAccordionImports, YuwAccordionItem, YuwAccordionTriggerComponent, YuwActionsCellComponent, YuwAlertActionDirective, YuwAlertComponent, YuwAlertDescriptionDirective, YuwAlertDialogComponent, YuwAlertDialogMediaDirective, YuwAlertDialogTriggerDirective, YuwAlertImports, YuwAlertTitleDirective, YuwAttachmentActionDirective, YuwAttachmentActionsDirective, YuwAttachmentContentDirective, YuwAttachmentDescriptionDirective, YuwAttachmentDirective, YuwAttachmentGroupDirective, YuwAttachmentMediaDirective, YuwAttachmentTitleDirective, YuwAttachmentTriggerDirective, YuwAvatarComponent, YuwBadgeComponent, YuwBreadcrumbComponent, YuwBreadcrumbTrailService, YuwButtonComponent, YuwButtonGroupComponent, YuwButtonGroupContentDirective, YuwCaptionDirective, YuwCardActionDirective, YuwCardContentDirective, YuwCardDescriptionDirective, YuwCardDirective, YuwCardFooterDirective, YuwCardHeaderDirective, YuwCardImports, YuwCardTitleDirective, YuwCheckboxComponent, YuwClassDirective, YuwComboboxComponent, YuwComboboxItemDirective, YuwComboboxTriggerButtonDirective, YuwComboboxTriggerDirective, YuwCommandComponent, YuwCommandDialogComponent, YuwContextMenuCheckboxDirective, YuwContextMenuCheckboxIndicatorComponent, YuwContextMenuDirective, YuwContextMenuGroupDirective, YuwContextMenuImports, YuwContextMenuItemDirective, YuwContextMenuLabelDirective, YuwContextMenuRadioDirective, YuwContextMenuRadioIndicatorComponent, YuwContextMenuSeparatorDirective, YuwContextMenuShortcutDirective, YuwContextMenuSubDirective, YuwContextMenuSubIndicatorComponent, YuwContextMenuSubTriggerDirective, YuwContextMenuTriggerDirective, YuwDatatableComponent, YuwDatatablePaginationDirective, YuwDatatableRowSelect, YuwDatepickerComponent, YuwDialogCloseDirective, YuwDialogComponent, YuwDialogFooterDirective, YuwDialogImports, YuwDialogTriggerDirective, YuwEmptyContentDirective, YuwEmptyDescriptionDirective, YuwEmptyDirective, YuwEmptyHeaderDirective, YuwEmptyImports, YuwEmptyMediaDirective, YuwEmptyTitleDirective, YuwFieldBase, YuwInputAddonImports, YuwInputComponent, YuwInputFileComponent, YuwInputOtpComponent, YuwItemActionsDirective, YuwItemContentDirective, YuwItemDescriptionDirective, YuwItemDirective, YuwItemFooterDirective, YuwItemGroupDirective, YuwItemHeaderDirective, YuwItemImports, YuwItemMediaDirective, YuwItemSeparatorDirective, YuwItemTitleDirective, YuwLabel, YuwLeftAddonDirective, YuwMouseScrollXDirective, YuwMouseScrollYDirective, YuwPaginationComponent, YuwPasswordInputComponent, YuwPopoverComponent, YuwPopoverTriggerDirective, YuwRadioGroupComponent, YuwRightAddonDirective, YuwSearchInputComponent, YuwSheetCloseDirective, YuwSheetComponent, YuwSheetFooterDirective, YuwSheetHeaderDirective, YuwSheetImports, YuwSheetTriggerDirective, YuwSidebarComponent, YuwSidebarContentDirective, YuwSidebarContentExtraDirective, YuwSidebarFooterDirective, YuwSidebarFooterExtraDirective, YuwSidebarGroupContentDirective, YuwSidebarGroupDirective, YuwSidebarGroupLabelDirective, YuwSidebarHeaderDirective, YuwSidebarInsetDirective, YuwSidebarMenuAvatarButtonDirective, YuwSidebarMenuBadgeDirective, YuwSidebarMenuButtonDirective, YuwSidebarMenuDirective, YuwSidebarMenuItemDirective, YuwSidebarMenuSubButtonDirective, YuwSidebarMenuSubDirective, YuwSidebarMenuSubItemDirective, YuwSidebarRailDirective, YuwSidebarRailService, YuwSidebarSeparatorDirective, YuwSidebarSubmenuService, YuwSidebarTriggerComponent, YuwSidebarWrapperDirective, YuwSkeletonDirective, YuwSpinnerComponent, YuwSwitchComponent, YuwTBodyDirective, YuwTFootDirective, YuwTHeadDirective, YuwTabContentDirective, YuwTabPanelDirective, YuwTableContainerDirective, YuwTableDirective, YuwTableImports, YuwTabsComponent, YuwTdDirective, YuwTextFieldBase, YuwTextareaComponent, YuwThDirective, YuwToasterComponent, YuwTooltipDirective, YuwTrDirective, YuwValueAccessorBase, YuwsActiveStatusCellComponent, YuwsAdvanceOnEnterDirective, YuwsAvatarNameCellComponent, YuwsCardGridComponent, YuwsCardGridItemComponent, YuwsClampedTextCellComponent, YuwsConfirmDialogComponent, YuwsCopyButtonComponent, YuwsFilterComboboxComponent, YuwsFilterContentDirective, YuwsFlagCellComponent, YuwsFormSheetComponent, YuwsIconActionCellComponent, YuwsImageCellComponent, YuwsImageFieldComponent, YuwsImageUploadComponent, YuwsLinkCellComponent, YuwsListPaginationComponent, YuwsListTableComponent, YuwsListToolbarComponent, YuwsPageHeaderComponent, YuwsPageSizeComponent, YuwsStatusToggleCellComponent, YuwsTitleSkeletonDirective, buildInputOtpGroups, buildYuwActionsColumn, buildYuwsActiveStatusColumn, buildYuwsDateTimeColumn, buildYuwsIconActionColumn, buildYuwsOptionalTextColumn, buildYuwsStatusToggleColumn, cn, createPagedList, createYuwsSheetEditor, datatableCellVariants, datatableContainerVariants, datatableHeadVariants, datatableHeaderCellVariants, datatableRowVariants, getPaginationRange, provideValueAccessor, totalInputOtpLength, yuwCommandDefaultFilter, yuwsInitialsOf, yuwsMediaQuerySignal, yuwsPendingRowClass, yuwsReadFileAsDataUrl };
|
|
4963
|
+
export type { YuwAlertDialogSizeDto, YuwAlertVariantDto, YuwAvatarGroupItemDto, YuwAvatarSizeDto, YuwBreadcrumbCrumb, YuwBreadcrumbItemDto, YuwBreadcrumbRouteData, YuwButtonGroupClickDto, YuwButtonGroupItemDto, YuwColorDto, YuwComboboxItemContext, YuwComboboxOptionDto, YuwComboboxTriggerContext, YuwComboboxValue, YuwCommandGroupDto, YuwCommandItemDto, YuwDatatableAlign, YuwDatatableAppearanceDto, YuwDatatableColumnDef, YuwDatatableColumnMeta, YuwDatatableFeatures, YuwDatatableRowClass, YuwDatepickerModeDto, YuwDatepickerValue, YuwFieldSizeDto, YuwInputFileVariantDto, YuwInputModeDto, YuwInputOtpGroupDto, YuwInputOtpModeDto, YuwInputTypeDto, YuwPageQuery, YuwPageRange, YuwPageSort, YuwPagedList, YuwPagedListOptions, YuwPaginationRangeItem, YuwPaginationSizeDto, YuwPasswordRevealStateDto, YuwPopoverAlignDto, YuwRadioOptionDto, YuwSearchInputCollapseFromDto, YuwSheetScrollStrategyDto, YuwSheetSideDto, YuwSidebarAvatarDto, YuwSidebarCollapsibleDto, YuwSidebarContentDto, YuwSidebarGroupDto, YuwSidebarItemClickDto, YuwSidebarItemDto, YuwSidebarSideDto, YuwSidebarSubItemDto, YuwSidebarVariantDto, YuwSwitchSizeDto, YuwTabItemDto, YuwTabsActivationModeDto, YuwTabsOrientationDto, YuwTabsVariantDto, YuwTextFieldContract, YuwToasterPositionDto, YuwToasterThemeDto, YuwTooltipPositionDto, YuwsAvatarNameCellSize, YuwsConfirmationState, YuwsFilterContentContext, YuwsFilterGroupDto, YuwsFilterGroupMode, YuwsFilterOptionDto, YuwsFilterSelection, YuwsFilterSetDto, YuwsFilterSetLabels, YuwsFilterSetRenameDto, YuwsFilterSetSaveDto, YuwsFilterValue, YuwsFormSheetLabels, YuwsIconActionColumn, YuwsImageCellSize, YuwsListPaginationLabels, YuwsListToolbarColumnsLabels, YuwsListToolbarFilterLabels, YuwsListToolbarLabels, YuwsListToolbarSearchLabels, YuwsListToolbarViewModeIcons, YuwsListToolbarViewModeLabels, YuwsPageSizeLabels, YuwsSheetEditor, YuwsStateLabels, YuwsStatusToggleColumn, YuwsTextColumnOptions, YuwsViewMode };
|