yukit-web 0.0.3 → 0.0.5
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/4f/1b/f689c8ddedb8797ff60d136bd61b5ed80207bbc30853891a131b94e7318092e7d0a1af4e19f6e699e04bb6e9b29ade310e757f6e1d8b4d3827c222f2f8be +1 -0
- package/.npm/_cacache/index-v5/64/dc/73c7a26f2e6eb0c711133d96c247da5ecf0eba708cd37c450a7b3c7cb488 +1 -1
- package/.npm/_logs/{2026-08-24T12_50_56_886Z-debug-0.log → 2026-08-25T12_25_25_519Z-debug-0.log} +10 -10
- package/.npm/_logs/{2026-08-24T12_50_57_442Z-debug-0.log → 2026-08-25T12_25_26_005Z-debug-0.log} +2 -2
- package/README.md +56 -1
- package/fesm2022/yukit-web.mjs +497 -108
- package/fesm2022/yukit-web.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/theme/tokens/component-colors.css +4 -1
- package/types/yukit-web.d.ts +276 -23
- package/.npm/_cacache/content-v2/sha512/eb/7a/68501a82cc7271aaa1f0a48858c14b5c0f4e0a4cba643f7db7917ec76f90038089e5585323a72f65f739e434adb8b52a24b90387dac24cc6a24181783867 +0 -1
package/types/yukit-web.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ import * as i2 from 'yukit-web/helm/dropdown-menu';
|
|
|
15
15
|
import * as i1$5 from 'yukit-web/helm/table';
|
|
16
16
|
import * as _tanstack_angular_table from '@tanstack/angular-table';
|
|
17
17
|
import { columnFilteringFeature, columnVisibilityFeature, rowPaginationFeature, rowSelectionFeature, rowSortingFeature, RowData, ColumnDef, SortingState, ColumnFiltersState, ColumnVisibilityState, RowSelectionState, PaginationState } from '@tanstack/table-core';
|
|
18
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
18
19
|
import * as i1$6 from 'yukit-web/helm/item';
|
|
19
20
|
import { HlmItemSeparator } from 'yukit-web/helm/item';
|
|
20
21
|
import * as i1$7 from '@spartan-ng/brain/sheet';
|
|
@@ -26,6 +27,7 @@ import * as i1$a from '@spartan-ng/brain/dialog';
|
|
|
26
27
|
import * as i1$b from '@spartan-ng/brain/alert-dialog';
|
|
27
28
|
import * as i1$c from 'yukit-web/helm/attachment';
|
|
28
29
|
import { HlmAttachmentAction } from 'yukit-web/helm/attachment';
|
|
30
|
+
import { RouterLink } from '@angular/router';
|
|
29
31
|
import * as i1$d from 'yukit-web/helm/sidebar';
|
|
30
32
|
export { HlmSidebarConfig as YuwSidebarConfigDto, HlmSidebarService as YuwSidebarService, SidebarVariant as YuwSidebarServiceVariantDto, provideHlmSidebarConfig as provideYuwSidebarConfig } from 'yukit-web/helm/sidebar';
|
|
31
33
|
|
|
@@ -88,6 +90,7 @@ declare abstract class YuwValueAccessorBase<T> implements ControlValueAccessor {
|
|
|
88
90
|
|
|
89
91
|
type YuwInputTypeDto = 'text' | 'email' | 'tel' | 'url' | 'number';
|
|
90
92
|
type YuwInputModeDto = 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
|
|
93
|
+
type YuwFieldSizeDto = 'default' | 'xs' | 'sm' | 'lg';
|
|
91
94
|
interface YuwTextFieldContract {
|
|
92
95
|
readonly value: ModelSignal<string>;
|
|
93
96
|
readonly inputId: InputSignal<string | undefined>;
|
|
@@ -207,7 +210,8 @@ interface YuwButtonGroupClickDto {
|
|
|
207
210
|
* ```
|
|
208
211
|
*/
|
|
209
212
|
declare class YuwButtonComponent {
|
|
210
|
-
readonly
|
|
213
|
+
private readonly _host;
|
|
214
|
+
readonly variant: _angular_core.InputSignal<"default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | null | undefined>;
|
|
211
215
|
readonly size: _angular_core.InputSignal<"default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined>;
|
|
212
216
|
readonly color: _angular_core.InputSignal<YuwColorDto>;
|
|
213
217
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -220,16 +224,14 @@ declare class YuwButtonComponent {
|
|
|
220
224
|
readonly buttons: _angular_core.InputSignal<YuwButtonGroupEntryDto[] | undefined>;
|
|
221
225
|
readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
|
|
222
226
|
readonly groupAriaLabel: _angular_core.InputSignal<string | undefined>;
|
|
223
|
-
|
|
224
|
-
* Consumer CSS classes for the inner button/anchor (single and link mode). Merged last with
|
|
225
|
-
* `cn`, so they win over the component's own variant/transparent classes.
|
|
226
|
-
*/
|
|
227
|
+
readonly animationDisabled: _angular_core.InputSignal<boolean>;
|
|
227
228
|
readonly userClass: _angular_core.InputSignal<string>;
|
|
228
229
|
readonly clicked: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
229
230
|
readonly buttonClicked: _angular_core.OutputEmitterRef<YuwButtonGroupClickDto>;
|
|
230
|
-
protected readonly _textClass = "bg-transparent text-foreground";
|
|
231
|
+
protected readonly _textClass = "bg-transparent text-foreground border-border dark:border-input";
|
|
231
232
|
protected readonly _isGroup: _angular_core.Signal<boolean>;
|
|
232
|
-
protected readonly
|
|
233
|
+
protected readonly _animationDisabled: _angular_core.Signal<boolean>;
|
|
234
|
+
protected readonly _effectiveVariant: _angular_core.Signal<"default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | null | undefined>;
|
|
233
235
|
/** Classes for the single-mode button/anchor: our variant layer + the consumer's `class`, which goes last so it wins. */
|
|
234
236
|
protected readonly _btnClass: _angular_core.Signal<string>;
|
|
235
237
|
private readonly _texts;
|
|
@@ -247,7 +249,7 @@ declare class YuwButtonComponent {
|
|
|
247
249
|
kind: "text";
|
|
248
250
|
label?: string;
|
|
249
251
|
} | {
|
|
250
|
-
variant: "
|
|
252
|
+
variant: "default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | null | undefined;
|
|
251
253
|
size: "default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
|
|
252
254
|
color: YuwColorDto;
|
|
253
255
|
disabled: boolean;
|
|
@@ -265,7 +267,7 @@ declare class YuwButtonComponent {
|
|
|
265
267
|
protected onClick(event: MouseEvent): void;
|
|
266
268
|
protected onGroupClick(button: YuwButtonGroupItemDto, event: MouseEvent): void;
|
|
267
269
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwButtonComponent, never>;
|
|
268
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwButtonComponent, "yuw-button", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; "transparent": { "alias": "transparent"; "required": false; "isSignal": true; }; "yuwDropdownMenuTrigger": { "alias": "yuwDropdownMenuTrigger"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "buttons": { "alias": "buttons"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "groupAriaLabel": { "alias": "groupAriaLabel"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; "buttonClicked": "buttonClicked"; }, ["_texts"], ["[yuwButtonIcon]", "*", "[yuwButtonIcon]", "*"], true, never>;
|
|
270
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwButtonComponent, "yuw-button", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; "transparent": { "alias": "transparent"; "required": false; "isSignal": true; }; "yuwDropdownMenuTrigger": { "alias": "yuwDropdownMenuTrigger"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "buttons": { "alias": "buttons"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "groupAriaLabel": { "alias": "groupAriaLabel"; "required": false; "isSignal": true; }; "animationDisabled": { "alias": "animationDisabled"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; "buttonClicked": "buttonClicked"; }, ["_texts"], ["[yuwButtonIcon]", "*", "[yuwButtonIcon]", "*"], true, never>;
|
|
269
271
|
}
|
|
270
272
|
|
|
271
273
|
/**
|
|
@@ -308,7 +310,7 @@ declare class YuwButtonGroupTextDirective {
|
|
|
308
310
|
* ```
|
|
309
311
|
*/
|
|
310
312
|
declare class YuwBadgeComponent {
|
|
311
|
-
readonly variant: _angular_core.InputSignal<"
|
|
313
|
+
readonly variant: _angular_core.InputSignal<"default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | null | undefined>;
|
|
312
314
|
readonly color: _angular_core.InputSignal<YuwColorDto>;
|
|
313
315
|
readonly removeLabel: _angular_core.InputSignal<string | undefined>;
|
|
314
316
|
readonly dot: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -454,6 +456,9 @@ type YuwComboboxValue = string | string[] | undefined;
|
|
|
454
456
|
* - `options`: Required array of option items (`YuwComboboxOptionDto<TData>[]`).
|
|
455
457
|
* - `value`: Two-way selected value(s) (`string` for single mode, `string[]` for multiple mode).
|
|
456
458
|
* Emits `valueChange` on every selection change.
|
|
459
|
+
* - `size`: Control height (`'default'` 40px, `'xs'` 28px, `'sm'` 36px, `'lg'` 44px), matching the
|
|
460
|
+
* `<yuw-button>` size of the same name. Applies to whichever control shape renders; the popover
|
|
461
|
+
* panel and its inner search field keep their own compact sizing.
|
|
457
462
|
* - `multiple`: Enables multi-selection mode with removable tags/chips.
|
|
458
463
|
* - `disabled`: Disables combobox interaction.
|
|
459
464
|
* - `placeholder`: Placeholder text when no option is selected.
|
|
@@ -486,6 +491,7 @@ type YuwComboboxValue = string | string[] | undefined;
|
|
|
486
491
|
declare class YuwComboboxComponent<TData = unknown> extends YuwValueAccessorBase<YuwComboboxValue> {
|
|
487
492
|
readonly options: _angular_core.InputSignal<YuwComboboxOptionDto<TData>[]>;
|
|
488
493
|
readonly value: _angular_core.ModelSignal<YuwComboboxValue>;
|
|
494
|
+
readonly size: _angular_core.InputSignal<YuwFieldSizeDto>;
|
|
489
495
|
readonly multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
490
496
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
491
497
|
readonly placeholder: _angular_core.InputSignal<string | undefined>;
|
|
@@ -501,6 +507,9 @@ declare class YuwComboboxComponent<TData = unknown> extends YuwValueAccessorBase
|
|
|
501
507
|
private readonly _panel;
|
|
502
508
|
protected readonly _disabled: _angular_core.Signal<boolean>;
|
|
503
509
|
protected readonly _clearVisible: _angular_core.Signal<boolean>;
|
|
510
|
+
protected readonly _fieldClass: _angular_core.Signal<string>;
|
|
511
|
+
protected readonly _chipsClass: _angular_core.Signal<string>;
|
|
512
|
+
protected readonly _triggerClass: _angular_core.Signal<string>;
|
|
504
513
|
private readonly _generatedId;
|
|
505
514
|
protected readonly _controlId: _angular_core.Signal<string>;
|
|
506
515
|
protected readonly _singleValue: _angular_core.Signal<string | undefined>;
|
|
@@ -516,7 +525,7 @@ declare class YuwComboboxComponent<TData = unknown> extends YuwValueAccessorBase
|
|
|
516
525
|
protected onValueChange(next: YuwComboboxValue | null): void;
|
|
517
526
|
protected _onFocusOut(event: FocusEvent): void;
|
|
518
527
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwComboboxComponent<any>, never>;
|
|
519
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwComboboxComponent<any>, "yuw-combobox", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "triggerAriaLabel": { "alias": "triggerAriaLabel"; "required": true; "isSignal": true; }; "clearAriaLabel": { "alias": "clearAriaLabel"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "readonlyTrigger": { "alias": "readonlyTrigger"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "search": "searchChange"; }, ["itemTemplate"], never, true, never>;
|
|
528
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwComboboxComponent<any>, "yuw-combobox", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "triggerAriaLabel": { "alias": "triggerAriaLabel"; "required": true; "isSignal": true; }; "clearAriaLabel": { "alias": "clearAriaLabel"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "readonlyTrigger": { "alias": "readonlyTrigger"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "search": "searchChange"; }, ["itemTemplate"], never, true, never>;
|
|
520
529
|
}
|
|
521
530
|
|
|
522
531
|
/**
|
|
@@ -598,6 +607,8 @@ declare const YuwAccordionImports: readonly [typeof YuwAccordion, typeof YuwAcco
|
|
|
598
607
|
* - `value`: Two-way text string.
|
|
599
608
|
* - `inputId`: `id` applied to the native input, for external `<label for>` association.
|
|
600
609
|
* - `type`: HTML input type (`'text'`, `'email'`, `'number'`, etc.). Default is `'text'`.
|
|
610
|
+
* - `size`: Control height (`'default'` 40px, `'xs'` 28px, `'sm'` 36px, `'lg'` 44px), matching the
|
|
611
|
+
* `<yuw-button>` size of the same name. Default is `'default'`.
|
|
601
612
|
* - `inputmode`: Virtual keyboard hint (e.g. `'numeric'`).
|
|
602
613
|
* - `disabled`: Disables input interaction.
|
|
603
614
|
* - `readonly`: Makes the field read-only.
|
|
@@ -625,6 +636,7 @@ declare class YuwInputComponent extends YuwValueAccessorBase<string> implements
|
|
|
625
636
|
readonly value: _angular_core.ModelSignal<string>;
|
|
626
637
|
readonly inputId: _angular_core.InputSignal<string | undefined>;
|
|
627
638
|
readonly type: _angular_core.InputSignal<YuwInputTypeDto>;
|
|
639
|
+
readonly size: _angular_core.InputSignal<YuwFieldSizeDto>;
|
|
628
640
|
readonly inputmode: _angular_core.InputSignal<YuwInputModeDto | undefined>;
|
|
629
641
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
630
642
|
readonly readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -649,7 +661,7 @@ declare class YuwInputComponent extends YuwValueAccessorBase<string> implements
|
|
|
649
661
|
protected _emptyValue(): string;
|
|
650
662
|
protected onChange(): void;
|
|
651
663
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwInputComponent, never>;
|
|
652
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwInputComponent, "yuw-input", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "inputmode": { "alias": "inputmode"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "committed": "committed"; }, ["_leftAddons", "_rightAddons"], ["yuw-left-addon", "yuw-right-addon"], true, never>;
|
|
664
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwInputComponent, "yuw-input", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "inputmode": { "alias": "inputmode"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "committed": "committed"; }, ["_leftAddons", "_rightAddons"], ["yuw-left-addon", "yuw-right-addon"], true, never>;
|
|
653
665
|
}
|
|
654
666
|
|
|
655
667
|
/**
|
|
@@ -754,6 +766,8 @@ type YuwSearchInputCollapseFromDto = 'left' | 'right';
|
|
|
754
766
|
* app is responsible for translating.
|
|
755
767
|
* - `expandedWidth`: CSS width the field animates out to, e.g. `'18rem'`. Default is `'16rem'`.
|
|
756
768
|
* Collapsible mode only.
|
|
769
|
+
* - `transparent`: Removes the field's resting border and background so it sits directly on its
|
|
770
|
+
* container — for search inside a toolbar or a colored surface. The focus and invalid rings stay.
|
|
757
771
|
* - `class`: Extra classes merged onto the input group.
|
|
758
772
|
*
|
|
759
773
|
* Outputs:
|
|
@@ -797,6 +811,7 @@ declare class YuwSearchInputComponent extends YuwValueAccessorBase<string> imple
|
|
|
797
811
|
readonly collapseFrom: _angular_core.InputSignal<YuwSearchInputCollapseFromDto | undefined>;
|
|
798
812
|
readonly expandedWidth: _angular_core.InputSignal<string>;
|
|
799
813
|
readonly expandAriaLabel: _angular_core.InputSignal<string | undefined>;
|
|
814
|
+
readonly transparent: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
800
815
|
readonly userClass: _angular_core.InputSignal<string>;
|
|
801
816
|
private readonly _open;
|
|
802
817
|
protected readonly _autoId: string;
|
|
@@ -837,7 +852,7 @@ declare class YuwSearchInputComponent extends YuwValueAccessorBase<string> imple
|
|
|
837
852
|
protected onEscape(): void;
|
|
838
853
|
protected onBlur(): void;
|
|
839
854
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSearchInputComponent, never>;
|
|
840
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwSearchInputComponent, "yuw-search-input", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "clearAriaLabel": { "alias": "clearAriaLabel"; "required": false; "isSignal": true; }; "collapseFrom": { "alias": "collapseFrom"; "required": false; "isSignal": true; }; "expandedWidth": { "alias": "expandedWidth"; "required": false; "isSignal": true; }; "expandAriaLabel": { "alias": "expandAriaLabel"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "searched": "searched"; "committed": "committed"; }, never, never, true, never>;
|
|
855
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwSearchInputComponent, "yuw-search-input", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "clearAriaLabel": { "alias": "clearAriaLabel"; "required": false; "isSignal": true; }; "collapseFrom": { "alias": "collapseFrom"; "required": false; "isSignal": true; }; "expandedWidth": { "alias": "expandedWidth"; "required": false; "isSignal": true; }; "expandAriaLabel": { "alias": "expandAriaLabel"; "required": false; "isSignal": true; }; "transparent": { "alias": "transparent"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "searched": "searched"; "committed": "committed"; }, never, never, true, never>;
|
|
841
856
|
}
|
|
842
857
|
|
|
843
858
|
/**
|
|
@@ -1601,6 +1616,37 @@ declare class YuwCaptionDirective {
|
|
|
1601
1616
|
/** Every table part, for a consumer's `imports`. */
|
|
1602
1617
|
declare const YuwTableImports: readonly [typeof YuwTableContainerDirective, typeof YuwTableDirective, typeof YuwTHeadDirective, typeof YuwTBodyDirective, typeof YuwTFootDirective, typeof YuwTrDirective, typeof YuwThDirective, typeof YuwTdDirective, typeof YuwCaptionDirective];
|
|
1603
1618
|
|
|
1619
|
+
type YuwDatatableAlign = 'start' | 'center' | 'end';
|
|
1620
|
+
/**
|
|
1621
|
+
* Class maps for `yuw-datatable`, layered on top of the Hlm table directives' own classes.
|
|
1622
|
+
*
|
|
1623
|
+
* `DATATABLE_ALIGN_CLASS` is keyed by a column's `meta.align` and shared by header and body cells,
|
|
1624
|
+
* so a column declares its alignment once and both honour it; `start` maps to an empty string
|
|
1625
|
+
* rather than re-stating what `HlmTh`/`HlmTd` already apply.
|
|
1626
|
+
*
|
|
1627
|
+
* The `appearance` maps are split per element because the treatment is not uniform: `card` frames
|
|
1628
|
+
* the container so the header tint clips to the radius instead of squaring off against a
|
|
1629
|
+
* consumer's wrapper, then drops the header's bottom border, since a rule underneath a filled
|
|
1630
|
+
* strip reads as a seam. `default` resolves to an empty string throughout, leaving a table that
|
|
1631
|
+
* does not opt in byte-identical to what the Hlm directives render alone.
|
|
1632
|
+
*/
|
|
1633
|
+
declare const DATATABLE_ALIGN_CLASS: Record<YuwDatatableAlign, string>;
|
|
1634
|
+
declare const datatableContainerVariants: (props?: ({
|
|
1635
|
+
appearance?: "default" | "card" | null | undefined;
|
|
1636
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
1637
|
+
declare const datatableHeadVariants: (props?: ({
|
|
1638
|
+
appearance?: "default" | "card" | null | undefined;
|
|
1639
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
1640
|
+
declare const datatableHeaderCellVariants: (props?: ({
|
|
1641
|
+
appearance?: "default" | "card" | null | undefined;
|
|
1642
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
1643
|
+
declare const datatableCellVariants: (props?: ({
|
|
1644
|
+
appearance?: "default" | "card" | null | undefined;
|
|
1645
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
1646
|
+
declare const datatableRowVariants: (props?: ({
|
|
1647
|
+
appearance?: "default" | "card" | null | undefined;
|
|
1648
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
1649
|
+
|
|
1604
1650
|
/**
|
|
1605
1651
|
* The feature set `yuw-datatable` enables.
|
|
1606
1652
|
*
|
|
@@ -1611,14 +1657,28 @@ declare const YuwTableImports: readonly [typeof YuwTableContainerDirective, type
|
|
|
1611
1657
|
* (`getState`, `getCanNextPage`, …) missing from the instance type.
|
|
1612
1658
|
*/
|
|
1613
1659
|
interface YuwDatatableFeatures {
|
|
1660
|
+
columnMeta: YuwDatatableColumnMeta;
|
|
1614
1661
|
columnFilteringFeature: typeof columnFilteringFeature;
|
|
1615
1662
|
columnVisibilityFeature: typeof columnVisibilityFeature;
|
|
1616
1663
|
rowPaginationFeature: typeof rowPaginationFeature;
|
|
1617
1664
|
rowSelectionFeature: typeof rowSelectionFeature;
|
|
1618
1665
|
rowSortingFeature: typeof rowSortingFeature;
|
|
1619
1666
|
}
|
|
1667
|
+
/**
|
|
1668
|
+
* Per-column options `yuw-datatable` reads off TanStack's `meta`, where `align` sets the
|
|
1669
|
+
* horizontal alignment of that column's header and body cells and defaults to `'start'`.
|
|
1670
|
+
*
|
|
1671
|
+
* TanStack resolves `columnDef.meta` from a feature set's own `columnMeta` slot when it declares
|
|
1672
|
+
* one, falling back to its global declaration-merged `ColumnMeta` otherwise. Declaring the slot on
|
|
1673
|
+
* `YuwDatatableFeatures` is what constrains our columns to this shape — without it, `meta` is the
|
|
1674
|
+
* empty global interface, which accepts any object and would catch no typo.
|
|
1675
|
+
*/
|
|
1676
|
+
interface YuwDatatableColumnMeta {
|
|
1677
|
+
align?: YuwDatatableAlign;
|
|
1678
|
+
}
|
|
1620
1679
|
declare const YUW_DATATABLE_FEATURES: YuwDatatableFeatures;
|
|
1621
1680
|
type YuwDatatableColumnDef<TData extends RowData> = ColumnDef<YuwDatatableFeatures, TData>;
|
|
1681
|
+
type YuwDatatableAppearanceDto = 'default' | 'card';
|
|
1622
1682
|
/**
|
|
1623
1683
|
* Full-featured data table component supporting sorting, filtering, pagination, row selection,
|
|
1624
1684
|
* loading skeleton state, and column visibility.
|
|
@@ -1649,6 +1709,15 @@ type YuwDatatableColumnDef<TData extends RowData> = ColumnDef<YuwDatatableFeatur
|
|
|
1649
1709
|
* responsible for translating; when absent, no caption is rendered.
|
|
1650
1710
|
* - `tableClass`: Extra classes merged onto the inner `<table>` element. The host is
|
|
1651
1711
|
* `display: contents`, so a plain `class` on `<yuw-datatable>` would never reach the table.
|
|
1712
|
+
* - `appearance`: Visual treatment (`YuwDatatableAppearanceDto`). Default is `'default'` —
|
|
1713
|
+
* Spartan's plain table. `'card'` frames the table in its own rounded bordered surface with a
|
|
1714
|
+
* tinted uppercase header strip and taller rows; the consumer needs no wrapper of its own.
|
|
1715
|
+
*
|
|
1716
|
+
* Per-column, through TanStack's `meta`:
|
|
1717
|
+
* - `meta.align`: `'start' | 'center' | 'end'`, applied to both the header and body cells of that
|
|
1718
|
+
* column. Default is `'start'`. Alignment and the appearance's own cell classes are resolved
|
|
1719
|
+
* once into a per-column-id lookup rather than in the template, because a template method would
|
|
1720
|
+
* re-run the class merge for every cell on every change-detection pass.
|
|
1652
1721
|
* - `sorting`: Two-way sorting state (`SortingState`).
|
|
1653
1722
|
* - `columnFilters`: Two-way column filters state (`ColumnFiltersState`).
|
|
1654
1723
|
* - `columnVisibility`: Two-way column visibility state (`ColumnVisibilityState`).
|
|
@@ -1665,6 +1734,7 @@ type YuwDatatableColumnDef<TData extends RowData> = ColumnDef<YuwDatatableFeatur
|
|
|
1665
1734
|
* [columns]="columns"
|
|
1666
1735
|
* [data]="users"
|
|
1667
1736
|
* [(sorting)]="sorting"
|
|
1737
|
+
* appearance="card"
|
|
1668
1738
|
* paginated
|
|
1669
1739
|
* selectable
|
|
1670
1740
|
* previousPageLabel="Página anterior"
|
|
@@ -1672,6 +1742,13 @@ type YuwDatatableColumnDef<TData extends RowData> = ColumnDef<YuwDatatableFeatur
|
|
|
1672
1742
|
* (selectedRowsChange)="onSelect($event)"
|
|
1673
1743
|
* />
|
|
1674
1744
|
* ```
|
|
1745
|
+
*
|
|
1746
|
+
* ```ts
|
|
1747
|
+
* const columns: YuwDatatableColumnDef<Client>[] = [
|
|
1748
|
+
* { accessorKey: 'name', header: 'Nombre' },
|
|
1749
|
+
* { accessorKey: 'cif', header: 'CIF', meta: { align: 'center' } },
|
|
1750
|
+
* ];
|
|
1751
|
+
* ```
|
|
1675
1752
|
*/
|
|
1676
1753
|
declare class YuwDatatableComponent<TData extends RowData> implements OnInit {
|
|
1677
1754
|
readonly columns: _angular_core.InputSignal<YuwDatatableColumnDef<TData>[]>;
|
|
@@ -1688,6 +1765,7 @@ declare class YuwDatatableComponent<TData extends RowData> implements OnInit {
|
|
|
1688
1765
|
readonly paginationAriaLabel: _angular_core.InputSignal<string>;
|
|
1689
1766
|
readonly caption: _angular_core.InputSignal<string | undefined>;
|
|
1690
1767
|
readonly tableClass: _angular_core.InputSignal<string | undefined>;
|
|
1768
|
+
readonly appearance: _angular_core.InputSignal<YuwDatatableAppearanceDto>;
|
|
1691
1769
|
readonly sorting: _angular_core.ModelSignal<SortingState>;
|
|
1692
1770
|
readonly columnFilters: _angular_core.ModelSignal<ColumnFiltersState>;
|
|
1693
1771
|
readonly columnVisibility: _angular_core.ModelSignal<ColumnVisibilityState>;
|
|
@@ -1719,9 +1797,17 @@ declare class YuwDatatableComponent<TData extends RowData> implements OnInit {
|
|
|
1719
1797
|
protected readonly _columnCount: _angular_core.Signal<number>;
|
|
1720
1798
|
protected readonly _skeletonRows: _angular_core.Signal<number[]>;
|
|
1721
1799
|
protected readonly _tableClass: _angular_core.Signal<string>;
|
|
1800
|
+
protected readonly _containerClass: _angular_core.Signal<string>;
|
|
1801
|
+
protected readonly _headClass: _angular_core.Signal<string>;
|
|
1802
|
+
protected readonly _rowClass: _angular_core.Signal<string>;
|
|
1803
|
+
protected readonly _cellClasses: _angular_core.Signal<Map<string, {
|
|
1804
|
+
readonly header: string;
|
|
1805
|
+
readonly cell: string;
|
|
1806
|
+
}>>;
|
|
1722
1807
|
protected readonly _ariaSort: Record<'asc' | 'desc', 'ascending' | 'descending'>;
|
|
1808
|
+
protected readonly _sortIcon: Record<'asc' | 'desc' | 'none', string>;
|
|
1723
1809
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwDatatableComponent<any>, never>;
|
|
1724
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwDatatableComponent<any>, "yuw-datatable", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "sortable": { "alias": "sortable"; "required": false; "isSignal": true; }; "paginated": { "alias": "paginated"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingRows": { "alias": "loadingRows"; "required": false; "isSignal": true; }; "previousPageLabel": { "alias": "previousPageLabel"; "required": true; "isSignal": true; }; "nextPageLabel": { "alias": "nextPageLabel"; "required": true; "isSignal": true; }; "paginationEllipsisSrText": { "alias": "paginationEllipsisSrText"; "required": true; "isSignal": true; }; "paginationAriaLabel": { "alias": "paginationAriaLabel"; "required": true; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "tableClass": { "alias": "tableClass"; "required": false; "isSignal": true; }; "sorting": { "alias": "sorting"; "required": false; "isSignal": true; }; "columnFilters": { "alias": "columnFilters"; "required": false; "isSignal": true; }; "columnVisibility": { "alias": "columnVisibility"; "required": false; "isSignal": true; }; "rowSelection": { "alias": "rowSelection"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; }, { "sorting": "sortingChange"; "columnFilters": "columnFiltersChange"; "columnVisibility": "columnVisibilityChange"; "rowSelection": "rowSelectionChange"; "pagination": "paginationChange"; "selectedRowsChange": "selectedRowsChange"; }, never, never, true, never>;
|
|
1810
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwDatatableComponent<any>, "yuw-datatable", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "sortable": { "alias": "sortable"; "required": false; "isSignal": true; }; "paginated": { "alias": "paginated"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingRows": { "alias": "loadingRows"; "required": false; "isSignal": true; }; "previousPageLabel": { "alias": "previousPageLabel"; "required": true; "isSignal": true; }; "nextPageLabel": { "alias": "nextPageLabel"; "required": true; "isSignal": true; }; "paginationEllipsisSrText": { "alias": "paginationEllipsisSrText"; "required": true; "isSignal": true; }; "paginationAriaLabel": { "alias": "paginationAriaLabel"; "required": true; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "tableClass": { "alias": "tableClass"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "sorting": { "alias": "sorting"; "required": false; "isSignal": true; }; "columnFilters": { "alias": "columnFilters"; "required": false; "isSignal": true; }; "columnVisibility": { "alias": "columnVisibility"; "required": false; "isSignal": true; }; "rowSelection": { "alias": "rowSelection"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; }, { "sorting": "sortingChange"; "columnFilters": "columnFiltersChange"; "columnVisibility": "columnVisibilityChange"; "rowSelection": "rowSelectionChange"; "pagination": "paginationChange"; "selectedRowsChange": "selectedRowsChange"; }, never, never, true, never>;
|
|
1725
1811
|
}
|
|
1726
1812
|
|
|
1727
1813
|
/** A single entry in `<yuw-avatar>`'s `group` input, which turns it into a stack of overlapping avatars. */
|
|
@@ -1902,7 +1988,7 @@ declare class YuwSheetComponent {
|
|
|
1902
1988
|
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
1903
1989
|
readonly closeLabel: _angular_core.InputSignal<string | undefined>;
|
|
1904
1990
|
readonly panelClass: _angular_core.InputSignal<string | undefined>;
|
|
1905
|
-
readonly triggerVariant: _angular_core.InputSignal<"
|
|
1991
|
+
readonly triggerVariant: _angular_core.InputSignal<"default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | null | undefined>;
|
|
1906
1992
|
readonly triggerSize: _angular_core.InputSignal<"default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined>;
|
|
1907
1993
|
protected readonly hasFooter: _angular_core.Signal<YuwSheetFooterDirective | undefined>;
|
|
1908
1994
|
protected readonly _sheetState: _angular_core.Signal<"open" | "closed">;
|
|
@@ -1969,7 +2055,7 @@ declare class YuwPopoverComponent {
|
|
|
1969
2055
|
readonly title: _angular_core.InputSignal<string | undefined>;
|
|
1970
2056
|
readonly description: _angular_core.InputSignal<string | undefined>;
|
|
1971
2057
|
readonly panelClass: _angular_core.InputSignal<string | undefined>;
|
|
1972
|
-
readonly triggerVariant: _angular_core.InputSignal<"
|
|
2058
|
+
readonly triggerVariant: _angular_core.InputSignal<"default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | null | undefined>;
|
|
1973
2059
|
readonly triggerSize: _angular_core.InputSignal<"default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined>;
|
|
1974
2060
|
readonly triggerTransparent: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1975
2061
|
readonly triggerClass: _angular_core.InputSignal<string>;
|
|
@@ -2216,7 +2302,7 @@ declare class YuwDialogComponent {
|
|
|
2216
2302
|
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
2217
2303
|
readonly closeLabel: _angular_core.InputSignal<string | undefined>;
|
|
2218
2304
|
readonly panelClass: _angular_core.InputSignal<string | undefined>;
|
|
2219
|
-
readonly triggerVariant: _angular_core.InputSignal<"
|
|
2305
|
+
readonly triggerVariant: _angular_core.InputSignal<"default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | null | undefined>;
|
|
2220
2306
|
readonly triggerSize: _angular_core.InputSignal<"default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined>;
|
|
2221
2307
|
protected readonly hasFooter: _angular_core.Signal<YuwDialogFooterDirective | undefined>;
|
|
2222
2308
|
protected readonly _dialogState: _angular_core.Signal<"open" | "closed">;
|
|
@@ -2299,9 +2385,9 @@ declare class YuwAlertDialogComponent {
|
|
|
2299
2385
|
readonly description: _angular_core.InputSignal<string | undefined>;
|
|
2300
2386
|
readonly confirmLabel: _angular_core.InputSignal<string>;
|
|
2301
2387
|
readonly cancelLabel: _angular_core.InputSignal<string>;
|
|
2302
|
-
readonly confirmVariant: _angular_core.InputSignal<"
|
|
2388
|
+
readonly confirmVariant: _angular_core.InputSignal<"default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | null | undefined>;
|
|
2303
2389
|
readonly size: _angular_core.InputSignal<YuwAlertDialogSizeDto>;
|
|
2304
|
-
readonly triggerVariant: _angular_core.InputSignal<"
|
|
2390
|
+
readonly triggerVariant: _angular_core.InputSignal<"default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | null | undefined>;
|
|
2305
2391
|
readonly triggerSize: _angular_core.InputSignal<"default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined>;
|
|
2306
2392
|
readonly confirmed: _angular_core.OutputEmitterRef<void>;
|
|
2307
2393
|
readonly cancelled: _angular_core.OutputEmitterRef<void>;
|
|
@@ -2463,6 +2549,103 @@ declare class YuwAttachmentTriggerDirective {
|
|
|
2463
2549
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentTriggerDirective, "button[yuwAttachmentTrigger], a[yuwAttachmentTrigger]", never, {}, {}, never, never, true, [{ directive: typeof i1$c.HlmAttachmentTrigger; inputs: { "type": "type"; }; outputs: {}; }]>;
|
|
2464
2550
|
}
|
|
2465
2551
|
|
|
2552
|
+
/**
|
|
2553
|
+
* Where a sidebar entry points.
|
|
2554
|
+
*
|
|
2555
|
+
* Split across two target fields rather than one, because they drive different mechanisms: `route`
|
|
2556
|
+
* binds `[routerLink]` (in-app navigation, and the source of the entry's automatic active state),
|
|
2557
|
+
* `href` binds a plain `[href]` (full page load, external URLs). `helm/breadcrumb` shows the cost of
|
|
2558
|
+
* conflating them — its DTO field is named `href` but is wired to `routerLink`, so a consumer
|
|
2559
|
+
* passing an external URL gets silent router navigation to a route that doesn't exist.
|
|
2560
|
+
*
|
|
2561
|
+
* An entry with neither renders as a `<button>` and reports through `itemClicked`.
|
|
2562
|
+
*
|
|
2563
|
+
* - `route`: in-app target, accepting anything `[routerLink]` does, including a command array.
|
|
2564
|
+
* - `href`: external or non-router target, bound to a plain anchor.
|
|
2565
|
+
* - `target`: `target` attribute, only meaningful alongside `href`.
|
|
2566
|
+
* - `exact`: whether the active state requires a full URL match, mapping to
|
|
2567
|
+
* `routerLinkActiveOptions.exact`; applies only to a `route`. Default is `false`, so a parent
|
|
2568
|
+
* route stays highlighted while a child is open — set it on a root path like `/` that would
|
|
2569
|
+
* otherwise match everything.
|
|
2570
|
+
*/
|
|
2571
|
+
interface YuwSidebarNavigationDto {
|
|
2572
|
+
route?: RouterLink['routerLink'];
|
|
2573
|
+
href?: string;
|
|
2574
|
+
target?: string;
|
|
2575
|
+
exact?: boolean;
|
|
2576
|
+
}
|
|
2577
|
+
/**
|
|
2578
|
+
* A submenu entry, nested under a {@link YuwSidebarItemDto}.
|
|
2579
|
+
*
|
|
2580
|
+
* Deliberately not the same type as its parent: the helm sub-button renders no icon, no badge and
|
|
2581
|
+
* no further nesting, so reusing `YuwSidebarItemDto` here would hand consumers three fields that
|
|
2582
|
+
* silently do nothing. Same reasoning as `YuwButtonGroupTextDto`.
|
|
2583
|
+
*
|
|
2584
|
+
* `label` is supplied already translated — the sidebar owns no user-facing copy.
|
|
2585
|
+
*/
|
|
2586
|
+
interface YuwSidebarSubItemDto extends YuwSidebarNavigationDto {
|
|
2587
|
+
id: string;
|
|
2588
|
+
label: string;
|
|
2589
|
+
disabled?: boolean;
|
|
2590
|
+
}
|
|
2591
|
+
/**
|
|
2592
|
+
* A single entry of a sidebar menu.
|
|
2593
|
+
*
|
|
2594
|
+
* Renders an anchor when it carries a `route` or `href`, and a `<button>` otherwise — the data says
|
|
2595
|
+
* which it is, so there is no `kind` field to keep in sync with it.
|
|
2596
|
+
*
|
|
2597
|
+
* - `label`: text of the entry, supplied already translated — the sidebar owns no user-facing copy.
|
|
2598
|
+
* - `icon`: name of a registered `@ng-icons` icon. Because the *consumer* chooses this name, the
|
|
2599
|
+
* consuming app is responsible for `provideIcons()`-ing it; `provideIcons` is a component-level
|
|
2600
|
+
* provider, so a name registered on the component hosting the sidebar resolves here through the
|
|
2601
|
+
* injector chain. Same contract as `<yuw-spinner icon="…">`.
|
|
2602
|
+
* - `badge`: short trailing count or status, hidden automatically while collapsed to icons.
|
|
2603
|
+
* - `tooltip`: label shown while collapsed to icons, where `label` is not visible. Falls back to
|
|
2604
|
+
* `label` when absent, so the common case needs no second field.
|
|
2605
|
+
*/
|
|
2606
|
+
interface YuwSidebarItemDto extends YuwSidebarNavigationDto {
|
|
2607
|
+
id: string;
|
|
2608
|
+
label: string;
|
|
2609
|
+
icon?: string;
|
|
2610
|
+
badge?: string;
|
|
2611
|
+
tooltip?: string;
|
|
2612
|
+
disabled?: boolean;
|
|
2613
|
+
children?: YuwSidebarSubItemDto[];
|
|
2614
|
+
}
|
|
2615
|
+
/**
|
|
2616
|
+
* A titled section of the sidebar.
|
|
2617
|
+
*
|
|
2618
|
+
* `label` is heading text, already translated; omitting it renders the menu with no heading.
|
|
2619
|
+
* `separatorAfter` draws a divider after the group — for separating a settings block from the
|
|
2620
|
+
* main nav.
|
|
2621
|
+
*/
|
|
2622
|
+
interface YuwSidebarGroupDto {
|
|
2623
|
+
id: string;
|
|
2624
|
+
label?: string;
|
|
2625
|
+
items: YuwSidebarItemDto[];
|
|
2626
|
+
separatorAfter?: boolean;
|
|
2627
|
+
}
|
|
2628
|
+
/**
|
|
2629
|
+
* What `<yuw-sidebar>`'s `content` and `footer` inputs accept.
|
|
2630
|
+
*
|
|
2631
|
+
* An object rather than a bare `YuwSidebarGroupDto[]` so the shape can grow without a breaking
|
|
2632
|
+
* change to the input's type.
|
|
2633
|
+
*/
|
|
2634
|
+
interface YuwSidebarContentDto {
|
|
2635
|
+
groups: YuwSidebarGroupDto[];
|
|
2636
|
+
}
|
|
2637
|
+
/**
|
|
2638
|
+
* What `<yuw-sidebar>` emits from `itemClicked`.
|
|
2639
|
+
*
|
|
2640
|
+
* Only entries with neither `route` nor `href` emit: a navigating entry's click is the router's or
|
|
2641
|
+
* the browser's to handle. Carries the `id` rather than the whole entry, matching
|
|
2642
|
+
* `YuwButtonGroupClickDto`.
|
|
2643
|
+
*/
|
|
2644
|
+
interface YuwSidebarItemClickDto {
|
|
2645
|
+
id: string;
|
|
2646
|
+
event: MouseEvent;
|
|
2647
|
+
}
|
|
2648
|
+
|
|
2466
2649
|
type YuwSidebarSideDto = 'left' | 'right';
|
|
2467
2650
|
type YuwSidebarVariantDto = 'sidebar' | 'floating' | 'inset';
|
|
2468
2651
|
type YuwSidebarCollapsibleDto = 'offcanvas' | 'icon' | 'none';
|
|
@@ -2480,6 +2663,25 @@ type YuwSidebarCollapsibleDto = 'offcanvas' | 'icon' | 'none';
|
|
|
2480
2663
|
* - `collapsible`: Collapse behaviour (`'offcanvas'` slides away, `'icon'` shrinks to icons, `'none'` always open). Default is `'offcanvas'`.
|
|
2481
2664
|
* - `sidebarWidthMobile`: Width of the mobile slide-in sheet (any CSS length). Defaults to the helm sidebar config (`18rem`).
|
|
2482
2665
|
* - `sidebarContainerClass`: Extra classes merged onto the desktop fixed container (the helm merges them last, so they win).
|
|
2666
|
+
* - `content`: Renders the scrollable nav from a `YuwSidebarContentDto` instead of hand-written
|
|
2667
|
+
* markup. Groups → items → optional one level of children. An item with a `route` becomes a
|
|
2668
|
+
* `[routerLink]` anchor whose active state, `aria-current` and pointer-lock resolve automatically
|
|
2669
|
+
* from `routerLinkActive`; one with an `href` becomes a plain anchor; one with neither becomes a
|
|
2670
|
+
* button that reports through `itemClicked`.
|
|
2671
|
+
* - `footer`: The same, rendered into the footer region.
|
|
2672
|
+
*
|
|
2673
|
+
* Outputs:
|
|
2674
|
+
* - `itemClicked`: Emits `{id, event}` when a non-navigating entry (no `route`, no `href`) is
|
|
2675
|
+
* activated, in either `content` or `footer`.
|
|
2676
|
+
*
|
|
2677
|
+
* The two forms compose rather than exclude each other, unlike `<yuw-button>`'s `buttons` input
|
|
2678
|
+
* which drops projected content when set. `content`/`footer` render their own region; anything
|
|
2679
|
+
* projected still renders, so a data-driven nav can sit alongside a hand-written block. To place
|
|
2680
|
+
* extra markup *inside* the object-rendered regions — where it scrolls with the nav and inherits the
|
|
2681
|
+
* content area's flex sizing — mark it `[yuwSidebarContentExtra]` or `[yuwSidebarFooterExtra]`; the
|
|
2682
|
+
* default slot keeps everything else, so existing projection-only usage is unaffected.
|
|
2683
|
+
*
|
|
2684
|
+
* `header` has no object form: it is a free-form branding area with no repeating structure to model.
|
|
2483
2685
|
*
|
|
2484
2686
|
* Deliberately not exposed from the helm sidebar (add a wrapper only when a real consumer needs
|
|
2485
2687
|
* them): `HlmSidebarMenuAction`, `HlmSidebarMenuSkeleton`, `HlmSidebarInput` and
|
|
@@ -2496,6 +2698,29 @@ type YuwSidebarCollapsibleDto = 'offcanvas' | 'icon' | 'none';
|
|
|
2496
2698
|
* </div>
|
|
2497
2699
|
* </yuw-sidebar>
|
|
2498
2700
|
* ```
|
|
2701
|
+
*
|
|
2702
|
+
* Object form:
|
|
2703
|
+
* ```html
|
|
2704
|
+
* <yuw-sidebar collapsible="icon" [content]="nav" [footer]="footerNav"
|
|
2705
|
+
* (itemClicked)="onAction($event.id)">
|
|
2706
|
+
* <div yuwSidebarHeader>Yurest</div>
|
|
2707
|
+
* </yuw-sidebar>
|
|
2708
|
+
* ```
|
|
2709
|
+
* ```ts
|
|
2710
|
+
* nav: YuwSidebarContentDto = {
|
|
2711
|
+
* groups: [{
|
|
2712
|
+
* id: 'management',
|
|
2713
|
+
* label: 'Gestión',
|
|
2714
|
+
* items: [
|
|
2715
|
+
* {id: 'orders', label: 'Pedidos', icon: 'lucideReceipt', route: '/orders', badge: '12'},
|
|
2716
|
+
* {id: 'reports', label: 'Informes', icon: 'lucideChartLine', children: [
|
|
2717
|
+
* {id: 'sales', label: 'Ventas', route: '/reports/sales'},
|
|
2718
|
+
* ]},
|
|
2719
|
+
* {id: 'sync', label: 'Sincronizar'},
|
|
2720
|
+
* ],
|
|
2721
|
+
* }],
|
|
2722
|
+
* };
|
|
2723
|
+
* ```
|
|
2499
2724
|
*/
|
|
2500
2725
|
declare class YuwSidebarComponent {
|
|
2501
2726
|
private readonly config;
|
|
@@ -2504,8 +2729,11 @@ declare class YuwSidebarComponent {
|
|
|
2504
2729
|
readonly collapsible: _angular_core.InputSignal<YuwSidebarCollapsibleDto>;
|
|
2505
2730
|
readonly sidebarWidthMobile: _angular_core.InputSignal<string>;
|
|
2506
2731
|
readonly sidebarContainerClass: _angular_core.InputSignal<string>;
|
|
2732
|
+
readonly content: _angular_core.InputSignal<YuwSidebarContentDto | undefined>;
|
|
2733
|
+
readonly footer: _angular_core.InputSignal<YuwSidebarContentDto | undefined>;
|
|
2734
|
+
readonly itemClicked: _angular_core.OutputEmitterRef<YuwSidebarItemClickDto>;
|
|
2507
2735
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarComponent, never>;
|
|
2508
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwSidebarComponent, "yuw-sidebar", never, { "side": { "alias": "side"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "sidebarWidthMobile": { "alias": "sidebarWidthMobile"; "required": false; "isSignal": true; }; "sidebarContainerClass": { "alias": "sidebarContainerClass"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
2736
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwSidebarComponent, "yuw-sidebar", never, { "side": { "alias": "side"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "sidebarWidthMobile": { "alias": "sidebarWidthMobile"; "required": false; "isSignal": true; }; "sidebarContainerClass": { "alias": "sidebarContainerClass"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "footer": { "alias": "footer"; "required": false; "isSignal": true; }; }, { "itemClicked": "itemClicked"; }, never, ["[yuwSidebarHeader], yuw-sidebar-header", "[yuwSidebarContentExtra]", "*", "[yuwSidebarFooterExtra]"], true, never>;
|
|
2509
2737
|
}
|
|
2510
2738
|
|
|
2511
2739
|
/**
|
|
@@ -2596,6 +2824,23 @@ declare class YuwSidebarMenuDirective {
|
|
|
2596
2824
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuDirective, never>;
|
|
2597
2825
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuDirective, "ul[yuwSidebarMenu]", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarMenu; inputs: {}; outputs: {}; }]>;
|
|
2598
2826
|
}
|
|
2827
|
+
/**
|
|
2828
|
+
* Marks projected markup that belongs *inside* the region `<yuw-sidebar>` renders from its `content`
|
|
2829
|
+
* input, after the object-driven groups — a hand-written group alongside a data-driven nav.
|
|
2830
|
+
*
|
|
2831
|
+
* Only meaningful when `content` is set; without it the marker is inert and the element falls
|
|
2832
|
+
* through to the default slot like any other projected node. Carries no styling of its own: it is a
|
|
2833
|
+
* projection selector, and whatever it is applied to (usually a `[yuwSidebarGroup]`) keeps its own.
|
|
2834
|
+
*/
|
|
2835
|
+
declare class YuwSidebarContentExtraDirective {
|
|
2836
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarContentExtraDirective, never>;
|
|
2837
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarContentExtraDirective, "[yuwSidebarContentExtra]", never, {}, {}, never, never, true, never>;
|
|
2838
|
+
}
|
|
2839
|
+
/** The `footer` counterpart of {@link YuwSidebarContentExtraDirective}. */
|
|
2840
|
+
declare class YuwSidebarFooterExtraDirective {
|
|
2841
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarFooterExtraDirective, never>;
|
|
2842
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarFooterExtraDirective, "[yuwSidebarFooterExtra]", never, {}, {}, never, never, true, never>;
|
|
2843
|
+
}
|
|
2599
2844
|
/** A single entry of a sidebar menu. Apply to an `<li>`. */
|
|
2600
2845
|
declare class YuwSidebarMenuItemDirective {
|
|
2601
2846
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuItemDirective, never>;
|
|
@@ -2607,9 +2852,17 @@ declare class YuwSidebarMenuItemDirective {
|
|
|
2607
2852
|
*
|
|
2608
2853
|
* To label the item while the sidebar is collapsed to icons, add Spartan's `tooltip` input
|
|
2609
2854
|
* alongside this directive — it comes from the underlying menu-button primitive and is only shown
|
|
2610
|
-
* in the collapsed state.
|
|
2855
|
+
* in the collapsed state. It cannot be re-forwarded through this wrapper's `hostDirectives`
|
|
2856
|
+
* (`tooltip` is the alias `HlmSidebarMenuButton` gives its own composed `BrnTooltip`, not a public
|
|
2857
|
+
* input of its own), so bind it with `[attr.tooltip]` rather than `[tooltip]` when the value comes
|
|
2858
|
+
* from an expression.
|
|
2859
|
+
*
|
|
2860
|
+
* Carries `yuwSidebarMenuButtonClass`, our hover/expanded colouring and collapsed-to-icon geometry.
|
|
2861
|
+
* The `classes()` registration below runs after the composed `HlmSidebarMenuButton`'s own, so our
|
|
2862
|
+
* classes merge last and win — see `sidebar.variants.ts`.
|
|
2611
2863
|
*/
|
|
2612
2864
|
declare class YuwSidebarMenuButtonDirective {
|
|
2865
|
+
constructor();
|
|
2613
2866
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuButtonDirective, never>;
|
|
2614
2867
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuButtonDirective, "button[yuwSidebarMenuButton], a[yuwSidebarMenuButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarMenuButton; inputs: { "variant": "variant"; "size": "size"; "isActive": "isActive"; "closeMobileSidebarOnClick": "closeMobileSidebarOnClick"; }; outputs: {}; }]>;
|
|
2615
2868
|
}
|
|
@@ -2654,5 +2907,5 @@ declare class YuwSidebarInsetDirective {
|
|
|
2654
2907
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarInsetDirective, "main[yuwSidebarInset]", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarInset; inputs: {}; outputs: {}; }]>;
|
|
2655
2908
|
}
|
|
2656
2909
|
|
|
2657
|
-
export { YUW_DATATABLE_FEATURES, YUW_PASSWORD_REVEAL_STATES, YuwAccordion, YuwAccordionContentComponent, YuwAccordionImports, YuwAccordionItem, YuwAccordionTriggerComponent, YuwAlertActionDirective, YuwAlertComponent, YuwAlertDescriptionDirective, YuwAlertDialogComponent, YuwAlertDialogMediaDirective, YuwAlertDialogTriggerDirective, YuwAlertImports, YuwAlertTitleDirective, YuwAttachmentActionDirective, YuwAttachmentActionsDirective, YuwAttachmentContentDirective, YuwAttachmentDescriptionDirective, YuwAttachmentDirective, YuwAttachmentGroupDirective, YuwAttachmentMediaDirective, YuwAttachmentTitleDirective, YuwAttachmentTriggerDirective, YuwAvatarComponent, YuwBadgeComponent, YuwBreadcrumbComponent, YuwButtonComponent, YuwButtonGroupTextDirective, YuwCaptionDirective, YuwCardActionDirective, YuwCardContentDirective, YuwCardDescriptionDirective, YuwCardDirective, YuwCardFooterDirective, YuwCardHeaderDirective, YuwCardImports, YuwCardTitleDirective, YuwCheckboxComponent, YuwComboboxComponent, YuwComboboxItemDirective, YuwContextMenuCheckboxDirective, YuwContextMenuCheckboxIndicatorComponent, YuwContextMenuDirective, YuwContextMenuGroupDirective, YuwContextMenuImports, YuwContextMenuItemDirective, YuwContextMenuLabelDirective, YuwContextMenuRadioDirective, YuwContextMenuRadioIndicatorComponent, YuwContextMenuSeparatorDirective, YuwContextMenuShortcutDirective, YuwContextMenuSubDirective, YuwContextMenuSubIndicatorComponent, YuwContextMenuSubTriggerDirective, YuwContextMenuTriggerDirective, YuwDatatableComponent, YuwDatepickerComponent, YuwDialogCloseDirective, YuwDialogComponent, YuwDialogFooterDirective, YuwDialogImports, YuwDialogTriggerDirective, YuwEmptyContentDirective, YuwEmptyDescriptionDirective, YuwEmptyDirective, YuwEmptyHeaderDirective, YuwEmptyImports, YuwEmptyMediaDirective, YuwEmptyTitleDirective, YuwInputAddonImports, YuwInputComponent, YuwInputOtpComponent, YuwItemActionsDirective, YuwItemContentDirective, YuwItemDescriptionDirective, YuwItemDirective, YuwItemFooterDirective, YuwItemGroupDirective, YuwItemHeaderDirective, YuwItemImports, YuwItemMediaDirective, YuwItemSeparatorDirective, YuwItemTitleDirective, YuwLabel, YuwLeftAddonDirective, YuwPaginationComponent, YuwPasswordInputComponent, YuwPopoverComponent, YuwPopoverTriggerDirective, YuwRadioGroupComponent, YuwRightAddonDirective, YuwSearchInputComponent, YuwSheetCloseDirective, YuwSheetComponent, YuwSheetFooterDirective, YuwSheetImports, YuwSheetTriggerDirective, YuwSidebarComponent, YuwSidebarContentDirective, YuwSidebarFooterDirective, YuwSidebarGroupContentDirective, YuwSidebarGroupDirective, YuwSidebarGroupLabelDirective, YuwSidebarHeaderDirective, YuwSidebarInsetDirective, YuwSidebarMenuBadgeDirective, YuwSidebarMenuButtonDirective, YuwSidebarMenuDirective, YuwSidebarMenuItemDirective, YuwSidebarMenuSubButtonDirective, YuwSidebarMenuSubDirective, YuwSidebarMenuSubItemDirective, YuwSidebarRailDirective, YuwSidebarSeparatorDirective, YuwSidebarTriggerComponent, YuwSidebarWrapperDirective, YuwSkeletonDirective, YuwSpinnerComponent, YuwSwitchComponent, YuwTBodyDirective, YuwTFootDirective, YuwTHeadDirective, YuwTabPanelDirective, YuwTableContainerDirective, YuwTableDirective, YuwTableImports, YuwTabsComponent, YuwTdDirective, YuwTextareaComponent, YuwThDirective, YuwToasterComponent, YuwTooltipDirective, YuwTrDirective, YuwValueAccessorBase, buildInputOtpGroups, cn, getPaginationRange, provideValueAccessor, totalInputOtpLength };
|
|
2658
|
-
export type { YuwAlertDialogSizeDto, YuwAlertVariantDto, YuwAvatarGroupItemDto, YuwAvatarSizeDto, YuwBreadcrumbItemDto, YuwButtonGroupClickDto, YuwButtonGroupEntryDto, YuwButtonGroupItemDto, YuwButtonGroupTextDto, YuwColorDto, YuwComboboxItemContext, YuwComboboxOptionDto, YuwComboboxValue, YuwDatatableColumnDef, YuwDatatableFeatures, YuwDatepickerModeDto, YuwDatepickerValue, YuwInputModeDto, YuwInputOtpGroupDto, YuwInputOtpModeDto, YuwInputTypeDto, YuwPaginationRangeItem, YuwPaginationSizeDto, YuwPasswordRevealStateDto, YuwPopoverAlignDto, YuwRadioOptionDto, YuwSearchInputCollapseFromDto, YuwSheetSideDto, YuwSidebarCollapsibleDto, YuwSidebarSideDto, YuwSidebarVariantDto, YuwSwitchSizeDto, YuwTabItemDto, YuwTabsActivationModeDto, YuwTabsOrientationDto, YuwTabsVariantDto, YuwTextFieldContract, YuwToasterPositionDto, YuwToasterThemeDto, YuwTooltipPositionDto };
|
|
2910
|
+
export { DATATABLE_ALIGN_CLASS, YUW_DATATABLE_FEATURES, YUW_PASSWORD_REVEAL_STATES, YuwAccordion, YuwAccordionContentComponent, YuwAccordionImports, YuwAccordionItem, YuwAccordionTriggerComponent, YuwAlertActionDirective, YuwAlertComponent, YuwAlertDescriptionDirective, YuwAlertDialogComponent, YuwAlertDialogMediaDirective, YuwAlertDialogTriggerDirective, YuwAlertImports, YuwAlertTitleDirective, YuwAttachmentActionDirective, YuwAttachmentActionsDirective, YuwAttachmentContentDirective, YuwAttachmentDescriptionDirective, YuwAttachmentDirective, YuwAttachmentGroupDirective, YuwAttachmentMediaDirective, YuwAttachmentTitleDirective, YuwAttachmentTriggerDirective, YuwAvatarComponent, YuwBadgeComponent, YuwBreadcrumbComponent, YuwButtonComponent, YuwButtonGroupTextDirective, YuwCaptionDirective, YuwCardActionDirective, YuwCardContentDirective, YuwCardDescriptionDirective, YuwCardDirective, YuwCardFooterDirective, YuwCardHeaderDirective, YuwCardImports, YuwCardTitleDirective, YuwCheckboxComponent, YuwComboboxComponent, YuwComboboxItemDirective, YuwContextMenuCheckboxDirective, YuwContextMenuCheckboxIndicatorComponent, YuwContextMenuDirective, YuwContextMenuGroupDirective, YuwContextMenuImports, YuwContextMenuItemDirective, YuwContextMenuLabelDirective, YuwContextMenuRadioDirective, YuwContextMenuRadioIndicatorComponent, YuwContextMenuSeparatorDirective, YuwContextMenuShortcutDirective, YuwContextMenuSubDirective, YuwContextMenuSubIndicatorComponent, YuwContextMenuSubTriggerDirective, YuwContextMenuTriggerDirective, YuwDatatableComponent, YuwDatepickerComponent, YuwDialogCloseDirective, YuwDialogComponent, YuwDialogFooterDirective, YuwDialogImports, YuwDialogTriggerDirective, YuwEmptyContentDirective, YuwEmptyDescriptionDirective, YuwEmptyDirective, YuwEmptyHeaderDirective, YuwEmptyImports, YuwEmptyMediaDirective, YuwEmptyTitleDirective, YuwInputAddonImports, YuwInputComponent, YuwInputOtpComponent, YuwItemActionsDirective, YuwItemContentDirective, YuwItemDescriptionDirective, YuwItemDirective, YuwItemFooterDirective, YuwItemGroupDirective, YuwItemHeaderDirective, YuwItemImports, YuwItemMediaDirective, YuwItemSeparatorDirective, YuwItemTitleDirective, YuwLabel, YuwLeftAddonDirective, YuwPaginationComponent, YuwPasswordInputComponent, YuwPopoverComponent, YuwPopoverTriggerDirective, YuwRadioGroupComponent, YuwRightAddonDirective, YuwSearchInputComponent, YuwSheetCloseDirective, YuwSheetComponent, YuwSheetFooterDirective, YuwSheetImports, YuwSheetTriggerDirective, YuwSidebarComponent, YuwSidebarContentDirective, YuwSidebarContentExtraDirective, YuwSidebarFooterDirective, YuwSidebarFooterExtraDirective, YuwSidebarGroupContentDirective, YuwSidebarGroupDirective, YuwSidebarGroupLabelDirective, YuwSidebarHeaderDirective, YuwSidebarInsetDirective, YuwSidebarMenuBadgeDirective, YuwSidebarMenuButtonDirective, YuwSidebarMenuDirective, YuwSidebarMenuItemDirective, YuwSidebarMenuSubButtonDirective, YuwSidebarMenuSubDirective, YuwSidebarMenuSubItemDirective, YuwSidebarRailDirective, YuwSidebarSeparatorDirective, YuwSidebarTriggerComponent, YuwSidebarWrapperDirective, YuwSkeletonDirective, YuwSpinnerComponent, YuwSwitchComponent, YuwTBodyDirective, YuwTFootDirective, YuwTHeadDirective, YuwTabPanelDirective, YuwTableContainerDirective, YuwTableDirective, YuwTableImports, YuwTabsComponent, YuwTdDirective, YuwTextareaComponent, YuwThDirective, YuwToasterComponent, YuwTooltipDirective, YuwTrDirective, YuwValueAccessorBase, buildInputOtpGroups, cn, datatableCellVariants, datatableContainerVariants, datatableHeadVariants, datatableHeaderCellVariants, datatableRowVariants, getPaginationRange, provideValueAccessor, totalInputOtpLength };
|
|
2911
|
+
export type { YuwAlertDialogSizeDto, YuwAlertVariantDto, YuwAvatarGroupItemDto, YuwAvatarSizeDto, YuwBreadcrumbItemDto, YuwButtonGroupClickDto, YuwButtonGroupEntryDto, YuwButtonGroupItemDto, YuwButtonGroupTextDto, YuwColorDto, YuwComboboxItemContext, YuwComboboxOptionDto, YuwComboboxValue, YuwDatatableAlign, YuwDatatableAppearanceDto, YuwDatatableColumnDef, YuwDatatableColumnMeta, YuwDatatableFeatures, YuwDatepickerModeDto, YuwDatepickerValue, YuwFieldSizeDto, YuwInputModeDto, YuwInputOtpGroupDto, YuwInputOtpModeDto, YuwInputTypeDto, YuwPaginationRangeItem, YuwPaginationSizeDto, YuwPasswordRevealStateDto, YuwPopoverAlignDto, YuwRadioOptionDto, YuwSearchInputCollapseFromDto, YuwSheetSideDto, YuwSidebarCollapsibleDto, YuwSidebarContentDto, YuwSidebarGroupDto, YuwSidebarItemClickDto, YuwSidebarItemDto, YuwSidebarSideDto, YuwSidebarSubItemDto, YuwSidebarVariantDto, YuwSwitchSizeDto, YuwTabItemDto, YuwTabsActivationModeDto, YuwTabsOrientationDto, YuwTabsVariantDto, YuwTextFieldContract, YuwToasterPositionDto, YuwToasterThemeDto, YuwTooltipPositionDto };
|