@epam/ai-dial-navigation-panel 1.3.0-dev.16 → 1.3.0-dev.161
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 +363 -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,CA6NtC,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{flex-shrink: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 ee, useMemo as S, useRef as C, useState as w } 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 ne, IconSettings as M, IconUser as N, IconX as P } from "@tabler/icons-react";
|
|
6
|
+
import { BottomSheetShell as F } from "@epam/ai-dial-conversation-input";
|
|
7
7
|
//#region src/constants/public-class-names.ts
|
|
8
|
-
var
|
|
8
|
+
var I = {
|
|
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
|
+
}, L = {
|
|
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
|
+
}, R = (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
|
+
}), z = v(({ items: n, labels: r, logo: i, footer: s, renderLink: c = R, styles: l }) => {
|
|
25
|
+
let { colors: u, typography: d, className: p, cssVars: m } = l ?? {}, h = ee().replace(/[^\w-]/g, ""), _ = `np-hover-gradient-${h}`, v = `np-active-gradient-${h}`, y = S(() => 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(L.rail, "relative z-10 flex h-full w-[60px] flex-col justify-between shadow-sm", d?.fontClassName, p, I.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(L.item, "rounded-xl", e.isActive && L.itemActive, n && L.itemFilled, e.isActive && !n && L.itemFilledOutline, I.item)
|
|
104
107
|
})) }, e.id);
|
|
105
108
|
})
|
|
106
109
|
})]
|
|
@@ -108,52 +111,218 @@ var j = {
|
|
|
108
111
|
s
|
|
109
112
|
]
|
|
110
113
|
});
|
|
111
|
-
}),
|
|
114
|
+
}), B = /* @__PURE__ */ function(e) {
|
|
115
|
+
return e.Sidebar = "sidebar", e.Drawer = "drawer", e;
|
|
116
|
+
}({}), V = {
|
|
117
|
+
stopStart: "_stopStart_8i550_1",
|
|
118
|
+
stopEnd: "_stopEnd_8i550_5"
|
|
119
|
+
}, re = ({ 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: V.stopStart
|
|
133
|
+
}), /* @__PURE__ */ E("stop", {
|
|
134
|
+
offset: "1",
|
|
135
|
+
className: V.stopEnd
|
|
136
|
+
})]
|
|
137
|
+
}) })
|
|
138
|
+
}), H = {
|
|
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
|
+
}, ie = (e, t, n) => /* @__PURE__ */ E("a", {
|
|
148
|
+
href: e.href,
|
|
149
|
+
...n,
|
|
150
|
+
children: t
|
|
151
|
+
}), ae = (e, t) => e ? "w-[320px] max-w-full" : t ? "w-[72px]" : "w-[336px]", oe = (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(H.sidebarColumn, "relative z-10 flex h-full shrink-0 flex-col overflow-hidden shadow-sm"), U = v(({ items: n, labels: r, variant: i = B.Sidebar, isCollapsed: s = !1, onToggleCollapse: c, isOpen: u = !1, onClose: f, id: p, logo: m, renderLink: _ = ie, children: v, userMenu: y, footerActions: b, styles: w }) => {
|
|
152
|
+
let { colors: O, typography: k, className: A, cssVars: te } = w ?? {}, ne = k?.fontClassName ?? "dial-small-text", M = i === B.Drawer, N = !M && s, F = ee(), L = p ?? F, R = `np-sidebar-gradient-${F.replace(/[^\w-]/g, "")}`, z = C(null), V = C(null), U = C(u);
|
|
153
|
+
x(() => {
|
|
154
|
+
let e = U.current;
|
|
155
|
+
U.current = u, M && (u && !e ? (V.current = document.activeElement instanceof HTMLElement ? document.activeElement : null, z.current?.focus()) : !u && e && (V.current?.focus(), V.current = null));
|
|
156
|
+
}, [M, u]);
|
|
157
|
+
let W = (e) => {
|
|
158
|
+
e.currentTarget.contains(e.target) && e.key === "Escape" && f?.();
|
|
159
|
+
}, G = S(() => 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(#${R})`,
|
|
168
|
+
"--np-sidebar-font-family": k?.fontFamily
|
|
169
|
+
}), [
|
|
170
|
+
O,
|
|
171
|
+
k?.fontFamily,
|
|
172
|
+
R
|
|
173
|
+
]), K = N ? r.expand ?? "Expand sidebar" : r.collapse ?? "Collapse sidebar", q = r.toggle ?? "Sidebar", J = r.close ?? "Close", Y = (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: [N && m && Y(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]", N && 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": q,
|
|
188
|
+
"aria-expanded": !N,
|
|
189
|
+
"aria-controls": L,
|
|
190
|
+
tooltipProps: { tooltip: K },
|
|
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(P, {
|
|
195
|
+
size: a.LG,
|
|
196
|
+
stroke: o,
|
|
197
|
+
"aria-hidden": !0
|
|
198
|
+
}),
|
|
199
|
+
size: l.Large,
|
|
200
|
+
"aria-label": J,
|
|
201
|
+
tooltipProps: { tooltip: J },
|
|
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", !M && "ps-2"),
|
|
208
|
+
children: Y(N ? m.iconUrl : m.logoUrl ?? m.iconUrl, N ? "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: [!(N && 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", H.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: N ? "sr-only" : ne,
|
|
221
|
+
children: e.label
|
|
222
|
+
})] }), {
|
|
223
|
+
className: t("flex items-center rounded-full p-2 no-underline", N ? "size-10 justify-center" : "h-10 w-full gap-2", H.item, e.isActive && H.itemActive, n && H.itemFilled, e.isActive && !n && H.itemFilledOutline, I.sidebarItem),
|
|
224
|
+
"aria-current": e.isActive ? "page" : void 0
|
|
225
|
+
});
|
|
226
|
+
return /* @__PURE__ */ E("li", { children: N ? /* @__PURE__ */ E(h, {
|
|
227
|
+
tooltip: e.label,
|
|
228
|
+
asChild: !0,
|
|
229
|
+
children: s
|
|
230
|
+
}) : s }, e.id);
|
|
231
|
+
}, le = N ? /* @__PURE__ */ D(g, { children: [b, y] }) : /* @__PURE__ */ D(g, { children: [y, b] });
|
|
232
|
+
return /* @__PURE__ */ D("nav", {
|
|
233
|
+
ref: z,
|
|
234
|
+
id: L,
|
|
235
|
+
"aria-label": r.ariaLabel,
|
|
236
|
+
tabIndex: M ? -1 : void 0,
|
|
237
|
+
inert: M && !u,
|
|
238
|
+
onKeyDown: M ? W : void 0,
|
|
239
|
+
style: {
|
|
240
|
+
...te,
|
|
241
|
+
...G
|
|
242
|
+
},
|
|
243
|
+
className: t(H.sidebar, oe(M, u), ae(M, N), A, I.sidebar),
|
|
244
|
+
children: [
|
|
245
|
+
!O?.itemActiveIcon && /* @__PURE__ */ E(re, { activeGradientId: R }),
|
|
246
|
+
M ? /* @__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: N,
|
|
264
|
+
className: t("min-h-0 flex-1 overflow-hidden", N && "invisible"),
|
|
265
|
+
children: /* @__PURE__ */ E("div", {
|
|
266
|
+
className: t("flex h-full flex-col", M ? "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", H.footer, N ? "flex-col items-start gap-2" : "items-center justify-between gap-2", I.sidebarFooter),
|
|
272
|
+
children: le
|
|
273
|
+
})
|
|
274
|
+
]
|
|
275
|
+
});
|
|
276
|
+
}), W = /* @__PURE__ */ function(e) {
|
|
277
|
+
return e.Avatar = "avatar", e.Profile = "profile", e.Compact = "compact", e;
|
|
278
|
+
}({}), G = { avatar: "_avatar_4hc9t_4" }, K = 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(G.avatar, r)
|
|
284
|
+
})), q = 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: G.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
|
+
}), J = {
|
|
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
|
+
}, Y = v(({ profile: n, labels: r, groups: l, onLogout: d, onSettings: f, triggerVariant: p = W.Avatar, isTooltipHidden: h, styles: g }) => {
|
|
303
|
+
let { colors: _, typography: v, className: y, cssVars: b } = g ?? {}, [x, ee] = w(!1), C = p === W.Profile, O = p === W.Compact, A = C || O, j = v?.fontClassName ?? "dial-small-text", N = S(() => 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]), P = S(() => t(J.menuLabel, j), [j]), F = S(() => {
|
|
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: P,
|
|
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: P,
|
|
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(K, { shortName: n.shortName }), /* @__PURE__ */ E(u, {
|
|
168
337
|
text: n.displayName,
|
|
169
|
-
className: t(
|
|
338
|
+
className: t(J.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: P,
|
|
182
351
|
children: r.settings
|
|
183
352
|
}),
|
|
184
|
-
icon: /* @__PURE__ */
|
|
353
|
+
icon: /* @__PURE__ */ E(M, {
|
|
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: P,
|
|
195
364
|
children: r.logOut
|
|
196
365
|
}),
|
|
197
|
-
icon: /* @__PURE__ */
|
|
366
|
+
icon: /* @__PURE__ */ E(ne, {
|
|
198
367
|
size: a.SM,
|
|
199
368
|
"aria-hidden": !0,
|
|
200
369
|
stroke: o
|
|
@@ -203,52 +372,83 @@ var j = {
|
|
|
203
372
|
}
|
|
204
373
|
];
|
|
205
374
|
}, [
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
375
|
+
l,
|
|
376
|
+
j,
|
|
377
|
+
P,
|
|
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
|
+
]), I = () => {
|
|
385
|
+
if (!C) return /* @__PURE__ */ E(i, {
|
|
386
|
+
"aria-label": r.trigger,
|
|
387
|
+
tooltipProps: {
|
|
388
|
+
tooltip: n.email,
|
|
389
|
+
hideTooltip: h
|
|
390
|
+
},
|
|
391
|
+
iconBefore: /* @__PURE__ */ E(q, {
|
|
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", J.trigger, O && x && J.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(q, {
|
|
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(J.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", J.trigger, x && J.triggerOpen)
|
|
423
|
+
});
|
|
424
|
+
};
|
|
425
|
+
return /* @__PURE__ */ E("div", {
|
|
217
426
|
style: {
|
|
218
|
-
...
|
|
219
|
-
...
|
|
427
|
+
...b,
|
|
428
|
+
...N
|
|
220
429
|
},
|
|
221
|
-
className: t(
|
|
222
|
-
children: /* @__PURE__ */
|
|
223
|
-
|
|
430
|
+
className: t(J.wrapper, A ? "flex min-w-0 items-center" : "flex size-[60px] items-center justify-center", C && "flex-1", y),
|
|
431
|
+
children: /* @__PURE__ */ E(s, {
|
|
432
|
+
className: A ? "max-w-full min-w-0" : void 0,
|
|
433
|
+
placement: A ? "top-start" : "top-end",
|
|
224
434
|
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
|
-
})
|
|
435
|
+
items: F,
|
|
436
|
+
onOpenChange: ee,
|
|
437
|
+
children: I()
|
|
238
438
|
})
|
|
239
439
|
});
|
|
240
|
-
}),
|
|
241
|
-
let [c, l] =
|
|
242
|
-
|
|
440
|
+
}), se = _(void 0), ce = v(({ isOpen: e, onClose: t, children: n, title: r, closeLabel: i, backLabel: a, className: o, style: s }) => {
|
|
441
|
+
let [c, l] = w([]);
|
|
442
|
+
x(() => {
|
|
243
443
|
e || l([]);
|
|
244
444
|
}, [e]);
|
|
245
|
-
let u =
|
|
445
|
+
let u = y((e) => {
|
|
246
446
|
l((t) => [...t, e]);
|
|
247
|
-
}, []), d =
|
|
447
|
+
}, []), d = y(() => {
|
|
248
448
|
l((e) => e.slice(0, -1));
|
|
249
|
-
}, []), f =
|
|
449
|
+
}, []), f = y(() => {
|
|
250
450
|
l([]), t();
|
|
251
|
-
}, [t]), p =
|
|
451
|
+
}, [t]), p = S(() => ({
|
|
252
452
|
push: u,
|
|
253
453
|
pop: d,
|
|
254
454
|
close: f
|
|
@@ -257,9 +457,9 @@ var j = {
|
|
|
257
457
|
d,
|
|
258
458
|
f
|
|
259
459
|
]), m = c[c.length - 1];
|
|
260
|
-
return /* @__PURE__ */
|
|
460
|
+
return /* @__PURE__ */ E(se.Provider, {
|
|
261
461
|
value: p,
|
|
262
|
-
children: /* @__PURE__ */
|
|
462
|
+
children: /* @__PURE__ */ E(F, {
|
|
263
463
|
isOpen: e,
|
|
264
464
|
onClose: f,
|
|
265
465
|
title: m?.title ?? r,
|
|
@@ -271,11 +471,11 @@ var j = {
|
|
|
271
471
|
children: m ? m.content : n
|
|
272
472
|
})
|
|
273
473
|
});
|
|
274
|
-
}),
|
|
275
|
-
let e =
|
|
474
|
+
}), X = () => {
|
|
475
|
+
let e = b(se);
|
|
276
476
|
if (!e) throw Error("useSheetNavigation must be used within a NavigableBottomSheet");
|
|
277
477
|
return e;
|
|
278
|
-
},
|
|
478
|
+
}, Z = {
|
|
279
479
|
sheet: "_sheet_1k0ml_1",
|
|
280
480
|
row: "_row_1k0ml_12",
|
|
281
481
|
rowActive: "_rowActive_1k0ml_24",
|
|
@@ -283,79 +483,79 @@ var j = {
|
|
|
283
483
|
divider: "_divider_1k0ml_46",
|
|
284
484
|
mutedText: "_mutedText_1k0ml_50",
|
|
285
485
|
activeIcon: "_activeIcon_1k0ml_54"
|
|
286
|
-
},
|
|
486
|
+
}, 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
487
|
label: e,
|
|
288
488
|
labelClassName: s,
|
|
289
|
-
icon: r && /* @__PURE__ */
|
|
290
|
-
className:
|
|
489
|
+
icon: r && /* @__PURE__ */ E("span", {
|
|
490
|
+
className: Z.rowIcon,
|
|
291
491
|
children: r
|
|
292
492
|
}),
|
|
293
493
|
trailing: i,
|
|
294
|
-
mark:
|
|
494
|
+
mark: m.Highlight,
|
|
295
495
|
selected: o,
|
|
296
496
|
"aria-current": a ? "true" : void 0,
|
|
297
|
-
className: t("h-auto gap-3 rounded-none px-4 py-[10px]",
|
|
497
|
+
className: t("h-auto gap-3 rounded-none px-4 py-[10px]", Z.row, o && Z.rowActive),
|
|
298
498
|
onClick: n
|
|
299
|
-
}) })),
|
|
300
|
-
let { pop: n } =
|
|
301
|
-
return /* @__PURE__ */
|
|
499
|
+
}) })), $ = v(({ options: e, textClassName: t }) => {
|
|
500
|
+
let { pop: n } = X();
|
|
501
|
+
return /* @__PURE__ */ E("ul", {
|
|
302
502
|
className: "flex flex-col pb-4",
|
|
303
|
-
children: e.map((e) => /* @__PURE__ */
|
|
503
|
+
children: e.map((e) => /* @__PURE__ */ E(Q, {
|
|
304
504
|
label: e.label,
|
|
305
505
|
icon: e.icon,
|
|
306
506
|
textClassName: t,
|
|
307
507
|
isCurrent: e.isActive,
|
|
308
|
-
trailing: e.isActive ? /* @__PURE__ */
|
|
508
|
+
trailing: e.isActive ? /* @__PURE__ */ E(O, {
|
|
309
509
|
size: a.SM,
|
|
310
510
|
stroke: o,
|
|
311
511
|
"aria-hidden": !0,
|
|
312
|
-
className:
|
|
512
|
+
className: Z.activeIcon
|
|
313
513
|
}) : void 0,
|
|
314
514
|
onClick: () => {
|
|
315
515
|
e.onSelect(), n();
|
|
316
516
|
}
|
|
317
517
|
}, e.id))
|
|
318
518
|
});
|
|
319
|
-
}),
|
|
320
|
-
let { push: d, close: f } =
|
|
321
|
-
return /* @__PURE__ */
|
|
322
|
-
/* @__PURE__ */
|
|
519
|
+
}), le = v(({ profile: e, logOutLabel: n, onLogout: i, settingsLabel: a, onSettings: s, groups: c, textClassName: l = "dial-small-text" }) => {
|
|
520
|
+
let { push: d, close: f } = X(), p = (c ?? []).filter(({ options: e }) => e.length > 0);
|
|
521
|
+
return /* @__PURE__ */ D(T, { children: [
|
|
522
|
+
/* @__PURE__ */ D("div", {
|
|
323
523
|
className: "flex h-[56px] items-center gap-3 px-4 py-2",
|
|
324
|
-
children: [/* @__PURE__ */
|
|
524
|
+
children: [/* @__PURE__ */ E(q, {
|
|
325
525
|
profile: e,
|
|
326
526
|
alt: ""
|
|
327
|
-
}), /* @__PURE__ */
|
|
527
|
+
}), /* @__PURE__ */ E(u, {
|
|
328
528
|
text: e.displayName,
|
|
329
|
-
className: t(
|
|
529
|
+
className: t(Z.mutedText, l, "min-w-0 flex-1 truncate")
|
|
330
530
|
})]
|
|
331
531
|
}),
|
|
332
|
-
p.length > 0 && /* @__PURE__ */
|
|
532
|
+
p.length > 0 && /* @__PURE__ */ D(T, { children: [/* @__PURE__ */ E("ul", {
|
|
333
533
|
className: "flex flex-col",
|
|
334
|
-
children: p.map((e) => /* @__PURE__ */
|
|
534
|
+
children: p.map((e) => /* @__PURE__ */ E(Q, {
|
|
335
535
|
label: e.label,
|
|
336
536
|
icon: e.icon,
|
|
337
|
-
textClassName:
|
|
338
|
-
trailing: /* @__PURE__ */
|
|
537
|
+
textClassName: l,
|
|
538
|
+
trailing: /* @__PURE__ */ E(A, {
|
|
339
539
|
size: r,
|
|
340
540
|
stroke: o,
|
|
341
541
|
"aria-hidden": !0,
|
|
342
|
-
className: t(
|
|
542
|
+
className: t(Z.rowIcon, "rtl:scale-x-[-1]")
|
|
343
543
|
}),
|
|
344
544
|
onClick: () => d({
|
|
345
545
|
title: e.label,
|
|
346
|
-
content: /* @__PURE__ */
|
|
546
|
+
content: /* @__PURE__ */ E($, {
|
|
347
547
|
options: e.options,
|
|
348
|
-
textClassName:
|
|
548
|
+
textClassName: l
|
|
349
549
|
})
|
|
350
550
|
})
|
|
351
551
|
}, e.id))
|
|
352
|
-
}), /* @__PURE__ */
|
|
353
|
-
/* @__PURE__ */
|
|
552
|
+
}), /* @__PURE__ */ E("hr", { className: Z.divider })] }),
|
|
553
|
+
/* @__PURE__ */ D("ul", {
|
|
354
554
|
className: "flex flex-col pb-4",
|
|
355
|
-
children: [s && a && /* @__PURE__ */
|
|
555
|
+
children: [s && a && /* @__PURE__ */ E(Q, {
|
|
356
556
|
label: a,
|
|
357
|
-
textClassName:
|
|
358
|
-
icon: /* @__PURE__ */
|
|
557
|
+
textClassName: l,
|
|
558
|
+
icon: /* @__PURE__ */ E(M, {
|
|
359
559
|
size: r,
|
|
360
560
|
stroke: o,
|
|
361
561
|
"aria-hidden": !0
|
|
@@ -363,10 +563,10 @@ var j = {
|
|
|
363
563
|
onClick: () => {
|
|
364
564
|
f(), s?.();
|
|
365
565
|
}
|
|
366
|
-
}), /* @__PURE__ */
|
|
566
|
+
}), /* @__PURE__ */ E(Q, {
|
|
367
567
|
label: n,
|
|
368
|
-
textClassName:
|
|
369
|
-
icon: /* @__PURE__ */
|
|
568
|
+
textClassName: l,
|
|
569
|
+
icon: /* @__PURE__ */ E(ne, {
|
|
370
570
|
size: r,
|
|
371
571
|
stroke: o,
|
|
372
572
|
"aria-hidden": !0
|
|
@@ -377,29 +577,29 @@ var j = {
|
|
|
377
577
|
})]
|
|
378
578
|
})
|
|
379
579
|
] });
|
|
380
|
-
}),
|
|
381
|
-
let { push: p, close: m } =
|
|
580
|
+
}), ue = v(({ items: e, onSelectItem: t, profileLabel: n, logOutLabel: i, onLogout: a, settingsLabel: s, onSettings: c, profile: l, groups: u, footer: d, textClassName: f }) => {
|
|
581
|
+
let { push: p, close: m } = X(), h = (e) => {
|
|
382
582
|
m(), t(e);
|
|
383
583
|
};
|
|
384
|
-
return /* @__PURE__ */
|
|
584
|
+
return /* @__PURE__ */ D(T, { children: [/* @__PURE__ */ D("ul", {
|
|
385
585
|
className: "flex flex-col pb-4",
|
|
386
586
|
children: [e.map((e) => {
|
|
387
587
|
let t = e.isActive && e.activeIcon || e.icon;
|
|
388
|
-
return /* @__PURE__ */
|
|
588
|
+
return /* @__PURE__ */ E(Q, {
|
|
389
589
|
label: e.label,
|
|
390
590
|
textClassName: f,
|
|
391
591
|
isCurrent: e.isActive,
|
|
392
592
|
isHighlighted: e.isActive,
|
|
393
|
-
icon: /* @__PURE__ */
|
|
593
|
+
icon: /* @__PURE__ */ E(t, {
|
|
394
594
|
size: r,
|
|
395
595
|
stroke: o
|
|
396
596
|
}),
|
|
397
597
|
onClick: () => h(e)
|
|
398
598
|
}, e.id);
|
|
399
|
-
}), l && /* @__PURE__ */
|
|
599
|
+
}), l && /* @__PURE__ */ E(Q, {
|
|
400
600
|
label: n,
|
|
401
601
|
textClassName: f,
|
|
402
|
-
icon: /* @__PURE__ */
|
|
602
|
+
icon: /* @__PURE__ */ E(N, {
|
|
403
603
|
size: r,
|
|
404
604
|
stroke: o,
|
|
405
605
|
"aria-hidden": !0
|
|
@@ -407,7 +607,7 @@ var j = {
|
|
|
407
607
|
onClick: () => {
|
|
408
608
|
l && p({
|
|
409
609
|
title: n,
|
|
410
|
-
content: /* @__PURE__ */
|
|
610
|
+
content: /* @__PURE__ */ E(le, {
|
|
411
611
|
profile: l,
|
|
412
612
|
groups: u,
|
|
413
613
|
logOutLabel: i,
|
|
@@ -420,8 +620,8 @@ var j = {
|
|
|
420
620
|
}
|
|
421
621
|
})]
|
|
422
622
|
}), d] });
|
|
423
|
-
}),
|
|
424
|
-
let { colors: p, typography: m, className: h, cssVars: g } = f ?? {}, _ =
|
|
623
|
+
}), de = v(({ isOpen: n, onClose: r, items: i, onSelectItem: a, labels: o, profile: s, groups: c, onLogout: l, onSettings: u, footer: d, styles: f }) => {
|
|
624
|
+
let { colors: p, typography: m, className: h, cssVars: g } = f ?? {}, _ = S(() => e({
|
|
425
625
|
"--np-sheet-text": p?.text,
|
|
426
626
|
"--np-sheet-item-hover": p?.itemHoverBackground,
|
|
427
627
|
"--np-sheet-item-active": p?.itemActiveBackground,
|
|
@@ -435,18 +635,18 @@ var j = {
|
|
|
435
635
|
"--np-menu-active-icon": p?.activeIcon,
|
|
436
636
|
"--np-font-family": m?.fontFamily
|
|
437
637
|
}), [p, m?.fontFamily]);
|
|
438
|
-
return /* @__PURE__ */
|
|
638
|
+
return /* @__PURE__ */ E(ce, {
|
|
439
639
|
isOpen: n,
|
|
440
640
|
onClose: r,
|
|
441
641
|
title: o.title,
|
|
442
642
|
closeLabel: o.close,
|
|
443
643
|
backLabel: o.back,
|
|
444
|
-
className: t(
|
|
644
|
+
className: t(Z.sheet, h),
|
|
445
645
|
style: {
|
|
446
646
|
...g,
|
|
447
647
|
..._
|
|
448
648
|
},
|
|
449
|
-
children: /* @__PURE__ */
|
|
649
|
+
children: /* @__PURE__ */ E(ue, {
|
|
450
650
|
items: i,
|
|
451
651
|
onSelectItem: a,
|
|
452
652
|
profileLabel: o.profile,
|
|
@@ -462,4 +662,4 @@ var j = {
|
|
|
462
662
|
});
|
|
463
663
|
});
|
|
464
664
|
//#endregion
|
|
465
|
-
export {
|
|
665
|
+
export { K as AvatarInitials, I as NAVIGATION_PANEL_CLASS, ce as NavigableBottomSheet, ue as NavigationMenuPage, z as NavigationPanel, de as NavigationSheet, U as NavigationSidebar, B as NavigationSidebarVariant, $ as OptionListPage, le as ProfilePage, Q as SheetRow, q as UserAvatar, Y as UserMenu, W 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.161",
|
|
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.161"
|
|
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.161",
|
|
26
|
+
"@epam/ai-dial-ui-kit": "^0.16.0-dev.33"
|
|
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"}
|