@flipdish/ui-library 0.7.4 → 0.8.0
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/dist/components/atoms/FlipdishLogo/flipdish-logo.paths.cjs +56 -0
- package/dist/components/atoms/FlipdishLogo/flipdish-logo.paths.cjs.map +1 -0
- package/dist/components/atoms/FlipdishLogo/flipdish-logo.paths.d.ts +7 -0
- package/dist/components/atoms/FlipdishLogo/flipdish-logo.paths.d.ts.map +1 -0
- package/dist/components/atoms/FlipdishLogo/flipdish-logo.paths.js +49 -0
- package/dist/components/atoms/FlipdishLogo/flipdish-logo.paths.js.map +1 -0
- package/dist/components/atoms/FlipdishLogo/index.cjs +30 -6
- package/dist/components/atoms/FlipdishLogo/index.cjs.map +1 -1
- package/dist/components/atoms/FlipdishLogo/index.d.ts +65 -4
- package/dist/components/atoms/FlipdishLogo/index.d.ts.map +1 -1
- package/dist/components/atoms/FlipdishLogo/index.js +30 -6
- package/dist/components/atoms/FlipdishLogo/index.js.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/mobile-header.cjs +1 -1
- package/dist/components/organisms/HeaderNavigation/components/mobile-header.cjs.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/mobile-header.js +1 -1
- package/dist/components/organisms/HeaderNavigation/components/mobile-header.js.map +1 -1
- package/dist/components/organisms/HeaderNavigation/index.cjs +1 -1
- package/dist/components/organisms/HeaderNavigation/index.cjs.map +1 -1
- package/dist/components/organisms/HeaderNavigation/index.js +1 -1
- package/dist/components/organisms/HeaderNavigation/index.js.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/mobile-header.cjs +16 -3
- package/dist/components/organisms/SidebarNavigation/components/mobile-header.cjs.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/mobile-header.d.ts +31 -1
- package/dist/components/organisms/SidebarNavigation/components/mobile-header.d.ts.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/mobile-header.js +18 -6
- package/dist/components/organisms/SidebarNavigation/components/mobile-header.js.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-account-card.cjs +6 -45
- package/dist/components/organisms/SidebarNavigation/components/nav-account-card.cjs.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-account-card.d.ts +16 -25
- package/dist/components/organisms/SidebarNavigation/components/nav-account-card.d.ts.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-account-card.js +8 -47
- package/dist/components/organisms/SidebarNavigation/components/nav-account-card.js.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-button.cjs +2 -2
- package/dist/components/organisms/SidebarNavigation/components/nav-button.cjs.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-button.d.ts +5 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-button.d.ts.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-button.js +2 -2
- package/dist/components/organisms/SidebarNavigation/components/nav-button.js.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-item.cjs +14 -8
- package/dist/components/organisms/SidebarNavigation/components/nav-item.cjs.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-item.d.ts +9 -3
- package/dist/components/organisms/SidebarNavigation/components/nav-item.d.ts.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-item.js +14 -8
- package/dist/components/organisms/SidebarNavigation/components/nav-item.js.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-menu-button.cjs +19 -0
- package/dist/components/organisms/SidebarNavigation/components/sidebar-menu-button.cjs.map +1 -0
- package/dist/components/organisms/SidebarNavigation/components/sidebar-menu-button.d.ts +22 -0
- package/dist/components/organisms/SidebarNavigation/components/sidebar-menu-button.d.ts.map +1 -0
- package/dist/components/organisms/SidebarNavigation/components/sidebar-menu-button.js +17 -0
- package/dist/components/organisms/SidebarNavigation/components/sidebar-menu-button.js.map +1 -0
- package/dist/components/organisms/SidebarNavigation/index.cjs +139 -11
- package/dist/components/organisms/SidebarNavigation/index.cjs.map +1 -1
- package/dist/components/organisms/SidebarNavigation/index.d.ts +55 -7
- package/dist/components/organisms/SidebarNavigation/index.d.ts.map +1 -1
- package/dist/components/organisms/SidebarNavigation/index.js +143 -7
- package/dist/components/organisms/SidebarNavigation/index.js.map +1 -1
- package/dist/utilities/localStorageUtils/index.cjs +125 -0
- package/dist/utilities/localStorageUtils/index.cjs.map +1 -0
- package/dist/utilities/localStorageUtils/index.d.ts +43 -0
- package/dist/utilities/localStorageUtils/index.d.ts.map +1 -0
- package/dist/utilities/localStorageUtils/index.js +121 -0
- package/dist/utilities/localStorageUtils/index.js.map +1 -0
- package/dist/utilities/localStorageUtils/localStorageUtils.constants.cjs +15 -0
- package/dist/utilities/localStorageUtils/localStorageUtils.constants.cjs.map +1 -0
- package/dist/utilities/localStorageUtils/localStorageUtils.constants.d.ts +11 -0
- package/dist/utilities/localStorageUtils/localStorageUtils.constants.d.ts.map +1 -0
- package/dist/utilities/localStorageUtils/localStorageUtils.constants.js +13 -0
- package/dist/utilities/localStorageUtils/localStorageUtils.constants.js.map +1 -0
- package/package.json +1 -1
- package/dist/components/atoms/FlipdishLogo/components/flipdish-logo-minimal.cjs +0 -16
- package/dist/components/atoms/FlipdishLogo/components/flipdish-logo-minimal.cjs.map +0 -1
- package/dist/components/atoms/FlipdishLogo/components/flipdish-logo-minimal.d.ts +0 -3
- package/dist/components/atoms/FlipdishLogo/components/flipdish-logo-minimal.d.ts.map +0 -1
- package/dist/components/atoms/FlipdishLogo/components/flipdish-logo-minimal.js +0 -14
- package/dist/components/atoms/FlipdishLogo/components/flipdish-logo-minimal.js.map +0 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-dual-tier.cjs +0 -32
- package/dist/components/organisms/SidebarNavigation/components/sidebar-dual-tier.cjs.map +0 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-dual-tier.d.ts +0 -20
- package/dist/components/organisms/SidebarNavigation/components/sidebar-dual-tier.d.ts.map +0 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-dual-tier.js +0 -30
- package/dist/components/organisms/SidebarNavigation/components/sidebar-dual-tier.js.map +0 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-section-dividers.cjs +0 -23
- package/dist/components/organisms/SidebarNavigation/components/sidebar-section-dividers.cjs.map +0 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-section-dividers.d.ts +0 -15
- package/dist/components/organisms/SidebarNavigation/components/sidebar-section-dividers.d.ts.map +0 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-section-dividers.js +0 -21
- package/dist/components/organisms/SidebarNavigation/components/sidebar-section-dividers.js.map +0 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-sections-subheadings.cjs +0 -22
- package/dist/components/organisms/SidebarNavigation/components/sidebar-sections-subheadings.cjs.map +0 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-sections-subheadings.d.ts +0 -18
- package/dist/components/organisms/SidebarNavigation/components/sidebar-sections-subheadings.d.ts.map +0 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-sections-subheadings.js +0 -20
- package/dist/components/organisms/SidebarNavigation/components/sidebar-sections-subheadings.js.map +0 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-simple.cjs +0 -24
- package/dist/components/organisms/SidebarNavigation/components/sidebar-simple.cjs.map +0 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-simple.d.ts +0 -21
- package/dist/components/organisms/SidebarNavigation/components/sidebar-simple.d.ts.map +0 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-simple.js +0 -22
- package/dist/components/organisms/SidebarNavigation/components/sidebar-simple.js.map +0 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-slim.cjs +0 -35
- package/dist/components/organisms/SidebarNavigation/components/sidebar-slim.cjs.map +0 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-slim.d.ts +0 -28
- package/dist/components/organisms/SidebarNavigation/components/sidebar-slim.d.ts.map +0 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-slim.js +0 -33
- package/dist/components/organisms/SidebarNavigation/components/sidebar-slim.js.map +0 -1
|
@@ -33,7 +33,7 @@ const HeaderNavigationBase = ({ activeUrl, items, subItems, hideBorder = false,
|
|
|
33
33
|
}))
|
|
34
34
|
: [];
|
|
35
35
|
const activeTabKey = activeSubNavItems?.find((item) => isActive(item))?.label;
|
|
36
|
-
return (jsxs(Fragment, { children: [jsx(MobileNavigationHeader, { children: jsxs("aside", { className: "flex h-full max-w-full flex-col overflow-auto bg-primary pt-4", children: [jsxs("div", { className: "flex flex-col gap-5 px-4", children: [jsx(FlipdishLogo, {
|
|
36
|
+
return (jsxs(Fragment, { children: [jsx(MobileNavigationHeader, { children: jsxs("aside", { className: "flex h-full max-w-full flex-col overflow-auto bg-primary pt-4", children: [jsxs("div", { className: "flex flex-col gap-5 px-4", children: [jsx(FlipdishLogo, { size: "sm" }), jsx(Input, { size: "md", "aria-label": "Search", placeholder: "Search", icon: SearchLg })] }), jsx(NavList, { items: items, activeUrl: activeUrl, className: "flex-1" }), (footerItems.length > 0 || account) && (jsxs("div", { className: "mt-auto flex flex-col gap-3 p-4", children: [footerItems.length > 0 && (jsx("div", { className: "flex flex-col", children: footerItems.map((item) => (jsx(NavItemBase, { type: "link", href: item.href, icon: item.icon, badge: item.badge, current: isActive(item), children: item.label }, item.label))) })), account && (jsx(NavAccountCard, { items: account.accounts, selectedAccountId: account.selectedAccountId, menuItems: account.menuItems, bottomMenuItems: account.bottomMenuItems }))] }))] }) }), jsxs("header", { className: "max-lg:hidden", children: [jsx("section", { className: cx('flex h-16 w-full items-center justify-center bg-primary', (!hideBorder || showSecondaryNav) && 'border-b border-secondary'), children: jsxs("div", { className: cx('flex w-full max-w-container items-center pr-3 pl-4 md:px-8', centered && 'gap-8'), children: [jsx("div", { className: cx('flex items-center', centered ? 'flex-1' : 'mr-4'), children: jsx("a", { "aria-label": "Go to homepage", href: "/", className: "rounded-xs outline-focus-ring focus-visible:outline-2 focus-visible:outline-offset-2", children: jsx(FlipdishLogo, { size: "sm" }) }) }), jsx("nav", { children: jsx("ul", { className: "flex items-center gap-0.5", children: items.map((item) => (jsx("li", { children: jsx(NavButton, { current: isActive(item), href: item.href, children: item.label }) }, item.label))) }) }), (actions || centered) && jsx("div", { className: cx('flex items-center gap-3', centered ? 'flex-1 justify-end' : 'ml-auto'), children: actions })] }) }), showSecondaryNav && (jsx("section", { className: cx('flex w-full items-center justify-center bg-primary', !hideBorder && 'border-b border-secondary'), children: secondaryType === 'tabs' ? (jsx("div", { className: "w-full max-w-container px-8 pt-3", children: jsx(Tabs, { selectedKey: activeTabKey, children: jsx(TabList, { size: "sm", type: "underline", items: tabItems, className: "-mb-px before:hidden" }) }) })) : (jsxs("div", { className: cx('flex h-16 w-full max-w-container items-center gap-8 px-8', centered ? 'justify-center' : 'justify-between'), children: [jsx("nav", { children: jsx("ul", { className: cx('flex items-center gap-0.5', centered && 'justify-center'), children: activeSubNavItems.map((item) => (jsx("li", { children: jsx(NavButton, { href: item.href, current: isActive(item), children: item.label }) }, item.label))) }) }), !centered && jsx(Input, { shortcut: true, "aria-label": "Search", placeholder: "Search", icon: SearchLg, size: "sm", className: "max-w-70" })] })) }))] })] }));
|
|
37
37
|
};
|
|
38
38
|
|
|
39
39
|
export { HeaderNavigationBase, NavAccountCard, NavItemBase };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/organisms/HeaderNavigation/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_Fragment","_jsx"],"mappings":";;;;;;;;;;;;;AA+CA;AACA,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,SAAkB,KAAI;AACxD,IAAA,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,KAAK;IACrC,IAAI,IAAI,KAAK,SAAS;AAAE,QAAA,OAAO,IAAI;IACnC,IAAI,IAAI,KAAK,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,CAAA,EAAG,IAAI,CAAA,CAAA,CAAG,CAAC;AAAE,QAAA,OAAO,IAAI;AACjE,IAAA,OAAO,KAAK;AACd,CAAC;AAoCM,MAAM,oBAAoB,GAAG,CAAC,EACnC,SAAS,EACT,KAAK,EACL,QAAQ,EACR,UAAU,GAAG,KAAK,EAClB,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,aAAa,GAAG,SAAS,EACzB,WAAW,GAAG,EAAE,EAChB,OAAO,GACmB,KAAI;AAC9B,IAAA,MAAM,QAAQ,GAAG,CAAC,IAAa,KAAK,IAAI,CAAC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;AAEtF,IAAA,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;AACzH,IAAA,MAAM,iBAAiB,GAAG,QAAQ,IAAI,YAAY,EAAE,KAAK;IAEzD,MAAM,gBAAgB,GAAG,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC;IAE1E,MAAM,QAAQ,GAAG;UACb,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;YAC/B,EAAE,EAAE,IAAI,CAAC,KAAK;YACd,QAAQ,EAAE,IAAI,CAAC,KAAK;AACrB,SAAA,CAAC;UACF,EAAE;AAEN,IAAA,MAAM,YAAY,GAAG,iBAAiB,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK;IAE7E,QACEA,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACEC,GAAA,CAAC,sBAAsB,EAAA,EAAA,QAAA,EACrBF,IAAA,CAAA,OAAA,EAAA,EAAO,SAAS,EAAC,+DAA+D,EAAA,QAAA,EAAA,CAC9EA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,0BAA0B,EAAA,QAAA,EAAA,CACvCE,GAAA,CAAC,YAAY,EAAA,EAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/organisms/HeaderNavigation/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|
|
@@ -5,10 +5,23 @@ var uiIcons = require('@flipdish/ui-icons');
|
|
|
5
5
|
var FlipdishLogo = require('@flipdish/ui-library/components/atoms/FlipdishLogo');
|
|
6
6
|
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
7
7
|
var reactAriaComponents = require('react-aria-components');
|
|
8
|
+
var sidebarMenuButton = require('./sidebar-menu-button.cjs');
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
/**
|
|
11
|
+
* The built-in mobile top bar: Flipdish logo + hamburger toggle, shown below the
|
|
12
|
+
* `lg` breakpoint. Rendered by `SidebarNavigation` when `showMobileHeader` is `true`.
|
|
13
|
+
* Consumers who supply their own header instead should set `showMobileHeader={false}`
|
|
14
|
+
* and embed a {@link SidebarMenuButton}.
|
|
15
|
+
*/
|
|
16
|
+
const MobileNavigationHeader = ({ isOpen, onOpenChange, controls }) => (jsxRuntime.jsxs("header", { className: "flex h-14 items-center justify-between border-b border-secondary bg-secondary p-3 pl-4 lg:hidden", children: [jsxRuntime.jsx(FlipdishLogo.FlipdishLogo, { size: "sm" }), jsxRuntime.jsx(sidebarMenuButton.SidebarMenuButton, { isOpen: isOpen, onPress: () => onOpenChange(!isOpen), controls: controls })] }));
|
|
17
|
+
/**
|
|
18
|
+
* The controlled slide-over drawer that holds the mobile navigation. Its open
|
|
19
|
+
* state is owned by `SidebarNavigation`, so it can be driven by either the
|
|
20
|
+
* built-in header or an externally-embedded {@link SidebarMenuButton}. Hidden at
|
|
21
|
+
* `lg` and up, where the fixed rail takes over.
|
|
22
|
+
*/
|
|
23
|
+
const MobileNavigationDrawer = ({ isOpen, onOpenChange, id, children }) => (jsxRuntime.jsx(reactAriaComponents.ModalOverlay, { isDismissable: true, isOpen: isOpen, onOpenChange: onOpenChange, className: ({ isEntering, isExiting }) => cx.cx('fixed inset-0 z-50 cursor-pointer bg-overlay/70 pr-16 backdrop-blur-md lg:hidden', isEntering && 'duration-300 ease-in-out animate-in fade-in', isExiting && 'duration-200 ease-in-out animate-out fade-out'), children: ({ state }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(reactAriaComponents.Button, { "aria-label": "Close navigation menu", onPress: () => state.close(), className: "fixed top-2.5 right-3 flex cursor-pointer items-center justify-center rounded-lg p-2 text-fg-white/70 outline-focus-ring hover:bg-white/10 hover:text-fg-white focus-visible:outline-2 focus-visible:outline-offset-2", children: jsxRuntime.jsx(uiIcons.X, { className: "size-6" }) }), jsxRuntime.jsx(reactAriaComponents.Modal, { className: "w-full max-w-74 cursor-auto will-change-transform", children: jsxRuntime.jsx(reactAriaComponents.Dialog, { id: id, className: "h-dvh outline-hidden focus:outline-hidden", children: children }) })] })) }));
|
|
12
24
|
|
|
25
|
+
exports.MobileNavigationDrawer = MobileNavigationDrawer;
|
|
13
26
|
exports.MobileNavigationHeader = MobileNavigationHeader;
|
|
14
27
|
//# sourceMappingURL=mobile-header.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobile-header.cjs","sources":["../../../../../src/components/organisms/SidebarNavigation/components/mobile-header.tsx"],"sourcesContent":[null],"names":["_jsxs","
|
|
1
|
+
{"version":3,"file":"mobile-header.cjs","sources":["../../../../../src/components/organisms/SidebarNavigation/components/mobile-header.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","FlipdishLogo","SidebarMenuButton","AriaModalOverlay","cx","_Fragment","AriaButton","CloseIcon","AriaModal","AriaDialog"],"mappings":";;;;;;;;;AAkBA;;;;;AAKG;AACI,MAAM,sBAAsB,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAA+B,MACpGA,eAAA,CAAA,QAAA,EAAA,EAAQ,SAAS,EAAC,kGAAkG,EAAA,QAAA,EAAA,CAClHC,cAAA,CAACC,yBAAY,EAAA,EAAC,IAAI,EAAC,IAAI,EAAA,CAAG,EAC1BD,cAAA,CAACE,mCAAiB,EAAA,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAA,CAAI,CAAA,EAAA,CACxF;AAYX;;;;;AAKG;AACI,MAAM,sBAAsB,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAA+B,MACxGF,cAAA,CAACG,gCAAgB,EAAA,EACf,aAAa,EAAA,IAAA,EACb,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KACnCC,KAAE,CACA,kFAAkF,EAClF,UAAU,IAAI,6CAA6C,EAC3D,SAAS,IAAI,+CAA+C,CAC7D,EAAA,QAAA,EAGF,CAAC,EAAE,KAAK,EAAE,MACTL,eAAA,CAAAM,mBAAA,EAAA,EAAA,QAAA,EAAA,CACEL,cAAA,CAACM,0BAAU,EAAA,EAAA,YAAA,EACE,uBAAuB,EAClC,OAAO,EAAE,MAAM,KAAK,CAAC,KAAK,EAAE,EAC5B,SAAS,EAAC,uNAAuN,EAAA,QAAA,EAEjON,cAAA,CAACO,SAAS,EAAA,EAAC,SAAS,EAAC,QAAQ,EAAA,CAAG,EAAA,CACrB,EAEbP,cAAA,CAACQ,yBAAS,EAAA,EAAC,SAAS,EAAC,mDAAmD,EAAA,QAAA,EACtER,cAAA,CAACS,0BAAU,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAC,2CAA2C,EAAA,QAAA,EACtE,QAAQ,EAAA,CACE,EAAA,CACH,CAAA,EAAA,CACX,CACJ,EAAA,CACgB;;;;;"}
|
|
@@ -1,3 +1,33 @@
|
|
|
1
1
|
import type { PropsWithChildren } from 'react';
|
|
2
|
-
|
|
2
|
+
interface MobileNavigationHeaderProps {
|
|
3
|
+
/** Whether the drawer is open — drives the hamburger's icon and `aria-expanded`. */
|
|
4
|
+
isOpen: boolean;
|
|
5
|
+
/** Toggle the drawer open-state. */
|
|
6
|
+
onOpenChange: (open: boolean) => void;
|
|
7
|
+
/** ID of the drawer this header's toggle controls, for `aria-controls`. */
|
|
8
|
+
controls?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The built-in mobile top bar: Flipdish logo + hamburger toggle, shown below the
|
|
12
|
+
* `lg` breakpoint. Rendered by `SidebarNavigation` when `showMobileHeader` is `true`.
|
|
13
|
+
* Consumers who supply their own header instead should set `showMobileHeader={false}`
|
|
14
|
+
* and embed a {@link SidebarMenuButton}.
|
|
15
|
+
*/
|
|
16
|
+
export declare const MobileNavigationHeader: ({ isOpen, onOpenChange, controls }: MobileNavigationHeaderProps) => import("react").JSX.Element;
|
|
17
|
+
interface MobileNavigationDrawerProps extends PropsWithChildren {
|
|
18
|
+
/** Controlled open state of the drawer. */
|
|
19
|
+
isOpen: boolean;
|
|
20
|
+
/** Called when the drawer opens or closes (backdrop click, Escape, or close button). */
|
|
21
|
+
onOpenChange: (open: boolean) => void;
|
|
22
|
+
/** ID applied to the drawer dialog, so a toggle can reference it via `aria-controls`. */
|
|
23
|
+
id?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The controlled slide-over drawer that holds the mobile navigation. Its open
|
|
27
|
+
* state is owned by `SidebarNavigation`, so it can be driven by either the
|
|
28
|
+
* built-in header or an externally-embedded {@link SidebarMenuButton}. Hidden at
|
|
29
|
+
* `lg` and up, where the fixed rail takes over.
|
|
30
|
+
*/
|
|
31
|
+
export declare const MobileNavigationDrawer: ({ isOpen, onOpenChange, id, children }: MobileNavigationDrawerProps) => import("react").JSX.Element;
|
|
32
|
+
export {};
|
|
3
33
|
//# sourceMappingURL=mobile-header.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobile-header.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/SidebarNavigation/components/mobile-header.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"mobile-header.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/SidebarNavigation/components/mobile-header.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAI/C,UAAU,2BAA2B;IACnC,oFAAoF;IACpF,MAAM,EAAE,OAAO,CAAC;IAChB,oCAAoC;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAAI,oCAAoC,2BAA2B,gCAKrG,CAAC;AAEF,UAAU,2BAA4B,SAAQ,iBAAiB;IAC7D,2CAA2C;IAC3C,MAAM,EAAE,OAAO,CAAC;IAChB,wFAAwF;IACxF,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,yFAAyF;IACzF,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAAI,wCAAwC,2BAA2B,gCA+BzG,CAAC"}
|
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
2
|
+
import { X } from '@flipdish/ui-icons';
|
|
3
3
|
import { FlipdishLogo } from '@flipdish/ui-library/components/atoms/FlipdishLogo';
|
|
4
4
|
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
5
|
-
import {
|
|
5
|
+
import { ModalOverlay, Button, Modal, Dialog } from 'react-aria-components';
|
|
6
|
+
import { SidebarMenuButton } from './sidebar-menu-button.js';
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
/**
|
|
9
|
+
* The built-in mobile top bar: Flipdish logo + hamburger toggle, shown below the
|
|
10
|
+
* `lg` breakpoint. Rendered by `SidebarNavigation` when `showMobileHeader` is `true`.
|
|
11
|
+
* Consumers who supply their own header instead should set `showMobileHeader={false}`
|
|
12
|
+
* and embed a {@link SidebarMenuButton}.
|
|
13
|
+
*/
|
|
14
|
+
const MobileNavigationHeader = ({ isOpen, onOpenChange, controls }) => (jsxs("header", { className: "flex h-14 items-center justify-between border-b border-secondary bg-secondary p-3 pl-4 lg:hidden", children: [jsx(FlipdishLogo, { size: "sm" }), jsx(SidebarMenuButton, { isOpen: isOpen, onPress: () => onOpenChange(!isOpen), controls: controls })] }));
|
|
15
|
+
/**
|
|
16
|
+
* The controlled slide-over drawer that holds the mobile navigation. Its open
|
|
17
|
+
* state is owned by `SidebarNavigation`, so it can be driven by either the
|
|
18
|
+
* built-in header or an externally-embedded {@link SidebarMenuButton}. Hidden at
|
|
19
|
+
* `lg` and up, where the fixed rail takes over.
|
|
20
|
+
*/
|
|
21
|
+
const MobileNavigationDrawer = ({ isOpen, onOpenChange, id, children }) => (jsx(ModalOverlay, { isDismissable: true, isOpen: isOpen, onOpenChange: onOpenChange, className: ({ isEntering, isExiting }) => cx('fixed inset-0 z-50 cursor-pointer bg-overlay/70 pr-16 backdrop-blur-md lg:hidden', isEntering && 'duration-300 ease-in-out animate-in fade-in', isExiting && 'duration-200 ease-in-out animate-out fade-out'), children: ({ state }) => (jsxs(Fragment, { children: [jsx(Button, { "aria-label": "Close navigation menu", onPress: () => state.close(), className: "fixed top-2.5 right-3 flex cursor-pointer items-center justify-center rounded-lg p-2 text-fg-white/70 outline-focus-ring hover:bg-white/10 hover:text-fg-white focus-visible:outline-2 focus-visible:outline-offset-2", children: jsx(X, { className: "size-6" }) }), jsx(Modal, { className: "w-full max-w-74 cursor-auto will-change-transform", children: jsx(Dialog, { id: id, className: "h-dvh outline-hidden focus:outline-hidden", children: children }) })] })) }));
|
|
10
22
|
|
|
11
|
-
export { MobileNavigationHeader };
|
|
23
|
+
export { MobileNavigationDrawer, MobileNavigationHeader };
|
|
12
24
|
//# sourceMappingURL=mobile-header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobile-header.js","sources":["../../../../../src/components/organisms/SidebarNavigation/components/mobile-header.tsx"],"sourcesContent":[null],"names":["_jsxs","
|
|
1
|
+
{"version":3,"file":"mobile-header.js","sources":["../../../../../src/components/organisms/SidebarNavigation/components/mobile-header.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","AriaModalOverlay","_Fragment","AriaButton","CloseIcon","AriaModal","AriaDialog"],"mappings":";;;;;;;AAkBA;;;;;AAKG;AACI,MAAM,sBAAsB,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAA+B,MACpGA,IAAA,CAAA,QAAA,EAAA,EAAQ,SAAS,EAAC,kGAAkG,EAAA,QAAA,EAAA,CAClHC,GAAA,CAAC,YAAY,EAAA,EAAC,IAAI,EAAC,IAAI,EAAA,CAAG,EAC1BA,GAAA,CAAC,iBAAiB,EAAA,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAA,CAAI,CAAA,EAAA,CACxF;AAYX;;;;;AAKG;AACI,MAAM,sBAAsB,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAA+B,MACxGA,GAAA,CAACC,YAAgB,EAAA,EACf,aAAa,EAAA,IAAA,EACb,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KACnC,EAAE,CACA,kFAAkF,EAClF,UAAU,IAAI,6CAA6C,EAC3D,SAAS,IAAI,+CAA+C,CAC7D,EAAA,QAAA,EAGF,CAAC,EAAE,KAAK,EAAE,MACTF,IAAA,CAAAG,QAAA,EAAA,EAAA,QAAA,EAAA,CACEF,GAAA,CAACG,MAAU,EAAA,EAAA,YAAA,EACE,uBAAuB,EAClC,OAAO,EAAE,MAAM,KAAK,CAAC,KAAK,EAAE,EAC5B,SAAS,EAAC,uNAAuN,EAAA,QAAA,EAEjOH,GAAA,CAACI,CAAS,EAAA,EAAC,SAAS,EAAC,QAAQ,EAAA,CAAG,EAAA,CACrB,EAEbJ,GAAA,CAACK,KAAS,EAAA,EAAC,SAAS,EAAC,mDAAmD,EAAA,QAAA,EACtEL,GAAA,CAACM,MAAU,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAC,2CAA2C,EAAA,QAAA,EACtE,QAAQ,EAAA,CACE,EAAA,CACH,CAAA,EAAA,CACX,CACJ,EAAA,CACgB;;;;"}
|
|
@@ -4,63 +4,24 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
var uiIcons = require('@flipdish/ui-icons');
|
|
5
5
|
var Avatar = require('@flipdish/ui-library/components/atoms/Avatar');
|
|
6
6
|
var avatarLabelGroup = require('@flipdish/ui-library/components/atoms/Avatar/components/avatar-label-group');
|
|
7
|
-
var Button = require('@flipdish/ui-library/components/atoms/Button');
|
|
8
|
-
var RadioButton = require('@flipdish/ui-library/components/atoms/RadioButton');
|
|
9
7
|
var useBreakpoints = require('@flipdish/ui-library/hooks/useBreakpoints');
|
|
10
8
|
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
11
|
-
var focus = require('@react-aria/focus');
|
|
12
9
|
var React = require('react');
|
|
13
10
|
var reactAriaComponents = require('react-aria-components');
|
|
14
11
|
|
|
15
|
-
const NavAccountMenu = ({ className, selectedAccountId, accounts = [], menuItems = [], bottomMenuItems = [], ...dialogProps }) => {
|
|
16
|
-
const focusManager = focus.useFocusManager();
|
|
17
|
-
const dialogRef = React.useRef(null);
|
|
18
|
-
const onKeyDown = React.useCallback((e) => {
|
|
19
|
-
switch (e.key) {
|
|
20
|
-
case 'ArrowDown':
|
|
21
|
-
focusManager?.focusNext({ tabbable: true, wrap: true });
|
|
22
|
-
break;
|
|
23
|
-
case 'ArrowUp':
|
|
24
|
-
focusManager?.focusPrevious({ tabbable: true, wrap: true });
|
|
25
|
-
break;
|
|
26
|
-
}
|
|
27
|
-
}, [focusManager]);
|
|
28
|
-
React.useEffect(() => {
|
|
29
|
-
const element = dialogRef.current;
|
|
30
|
-
if (element) {
|
|
31
|
-
element.addEventListener('keydown', onKeyDown);
|
|
32
|
-
}
|
|
33
|
-
return () => {
|
|
34
|
-
if (element) {
|
|
35
|
-
element.removeEventListener('keydown', onKeyDown);
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
}, [onKeyDown]);
|
|
39
|
-
return (jsxRuntime.jsxs(reactAriaComponents.Dialog, { ...dialogProps, ref: dialogRef, className: cx.cx('w-66 rounded-xl bg-secondary_alt shadow-lg ring ring-secondary_alt outline-hidden', className), children: [jsxRuntime.jsxs("div", { className: "rounded-xl bg-primary ring-1 ring-secondary", children: [menuItems.length > 0 && (jsxRuntime.jsx("div", { className: "flex flex-col gap-0.5 py-1.5", children: menuItems.map((item) => (jsxRuntime.jsx(NavAccountCardMenuItem, { label: item.label, icon: item.icon, shortcut: item.shortcut, onClick: item.onClick }, item.label))) })), jsxRuntime.jsxs("div", { className: cx.cx('flex flex-col gap-0.5 py-1.5', menuItems.length > 0 && 'border-t border-secondary'), children: [jsxRuntime.jsx("div", { className: "px-3 pt-1.5 pb-1 text-xs font-semibold text-tertiary", children: "Switch account" }), jsxRuntime.jsx("div", { className: "flex flex-col gap-0.5 px-1.5", children: accounts.map((account) => (
|
|
40
|
-
// biome-ignore lint/a11y/useButtonType: using a button element for the account switch
|
|
41
|
-
jsxRuntime.jsxs("button", { className: cx.cx('relative w-full cursor-pointer rounded-md px-2 py-1.5 text-left outline-focus-ring transition duration-100 ease-linear hover:bg-primary_hover focus:z-10 focus-visible:outline-2 focus-visible:outline-offset-2', account.id === selectedAccountId && 'bg-primary_hover'), children: [jsxRuntime.jsx(avatarLabelGroup.AvatarLabelGroup, { status: account.status, size: "md", src: account.avatar, title: account.name, subtitle: account.email }), jsxRuntime.jsx(RadioButton.RadioButtonBase, { isSelected: account.id === selectedAccountId, className: "absolute top-2 right-2" })] }, account.id))) })] }), jsxRuntime.jsx("div", { className: "flex flex-col gap-2 px-2 pt-0.5 pb-2", children: jsxRuntime.jsx(Button.Button, { iconLeading: uiIcons.Plus, color: "secondary", size: "sm", children: "Add account" }) })] }), bottomMenuItems.length > 0 && (jsxRuntime.jsx("div", { className: "pt-1 pb-1.5", children: bottomMenuItems.map((item) => (jsxRuntime.jsx(NavAccountCardMenuItem, { label: item.label, icon: item.icon, shortcut: item.shortcut, onClick: item.onClick }, item.label))) }))] }));
|
|
42
|
-
};
|
|
43
|
-
const NavAccountCardMenuItem = ({ icon: Icon, label, shortcut, ...buttonProps }) => {
|
|
44
|
-
return (jsxRuntime.jsx("button", { ...buttonProps, className: cx.cx('group/item w-full cursor-pointer px-1.5 focus:outline-hidden', buttonProps.className), children: jsxRuntime.jsxs("div", { className: cx.cx('flex w-full items-center justify-between gap-3 rounded-md p-2 group-hover/item:bg-primary_hover',
|
|
45
|
-
// Focus styles.
|
|
46
|
-
'outline-focus-ring group-focus-visible/item:outline-2 group-focus-visible/item:outline-offset-2'), children: [jsxRuntime.jsxs("div", { className: "flex gap-2 text-sm font-semibold text-secondary group-hover/item:text-secondary_hover", children: [Icon && jsxRuntime.jsx(Icon, { className: "size-5 text-fg-quaternary group-hover/item:text-fg-quaternary_hover" }), " ", label] }), shortcut && (jsxRuntime.jsx("kbd", { className: "flex rounded px-1 py-px font-body text-xs font-medium text-tertiary ring-1 ring-secondary ring-inset", children: shortcut }))] }) }));
|
|
47
|
-
};
|
|
48
12
|
const POPOVER_ANIMATION = ({ isEntering, isExiting }) => cx.cx('origin-(--trigger-anchor-point) will-change-transform', isEntering &&
|
|
49
13
|
'duration-150 ease-out animate-in fade-in placement-right:slide-in-from-left-0.5 placement-top:slide-in-from-bottom-0.5 placement-bottom:slide-in-from-top-0.5', isExiting &&
|
|
50
14
|
'duration-100 ease-in animate-out fade-out placement-right:slide-out-to-left-0.5 placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5');
|
|
51
|
-
const
|
|
15
|
+
const NavAccountCardMenuItem = ({ icon: Icon, label, shortcut, ...buttonProps }) => (jsxRuntime.jsx("button", { ...buttonProps, className: cx.cx('group/item w-full cursor-pointer px-1.5 focus:outline-hidden', buttonProps.className), children: jsxRuntime.jsxs("div", { className: cx.cx('flex w-full items-center justify-between gap-3 rounded-md p-2 group-hover/item:bg-primary_hover', 'outline-focus-ring group-focus-visible/item:outline-2 group-focus-visible/item:outline-offset-2'), children: [jsxRuntime.jsxs("div", { className: "flex gap-2 text-sm font-semibold text-secondary group-hover/item:text-secondary_hover", children: [Icon && jsxRuntime.jsx(Icon, { className: "size-5 text-fg-quaternary group-hover/item:text-fg-quaternary_hover" }), " ", label] }), shortcut && (jsxRuntime.jsx("kbd", { className: "flex rounded px-1 py-px font-body text-xs font-medium text-tertiary ring-1 ring-secondary ring-inset", children: shortcut }))] }) }));
|
|
16
|
+
const NavAccountMenu = ({ className, menuItems = [], bottomMenuItems = [], ...dialogProps }) => (jsxRuntime.jsxs(reactAriaComponents.Dialog, { ...dialogProps, className: cx.cx('w-66 rounded-xl bg-secondary_alt shadow-lg ring ring-secondary_alt outline-hidden', className), children: [menuItems.length > 0 && (jsxRuntime.jsx("div", { className: "rounded-xl bg-primary ring-1 ring-secondary", children: jsxRuntime.jsx("div", { className: "flex flex-col gap-0.5 py-1.5", children: menuItems.map((item) => (jsxRuntime.jsx(NavAccountCardMenuItem, { label: item.label, icon: item.icon, shortcut: item.shortcut, onClick: item.onClick }, item.label))) }) })), bottomMenuItems.length > 0 && (jsxRuntime.jsx("div", { className: "pt-1 pb-1.5", children: bottomMenuItems.map((item) => (jsxRuntime.jsx(NavAccountCardMenuItem, { label: item.label, icon: item.icon, shortcut: item.shortcut, onClick: item.onClick }, item.label))) }))] }));
|
|
17
|
+
const NavAccountCard = ({ popoverPlacement, account, avatarRounded, menuItems, bottomMenuItems, variant = 'full', }) => {
|
|
52
18
|
const triggerRef = React.useRef(null);
|
|
53
19
|
const isDesktop = useBreakpoints.useBreakpoint('lg');
|
|
54
|
-
const
|
|
55
|
-
if (!selectedAccount) {
|
|
56
|
-
console.warn(`Account with ID ${selectedAccountId} not found in <NavAccountCard />`);
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
59
|
-
const menu = jsxRuntime.jsx(NavAccountMenu, { selectedAccountId: selectedAccountId, accounts: items, menuItems: menuItems, bottomMenuItems: bottomMenuItems });
|
|
20
|
+
const menu = jsxRuntime.jsx(NavAccountMenu, { menuItems: menuItems, bottomMenuItems: bottomMenuItems });
|
|
60
21
|
if (variant === 'avatar') {
|
|
61
|
-
return (jsxRuntime.jsxs(reactAriaComponents.DialogTrigger, { children: [jsxRuntime.jsx(reactAriaComponents.Button, { className: ({ isPressed, isFocused }) => cx.cx('group relative inline-flex rounded-full', (isPressed || isFocused) && 'outline-2 outline-offset-2 outline-focus-ring'), children: jsxRuntime.jsx(Avatar.Avatar, { border: true, status:
|
|
22
|
+
return (jsxRuntime.jsxs(reactAriaComponents.DialogTrigger, { children: [jsxRuntime.jsx(reactAriaComponents.Button, { className: ({ isPressed, isFocused }) => cx.cx('group relative inline-flex rounded-full', (isPressed || isFocused) && 'outline-2 outline-offset-2 outline-focus-ring'), children: jsxRuntime.jsx(Avatar.Avatar, { border: true, status: account.status, src: account.avatar, size: "md", alt: account.name, rounded: avatarRounded }) }), jsxRuntime.jsx(reactAriaComponents.Popover, { placement: popoverPlacement ?? 'right bottom', offset: 8, crossOffset: 6, className: POPOVER_ANIMATION, children: menu })] }));
|
|
62
23
|
}
|
|
63
|
-
return (jsxRuntime.jsxs("div", { ref: triggerRef, className: "relative flex items-center gap-3 rounded-xl p-3 ring-1 ring-secondary ring-inset", children: [jsxRuntime.jsx(avatarLabelGroup.AvatarLabelGroup, { size: "md", src:
|
|
24
|
+
return (jsxRuntime.jsxs("div", { ref: triggerRef, className: "relative flex items-center gap-3 rounded-xl bg-primary p-3 ring-1 ring-secondary ring-inset", children: [jsxRuntime.jsx(avatarLabelGroup.AvatarLabelGroup, { size: "md", src: account.avatar, title: account.name, subtitle: account.email, status: account.status, rounded: avatarRounded }), jsxRuntime.jsxs(reactAriaComponents.DialogTrigger, { children: [jsxRuntime.jsx(reactAriaComponents.Button, { className: "absolute top-2 right-2 flex cursor-pointer items-center justify-center rounded-md p-1.5 text-fg-quaternary outline-focus-ring transition duration-100 ease-linear hover:bg-primary_hover hover:text-fg-quaternary_hover focus-visible:outline-2 focus-visible:outline-offset-2 pressed:bg-primary_hover pressed:text-fg-quaternary_hover", children: jsxRuntime.jsx(uiIcons.ChevronSelectorVertical, { className: "size-4 shrink-0 stroke-[2.25px]" }) }), jsxRuntime.jsx(reactAriaComponents.Popover, { placement: popoverPlacement ?? (isDesktop ? 'right bottom' : 'top right'), triggerRef: triggerRef, offset: 8, className: POPOVER_ANIMATION, children: menu })] })] }));
|
|
64
25
|
};
|
|
65
26
|
|
|
66
27
|
exports.NavAccountCard = NavAccountCard;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-account-card.cjs","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-account-card.tsx"],"sourcesContent":[null],"names":["
|
|
1
|
+
{"version":3,"file":"nav-account-card.cjs","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-account-card.tsx"],"sourcesContent":[null],"names":["cx","_jsx","_jsxs","AriaDialog","useRef","useBreakpoint","AriaDialogTrigger","AriaButton","Avatar","AriaPopover","AvatarLabelGroup","ChevronSelectorVertical"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { FC } from 'react';
|
|
2
2
|
import type { DialogProps as AriaDialogProps, Placement } from 'react-aria-components';
|
|
3
3
|
export type NavAccountType = {
|
|
4
|
-
/** Unique identifier for the
|
|
4
|
+
/** Unique identifier for the account. */
|
|
5
5
|
id: string;
|
|
6
6
|
/** Name of the account holder. */
|
|
7
7
|
name: string;
|
|
@@ -9,7 +9,7 @@ export type NavAccountType = {
|
|
|
9
9
|
email: string;
|
|
10
10
|
/** Avatar image URL. */
|
|
11
11
|
avatar: string;
|
|
12
|
-
/** Online status of the account holder
|
|
12
|
+
/** Online status of the account holder, used for the status indicator. */
|
|
13
13
|
status: 'online' | 'offline';
|
|
14
14
|
};
|
|
15
15
|
export type NavAccountMenuItemType = {
|
|
@@ -25,46 +25,37 @@ export type NavAccountMenuItemType = {
|
|
|
25
25
|
onClick?: () => void;
|
|
26
26
|
};
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
28
|
+
* Account configuration for the sidebar. The menu exposes the profile/settings
|
|
29
|
+
* actions plus a bottom section (e.g. Log out) — there is no account switcher.
|
|
30
30
|
*/
|
|
31
31
|
export type NavAccountData = {
|
|
32
|
-
/**
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
selectedAccountId: string;
|
|
36
|
-
/** Top-section menu items (e.g. View profile, Settings). */
|
|
32
|
+
/** The account to display in the card. */
|
|
33
|
+
account: NavAccountType;
|
|
34
|
+
/** Menu items (e.g. My profile, Account settings, Developer tools). */
|
|
37
35
|
menuItems?: NavAccountMenuItemType[];
|
|
38
|
-
/** Bottom-section menu items (e.g.
|
|
36
|
+
/** Bottom-section menu items (e.g. Log out). */
|
|
39
37
|
bottomMenuItems?: NavAccountMenuItemType[];
|
|
40
38
|
};
|
|
41
|
-
export declare const NavAccountMenu: ({ className,
|
|
39
|
+
export declare const NavAccountMenu: ({ className, menuItems, bottomMenuItems, ...dialogProps }: AriaDialogProps & {
|
|
42
40
|
className?: string;
|
|
43
|
-
/** Accounts to display in the "Switch account" list. */
|
|
44
|
-
accounts?: NavAccountType[];
|
|
45
|
-
selectedAccountId?: string;
|
|
46
|
-
/** Top-section menu items (e.g. View profile, Settings). */
|
|
47
41
|
menuItems?: NavAccountMenuItemType[];
|
|
48
|
-
/** Bottom-section menu items (e.g. Sign out). */
|
|
49
42
|
bottomMenuItems?: NavAccountMenuItemType[];
|
|
50
43
|
}) => import("react").JSX.Element;
|
|
51
|
-
export declare const NavAccountCard: ({ popoverPlacement,
|
|
44
|
+
export declare const NavAccountCard: ({ popoverPlacement, account, avatarRounded, menuItems, bottomMenuItems, variant, }: {
|
|
52
45
|
popoverPlacement?: Placement;
|
|
53
|
-
/**
|
|
54
|
-
|
|
55
|
-
/** Accounts to display in the "Switch account" list. */
|
|
56
|
-
items: NavAccountType[];
|
|
46
|
+
/** The account to display. */
|
|
47
|
+
account: NavAccountType;
|
|
57
48
|
avatarRounded?: boolean;
|
|
58
|
-
/**
|
|
49
|
+
/** Menu items (e.g. My profile, Account settings, Developer tools). */
|
|
59
50
|
menuItems?: NavAccountMenuItemType[];
|
|
60
|
-
/** Bottom-section menu items (e.g.
|
|
51
|
+
/** Bottom-section menu items (e.g. Log out). */
|
|
61
52
|
bottomMenuItems?: NavAccountMenuItemType[];
|
|
62
53
|
/**
|
|
63
54
|
* Rendering mode.
|
|
64
55
|
* - `full` — avatar with name, email, and a chevron trigger (default).
|
|
65
|
-
* - `avatar` — a compact avatar-only trigger for
|
|
56
|
+
* - `avatar` — a compact avatar-only trigger for the collapsed rail.
|
|
66
57
|
* @default 'full'
|
|
67
58
|
*/
|
|
68
59
|
variant?: "full" | "avatar";
|
|
69
|
-
}) => import("react").JSX.Element
|
|
60
|
+
}) => import("react").JSX.Element;
|
|
70
61
|
//# sourceMappingURL=nav-account-card.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-account-card.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-account-card.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nav-account-card.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-account-card.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,EAAE,EAAkB,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvF,MAAM,MAAM,cAAc,GAAG;IAC3B,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,IAAI,CAAC,EAAE,EAAE,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,0CAA0C;IAC1C,OAAO,EAAE,cAAc,CAAC;IACxB,uEAAuE;IACvE,SAAS,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACrC,gDAAgD;IAChD,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;CAC5C,CAAC;AAsCF,eAAO,MAAM,cAAc,GAAI,2DAK5B,eAAe,GAAG;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACrC,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;CAC5C,gCAoBA,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,oFAO5B;IACD,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,8BAA8B;IAC9B,OAAO,EAAE,cAAc,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uEAAuE;IACvE,SAAS,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACrC,gDAAgD;IAChD,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC3C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC7B,gCAiDA,CAAC"}
|
|
@@ -1,64 +1,25 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import { ChevronSelectorVertical
|
|
2
|
+
import { ChevronSelectorVertical } from '@flipdish/ui-icons';
|
|
3
3
|
import { Avatar } from '@flipdish/ui-library/components/atoms/Avatar';
|
|
4
4
|
import { AvatarLabelGroup } from '@flipdish/ui-library/components/atoms/Avatar/components/avatar-label-group';
|
|
5
|
-
import { Button as Button$1 } from '@flipdish/ui-library/components/atoms/Button';
|
|
6
|
-
import { RadioButtonBase } from '@flipdish/ui-library/components/atoms/RadioButton';
|
|
7
5
|
import { useBreakpoint } from '@flipdish/ui-library/hooks/useBreakpoints';
|
|
8
6
|
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
9
|
-
import {
|
|
10
|
-
import { useRef, useCallback, useEffect } from 'react';
|
|
7
|
+
import { useRef } from 'react';
|
|
11
8
|
import { DialogTrigger, Button, Popover, Dialog } from 'react-aria-components';
|
|
12
9
|
|
|
13
|
-
const NavAccountMenu = ({ className, selectedAccountId, accounts = [], menuItems = [], bottomMenuItems = [], ...dialogProps }) => {
|
|
14
|
-
const focusManager = useFocusManager();
|
|
15
|
-
const dialogRef = useRef(null);
|
|
16
|
-
const onKeyDown = useCallback((e) => {
|
|
17
|
-
switch (e.key) {
|
|
18
|
-
case 'ArrowDown':
|
|
19
|
-
focusManager?.focusNext({ tabbable: true, wrap: true });
|
|
20
|
-
break;
|
|
21
|
-
case 'ArrowUp':
|
|
22
|
-
focusManager?.focusPrevious({ tabbable: true, wrap: true });
|
|
23
|
-
break;
|
|
24
|
-
}
|
|
25
|
-
}, [focusManager]);
|
|
26
|
-
useEffect(() => {
|
|
27
|
-
const element = dialogRef.current;
|
|
28
|
-
if (element) {
|
|
29
|
-
element.addEventListener('keydown', onKeyDown);
|
|
30
|
-
}
|
|
31
|
-
return () => {
|
|
32
|
-
if (element) {
|
|
33
|
-
element.removeEventListener('keydown', onKeyDown);
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
}, [onKeyDown]);
|
|
37
|
-
return (jsxs(Dialog, { ...dialogProps, ref: dialogRef, className: cx('w-66 rounded-xl bg-secondary_alt shadow-lg ring ring-secondary_alt outline-hidden', className), children: [jsxs("div", { className: "rounded-xl bg-primary ring-1 ring-secondary", children: [menuItems.length > 0 && (jsx("div", { className: "flex flex-col gap-0.5 py-1.5", children: menuItems.map((item) => (jsx(NavAccountCardMenuItem, { label: item.label, icon: item.icon, shortcut: item.shortcut, onClick: item.onClick }, item.label))) })), jsxs("div", { className: cx('flex flex-col gap-0.5 py-1.5', menuItems.length > 0 && 'border-t border-secondary'), children: [jsx("div", { className: "px-3 pt-1.5 pb-1 text-xs font-semibold text-tertiary", children: "Switch account" }), jsx("div", { className: "flex flex-col gap-0.5 px-1.5", children: accounts.map((account) => (
|
|
38
|
-
// biome-ignore lint/a11y/useButtonType: using a button element for the account switch
|
|
39
|
-
jsxs("button", { className: cx('relative w-full cursor-pointer rounded-md px-2 py-1.5 text-left outline-focus-ring transition duration-100 ease-linear hover:bg-primary_hover focus:z-10 focus-visible:outline-2 focus-visible:outline-offset-2', account.id === selectedAccountId && 'bg-primary_hover'), children: [jsx(AvatarLabelGroup, { status: account.status, size: "md", src: account.avatar, title: account.name, subtitle: account.email }), jsx(RadioButtonBase, { isSelected: account.id === selectedAccountId, className: "absolute top-2 right-2" })] }, account.id))) })] }), jsx("div", { className: "flex flex-col gap-2 px-2 pt-0.5 pb-2", children: jsx(Button$1, { iconLeading: Plus, color: "secondary", size: "sm", children: "Add account" }) })] }), bottomMenuItems.length > 0 && (jsx("div", { className: "pt-1 pb-1.5", children: bottomMenuItems.map((item) => (jsx(NavAccountCardMenuItem, { label: item.label, icon: item.icon, shortcut: item.shortcut, onClick: item.onClick }, item.label))) }))] }));
|
|
40
|
-
};
|
|
41
|
-
const NavAccountCardMenuItem = ({ icon: Icon, label, shortcut, ...buttonProps }) => {
|
|
42
|
-
return (jsx("button", { ...buttonProps, className: cx('group/item w-full cursor-pointer px-1.5 focus:outline-hidden', buttonProps.className), children: jsxs("div", { className: cx('flex w-full items-center justify-between gap-3 rounded-md p-2 group-hover/item:bg-primary_hover',
|
|
43
|
-
// Focus styles.
|
|
44
|
-
'outline-focus-ring group-focus-visible/item:outline-2 group-focus-visible/item:outline-offset-2'), children: [jsxs("div", { className: "flex gap-2 text-sm font-semibold text-secondary group-hover/item:text-secondary_hover", children: [Icon && jsx(Icon, { className: "size-5 text-fg-quaternary group-hover/item:text-fg-quaternary_hover" }), " ", label] }), shortcut && (jsx("kbd", { className: "flex rounded px-1 py-px font-body text-xs font-medium text-tertiary ring-1 ring-secondary ring-inset", children: shortcut }))] }) }));
|
|
45
|
-
};
|
|
46
10
|
const POPOVER_ANIMATION = ({ isEntering, isExiting }) => cx('origin-(--trigger-anchor-point) will-change-transform', isEntering &&
|
|
47
11
|
'duration-150 ease-out animate-in fade-in placement-right:slide-in-from-left-0.5 placement-top:slide-in-from-bottom-0.5 placement-bottom:slide-in-from-top-0.5', isExiting &&
|
|
48
12
|
'duration-100 ease-in animate-out fade-out placement-right:slide-out-to-left-0.5 placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5');
|
|
49
|
-
const
|
|
13
|
+
const NavAccountCardMenuItem = ({ icon: Icon, label, shortcut, ...buttonProps }) => (jsx("button", { ...buttonProps, className: cx('group/item w-full cursor-pointer px-1.5 focus:outline-hidden', buttonProps.className), children: jsxs("div", { className: cx('flex w-full items-center justify-between gap-3 rounded-md p-2 group-hover/item:bg-primary_hover', 'outline-focus-ring group-focus-visible/item:outline-2 group-focus-visible/item:outline-offset-2'), children: [jsxs("div", { className: "flex gap-2 text-sm font-semibold text-secondary group-hover/item:text-secondary_hover", children: [Icon && jsx(Icon, { className: "size-5 text-fg-quaternary group-hover/item:text-fg-quaternary_hover" }), " ", label] }), shortcut && (jsx("kbd", { className: "flex rounded px-1 py-px font-body text-xs font-medium text-tertiary ring-1 ring-secondary ring-inset", children: shortcut }))] }) }));
|
|
14
|
+
const NavAccountMenu = ({ className, menuItems = [], bottomMenuItems = [], ...dialogProps }) => (jsxs(Dialog, { ...dialogProps, className: cx('w-66 rounded-xl bg-secondary_alt shadow-lg ring ring-secondary_alt outline-hidden', className), children: [menuItems.length > 0 && (jsx("div", { className: "rounded-xl bg-primary ring-1 ring-secondary", children: jsx("div", { className: "flex flex-col gap-0.5 py-1.5", children: menuItems.map((item) => (jsx(NavAccountCardMenuItem, { label: item.label, icon: item.icon, shortcut: item.shortcut, onClick: item.onClick }, item.label))) }) })), bottomMenuItems.length > 0 && (jsx("div", { className: "pt-1 pb-1.5", children: bottomMenuItems.map((item) => (jsx(NavAccountCardMenuItem, { label: item.label, icon: item.icon, shortcut: item.shortcut, onClick: item.onClick }, item.label))) }))] }));
|
|
15
|
+
const NavAccountCard = ({ popoverPlacement, account, avatarRounded, menuItems, bottomMenuItems, variant = 'full', }) => {
|
|
50
16
|
const triggerRef = useRef(null);
|
|
51
17
|
const isDesktop = useBreakpoint('lg');
|
|
52
|
-
const
|
|
53
|
-
if (!selectedAccount) {
|
|
54
|
-
console.warn(`Account with ID ${selectedAccountId} not found in <NavAccountCard />`);
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
const menu = jsx(NavAccountMenu, { selectedAccountId: selectedAccountId, accounts: items, menuItems: menuItems, bottomMenuItems: bottomMenuItems });
|
|
18
|
+
const menu = jsx(NavAccountMenu, { menuItems: menuItems, bottomMenuItems: bottomMenuItems });
|
|
58
19
|
if (variant === 'avatar') {
|
|
59
|
-
return (jsxs(DialogTrigger, { children: [jsx(Button, { className: ({ isPressed, isFocused }) => cx('group relative inline-flex rounded-full', (isPressed || isFocused) && 'outline-2 outline-offset-2 outline-focus-ring'), children: jsx(Avatar, { border: true, status:
|
|
20
|
+
return (jsxs(DialogTrigger, { children: [jsx(Button, { className: ({ isPressed, isFocused }) => cx('group relative inline-flex rounded-full', (isPressed || isFocused) && 'outline-2 outline-offset-2 outline-focus-ring'), children: jsx(Avatar, { border: true, status: account.status, src: account.avatar, size: "md", alt: account.name, rounded: avatarRounded }) }), jsx(Popover, { placement: popoverPlacement ?? 'right bottom', offset: 8, crossOffset: 6, className: POPOVER_ANIMATION, children: menu })] }));
|
|
60
21
|
}
|
|
61
|
-
return (jsxs("div", { ref: triggerRef, className: "relative flex items-center gap-3 rounded-xl p-3 ring-1 ring-secondary ring-inset", children: [jsx(AvatarLabelGroup, { size: "md", src:
|
|
22
|
+
return (jsxs("div", { ref: triggerRef, className: "relative flex items-center gap-3 rounded-xl bg-primary p-3 ring-1 ring-secondary ring-inset", children: [jsx(AvatarLabelGroup, { size: "md", src: account.avatar, title: account.name, subtitle: account.email, status: account.status, rounded: avatarRounded }), jsxs(DialogTrigger, { children: [jsx(Button, { className: "absolute top-2 right-2 flex cursor-pointer items-center justify-center rounded-md p-1.5 text-fg-quaternary outline-focus-ring transition duration-100 ease-linear hover:bg-primary_hover hover:text-fg-quaternary_hover focus-visible:outline-2 focus-visible:outline-offset-2 pressed:bg-primary_hover pressed:text-fg-quaternary_hover", children: jsx(ChevronSelectorVertical, { className: "size-4 shrink-0 stroke-[2.25px]" }) }), jsx(Popover, { placement: popoverPlacement ?? (isDesktop ? 'right bottom' : 'top right'), triggerRef: triggerRef, offset: 8, className: POPOVER_ANIMATION, children: menu })] })] }));
|
|
62
23
|
};
|
|
63
24
|
|
|
64
25
|
export { NavAccountCard, NavAccountMenu };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-account-card.js","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-account-card.tsx"],"sourcesContent":[null],"names":["
|
|
1
|
+
{"version":3,"file":"nav-account-card.js","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-account-card.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaDialog","AriaDialogTrigger","AriaButton","AriaPopover"],"mappings":"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"}
|
|
@@ -5,9 +5,9 @@ var Tooltip = require('@flipdish/ui-library/components/atoms/Tooltip');
|
|
|
5
5
|
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
6
6
|
var reactAriaComponents = require('react-aria-components');
|
|
7
7
|
|
|
8
|
-
const NavButton = ({ current, label, href, icon: Icon, className, tooltipPlacement = 'right', onClick, children }) => {
|
|
8
|
+
const NavButton = ({ current, label, href, icon: Icon, className, tooltipPlacement = 'right', onClick, children, 'aria-expanded': ariaExpanded, 'aria-controls': ariaControls, }) => {
|
|
9
9
|
const iconOnly = !children;
|
|
10
|
-
return (jsxRuntime.jsx(Tooltip.Tooltip, { isDisabled: !label, title: label, placement: tooltipPlacement, children: jsxRuntime.jsx(reactAriaComponents.Pressable, { children: jsxRuntime.jsxs("a", { href: href, "aria-label": label, onClick: onClick, className: cx.cx('group/item relative flex w-full cursor-pointer items-center justify-center gap-1 rounded-md bg-
|
|
10
|
+
return (jsxRuntime.jsx(Tooltip.Tooltip, { isDisabled: !label, title: label, placement: tooltipPlacement, children: jsxRuntime.jsx(reactAriaComponents.Pressable, { children: jsxRuntime.jsxs("a", { href: href, "aria-label": label, "aria-expanded": ariaExpanded, "aria-controls": ariaControls, onClick: onClick, className: cx.cx('group/item relative flex w-full cursor-pointer items-center justify-center gap-1 rounded-md bg-transparent outline-focus-ring transition duration-100 ease-linear select-none hover:bg-secondary_hover focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2', current && 'bg-brand-primary hover:bg-brand-primary', iconOnly ? 'size-9' : 'px-2 py-1.5', className), children: [Icon && (jsxRuntime.jsx(Icon, { "aria-hidden": "true", className: cx.cx('size-5 shrink-0 text-fg-quaternary transition-inherit-all group-hover/item:text-fg-quaternary_hover', current && 'text-fg-brand-primary') })), children && (jsxRuntime.jsx("span", { className: cx.cx('px-0.5 text-sm font-semibold transition duration-100 ease-linear group-hover/item:text-secondary_hover', current && 'text-brand-secondary'), children: children }))] }) }) }));
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
exports.NavButton = NavButton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-button.cjs","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-button.tsx"],"sourcesContent":[null],"names":["_jsx","Tooltip","Pressable","_jsxs","cx"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"nav-button.cjs","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-button.tsx"],"sourcesContent":[null],"names":["_jsx","Tooltip","Pressable","_jsxs","cx"],"mappings":";;;;;;;AAgCO,MAAM,SAAS,GAAG,CAAC,EACxB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,IAAI,EAAE,IAAI,EACV,SAAS,EACT,gBAAgB,GAAG,OAAO,EAC1B,OAAO,EACP,QAAQ,EACR,eAAe,EAAE,YAAY,EAC7B,eAAe,EAAE,YAAY,GACd,KAAI;AACnB,IAAA,MAAM,QAAQ,GAAG,CAAC,QAAQ;IAE1B,QACEA,eAACC,eAAO,EAAA,EAAC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAA,QAAA,EACpED,eAACE,6BAAS,EAAA,EAAA,QAAA,EACRC,eAAA,CAAA,GAAA,EAAA,EACE,IAAI,EAAE,IAAI,gBACE,KAAK,EAAA,eAAA,EACF,YAAY,EAAA,eAAA,EACZ,YAAY,EAC3B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAEC,KAAE,CACX,kRAAkR,EAClR,OAAO,IAAI,yCAAyC,EACpD,QAAQ,GAAG,QAAQ,GAAG,aAAa,EACnC,SAAS,CACV,EAAA,QAAA,EAAA,CAEA,IAAI,KACHJ,cAAA,CAAC,IAAI,mBACS,MAAM,EAClB,SAAS,EAAEI,KAAE,CACX,qGAAqG,EACrG,OAAO,IAAI,uBAAuB,CACnC,GACD,CACH,EAEA,QAAQ,KACPJ,yBACE,SAAS,EAAEI,KAAE,CACX,wGAAwG,EACxG,OAAO,IAAI,sBAAsB,CAClC,EAAA,QAAA,EAEA,QAAQ,EAAA,CACJ,CACR,CAAA,EAAA,CACC,EAAA,CACM,EAAA,CACJ;AAEd;;;;"}
|
|
@@ -18,9 +18,13 @@ interface NavButtonProps {
|
|
|
18
18
|
className?: string;
|
|
19
19
|
/** Placement of the tooltip. */
|
|
20
20
|
tooltipPlacement?: 'top' | 'right' | 'bottom' | 'left';
|
|
21
|
+
/** Disclosure state when the button triggers a revealed region (e.g. a sub-nav panel). */
|
|
22
|
+
'aria-expanded'?: boolean;
|
|
23
|
+
/** ID of the region this button controls when it acts as a disclosure trigger. */
|
|
24
|
+
'aria-controls'?: string;
|
|
21
25
|
/** Content to display. */
|
|
22
26
|
children?: ReactNode;
|
|
23
27
|
}
|
|
24
|
-
export declare const NavButton: ({ current, label, href, icon: Icon, className, tooltipPlacement, onClick, children }: NavButtonProps) => import("react").JSX.Element;
|
|
28
|
+
export declare const NavButton: ({ current, label, href, icon: Icon, className, tooltipPlacement, onClick, children, "aria-expanded": ariaExpanded, "aria-controls": ariaControls, }: NavButtonProps) => import("react").JSX.Element;
|
|
25
29
|
export {};
|
|
26
30
|
//# sourceMappingURL=nav-button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-button.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-button.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9D,UAAU,cAAc;IACtB,gDAAgD;IAChD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,IAAI,CAAC,EAAE,EAAE,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gCAAgC;IAChC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,gBAAgB,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvD,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,GAAI,
|
|
1
|
+
{"version":3,"file":"nav-button.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-button.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9D,UAAU,cAAc;IACtB,gDAAgD;IAChD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,IAAI,CAAC,EAAE,EAAE,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gCAAgC;IAChC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,gBAAgB,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvD,0FAA0F;IAC1F,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kFAAkF;IAClF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,GAAI,qJAWvB,cAAc,gCA2ChB,CAAC"}
|