yukit-web 0.0.1 → 0.0.3

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.
@@ -17,12 +17,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
18
  import * as i1$6 from 'yukit-web/helm/item';
19
19
  import { HlmItemSeparator } from 'yukit-web/helm/item';
20
- import * as i1$7 from '@spartan-ng/brain/tooltip';
20
+ import * as i1$7 from '@spartan-ng/brain/sheet';
21
+ import * as i1$8 from '@spartan-ng/brain/popover';
22
+ import * as i1$9 from '@spartan-ng/brain/tooltip';
21
23
  import { ToastOptions } from '@spartan-ng/brain/sonner';
22
24
  export { toast as yuwToast } from '@spartan-ng/brain/sonner';
23
- import * as i1$8 from 'yukit-web/helm/attachment';
25
+ import * as i1$a from '@spartan-ng/brain/dialog';
26
+ import * as i1$b from '@spartan-ng/brain/alert-dialog';
27
+ import * as i1$c from 'yukit-web/helm/attachment';
24
28
  import { HlmAttachmentAction } from 'yukit-web/helm/attachment';
25
- import * as i1$9 from 'yukit-web/helm/sidebar';
29
+ import * as i1$d from 'yukit-web/helm/sidebar';
26
30
  export { HlmSidebarConfig as YuwSidebarConfigDto, HlmSidebarService as YuwSidebarService, SidebarVariant as YuwSidebarServiceVariantDto, provideHlmSidebarConfig as provideYuwSidebarConfig } from 'yukit-web/helm/sidebar';
27
31
 
28
32
  /**
@@ -111,6 +115,7 @@ type YuwColorDto = 'primary' | 'secondary' | 'destructive' | 'success' | 'warnin
111
115
  interface YuwButtonGroupItemDto {
112
116
  id: string;
113
117
  label: string;
118
+ kind?: 'button';
114
119
  variant?: ButtonVariants['variant'];
115
120
  size?: ButtonVariants['size'];
116
121
  color?: YuwColorDto;
@@ -122,6 +127,31 @@ interface YuwButtonGroupItemDto {
122
127
  yuwDropdownMenuTrigger?: TemplateRef<unknown> | undefined;
123
128
  transparent?: boolean;
124
129
  }
130
+ /**
131
+ * A static, non-interactive segment welded into the same row as the buttons — a leading caption, a
132
+ * trailing unit, a checkbox that applies to the whole group.
133
+ *
134
+ * A separate type rather than optional fields on `YuwButtonGroupItemDto`: a text segment honors none
135
+ * of that interface's button surface, and merging them would hand consumers fields that silently do
136
+ * nothing on half the entries.
137
+ *
138
+ * `label` renders as-is. For content a string can't express (a `yuw-checkbox`, custom markup),
139
+ * declare an `<ng-template yuwButtonGroupText="<id>">` whose id matches this entry; the template
140
+ * wins over `label` when both are present.
141
+ */
142
+ interface YuwButtonGroupTextDto {
143
+ id: string;
144
+ kind: 'text';
145
+ label?: string;
146
+ }
147
+ /**
148
+ * What `<yuw-button>`'s `buttons` input accepts: buttons, text segments, in whatever order the
149
+ * consumer lists them.
150
+ *
151
+ * `kind` is optional on the button variant, so existing `{id, label}` arrays keep working: an entry
152
+ * without `kind` is a button.
153
+ */
154
+ type YuwButtonGroupEntryDto = YuwButtonGroupItemDto | YuwButtonGroupTextDto;
125
155
  /** What `<yuw-button>` emits from `buttonClicked` in the group form. */
126
156
  interface YuwButtonGroupClickDto {
127
157
  id: string;
@@ -143,7 +173,9 @@ interface YuwButtonGroupClickDto {
143
173
  * - `class`: Extra CSS classes merged onto the inner button/anchor (single and link mode); merged last, so they win over the component's own classes.
144
174
  * - `yuwDropdownMenuTrigger`: Optional dropdown menu template reference to trigger.
145
175
  * - `ariaLabel`: Accessible label for screen readers.
146
- * - `buttons`: Array of button items (`YuwButtonGroupItemDto[]`) to render as a welded button group.
176
+ * - `buttons`: Array of group entries (`YuwButtonGroupEntryDto[]`) to render as a welded button group.
177
+ * A `kind: 'text'` entry renders a static, non-interactive segment instead of a button; give it an
178
+ * `<ng-template yuwButtonGroupText="<id>">` to fill it with markup rather than a plain `label`.
147
179
  * - `orientation`: Group layout orientation (`'horizontal'` or `'vertical'`). Default is `'horizontal'`.
148
180
  * - `groupAriaLabel`: Accessible name for button group container.
149
181
  *
@@ -151,6 +183,12 @@ interface YuwButtonGroupClickDto {
151
183
  * - `clicked`: Emits MouseEvent on single button click.
152
184
  * - `buttonClicked`: Emits object containing clicked button `id` and `event` in group mode.
153
185
  *
186
+ * The host carries `inline-flex` so it is a real box rather than an inline one: an overlay trigger
187
+ * directive composed onto `<yuw-button>` (see `YuwPopoverTriggerDirective`) anchors its panel to the
188
+ * host element, and an inline host reports a rect that misses the button's own box. Elements that
189
+ * need to be positioned — an overlay's close button, for instance — get a positioned wrapper around
190
+ * `<yuw-button>` rather than relying on the host's own display.
191
+ *
154
192
  * Single Button Usage:
155
193
  * ```html
156
194
  * <yuw-button variant="outline" color="primary" (clicked)="onSave()">Save</yuw-button>
@@ -160,6 +198,12 @@ interface YuwButtonGroupClickDto {
160
198
  * Button Group Usage:
161
199
  * ```html
162
200
  * <yuw-button [buttons]="actionList" (buttonClicked)="onAction($event)" />
201
+ *
202
+ * <yuw-button [buttons]="[{id: 'caption', kind: 'text', label: 'Sort by'}, ...sortActions]">
203
+ * <ng-template yuwButtonGroupText="select-all">
204
+ * <yuw-checkbox [(checked)]="allSelected" />
205
+ * </ng-template>
206
+ * </yuw-button>
163
207
  * ```
164
208
  */
165
209
  declare class YuwButtonComponent {
@@ -173,7 +217,7 @@ declare class YuwButtonComponent {
173
217
  readonly transparent: _angular_core.InputSignalWithTransform<boolean, unknown>;
174
218
  readonly yuwDropdownMenuTrigger: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
175
219
  readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
176
- readonly buttons: _angular_core.InputSignal<YuwButtonGroupItemDto[] | undefined>;
220
+ readonly buttons: _angular_core.InputSignal<YuwButtonGroupEntryDto[] | undefined>;
177
221
  readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
178
222
  readonly groupAriaLabel: _angular_core.InputSignal<string | undefined>;
179
223
  /**
@@ -183,10 +227,26 @@ declare class YuwButtonComponent {
183
227
  readonly userClass: _angular_core.InputSignal<string>;
184
228
  readonly clicked: _angular_core.OutputEmitterRef<MouseEvent>;
185
229
  readonly buttonClicked: _angular_core.OutputEmitterRef<YuwButtonGroupClickDto>;
230
+ protected readonly _textClass = "bg-transparent text-foreground";
186
231
  protected readonly _isGroup: _angular_core.Signal<boolean>;
232
+ protected readonly _effectiveVariant: _angular_core.Signal<"secondary" | "destructive" | "default" | "outline" | "ghost" | "link" | null | undefined>;
187
233
  /** Classes for the single-mode button/anchor: our variant layer + the consumer's `class`, which goes last so it wins. */
188
234
  protected readonly _btnClass: _angular_core.Signal<string>;
189
- protected readonly _resolved: _angular_core.Signal<{
235
+ private readonly _texts;
236
+ /**
237
+ * The group's entries, each carrying everything its branch of the template needs.
238
+ *
239
+ * A text entry has no variant/size/color to fall back to, so it takes its own path rather than
240
+ * being run through the button resolver, which would invent fields its DTO doesn't declare. Its
241
+ * content template is looked up through a `Map` rather than a per-entry `.find()`, which would
242
+ * make an n-entry group cost n² comparisons.
243
+ */
244
+ protected readonly _resolved: _angular_core.Signal<({
245
+ template: TemplateRef<unknown> | undefined;
246
+ id: string;
247
+ kind: "text";
248
+ label?: string;
249
+ } | {
190
250
  variant: "secondary" | "destructive" | "default" | "outline" | "ghost" | "link" | null | undefined;
191
251
  size: "default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
192
252
  color: YuwColorDto;
@@ -195,16 +255,42 @@ declare class YuwButtonComponent {
195
255
  class: string;
196
256
  id: string;
197
257
  label: string;
258
+ kind?: "button";
198
259
  href?: string;
199
260
  target?: string;
200
261
  ariaLabel?: string;
201
262
  yuwDropdownMenuTrigger?: TemplateRef<unknown> | undefined;
202
263
  transparent?: boolean;
203
- }[]>;
264
+ })[]>;
204
265
  protected onClick(event: MouseEvent): void;
205
266
  protected onGroupClick(button: YuwButtonGroupItemDto, event: MouseEvent): void;
206
267
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwButtonComponent, never>;
207
- 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"; }, never, ["[yuwButtonIcon]", "*", "[yuwButtonIcon]", "*"], true, 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>;
269
+ }
270
+
271
+ /**
272
+ * Declares the content of a single text segment inside `<yuw-button>`'s button group. Apply it to
273
+ * an `<ng-template>` and pass the id of the `kind: 'text'` entry it belongs to, matching an entry
274
+ * in the `buttons` input.
275
+ *
276
+ * Exists because a text segment often isn't text — a checkbox, a badge, an icon with a count — and a
277
+ * component cannot travel through a data array. An entry whose id has no matching template falls
278
+ * back to its `label`, so the plain-string case needs no template at all.
279
+ *
280
+ * Usage:
281
+ * ```html
282
+ * <yuw-button [buttons]="entries">
283
+ * <ng-template yuwButtonGroupText="select-all">
284
+ * <yuw-checkbox [(checked)]="allSelected" />
285
+ * </ng-template>
286
+ * </yuw-button>
287
+ * ```
288
+ */
289
+ declare class YuwButtonGroupTextDirective {
290
+ readonly entryId: _angular_core.InputSignal<string>;
291
+ readonly templateRef: TemplateRef<unknown>;
292
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwButtonGroupTextDirective, never>;
293
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwButtonGroupTextDirective, "ng-template[yuwButtonGroupText]", never, { "entryId": { "alias": "yuwButtonGroupText"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
208
294
  }
209
295
 
210
296
  /**
@@ -222,14 +308,16 @@ declare class YuwButtonComponent {
222
308
  * ```
223
309
  */
224
310
  declare class YuwBadgeComponent {
311
+ readonly variant: _angular_core.InputSignal<"secondary" | "destructive" | "default" | "outline" | "ghost" | "link" | null | undefined>;
225
312
  readonly color: _angular_core.InputSignal<YuwColorDto>;
226
313
  readonly removeLabel: _angular_core.InputSignal<string | undefined>;
227
314
  readonly dot: _angular_core.InputSignalWithTransform<boolean, unknown>;
228
315
  readonly removed: _angular_core.OutputEmitterRef<void>;
229
316
  protected readonly dotClass: _angular_core.Signal<"" | "size-4 p-0">;
317
+ protected readonly removeClass: _angular_core.Signal<string>;
230
318
  protected onRemoveClick(event: Event): void;
231
319
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwBadgeComponent, never>;
232
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwBadgeComponent, "yuw-badge", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "dot": { "alias": "dot"; "required": false; "isSignal": true; }; }, { "removed": "removed"; }, never, ["[yuwBadgeIcon]", "*"], true, [{ directive: typeof i1.HlmBadge; inputs: { "variant": "variant"; }; outputs: {}; }]>;
320
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwBadgeComponent, "yuw-badge", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "dot": { "alias": "dot"; "required": false; "isSignal": true; }; }, { "removed": "removed"; }, never, ["[yuwBadgeIcon]", "*"], true, [{ directive: typeof i1.HlmBadge; inputs: { "variant": "variant"; }; outputs: {}; }]>;
233
321
  }
234
322
 
235
323
  /** A single crumb in `<yuw-breadcrumb>`'s `items` input. */
@@ -637,7 +725,15 @@ declare class YuwTextareaComponent extends YuwValueAccessorBase<string> implemen
637
725
  }
638
726
 
639
727
  /**
640
- * Search input control featuring a leading search icon, optional clear button, and form integration (`ngModel`, `formControlName`).
728
+ * Edge a collapsible `yuw-search-input` stays anchored to while the opposite edge travels.
729
+ *
730
+ * `'right'` keeps the right edge fixed so the field grows leftwards; `'left'` mirrors it.
731
+ */
732
+ type YuwSearchInputCollapseFromDto = 'left' | 'right';
733
+
734
+ /**
735
+ * Search input control featuring a leading search icon, optional clear button, an optional
736
+ * collapsible mode, and form integration (`ngModel`, `formControlName`).
641
737
  *
642
738
  * Inputs / Models:
643
739
  * - `value`: Two-way search query string.
@@ -650,6 +746,14 @@ declare class YuwTextareaComponent extends YuwValueAccessorBase<string> implemen
650
746
  * - `autocomplete`: Native `autocomplete` attribute.
651
747
  * - `placeholder`: Hint text shown inside the empty field.
652
748
  * - `clearAriaLabel`: Accessible name for the clear button. Supplying it enables the clear button; omit to hide it.
749
+ * - `collapseFrom`: Enables collapsible mode and picks the anchored edge — `'right'` collapses back
750
+ * towards the right edge (the field grows leftwards), `'left'` mirrors it. Omit for a field that
751
+ * is always expanded.
752
+ * - `expandAriaLabel`: Accessible name for the collapsed search button. Required to make collapsible
753
+ * mode usable, since the collapsed control has no visible text — user-facing text the consuming
754
+ * app is responsible for translating.
755
+ * - `expandedWidth`: CSS width the field animates out to, e.g. `'18rem'`. Default is `'16rem'`.
756
+ * Collapsible mode only.
653
757
  * - `class`: Extra classes merged onto the input group.
654
758
  *
655
759
  * Outputs:
@@ -657,9 +761,26 @@ declare class YuwTextareaComponent extends YuwValueAccessorBase<string> implemen
657
761
  * - `committed`: Emits the current query string when the user presses Enter — for searches that
658
762
  * hit a server on explicit submit rather than on every keystroke.
659
763
  *
764
+ * ## Collapsible mode
765
+ *
766
+ * Collapsed, the control is a square icon button; activating it animates the same element out to its
767
+ * expanded width and focuses the field. It collapses again on Escape, or on blur while the query is
768
+ * empty — a blur with text still in the field keeps the field open, because collapsing would hide a
769
+ * query the user can no longer see or edit.
770
+ *
771
+ * Button and field are one element tree rather than two swapped views, so the transition is
772
+ * continuous and the input is never re-created mid-animation (which would drop focus and the caret).
773
+ *
660
774
  * Usage:
661
775
  * ```html
662
776
  * <yuw-search-input [(value)]="query" placeholder="Search items..." clearAriaLabel="Clear search" (searched)="onSearch($event)" />
777
+ *
778
+ * <yuw-search-input
779
+ * [(value)]="query"
780
+ * collapseFrom="right"
781
+ * * expandAriaLabel="Open search"
782
+ * placeholder="Search items..."
783
+ * />
663
784
  * ```
664
785
  */
665
786
  declare class YuwSearchInputComponent extends YuwValueAccessorBase<string> implements YuwTextFieldContract {
@@ -673,21 +794,50 @@ declare class YuwSearchInputComponent extends YuwValueAccessorBase<string> imple
673
794
  readonly autocomplete: _angular_core.InputSignal<string | undefined>;
674
795
  readonly placeholder: _angular_core.InputSignal<string | undefined>;
675
796
  readonly clearAriaLabel: _angular_core.InputSignal<string | undefined>;
797
+ readonly collapseFrom: _angular_core.InputSignal<YuwSearchInputCollapseFromDto | undefined>;
798
+ readonly expandedWidth: _angular_core.InputSignal<string>;
799
+ readonly expandAriaLabel: _angular_core.InputSignal<string | undefined>;
676
800
  readonly userClass: _angular_core.InputSignal<string>;
801
+ private readonly _open;
802
+ protected readonly _autoId: string;
803
+ private readonly _input;
804
+ private readonly _injector;
677
805
  readonly searched: _angular_core.OutputEmitterRef<string>;
678
806
  readonly committed: _angular_core.OutputEmitterRef<string>;
679
- protected readonly _autoId: string;
680
807
  protected readonly _inputId: _angular_core.Signal<string>;
681
808
  protected readonly _classes: _angular_core.Signal<string>;
682
809
  protected readonly _disabled: _angular_core.Signal<boolean>;
810
+ protected readonly _collapsible: _angular_core.Signal<boolean>;
811
+ protected readonly _expanded: _angular_core.Signal<boolean>;
812
+ protected readonly _wrapperClasses: _angular_core.Signal<string>;
813
+ protected readonly _wrapperMaxWidth: _angular_core.Signal<string | null>;
814
+ protected readonly _iconClasses: _angular_core.Signal<string>;
815
+ protected readonly _fieldClasses: _angular_core.Signal<string>;
816
+ protected readonly _showExpandButton: _angular_core.Signal<boolean>;
683
817
  protected readonly _showClear: _angular_core.Signal<boolean>;
684
- private readonly _input;
685
818
  protected _emptyValue(): string;
686
819
  protected onInput(event: Event): void;
687
820
  protected onEnter(): void;
688
821
  protected onClear(): void;
822
+ /**
823
+ * Focus is deferred to the next render: while collapsed the input carries `tabindex="-1"` and
824
+ * `aria-hidden`, and focusing it before those bindings clear would be dropped by the browser.
825
+ */
826
+ protected onExpand(): void;
827
+ /**
828
+ * Expands when the collapsed button receives focus, so reaching it with Tab opens the field
829
+ * instead of leaving the user on a button they must also activate.
830
+ *
831
+ * Gated on `:focus-visible` to stay out of a focus loop: collapsing on blur remounts this button,
832
+ * and if the browser then lands focus on it, an ungated handler would re-expand and the control
833
+ * could never be tabbed past. `:focus-visible` is set for keyboard traversal but not for the
834
+ * programmatic/pointer focus that a collapse produces.
835
+ */
836
+ protected onExpandFocus(event: FocusEvent): void;
837
+ protected onEscape(): void;
838
+ protected onBlur(): void;
689
839
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSearchInputComponent, never>;
690
- 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; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "searched": "searched"; "committed": "committed"; }, never, never, true, 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>;
691
841
  }
692
842
 
693
843
  /**
@@ -1491,6 +1641,10 @@ type YuwDatatableColumnDef<TData extends RowData> = ColumnDef<YuwDatatableFeatur
1491
1641
  * User-facing text the consuming app is responsible for translating.
1492
1642
  * - `nextPageLabel` (required): Accessible name for the footer's next-page button. User-facing
1493
1643
  * text the consuming app is responsible for translating.
1644
+ * - `paginationEllipsisSrText` (required): Screen-reader text for the pagination ellipsis.
1645
+ * User-facing text the consuming app is responsible for translating.
1646
+ * - `paginationAriaLabel` (required): Accessible name for the pagination navigation landmark.
1647
+ * User-facing text the consuming app is responsible for translating.
1494
1648
  * - `caption`: Optional `<caption>` text for the table. User-facing text the consuming app is
1495
1649
  * responsible for translating; when absent, no caption is rendered.
1496
1650
  * - `tableClass`: Extra classes merged onto the inner `<table>` element. The host is
@@ -1530,6 +1684,8 @@ declare class YuwDatatableComponent<TData extends RowData> implements OnInit {
1530
1684
  readonly loadingRows: _angular_core.InputSignalWithTransform<number, unknown>;
1531
1685
  readonly previousPageLabel: _angular_core.InputSignal<string>;
1532
1686
  readonly nextPageLabel: _angular_core.InputSignal<string>;
1687
+ readonly paginationEllipsisSrText: _angular_core.InputSignal<string>;
1688
+ readonly paginationAriaLabel: _angular_core.InputSignal<string>;
1533
1689
  readonly caption: _angular_core.InputSignal<string | undefined>;
1534
1690
  readonly tableClass: _angular_core.InputSignal<string | undefined>;
1535
1691
  readonly sorting: _angular_core.ModelSignal<SortingState>;
@@ -1537,6 +1693,9 @@ declare class YuwDatatableComponent<TData extends RowData> implements OnInit {
1537
1693
  readonly columnVisibility: _angular_core.ModelSignal<ColumnVisibilityState>;
1538
1694
  readonly rowSelection: _angular_core.ModelSignal<RowSelectionState>;
1539
1695
  readonly pagination: _angular_core.ModelSignal<PaginationState>;
1696
+ protected readonly currentPage: _angular_core.WritableSignal<number>;
1697
+ /** Translates a 1-based page from `<yuw-pagination>` back into TanStack's zero-based state. */
1698
+ protected onPageChange(page: number): void;
1540
1699
  private readonly _options;
1541
1700
  protected readonly table: _tanstack_angular_table.AngularTable<YuwDatatableFeatures, TData>;
1542
1701
  private readonly _selectedRows;
@@ -1562,7 +1721,7 @@ declare class YuwDatatableComponent<TData extends RowData> implements OnInit {
1562
1721
  protected readonly _tableClass: _angular_core.Signal<string>;
1563
1722
  protected readonly _ariaSort: Record<'asc' | 'desc', 'ascending' | 'descending'>;
1564
1723
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwDatatableComponent<any>, never>;
1565
- 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; }; "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>;
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>;
1566
1725
  }
1567
1726
 
1568
1727
  /** A single entry in `<yuw-avatar>`'s `group` input, which turns it into a stack of overlapping avatars. */
@@ -1753,6 +1912,23 @@ declare class YuwSheetComponent {
1753
1912
  }
1754
1913
  declare const YuwSheetImports: readonly [typeof YuwSheetComponent, typeof YuwSheetFooterDirective];
1755
1914
 
1915
+ /**
1916
+ * Makes a `<yuw-button>` the trigger of the surrounding `<yuw-sheet>`.
1917
+ *
1918
+ * Mirrors `YuwDialogTriggerDirective`: the helm trigger only matches a native `button`, so the brain
1919
+ * directive is composed here instead, keeping `[hlmBtn]` inside `<yuw-button>`. `side` is forwarded
1920
+ * so a trigger can override which edge the sheet appears from.
1921
+ */
1922
+ declare class YuwSheetTriggerDirective {
1923
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSheetTriggerDirective, never>;
1924
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSheetTriggerDirective, "yuw-button[yuwSheetTriggerButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$7.BrnSheetTrigger; inputs: { "id": "id"; "side": "side"; "type": "type"; }; outputs: {}; }]>;
1925
+ }
1926
+ /** Closes the surrounding `<yuw-sheet>` when the host `<yuw-button>` is activated. */
1927
+ declare class YuwSheetCloseDirective {
1928
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSheetCloseDirective, never>;
1929
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSheetCloseDirective, "yuw-button[yuwSheetClose]", never, {}, {}, never, never, true, [{ directive: typeof i1$7.BrnSheetClose; inputs: {}; outputs: {}; }]>;
1930
+ }
1931
+
1756
1932
  type YuwPopoverAlignDto = 'start' | 'center' | 'end';
1757
1933
  /**
1758
1934
  * Popover component for displaying anchored floating overlay panels.
@@ -1768,6 +1944,13 @@ type YuwPopoverAlignDto = 'start' | 'center' | 'end';
1768
1944
  * over the library defaults via `twMerge`.
1769
1945
  * - `triggerVariant`: Button style variant for the trigger button.
1770
1946
  * - `triggerSize`: Button size for the trigger button.
1947
+ * - `triggerTransparent`: Strips the trigger's background and border in every state (rest, hover,
1948
+ * open), for triggers whose projected content is the whole control — an avatar, a name, a chevron.
1949
+ * - `triggerClass`: Extra classes merged onto the trigger button, last, so they beat both the
1950
+ * variant classes and `triggerTransparent` (e.g. `h-auto p-0` to drop the button's own box).
1951
+ *
1952
+ * The trigger is a `<yuw-button>`; `YuwPopoverTriggerDirective` composes the brain trigger onto it,
1953
+ * so the popover reuses our button component instead of applying `[hlmBtn]` directly.
1771
1954
  *
1772
1955
  * Usage:
1773
1956
  * ```html
@@ -1788,10 +1971,29 @@ declare class YuwPopoverComponent {
1788
1971
  readonly panelClass: _angular_core.InputSignal<string | undefined>;
1789
1972
  readonly triggerVariant: _angular_core.InputSignal<"secondary" | "destructive" | "default" | "outline" | "ghost" | "link" | null | undefined>;
1790
1973
  readonly triggerSize: _angular_core.InputSignal<"default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined>;
1974
+ readonly triggerTransparent: _angular_core.InputSignalWithTransform<boolean, unknown>;
1975
+ readonly triggerClass: _angular_core.InputSignal<string>;
1791
1976
  protected readonly _popoverState: _angular_core.Signal<"open" | "closed">;
1792
1977
  protected onOpenChange(state: 'open' | 'closed'): void;
1793
1978
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwPopoverComponent, never>;
1794
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwPopoverComponent, "yuw-popover", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "showTrigger": { "alias": "showTrigger"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "sideOffset": { "alias": "sideOffset"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "triggerVariant": { "alias": "triggerVariant"; "required": false; "isSignal": true; }; "triggerSize": { "alias": "triggerSize"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, ["[yuwPopoverTrigger]", "*"], true, never>;
1979
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwPopoverComponent, "yuw-popover", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "showTrigger": { "alias": "showTrigger"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "sideOffset": { "alias": "sideOffset"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "triggerVariant": { "alias": "triggerVariant"; "required": false; "isSignal": true; }; "triggerSize": { "alias": "triggerSize"; "required": false; "isSignal": true; }; "triggerTransparent": { "alias": "triggerTransparent"; "required": false; "isSignal": true; }; "triggerClass": { "alias": "triggerClass"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, ["[yuwPopoverTrigger]", "*"], true, never>;
1980
+ }
1981
+
1982
+ /**
1983
+ * Makes a `<yuw-button>` the trigger of the surrounding `<yuw-popover>`.
1984
+ *
1985
+ * The helm trigger directive's selector only matches a native `button`, so composing the brain
1986
+ * directive here is what lets the popover use `<yuw-button>` rather than a bare `[hlmBtn]` element.
1987
+ * Brain needs three things from its host, all of which `<yuw-button>` provides: the `click` that
1988
+ * bubbles up from the inner button, the `aria-expanded`/`data-state` attributes, and a host box to
1989
+ * anchor the panel against — hence `<yuw-button>`'s `inline-flex` host, since a `display: contents`
1990
+ * host has no rect for the overlay to position from.
1991
+ *
1992
+ * `data-slot` mirrors the helm directive so the popover stylesheet targets both identically.
1993
+ */
1994
+ declare class YuwPopoverTriggerDirective {
1995
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwPopoverTriggerDirective, never>;
1996
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwPopoverTriggerDirective, "yuw-button[yuwPopoverTriggerFor], yuw-button[yuwPopoverTriggerButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$8.BrnPopoverTrigger; inputs: { "id": "id"; "brnPopoverTriggerFor": "yuwPopoverTriggerFor"; "type": "type"; }; outputs: {}; }]>;
1795
1997
  }
1796
1998
 
1797
1999
  type YuwTooltipPositionDto = 'top' | 'bottom' | 'left' | 'right';
@@ -1816,7 +2018,7 @@ type YuwTooltipPositionDto = 'top' | 'bottom' | 'left' | 'right';
1816
2018
  */
1817
2019
  declare class YuwTooltipDirective {
1818
2020
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwTooltipDirective, never>;
1819
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwTooltipDirective, "[yuwTooltip]", never, {}, {}, never, never, true, [{ directive: typeof i1$7.BrnTooltip; inputs: { "brnTooltip": "yuwTooltip"; "position": "position"; "hideDelay": "hideDelay"; "showDelay": "showDelay"; "tooltipDisabled": "tooltipDisabled"; }; outputs: {}; }]>;
2021
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwTooltipDirective, "[yuwTooltip]", never, {}, {}, never, never, true, [{ directive: typeof i1$9.BrnTooltip; inputs: { "brnTooltip": "yuwTooltip"; "position": "position"; "hideDelay": "hideDelay"; "showDelay": "showDelay"; "tooltipDisabled": "tooltipDisabled"; }; outputs: {}; }]>;
1820
2022
  }
1821
2023
 
1822
2024
  /**
@@ -2024,6 +2226,25 @@ declare class YuwDialogComponent {
2024
2226
  }
2025
2227
  declare const YuwDialogImports: readonly [typeof YuwDialogComponent, typeof YuwDialogFooterDirective];
2026
2228
 
2229
+ /**
2230
+ * Makes a `<yuw-button>` the trigger of the surrounding `<yuw-dialog>`.
2231
+ *
2232
+ * The helm trigger directive's selector only matches a native `button`, so composing the brain
2233
+ * directive here is what lets the dialog use `<yuw-button>` rather than applying `[hlmBtn]` outside
2234
+ * of `<yuw-button>` itself. A dialog is centred rather than anchored to its trigger, so brain needs
2235
+ * only the click — which bubbles up from the inner button — and the `aria-expanded`/`data-state`
2236
+ * attributes it writes on the host.
2237
+ */
2238
+ declare class YuwDialogTriggerDirective {
2239
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwDialogTriggerDirective, never>;
2240
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwDialogTriggerDirective, "yuw-button[yuwDialogTriggerFor], yuw-button[yuwDialogTriggerButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$a.BrnDialogTrigger; inputs: { "id": "id"; "brnDialogTriggerFor": "yuwDialogTriggerFor"; "type": "type"; }; outputs: {}; }]>;
2241
+ }
2242
+ /** Closes the surrounding `<yuw-dialog>` when the host `<yuw-button>` is activated. */
2243
+ declare class YuwDialogCloseDirective {
2244
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwDialogCloseDirective, never>;
2245
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwDialogCloseDirective, "yuw-button[yuwDialogClose]", never, {}, {}, never, never, true, [{ directive: typeof i1$a.BrnDialogClose; inputs: {}; outputs: {}; }]>;
2246
+ }
2247
+
2027
2248
  /**
2028
2249
  * Marks a projected element as the leading media of a `<yuw-alert-dialog>`, rendered in a
2029
2250
  * highlighted square above or beside the title.
@@ -2091,6 +2312,17 @@ declare class YuwAlertDialogComponent {
2091
2312
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwAlertDialogComponent, "yuw-alert-dialog", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "showTrigger": { "alias": "showTrigger"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "confirmLabel": { "alias": "confirmLabel"; "required": true; "isSignal": true; }; "cancelLabel": { "alias": "cancelLabel"; "required": true; "isSignal": true; }; "confirmVariant": { "alias": "confirmVariant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "triggerVariant": { "alias": "triggerVariant"; "required": false; "isSignal": true; }; "triggerSize": { "alias": "triggerSize"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "confirmed": "confirmed"; "cancelled": "cancelled"; }, ["hasMedia"], ["[yuwAlertDialogTrigger]", "[yuwAlertDialogMedia]", "*"], true, never>;
2092
2313
  }
2093
2314
 
2315
+ /**
2316
+ * Makes a `<yuw-button>` the trigger of the surrounding `<yuw-alert-dialog>`.
2317
+ *
2318
+ * Mirrors `YuwDialogTriggerDirective`: the helm trigger only matches a native `button`, so the brain
2319
+ * directive is composed here instead, keeping `[hlmBtn]` inside `<yuw-button>`.
2320
+ */
2321
+ declare class YuwAlertDialogTriggerDirective {
2322
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAlertDialogTriggerDirective, never>;
2323
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAlertDialogTriggerDirective, "yuw-button[yuwAlertDialogTriggerFor], yuw-button[yuwAlertDialogTriggerButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$b.BrnAlertDialogTrigger; inputs: { "id": "id"; "brnAlertDialogTriggerFor": "yuwAlertDialogTriggerFor"; "type": "type"; }; outputs: {}; }]>;
2324
+ }
2325
+
2094
2326
  /** A single tab in `<yuw-tabs>`, pairing the trigger label with the id used to match its content. */
2095
2327
  interface YuwTabItemDto {
2096
2328
  id: string;
@@ -2177,37 +2409,37 @@ declare class YuwTabsComponent {
2177
2409
  */
2178
2410
  declare class YuwAttachmentDirective {
2179
2411
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAttachmentDirective, never>;
2180
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentDirective, "[yuwAttachment], yuw-attachment", never, {}, {}, never, never, true, [{ directive: typeof i1$8.HlmAttachment; inputs: { "state": "state"; "size": "size"; "orientation": "orientation"; }; outputs: {}; }]>;
2412
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentDirective, "[yuwAttachment], yuw-attachment", never, {}, {}, never, never, true, [{ directive: typeof i1$c.HlmAttachment; inputs: { "state": "state"; "size": "size"; "orientation": "orientation"; }; outputs: {}; }]>;
2181
2413
  }
2182
2414
  /** Scrollable, snapping row that lays out several attachment cards. */
2183
2415
  declare class YuwAttachmentGroupDirective {
2184
2416
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAttachmentGroupDirective, never>;
2185
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentGroupDirective, "[yuwAttachmentGroup], yuw-attachment-group", never, {}, {}, never, never, true, [{ directive: typeof i1$8.HlmAttachmentGroup; inputs: {}; outputs: {}; }]>;
2417
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentGroupDirective, "[yuwAttachmentGroup], yuw-attachment-group", never, {}, {}, never, never, true, [{ directive: typeof i1$c.HlmAttachmentGroup; inputs: {}; outputs: {}; }]>;
2186
2418
  }
2187
2419
  /** Leading media slot of an attachment, for a file-type icon or an image preview. Supports `variant` (`'icon'`, `'image'`). */
2188
2420
  declare class YuwAttachmentMediaDirective {
2189
2421
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAttachmentMediaDirective, never>;
2190
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentMediaDirective, "[yuwAttachmentMedia], yuw-attachment-media", never, {}, {}, never, never, true, [{ directive: typeof i1$8.HlmAttachmentMedia; inputs: { "variant": "variant"; }; outputs: {}; }]>;
2422
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentMediaDirective, "[yuwAttachmentMedia], yuw-attachment-media", never, {}, {}, never, never, true, [{ directive: typeof i1$c.HlmAttachmentMedia; inputs: { "variant": "variant"; }; outputs: {}; }]>;
2191
2423
  }
2192
2424
  /** Text content container of an attachment, holding its title and description. */
2193
2425
  declare class YuwAttachmentContentDirective {
2194
2426
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAttachmentContentDirective, never>;
2195
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentContentDirective, "[yuwAttachmentContent], yuw-attachment-content", never, {}, {}, never, never, true, [{ directive: typeof i1$8.HlmAttachmentContent; inputs: {}; outputs: {}; }]>;
2427
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentContentDirective, "[yuwAttachmentContent], yuw-attachment-content", never, {}, {}, never, never, true, [{ directive: typeof i1$c.HlmAttachmentContent; inputs: {}; outputs: {}; }]>;
2196
2428
  }
2197
2429
  /** File name of an attachment. Truncates and shimmers while the attachment is uploading or processing. */
2198
2430
  declare class YuwAttachmentTitleDirective {
2199
2431
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAttachmentTitleDirective, never>;
2200
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentTitleDirective, "[yuwAttachmentTitle], yuw-attachment-title", never, {}, {}, never, never, true, [{ directive: typeof i1$8.HlmAttachmentTitle; inputs: {}; outputs: {}; }]>;
2432
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentTitleDirective, "[yuwAttachmentTitle], yuw-attachment-title", never, {}, {}, never, never, true, [{ directive: typeof i1$c.HlmAttachmentTitle; inputs: {}; outputs: {}; }]>;
2201
2433
  }
2202
2434
  /** Secondary line of an attachment, for file size, progress, or an error message. */
2203
2435
  declare class YuwAttachmentDescriptionDirective {
2204
2436
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAttachmentDescriptionDirective, never>;
2205
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentDescriptionDirective, "[yuwAttachmentDescription], yuw-attachment-description", never, {}, {}, never, never, true, [{ directive: typeof i1$8.HlmAttachmentDescription; inputs: {}; outputs: {}; }]>;
2437
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentDescriptionDirective, "[yuwAttachmentDescription], yuw-attachment-description", never, {}, {}, never, never, true, [{ directive: typeof i1$c.HlmAttachmentDescription; inputs: {}; outputs: {}; }]>;
2206
2438
  }
2207
2439
  /** Trailing container for an attachment's action buttons. */
2208
2440
  declare class YuwAttachmentActionsDirective {
2209
2441
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAttachmentActionsDirective, never>;
2210
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentActionsDirective, "[yuwAttachmentActions], yuw-attachment-actions", never, {}, {}, never, never, true, [{ directive: typeof i1$8.HlmAttachmentActions; inputs: {}; outputs: {}; }]>;
2442
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentActionsDirective, "[yuwAttachmentActions], yuw-attachment-actions", never, {}, {}, never, never, true, [{ directive: typeof i1$c.HlmAttachmentActions; inputs: {}; outputs: {}; }]>;
2211
2443
  }
2212
2444
  /**
2213
2445
  * Icon-sized action button inside an attachment, such as remove or retry.
@@ -2228,7 +2460,7 @@ declare class YuwAttachmentActionDirective extends HlmAttachmentAction {
2228
2460
  /** Turns the whole attachment card into a single clickable target, layered under its actions. */
2229
2461
  declare class YuwAttachmentTriggerDirective {
2230
2462
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAttachmentTriggerDirective, never>;
2231
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentTriggerDirective, "button[yuwAttachmentTrigger], a[yuwAttachmentTrigger]", never, {}, {}, never, never, true, [{ directive: typeof i1$8.HlmAttachmentTrigger; inputs: { "type": "type"; }; outputs: {}; }]>;
2463
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentTriggerDirective, "button[yuwAttachmentTrigger], a[yuwAttachmentTrigger]", never, {}, {}, never, never, true, [{ directive: typeof i1$c.HlmAttachmentTrigger; inputs: { "type": "type"; }; outputs: {}; }]>;
2232
2464
  }
2233
2465
 
2234
2466
  type YuwSidebarSideDto = 'left' | 'right';
@@ -2327,47 +2559,47 @@ declare class YuwSidebarTriggerComponent {
2327
2559
  */
2328
2560
  declare class YuwSidebarWrapperDirective {
2329
2561
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarWrapperDirective, never>;
2330
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarWrapperDirective, "[yuwSidebarWrapper], yuw-sidebar-wrapper", never, {}, {}, never, never, true, [{ directive: typeof i1$9.HlmSidebarWrapper; inputs: { "sidebarWidth": "sidebarWidth"; "sidebarWidthIcon": "sidebarWidthIcon"; }; outputs: {}; }]>;
2562
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarWrapperDirective, "[yuwSidebarWrapper], yuw-sidebar-wrapper", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarWrapper; inputs: { "sidebarWidth": "sidebarWidth"; "sidebarWidthIcon": "sidebarWidthIcon"; }; outputs: {}; }]>;
2331
2563
  }
2332
2564
  /** Top area of the sidebar, above the scrollable content. */
2333
2565
  declare class YuwSidebarHeaderDirective {
2334
2566
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarHeaderDirective, never>;
2335
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarHeaderDirective, "[yuwSidebarHeader], yuw-sidebar-header", never, {}, {}, never, never, true, [{ directive: typeof i1$9.HlmSidebarHeader; inputs: {}; outputs: {}; }]>;
2567
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarHeaderDirective, "[yuwSidebarHeader], yuw-sidebar-header", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarHeader; inputs: {}; outputs: {}; }]>;
2336
2568
  }
2337
2569
  /** Scrollable middle area of the sidebar that holds the navigation groups. */
2338
2570
  declare class YuwSidebarContentDirective {
2339
2571
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarContentDirective, never>;
2340
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarContentDirective, "[yuwSidebarContent], yuw-sidebar-content", never, {}, {}, never, never, true, [{ directive: typeof i1$9.HlmSidebarContent; inputs: {}; outputs: {}; }]>;
2572
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarContentDirective, "[yuwSidebarContent], yuw-sidebar-content", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarContent; inputs: {}; outputs: {}; }]>;
2341
2573
  }
2342
2574
  /** Bottom area of the sidebar, below the scrollable content. */
2343
2575
  declare class YuwSidebarFooterDirective {
2344
2576
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarFooterDirective, never>;
2345
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarFooterDirective, "[yuwSidebarFooter], yuw-sidebar-footer", never, {}, {}, never, never, true, [{ directive: typeof i1$9.HlmSidebarFooter; inputs: {}; outputs: {}; }]>;
2577
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarFooterDirective, "[yuwSidebarFooter], yuw-sidebar-footer", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarFooter; inputs: {}; outputs: {}; }]>;
2346
2578
  }
2347
2579
  /** A titled section of the sidebar. */
2348
2580
  declare class YuwSidebarGroupDirective {
2349
2581
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarGroupDirective, never>;
2350
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarGroupDirective, "[yuwSidebarGroup], yuw-sidebar-group", never, {}, {}, never, never, true, [{ directive: typeof i1$9.HlmSidebarGroup; inputs: {}; outputs: {}; }]>;
2582
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarGroupDirective, "[yuwSidebarGroup], yuw-sidebar-group", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarGroup; inputs: {}; outputs: {}; }]>;
2351
2583
  }
2352
2584
  /** Heading of a sidebar group. Fades out when the sidebar collapses to icons. */
2353
2585
  declare class YuwSidebarGroupLabelDirective {
2354
2586
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarGroupLabelDirective, never>;
2355
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarGroupLabelDirective, "div[yuwSidebarGroupLabel], button[yuwSidebarGroupLabel]", never, {}, {}, never, never, true, [{ directive: typeof i1$9.HlmSidebarGroupLabel; inputs: {}; outputs: {}; }]>;
2587
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarGroupLabelDirective, "div[yuwSidebarGroupLabel], button[yuwSidebarGroupLabel]", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarGroupLabel; inputs: {}; outputs: {}; }]>;
2356
2588
  }
2357
2589
  /** Body of a sidebar group, wrapping its menu. */
2358
2590
  declare class YuwSidebarGroupContentDirective {
2359
2591
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarGroupContentDirective, never>;
2360
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarGroupContentDirective, "div[yuwSidebarGroupContent]", never, {}, {}, never, never, true, [{ directive: typeof i1$9.HlmSidebarGroupContent; inputs: {}; outputs: {}; }]>;
2592
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarGroupContentDirective, "div[yuwSidebarGroupContent]", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarGroupContent; inputs: {}; outputs: {}; }]>;
2361
2593
  }
2362
2594
  /** Navigation list of a sidebar group. Apply to a `<ul>`. */
2363
2595
  declare class YuwSidebarMenuDirective {
2364
2596
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuDirective, never>;
2365
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuDirective, "ul[yuwSidebarMenu]", never, {}, {}, never, never, true, [{ directive: typeof i1$9.HlmSidebarMenu; inputs: {}; outputs: {}; }]>;
2597
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuDirective, "ul[yuwSidebarMenu]", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarMenu; inputs: {}; outputs: {}; }]>;
2366
2598
  }
2367
2599
  /** A single entry of a sidebar menu. Apply to an `<li>`. */
2368
2600
  declare class YuwSidebarMenuItemDirective {
2369
2601
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuItemDirective, never>;
2370
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuItemDirective, "li[yuwSidebarMenuItem]", never, {}, {}, never, never, true, [{ directive: typeof i1$9.HlmSidebarMenuItem; inputs: {}; outputs: {}; }]>;
2602
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuItemDirective, "li[yuwSidebarMenuItem]", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarMenuItem; inputs: {}; outputs: {}; }]>;
2371
2603
  }
2372
2604
  /**
2373
2605
  * Interactive control of a sidebar menu item. Accepts `variant` (`'default'`, `'outline'`), `size`
@@ -2379,32 +2611,32 @@ declare class YuwSidebarMenuItemDirective {
2379
2611
  */
2380
2612
  declare class YuwSidebarMenuButtonDirective {
2381
2613
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuButtonDirective, never>;
2382
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuButtonDirective, "button[yuwSidebarMenuButton], a[yuwSidebarMenuButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$9.HlmSidebarMenuButton; inputs: { "variant": "variant"; "size": "size"; "isActive": "isActive"; "closeMobileSidebarOnClick": "closeMobileSidebarOnClick"; }; outputs: {}; }]>;
2614
+ 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: {}; }]>;
2383
2615
  }
2384
2616
  /** Trailing count or status badge of a sidebar menu item. */
2385
2617
  declare class YuwSidebarMenuBadgeDirective {
2386
2618
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuBadgeDirective, never>;
2387
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuBadgeDirective, "[yuwSidebarMenuBadge], yuw-sidebar-menu-badge", never, {}, {}, never, never, true, [{ directive: typeof i1$9.HlmSidebarMenuBadge; inputs: {}; outputs: {}; }]>;
2619
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuBadgeDirective, "[yuwSidebarMenuBadge], yuw-sidebar-menu-badge", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarMenuBadge; inputs: {}; outputs: {}; }]>;
2388
2620
  }
2389
2621
  /** Nested submenu list of a sidebar menu item. Apply to a `<ul>`. */
2390
2622
  declare class YuwSidebarMenuSubDirective {
2391
2623
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuSubDirective, never>;
2392
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuSubDirective, "ul[yuwSidebarMenuSub]", never, {}, {}, never, never, true, [{ directive: typeof i1$9.HlmSidebarMenuSub; inputs: {}; outputs: {}; }]>;
2624
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuSubDirective, "ul[yuwSidebarMenuSub]", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarMenuSub; inputs: {}; outputs: {}; }]>;
2393
2625
  }
2394
2626
  /** A single entry of a sidebar submenu. Apply to an `<li>`. */
2395
2627
  declare class YuwSidebarMenuSubItemDirective {
2396
2628
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuSubItemDirective, never>;
2397
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuSubItemDirective, "li[yuwSidebarMenuSubItem]", never, {}, {}, never, never, true, [{ directive: typeof i1$9.HlmSidebarMenuSubItem; inputs: {}; outputs: {}; }]>;
2629
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuSubItemDirective, "li[yuwSidebarMenuSubItem]", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarMenuSubItem; inputs: {}; outputs: {}; }]>;
2398
2630
  }
2399
2631
  /** Interactive control of a sidebar submenu item. Accepts `size` (`'sm'`, `'md'`) and `isActive`. */
2400
2632
  declare class YuwSidebarMenuSubButtonDirective {
2401
2633
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuSubButtonDirective, never>;
2402
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuSubButtonDirective, "a[yuwSidebarMenuSubButton], button[yuwSidebarMenuSubButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$9.HlmSidebarMenuSubButton; inputs: { "size": "size"; "isActive": "isActive"; "closeMobileSidebarOnClick": "closeMobileSidebarOnClick"; }; outputs: {}; }]>;
2634
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuSubButtonDirective, "a[yuwSidebarMenuSubButton], button[yuwSidebarMenuSubButton]", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarMenuSubButton; inputs: { "size": "size"; "isActive": "isActive"; "closeMobileSidebarOnClick": "closeMobileSidebarOnClick"; }; outputs: {}; }]>;
2403
2635
  }
2404
2636
  /** Divider between sidebar sections. */
2405
2637
  declare class YuwSidebarSeparatorDirective {
2406
2638
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarSeparatorDirective, never>;
2407
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarSeparatorDirective, "[yuwSidebarSeparator], yuw-sidebar-separator", never, {}, {}, never, never, true, [{ directive: typeof i1$9.HlmSidebarSeparator; inputs: {}; outputs: {}; }]>;
2639
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarSeparatorDirective, "[yuwSidebarSeparator], yuw-sidebar-separator", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarSeparator; inputs: {}; outputs: {}; }]>;
2408
2640
  }
2409
2641
  /** Thin draggable edge that toggles the sidebar. Apply to a `<button>`. */
2410
2642
  declare class YuwSidebarRailDirective {
@@ -2414,13 +2646,13 @@ declare class YuwSidebarRailDirective {
2414
2646
  */
2415
2647
  readonly label: _angular_core.InputSignal<string>;
2416
2648
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarRailDirective, never>;
2417
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarRailDirective, "button[yuwSidebarRail]", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1$9.HlmSidebarRail; inputs: {}; outputs: {}; }]>;
2649
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarRailDirective, "button[yuwSidebarRail]", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarRail; inputs: {}; outputs: {}; }]>;
2418
2650
  }
2419
2651
  /** Main content region beside the sidebar. Apply to a `<main>`. */
2420
2652
  declare class YuwSidebarInsetDirective {
2421
2653
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarInsetDirective, never>;
2422
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarInsetDirective, "main[yuwSidebarInset]", never, {}, {}, never, never, true, [{ directive: typeof i1$9.HlmSidebarInset; inputs: {}; outputs: {}; }]>;
2654
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarInsetDirective, "main[yuwSidebarInset]", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarInset; inputs: {}; outputs: {}; }]>;
2423
2655
  }
2424
2656
 
2425
- export { YUW_DATATABLE_FEATURES, YUW_PASSWORD_REVEAL_STATES, YuwAccordion, YuwAccordionContentComponent, YuwAccordionImports, YuwAccordionItem, YuwAccordionTriggerComponent, YuwAlertActionDirective, YuwAlertComponent, YuwAlertDescriptionDirective, YuwAlertDialogComponent, YuwAlertDialogMediaDirective, YuwAlertImports, YuwAlertTitleDirective, YuwAttachmentActionDirective, YuwAttachmentActionsDirective, YuwAttachmentContentDirective, YuwAttachmentDescriptionDirective, YuwAttachmentDirective, YuwAttachmentGroupDirective, YuwAttachmentMediaDirective, YuwAttachmentTitleDirective, YuwAttachmentTriggerDirective, YuwAvatarComponent, YuwBadgeComponent, YuwBreadcrumbComponent, YuwButtonComponent, 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, YuwDialogComponent, YuwDialogFooterDirective, YuwDialogImports, 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, YuwRadioGroupComponent, YuwRightAddonDirective, YuwSearchInputComponent, YuwSheetComponent, YuwSheetFooterDirective, YuwSheetImports, 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 };
2426
- export type { YuwAlertDialogSizeDto, YuwAlertVariantDto, YuwAvatarGroupItemDto, YuwAvatarSizeDto, YuwBreadcrumbItemDto, YuwButtonGroupClickDto, YuwButtonGroupItemDto, YuwColorDto, YuwComboboxItemContext, YuwComboboxOptionDto, YuwComboboxValue, YuwDatatableColumnDef, YuwDatatableFeatures, YuwDatepickerModeDto, YuwDatepickerValue, YuwInputModeDto, YuwInputOtpGroupDto, YuwInputOtpModeDto, YuwInputTypeDto, YuwPaginationRangeItem, YuwPaginationSizeDto, YuwPasswordRevealStateDto, YuwPopoverAlignDto, YuwRadioOptionDto, YuwSheetSideDto, YuwSidebarCollapsibleDto, YuwSidebarSideDto, YuwSidebarVariantDto, YuwSwitchSizeDto, YuwTabItemDto, YuwTabsActivationModeDto, YuwTabsOrientationDto, YuwTabsVariantDto, YuwTextFieldContract, YuwToasterPositionDto, YuwToasterThemeDto, YuwTooltipPositionDto };
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 };