yukit-web 0.0.7 → 0.0.9

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "yukit-web",
3
3
  "description": "Angular UI component library for Yurest web applications.",
4
- "version": "0.0.7",
4
+ "version": "0.0.9",
5
5
  "author": {
6
6
  "name": "Yurest Solutions",
7
7
  "email": "develop@yurest.com"
@@ -1,6 +1,6 @@
1
1
  import { ClassValue } from 'clsx';
2
2
  import * as _angular_core from '@angular/core';
3
- import { ModelSignal, Type, Provider, InputSignal, InputSignalWithTransform, TemplateRef, OnInit } from '@angular/core';
3
+ import { ModelSignal, Type, Provider, InputSignal, InputSignalWithTransform, TemplateRef, OnInit, Signal } from '@angular/core';
4
4
  import { ControlValueAccessor } from '@angular/forms';
5
5
  import { ButtonVariants } from 'yukit-web/helm/button';
6
6
  import * as i1 from 'yukit-web/helm/badge';
@@ -2579,6 +2579,49 @@ declare class YuwAttachmentTriggerDirective {
2579
2579
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwAttachmentTriggerDirective, "button[yuwAttachmentTrigger], a[yuwAttachmentTrigger]", never, {}, {}, never, never, true, [{ directive: typeof i1$c.HlmAttachmentTrigger; inputs: { "type": "type"; }; outputs: {}; }]>;
2580
2580
  }
2581
2581
 
2582
+ /**
2583
+ * Tracks the sidebar's collapsed state, and a second copy of it that lags behind the width animation.
2584
+ *
2585
+ * The helm flips `data-collapsible` the instant the state changes, while the panel takes
2586
+ * `--sidebar-transition-duration` to reach its new width. Anything keyed off that attribute therefore
2587
+ * restyles against a panel that is still the old size — labels vanish and icons jump to rail geometry
2588
+ * while there is still 16rem of sidebar around them.
2589
+ *
2590
+ * `railSettled` fixes that asymmetrically, because the two directions want opposite timing:
2591
+ *
2592
+ * - Collapsing, the rail look has to wait for the panel to actually be narrow. Applying it up front is
2593
+ * what produces the jump.
2594
+ * - Expanding, the rail look has to go immediately. The labels need the whole animation to fade and
2595
+ * ellipsis into place, so waiting would replace one jump with another at the far end.
2596
+ *
2597
+ * `railPending` is the mirror of it, for anything whose *presence* has to span the whole collapse
2598
+ * rather than arrive at the end of it: `true` the instant the panel starts narrowing, `false` only
2599
+ * once the expand has finished widening. The pair brackets the animation from both sides — every
2600
+ * frame in which the panel is at, or moving towards, rail width has `railPending` set, while only the
2601
+ * frames where it has actually arrived have `railSettled` set. Something that must not be visible
2602
+ * during the motion keys off this one; something that must not be restyled during the motion keys off
2603
+ * `railSettled`.
2604
+ *
2605
+ * The delay runs through `timer` rather than a `setTimeout` inside an `effect`, and that is not a
2606
+ * stylistic choice: this app is zoneless, so a signal written from a bare timer callback notifies
2607
+ * nobody. Components reading `railSettled` in a template binding are `OnPush`, so they would keep
2608
+ * their stale view until something else happened to schedule a check — the signal flips, the DOM does
2609
+ * not. Going through `toSignal` puts the write back under Angular's own scheduling.
2610
+ *
2611
+ * Provided at the root so `<yuw-sidebar>` and the nav share one instance — the component stamps the
2612
+ * attribute the class layers select on, and the nav reads the same signal to decide between accordion
2613
+ * and flyout, so the two must agree on the exact frame.
2614
+ */
2615
+ declare class YuwSidebarRailService {
2616
+ private readonly sidebar;
2617
+ readonly collapsed: Signal<boolean>;
2618
+ private readonly collapsed$;
2619
+ readonly railSettled: Signal<boolean>;
2620
+ readonly railPending: Signal<boolean>;
2621
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarRailService, never>;
2622
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<YuwSidebarRailService>;
2623
+ }
2624
+
2582
2625
  /**
2583
2626
  * Where a sidebar entry points.
2584
2627
  *
@@ -2718,6 +2761,13 @@ type YuwSidebarCollapsibleDto = 'offcanvas' | 'icon' | 'none';
2718
2761
  * Outputs:
2719
2762
  * - `itemClicked`: Emits `{id, event}` when a non-navigating entry (no `route`, no `href`) is
2720
2763
  * activated, in either `content` or `footer`.
2764
+ * - `collapsedChange`: Emits `true` when the sidebar collapses and `false` when it expands, reading
2765
+ * the mobile sheet or the desktop panel as appropriate. Fires the moment the state flips, so it is
2766
+ * the one to drive a caller's own layout, which should start moving with the panel.
2767
+ * - `railSettledChange`: The same transition, but `true` only once the collapse has finished
2768
+ * animating, and `false` immediately on expand. Use it for anything that should not restyle against
2769
+ * a panel still mid-width — swapping a logo for a mark, say. The sidebar's own rail geometry is
2770
+ * keyed off this, which is why the labels stay put until the panel is actually narrow.
2721
2771
  *
2722
2772
  * The two forms compose rather than exclude each other, unlike `<yuw-button>`'s `buttons` input
2723
2773
  * which drops projected content when set. `content`/`footer` render their own region; anything
@@ -2769,6 +2819,7 @@ type YuwSidebarCollapsibleDto = 'offcanvas' | 'icon' | 'none';
2769
2819
  */
2770
2820
  declare class YuwSidebarComponent {
2771
2821
  private readonly config;
2822
+ protected readonly _rail: YuwSidebarRailService;
2772
2823
  readonly side: _angular_core.InputSignal<YuwSidebarSideDto>;
2773
2824
  readonly variant: _angular_core.InputSignal<YuwSidebarVariantDto>;
2774
2825
  readonly collapsible: _angular_core.InputSignal<YuwSidebarCollapsibleDto>;
@@ -2777,8 +2828,12 @@ declare class YuwSidebarComponent {
2777
2828
  readonly content: _angular_core.InputSignal<YuwSidebarContentDto | undefined>;
2778
2829
  readonly footer: _angular_core.InputSignal<YuwSidebarContentDto | undefined>;
2779
2830
  readonly itemClicked: _angular_core.OutputEmitterRef<YuwSidebarItemClickDto>;
2831
+ protected readonly _containerClass: _angular_core.Signal<string>;
2832
+ protected readonly _isRail: _angular_core.Signal<boolean>;
2833
+ readonly collapsedChange: _angular_core.OutputRef<boolean>;
2834
+ readonly railSettledChange: _angular_core.OutputRef<boolean>;
2780
2835
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarComponent, never>;
2781
- 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>;
2836
+ 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"; "collapsedChange": "collapsedChange"; "railSettledChange": "railSettledChange"; }, never, ["[yuwSidebarHeader], yuw-sidebar-header", "[yuwSidebarContentExtra]", "*", "[yuwSidebarFooterExtra]"], true, never>;
2782
2837
  }
2783
2838
 
2784
2839
  /**
@@ -2839,8 +2894,31 @@ declare class YuwSidebarHeaderDirective {
2839
2894
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarHeaderDirective, never>;
2840
2895
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarHeaderDirective, "[yuwSidebarHeader], yuw-sidebar-header", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarHeader; inputs: {}; outputs: {}; }]>;
2841
2896
  }
2842
- /** Scrollable middle area of the sidebar that holds the navigation groups. */
2897
+ /**
2898
+ * Scrollable middle area of the sidebar that holds the navigation groups.
2899
+ *
2900
+ * Restores vertical scrolling in the collapsed state, which the composed primitive switches off with
2901
+ * `group-data-[collapsible=icon]:overflow-hidden`. That is a fair default for a rail of icons alone,
2902
+ * but ours keeps expandable entries reachable there, so a tall nav has to be able to scroll rather
2903
+ * than have its last icons clipped. Horizontal overflow stays hidden: nothing should scroll sideways
2904
+ * in a rail that narrow.
2905
+ *
2906
+ * The `!` is needed because the helm's own declaration sits in the same Tailwind group at the same
2907
+ * modifier, and `twMerge` resolves that by keeping the last one — which would be ours already, except
2908
+ * `overflow-hidden` and `overflow-y-auto` are different properties to it, so both survive and the
2909
+ * shorthand wins on order.
2910
+ *
2911
+ * The scrollbar itself stays hidden, which the primitive's own `no-scrollbar` already handles: a
2912
+ * gutter that only appears once the nav happens to overflow shifts the icons sideways, and the rail is
2913
+ * too narrow to spend 11px on it. Wheel, trackpad and keyboard still scroll; only the thumb is gone.
2914
+ *
2915
+ * Also spaces the groups it stacks while collapsed. Each group's own menu spaces its items, so with
2916
+ * the groups' vertical padding dropped there was nothing left between the last icon of one and the
2917
+ * first of the next; matching that spacing here is what makes the rail read as one evenly spaced
2918
+ * column rather than blocks butted together.
2919
+ */
2843
2920
  declare class YuwSidebarContentDirective {
2921
+ constructor();
2844
2922
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarContentDirective, never>;
2845
2923
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarContentDirective, "[yuwSidebarContent], yuw-sidebar-content", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarContent; inputs: {}; outputs: {}; }]>;
2846
2924
  }
@@ -2849,13 +2927,31 @@ declare class YuwSidebarFooterDirective {
2849
2927
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarFooterDirective, never>;
2850
2928
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarFooterDirective, "[yuwSidebarFooter], yuw-sidebar-footer", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarFooter; inputs: {}; outputs: {}; }]>;
2851
2929
  }
2852
- /** A titled section of the sidebar. */
2930
+ /**
2931
+ * A titled section of the sidebar.
2932
+ *
2933
+ * Drops its vertical padding once collapsed to icons. The composed primitive pads every side with
2934
+ * `p-2`, which is right while headings are visible and separating one group from the next, but on the
2935
+ * rail those headings are gone and two adjacent groups contribute 8px each — a gap in the middle of
2936
+ * what reads as one column of icons. Horizontal padding stays: it is what keeps the icons off the
2937
+ * rail's edges.
2938
+ */
2853
2939
  declare class YuwSidebarGroupDirective {
2940
+ constructor();
2854
2941
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarGroupDirective, never>;
2855
2942
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarGroupDirective, "[yuwSidebarGroup], yuw-sidebar-group", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarGroup; inputs: {}; outputs: {}; }]>;
2856
2943
  }
2857
- /** Heading of a sidebar group. Fades out when the sidebar collapses to icons. */
2944
+ /**
2945
+ * Heading of a sidebar group. Removed from the layout when the sidebar collapses to icons.
2946
+ *
2947
+ * The composed primitive hides it with `-mt-8` plus `opacity-0`, which leaves the heading in the flow
2948
+ * still occupying its `h-8` box and cancels that box with a negative margin. The two only net to zero
2949
+ * while the heading is exactly one line at exactly that height, so a group heading left a visible gap
2950
+ * between the icons of one group and the next. `hidden` takes it out of the flow instead, and the
2951
+ * margin is zeroed so the collapsed rail is not pulled upwards by a box that no longer exists.
2952
+ */
2858
2953
  declare class YuwSidebarGroupLabelDirective {
2954
+ constructor();
2859
2955
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarGroupLabelDirective, never>;
2860
2956
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarGroupLabelDirective, "div[yuwSidebarGroupLabel], button[yuwSidebarGroupLabel]", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarGroupLabel; inputs: {}; outputs: {}; }]>;
2861
2957
  }
@@ -2895,12 +2991,20 @@ declare class YuwSidebarMenuItemDirective {
2895
2991
  * Interactive control of a sidebar menu item. Accepts `variant` (`'default'`, `'outline'`), `size`
2896
2992
  * (`'default'`, `'sm'`, `'lg'`) and `isActive`.
2897
2993
  *
2898
- * To label the item while the sidebar is collapsed to icons, add Spartan's `tooltip` input
2899
- * alongside this directive it comes from the underlying menu-button primitive and is only shown
2900
- * in the collapsed state. It cannot be re-forwarded through this wrapper's `hostDirectives`
2901
- * (`tooltip` is the alias `HlmSidebarMenuButton` gives its own composed `BrnTooltip`, not a public
2902
- * input of its own), so bind it with `[attr.tooltip]` rather than `[tooltip]` when the value comes
2903
- * from an expression.
2994
+ * `tooltip` labels the item while the sidebar is collapsed to icons, where the label itself is
2995
+ * hidden; the composed primitive shows it only in that state, and only for entries with no flyout of
2996
+ * their own an entry with children opens its submenu on the same hover instead.
2997
+ *
2998
+ * Reaching that input takes composing `BrnTooltip` here under the same `tooltip` alias the helm uses,
2999
+ * rather than forwarding it. `HlmSidebarMenuButton` publishes the alias on its own `hostDirectives`
3000
+ * entry, which does not make it an input of the helm directive — a forward cannot be re-forwarded, the
3001
+ * same limit `[yuwSidebarFlyoutTrigger]` runs into. Angular resolves both entries to the one
3002
+ * `BrnTooltip` instance on the element, so the helm keeps driving `mutableTooltipDisabled` (which is
3003
+ * what confines the tooltip to the collapsed state) while this binding supplies its content.
3004
+ *
3005
+ * `[attr.tooltip]` is not a substitute, and was the bug: it writes an HTML attribute, which never
3006
+ * reaches a signal input, so the tooltip stayed enabled with `null` content and silently showed
3007
+ * nothing.
2904
3008
  *
2905
3009
  * Carries `yuwSidebarMenuButtonClass`, our hover/expanded colouring and collapsed-to-icon geometry.
2906
3010
  * The `classes()` registration below runs after the composed `HlmSidebarMenuButton`'s own, and
@@ -2913,19 +3017,30 @@ declare class YuwSidebarMenuItemDirective {
2913
3017
  *
2914
3018
  * Three details of the collapsed-to-icon block are load-bearing:
2915
3019
  *
2916
- * - `size-auto!`, `w-full!` and `justify-center!` keep their `!` because the helm declarations they
3020
+ * - `h-auto!`, `w-full!` and `justify-center!` keep their `!` because the helm declarations they
2917
3021
  * replace (`size-8!`, `p-2!`) are themselves `!important`, which `twMerge` cannot outrank on
2918
3022
  * specificity alone. The helm pins the button to a square; ours fills the rail width and centres
2919
- * the icon.
3023
+ * the icon. Both halves of `size-8!` have to be named separately: a single `size-auto!` occupies
3024
+ * the same `twMerge` group as the base `w-full`, dropping it, so the button would fall back to
3025
+ * shrink-to-fit for the whole width animation — long enough for the label to stop ellipsing and
3026
+ * the trailing chevron to sit against it.
2920
3027
  * - `[&>span]:hidden` drops the label while collapsed, leaving the icon alone — the tooltip carries
2921
3028
  * the name in that state, or the flyout does for an entry with children. Matched by element rather
2922
3029
  * than by `:last-child` (which is what the helm's own `truncate` uses): an expandable entry ends
2923
3030
  * with a trailing chevron, so the label is no longer the last child and a positional selector
2924
3031
  * would skip exactly those entries. `span` is unambiguous here — the label is the only one a menu
2925
3032
  * button has, with the badge living outside the button on the `<li>`.
2926
- * - `text-[length:--spacing(6)]` bumps the icon from the helm's 4 units to 6. The `length:` hint is
2927
- * not optional: `text-[…]` is ambiguous between colour and size, and Tailwind resolves the bare
2928
- * form as a colour, so the icon would never resize.
3033
+ * - The icon grows through `scale-150` rather than a font-size bump, so it can be transitioned: only
3034
+ * `transform`-family properties animate on the compositor, and a `font-size` change would relayout
3035
+ * the row on every frame.
3036
+ *
3037
+ * Which state each class hangs off is load-bearing, because the two attributes fire at different
3038
+ * times. `data-collapsible` flips the instant the toggle is pressed; `data-yuw-rail` waits for the
3039
+ * width animation to finish. Anything that should hold its expanded look *through* the animation
3040
+ * therefore keys off the rail attribute — the label's `hidden`, the centring, the icon's scale — while
3041
+ * the width and height overrides key off `collapsible`, to displace the helm's `size-8!` before it can
3042
+ * snap the row to 32px and truncate the label away in the first frame. That snap is what made the text vanish
3043
+ * on click instead of ellipsing gradually as the panel narrows.
2929
3044
  */
2930
3045
  declare class YuwSidebarMenuButtonDirective {
2931
3046
  constructor();
@@ -2947,8 +3062,17 @@ declare class YuwSidebarMenuSubItemDirective {
2947
3062
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuSubItemDirective, never>;
2948
3063
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarMenuSubItemDirective, "li[yuwSidebarMenuSubItem]", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarMenuSubItem; inputs: {}; outputs: {}; }]>;
2949
3064
  }
2950
- /** Interactive control of a sidebar submenu item. Accepts `size` (`'sm'`, `'md'`) and `isActive`. */
3065
+ /**
3066
+ * Interactive control of a sidebar submenu item. Accepts `size` (`'sm'`, `'md'`) and `isActive`.
3067
+ *
3068
+ * Carries the same label clamp as `[yuwSidebarMenuButton]`. The composed primitive already truncates
3069
+ * its `span:last-child`, but truncation cannot fire while the span is a flex item at its default
3070
+ * `min-width: auto`: that floor keeps it at content width, so the panel widens the row instead of the
3071
+ * text ellipsing. `min-w-0` is what lets it shrink, and the `[&>span]` selector covers a label that is
3072
+ * no longer the last child.
3073
+ */
2951
3074
  declare class YuwSidebarMenuSubButtonDirective {
3075
+ constructor();
2952
3076
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuSubButtonDirective, never>;
2953
3077
  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: {}; }]>;
2954
3078
  }
@@ -3089,5 +3213,5 @@ declare class YuwSidebarInsetDirective {
3089
3213
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarInsetDirective, "main[yuwSidebarInset]", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarInset; inputs: {}; outputs: {}; }]>;
3090
3214
  }
3091
3215
 
3092
- 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, YuwDatatableRowSelect, 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, YuwSidebarFlyoutDirective, YuwSidebarFlyoutHostDirective, YuwSidebarFlyoutPanelDirective, YuwSidebarFlyoutTriggerDirective, 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 };
3216
+ 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, YuwDatatableRowSelect, 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, YuwSidebarFlyoutDirective, YuwSidebarFlyoutHostDirective, YuwSidebarFlyoutPanelDirective, YuwSidebarFlyoutTriggerDirective, YuwSidebarFooterDirective, YuwSidebarFooterExtraDirective, YuwSidebarGroupContentDirective, YuwSidebarGroupDirective, YuwSidebarGroupLabelDirective, YuwSidebarHeaderDirective, YuwSidebarInsetDirective, YuwSidebarMenuBadgeDirective, YuwSidebarMenuButtonDirective, YuwSidebarMenuDirective, YuwSidebarMenuItemDirective, YuwSidebarMenuSubButtonDirective, YuwSidebarMenuSubDirective, YuwSidebarMenuSubItemDirective, YuwSidebarRailDirective, YuwSidebarRailService, 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 };
3093
3217
  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 };