yukit-web 0.0.9 → 0.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.npm/_cacache/content-v2/sha512/91/84/7c92c9dd9c293aab175752ad46bf81644f183a08e6d676883687d9582b567e12d86c1a66d285eecd45ad523581dc28033a028ee028f51693fc126121d19f +1 -0
- package/.npm/_cacache/index-v5/64/dc/73c7a26f2e6eb0c711133d96c247da5ecf0eba708cd37c450a7b3c7cb488 +1 -1
- package/.npm/_logs/{2026-08-28T10_56_23_626Z-debug-0.log → 2026-08-31T12_58_48_812Z-debug-0.log} +10 -10
- package/.npm/_logs/{2026-08-28T10_56_24_167Z-debug-0.log → 2026-08-31T12_58_49_377Z-debug-0.log} +2 -2
- package/fesm2022/yukit-web.mjs +245 -239
- package/fesm2022/yukit-web.mjs.map +1 -1
- package/package.json +1 -1
- package/types/yukit-web.d.ts +73 -131
- package/.npm/_cacache/content-v2/sha512/d6/52/7f3664658b105777dda8ab8b5303294d4410b6dca10d045055b5053aa449d1ea520d1a19a2f2e55bce84bdc5045d45ea9b5b96d11cee321a46f49a6d08d6 +0 -1
package/package.json
CHANGED
package/types/yukit-web.d.ts
CHANGED
|
@@ -30,7 +30,6 @@ import { HlmAttachmentAction } from 'yukit-web/helm/attachment';
|
|
|
30
30
|
import { RouterLink } from '@angular/router';
|
|
31
31
|
import * as i1$d from 'yukit-web/helm/sidebar';
|
|
32
32
|
export { HlmSidebarConfig as YuwSidebarConfigDto, HlmSidebarService as YuwSidebarService, SidebarVariant as YuwSidebarServiceVariantDto, provideHlmSidebarConfig as provideYuwSidebarConfig } from 'yukit-web/helm/sidebar';
|
|
33
|
-
import * as i2$1 from 'yukit-web/helm/hover-card';
|
|
34
33
|
|
|
35
34
|
/**
|
|
36
35
|
* Merges class lists the shadcn/Spartan way: `clsx` resolves conditionals/arrays, `twMerge`
|
|
@@ -1971,6 +1970,7 @@ declare class YuwSheetFooterDirective {
|
|
|
1971
1970
|
}
|
|
1972
1971
|
|
|
1973
1972
|
type YuwSheetSideDto = 'top' | 'bottom' | 'left' | 'right';
|
|
1973
|
+
type YuwSheetScrollStrategyDto = null | 'close' | 'reposition';
|
|
1974
1974
|
/**
|
|
1975
1975
|
* Slide-in sheet overlay panel component for side drawers, dialogs, and detail views.
|
|
1976
1976
|
*
|
|
@@ -1989,7 +1989,18 @@ type YuwSheetSideDto = 'top' | 'bottom' | 'left' | 'right';
|
|
|
1989
1989
|
* renders and screen readers read this label; when absent there is no close button. User-facing
|
|
1990
1990
|
* text the consuming app is responsible for translating.
|
|
1991
1991
|
* - `panelClass`: Extra classes merged onto the sheet panel (e.g. `sm:max-w-lg` to widen it).
|
|
1992
|
-
* They win over the library defaults via `twMerge`.
|
|
1992
|
+
* They win over the library defaults via `twMerge`. Note `twMerge` resolves per variant group, so a
|
|
1993
|
+
* plain utility does not displace a variant-prefixed default — to override `data-[side=left]:w-3/4`
|
|
1994
|
+
* the class has to be `data-[side=left]:w-64`, not `w-64`.
|
|
1995
|
+
* - `overlayClass`: Extra classes for the backdrop, for a sheet that should not dim the whole
|
|
1996
|
+
* viewport. Applied through `setOverlayClass` rather than a template binding: the backdrop lives in
|
|
1997
|
+
* the overlay too, and the helm's own class always wins the `class` input it exposes.
|
|
1998
|
+
* - `scrollStrategy`: What happens to page scroll while open. Defaults to the brain's blocking
|
|
1999
|
+
* strategy; pass `'reposition'` for a panel that should leave the page scrollable.
|
|
2000
|
+
* - `ariaModal`: Whether the sheet claims the rest of the page is hidden. Leave `true` for a real
|
|
2001
|
+
* modal; set `false` when content outside stays visible and usable, so the claim stays honest.
|
|
2002
|
+
* - `closeOnOutsidePointerEvents`: Whether a pointer press outside the panel closes it. Default is
|
|
2003
|
+
* `false`, matching the brain.
|
|
1993
2004
|
* - `triggerVariant`: Button style variant for the trigger button.
|
|
1994
2005
|
* - `triggerSize`: Button size for the trigger button.
|
|
1995
2006
|
*
|
|
@@ -2007,6 +2018,7 @@ type YuwSheetSideDto = 'top' | 'bottom' | 'left' | 'right';
|
|
|
2007
2018
|
* ```
|
|
2008
2019
|
*/
|
|
2009
2020
|
declare class YuwSheetComponent {
|
|
2021
|
+
private readonly sheet;
|
|
2010
2022
|
readonly open: _angular_core.ModelSignal<boolean>;
|
|
2011
2023
|
readonly showTrigger: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2012
2024
|
readonly side: _angular_core.InputSignal<YuwSheetSideDto>;
|
|
@@ -2015,13 +2027,18 @@ declare class YuwSheetComponent {
|
|
|
2015
2027
|
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
2016
2028
|
readonly closeLabel: _angular_core.InputSignal<string | undefined>;
|
|
2017
2029
|
readonly panelClass: _angular_core.InputSignal<string | undefined>;
|
|
2030
|
+
readonly overlayClass: _angular_core.InputSignal<string | undefined>;
|
|
2031
|
+
readonly scrollStrategy: _angular_core.InputSignal<YuwSheetScrollStrategyDto>;
|
|
2032
|
+
readonly ariaModal: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2033
|
+
readonly closeOnOutsidePointerEvents: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2018
2034
|
readonly triggerVariant: _angular_core.InputSignal<"default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | null | undefined>;
|
|
2019
2035
|
readonly triggerSize: _angular_core.InputSignal<"default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined>;
|
|
2020
2036
|
protected readonly hasFooter: _angular_core.Signal<YuwSheetFooterDirective | undefined>;
|
|
2037
|
+
constructor();
|
|
2021
2038
|
protected readonly _sheetState: _angular_core.Signal<"open" | "closed">;
|
|
2022
2039
|
protected onStateChanged(state: 'open' | 'closed'): void;
|
|
2023
2040
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSheetComponent, never>;
|
|
2024
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwSheetComponent, "yuw-sheet", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "showTrigger": { "alias": "showTrigger"; "required": false; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "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"; }, ["hasFooter"], ["[yuwSheetTrigger]", "*", "[yuwSheetFooter]"], true, never>;
|
|
2041
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwSheetComponent, "yuw-sheet", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "showTrigger": { "alias": "showTrigger"; "required": false; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "overlayClass": { "alias": "overlayClass"; "required": false; "isSignal": true; }; "scrollStrategy": { "alias": "scrollStrategy"; "required": false; "isSignal": true; }; "ariaModal": { "alias": "ariaModal"; "required": false; "isSignal": true; }; "closeOnOutsidePointerEvents": { "alias": "closeOnOutsidePointerEvents"; "required": false; "isSignal": true; }; "triggerVariant": { "alias": "triggerVariant"; "required": false; "isSignal": true; }; "triggerSize": { "alias": "triggerSize"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, ["hasFooter"], ["[yuwSheetTrigger]", "*", "[yuwSheetFooter]"], true, never>;
|
|
2025
2042
|
}
|
|
2026
2043
|
declare const YuwSheetImports: readonly [typeof YuwSheetComponent, typeof YuwSheetFooterDirective];
|
|
2027
2044
|
|
|
@@ -2610,7 +2627,7 @@ declare class YuwAttachmentTriggerDirective {
|
|
|
2610
2627
|
*
|
|
2611
2628
|
* Provided at the root so `<yuw-sidebar>` and the nav share one instance — the component stamps the
|
|
2612
2629
|
* attribute the class layers select on, and the nav reads the same signal to decide between accordion
|
|
2613
|
-
* and
|
|
2630
|
+
* and submenu sheet, so the two must agree on the exact frame.
|
|
2614
2631
|
*/
|
|
2615
2632
|
declare class YuwSidebarRailService {
|
|
2616
2633
|
private readonly sidebar;
|
|
@@ -2679,9 +2696,8 @@ interface YuwSidebarSubItemDto extends YuwSidebarNavigationDto {
|
|
|
2679
2696
|
* injector chain. Same contract as `<yuw-spinner icon="…">`.
|
|
2680
2697
|
* - `badge`: short trailing count or status, hidden automatically while collapsed to icons.
|
|
2681
2698
|
* - `tooltip`: label shown while collapsed to icons, where `label` is not visible. Falls back to
|
|
2682
|
-
* `label` when absent, so the common case needs no second field.
|
|
2683
|
-
* `children
|
|
2684
|
-
* the same screen position.
|
|
2699
|
+
* `label` when absent, so the common case needs no second field. Applies to every entry, including
|
|
2700
|
+
* one with `children`: its submenu opens on click, so nothing else is competing for the hover.
|
|
2685
2701
|
* - `expanded`: whether the submenu starts open, for an entry with `children`. A seed for the
|
|
2686
2702
|
* initial state only, not live state: the user's own toggling lives in the sidebar and survives
|
|
2687
2703
|
* the consumer replacing this object. An entry holding the active route opens regardless.
|
|
@@ -2734,6 +2750,42 @@ type YuwSidebarSideDto = 'left' | 'right';
|
|
|
2734
2750
|
type YuwSidebarVariantDto = 'sidebar' | 'floating' | 'inset';
|
|
2735
2751
|
type YuwSidebarCollapsibleDto = 'offcanvas' | 'icon' | 'none';
|
|
2736
2752
|
|
|
2753
|
+
/**
|
|
2754
|
+
* Holds which rail entry's submenu the collapsed sidebar is showing. Provided on `<yuw-sidebar>`, so
|
|
2755
|
+
* two sidebars on a page don't drive each other.
|
|
2756
|
+
*
|
|
2757
|
+
* `renderedItem` lags `activeItem` by one close: the sheet renders from it so its markup outlives the
|
|
2758
|
+
* close and the panel can animate out. Swapping entries never writes `null`, which would detach the
|
|
2759
|
+
* overlay and replay the open animation. Matching is by `id` — the nav rebuilds these objects.
|
|
2760
|
+
*
|
|
2761
|
+
* `closeUnhandled` is what dismisses the sheet for a click that lands on the rail but on nothing that
|
|
2762
|
+
* owns the submenu — the padding between entries, a separator, the header, a plain rail link.
|
|
2763
|
+
* `<yuw-sidebar>` calls it from a bubble-phase listener on its own host, which therefore runs *after*
|
|
2764
|
+
* the handler of whatever entry was clicked, so an entry that has just opened or swapped the sheet has
|
|
2765
|
+
* to be able to say "this click was mine". `toggle` records the event it acted on for exactly that,
|
|
2766
|
+
* keyed on event identity so no timer or DOM-target test is involved: there is one event object per
|
|
2767
|
+
* click and both handlers see it. Together with the backdrop — inset to the rail's right edge, so it
|
|
2768
|
+
* covers the rest of the viewport — that listener closes the sheet from anywhere outside it.
|
|
2769
|
+
*
|
|
2770
|
+
* The brain's own `closeOnOutsidePointerEvents` is deliberately *not* used for this. The CDK
|
|
2771
|
+
* dispatches outside pointer events from a capture listener on `body`, so it would close the sheet
|
|
2772
|
+
* before the clicked entry's own bubble-phase handler ran, and `toggle` would then see no active item
|
|
2773
|
+
* and re-open on the very click that dismissed it.
|
|
2774
|
+
*/
|
|
2775
|
+
declare class YuwSidebarSubmenuService {
|
|
2776
|
+
private readonly item;
|
|
2777
|
+
private readonly lastItem;
|
|
2778
|
+
private handledEvent;
|
|
2779
|
+
readonly activeItem: Signal<YuwSidebarItemDto | null>;
|
|
2780
|
+
readonly renderedItem: Signal<YuwSidebarItemDto | null>;
|
|
2781
|
+
readonly open: Signal<boolean>;
|
|
2782
|
+
toggle(item: YuwSidebarItemDto, event: Event): void;
|
|
2783
|
+
close(): void;
|
|
2784
|
+
closeUnhandled(event: Event): void;
|
|
2785
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarSubmenuService, never>;
|
|
2786
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<YuwSidebarSubmenuService>;
|
|
2787
|
+
}
|
|
2788
|
+
|
|
2737
2789
|
/**
|
|
2738
2790
|
* Collapsible navigation sidebar. Renders as a fixed panel on desktop and as a slide-in sheet on
|
|
2739
2791
|
* mobile, and reads its colors from the `--sidebar-*` theme tokens.
|
|
@@ -2753,8 +2805,8 @@ type YuwSidebarCollapsibleDto = 'offcanvas' | 'icon' | 'none';
|
|
|
2753
2805
|
* `[routerLink]` anchor whose active state, `aria-current` and pointer-lock resolve automatically
|
|
2754
2806
|
* from `routerLinkActive`; one with an `href` becomes a plain anchor; one with neither becomes a
|
|
2755
2807
|
* button that reports through `itemClicked`. An item with `children` gets a submenu that follows
|
|
2756
|
-
* the sidebar's own state: an accordion while the panel is open, and a
|
|
2757
|
-
* once it is collapsed to icons, so nested entries stay reachable
|
|
2808
|
+
* the sidebar's own state: an accordion while the panel is open, and a sheet sliding out beside the
|
|
2809
|
+
* rail once it is collapsed to icons, so nested entries stay reachable there. Its `expanded`
|
|
2758
2810
|
* field seeds the accordion; the item holding the active route opens on its own.
|
|
2759
2811
|
* - `footer`: The same, rendered into the footer region.
|
|
2760
2812
|
*
|
|
@@ -2776,6 +2828,11 @@ type YuwSidebarCollapsibleDto = 'offcanvas' | 'icon' | 'none';
|
|
|
2776
2828
|
* content area's flex sizing — mark it `[yuwSidebarContentExtra]` or `[yuwSidebarFooterExtra]`; the
|
|
2777
2829
|
* default slot keeps everything else, so existing projection-only usage is unaffected.
|
|
2778
2830
|
*
|
|
2831
|
+
* With `collapsible="icon"` the component also renders a single submenu sheet, shared by every entry
|
|
2832
|
+
* that has `children` in either region. It is one panel rather than one per entry because a sheet is a
|
|
2833
|
+
* modal overlay: several would compete for the same screen position, and only one submenu is ever on
|
|
2834
|
+
* screen anyway.
|
|
2835
|
+
*
|
|
2779
2836
|
* `header` has no object form: it is a free-form branding area with no repeating structure to model.
|
|
2780
2837
|
*
|
|
2781
2838
|
* Deliberately not exposed from the helm sidebar (add a wrapper only when a real consumer needs
|
|
@@ -2820,6 +2877,7 @@ type YuwSidebarCollapsibleDto = 'offcanvas' | 'icon' | 'none';
|
|
|
2820
2877
|
declare class YuwSidebarComponent {
|
|
2821
2878
|
private readonly config;
|
|
2822
2879
|
protected readonly _rail: YuwSidebarRailService;
|
|
2880
|
+
protected readonly _submenu: YuwSidebarSubmenuService;
|
|
2823
2881
|
readonly side: _angular_core.InputSignal<YuwSidebarSideDto>;
|
|
2824
2882
|
readonly variant: _angular_core.InputSignal<YuwSidebarVariantDto>;
|
|
2825
2883
|
readonly collapsible: _angular_core.InputSignal<YuwSidebarCollapsibleDto>;
|
|
@@ -2992,13 +3050,13 @@ declare class YuwSidebarMenuItemDirective {
|
|
|
2992
3050
|
* (`'default'`, `'sm'`, `'lg'`) and `isActive`.
|
|
2993
3051
|
*
|
|
2994
3052
|
* `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
|
|
2996
|
-
*
|
|
3053
|
+
* hidden; the composed primitive shows it only in that state. Every entry gets one, including those
|
|
3054
|
+
* with children — their submenu opens on click, so it never competes with the hover.
|
|
2997
3055
|
*
|
|
2998
3056
|
* Reaching that input takes composing `BrnTooltip` here under the same `tooltip` alias the helm uses,
|
|
2999
3057
|
* rather than forwarding it. `HlmSidebarMenuButton` publishes the alias on its own `hostDirectives`
|
|
3000
3058
|
* entry, which does not make it an input of the helm directive — a forward cannot be re-forwarded, the
|
|
3001
|
-
* same limit `
|
|
3059
|
+
* same limit `context-menu.directives.ts` documents. Angular resolves both entries to the one
|
|
3002
3060
|
* `BrnTooltip` instance on the element, so the helm keeps driving `mutableTooltipDisabled` (which is
|
|
3003
3061
|
* what confines the tooltip to the collapsed state) while this binding supplies its content.
|
|
3004
3062
|
*
|
|
@@ -3025,7 +3083,7 @@ declare class YuwSidebarMenuItemDirective {
|
|
|
3025
3083
|
* shrink-to-fit for the whole width animation — long enough for the label to stop ellipsing and
|
|
3026
3084
|
* the trailing chevron to sit against it.
|
|
3027
3085
|
* - `[&>span]:hidden` drops the label while collapsed, leaving the icon alone — the tooltip carries
|
|
3028
|
-
* the name in that state
|
|
3086
|
+
* the name in that state. Matched by element rather
|
|
3029
3087
|
* than by `:last-child` (which is what the helm's own `truncate` uses): an expandable entry ends
|
|
3030
3088
|
* with a trailing chevron, so the label is no longer the last child and a positional selector
|
|
3031
3089
|
* would skip exactly those entries. `span` is unambiguous here — the label is the only one a menu
|
|
@@ -3076,122 +3134,6 @@ declare class YuwSidebarMenuSubButtonDirective {
|
|
|
3076
3134
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarMenuSubButtonDirective, never>;
|
|
3077
3135
|
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: {}; }]>;
|
|
3078
3136
|
}
|
|
3079
|
-
/**
|
|
3080
|
-
* Host of a collapsed-state flyout: the element that scopes the overlay for one entry. Apply
|
|
3081
|
-
* alongside `[yuwSidebarMenuItem]` on the `<li>` holding the entry and its panel.
|
|
3082
|
-
*
|
|
3083
|
-
* Provides `BrnHoverCardContentService` itself instead of composing `HlmHoverCard`. The service has
|
|
3084
|
-
* to be scoped per `<li>` — it holds the single overlay and its content, so a shared one would have
|
|
3085
|
-
* every entry in the sidebar fighting over the same panel — and providing it here is all that is
|
|
3086
|
-
* needed for that. What `HlmHoverCard` adds on top is a `contentChild` pairing that assigns the
|
|
3087
|
-
* trigger's content in `ngAfterContentInit`, and that pairing is actively harmful here: it writes
|
|
3088
|
-
* into the same writable signal the trigger's own input feeds, so its one-time value outlives and
|
|
3089
|
-
* overrides the binding that is supposed to turn the flyout off while the sidebar is expanded.
|
|
3090
|
-
*/
|
|
3091
|
-
declare class YuwSidebarFlyoutHostDirective {
|
|
3092
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarFlyoutHostDirective, never>;
|
|
3093
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarFlyoutHostDirective, "[yuwSidebarFlyoutHost]", never, {}, {}, never, never, true, never>;
|
|
3094
|
-
}
|
|
3095
|
-
/**
|
|
3096
|
-
* The entry whose hover opens a flyout. Apply to the same element as `[yuwSidebarMenuButton]`, bound
|
|
3097
|
-
* to the panel's `<ng-template>` reference — or to `undefined` to switch the flyout off entirely,
|
|
3098
|
-
* which is how an expanded sidebar keeps its submenus inline.
|
|
3099
|
-
*
|
|
3100
|
-
* Drives `BrnHoverCardContentService` directly instead of composing `BrnHoverCardTrigger`. The brain
|
|
3101
|
-
* trigger has no way to be turned off once it has run: it feeds the panel to the service through an
|
|
3102
|
-
* effect that ignores falsy values, and the service's `show()` consults only its stored content, so
|
|
3103
|
-
* a trigger that was ever enabled keeps opening its overlay forever. Rebinding to `undefined` cannot
|
|
3104
|
-
* undo it, and neither can `hide()`, which detaches the overlay but leaves the content in place.
|
|
3105
|
-
* Owning the wiring here is what makes an unbound panel mean "inert".
|
|
3106
|
-
*
|
|
3107
|
-
* The `effect` is the whole lifecycle: it runs when a panel arrives, and its `onCleanup` closes the
|
|
3108
|
-
* overlay and drops the subscription when the panel goes away or the entry is destroyed. Nothing
|
|
3109
|
-
* else tracks teardown, which is why there is no `DestroyRef` or `takeUntilDestroyed` here — a second
|
|
3110
|
-
* mechanism would only be able to disagree with this one.
|
|
3111
|
-
*
|
|
3112
|
-
* Delays are read inside `switchMap` rather than captured when the effect runs, so retuning them
|
|
3113
|
-
* does not tear down and rebuild the subscription.
|
|
3114
|
-
*
|
|
3115
|
-
* `distinctUntilChanged` before the timer is load-bearing, and not as an optimisation: the five
|
|
3116
|
-
* merged sources overlap, so crossing from the entry to the panel emits a `mouseleave` and the
|
|
3117
|
-
* panel's own hover almost together, and `mouseenter` and `focusin` both fire on the same pointer
|
|
3118
|
-
* arriving. Each duplicate would restart `switchMap` and cancel the timer already in flight, so a
|
|
3119
|
-
* repeat during the show delay could keep the panel from ever opening.
|
|
3120
|
-
*
|
|
3121
|
-
* It cannot dedupe the crossing itself, though — that genuinely alternates `false` then `true`, so
|
|
3122
|
-
* both values are distinct and both survive. `toggle` is therefore guarded against the state it is
|
|
3123
|
-
* already in, because `show()` is not idempotent: it calls `detach()` then `attach()`, tearing the
|
|
3124
|
-
* panel down and rebuilding it. Re-showing an open panel replays its enter animation, which is the
|
|
3125
|
-
* flicker you get when the pointer moves from the rail into the flyout.
|
|
3126
|
-
*
|
|
3127
|
-
* Note there is no click handling. `BrnHoverCardTrigger` maps a click to `false`, which is right for
|
|
3128
|
-
* a hover card — clicking the trigger dismisses it — and wrong for a nav rail, where the entry's own
|
|
3129
|
-
* click has nothing to collapse while collapsed and closing the panel would take away the links the
|
|
3130
|
-
* pointer is travelling to. Activating a child closes the flyout anyway, since the pointer leaves
|
|
3131
|
-
* the panel as the page changes.
|
|
3132
|
-
*
|
|
3133
|
-
* `align` is `'right'` for a sidebar flyout rather than the hover card's own `'bottom'`. It is set as
|
|
3134
|
-
* an input rather than through `provideBrnHoverCardDefaultOptions` because that provider types its
|
|
3135
|
-
* `align` as `'top' | 'bottom'`, even though the position map handles all four sides.
|
|
3136
|
-
*/
|
|
3137
|
-
declare class YuwSidebarFlyoutTriggerDirective {
|
|
3138
|
-
private readonly element;
|
|
3139
|
-
private readonly viewContainerRef;
|
|
3140
|
-
private readonly service;
|
|
3141
|
-
readonly panel: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
3142
|
-
readonly align: _angular_core.InputSignal<"left" | "right" | "top" | "bottom">;
|
|
3143
|
-
readonly sideOffset: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
3144
|
-
readonly showDelay: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
3145
|
-
readonly hideDelay: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
3146
|
-
private readonly pointerOver;
|
|
3147
|
-
constructor();
|
|
3148
|
-
private toggle;
|
|
3149
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarFlyoutTriggerDirective, never>;
|
|
3150
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarFlyoutTriggerDirective, "[yuwSidebarFlyoutTrigger]", never, { "panel": { "alias": "yuwSidebarFlyoutTrigger"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "sideOffset": { "alias": "sideOffset"; "required": false; "isSignal": true; }; "showDelay": { "alias": "showDelay"; "required": false; "isSignal": true; }; "hideDelay": { "alias": "hideDelay"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
3151
|
-
}
|
|
3152
|
-
/**
|
|
3153
|
-
* Marks the `<ng-template>` holding a flyout's markup, and is what `[yuwSidebarFlyoutTrigger]` is
|
|
3154
|
-
* bound to. Exported as `yuwSidebarFlyoutPanel` so the template can name it.
|
|
3155
|
-
*
|
|
3156
|
-
* Structural — the composed primitive injects the `TemplateRef`, which is what lets the panel be
|
|
3157
|
-
* portalled into a CDK overlay instead of rendering inside the rail.
|
|
3158
|
-
*
|
|
3159
|
-
* The trigger is bound to the template's own `#ref` (a `TemplateRef`, which its input accepts), so
|
|
3160
|
-
* this directive is never referenced by name — but it cannot be dropped: it is the sole provider of
|
|
3161
|
-
* the exposed state and side tokens that `[yuwSidebarFlyout]` injects from its host, and without it
|
|
3162
|
-
* the panel throws NG0201 the moment the overlay instantiates it.
|
|
3163
|
-
*/
|
|
3164
|
-
declare class YuwSidebarFlyoutPanelDirective {
|
|
3165
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarFlyoutPanelDirective, never>;
|
|
3166
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarFlyoutPanelDirective, "ng-template[yuwSidebarFlyoutPanel]", never, {}, {}, never, never, true, [{ directive: typeof i2$1.HlmHoverCardPortal; inputs: {}; outputs: {}; }]>;
|
|
3167
|
-
}
|
|
3168
|
-
/**
|
|
3169
|
-
* The flyout's visible surface. Apply to the single root element inside a `[yuwSidebarFlyoutPanel]`
|
|
3170
|
-
* template.
|
|
3171
|
-
*
|
|
3172
|
-
* Separate from the panel marker because the two sit on different nodes: the marker is the
|
|
3173
|
-
* `<ng-template>`, this is the element the overlay renders. Carries the popover surface of the
|
|
3174
|
-
* composed helm content plus `yuwSidebarFlyoutClass`.
|
|
3175
|
-
*
|
|
3176
|
-
* That class layer exists because the panel lives in the overlay, outside the sidebar's DOM subtree,
|
|
3177
|
-
* and so is no longer a descendant of the `group/sidebar-wrapper` element. Every
|
|
3178
|
-
* `group-data-[collapsible=…]` selector therefore resolves against nothing and stays inert —
|
|
3179
|
-
* including the `hidden` that `HlmSidebarMenuSub` and `HlmSidebarMenuSubButton` apply to themselves
|
|
3180
|
-
* in exactly this state, which is why the submenu markup renders visible in here with no override.
|
|
3181
|
-
* What the layer undoes instead is the indentation and vertical rule those primitives carry for the
|
|
3182
|
-
* inline case, which make no sense in a panel.
|
|
3183
|
-
*
|
|
3184
|
-
* The gap between rail and panel is that layer's `ms-2`, not the trigger's `sideOffset`, which is
|
|
3185
|
-
* deliberately `0`. An offset moves the overlay away from the trigger and leaves dead space between
|
|
3186
|
-
* them: crossing it slowly means the pointer is over neither element, and the hover card closes
|
|
3187
|
-
* mid-journey. A margin keeps the same visual gap inside the overlay's own box, so the pointer never
|
|
3188
|
-
* leaves the hover target on its way in.
|
|
3189
|
-
*/
|
|
3190
|
-
declare class YuwSidebarFlyoutDirective {
|
|
3191
|
-
constructor();
|
|
3192
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarFlyoutDirective, never>;
|
|
3193
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarFlyoutDirective, "[yuwSidebarFlyout]", never, {}, {}, never, never, true, [{ directive: typeof i2$1.HlmHoverCardContent; inputs: {}; outputs: {}; }]>;
|
|
3194
|
-
}
|
|
3195
3137
|
/** Divider between sidebar sections. */
|
|
3196
3138
|
declare class YuwSidebarSeparatorDirective {
|
|
3197
3139
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwSidebarSeparatorDirective, never>;
|
|
@@ -3213,5 +3155,5 @@ declare class YuwSidebarInsetDirective {
|
|
|
3213
3155
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<YuwSidebarInsetDirective, "main[yuwSidebarInset]", never, {}, {}, never, never, true, [{ directive: typeof i1$d.HlmSidebarInset; inputs: {}; outputs: {}; }]>;
|
|
3214
3156
|
}
|
|
3215
3157
|
|
|
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,
|
|
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 };
|
|
3158
|
+
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, YuwSidebarFooterDirective, YuwSidebarFooterExtraDirective, YuwSidebarGroupContentDirective, YuwSidebarGroupDirective, YuwSidebarGroupLabelDirective, YuwSidebarHeaderDirective, YuwSidebarInsetDirective, YuwSidebarMenuBadgeDirective, YuwSidebarMenuButtonDirective, YuwSidebarMenuDirective, YuwSidebarMenuItemDirective, YuwSidebarMenuSubButtonDirective, YuwSidebarMenuSubDirective, YuwSidebarMenuSubItemDirective, YuwSidebarRailDirective, YuwSidebarRailService, YuwSidebarSeparatorDirective, YuwSidebarSubmenuService, 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 };
|
|
3159
|
+
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, YuwSheetScrollStrategyDto, YuwSheetSideDto, YuwSidebarCollapsibleDto, YuwSidebarContentDto, YuwSidebarGroupDto, YuwSidebarItemClickDto, YuwSidebarItemDto, YuwSidebarSideDto, YuwSidebarSubItemDto, YuwSidebarVariantDto, YuwSwitchSizeDto, YuwTabItemDto, YuwTabsActivationModeDto, YuwTabsOrientationDto, YuwTabsVariantDto, YuwTextFieldContract, YuwToasterPositionDto, YuwToasterThemeDto, YuwTooltipPositionDto };
|