@epam/ai-dial-navigation-panel 1.3.0-dev.108 → 1.3.0-dev.110

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.
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ import { NavigationSidebarProps } from '../../models/navigation-sidebar-props';
3
+ /** Primary-navigation sidebar: items, a content slot and a footer, as a collapsible column or a drawer. */
4
+ export declare const NavigationSidebar: FC<NavigationSidebarProps>;
5
+ //# sourceMappingURL=NavigationSidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationSidebar.d.ts","sourceRoot":"","sources":["../../../src/components/NavigationSidebar/NavigationSidebar.tsx"],"names":[],"mappings":"AASA,OAAO,EAOL,KAAK,EAAE,EAGR,MAAM,OAAO,CAAC;AAMf,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAsCpF,2GAA2G;AAC3G,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CA2TxD,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { FC } from 'react';
2
2
  import { UserMenuProps } from '../../models/user-menu-props';
3
3
  /**
4
- * Avatar trigger pinned to the bottom of the nav rail, opening a dropdown with
5
- * the user's identity, single-select settings submenus, and a log-out entry.
4
+ * User trigger that opens a dropdown with the user's identity, single-select
5
+ * settings submenus, an optional Settings entry and a log-out entry.
6
6
  */
7
7
  export declare const UserMenu: FC<UserMenuProps>;
8
8
  //# sourceMappingURL=UserMenu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserMenu.d.ts","sourceRoot":"","sources":["../../../src/components/UserMenu/UserMenu.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAiB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAKlE;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CA6ItC,CAAC"}
1
+ {"version":3,"file":"UserMenu.d.ts","sourceRoot":"","sources":["../../../src/components/UserMenu/UserMenu.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAA2B,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAMlE;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAsNtC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { FC } from 'react';
2
+ /** Props for `ItemGradients`. */
3
+ export interface ItemGradientsProps {
4
+ /** `id` of the gradient that paints an active glyph; referenced as `url(#id)`. */
5
+ activeGradientId: string;
6
+ }
7
+ /**
8
+ * Paint server for the active item's glyph: a gradient mapped onto the 24×24
9
+ * Tabler viewBox, colored by `--np-sidebar-gradient-start` and `-end`.
10
+ * `display: none` would drop it, so it is zero-sized instead.
11
+ */
12
+ export declare const ItemGradients: FC<ItemGradientsProps>;
13
+ //# sourceMappingURL=ItemGradients.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemGradients.d.ts","sourceRoot":"","sources":["../../../src/components/common/ItemGradients.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,iCAAiC;AACjC,MAAM,WAAW,kBAAkB;IACjC,kFAAkF;IAClF,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAgBhD,CAAC"}
@@ -6,6 +6,8 @@ export interface UserAvatarProps {
6
6
  profile: NavigationUserProfile;
7
7
  /** Alternative text for the image. Pass `''` when a sibling already names the row. */
8
8
  alt: string;
9
+ /** Diameter in pixels. Defaults to `28`. */
10
+ size?: number;
9
11
  }
10
12
  /** Avatar image with an initials badge fallback for a missing or broken image. */
11
13
  export declare const UserAvatar: FC<UserAvatarProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"UserAvatar.d.ts","sourceRoot":"","sources":["../../../src/components/common/UserAvatar.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,8BAA8B;AAC9B,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,OAAO,EAAE,qBAAqB,CAAC;IAC/B,sFAAsF;IACtF,GAAG,EAAE,MAAM,CAAC;CACb;AAED,kFAAkF;AAClF,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAgBzC,CAAC"}
1
+ {"version":3,"file":"UserAvatar.d.ts","sourceRoot":"","sources":["../../../src/components/common/UserAvatar.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,8BAA8B;AAC9B,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,OAAO,EAAE,qBAAqB,CAAC;IAC/B,sFAAsF;IACtF,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,kFAAkF;AAClF,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAkB1C,CAAC"}
@@ -3,5 +3,11 @@ export declare const NAVIGATION_PANEL_CLASS: {
3
3
  readonly rail: "dial-navigation-panel-rail";
4
4
  /** Every item in the rail, whether or not it is the active one. */
5
5
  readonly item: "dial-navigation-panel-item";
6
+ /** The `nav` of `NavigationSidebar`. */
7
+ readonly sidebar: "dial-navigation-panel-sidebar";
8
+ /** Every item in `NavigationSidebar`, whether or not it is the active one. */
9
+ readonly sidebarItem: "dial-navigation-panel-sidebar-item";
10
+ /** The footer of `NavigationSidebar`. */
11
+ readonly sidebarFooter: "dial-navigation-panel-sidebar-footer";
6
12
  };
7
13
  //# sourceMappingURL=public-class-names.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public-class-names.d.ts","sourceRoot":"","sources":["../../src/constants/public-class-names.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,sBAAsB;IACjC,6BAA6B;;IAE7B,mEAAmE;;CAE3D,CAAC"}
1
+ {"version":3,"file":"public-class-names.d.ts","sourceRoot":"","sources":["../../src/constants/public-class-names.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,sBAAsB;IACjC,6BAA6B;;IAE7B,mEAAmE;;IAEnE,wCAAwC;;IAExC,8EAA8E;;IAE9E,yCAAyC;;CAEjC,CAAC"}
package/index.css CHANGED
@@ -1,3 +1,3 @@
1
- ._rail_1hxk4_1{background:var(--np-bg,var(--bg-layer-raised,#fcfcfc));font-family:var(--np-font-family,inherit)}._item_1hxk4_6{color:var(--np-item-text,var(--text-primary,#161b2d))}._item_1hxk4_6 svg{transition:transform .2s cubic-bezier(.34,1.56,.64,1)}._item_1hxk4_6:hover svg,a:focus-visible>._item_1hxk4_6 svg{transform:translateY(-2px)}._item_1hxk4_6:active svg{transition-duration:.1s;transform:translateY(0)}@media (prefers-reduced-motion:reduce){._item_1hxk4_6 svg{transition:none}._item_1hxk4_6:hover svg,a:focus-visible>._item_1hxk4_6 svg{transform:none}}._item_1hxk4_6:not(._itemActive_1hxk4_33):hover{background:var(--np-item-hover-bg,transparent)}._item_1hxk4_6:not(._itemActive_1hxk4_33):hover svg,a:focus-visible>._item_1hxk4_6:not(._itemActive_1hxk4_33) svg{stroke:var(--np-item-hover-icon,currentColor)}._item_1hxk4_6:active{background:var(--np-item-active-bg,var(--bg-control-accent-alpha-active,#2764d933))}a:focus-visible>._item_1hxk4_6:not(._itemActive_1hxk4_33){background:var(--np-item-hover-bg,var(--bg-control-accent-alpha-hover,#2764d924))}a:focus-visible>._item_1hxk4_6._itemActive_1hxk4_33{outline:2px solid var(--np-item-active-text,var(--text-accent,#1d4ed8));outline-offset:-2px}._item_1hxk4_6._itemActive_1hxk4_33{background:var(--np-item-selected-bg,var(--bg-control-accent-alpha-active,#2764d933));color:var(--np-item-active-text,var(--text-accent,#1d4ed8))}._item_1hxk4_6._itemActive_1hxk4_33 svg{stroke:var(--np-item-active-icon,currentColor)}._item_1hxk4_6._itemFilled_1hxk4_38 svg{fill:var(--np-item-active-icon,currentColor);stroke:none}._item_1hxk4_6._itemFilledOutline_1hxk4_79 svg{fill:var(--np-item-active-icon,currentColor)}._avatar_4hc9t_4._avatar_4hc9t_4{background:var(--np-avatar-bg,var(--bg-control-accent,#1d4ed8));color:var(--np-avatar-text,var(--text-control-permanent,#fcfcfc))}._wrapper_17aqp_1{font-family:var(--np-font-family,inherit)}._trigger_17aqp_5:hover{background:var(--np-trigger-hover-bg,var(--bg-control-accent-alpha-hover,#2764d924))}._trigger_17aqp_5._trigger_17aqp_5:focus-visible{background:var(--np-trigger-hover-bg,var(--bg-control-accent-alpha-hover,#2764d924));outline:1px solid var(--np-focus-outline,var(--stroke-focus,#161b2d));outline-offset:-1px}._identityText_17aqp_18,._menuLabel_17aqp_22{color:var(--np-menu-text,var(--text-primary,#161b2d))}._sheet_1k0ml_1{font-family:var(--np-font-family,inherit)}li>._row_1k0ml_12{color:var(--np-sheet-text,var(--text-primary,#161b2d))}li>._row_1k0ml_12:hover,li>._row_1k0ml_12:focus-visible{background:var(--np-sheet-item-hover,var(--bg-control-accent-alpha-hover,#2764d924))}li>._row_1k0ml_12:active{background:var(--np-sheet-item-active,var(--bg-control-neutral-active,#d1dbea))}li>._rowActive_1k0ml_24{color:var(--np-sheet-row-active-text,var(--text-accent,#1d4ed8));background:var(--np-sheet-row-active-bg,var(--bg-control-accent-alpha,#2764d90f))}li>._rowActive_1k0ml_24:hover,li>._rowActive_1k0ml_24:focus-visible{background:var(--np-sheet-row-active-bg-hover,var(--bg-control-accent-alpha-hover,#2764d924))}li>._rowActive_1k0ml_24 ._rowIcon_1k0ml_31{color:inherit}li>._rowActive_1k0ml_24 ._rowIcon_1k0ml_31 svg[fill=none]{fill:currentColor}._rowIcon_1k0ml_31{color:var(--np-sheet-icon,var(--text-secondary,#57647a))}._divider_1k0ml_46{border-color:var(--np-sheet-divider,var(--stroke-secondary,#d1dbea))}._mutedText_1k0ml_50{color:var(--np-sheet-muted-text,var(--text-secondary,#57647a))}._activeIcon_1k0ml_54{color:var(--np-menu-active-icon,var(--text-accent,#1d4ed8))}
1
+ ._rail_1hxk4_1{background:var(--np-bg,var(--bg-layer-raised,#fcfcfc));font-family:var(--np-font-family,inherit)}._item_1hxk4_6{color:var(--np-item-text,var(--text-primary,#161b2d))}._item_1hxk4_6 svg{transition:transform .2s cubic-bezier(.34,1.56,.64,1)}._item_1hxk4_6:hover svg,a:focus-visible>._item_1hxk4_6 svg{transform:translateY(-2px)}._item_1hxk4_6:active svg{transition-duration:.1s;transform:translateY(0)}@media (prefers-reduced-motion:reduce){._item_1hxk4_6 svg{transition:none}._item_1hxk4_6:hover svg,a:focus-visible>._item_1hxk4_6 svg{transform:none}}._item_1hxk4_6:not(._itemActive_1hxk4_33):hover{background:var(--np-item-hover-bg,transparent)}._item_1hxk4_6:not(._itemActive_1hxk4_33):hover svg,a:focus-visible>._item_1hxk4_6:not(._itemActive_1hxk4_33) svg{stroke:var(--np-item-hover-icon,currentColor)}._item_1hxk4_6:active{background:var(--np-item-active-bg,var(--bg-control-accent-alpha-active,#2764d933))}a:focus-visible>._item_1hxk4_6:not(._itemActive_1hxk4_33){background:var(--np-item-hover-bg,var(--bg-control-accent-alpha-hover,#2764d924))}a:focus-visible>._item_1hxk4_6._itemActive_1hxk4_33{outline:2px solid var(--np-item-active-text,var(--text-accent,#1d4ed8));outline-offset:-2px}._item_1hxk4_6._itemActive_1hxk4_33{background:var(--np-item-selected-bg,var(--bg-control-accent-alpha-active,#2764d933));color:var(--np-item-active-text,var(--text-accent,#1d4ed8))}._item_1hxk4_6._itemActive_1hxk4_33 svg{stroke:var(--np-item-active-icon,currentColor)}._item_1hxk4_6._itemFilled_1hxk4_38 svg{fill:var(--np-item-active-icon,currentColor);stroke:none}._item_1hxk4_6._itemFilledOutline_1hxk4_79 svg{fill:var(--np-item-active-icon,currentColor)}._stopStart_8i550_1{stop-color:var(--np-sidebar-gradient-start,#1d4ed8)}._stopEnd_8i550_5{stop-color:var(--np-sidebar-gradient-end,#885df2)}._sidebar_1w4pz_1{background:var(--np-sidebar-bg,var(--bg-layer-raised,#fcfcfc));font-family:var(--np-sidebar-font-family,inherit)}._sidebarColumn_1w4pz_7{transition:width .2s}@media (prefers-reduced-motion:reduce){._sidebarColumn_1w4pz_7{transition:none}}._item_1w4pz_16{color:var(--np-sidebar-item-text,var(--text-primary,#161b2d));cursor:pointer}._item_1w4pz_16:not(._itemActive_1w4pz_21):hover,._item_1w4pz_16:not(._itemActive_1w4pz_21):focus-visible{background:var(--np-sidebar-item-hover-bg,var(--bg-control-accent-alpha-hover-subtle,#2764d90a))}._item_1w4pz_16:focus-visible{outline:1px solid var(--np-sidebar-focus-outline,var(--stroke-focus,#161b2d));outline-offset:2px}._item_1w4pz_16._itemActive_1w4pz_21{background:var(--np-sidebar-item-selected-bg,var(--bg-control-accent-alpha-active-subtle,#2764d914))}._item_1w4pz_16._itemActive_1w4pz_21 svg{stroke:var(--np-sidebar-item-active-icon,currentColor)}._item_1w4pz_16._itemFilled_1w4pz_38 svg{fill:var(--np-sidebar-item-active-icon,currentColor);stroke:none}._item_1w4pz_16._itemFilledOutline_1w4pz_45 svg{fill:var(--np-sidebar-item-active-icon,currentColor)}._itemIcon_1w4pz_49{color:var(--np-sidebar-item-text,var(--text-primary,#161b2d))}._footer_1w4pz_55{background:var(--np-sidebar-bg,var(--bg-layer-raised,#fcfcfc))}._avatar_4hc9t_4._avatar_4hc9t_4{background:var(--np-avatar-bg,var(--bg-control-accent,#1d4ed8));color:var(--np-avatar-text,var(--text-control-permanent,#fcfcfc))}._wrapper_11e9t_1{font-family:var(--np-font-family,inherit)}._trigger_11e9t_5:hover{background:var(--np-trigger-hover-bg,var(--bg-control-accent-alpha-hover,#2764d924))}._trigger_11e9t_5._trigger_11e9t_5:focus-visible{background:var(--np-trigger-hover-bg,var(--bg-control-accent-alpha-hover,#2764d924));outline:1px solid var(--np-focus-outline,var(--stroke-focus,#161b2d));outline-offset:-1px}._triggerOpen_11e9t_18{background:var(--np-trigger-open-bg,var(--bg-control-accent-alpha-active-subtle,#2764d914))}._identityText_11e9t_22,._menuLabel_11e9t_26{color:var(--np-menu-text,var(--text-primary,#161b2d))}._sheet_1k0ml_1{font-family:var(--np-font-family,inherit)}li>._row_1k0ml_12{color:var(--np-sheet-text,var(--text-primary,#161b2d))}li>._row_1k0ml_12:hover,li>._row_1k0ml_12:focus-visible{background:var(--np-sheet-item-hover,var(--bg-control-accent-alpha-hover,#2764d924))}li>._row_1k0ml_12:active{background:var(--np-sheet-item-active,var(--bg-control-neutral-active,#d1dbea))}li>._rowActive_1k0ml_24{color:var(--np-sheet-row-active-text,var(--text-accent,#1d4ed8));background:var(--np-sheet-row-active-bg,var(--bg-control-accent-alpha,#2764d90f))}li>._rowActive_1k0ml_24:hover,li>._rowActive_1k0ml_24:focus-visible{background:var(--np-sheet-row-active-bg-hover,var(--bg-control-accent-alpha-hover,#2764d924))}li>._rowActive_1k0ml_24 ._rowIcon_1k0ml_31{color:inherit}li>._rowActive_1k0ml_24 ._rowIcon_1k0ml_31 svg[fill=none]{fill:currentColor}._rowIcon_1k0ml_31{color:var(--np-sheet-icon,var(--text-secondary,#57647a))}._divider_1k0ml_46{border-color:var(--np-sheet-divider,var(--stroke-secondary,#d1dbea))}._mutedText_1k0ml_50{color:var(--np-sheet-muted-text,var(--text-secondary,#57647a))}._activeIcon_1k0ml_54{color:var(--np-menu-active-icon,var(--text-accent,#1d4ed8))}
2
2
  /*$vite$:1*//*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
3
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}.absolute{position:absolute}.relative{position:relative}.z-10{z-index:10}.contents{display:contents}.flex{display:flex}.size-0{width:0;height:0}.size-\[44px\]{width:44px;height:44px}.size-\[60px\]{width:60px;height:60px}.h-6{height:1.5rem}.h-16{height:4rem}.h-\[40px\]{height:40px}.h-\[56px\]{height:56px}.h-auto{height:auto}.h-full{height:100%}.w-6{width:1.5rem}.w-\[60px\]{width:60px}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:0}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\!rounded-full{border-radius:3.40282e38px!important}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.bg-contain{background-size:contain}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.p-0{padding:0}.p-2{padding:.5rem}.px-4{padding-inline:1rem}.py-2{padding-block:.5rem}.py-\[10px\]{padding-block:10px}.pb-4{padding-bottom:1rem}.shadow-sm{--tw-shadow:4px 9px 16px 1px var(--tw-shadow-color,var(--shadow-sm-2,var(--shadow-sm,#2764d90f))), 0 -2px 4px 2px var(--tw-shadow-color,var(--shadow-sm-1,#2764d90a));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.rtl\:scale-x-\[-1\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-scale-x:-1;scale:var(--tw-scale-x) var(--tw-scale-y)}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
3
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-y-0{inset-block:0}.start-0{inset-inline-start:0}.z-10{z-index:10}.z-50{z-index:50}.m-0{margin:0}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.\!size-10{width:2.5rem!important;height:2.5rem!important}.size-0{width:0;height:0}.size-6{width:1.5rem;height:1.5rem}.size-10{width:2.5rem;height:2.5rem}.size-10\!{width:2.5rem!important;height:2.5rem!important}.size-\[44px\]{width:44px;height:44px}.size-\[60px\]{width:60px;height:60px}.\!h-10{height:2.5rem!important}.h-6{height:1.5rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-\[40px\]{height:40px}.h-\[56px\]{height:56px}.h-auto{height:auto}.h-full{height:100%}.\!min-h-0{min-height:0!important}.min-h-0{min-height:0}.min-h-0\!{min-height:0!important}.w-6{width:1.5rem}.w-\[60px\]{width:60px}.w-\[72px\]{width:72px}.w-\[320px\]{width:320px}.w-\[336px\]{width:336px}.w-full{width:100%}.max-w-full{max-width:100%}.\!min-w-0{min-width:0!important}.min-w-0{min-width:0}.min-w-0\!{min-width:0!important}.min-w-\[116px\]{min-width:116px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.list-none{list-style-type:none}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.\!rounded-full{border-radius:3.40282e38px!important}.rounded-full{border-radius:3.40282e38px}.rounded-full\!{border-radius:3.40282e38px!important}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.\!border-0{border-style:var(--tw-border-style)!important;border-width:0!important}.bg-contain{background-size:contain}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.\!p-2{padding:.5rem!important}.p-0{padding:0}.p-2{padding:.5rem}.p-2\!{padding:.5rem!important}.p-4{padding:1rem}.px-4{padding-inline:1rem}.py-2{padding-block:.5rem}.py-3{padding-block:.75rem}.py-\[10px\]{padding-block:10px}.ps-2{padding-inline-start:.5rem}.ps-4{padding-inline-start:1rem}.pe-2{padding-inline-end:.5rem}.pt-3{padding-top:.75rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.shadow-lg{--tw-shadow:0 8px 44px 0 var(--tw-shadow-color,var(--shadow-lg,#2764d914));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:4px 9px 16px 1px var(--tw-shadow-color,var(--shadow-sm-2,var(--shadow-sm,#2764d90f))), 0 -2px 4px 2px var(--tw-shadow-color,var(--shadow-sm-1,#2764d90a));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-\[transform\,visibility\]{transition-property:transform,visibility;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:cubic-bezier(.4, 0, .2, 1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.group-hover\/toggle\:opacity-0:is(:where(.group\/toggle):hover *){opacity:0}.group-hover\/toggle\:opacity-100:is(:where(.group\/toggle):hover *){opacity:1}}.group-focus-visible\/toggle\:opacity-0:is(:where(.group\/toggle):focus-visible *){opacity:0}.group-focus-visible\/toggle\:opacity-100:is(:where(.group\/toggle):focus-visible *){opacity:1}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}.ltr\:-translate-x-full:where(:dir(ltr),[dir=ltr],[dir=ltr] *){--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.rtl\:translate-x-full:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.rtl\:scale-x-\[-1\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-scale-x:-1;scale:var(--tw-scale-x) var(--tw-scale-y)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
package/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { NavigationPanel } from './components/NavigationPanel/NavigationPanel';
2
+ export { NavigationSidebar } from './components/NavigationSidebar/NavigationSidebar';
2
3
  export { UserMenu } from './components/UserMenu/UserMenu';
3
4
  export { NavigationSheet } from './components/NavigationSheet/NavigationSheet';
4
5
  export { NavigableBottomSheet } from './components/NavigationSheet/NavigableBottomSheet';
@@ -9,9 +10,10 @@ export { SheetRow } from './components/NavigationSheet/SheetRow';
9
10
  export { AvatarInitials } from './components/common/AvatarInitials';
10
11
  export { UserAvatar } from './components/common/UserAvatar';
11
12
  export { useSheetNavigation } from './hooks/useSheetNavigation';
12
- export type { NavigationItemIcon, NavigationLinkRenderer, NavigationPanelItem, } from './models/navigation-item';
13
+ export type { NavigationItemIcon, NavigationLinkRenderer, NavigationSidebarLinkProps, NavigationSidebarLinkRenderer, NavigationPanelItem, } from './models/navigation-item';
13
14
  export type { NavigationMenuGroup, NavigationMenuOption, } from './models/navigation-menu';
14
15
  export type { NavigationPanelColors, NavigationPanelLabels, NavigationPanelLogo, NavigationPanelProps, NavigationPanelStyles, NavigationPanelTypography, } from './models/navigation-panel-props';
16
+ export type { NavigationSidebarColors, NavigationSidebarLabels, NavigationSidebarLogo, NavigationSidebarProps, NavigationSidebarStyles, NavigationSidebarTypography, } from './models/navigation-sidebar-props';
15
17
  export type { NavigationSheetColors, NavigationSheetLabels, NavigationSheetProps, NavigationSheetStyles, NavigationSheetTypography, } from './models/navigation-sheet-props';
16
18
  export type { SheetNavigation, SheetPage } from './models/sheet-navigation';
17
19
  export type { UserMenuColors, UserMenuLabels, UserMenuProps, UserMenuStyles, UserMenuTypography, } from './models/user-menu-props';
@@ -23,5 +25,7 @@ export type { NavigationMenuPageProps } from './components/NavigationSheet/Navig
23
25
  export type { OptionListPageProps } from './components/NavigationSheet/OptionListPage';
24
26
  export type { ProfilePageProps } from './components/NavigationSheet/ProfilePage';
25
27
  export type { SheetRowProps } from './components/NavigationSheet/SheetRow';
28
+ export { NavigationSidebarVariant } from './types/navigation-sidebar-variant';
29
+ export { UserMenuTriggerVariant } from './types/user-menu-trigger-variant';
26
30
  export { NAVIGATION_PANEL_CLASS } from './constants/public-class-names';
27
31
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC5E,YAAY,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,YAAY,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;AACnG,YAAY,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC/F,YAAY,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACvF,YAAY,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,YAAY,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC5E,YAAY,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,YAAY,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;AACnG,YAAY,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC/F,YAAY,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACvF,YAAY,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,YAAY,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC"}
package/index.js CHANGED
@@ -1,98 +1,101 @@
1
1
  import { buildCssVars as e, mergeClasses as t } from "@epam/ai-dial-chat-shared";
2
- import { Avatar as n, BASE_ICON_SIZE as r, Button as i, DIAL_ICON_SIZE as a, DIAL_KIT_ICON_STROKE as o, Dropdown as s, DropdownItemType as c, EllipsisTooltip as l, IconButton as u, MenuItem as d, MenuItemMark as f } from "@epam/ai-dial-ui-kit";
3
- import { Fragment as p, createContext as m, memo as h, useCallback as g, useContext as _, useEffect as v, useId as y, useMemo as b, useState as x } from "react";
4
- import { Fragment as S, jsx as C, jsxs as w } from "react/jsx-runtime";
5
- import { IconCheck as T, IconChevronRight as E, IconLogout as D, IconSettings as O, IconUser as k } from "@tabler/icons-react";
6
- import { BottomSheetShell as A } from "@epam/ai-dial-conversation-input";
2
+ import { Avatar as n, BASE_ICON_SIZE as r, Button as i, DIAL_ICON_SIZE as a, DIAL_KIT_ICON_STROKE as o, Dropdown as s, DropdownItemType as c, ElementSize as l, EllipsisTooltip as u, GhostIconButton as d, IconButton as f, MenuItem as p, MenuItemMark as m, Tooltip as h } from "@epam/ai-dial-ui-kit";
3
+ import { Fragment as g, createContext as _, memo as v, useCallback as y, useContext as b, useEffect as x, useId as S, useMemo as C, useRef as w, useState as ee } from "react";
4
+ import { Fragment as T, jsx as E, jsxs as D } from "react/jsx-runtime";
5
+ import { IconCheck as O, IconChevronDown as k, IconChevronRight as A, IconChevronUp as te, IconLayoutSidebar as j, IconLogout as M, IconSettings as N, IconUser as P, IconX as F } from "@tabler/icons-react";
6
+ import { BottomSheetShell as I } from "@epam/ai-dial-conversation-input";
7
7
  //#region src/constants/public-class-names.ts
8
- var j = {
8
+ var L = {
9
9
  rail: "dial-navigation-panel-rail",
10
- item: "dial-navigation-panel-item"
11
- }, M = {
10
+ item: "dial-navigation-panel-item",
11
+ sidebar: "dial-navigation-panel-sidebar",
12
+ sidebarItem: "dial-navigation-panel-sidebar-item",
13
+ sidebarFooter: "dial-navigation-panel-sidebar-footer"
14
+ }, R = {
12
15
  rail: "_rail_1hxk4_1",
13
16
  item: "_item_1hxk4_6",
14
17
  itemActive: "_itemActive_1hxk4_33",
15
18
  itemFilled: "_itemFilled_1hxk4_38",
16
19
  itemFilledOutline: "_itemFilledOutline_1hxk4_79"
17
- }, N = (e, t) => /* @__PURE__ */ C("a", {
20
+ }, z = (e, t) => /* @__PURE__ */ E("a", {
18
21
  href: e.href,
19
22
  className: "contents",
20
23
  children: t
21
- }), P = h(({ items: n, labels: r, logo: i, footer: s, renderLink: c = N, styles: l }) => {
22
- let { colors: d, typography: f, className: m, cssVars: h } = l ?? {}, g = y().replace(/[^\w-]/g, ""), _ = `np-hover-gradient-${g}`, v = `np-active-gradient-${g}`, x = b(() => e({
23
- "--np-bg": d?.background,
24
- "--np-item-text": d?.itemText,
25
- "--np-item-active-text": d?.itemActiveText,
26
- "--np-item-selected-bg": d?.itemSelectedBackground,
27
- "--np-item-hover-bg": d?.itemHoverBackground,
28
- "--np-item-hover-icon": d?.itemHoverIcon ?? `url(#${_})`,
29
- "--np-item-active-icon": d?.itemActiveIcon ?? `url(#${v})`,
30
- "--np-item-active-bg": d?.itemActiveBackground,
31
- "--np-font-family": f?.fontFamily
24
+ }), B = v(({ items: n, labels: r, logo: i, footer: s, renderLink: c = z, styles: l }) => {
25
+ let { colors: u, typography: d, className: p, cssVars: m } = l ?? {}, h = S().replace(/[^\w-]/g, ""), _ = `np-hover-gradient-${h}`, v = `np-active-gradient-${h}`, y = C(() => e({
26
+ "--np-bg": u?.background,
27
+ "--np-item-text": u?.itemText,
28
+ "--np-item-active-text": u?.itemActiveText,
29
+ "--np-item-selected-bg": u?.itemSelectedBackground,
30
+ "--np-item-hover-bg": u?.itemHoverBackground,
31
+ "--np-item-hover-icon": u?.itemHoverIcon ?? `url(#${_})`,
32
+ "--np-item-active-icon": u?.itemActiveIcon ?? `url(#${v})`,
33
+ "--np-item-active-bg": u?.itemActiveBackground,
34
+ "--np-font-family": d?.fontFamily
32
35
  }), [
33
- d,
34
- f?.fontFamily,
36
+ u,
37
+ d?.fontFamily,
35
38
  _,
36
39
  v
37
40
  ]);
38
- return /* @__PURE__ */ w("nav", {
41
+ return /* @__PURE__ */ D("nav", {
39
42
  "aria-label": r.ariaLabel,
40
43
  style: {
41
- ...h,
42
- ...x
44
+ ...m,
45
+ ...y
43
46
  },
44
- className: t(M.rail, "relative z-10 flex h-full w-[60px] flex-col justify-between shadow-sm", f?.fontClassName, m, j.rail),
47
+ className: t(R.rail, "relative z-10 flex h-full w-[60px] flex-col justify-between shadow-sm", d?.fontClassName, p, L.rail),
45
48
  children: [
46
- /* @__PURE__ */ C("svg", {
49
+ /* @__PURE__ */ E("svg", {
47
50
  "aria-hidden": !0,
48
51
  className: "absolute size-0",
49
52
  focusable: "false",
50
- children: /* @__PURE__ */ w("defs", { children: [/* @__PURE__ */ w("linearGradient", {
53
+ children: /* @__PURE__ */ D("defs", { children: [/* @__PURE__ */ D("linearGradient", {
51
54
  id: _,
52
55
  gradientUnits: "userSpaceOnUse",
53
56
  x1: "30.2",
54
57
  y1: "-2.5",
55
58
  x2: "-4.6",
56
59
  y2: "25.2",
57
- children: [/* @__PURE__ */ C("stop", {
60
+ children: [/* @__PURE__ */ E("stop", {
58
61
  offset: "0",
59
62
  stopColor: "#1d4ed8"
60
- }), /* @__PURE__ */ C("stop", {
63
+ }), /* @__PURE__ */ E("stop", {
61
64
  offset: "1",
62
65
  stopColor: "#885df2"
63
66
  })]
64
- }), /* @__PURE__ */ w("linearGradient", {
67
+ }), /* @__PURE__ */ D("linearGradient", {
65
68
  id: v,
66
69
  gradientUnits: "userSpaceOnUse",
67
70
  x1: "31.3",
68
71
  y1: "-1.7",
69
72
  x2: "0.2",
70
73
  y2: "20.4",
71
- children: [/* @__PURE__ */ C("stop", {
74
+ children: [/* @__PURE__ */ E("stop", {
72
75
  offset: "0",
73
76
  stopColor: "#1d4ed8"
74
- }), /* @__PURE__ */ C("stop", {
77
+ }), /* @__PURE__ */ E("stop", {
75
78
  offset: "1",
76
79
  stopColor: "#885df2"
77
80
  })]
78
81
  })] })
79
82
  }),
80
- /* @__PURE__ */ w("div", {
83
+ /* @__PURE__ */ D("div", {
81
84
  className: "flex flex-col items-center",
82
- children: [i && /* @__PURE__ */ C("a", {
85
+ children: [i && /* @__PURE__ */ E("a", {
83
86
  href: i.href ?? "/",
84
87
  "aria-label": i.ariaLabel,
85
88
  className: "flex h-16 w-full shrink-0 items-center justify-center",
86
- children: /* @__PURE__ */ C("span", {
89
+ children: /* @__PURE__ */ E("span", {
87
90
  style: { backgroundImage: `url("${i.iconUrl}")` },
88
91
  className: "h-6 w-6 bg-contain bg-center bg-no-repeat"
89
92
  })
90
- }), /* @__PURE__ */ C("div", {
93
+ }), /* @__PURE__ */ E("div", {
91
94
  className: "flex flex-col items-center gap-2 p-2",
92
95
  children: n.map((e) => {
93
96
  let n = !!e.isActive && !!e.activeIcon;
94
- return /* @__PURE__ */ C(p, { children: c(e, /* @__PURE__ */ C(u, {
95
- icon: /* @__PURE__ */ C(n && e.activeIcon || e.icon, {
97
+ return /* @__PURE__ */ E(g, { children: c(e, /* @__PURE__ */ E(f, {
98
+ icon: /* @__PURE__ */ E(n && e.activeIcon || e.icon, {
96
99
  size: a.LG,
97
100
  stroke: o
98
101
  }),
@@ -100,7 +103,7 @@ var j = {
100
103
  "aria-current": e.isActive ? "page" : void 0,
101
104
  tooltipProps: { tooltip: e.label },
102
105
  tabIndex: -1,
103
- className: t(M.item, "rounded-xl", e.isActive && M.itemActive, n && M.itemFilled, e.isActive && !n && M.itemFilledOutline, j.item)
106
+ className: t(R.item, "rounded-xl", e.isActive && R.itemActive, n && R.itemFilled, e.isActive && !n && R.itemFilledOutline, L.item)
104
107
  })) }, e.id);
105
108
  })
106
109
  })]
@@ -108,52 +111,218 @@ var j = {
108
111
  s
109
112
  ]
110
113
  });
111
- }), F = { avatar: "_avatar_4hc9t_4" }, I = h(({ shortName: e, className: r, textClassName: i = "dial-tiny-text" }) => /* @__PURE__ */ C(n, {
114
+ }), V = /* @__PURE__ */ function(e) {
115
+ return e.Sidebar = "sidebar", e.Drawer = "drawer", e;
116
+ }({}), H = {
117
+ stopStart: "_stopStart_8i550_1",
118
+ stopEnd: "_stopEnd_8i550_5"
119
+ }, ne = ({ activeGradientId: e }) => /* @__PURE__ */ E("svg", {
120
+ "aria-hidden": !0,
121
+ className: "absolute size-0",
122
+ focusable: "false",
123
+ children: /* @__PURE__ */ E("defs", { children: /* @__PURE__ */ D("linearGradient", {
124
+ id: e,
125
+ gradientUnits: "userSpaceOnUse",
126
+ x1: "31.3",
127
+ y1: "-1.7",
128
+ x2: "0.2",
129
+ y2: "20.4",
130
+ children: [/* @__PURE__ */ E("stop", {
131
+ offset: "0",
132
+ className: H.stopStart
133
+ }), /* @__PURE__ */ E("stop", {
134
+ offset: "1",
135
+ className: H.stopEnd
136
+ })]
137
+ }) })
138
+ }), U = {
139
+ sidebar: "_sidebar_1w4pz_1",
140
+ sidebarColumn: "_sidebarColumn_1w4pz_7",
141
+ item: "_item_1w4pz_16",
142
+ itemActive: "_itemActive_1w4pz_21",
143
+ itemFilled: "_itemFilled_1w4pz_38",
144
+ itemFilledOutline: "_itemFilledOutline_1w4pz_45",
145
+ itemIcon: "_itemIcon_1w4pz_49",
146
+ footer: "_footer_1w4pz_55"
147
+ }, re = (e, t, n) => /* @__PURE__ */ E("a", {
148
+ href: e.href,
149
+ ...n,
150
+ children: t
151
+ }), ie = (e, t) => e ? "w-[320px] max-w-full" : t ? "w-[72px]" : "w-[336px]", ae = (e, n) => e ? t("fixed inset-y-0 start-0 z-50 flex flex-col overflow-hidden shadow-sm outline-none", "transition-[transform,visibility] duration-200 ease-in-out motion-reduce:transition-none", n ? "visible translate-x-0" : "invisible ltr:-translate-x-full rtl:translate-x-full") : t(U.sidebarColumn, "relative z-10 flex h-full shrink-0 flex-col overflow-hidden shadow-sm"), W = v(({ items: n, labels: r, variant: i = V.Sidebar, isCollapsed: s = !1, onToggleCollapse: c, isOpen: u = !1, onClose: f, id: p, logo: m, renderLink: _ = re, children: v, userMenu: y, footerActions: b, styles: ee }) => {
152
+ let { colors: O, typography: k, className: A, cssVars: te } = ee ?? {}, M = k?.fontClassName ?? "dial-small-text", N = i === V.Drawer, P = !N && s, I = S(), R = p ?? I, z = `np-sidebar-gradient-${I.replace(/[^\w-]/g, "")}`, B = w(null), H = w(null), W = w(u);
153
+ x(() => {
154
+ let e = W.current;
155
+ W.current = u, N && (u && !e ? (H.current = document.activeElement instanceof HTMLElement ? document.activeElement : null, B.current?.focus()) : !u && e && (H.current?.focus(), H.current = null));
156
+ }, [N, u]);
157
+ let G = (e) => {
158
+ e.currentTarget.contains(e.target) && e.key === "Escape" && f?.();
159
+ }, K = C(() => e({
160
+ "--np-sidebar-bg": O?.background,
161
+ "--np-sidebar-item-text": O?.itemText,
162
+ "--np-sidebar-item-hover-bg": O?.itemHoverBackground,
163
+ "--np-sidebar-item-selected-bg": O?.itemSelectedBackground,
164
+ "--np-sidebar-focus-outline": O?.focusOutline,
165
+ "--np-sidebar-gradient-start": O?.itemActiveGradientStart,
166
+ "--np-sidebar-gradient-end": O?.itemActiveGradientEnd,
167
+ "--np-sidebar-item-active-icon": O?.itemActiveIcon ?? `url(#${z})`,
168
+ "--np-sidebar-font-family": k?.fontFamily
169
+ }), [
170
+ O,
171
+ k?.fontFamily,
172
+ z
173
+ ]), q = P ? r.expand ?? "Expand sidebar" : r.collapse ?? "Collapse sidebar", J = r.toggle ?? "Sidebar", Y = r.close ?? "Close", oe = (e, n) => /* @__PURE__ */ E("span", {
174
+ style: { backgroundImage: `url("${e}")` },
175
+ className: t("bg-contain bg-center bg-no-repeat", n)
176
+ }), se = () => /* @__PURE__ */ E(d, {
177
+ icon: /* @__PURE__ */ D("span", {
178
+ className: "relative block size-6 shrink-0",
179
+ children: [P && m && oe(m.iconUrl, "absolute inset-0 transition-opacity group-focus-visible/toggle:opacity-0 group-hover/toggle:opacity-0"), /* @__PURE__ */ E(j, {
180
+ size: a.LG,
181
+ stroke: o,
182
+ className: t("absolute inset-0 rtl:scale-x-[-1]", P && m && "opacity-0 group-hover/toggle:opacity-100 group-focus-visible/toggle:opacity-100"),
183
+ "aria-hidden": !0
184
+ })]
185
+ }),
186
+ size: l.Large,
187
+ "aria-label": J,
188
+ "aria-expanded": !P,
189
+ "aria-controls": R,
190
+ tooltipProps: { tooltip: q },
191
+ onClick: c,
192
+ className: "group/toggle size-10! min-h-0! min-w-0! shrink-0 rounded-full! p-2!"
193
+ }), ce = () => /* @__PURE__ */ E(d, {
194
+ icon: /* @__PURE__ */ E(F, {
195
+ size: a.LG,
196
+ stroke: o,
197
+ "aria-hidden": !0
198
+ }),
199
+ size: l.Large,
200
+ "aria-label": Y,
201
+ tooltipProps: { tooltip: Y },
202
+ onClick: f,
203
+ className: "size-10! min-h-0! min-w-0! shrink-0 rounded-full! p-2!"
204
+ }), X = () => m && /* @__PURE__ */ E("a", {
205
+ href: m.href ?? "/",
206
+ "aria-label": m.ariaLabel,
207
+ className: t("flex h-10 items-center", !N && "ps-2"),
208
+ children: oe(P ? m.iconUrl : m.logoUrl ?? m.iconUrl, P ? "size-6" : "h-6 min-w-[116px]")
209
+ }), Z = () => /* @__PURE__ */ D("div", {
210
+ className: "flex shrink-0 items-center justify-between ps-4 pe-2 pt-3 pb-2",
211
+ children: [X(), f && ce()]
212
+ }), Q = () => /* @__PURE__ */ D(T, { children: [!(P && c) && X(), c && se()] }), $ = (e) => {
213
+ let n = !!e.isActive && !!e.activeIcon, r = n && e.activeIcon || e.icon, i = _(e, /* @__PURE__ */ D(T, { children: [/* @__PURE__ */ E("span", {
214
+ className: t("flex size-6 shrink-0 items-center justify-center", U.itemIcon),
215
+ children: /* @__PURE__ */ E(r, {
216
+ size: a.LG,
217
+ stroke: o
218
+ })
219
+ }), /* @__PURE__ */ E("span", {
220
+ className: P ? "sr-only" : M,
221
+ children: e.label
222
+ })] }), {
223
+ className: t("flex items-center rounded-full p-2 no-underline", P ? "size-10 justify-center" : "h-10 w-full gap-2", U.item, e.isActive && U.itemActive, n && U.itemFilled, e.isActive && !n && U.itemFilledOutline, L.sidebarItem),
224
+ "aria-current": e.isActive ? "page" : void 0
225
+ });
226
+ return /* @__PURE__ */ E("li", { children: P ? /* @__PURE__ */ E(h, {
227
+ tooltip: e.label,
228
+ asChild: !0,
229
+ children: i
230
+ }) : i }, e.id);
231
+ }, le = P ? /* @__PURE__ */ D(g, { children: [b, y] }) : /* @__PURE__ */ D(g, { children: [y, b] });
232
+ return /* @__PURE__ */ D("nav", {
233
+ ref: B,
234
+ id: R,
235
+ "aria-label": r.ariaLabel,
236
+ tabIndex: N ? -1 : void 0,
237
+ inert: N && !u,
238
+ onKeyDown: N ? G : void 0,
239
+ style: {
240
+ ...te,
241
+ ...K
242
+ },
243
+ className: t(U.sidebar, ae(N, u), ie(N, P), A, L.sidebar),
244
+ children: [
245
+ !O?.itemActiveIcon && /* @__PURE__ */ E(ne, { activeGradientId: z }),
246
+ N ? /* @__PURE__ */ D("div", {
247
+ className: "flex shrink-0 flex-col",
248
+ children: [Z(), /* @__PURE__ */ E("ul", {
249
+ className: "m-0 flex list-none flex-col gap-1 p-2",
250
+ children: n.map($)
251
+ })]
252
+ }) : /* @__PURE__ */ D("div", {
253
+ className: "flex shrink-0 flex-col gap-4 p-4",
254
+ children: [/* @__PURE__ */ E("div", {
255
+ className: "flex h-10 items-center justify-between",
256
+ children: Q()
257
+ }), /* @__PURE__ */ E("ul", {
258
+ className: "m-0 flex list-none flex-col gap-1 p-0",
259
+ children: n.map($)
260
+ })]
261
+ }),
262
+ /* @__PURE__ */ E("div", {
263
+ inert: P,
264
+ className: t("min-h-0 flex-1 overflow-hidden", P && "invisible"),
265
+ children: /* @__PURE__ */ E("div", {
266
+ className: t("flex h-full flex-col", N ? "w-full" : "w-[336px]"),
267
+ children: v
268
+ })
269
+ }),
270
+ /* @__PURE__ */ E("div", {
271
+ className: t("flex shrink-0 px-4 py-3 shadow-lg", U.footer, P ? "flex-col items-start gap-2" : "items-center justify-between", L.sidebarFooter),
272
+ children: le
273
+ })
274
+ ]
275
+ });
276
+ }), G = /* @__PURE__ */ function(e) {
277
+ return e.Avatar = "avatar", e.Profile = "profile", e.Compact = "compact", e;
278
+ }({}), K = { avatar: "_avatar_4hc9t_4" }, q = v(({ shortName: e, className: r, textClassName: i = "dial-tiny-text" }) => /* @__PURE__ */ E(n, {
112
279
  name: e ?? "",
113
280
  initials: e ?? "",
114
281
  size: 28,
115
282
  textClassName: i,
116
- className: t(F.avatar, r)
117
- })), L = h(({ profile: e, alt: t }) => {
118
- let r = e.isFallbackShown || !e.imageUrl;
119
- return /* @__PURE__ */ C(n, {
283
+ className: t(K.avatar, r)
284
+ })), J = v(({ profile: e, alt: t, size: r = 28 }) => {
285
+ let i = e.isFallbackShown || !e.imageUrl;
286
+ return /* @__PURE__ */ E(n, {
120
287
  name: e.displayName,
121
288
  initials: e.shortName ?? "",
122
- src: r ? void 0 : e.imageUrl,
123
- alt: r ? "" : t,
124
- size: 28,
289
+ src: i ? void 0 : e.imageUrl,
290
+ alt: i ? "" : t,
291
+ size: r,
125
292
  textClassName: "dial-tiny-text",
126
- className: F.avatar,
293
+ className: K.avatar,
127
294
  onImageError: e.onImageError
128
295
  });
129
- }), R = {
130
- wrapper: "_wrapper_17aqp_1",
131
- trigger: "_trigger_17aqp_5",
132
- identityText: "_identityText_17aqp_18",
133
- menuLabel: "_menuLabel_17aqp_22"
134
- }, z = h(({ profile: n, labels: r, groups: u, onLogout: d, onSettings: p, isTooltipHidden: m, styles: h }) => {
135
- let { colors: g, typography: _, className: v, cssVars: y } = h ?? {}, x = _?.fontClassName ?? "dial-small-text", S = b(() => e({
136
- "--np-avatar-bg": g?.avatarBackground,
137
- "--np-avatar-text": g?.avatarText,
138
- "--np-menu-text": g?.text,
139
- "--np-trigger-hover-bg": g?.triggerHoverBackground,
140
- "--np-font-family": _?.fontFamily
141
- }), [g, _?.fontFamily]), T = b(() => t(R.menuLabel, x), [x]), E = b(() => {
142
- let e = (u ?? []).filter(({ options: e }) => e.length > 0).map(({ id: e, label: t, icon: n, options: r }) => ({
296
+ }), Y = {
297
+ wrapper: "_wrapper_11e9t_1",
298
+ trigger: "_trigger_11e9t_5",
299
+ triggerOpen: "_triggerOpen_11e9t_18",
300
+ identityText: "_identityText_11e9t_22",
301
+ menuLabel: "_menuLabel_11e9t_26"
302
+ }, oe = v(({ profile: n, labels: r, groups: l, onLogout: d, onSettings: f, triggerVariant: p = G.Avatar, isTooltipHidden: h, styles: g }) => {
303
+ let { colors: _, typography: v, className: y, cssVars: b } = g ?? {}, [x, S] = ee(!1), w = p === G.Profile, O = p === G.Compact, A = w || O, j = v?.fontClassName ?? "dial-small-text", P = C(() => e({
304
+ "--np-avatar-bg": _?.avatarBackground,
305
+ "--np-avatar-text": _?.avatarText,
306
+ "--np-menu-text": _?.text,
307
+ "--np-trigger-hover-bg": _?.triggerHoverBackground,
308
+ "--np-trigger-open-bg": _?.triggerOpenBackground,
309
+ "--np-font-family": v?.fontFamily
310
+ }), [_, v?.fontFamily]), F = C(() => t(Y.menuLabel, j), [j]), I = C(() => {
311
+ let e = (l ?? []).filter(({ options: e }) => e.length > 0).map(({ id: e, label: t, icon: n, options: r }) => ({
143
312
  key: e,
144
- label: /* @__PURE__ */ C("span", {
145
- className: T,
313
+ label: /* @__PURE__ */ E("span", {
314
+ className: F,
146
315
  children: t
147
316
  }),
148
317
  icon: n,
149
318
  children: r.map((e) => ({
150
319
  key: e.id,
151
- label: /* @__PURE__ */ C("span", {
152
- className: T,
320
+ label: /* @__PURE__ */ E("span", {
321
+ className: F,
153
322
  children: e.label
154
323
  }),
155
324
  icon: e.icon,
156
- mark: f.Check,
325
+ mark: m.Check,
157
326
  checked: e.isActive,
158
327
  onClick: e.onSelect
159
328
  }))
@@ -162,11 +331,11 @@ var j = {
162
331
  {
163
332
  key: "identity",
164
333
  type: c.PlainText,
165
- label: /* @__PURE__ */ w("div", {
334
+ label: /* @__PURE__ */ D("div", {
166
335
  className: "flex h-[40px] min-w-0 items-center gap-3",
167
- children: [/* @__PURE__ */ C(I, { shortName: n.shortName }), /* @__PURE__ */ C(l, {
336
+ children: [/* @__PURE__ */ E(q, { shortName: n.shortName }), /* @__PURE__ */ E(u, {
168
337
  text: n.displayName,
169
- className: t(R.identityText, x, "min-w-0 flex-1 truncate")
338
+ className: t(Y.identityText, j, "min-w-0 flex-1 truncate")
170
339
  })]
171
340
  })
172
341
  },
@@ -175,26 +344,26 @@ var j = {
175
344
  key: "divider-1",
176
345
  type: c.Divider
177
346
  },
178
- ...p ? [{
347
+ ...f ? [{
179
348
  key: "settings",
180
- label: /* @__PURE__ */ C("span", {
181
- className: T,
349
+ label: /* @__PURE__ */ E("span", {
350
+ className: F,
182
351
  children: r.settings
183
352
  }),
184
- icon: /* @__PURE__ */ C(O, {
353
+ icon: /* @__PURE__ */ E(N, {
185
354
  size: a.SM,
186
355
  "aria-hidden": !0,
187
356
  stroke: o
188
357
  }),
189
- onClick: p
358
+ onClick: f
190
359
  }] : [],
191
360
  {
192
361
  key: "logout",
193
- label: /* @__PURE__ */ C("span", {
194
- className: T,
362
+ label: /* @__PURE__ */ E("span", {
363
+ className: F,
195
364
  children: r.logOut
196
365
  }),
197
- icon: /* @__PURE__ */ C(D, {
366
+ icon: /* @__PURE__ */ E(M, {
198
367
  size: a.SM,
199
368
  "aria-hidden": !0,
200
369
  stroke: o
@@ -203,52 +372,82 @@ var j = {
203
372
  }
204
373
  ];
205
374
  }, [
206
- u,
207
- x,
208
- T,
375
+ l,
376
+ j,
377
+ F,
209
378
  r.logOut,
210
379
  r.settings,
211
380
  d,
212
- p,
381
+ f,
213
382
  n.displayName,
214
383
  n.shortName
215
- ]);
216
- return /* @__PURE__ */ C("div", {
384
+ ]), L = () => {
385
+ if (!w) return /* @__PURE__ */ E(i, {
386
+ "aria-label": r.trigger,
387
+ tooltipProps: {
388
+ tooltip: n.email,
389
+ hideTooltip: h
390
+ },
391
+ iconBefore: /* @__PURE__ */ E(J, {
392
+ profile: n,
393
+ alt: r.avatarAlt,
394
+ size: O ? 24 : void 0
395
+ }),
396
+ className: t(O ? "!size-10 !min-h-0 !min-w-0 gap-0 !rounded-full !border-0 !p-2" : "size-[44px] gap-0 !rounded-full p-0", Y.trigger, O && x && Y.triggerOpen)
397
+ });
398
+ let e = x ? te : k;
399
+ return /* @__PURE__ */ E(i, {
400
+ tooltipProps: {
401
+ tooltip: n.email,
402
+ hideTooltip: h
403
+ },
404
+ iconBefore: /* @__PURE__ */ E(J, {
405
+ profile: n,
406
+ alt: "",
407
+ size: 24
408
+ }),
409
+ label: /* @__PURE__ */ D(T, { children: [/* @__PURE__ */ E(u, {
410
+ text: n.displayName,
411
+ className: t(Y.identityText, j, "min-w-0 truncate")
412
+ }), /* @__PURE__ */ E("span", {
413
+ className: "sr-only",
414
+ children: r.trigger
415
+ })] }),
416
+ iconAfter: /* @__PURE__ */ E(e, {
417
+ size: a.SM,
418
+ stroke: o,
419
+ "aria-hidden": !0
420
+ }),
421
+ textClassName: "min-w-0",
422
+ className: t("!h-10 !min-h-0 max-w-full !min-w-0 gap-2 !rounded-full !border-0 !p-2", Y.trigger, x && Y.triggerOpen)
423
+ });
424
+ };
425
+ return /* @__PURE__ */ E("div", {
217
426
  style: {
218
- ...y,
219
- ...S
427
+ ...b,
428
+ ...P
220
429
  },
221
- className: t(R.wrapper, "flex size-[60px] items-center justify-center", v),
222
- children: /* @__PURE__ */ C(s, {
223
- placement: "top-end",
430
+ className: t(Y.wrapper, A ? "flex min-w-0 items-center" : "flex size-[60px] items-center justify-center", y),
431
+ children: /* @__PURE__ */ E(s, {
432
+ placement: A ? "top-start" : "top-end",
224
433
  matchReferenceWidth: !1,
225
- items: E,
226
- children: /* @__PURE__ */ C(i, {
227
- "aria-label": r.trigger,
228
- tooltipProps: {
229
- tooltip: n.email,
230
- hideTooltip: m
231
- },
232
- iconBefore: /* @__PURE__ */ C(L, {
233
- profile: n,
234
- alt: r.avatarAlt
235
- }),
236
- className: t("size-[44px] gap-0 !rounded-full p-0", R.trigger)
237
- })
434
+ items: I,
435
+ onOpenChange: S,
436
+ children: L()
238
437
  })
239
438
  });
240
- }), B = m(void 0), V = h(({ isOpen: e, onClose: t, children: n, title: r, closeLabel: i, backLabel: a, className: o, style: s }) => {
241
- let [c, l] = x([]);
242
- v(() => {
439
+ }), se = _(void 0), ce = v(({ isOpen: e, onClose: t, children: n, title: r, closeLabel: i, backLabel: a, className: o, style: s }) => {
440
+ let [c, l] = ee([]);
441
+ x(() => {
243
442
  e || l([]);
244
443
  }, [e]);
245
- let u = g((e) => {
444
+ let u = y((e) => {
246
445
  l((t) => [...t, e]);
247
- }, []), d = g(() => {
446
+ }, []), d = y(() => {
248
447
  l((e) => e.slice(0, -1));
249
- }, []), f = g(() => {
448
+ }, []), f = y(() => {
250
449
  l([]), t();
251
- }, [t]), p = b(() => ({
450
+ }, [t]), p = C(() => ({
252
451
  push: u,
253
452
  pop: d,
254
453
  close: f
@@ -257,9 +456,9 @@ var j = {
257
456
  d,
258
457
  f
259
458
  ]), m = c[c.length - 1];
260
- return /* @__PURE__ */ C(B.Provider, {
459
+ return /* @__PURE__ */ E(se.Provider, {
261
460
  value: p,
262
- children: /* @__PURE__ */ C(A, {
461
+ children: /* @__PURE__ */ E(I, {
263
462
  isOpen: e,
264
463
  onClose: f,
265
464
  title: m?.title ?? r,
@@ -271,11 +470,11 @@ var j = {
271
470
  children: m ? m.content : n
272
471
  })
273
472
  });
274
- }), H = () => {
275
- let e = _(B);
473
+ }), X = () => {
474
+ let e = b(se);
276
475
  if (!e) throw Error("useSheetNavigation must be used within a NavigableBottomSheet");
277
476
  return e;
278
- }, U = {
477
+ }, Z = {
279
478
  sheet: "_sheet_1k0ml_1",
280
479
  row: "_row_1k0ml_12",
281
480
  rowActive: "_rowActive_1k0ml_24",
@@ -283,79 +482,79 @@ var j = {
283
482
  divider: "_divider_1k0ml_46",
284
483
  mutedText: "_mutedText_1k0ml_50",
285
484
  activeIcon: "_activeIcon_1k0ml_54"
286
- }, W = h(({ label: e, onClick: n, icon: r, trailing: i, isCurrent: a = !1, isHighlighted: o = !1, textClassName: s = "dial-small-text" }) => /* @__PURE__ */ C("li", { children: /* @__PURE__ */ C(d, {
485
+ }, Q = v(({ label: e, onClick: n, icon: r, trailing: i, isCurrent: a = !1, isHighlighted: o = !1, textClassName: s = "dial-small-text" }) => /* @__PURE__ */ E("li", { children: /* @__PURE__ */ E(p, {
287
486
  label: e,
288
487
  labelClassName: s,
289
- icon: r && /* @__PURE__ */ C("span", {
290
- className: U.rowIcon,
488
+ icon: r && /* @__PURE__ */ E("span", {
489
+ className: Z.rowIcon,
291
490
  children: r
292
491
  }),
293
492
  trailing: i,
294
- mark: f.Highlight,
493
+ mark: m.Highlight,
295
494
  selected: o,
296
495
  "aria-current": a ? "true" : void 0,
297
- className: t("h-auto gap-3 rounded-none px-4 py-[10px]", U.row, o && U.rowActive),
496
+ className: t("h-auto gap-3 rounded-none px-4 py-[10px]", Z.row, o && Z.rowActive),
298
497
  onClick: n
299
- }) })), G = h(({ options: e, textClassName: t }) => {
300
- let { pop: n } = H();
301
- return /* @__PURE__ */ C("ul", {
498
+ }) })), $ = v(({ options: e, textClassName: t }) => {
499
+ let { pop: n } = X();
500
+ return /* @__PURE__ */ E("ul", {
302
501
  className: "flex flex-col pb-4",
303
- children: e.map((e) => /* @__PURE__ */ C(W, {
502
+ children: e.map((e) => /* @__PURE__ */ E(Q, {
304
503
  label: e.label,
305
504
  icon: e.icon,
306
505
  textClassName: t,
307
506
  isCurrent: e.isActive,
308
- trailing: e.isActive ? /* @__PURE__ */ C(T, {
507
+ trailing: e.isActive ? /* @__PURE__ */ E(O, {
309
508
  size: a.SM,
310
509
  stroke: o,
311
510
  "aria-hidden": !0,
312
- className: U.activeIcon
511
+ className: Z.activeIcon
313
512
  }) : void 0,
314
513
  onClick: () => {
315
514
  e.onSelect(), n();
316
515
  }
317
516
  }, e.id))
318
517
  });
319
- }), K = h(({ profile: e, logOutLabel: n, onLogout: i, settingsLabel: a, onSettings: s, groups: c, textClassName: u = "dial-small-text" }) => {
320
- let { push: d, close: f } = H(), p = (c ?? []).filter(({ options: e }) => e.length > 0);
321
- return /* @__PURE__ */ w(S, { children: [
322
- /* @__PURE__ */ w("div", {
518
+ }), le = v(({ profile: e, logOutLabel: n, onLogout: i, settingsLabel: a, onSettings: s, groups: c, textClassName: l = "dial-small-text" }) => {
519
+ let { push: d, close: f } = X(), p = (c ?? []).filter(({ options: e }) => e.length > 0);
520
+ return /* @__PURE__ */ D(T, { children: [
521
+ /* @__PURE__ */ D("div", {
323
522
  className: "flex h-[56px] items-center gap-3 px-4 py-2",
324
- children: [/* @__PURE__ */ C(L, {
523
+ children: [/* @__PURE__ */ E(J, {
325
524
  profile: e,
326
525
  alt: ""
327
- }), /* @__PURE__ */ C(l, {
526
+ }), /* @__PURE__ */ E(u, {
328
527
  text: e.displayName,
329
- className: t(U.mutedText, u, "min-w-0 flex-1 truncate")
528
+ className: t(Z.mutedText, l, "min-w-0 flex-1 truncate")
330
529
  })]
331
530
  }),
332
- p.length > 0 && /* @__PURE__ */ w(S, { children: [/* @__PURE__ */ C("ul", {
531
+ p.length > 0 && /* @__PURE__ */ D(T, { children: [/* @__PURE__ */ E("ul", {
333
532
  className: "flex flex-col",
334
- children: p.map((e) => /* @__PURE__ */ C(W, {
533
+ children: p.map((e) => /* @__PURE__ */ E(Q, {
335
534
  label: e.label,
336
535
  icon: e.icon,
337
- textClassName: u,
338
- trailing: /* @__PURE__ */ C(E, {
536
+ textClassName: l,
537
+ trailing: /* @__PURE__ */ E(A, {
339
538
  size: r,
340
539
  stroke: o,
341
540
  "aria-hidden": !0,
342
- className: t(U.rowIcon, "rtl:scale-x-[-1]")
541
+ className: t(Z.rowIcon, "rtl:scale-x-[-1]")
343
542
  }),
344
543
  onClick: () => d({
345
544
  title: e.label,
346
- content: /* @__PURE__ */ C(G, {
545
+ content: /* @__PURE__ */ E($, {
347
546
  options: e.options,
348
- textClassName: u
547
+ textClassName: l
349
548
  })
350
549
  })
351
550
  }, e.id))
352
- }), /* @__PURE__ */ C("hr", { className: U.divider })] }),
353
- /* @__PURE__ */ w("ul", {
551
+ }), /* @__PURE__ */ E("hr", { className: Z.divider })] }),
552
+ /* @__PURE__ */ D("ul", {
354
553
  className: "flex flex-col pb-4",
355
- children: [s && a && /* @__PURE__ */ C(W, {
554
+ children: [s && a && /* @__PURE__ */ E(Q, {
356
555
  label: a,
357
- textClassName: u,
358
- icon: /* @__PURE__ */ C(O, {
556
+ textClassName: l,
557
+ icon: /* @__PURE__ */ E(N, {
359
558
  size: r,
360
559
  stroke: o,
361
560
  "aria-hidden": !0
@@ -363,10 +562,10 @@ var j = {
363
562
  onClick: () => {
364
563
  f(), s?.();
365
564
  }
366
- }), /* @__PURE__ */ C(W, {
565
+ }), /* @__PURE__ */ E(Q, {
367
566
  label: n,
368
- textClassName: u,
369
- icon: /* @__PURE__ */ C(D, {
567
+ textClassName: l,
568
+ icon: /* @__PURE__ */ E(M, {
370
569
  size: r,
371
570
  stroke: o,
372
571
  "aria-hidden": !0
@@ -377,29 +576,29 @@ var j = {
377
576
  })]
378
577
  })
379
578
  ] });
380
- }), q = h(({ items: e, onSelectItem: t, profileLabel: n, logOutLabel: i, onLogout: a, settingsLabel: s, onSettings: c, profile: l, groups: u, footer: d, textClassName: f }) => {
381
- let { push: p, close: m } = H(), h = (e) => {
579
+ }), ue = v(({ items: e, onSelectItem: t, profileLabel: n, logOutLabel: i, onLogout: a, settingsLabel: s, onSettings: c, profile: l, groups: u, footer: d, textClassName: f }) => {
580
+ let { push: p, close: m } = X(), h = (e) => {
382
581
  m(), t(e);
383
582
  };
384
- return /* @__PURE__ */ w(S, { children: [/* @__PURE__ */ w("ul", {
583
+ return /* @__PURE__ */ D(T, { children: [/* @__PURE__ */ D("ul", {
385
584
  className: "flex flex-col pb-4",
386
585
  children: [e.map((e) => {
387
586
  let t = e.isActive && e.activeIcon || e.icon;
388
- return /* @__PURE__ */ C(W, {
587
+ return /* @__PURE__ */ E(Q, {
389
588
  label: e.label,
390
589
  textClassName: f,
391
590
  isCurrent: e.isActive,
392
591
  isHighlighted: e.isActive,
393
- icon: /* @__PURE__ */ C(t, {
592
+ icon: /* @__PURE__ */ E(t, {
394
593
  size: r,
395
594
  stroke: o
396
595
  }),
397
596
  onClick: () => h(e)
398
597
  }, e.id);
399
- }), l && /* @__PURE__ */ C(W, {
598
+ }), l && /* @__PURE__ */ E(Q, {
400
599
  label: n,
401
600
  textClassName: f,
402
- icon: /* @__PURE__ */ C(k, {
601
+ icon: /* @__PURE__ */ E(P, {
403
602
  size: r,
404
603
  stroke: o,
405
604
  "aria-hidden": !0
@@ -407,7 +606,7 @@ var j = {
407
606
  onClick: () => {
408
607
  l && p({
409
608
  title: n,
410
- content: /* @__PURE__ */ C(K, {
609
+ content: /* @__PURE__ */ E(le, {
411
610
  profile: l,
412
611
  groups: u,
413
612
  logOutLabel: i,
@@ -420,8 +619,8 @@ var j = {
420
619
  }
421
620
  })]
422
621
  }), d] });
423
- }), J = h(({ isOpen: n, onClose: r, items: i, onSelectItem: a, labels: o, profile: s, groups: c, onLogout: l, onSettings: u, footer: d, styles: f }) => {
424
- let { colors: p, typography: m, className: h, cssVars: g } = f ?? {}, _ = b(() => e({
622
+ }), de = v(({ isOpen: n, onClose: r, items: i, onSelectItem: a, labels: o, profile: s, groups: c, onLogout: l, onSettings: u, footer: d, styles: f }) => {
623
+ let { colors: p, typography: m, className: h, cssVars: g } = f ?? {}, _ = C(() => e({
425
624
  "--np-sheet-text": p?.text,
426
625
  "--np-sheet-item-hover": p?.itemHoverBackground,
427
626
  "--np-sheet-item-active": p?.itemActiveBackground,
@@ -435,18 +634,18 @@ var j = {
435
634
  "--np-menu-active-icon": p?.activeIcon,
436
635
  "--np-font-family": m?.fontFamily
437
636
  }), [p, m?.fontFamily]);
438
- return /* @__PURE__ */ C(V, {
637
+ return /* @__PURE__ */ E(ce, {
439
638
  isOpen: n,
440
639
  onClose: r,
441
640
  title: o.title,
442
641
  closeLabel: o.close,
443
642
  backLabel: o.back,
444
- className: t(U.sheet, h),
643
+ className: t(Z.sheet, h),
445
644
  style: {
446
645
  ...g,
447
646
  ..._
448
647
  },
449
- children: /* @__PURE__ */ C(q, {
648
+ children: /* @__PURE__ */ E(ue, {
450
649
  items: i,
451
650
  onSelectItem: a,
452
651
  profileLabel: o.profile,
@@ -462,4 +661,4 @@ var j = {
462
661
  });
463
662
  });
464
663
  //#endregion
465
- export { I as AvatarInitials, j as NAVIGATION_PANEL_CLASS, V as NavigableBottomSheet, q as NavigationMenuPage, P as NavigationPanel, J as NavigationSheet, G as OptionListPage, K as ProfilePage, W as SheetRow, L as UserAvatar, z as UserMenu, H as useSheetNavigation };
664
+ export { q as AvatarInitials, L as NAVIGATION_PANEL_CLASS, ce as NavigableBottomSheet, ue as NavigationMenuPage, B as NavigationPanel, de as NavigationSheet, W as NavigationSidebar, V as NavigationSidebarVariant, $ as OptionListPage, le as ProfilePage, Q as SheetRow, J as UserAvatar, oe as UserMenu, G as UserMenuTriggerVariant, X as useSheetNavigation };
@@ -27,4 +27,18 @@ export interface NavigationPanelItem {
27
27
  * lib never imports a routing library. Defaults to a plain `<a href>`.
28
28
  */
29
29
  export type NavigationLinkRenderer = (item: NavigationPanelItem, children: ReactNode) => ReactNode;
30
+ /** What a host's link element must carry for `NavigationSidebar` to style it and mark the current page. */
31
+ export interface NavigationSidebarLinkProps {
32
+ /** Class names that give the link the sidebar item's box, states and focus ring. */
33
+ className: string;
34
+ /** `'page'` while the item points at the page on screen. */
35
+ 'aria-current'?: 'page';
36
+ }
37
+ /**
38
+ * Renders a `NavigationSidebar` item as the host's link element (e.g. a router
39
+ * `Link`), spreading `linkProps` onto it. The link itself is the item: it
40
+ * holds the icon and the label, so no control is nested inside it. Defaults to
41
+ * a plain `<a href>`.
42
+ */
43
+ export type NavigationSidebarLinkRenderer = (item: NavigationPanelItem, children: ReactNode, linkProps: NavigationSidebarLinkProps) => ReactNode;
30
44
  //# sourceMappingURL=navigation-item.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-item.d.ts","sourceRoot":"","sources":["../../src/models/navigation-item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE3C;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,EAAE,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAExE,6EAA6E;AAC7E,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,EAAE,EAAE,MAAM,CAAC;IACX,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,IAAI,EAAE,kBAAkB,CAAC;IACzB,6MAA6M;IAC7M,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,CACnC,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,SAAS,KAChB,SAAS,CAAC"}
1
+ {"version":3,"file":"navigation-item.d.ts","sourceRoot":"","sources":["../../src/models/navigation-item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE3C;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,EAAE,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAExE,6EAA6E;AAC7E,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,EAAE,EAAE,MAAM,CAAC;IACX,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,IAAI,EAAE,kBAAkB,CAAC;IACzB,6MAA6M;IAC7M,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,CACnC,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,SAAS,KAChB,SAAS,CAAC;AAEf,2GAA2G;AAC3G,MAAM,WAAW,0BAA0B;IACzC,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAC1C,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,0BAA0B,KAClC,SAAS,CAAC"}
@@ -0,0 +1,91 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ import { NavigationSidebarVariant } from '../types/navigation-sidebar-variant';
3
+ import { NavigationSidebarLinkRenderer, NavigationPanelItem } from './navigation-item';
4
+ import { NavigationPanelLogo } from './navigation-panel-props';
5
+ /** Brand mark of `NavigationSidebar`, already resolved by the host; `iconUrl` is the square mark shown while collapsed. */
6
+ export interface NavigationSidebarLogo extends NavigationPanelLogo {
7
+ /** Wide logo shown while expanded and in the drawer. When omitted, `iconUrl` is shown in every state. */
8
+ logoUrl?: string;
9
+ }
10
+ /** Translated labels required by `NavigationSidebar`. */
11
+ export interface NavigationSidebarLabels {
12
+ /** Accessible name for the `<nav>` landmark. */
13
+ ariaLabel: string;
14
+ /** Accessible name of the collapse toggle, the same in both states; `aria-expanded` reports the state. Defaults to `'Sidebar'`. */
15
+ toggle?: string;
16
+ /** Tooltip of the toggle while the sidebar is expanded. Defaults to `'Collapse sidebar'`. */
17
+ collapse?: string;
18
+ /** Tooltip of the toggle while the sidebar is collapsed. Defaults to `'Expand sidebar'`. */
19
+ expand?: string;
20
+ /** Accessible name and tooltip of the drawer's close button. Defaults to `'Close'`. */
21
+ close?: string;
22
+ }
23
+ /** CSS custom-property overrides for `NavigationSidebar`. */
24
+ export interface NavigationSidebarColors {
25
+ /** Sidebar background. Defaults to `--bg-layer-raised`. */
26
+ background?: string;
27
+ /** Text and icon color of an inactive item. Defaults to `--text-primary`. */
28
+ itemText?: string;
29
+ /** Item background on hover and keyboard focus. Defaults to `--bg-control-accent-alpha-hover-subtle`. */
30
+ itemHoverBackground?: string;
31
+ /** Background of the active item. Defaults to `--bg-control-accent-alpha-active-subtle`. */
32
+ itemSelectedBackground?: string;
33
+ /** Icon paint of the active item; replaces the built-in gradient. Defaults to a blue-to-violet gradient. */
34
+ itemActiveIcon?: string;
35
+ /** First color of the built-in active-icon gradient. Defaults to `#1d4ed8`. */
36
+ itemActiveGradientStart?: string;
37
+ /** Last color of the built-in active-icon gradient. Defaults to `#885df2`. */
38
+ itemActiveGradientEnd?: string;
39
+ /** Keyboard focus ring color of an item. Defaults to `--stroke-focus`. */
40
+ focusOutline?: string;
41
+ }
42
+ /** Typography overrides for `NavigationSidebar`. */
43
+ export interface NavigationSidebarTypography {
44
+ /** CSS class applied to item labels. Defaults to `'dial-small-text'`. */
45
+ fontClassName?: string;
46
+ /** `font-family` applied to the sidebar root. */
47
+ fontFamily?: string;
48
+ }
49
+ /** Combined style overrides for `NavigationSidebar`. */
50
+ export interface NavigationSidebarStyles {
51
+ /** Color overrides applied as CSS custom properties. */
52
+ colors?: NavigationSidebarColors;
53
+ /** Typography overrides. */
54
+ typography?: NavigationSidebarTypography;
55
+ /** Extra class name(s) merged onto the `<nav>` element. */
56
+ className?: string;
57
+ /** CSS custom properties applied to the `<nav>` element. */
58
+ cssVars?: CSSProperties;
59
+ }
60
+ /** Props accepted by `NavigationSidebar`. */
61
+ export interface NavigationSidebarProps {
62
+ /** Destinations rendered as rows (expanded and drawer) or icon buttons (collapsed), in display order. */
63
+ items: NavigationPanelItem[];
64
+ /** Translated labels for the landmark and the toggle. */
65
+ labels: NavigationSidebarLabels;
66
+ /** Layout of the sidebar. Defaults to `NavigationSidebarVariant.Sidebar`. */
67
+ variant?: NavigationSidebarVariant;
68
+ /** Whether the sidebar is collapsed to its icon-only width. Ignored by the drawer. Defaults to `false`. */
69
+ isCollapsed?: boolean;
70
+ /** Called when the toggle is activated. When absent no toggle renders. Not used by the drawer. */
71
+ onToggleCollapse?: () => void;
72
+ /** Whether the drawer is shown; while it is not, it is slid out of view, `inert` and `invisible`. Drawer only. Defaults to `false`. */
73
+ isOpen?: boolean;
74
+ /** Called when the drawer's close button is activated or Escape is pressed inside it. When absent the drawer renders no close button. Drawer only. */
75
+ onClose?: () => void;
76
+ /** `id` of the `<nav>`, referenced by an opener's `aria-controls`. Defaults to a generated id. */
77
+ id?: string;
78
+ /** Brand mark; omit to render no logo. */
79
+ logo?: NavigationSidebarLogo;
80
+ /** Renders each item as a host-owned link element, spreading the given link props onto it. Defaults to a plain `<a href>`. */
81
+ renderLink?: NavigationSidebarLinkRenderer;
82
+ /** Content between the items and the footer — typically the conversation list. It stays mounted but inert and hidden while collapsed. */
83
+ children?: ReactNode;
84
+ /** Pinned to the footer's inline start while expanded and below the actions while collapsed — typically `UserMenu`. */
85
+ userMenu?: ReactNode;
86
+ /** Pinned to the footer's inline end while expanded and above the user menu while collapsed. */
87
+ footerActions?: ReactNode;
88
+ /** Style overrides for colors, typography, and class names. */
89
+ styles?: NavigationSidebarStyles;
90
+ }
91
+ //# sourceMappingURL=navigation-sidebar-props.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-sidebar-props.d.ts","sourceRoot":"","sources":["../../src/models/navigation-sidebar-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,KAAK,EACV,6BAA6B,EAC7B,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,2HAA2H;AAC3H,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,yGAAyG;IACzG,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,yDAAyD;AACzD,MAAM,WAAW,uBAAuB;IACtC,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,mIAAmI;IACnI,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,6DAA6D;AAC7D,MAAM,WAAW,uBAAuB;IACtC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yGAAyG;IACzG,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4FAA4F;IAC5F,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,4GAA4G;IAC5G,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,8EAA8E;IAC9E,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,oDAAoD;AACpD,MAAM,WAAW,2BAA2B;IAC1C,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wDAAwD;AACxD,MAAM,WAAW,uBAAuB;IACtC,wDAAwD;IACxD,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,4BAA4B;IAC5B,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,6CAA6C;AAC7C,MAAM,WAAW,sBAAsB;IACrC,yGAAyG;IACzG,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,yDAAyD;IACzD,MAAM,EAAE,uBAAuB,CAAC;IAChC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,2GAA2G;IAC3G,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kGAAkG;IAClG,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,uIAAuI;IACvI,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sJAAsJ;IACtJ,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,kGAAkG;IAClG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0CAA0C;IAC1C,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,8HAA8H;IAC9H,UAAU,CAAC,EAAE,6BAA6B,CAAC;IAC3C,yIAAyI;IACzI,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,uHAAuH;IACvH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gGAAgG;IAChG,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,+DAA+D;IAC/D,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC"}
@@ -1,4 +1,5 @@
1
1
  import { CSSProperties } from 'react';
2
+ import { UserMenuTriggerVariant } from '../types/user-menu-trigger-variant';
2
3
  import { NavigationMenuGroup } from './navigation-menu';
3
4
  import { NavigationUserProfile } from './user-profile';
4
5
  /** CSS custom-property overrides for `UserMenu`. */
@@ -9,8 +10,10 @@ export interface UserMenuColors {
9
10
  avatarText?: string;
10
11
  /** Menu label text color. */
11
12
  text?: string;
12
- /** Trigger background on hover. */
13
+ /** Trigger background on hover and keyboard focus. */
13
14
  triggerHoverBackground?: string;
15
+ /** Background of the `Profile` and `Compact` triggers while the menu is open. Defaults to `--bg-control-accent-alpha-active-subtle`. */
16
+ triggerOpenBackground?: string;
14
17
  }
15
18
  /** Typography overrides for `UserMenu`. */
16
19
  export interface UserMenuTypography {
@@ -53,6 +56,8 @@ export interface UserMenuProps {
53
56
  onLogout: () => void;
54
57
  /** When provided, renders a Settings entry that invokes this callback. */
55
58
  onSettings?: () => void;
59
+ /** Presentation of the trigger. Defaults to `UserMenuTriggerVariant.Avatar`. */
60
+ triggerVariant?: UserMenuTriggerVariant;
56
61
  /** Hides the avatar tooltip — set on touch layouts where hover never fires. */
57
62
  isTooltipHidden?: boolean;
58
63
  /** Style overrides for colors, typography, and class names. */
@@ -1 +1 @@
1
- {"version":3,"file":"user-menu-props.d.ts","sourceRoot":"","sources":["../../src/models/user-menu-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D,oDAAoD;AACpD,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,2CAA2C;AAC3C,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,mDAAmD;IACnD,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,OAAO,EAAE,qBAAqB,CAAC;IAC/B,oEAAoE;IACpE,MAAM,EAAE,cAAc,CAAC;IACvB,oFAAoF;IACpF,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC/B,iFAAiF;IACjF,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,+EAA+E;IAC/E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,+DAA+D;IAC/D,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB"}
1
+ {"version":3,"file":"user-menu-props.d.ts","sourceRoot":"","sources":["../../src/models/user-menu-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D,oDAAoD;AACpD,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,wIAAwI;IACxI,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,2CAA2C;AAC3C,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,mDAAmD;IACnD,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,OAAO,EAAE,qBAAqB,CAAC;IAC/B,oEAAoE;IACpE,MAAM,EAAE,cAAc,CAAC;IACvB,oFAAoF;IACpF,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC/B,iFAAiF;IACjF,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,gFAAgF;IAChF,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,+EAA+E;IAC/E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,+DAA+D;IAC/D,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@epam/ai-dial-navigation-panel",
3
3
  "description": "Primary application navigation — desktop nav rail, user menu, and mobile navigation bottom sheet",
4
- "version": "1.3.0-dev.108",
4
+ "version": "1.3.0-dev.110",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./index.js",
@@ -18,11 +18,11 @@
18
18
  },
19
19
  "dependencies": {
20
20
  "@tabler/icons-react": "^3.44.0",
21
- "@epam/ai-dial-conversation-input": "1.3.0-dev.108"
21
+ "@epam/ai-dial-conversation-input": "1.3.0-dev.110"
22
22
  },
23
23
  "peerDependencies": {
24
24
  "react": "^19.2.8",
25
- "@epam/ai-dial-chat-shared": "1.3.0-dev.108",
25
+ "@epam/ai-dial-chat-shared": "1.3.0-dev.110",
26
26
  "@epam/ai-dial-ui-kit": "^0.16.0-dev.20"
27
27
  },
28
28
  "repository": {
@@ -0,0 +1,8 @@
1
+ /** How `NavigationSidebar` is laid out. */
2
+ export declare enum NavigationSidebarVariant {
3
+ /** A persistent column, 336px expanded or 72px collapsed, with a collapse toggle in its header. */
4
+ Sidebar = "sidebar",
5
+ /** A 320px panel the host slides over the content, with a close button in its header instead of the toggle. */
6
+ Drawer = "drawer"
7
+ }
8
+ //# sourceMappingURL=navigation-sidebar-variant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-sidebar-variant.d.ts","sourceRoot":"","sources":["../../src/types/navigation-sidebar-variant.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,oBAAY,wBAAwB;IAClC,mGAAmG;IACnG,OAAO,YAAY;IACnB,+GAA+G;IAC/G,MAAM,WAAW;CAClB"}
@@ -0,0 +1,10 @@
1
+ /** How `UserMenu` presents its trigger. */
2
+ export declare enum UserMenuTriggerVariant {
3
+ /** Avatar only, centred in a 60px square — the rail's footer. */
4
+ Avatar = "avatar",
5
+ /** Avatar, display name and a chevron in one pill — the expanded sidebar's footer. */
6
+ Profile = "profile",
7
+ /** Avatar only, in a 40px pill that opens the menu at the start edge — the collapsed sidebar's footer. */
8
+ Compact = "compact"
9
+ }
10
+ //# sourceMappingURL=user-menu-trigger-variant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-menu-trigger-variant.d.ts","sourceRoot":"","sources":["../../src/types/user-menu-trigger-variant.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,oBAAY,sBAAsB;IAChC,iEAAiE;IACjE,MAAM,WAAW;IACjB,sFAAsF;IACtF,OAAO,YAAY;IACnB,0GAA0G;IAC1G,OAAO,YAAY;CACpB"}