@epam/ai-dial-navigation-panel 1.3.0-dev.13 → 1.3.0-dev.130
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/components/NavigationSidebar/NavigationSidebar.d.ts +5 -0
- package/components/NavigationSidebar/NavigationSidebar.d.ts.map +1 -0
- package/components/UserMenu/UserMenu.d.ts +2 -2
- package/components/UserMenu/UserMenu.d.ts.map +1 -1
- package/components/common/ItemGradients.d.ts +13 -0
- package/components/common/ItemGradients.d.ts.map +1 -0
- package/components/common/UserAvatar.d.ts +2 -0
- package/components/common/UserAvatar.d.ts.map +1 -1
- package/constants/public-class-names.d.ts +6 -0
- package/constants/public-class-names.d.ts.map +1 -1
- package/index.css +3 -2
- package/index.d.ts +5 -1
- package/index.d.ts.map +1 -1
- package/index.js +362 -163
- package/models/navigation-item.d.ts +14 -0
- package/models/navigation-item.d.ts.map +1 -1
- package/models/navigation-sidebar-props.d.ts +91 -0
- package/models/navigation-sidebar-props.d.ts.map +1 -0
- package/models/user-menu-props.d.ts +6 -1
- package/models/user-menu-props.d.ts.map +1 -1
- package/package.json +4 -4
- package/types/navigation-sidebar-variant.d.ts +8 -0
- package/types/navigation-sidebar-variant.d.ts.map +1 -0
- package/types/user-menu-trigger-variant.d.ts +10 -0
- package/types/user-menu-trigger-variant.d.ts.map +1 -0
|
@@ -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
|
-
*
|
|
5
|
-
*
|
|
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":"
|
|
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;
|
|
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;;
|
|
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,2 +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))}.
|
|
2
|
-
/*$vite$:1
|
|
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
|
+
/*$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-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,
|
|
3
|
-
import { Fragment as
|
|
4
|
-
import { Fragment as
|
|
5
|
-
import { IconCheck as
|
|
6
|
-
import { BottomSheetShell as
|
|
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
|
|
8
|
+
var L = {
|
|
9
9
|
rail: "dial-navigation-panel-rail",
|
|
10
|
-
item: "dial-navigation-panel-item"
|
|
11
|
-
|
|
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
|
-
},
|
|
20
|
+
}, z = (e, t) => /* @__PURE__ */ E("a", {
|
|
18
21
|
href: e.href,
|
|
19
22
|
className: "contents",
|
|
20
23
|
children: t
|
|
21
|
-
}),
|
|
22
|
-
let { colors:
|
|
23
|
-
"--np-bg":
|
|
24
|
-
"--np-item-text":
|
|
25
|
-
"--np-item-active-text":
|
|
26
|
-
"--np-item-selected-bg":
|
|
27
|
-
"--np-item-hover-bg":
|
|
28
|
-
"--np-item-hover-icon":
|
|
29
|
-
"--np-item-active-icon":
|
|
30
|
-
"--np-item-active-bg":
|
|
31
|
-
"--np-font-family":
|
|
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
|
-
|
|
34
|
-
|
|
36
|
+
u,
|
|
37
|
+
d?.fontFamily,
|
|
35
38
|
_,
|
|
36
39
|
v
|
|
37
40
|
]);
|
|
38
|
-
return /* @__PURE__ */
|
|
41
|
+
return /* @__PURE__ */ D("nav", {
|
|
39
42
|
"aria-label": r.ariaLabel,
|
|
40
43
|
style: {
|
|
41
|
-
...
|
|
42
|
-
...
|
|
44
|
+
...m,
|
|
45
|
+
...y
|
|
43
46
|
},
|
|
44
|
-
className: t(
|
|
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__ */
|
|
49
|
+
/* @__PURE__ */ E("svg", {
|
|
47
50
|
"aria-hidden": !0,
|
|
48
51
|
className: "absolute size-0",
|
|
49
52
|
focusable: "false",
|
|
50
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
60
|
+
children: [/* @__PURE__ */ E("stop", {
|
|
58
61
|
offset: "0",
|
|
59
62
|
stopColor: "#1d4ed8"
|
|
60
|
-
}), /* @__PURE__ */
|
|
63
|
+
}), /* @__PURE__ */ E("stop", {
|
|
61
64
|
offset: "1",
|
|
62
65
|
stopColor: "#885df2"
|
|
63
66
|
})]
|
|
64
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
74
|
+
children: [/* @__PURE__ */ E("stop", {
|
|
72
75
|
offset: "0",
|
|
73
76
|
stopColor: "#1d4ed8"
|
|
74
|
-
}), /* @__PURE__ */
|
|
77
|
+
}), /* @__PURE__ */ E("stop", {
|
|
75
78
|
offset: "1",
|
|
76
79
|
stopColor: "#885df2"
|
|
77
80
|
})]
|
|
78
81
|
})] })
|
|
79
82
|
}),
|
|
80
|
-
/* @__PURE__ */
|
|
83
|
+
/* @__PURE__ */ D("div", {
|
|
81
84
|
className: "flex flex-col items-center",
|
|
82
|
-
children: [i && /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
93
|
+
}), /* @__PURE__ */ E("div", {
|
|
91
94
|
className: "flex flex-col items-center gap-2 p-2",
|
|
92
95
|
children: n.map((e) => {
|
|
93
|
-
let n = !!e.isActive && !!e.activeIcon;
|
|
94
|
-
return /* @__PURE__ */
|
|
95
|
-
icon: /* @__PURE__ */
|
|
96
|
+
let n = !!e.isActive && !!e.activeIcon, r = n && e.activeIcon || e.icon;
|
|
97
|
+
return /* @__PURE__ */ E(g, { children: c(e, /* @__PURE__ */ E(f, {
|
|
98
|
+
icon: /* @__PURE__ */ E(r, {
|
|
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(
|
|
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
|
-
}),
|
|
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 = /* @__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
|
+
}), s = _(e, /* @__PURE__ */ D(T, { children: [i, /* @__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: s
|
|
230
|
+
}) : s }, 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(
|
|
117
|
-
})),
|
|
118
|
-
let
|
|
119
|
-
return /* @__PURE__ */
|
|
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:
|
|
123
|
-
alt:
|
|
124
|
-
size:
|
|
289
|
+
src: i ? void 0 : e.imageUrl,
|
|
290
|
+
alt: i ? "" : t,
|
|
291
|
+
size: r,
|
|
125
292
|
textClassName: "dial-tiny-text",
|
|
126
|
-
className:
|
|
293
|
+
className: K.avatar,
|
|
127
294
|
onImageError: e.onImageError
|
|
128
295
|
});
|
|
129
|
-
}),
|
|
130
|
-
wrapper: "
|
|
131
|
-
trigger: "
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
"--np-avatar-
|
|
138
|
-
"--np-
|
|
139
|
-
"--np-
|
|
140
|
-
"--np-
|
|
141
|
-
|
|
142
|
-
|
|
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__ */
|
|
145
|
-
className:
|
|
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__ */
|
|
152
|
-
className:
|
|
320
|
+
label: /* @__PURE__ */ E("span", {
|
|
321
|
+
className: F,
|
|
153
322
|
children: e.label
|
|
154
323
|
}),
|
|
155
324
|
icon: e.icon,
|
|
156
|
-
mark:
|
|
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__ */
|
|
334
|
+
label: /* @__PURE__ */ D("div", {
|
|
166
335
|
className: "flex h-[40px] min-w-0 items-center gap-3",
|
|
167
|
-
children: [/* @__PURE__ */
|
|
336
|
+
children: [/* @__PURE__ */ E(q, { shortName: n.shortName }), /* @__PURE__ */ E(u, {
|
|
168
337
|
text: n.displayName,
|
|
169
|
-
className: t(
|
|
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
|
-
...
|
|
347
|
+
...f ? [{
|
|
179
348
|
key: "settings",
|
|
180
|
-
label: /* @__PURE__ */
|
|
181
|
-
className:
|
|
349
|
+
label: /* @__PURE__ */ E("span", {
|
|
350
|
+
className: F,
|
|
182
351
|
children: r.settings
|
|
183
352
|
}),
|
|
184
|
-
icon: /* @__PURE__ */
|
|
353
|
+
icon: /* @__PURE__ */ E(N, {
|
|
185
354
|
size: a.SM,
|
|
186
355
|
"aria-hidden": !0,
|
|
187
356
|
stroke: o
|
|
188
357
|
}),
|
|
189
|
-
onClick:
|
|
358
|
+
onClick: f
|
|
190
359
|
}] : [],
|
|
191
360
|
{
|
|
192
361
|
key: "logout",
|
|
193
|
-
label: /* @__PURE__ */
|
|
194
|
-
className:
|
|
362
|
+
label: /* @__PURE__ */ E("span", {
|
|
363
|
+
className: F,
|
|
195
364
|
children: r.logOut
|
|
196
365
|
}),
|
|
197
|
-
icon: /* @__PURE__ */
|
|
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
|
-
|
|
207
|
-
|
|
208
|
-
|
|
375
|
+
l,
|
|
376
|
+
j,
|
|
377
|
+
F,
|
|
209
378
|
r.logOut,
|
|
210
379
|
r.settings,
|
|
211
380
|
d,
|
|
212
|
-
|
|
381
|
+
f,
|
|
213
382
|
n.displayName,
|
|
214
383
|
n.shortName
|
|
215
|
-
])
|
|
216
|
-
|
|
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
|
-
...
|
|
219
|
-
...
|
|
427
|
+
...b,
|
|
428
|
+
...P
|
|
220
429
|
},
|
|
221
|
-
className: t(
|
|
222
|
-
children: /* @__PURE__ */
|
|
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:
|
|
226
|
-
|
|
227
|
-
|
|
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
|
-
}),
|
|
241
|
-
let [c, l] =
|
|
242
|
-
|
|
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 =
|
|
444
|
+
let u = y((e) => {
|
|
246
445
|
l((t) => [...t, e]);
|
|
247
|
-
}, []), d =
|
|
446
|
+
}, []), d = y(() => {
|
|
248
447
|
l((e) => e.slice(0, -1));
|
|
249
|
-
}, []), f =
|
|
448
|
+
}, []), f = y(() => {
|
|
250
449
|
l([]), t();
|
|
251
|
-
}, [t]), p =
|
|
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__ */
|
|
459
|
+
return /* @__PURE__ */ E(se.Provider, {
|
|
261
460
|
value: p,
|
|
262
|
-
children: /* @__PURE__ */
|
|
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
|
-
}),
|
|
275
|
-
let e =
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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__ */
|
|
290
|
-
className:
|
|
488
|
+
icon: r && /* @__PURE__ */ E("span", {
|
|
489
|
+
className: Z.rowIcon,
|
|
291
490
|
children: r
|
|
292
491
|
}),
|
|
293
492
|
trailing: i,
|
|
294
|
-
mark:
|
|
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]",
|
|
496
|
+
className: t("h-auto gap-3 rounded-none px-4 py-[10px]", Z.row, o && Z.rowActive),
|
|
298
497
|
onClick: n
|
|
299
|
-
}) })),
|
|
300
|
-
let { pop: n } =
|
|
301
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
507
|
+
trailing: e.isActive ? /* @__PURE__ */ E(O, {
|
|
309
508
|
size: a.SM,
|
|
310
509
|
stroke: o,
|
|
311
510
|
"aria-hidden": !0,
|
|
312
|
-
className:
|
|
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
|
-
}),
|
|
320
|
-
let { push: d, close: f } =
|
|
321
|
-
return /* @__PURE__ */
|
|
322
|
-
/* @__PURE__ */
|
|
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__ */
|
|
523
|
+
children: [/* @__PURE__ */ E(J, {
|
|
325
524
|
profile: e,
|
|
326
525
|
alt: ""
|
|
327
|
-
}), /* @__PURE__ */
|
|
526
|
+
}), /* @__PURE__ */ E(u, {
|
|
328
527
|
text: e.displayName,
|
|
329
|
-
className: t(
|
|
528
|
+
className: t(Z.mutedText, l, "min-w-0 flex-1 truncate")
|
|
330
529
|
})]
|
|
331
530
|
}),
|
|
332
|
-
p.length > 0 && /* @__PURE__ */
|
|
531
|
+
p.length > 0 && /* @__PURE__ */ D(T, { children: [/* @__PURE__ */ E("ul", {
|
|
333
532
|
className: "flex flex-col",
|
|
334
|
-
children: p.map((e) => /* @__PURE__ */
|
|
533
|
+
children: p.map((e) => /* @__PURE__ */ E(Q, {
|
|
335
534
|
label: e.label,
|
|
336
535
|
icon: e.icon,
|
|
337
|
-
textClassName:
|
|
338
|
-
trailing: /* @__PURE__ */
|
|
536
|
+
textClassName: l,
|
|
537
|
+
trailing: /* @__PURE__ */ E(A, {
|
|
339
538
|
size: r,
|
|
340
539
|
stroke: o,
|
|
341
540
|
"aria-hidden": !0,
|
|
342
|
-
className: t(
|
|
541
|
+
className: t(Z.rowIcon, "rtl:scale-x-[-1]")
|
|
343
542
|
}),
|
|
344
543
|
onClick: () => d({
|
|
345
544
|
title: e.label,
|
|
346
|
-
content: /* @__PURE__ */
|
|
545
|
+
content: /* @__PURE__ */ E($, {
|
|
347
546
|
options: e.options,
|
|
348
|
-
textClassName:
|
|
547
|
+
textClassName: l
|
|
349
548
|
})
|
|
350
549
|
})
|
|
351
550
|
}, e.id))
|
|
352
|
-
}), /* @__PURE__ */
|
|
353
|
-
/* @__PURE__ */
|
|
551
|
+
}), /* @__PURE__ */ E("hr", { className: Z.divider })] }),
|
|
552
|
+
/* @__PURE__ */ D("ul", {
|
|
354
553
|
className: "flex flex-col pb-4",
|
|
355
|
-
children: [s && a && /* @__PURE__ */
|
|
554
|
+
children: [s && a && /* @__PURE__ */ E(Q, {
|
|
356
555
|
label: a,
|
|
357
|
-
textClassName:
|
|
358
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
565
|
+
}), /* @__PURE__ */ E(Q, {
|
|
367
566
|
label: n,
|
|
368
|
-
textClassName:
|
|
369
|
-
icon: /* @__PURE__ */
|
|
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
|
-
}),
|
|
381
|
-
let { push: p, close: m } =
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
598
|
+
}), l && /* @__PURE__ */ E(Q, {
|
|
400
599
|
label: n,
|
|
401
600
|
textClassName: f,
|
|
402
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
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
|
-
}),
|
|
424
|
-
let { colors: p, typography: m, className: h, cssVars: g } = f ?? {}, _ =
|
|
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__ */
|
|
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(
|
|
643
|
+
className: t(Z.sheet, h),
|
|
445
644
|
style: {
|
|
446
645
|
...g,
|
|
447
646
|
..._
|
|
448
647
|
},
|
|
449
|
-
children: /* @__PURE__ */
|
|
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 {
|
|
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,
|
|
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.
|
|
4
|
+
"version": "1.3.0-dev.130",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./index.js",
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@tabler/icons-react": "^3.44.0",
|
|
21
|
-
"@epam/ai-dial-conversation-input": "1.3.0-dev.
|
|
21
|
+
"@epam/ai-dial-conversation-input": "1.3.0-dev.130"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"react": "^19.2.8",
|
|
25
|
-
"@epam/ai-dial-chat-shared": "1.3.0-dev.
|
|
26
|
-
"@epam/ai-dial-ui-kit": "^0.
|
|
25
|
+
"@epam/ai-dial-chat-shared": "1.3.0-dev.130",
|
|
26
|
+
"@epam/ai-dial-ui-kit": "^0.16.0-dev.22"
|
|
27
27
|
},
|
|
28
28
|
"repository": {
|
|
29
29
|
"type": "git",
|
|
@@ -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"}
|