@flipdish/ui-library 0.27.0 → 0.29.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/organisms/ApplicationHeader/applicationHeader.types.d.ts +10 -0
- package/dist/components/organisms/ApplicationHeader/applicationHeader.types.d.ts.map +1 -1
- package/dist/components/organisms/ApplicationHeader/components/header-action.cjs +2 -1
- package/dist/components/organisms/ApplicationHeader/components/header-action.cjs.map +1 -1
- package/dist/components/organisms/ApplicationHeader/components/header-action.d.ts +3 -1
- package/dist/components/organisms/ApplicationHeader/components/header-action.d.ts.map +1 -1
- package/dist/components/organisms/ApplicationHeader/components/header-action.js +2 -1
- package/dist/components/organisms/ApplicationHeader/components/header-action.js.map +1 -1
- package/dist/components/organisms/ApplicationHeader/index.cjs +5 -1
- package/dist/components/organisms/ApplicationHeader/index.cjs.map +1 -1
- package/dist/components/organisms/ApplicationHeader/index.d.ts.map +1 -1
- package/dist/components/organisms/ApplicationHeader/index.js +5 -1
- package/dist/components/organisms/ApplicationHeader/index.js.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/logo-link.cjs +23 -0
- package/dist/components/organisms/SidebarNavigation/components/logo-link.cjs.map +1 -0
- package/dist/components/organisms/SidebarNavigation/components/logo-link.d.ts +16 -0
- package/dist/components/organisms/SidebarNavigation/components/logo-link.d.ts.map +1 -0
- package/dist/components/organisms/SidebarNavigation/components/logo-link.js +21 -0
- package/dist/components/organisms/SidebarNavigation/components/logo-link.js.map +1 -0
- package/dist/components/organisms/SidebarNavigation/components/mobile-header.cjs +2 -2
- package/dist/components/organisms/SidebarNavigation/components/mobile-header.cjs.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/mobile-header.d.ts +7 -1
- package/dist/components/organisms/SidebarNavigation/components/mobile-header.d.ts.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/mobile-header.js +2 -2
- package/dist/components/organisms/SidebarNavigation/components/mobile-header.js.map +1 -1
- package/dist/components/organisms/SidebarNavigation/index.cjs +6 -5
- package/dist/components/organisms/SidebarNavigation/index.cjs.map +1 -1
- package/dist/components/organisms/SidebarNavigation/index.d.ts +17 -6
- package/dist/components/organisms/SidebarNavigation/index.d.ts.map +1 -1
- package/dist/components/organisms/SidebarNavigation/index.js +6 -5
- package/dist/components/organisms/SidebarNavigation/index.js.map +1 -1
- package/dist/components/organisms/SidebarNavigation/sidebarNavigation.types.d.ts +17 -0
- package/dist/components/organisms/SidebarNavigation/sidebarNavigation.types.d.ts.map +1 -1
- package/dist/components/templates/AppShell/index.cjs +28 -0
- package/dist/components/templates/AppShell/index.cjs.map +1 -0
- package/dist/components/templates/AppShell/index.d.ts +40 -0
- package/dist/components/templates/AppShell/index.d.ts.map +1 -0
- package/dist/components/templates/AppShell/index.js +26 -0
- package/dist/components/templates/AppShell/index.js.map +1 -0
- package/dist/native/components/templates/AppShell/index.d.ts +12 -0
- package/package.json +1 -1
|
@@ -23,10 +23,20 @@ export interface ApplicationHeaderSearch extends ApplicationHeaderElement {
|
|
|
23
23
|
export interface ApplicationHeaderNotifications extends ApplicationHeaderElement {
|
|
24
24
|
/** Unread count. The badge is hidden at `0` or `undefined` and reads `9+` above 9. */
|
|
25
25
|
count?: number;
|
|
26
|
+
/**
|
|
27
|
+
* Whether the notifications surface this button opens is open. Highlights the button and sets
|
|
28
|
+
* `aria-expanded`. Leave `undefined` when the button navigates instead of opening something.
|
|
29
|
+
*/
|
|
30
|
+
isOpen?: boolean;
|
|
26
31
|
/** Called when the notifications button is pressed. */
|
|
27
32
|
onPress: () => void;
|
|
28
33
|
}
|
|
29
34
|
export interface ApplicationHeaderAssistant extends ApplicationHeaderElement {
|
|
35
|
+
/**
|
|
36
|
+
* Whether the assistant surface this button opens is open. Highlights the button and sets
|
|
37
|
+
* `aria-expanded`. Leave `undefined` when the button navigates instead of opening something.
|
|
38
|
+
*/
|
|
39
|
+
isOpen?: boolean;
|
|
30
40
|
/** Called when the assistant button is pressed. */
|
|
31
41
|
onPress: () => void;
|
|
32
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applicationHeader.types.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/ApplicationHeader/applicationHeader.types.ts"],"names":[],"mappings":"AAAA,UAAU,wBAAwB;IAChC,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IACvE,2HAA2H;IAC3H,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,8BAA+B,SAAQ,wBAAwB;IAC9E,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,0BAA2B,SAAQ,wBAAwB;IAC1E,mDAAmD;IACnD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC;IACtF,8GAA8G;IAC9G,IAAI,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,qBAAsB,SAAQ,wBAAwB;IACrE,kEAAkE;IAClE,MAAM,EAAE,OAAO,CAAC;IAChB,kEAAkE;IAClE,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
|
1
|
+
{"version":3,"file":"applicationHeader.types.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/ApplicationHeader/applicationHeader.types.ts"],"names":[],"mappings":"AAAA,UAAU,wBAAwB;IAChC,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IACvE,2HAA2H;IAC3H,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,8BAA+B,SAAQ,wBAAwB;IAC9E,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,0BAA2B,SAAQ,wBAAwB;IAC1E;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC;IACtF,8GAA8G;IAC9G,IAAI,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,qBAAsB,SAAQ,wBAAwB;IACrE,kEAAkE;IAClE,MAAM,EAAE,OAAO,CAAC;IAChB,kEAAkE;IAClE,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var Tooltip = require('@flipdish/ui-library/components/atoms/Tooltip');
|
|
5
|
+
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
5
6
|
var testIdUtils = require('@flipdish/ui-library/utilities/testIdUtils');
|
|
6
7
|
var reactAriaComponents = require('react-aria-components');
|
|
7
8
|
|
|
8
|
-
const HeaderAction = ({ icon: Icon, label, tooltip, badge, onPress, 'data-testid': dataTestId }) => (jsxRuntime.jsx(Tooltip.Tooltip, { title: tooltip, placement: "bottom", "data-testid": testIdUtils.joinTestId(dataTestId, 'tooltip'), children: jsxRuntime.jsxs(reactAriaComponents.Button, { "aria-label": label, "data-testid": dataTestId, onPress: onPress, className:
|
|
9
|
+
const HeaderAction = ({ icon: Icon, label, tooltip, badge, isOpen, onPress, 'data-testid': dataTestId }) => (jsxRuntime.jsx(Tooltip.Tooltip, { title: tooltip, placement: "bottom", "data-testid": testIdUtils.joinTestId(dataTestId, 'tooltip'), children: jsxRuntime.jsxs(reactAriaComponents.Button, { "aria-label": label, "aria-expanded": isOpen, "data-testid": dataTestId, onPress: onPress, className: cx.cx('relative flex size-9 shrink-0 cursor-pointer items-center justify-center rounded-md 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', isOpen && 'bg-brand-primary text-fg-brand-primary hover:bg-brand-primary hover:text-fg-brand-primary'), children: [jsxRuntime.jsx(Icon, { "aria-hidden": "true", className: "size-5 shrink-0" }), badge && (jsxRuntime.jsx("span", { "aria-hidden": "true", className: "absolute -top-px right-0 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-fg-error-primary px-0.5 text-center text-[10px] leading-[13px] font-bold text-white", children: badge }))] }) }));
|
|
9
10
|
|
|
10
11
|
exports.HeaderAction = HeaderAction;
|
|
11
12
|
//# sourceMappingURL=header-action.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-action.cjs","sources":["../../../../../src/components/organisms/ApplicationHeader/components/header-action.tsx"],"sourcesContent":[null],"names":["_jsx","Tooltip","joinTestId","_jsxs","AriaButton"],"mappings":"
|
|
1
|
+
{"version":3,"file":"header-action.cjs","sources":["../../../../../src/components/organisms/ApplicationHeader/components/header-action.tsx"],"sourcesContent":[null],"names":["_jsx","Tooltip","joinTestId","_jsxs","AriaButton","cx"],"mappings":";;;;;;;;MAsBa,YAAY,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAqB,MAC/HA,cAAA,CAACC,eAAO,EAAA,EAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAC,QAAQ,iBAAcC,sBAAU,CAAC,UAAU,EAAE,SAAS,CAAC,EAAA,QAAA,EACxFC,eAAA,CAACC,0BAAU,kBACG,KAAK,EAAA,eAAA,EACF,MAAM,EAAA,aAAA,EACR,UAAU,EACvB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAEC,KAAE,CACX,4QAA4Q,EAC5Q,MAAM,IAAI,2FAA2F,CACtG,EAAA,QAAA,EAAA,CAEDL,cAAA,CAAC,IAAI,EAAA,EAAA,aAAA,EAAa,MAAM,EAAC,SAAS,EAAC,iBAAiB,EAAA,CAAG,EACtD,KAAK,KACJA,cAAA,CAAA,MAAA,EAAA,EAAA,aAAA,EACc,MAAM,EAClB,SAAS,EAAC,+KAA+K,EAAA,QAAA,EAExL,KAAK,GACD,CACR,CAAA,EAAA,CACU,EAAA,CACL;;;;"}
|
|
@@ -9,9 +9,11 @@ interface HeaderActionProps {
|
|
|
9
9
|
tooltip: string;
|
|
10
10
|
/** Badge text; the badge is omitted when undefined. */
|
|
11
11
|
badge?: string;
|
|
12
|
+
/** Whether the surface this button opens is open. `undefined` means the button does not report a state. */
|
|
13
|
+
isOpen?: boolean;
|
|
12
14
|
onPress: () => void;
|
|
13
15
|
'data-testid': string;
|
|
14
16
|
}
|
|
15
|
-
export declare const HeaderAction: ({ icon: Icon, label, tooltip, badge, onPress, "data-testid": dataTestId }: HeaderActionProps) => import("react").JSX.Element;
|
|
17
|
+
export declare const HeaderAction: ({ icon: Icon, label, tooltip, badge, isOpen, onPress, "data-testid": dataTestId }: HeaderActionProps) => import("react").JSX.Element;
|
|
16
18
|
export {};
|
|
17
19
|
//# sourceMappingURL=header-action.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-action.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/ApplicationHeader/components/header-action.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"header-action.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/ApplicationHeader/components/header-action.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,UAAU,iBAAiB;IACzB,IAAI,EAAE,EAAE,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjC,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2GAA2G;IAC3G,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,YAAY,GAAI,mFAAmF,iBAAiB,gCAuBhI,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { Tooltip } from '@flipdish/ui-library/components/atoms/Tooltip';
|
|
3
|
+
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
3
4
|
import { joinTestId } from '@flipdish/ui-library/utilities/testIdUtils';
|
|
4
5
|
import { Button } from 'react-aria-components';
|
|
5
6
|
|
|
6
|
-
const HeaderAction = ({ icon: Icon, label, tooltip, badge, onPress, 'data-testid': dataTestId }) => (jsx(Tooltip, { title: tooltip, placement: "bottom", "data-testid": joinTestId(dataTestId, 'tooltip'), children: jsxs(Button, { "aria-label": label, "data-testid": dataTestId, onPress: onPress, className:
|
|
7
|
+
const HeaderAction = ({ icon: Icon, label, tooltip, badge, isOpen, onPress, 'data-testid': dataTestId }) => (jsx(Tooltip, { title: tooltip, placement: "bottom", "data-testid": joinTestId(dataTestId, 'tooltip'), children: jsxs(Button, { "aria-label": label, "aria-expanded": isOpen, "data-testid": dataTestId, onPress: onPress, className: cx('relative flex size-9 shrink-0 cursor-pointer items-center justify-center rounded-md 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', isOpen && 'bg-brand-primary text-fg-brand-primary hover:bg-brand-primary hover:text-fg-brand-primary'), children: [jsx(Icon, { "aria-hidden": "true", className: "size-5 shrink-0" }), badge && (jsx("span", { "aria-hidden": "true", className: "absolute -top-px right-0 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-fg-error-primary px-0.5 text-center text-[10px] leading-[13px] font-bold text-white", children: badge }))] }) }));
|
|
7
8
|
|
|
8
9
|
export { HeaderAction };
|
|
9
10
|
//# sourceMappingURL=header-action.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-action.js","sources":["../../../../../src/components/organisms/ApplicationHeader/components/header-action.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaButton"],"mappings":"
|
|
1
|
+
{"version":3,"file":"header-action.js","sources":["../../../../../src/components/organisms/ApplicationHeader/components/header-action.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaButton"],"mappings":";;;;;;MAsBa,YAAY,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAqB,MAC/HA,GAAA,CAAC,OAAO,EAAA,EAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAC,QAAQ,iBAAc,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,EAAA,QAAA,EACxFC,IAAA,CAACC,MAAU,kBACG,KAAK,EAAA,eAAA,EACF,MAAM,EAAA,aAAA,EACR,UAAU,EACvB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,EAAE,CACX,4QAA4Q,EAC5Q,MAAM,IAAI,2FAA2F,CACtG,EAAA,QAAA,EAAA,CAEDF,GAAA,CAAC,IAAI,EAAA,EAAA,aAAA,EAAa,MAAM,EAAC,SAAS,EAAC,iBAAiB,EAAA,CAAG,EACtD,KAAK,KACJA,GAAA,CAAA,MAAA,EAAA,EAAA,aAAA,EACc,MAAM,EAClB,SAAS,EAAC,+KAA+K,EAAA,QAAA,EAExL,KAAK,GACD,CACR,CAAA,EAAA,CACU,EAAA,CACL;;;;"}
|
|
@@ -5,6 +5,7 @@ var uiIcons = require('@flipdish/ui-icons');
|
|
|
5
5
|
var FlipdishLogo = require('@flipdish/ui-library/components/atoms/FlipdishLogo');
|
|
6
6
|
var useBreakpoints = require('@flipdish/ui-library/hooks/useBreakpoints');
|
|
7
7
|
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
8
|
+
var hrefUtils = require('@flipdish/ui-library/utilities/hrefUtils');
|
|
8
9
|
var testIdUtils = require('@flipdish/ui-library/utilities/testIdUtils');
|
|
9
10
|
var React = require('react');
|
|
10
11
|
var reactAriaComponents = require('react-aria-components');
|
|
@@ -41,7 +42,10 @@ const ApplicationHeader = ({ search, notifications, assistant, avatar, menu, hom
|
|
|
41
42
|
const assistantLabel = assistant?.label ?? 'Assistant';
|
|
42
43
|
const menuLabel = menu?.label ?? (menu?.isOpen ? 'Close navigation menu' : 'Open navigation menu');
|
|
43
44
|
const hasActions = Boolean(notifications || assistant || avatar);
|
|
44
|
-
|
|
45
|
+
const safeHomeHref = hrefUtils.safeHref(homeHref);
|
|
46
|
+
return (jsxRuntime.jsx(testIdUtils.TestIdProvider, { value: rootTestId, children: jsxRuntime.jsxs("header", { "data-testid": rootTestId, className: cx.cx('sticky top-0 z-30 flex h-14 w-full items-center gap-2 border-b border-secondary bg-primary pr-3 pl-4 lg:h-16 lg:px-6', className), children: [menu && (jsxRuntime.jsx(menuButton.MenuButton, { isOpen: menu.isOpen, onPress: () => menu.onOpenChange(!menu.isOpen), label: menuLabel, controls: menu.controls, className: "lg:hidden", "data-testid": menu['data-testid'] ?? testIdUtils.joinTestId(rootTestId, 'menu') })), jsxRuntime.jsx("div", { className: "flex min-w-0 flex-1 items-center lg:hidden", children: safeHomeHref === undefined ? (
|
|
47
|
+
// A rejected `homeHref` leaves a plain logo: no link role, nothing to activate.
|
|
48
|
+
jsxRuntime.jsx(FlipdishLogo.FlipdishLogo, { size: "sm", "data-testid": testIdUtils.joinTestId(rootTestId, 'logo') })) : (jsxRuntime.jsx(reactAriaComponents.Link, { href: safeHomeHref, "aria-label": "Go to homepage", "data-testid": testIdUtils.joinTestId(rootTestId, 'logo'), className: "rounded-xs outline-focus-ring focus-visible:outline-2 focus-visible:outline-offset-2", children: jsxRuntime.jsx(FlipdishLogo.FlipdishLogo, { size: "sm", "aria-hidden": "true" }) })) }), search && (jsxRuntime.jsx(searchTrigger.SearchTrigger, { size: "sm", placeholder: search.placeholder ?? 'Search', label: search.label ?? 'Search', onPress: search.onPress, shortcutHint: shortcut ? hotkeys_utils.formatHotkeyHint(shortcut, isApple) : undefined, className: "w-80 max-lg:hidden", "data-testid": search['data-testid'] ?? testIdUtils.joinTestId(rootTestId, 'search') })), hasActions && (jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center gap-2 lg:ml-auto", children: [notifications && (jsxRuntime.jsx(headerAction.HeaderAction, { icon: uiIcons.Bell01, label: applicationHeader_utils.getNotificationsLabel(notificationsLabel, notifications.count), tooltip: notificationsLabel, badge: applicationHeader_utils.formatBadgeCount(notifications.count), isOpen: notifications.isOpen, onPress: notifications.onPress, "data-testid": notifications['data-testid'] ?? testIdUtils.joinTestId(rootTestId, 'notifications') })), assistant && (jsxRuntime.jsx(headerAction.HeaderAction, { icon: uiIcons.Stars01, label: assistantLabel, tooltip: assistantLabel, isOpen: assistant.isOpen, onPress: assistant.onPress, "data-testid": assistant['data-testid'] ?? testIdUtils.joinTestId(rootTestId, 'assistant') })), avatar && (jsxRuntime.jsx(avatarButton.AvatarButton, { name: avatar.name, src: avatar.src, initials: avatar.initials, label: avatar.label ?? avatar.name, onPress: avatar.onPress, "data-testid": avatar['data-testid'] ?? testIdUtils.joinTestId(rootTestId, 'avatar') }))] }))] }) }));
|
|
45
49
|
};
|
|
46
50
|
|
|
47
51
|
exports.ApplicationHeader = ApplicationHeader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../src/components/organisms/ApplicationHeader/index.tsx"],"sourcesContent":[null],"names":["useResolvedTestId","useBreakpoints","useSyncExternalStore","isApplePlatform","useHotkeys","_jsx","TestIdProvider","_jsxs","cx","MenuButton","joinTestId","
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../src/components/organisms/ApplicationHeader/index.tsx"],"sourcesContent":[null],"names":["useResolvedTestId","useBreakpoints","useSyncExternalStore","isApplePlatform","useHotkeys","safeHref","_jsx","TestIdProvider","_jsxs","cx","MenuButton","joinTestId","FlipdishLogo","AriaLink","SearchTrigger","formatHotkeyHint","HeaderAction","Bell01","getNotificationsLabel","formatBadgeCount","Stars01","AvatarButton"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/ApplicationHeader/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/ApplicationHeader/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AAOnC,YAAY,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAMnC,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,+DAA+D;IAC/D,aAAa,CAAC,EAAE,8BAA8B,CAAC;IAC/C,yCAAyC;IACzC,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC;;;OAGG;IACH,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAAI,qGAS/B,sBAAsB,gCA+GxB,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { Bell01, Stars01 } from '@flipdish/ui-icons';
|
|
|
3
3
|
import { FlipdishLogo } from '@flipdish/ui-library/components/atoms/FlipdishLogo';
|
|
4
4
|
import { useBreakpoints } from '@flipdish/ui-library/hooks/useBreakpoints';
|
|
5
5
|
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
6
|
+
import { safeHref } from '@flipdish/ui-library/utilities/hrefUtils';
|
|
6
7
|
import { useResolvedTestId, TestIdProvider, joinTestId } from '@flipdish/ui-library/utilities/testIdUtils';
|
|
7
8
|
import { useSyncExternalStore } from 'react';
|
|
8
9
|
import { Link } from 'react-aria-components';
|
|
@@ -39,7 +40,10 @@ const ApplicationHeader = ({ search, notifications, assistant, avatar, menu, hom
|
|
|
39
40
|
const assistantLabel = assistant?.label ?? 'Assistant';
|
|
40
41
|
const menuLabel = menu?.label ?? (menu?.isOpen ? 'Close navigation menu' : 'Open navigation menu');
|
|
41
42
|
const hasActions = Boolean(notifications || assistant || avatar);
|
|
42
|
-
|
|
43
|
+
const safeHomeHref = safeHref(homeHref);
|
|
44
|
+
return (jsx(TestIdProvider, { value: rootTestId, children: jsxs("header", { "data-testid": rootTestId, className: cx('sticky top-0 z-30 flex h-14 w-full items-center gap-2 border-b border-secondary bg-primary pr-3 pl-4 lg:h-16 lg:px-6', className), children: [menu && (jsx(MenuButton, { isOpen: menu.isOpen, onPress: () => menu.onOpenChange(!menu.isOpen), label: menuLabel, controls: menu.controls, className: "lg:hidden", "data-testid": menu['data-testid'] ?? joinTestId(rootTestId, 'menu') })), jsx("div", { className: "flex min-w-0 flex-1 items-center lg:hidden", children: safeHomeHref === undefined ? (
|
|
45
|
+
// A rejected `homeHref` leaves a plain logo: no link role, nothing to activate.
|
|
46
|
+
jsx(FlipdishLogo, { size: "sm", "data-testid": joinTestId(rootTestId, 'logo') })) : (jsx(Link, { href: safeHomeHref, "aria-label": "Go to homepage", "data-testid": joinTestId(rootTestId, 'logo'), className: "rounded-xs outline-focus-ring focus-visible:outline-2 focus-visible:outline-offset-2", children: jsx(FlipdishLogo, { size: "sm", "aria-hidden": "true" }) })) }), search && (jsx(SearchTrigger, { size: "sm", placeholder: search.placeholder ?? 'Search', label: search.label ?? 'Search', onPress: search.onPress, shortcutHint: shortcut ? formatHotkeyHint(shortcut, isApple) : undefined, className: "w-80 max-lg:hidden", "data-testid": search['data-testid'] ?? joinTestId(rootTestId, 'search') })), hasActions && (jsxs("div", { className: "flex shrink-0 items-center gap-2 lg:ml-auto", children: [notifications && (jsx(HeaderAction, { icon: Bell01, label: getNotificationsLabel(notificationsLabel, notifications.count), tooltip: notificationsLabel, badge: formatBadgeCount(notifications.count), isOpen: notifications.isOpen, onPress: notifications.onPress, "data-testid": notifications['data-testid'] ?? joinTestId(rootTestId, 'notifications') })), assistant && (jsx(HeaderAction, { icon: Stars01, label: assistantLabel, tooltip: assistantLabel, isOpen: assistant.isOpen, onPress: assistant.onPress, "data-testid": assistant['data-testid'] ?? joinTestId(rootTestId, 'assistant') })), avatar && (jsx(AvatarButton, { name: avatar.name, src: avatar.src, initials: avatar.initials, label: avatar.label ?? avatar.name, onPress: avatar.onPress, "data-testid": avatar['data-testid'] ?? joinTestId(rootTestId, 'avatar') }))] }))] }) }));
|
|
43
47
|
};
|
|
44
48
|
|
|
45
49
|
export { ApplicationHeader };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/organisms/ApplicationHeader/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaLink"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/organisms/ApplicationHeader/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaLink"],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var FlipdishLogo = require('@flipdish/ui-library/components/atoms/FlipdishLogo');
|
|
5
|
+
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
6
|
+
var hrefUtils = require('@flipdish/ui-library/utilities/hrefUtils');
|
|
7
|
+
var reactAriaComponents = require('react-aria-components');
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The Flipdish logo as a link home. Sized to the logo so it never swallows clicks meant for neighbouring
|
|
11
|
+
* controls. When `safeHref` rejects the destination it renders the plain logo, so nothing can be activated
|
|
12
|
+
* and `onClick` never reports a URL the link itself refused.
|
|
13
|
+
*/
|
|
14
|
+
const LogoLink = ({ href, size, onClick, className, 'data-testid': dataTestId }) => {
|
|
15
|
+
const destination = hrefUtils.safeHref(href);
|
|
16
|
+
if (destination === undefined) {
|
|
17
|
+
return jsxRuntime.jsx(FlipdishLogo.FlipdishLogo, { size: size, className: className, "data-testid": dataTestId });
|
|
18
|
+
}
|
|
19
|
+
return (jsxRuntime.jsx(reactAriaComponents.Link, { href: destination, "aria-label": "Go to homepage", "data-testid": dataTestId, onClick: onClick, className: cx.cx('inline-flex rounded-xs outline-focus-ring focus-visible:outline-2 focus-visible:outline-offset-2', className), children: jsxRuntime.jsx(FlipdishLogo.FlipdishLogo, { size: size, "aria-hidden": "true" }) }));
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
exports.LogoLink = LogoLink;
|
|
23
|
+
//# sourceMappingURL=logo-link.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logo-link.cjs","sources":["../../../../../src/components/organisms/SidebarNavigation/components/logo-link.tsx"],"sourcesContent":[null],"names":["safeHref","_jsx","FlipdishLogo","AriaLink","cx"],"mappings":";;;;;;;;AAgBA;;;;AAIG;AACI,MAAM,QAAQ,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAiB,KAAI;AACvG,IAAA,MAAM,WAAW,GAAGA,kBAAQ,CAAC,IAAI,CAAC;AAElC,IAAA,IAAI,WAAW,KAAK,SAAS,EAAE;AAC7B,QAAA,OAAOC,cAAA,CAACC,yBAAY,EAAA,EAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAA,aAAA,EAAe,UAAU,GAAI;IACpF;AAEA,IAAA,QACED,cAAA,CAACE,wBAAQ,EAAA,EACP,IAAI,EAAE,WAAW,EAAA,YAAA,EACN,gBAAgB,EAAA,aAAA,EACd,UAAU,EACvB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAEC,KAAE,CAAC,kGAAkG,EAAE,SAAS,CAAC,EAAA,QAAA,EAE5HH,eAACC,yBAAY,EAAA,EAAC,IAAI,EAAE,IAAI,EAAA,aAAA,EAAc,MAAM,EAAA,CAAG,EAAA,CACtC;AAEf;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
interface LogoLinkProps {
|
|
2
|
+
href: string;
|
|
3
|
+
size: 'sm' | 'md';
|
|
4
|
+
/** Called when the link is activated, before the router handles it. Never called for a rejected `href`. */
|
|
5
|
+
onClick?: () => void;
|
|
6
|
+
className?: string;
|
|
7
|
+
'data-testid'?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The Flipdish logo as a link home. Sized to the logo so it never swallows clicks meant for neighbouring
|
|
11
|
+
* controls. When `safeHref` rejects the destination it renders the plain logo, so nothing can be activated
|
|
12
|
+
* and `onClick` never reports a URL the link itself refused.
|
|
13
|
+
*/
|
|
14
|
+
export declare const LogoLink: ({ href, size, onClick, className, "data-testid": dataTestId }: LogoLinkProps) => import("react").JSX.Element;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=logo-link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logo-link.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/SidebarNavigation/components/logo-link.tsx"],"names":[],"mappings":"AAOA,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,2GAA2G;IAC3G,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,+DAA+D,aAAa,gCAkBpG,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { FlipdishLogo } from '@flipdish/ui-library/components/atoms/FlipdishLogo';
|
|
3
|
+
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
4
|
+
import { safeHref } from '@flipdish/ui-library/utilities/hrefUtils';
|
|
5
|
+
import { Link } from 'react-aria-components';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* The Flipdish logo as a link home. Sized to the logo so it never swallows clicks meant for neighbouring
|
|
9
|
+
* controls. When `safeHref` rejects the destination it renders the plain logo, so nothing can be activated
|
|
10
|
+
* and `onClick` never reports a URL the link itself refused.
|
|
11
|
+
*/
|
|
12
|
+
const LogoLink = ({ href, size, onClick, className, 'data-testid': dataTestId }) => {
|
|
13
|
+
const destination = safeHref(href);
|
|
14
|
+
if (destination === undefined) {
|
|
15
|
+
return jsx(FlipdishLogo, { size: size, className: className, "data-testid": dataTestId });
|
|
16
|
+
}
|
|
17
|
+
return (jsx(Link, { href: destination, "aria-label": "Go to homepage", "data-testid": dataTestId, onClick: onClick, className: cx('inline-flex rounded-xs outline-focus-ring focus-visible:outline-2 focus-visible:outline-offset-2', className), children: jsx(FlipdishLogo, { size: size, "aria-hidden": "true" }) }));
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export { LogoLink };
|
|
21
|
+
//# sourceMappingURL=logo-link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logo-link.js","sources":["../../../../../src/components/organisms/SidebarNavigation/components/logo-link.tsx"],"sourcesContent":[null],"names":["_jsx","AriaLink"],"mappings":";;;;;;AAgBA;;;;AAIG;AACI,MAAM,QAAQ,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAiB,KAAI;AACvG,IAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;AAElC,IAAA,IAAI,WAAW,KAAK,SAAS,EAAE;AAC7B,QAAA,OAAOA,GAAA,CAAC,YAAY,EAAA,EAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAA,aAAA,EAAe,UAAU,GAAI;IACpF;AAEA,IAAA,QACEA,GAAA,CAACC,IAAQ,EAAA,EACP,IAAI,EAAE,WAAW,EAAA,YAAA,EACN,gBAAgB,EAAA,aAAA,EACd,UAAU,EACvB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,EAAE,CAAC,kGAAkG,EAAE,SAAS,CAAC,EAAA,QAAA,EAE5HD,IAAC,YAAY,EAAA,EAAC,IAAI,EAAE,IAAI,EAAA,aAAA,EAAc,MAAM,EAAA,CAAG,EAAA,CACtC;AAEf;;;;"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var uiIcons = require('@flipdish/ui-icons');
|
|
5
|
-
var FlipdishLogo = require('@flipdish/ui-library/components/atoms/FlipdishLogo');
|
|
6
5
|
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
7
6
|
var reactAriaComponents = require('react-aria-components');
|
|
7
|
+
var logoLink = require('./logo-link.cjs');
|
|
8
8
|
var sidebarMenuButton = require('./sidebar-menu-button.cjs');
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -13,7 +13,7 @@ var sidebarMenuButton = require('./sidebar-menu-button.cjs');
|
|
|
13
13
|
* Consumers who supply their own header instead should set `showMobileHeader={false}`
|
|
14
14
|
* and embed a {@link SidebarMenuButton}.
|
|
15
15
|
*/
|
|
16
|
-
const MobileNavigationHeader = ({ isOpen, onOpenChange, controls, 'data-testid': dataTestId }) => (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(
|
|
16
|
+
const MobileNavigationHeader = ({ isOpen, onOpenChange, controls, homeHref, onHomePress, logoTestId, 'data-testid': dataTestId, }) => (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(logoLink.LogoLink, { href: homeHref, size: "sm", onClick: onHomePress, "data-testid": logoTestId }), jsxRuntime.jsx(sidebarMenuButton.SidebarMenuButton, { isOpen: isOpen, onPress: () => onOpenChange(!isOpen), controls: controls, "data-testid": dataTestId })] }));
|
|
17
17
|
/**
|
|
18
18
|
* The controlled slide-over drawer that holds the mobile navigation. Its open
|
|
19
19
|
* state is owned by `SidebarNavigation`, so it can be driven by either the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobile-header.cjs","sources":["../../../../../src/components/organisms/SidebarNavigation/components/mobile-header.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","
|
|
1
|
+
{"version":3,"file":"mobile-header.cjs","sources":["../../../../../src/components/organisms/SidebarNavigation/components/mobile-header.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","LogoLink","SidebarMenuButton","AriaModalOverlay","cx","_Fragment","AriaButton","CloseIcon","AriaModal","AriaDialog"],"mappings":";;;;;;;;;AA0BA;;;;;AAKG;AACI,MAAM,sBAAsB,GAAG,CAAC,EACrC,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,UAAU,EACV,aAAa,EAAE,UAAU,GACG,MAC5BA,eAAA,CAAA,QAAA,EAAA,EAAQ,SAAS,EAAC,kGAAkG,EAAA,QAAA,EAAA,CAClHC,cAAA,CAACC,iBAAQ,EAAA,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,WAAW,EAAA,aAAA,EAAe,UAAU,EAAA,CAAI,EACrFD,eAACE,mCAAiB,EAAA,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAA,aAAA,EAAe,UAAU,EAAA,CAAI,CAAA,EAAA,CACjH;AAgBX;;;;;AAKG;AACI,MAAM,sBAAsB,GAAG,CAAC,EACrC,MAAM,EACN,YAAY,EACZ,EAAE,EACF,QAAQ,EACR,YAAY,EAAE,SAAS,GAAG,iBAAiB,EAC3C,aAAa,EAAE,UAAU,GACG,MAC5BF,eAACG,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,EAAA,aAAA,EACrB,UAAU,EACvB,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,IAAC,EAAE,EAAE,EAAE,EAAA,YAAA,EAAc,SAAS,EAAE,SAAS,EAAC,2CAA2C,EAAA,QAAA,EAC7F,QAAQ,EAAA,CACE,EAAA,CACH,CAAA,EAAA,CACX,CACJ,EAAA,CACgB;;;;;"}
|
|
@@ -6,6 +6,12 @@ interface MobileNavigationHeaderProps {
|
|
|
6
6
|
onOpenChange: (open: boolean) => void;
|
|
7
7
|
/** ID of the drawer this header's toggle controls, for `aria-controls`. */
|
|
8
8
|
controls?: string;
|
|
9
|
+
/** Destination of the logo link. */
|
|
10
|
+
homeHref: string;
|
|
11
|
+
/** Called when the logo link is activated. */
|
|
12
|
+
onHomePress?: () => void;
|
|
13
|
+
/** Test id applied to the logo link. */
|
|
14
|
+
logoTestId?: string;
|
|
9
15
|
/** Test id applied to the hamburger toggle. */
|
|
10
16
|
'data-testid'?: string;
|
|
11
17
|
}
|
|
@@ -15,7 +21,7 @@ interface MobileNavigationHeaderProps {
|
|
|
15
21
|
* Consumers who supply their own header instead should set `showMobileHeader={false}`
|
|
16
22
|
* and embed a {@link SidebarMenuButton}.
|
|
17
23
|
*/
|
|
18
|
-
export declare const MobileNavigationHeader: ({ isOpen, onOpenChange, controls, "data-testid": dataTestId }: MobileNavigationHeaderProps) => import("react").JSX.Element;
|
|
24
|
+
export declare const MobileNavigationHeader: ({ isOpen, onOpenChange, controls, homeHref, onHomePress, logoTestId, "data-testid": dataTestId, }: MobileNavigationHeaderProps) => import("react").JSX.Element;
|
|
19
25
|
interface MobileNavigationDrawerProps extends PropsWithChildren {
|
|
20
26
|
/** Controlled open state of the drawer. */
|
|
21
27
|
isOpen: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobile-header.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/SidebarNavigation/components/mobile-header.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mobile-header.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/SidebarNavigation/components/mobile-header.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAK/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;IAClB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAAI,mGAQpC,2BAA2B,gCAK7B,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;IACZ,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAAI,6FAOpC,2BAA2B,gCAgC7B,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { X } from '@flipdish/ui-icons';
|
|
3
|
-
import { FlipdishLogo } from '@flipdish/ui-library/components/atoms/FlipdishLogo';
|
|
4
3
|
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
5
4
|
import { ModalOverlay, Button, Modal, Dialog } from 'react-aria-components';
|
|
5
|
+
import { LogoLink } from './logo-link.js';
|
|
6
6
|
import { SidebarMenuButton } from './sidebar-menu-button.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -11,7 +11,7 @@ import { SidebarMenuButton } from './sidebar-menu-button.js';
|
|
|
11
11
|
* Consumers who supply their own header instead should set `showMobileHeader={false}`
|
|
12
12
|
* and embed a {@link SidebarMenuButton}.
|
|
13
13
|
*/
|
|
14
|
-
const MobileNavigationHeader = ({ isOpen, onOpenChange, controls, 'data-testid': dataTestId }) => (jsxs("header", { className: "flex h-14 items-center justify-between border-b border-secondary bg-secondary p-3 pl-4 lg:hidden", children: [jsx(
|
|
14
|
+
const MobileNavigationHeader = ({ isOpen, onOpenChange, controls, homeHref, onHomePress, logoTestId, 'data-testid': dataTestId, }) => (jsxs("header", { className: "flex h-14 items-center justify-between border-b border-secondary bg-secondary p-3 pl-4 lg:hidden", children: [jsx(LogoLink, { href: homeHref, size: "sm", onClick: onHomePress, "data-testid": logoTestId }), jsx(SidebarMenuButton, { isOpen: isOpen, onPress: () => onOpenChange(!isOpen), controls: controls, "data-testid": dataTestId })] }));
|
|
15
15
|
/**
|
|
16
16
|
* The controlled slide-over drawer that holds the mobile navigation. Its open
|
|
17
17
|
* state is owned by `SidebarNavigation`, so it can be driven by either the
|
|
@@ -1 +1 @@
|
|
|
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":";;;;;;;
|
|
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":";;;;;;;AA0BA;;;;;AAKG;AACI,MAAM,sBAAsB,GAAG,CAAC,EACrC,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,UAAU,EACV,aAAa,EAAE,UAAU,GACG,MAC5BA,IAAA,CAAA,QAAA,EAAA,EAAQ,SAAS,EAAC,kGAAkG,EAAA,QAAA,EAAA,CAClHC,GAAA,CAAC,QAAQ,EAAA,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,WAAW,EAAA,aAAA,EAAe,UAAU,EAAA,CAAI,EACrFA,IAAC,iBAAiB,EAAA,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAA,aAAA,EAAe,UAAU,EAAA,CAAI,CAAA,EAAA,CACjH;AAgBX;;;;;AAKG;AACI,MAAM,sBAAsB,GAAG,CAAC,EACrC,MAAM,EACN,YAAY,EACZ,EAAE,EACF,QAAQ,EACR,YAAY,EAAE,SAAS,GAAG,iBAAiB,EAC3C,aAAa,EAAE,UAAU,GACG,MAC5BA,IAACC,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,EAAA,aAAA,EACrB,UAAU,EACvB,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,IAAC,EAAE,EAAE,EAAE,EAAA,YAAA,EAAc,SAAS,EAAE,SAAS,EAAC,2CAA2C,EAAA,QAAA,EAC7F,QAAQ,EAAA,CACE,EAAA,CACH,CAAA,EAAA,CACX,CACJ,EAAA,CACgB;;;;"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var uiIcons = require('@flipdish/ui-icons');
|
|
5
|
-
var FlipdishLogo = require('@flipdish/ui-library/components/atoms/FlipdishLogo');
|
|
6
5
|
var UtilityButton = require('@flipdish/ui-library/components/atoms/UtilityButton');
|
|
7
6
|
var useBreakpoints = require('@flipdish/ui-library/hooks/useBreakpoints');
|
|
8
7
|
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
@@ -11,6 +10,8 @@ var testIdUtils = require('@flipdish/ui-library/utilities/testIdUtils');
|
|
|
11
10
|
var react = require('motion/react');
|
|
12
11
|
var React = require('react');
|
|
13
12
|
var nav_utils = require('../../__internal__/navigation/nav.utils.cjs');
|
|
13
|
+
var searchTrigger = require('../ApplicationHeader/components/search-trigger.cjs');
|
|
14
|
+
var logoLink = require('./components/logo-link.cjs');
|
|
14
15
|
var mobileHeader = require('./components/mobile-header.cjs');
|
|
15
16
|
var navAccountCard = require('./components/nav-account-card.cjs');
|
|
16
17
|
var navButton = require('./components/nav-button.cjs');
|
|
@@ -34,7 +35,7 @@ const SECONDARY_SIDEBAR_WIDTH = 256;
|
|
|
34
35
|
*
|
|
35
36
|
* @summary Navigate app sections through a collapsible, dual-tier sidebar rail.
|
|
36
37
|
*/
|
|
37
|
-
const SidebarNavigation = ({ activeUrl, items, footerItems = [], account, onNavigate, collapsed, defaultCollapsed = false, onCollapsedChange, persistCollapsed = true, hideBorder, hideRightBorder, showMobileHeader = true, mobileMenuOpen, onMobileMenuOpenChange, 'data-testid': dataTestId, }) => {
|
|
38
|
+
const SidebarNavigation = ({ activeUrl, items, footerItems = [], account, onNavigate, collapsed, defaultCollapsed = false, onCollapsedChange, persistCollapsed = true, hideBorder, hideRightBorder, showMobileHeader = true, mobileMenuOpen, onMobileMenuOpenChange, search, homeHref = '/', 'data-testid': dataTestId, }) => {
|
|
38
39
|
const rootTestId = testIdUtils.useResolvedTestId({ testId: dataTestId, segment: 'sidebar-navigation', rootName: 'sidebar-navigation' });
|
|
39
40
|
const navItemTestId = (item) => item['data-testid'] ?? testIdUtils.joinTestId(rootTestId, `nav-item-${item.id ?? testIdUtils.slugifyTestId(item.label)}`);
|
|
40
41
|
const isControlled = collapsed !== undefined;
|
|
@@ -151,20 +152,20 @@ const SidebarNavigation = ({ activeUrl, items, footerItems = [], account, onNavi
|
|
|
151
152
|
// A parent's own `href` (if any) is ignored — it reveals the panel, not navigates.
|
|
152
153
|
return (jsxRuntime.jsx("li", { className: isCollapsed ? undefined : 'py-px', onKeyDown: handleTriggerKeyDown(item.label, hasChildren), children: isCollapsed ? (jsxRuntime.jsx(navButton.NavButton, { type: hasChildren ? 'disclosure' : 'link', current: isCurrentPage, selected: isSelected, href: hasChildren ? undefined : item.href, onClick: selectSection, label: item.label || '', icon: item.icon, "data-testid": itemTestId, ...disclosure })) : (jsxRuntime.jsx(navItem.NavItemBase, { type: hasChildren ? 'disclosure' : 'link', current: isCurrentPage, selected: isSelected, href: hasChildren ? undefined : item.href, icon: item.icon, badge: item.badge, hasSubmenu: hasChildren, onClick: selectSection, "data-testid": itemTestId, ...disclosure, children: item.label })) }, item.label));
|
|
153
154
|
});
|
|
154
|
-
const mainSidebar = (jsxRuntime.jsxs(react.motion.aside, { animate: { width: isCollapsed ? COLLAPSED_WIDTH : EXPANDED_WIDTH }, transition: { type: 'spring', damping: 26, stiffness: 220, bounce: 0 }, className: cx.cx('flex h-full max-h-full flex-col justify-between overflow-x-hidden overflow-y-auto bg-secondary', !hideBorder && 'border-r border-secondary'), children: [jsxRuntime.jsxs("div", { className: "flex flex-col", children: [isCollapsed ? (jsxRuntime.jsx("div", { className: "flex justify-center px-3 py-5", children: jsxRuntime.jsx(UtilityButton.ButtonUtility, { size: "sm", color: "tertiary", tooltip: "Expand", "aria-label": "Expand navigation", icon: uiIcons.ChevronRightDouble, "data-testid": testIdUtils.joinTestId(rootTestId, 'expand'), onClick: () => setCollapsed(false) }) })) : (jsxRuntime.jsxs("div", { className: "relative flex items-center px-5 py-5", children: [jsxRuntime.jsx(
|
|
155
|
+
const mainSidebar = (jsxRuntime.jsxs(react.motion.aside, { animate: { width: isCollapsed ? COLLAPSED_WIDTH : EXPANDED_WIDTH }, transition: { type: 'spring', damping: 26, stiffness: 220, bounce: 0 }, className: cx.cx('flex h-full max-h-full flex-col justify-between overflow-x-hidden overflow-y-auto bg-secondary', !hideBorder && 'border-r border-secondary'), children: [jsxRuntime.jsxs("div", { className: "flex flex-col", children: [isCollapsed ? (jsxRuntime.jsx("div", { className: "flex justify-center px-3 py-5", children: jsxRuntime.jsx(UtilityButton.ButtonUtility, { size: "sm", color: "tertiary", tooltip: "Expand", "aria-label": "Expand navigation", icon: uiIcons.ChevronRightDouble, "data-testid": testIdUtils.joinTestId(rootTestId, 'expand'), onClick: () => setCollapsed(false) }) })) : (jsxRuntime.jsxs("div", { className: "relative flex items-center px-5 py-5", children: [jsxRuntime.jsx(logoLink.LogoLink, { href: homeHref, size: "md", onClick: () => onNavigate?.(homeHref), "data-testid": testIdUtils.joinTestId(rootTestId, 'logo') }), jsxRuntime.jsx("div", { className: "absolute top-5 right-4", children: jsxRuntime.jsx(UtilityButton.ButtonUtility, { size: "sm", color: "tertiary", tooltip: "Collapse", "aria-label": "Collapse navigation", icon: uiIcons.ChevronLeftDouble, "data-testid": testIdUtils.joinTestId(rootTestId, 'collapse'), onClick: () => setCollapsed(true) }) })] })), jsxRuntime.jsx("ul", { className: cx.cx('flex flex-col gap-0.5', isCollapsed ? 'items-center px-3.5' : 'px-4 pt-1'), children: renderPrimaryItems(items) })] }), jsxRuntime.jsxs("div", { className: cx.cx('mt-auto flex flex-col gap-3 py-4', isCollapsed ? 'items-center px-3' : 'px-4'), children: [footerItems.length > 0 && jsxRuntime.jsx("ul", { className: cx.cx('flex flex-col gap-0.5', isCollapsed && 'items-center'), children: renderPrimaryItems(footerItems) }), account &&
|
|
155
156
|
(isCollapsed ? (jsxRuntime.jsx(navAccountCard.NavAccountCard, { variant: "avatar", account: account.account, menuItems: account.menuItems, bottomMenuItems: account.bottomMenuItems, onOpenChange: setIsAccountMenuOpen, "data-testid": account['data-testid'] })) : (jsxRuntime.jsx(navAccountCard.NavAccountCard, { account: account.account, menuItems: account.menuItems, bottomMenuItems: account.bottomMenuItems, onOpenChange: setIsAccountMenuOpen, "data-testid": account['data-testid'] })))] })] }));
|
|
156
157
|
const handleMobileNavigate = (href) => {
|
|
157
158
|
setMobileMenuOpen(false);
|
|
158
159
|
onNavigate?.(href);
|
|
159
160
|
};
|
|
160
|
-
// The account menu
|
|
161
|
+
// The account menu and search button are rendered inside the mobile drawer, so their actions must also close the drawer.
|
|
161
162
|
const closeMobileMenuThen = (onClick) => () => {
|
|
162
163
|
setMobileMenuOpen(false);
|
|
163
164
|
onClick?.();
|
|
164
165
|
};
|
|
165
166
|
const withMobileMenuClose = (menuItems) => menuItems?.map((item) => ({ ...item, onClick: closeMobileMenuThen(item.onClick) }));
|
|
166
167
|
const secondarySidebar = currentItem && (jsxRuntime.jsx(react.AnimatePresence, { initial: false, children: isSecondarySidebarVisible && (jsxRuntime.jsx(react.motion.div, { ref: panelRef, id: panelId, onKeyDown: handlePanelKeyDown, role: "group", "aria-label": `${currentItem.label} pages`, initial: { width: 0, borderColor: 'var(--color-border-secondary)' }, animate: { width: SECONDARY_SIDEBAR_WIDTH, borderColor: 'var(--color-border-secondary)' }, exit: { width: 0, borderColor: 'rgba(0,0,0,0)', transition: { borderColor: { type: 'tween', delay: 0.05 } } }, transition: { type: 'spring', damping: 26, stiffness: 220, bounce: 0 }, className: cx.cx('relative h-full overflow-x-hidden overflow-y-auto bg-primary', !(hideBorder || hideRightBorder) && 'box-content border-r border-secondary'), children: jsxRuntime.jsxs("div", { style: { width: SECONDARY_SIDEBAR_WIDTH }, className: "flex h-full flex-col px-4 pt-6", children: [jsxRuntime.jsx("h3", { className: "px-2 text-sm font-semibold text-tertiary", children: currentItem.label }), jsxRuntime.jsx("ul", { className: "py-2", children: currentItem.items?.map((item) => (jsxRuntime.jsx("li", { className: "py-px", children: jsxRuntime.jsx(navItem.NavItemBase, { type: "link", current: item.href === activeHref, href: item.href, icon: item.icon, badge: item.badge, onClick: () => onNavigate?.(item.href), "data-testid": item['data-testid'] ?? testIdUtils.joinTestId(navItemTestId(currentItem), `sub-item-${item.id ?? testIdUtils.slugifyTestId(item.label)}`), children: item.label }) }, item.label))) }), currentItem.toggle && (jsxRuntime.jsx(navSectionToggle.NavSectionToggleRow, { toggle: currentItem.toggle, testIdPrefix: navItemTestId(currentItem), className: "mt-auto mb-4" }))] }) })) }));
|
|
167
|
-
return (jsxRuntime.jsxs(testIdUtils.TestIdProvider, { value: rootTestId, children: [jsxRuntime.jsxs("div", { className: "z-40 hidden lg:fixed lg:inset-y-0 lg:left-0 lg:flex", onPointerEnter: () => setIsHovering(true), onPointerMove: handleContainerPointerMove, onPointerLeave: () => setIsHovering(false), onFocus: handleContainerFocus, onBlur: handleContainerBlur, children: [mainSidebar, secondarySidebar] }), jsxRuntime.jsx("div", { style: { paddingLeft: isCollapsed ? COLLAPSED_WIDTH : EXPANDED_WIDTH }, className: "invisible hidden lg:sticky lg:top-0 lg:bottom-0 lg:left-0 lg:block" }), showMobileHeader && (jsxRuntime.jsx(mobileHeader.MobileNavigationHeader, { isOpen: isMobileMenuOpen, onOpenChange: setMobileMenuOpen, controls: mobileMenuId, "data-testid": testIdUtils.joinTestId(rootTestId, 'mobile-toggle') })), jsxRuntime.jsx(mobileHeader.MobileNavigationDrawer, { id: mobileMenuId, isOpen: isMobileMenuOpen, onOpenChange: setMobileMenuOpen, "data-testid": testIdUtils.joinTestId(rootTestId, 'mobile-close'), children: jsxRuntime.jsxs("aside", { className: "group flex h-full max-h-full w-full max-w-full flex-col justify-between overflow-y-auto bg-secondary pt-4", children: [jsxRuntime.
|
|
168
|
+
return (jsxRuntime.jsxs(testIdUtils.TestIdProvider, { value: rootTestId, children: [jsxRuntime.jsxs("div", { className: "z-40 hidden lg:fixed lg:inset-y-0 lg:left-0 lg:flex", onPointerEnter: () => setIsHovering(true), onPointerMove: handleContainerPointerMove, onPointerLeave: () => setIsHovering(false), onFocus: handleContainerFocus, onBlur: handleContainerBlur, children: [mainSidebar, secondarySidebar] }), jsxRuntime.jsx("div", { style: { paddingLeft: isCollapsed ? COLLAPSED_WIDTH : EXPANDED_WIDTH }, className: "invisible hidden lg:sticky lg:top-0 lg:bottom-0 lg:left-0 lg:block" }), showMobileHeader && (jsxRuntime.jsx(mobileHeader.MobileNavigationHeader, { isOpen: isMobileMenuOpen, onOpenChange: setMobileMenuOpen, controls: mobileMenuId, homeHref: homeHref, onHomePress: () => onNavigate?.(homeHref), logoTestId: testIdUtils.joinTestId(rootTestId, 'mobile-logo'), "data-testid": testIdUtils.joinTestId(rootTestId, 'mobile-toggle') })), jsxRuntime.jsx(mobileHeader.MobileNavigationDrawer, { id: mobileMenuId, isOpen: isMobileMenuOpen, onOpenChange: setMobileMenuOpen, "data-testid": testIdUtils.joinTestId(rootTestId, 'mobile-close'), children: jsxRuntime.jsxs("aside", { className: "group flex h-full max-h-full w-full max-w-full flex-col justify-between overflow-y-auto bg-secondary pt-4", children: [jsxRuntime.jsxs("div", { className: "flex flex-col items-start gap-7 px-4", children: [jsxRuntime.jsx(logoLink.LogoLink, { href: homeHref, size: "sm", onClick: () => handleMobileNavigate(homeHref), "data-testid": testIdUtils.joinTestId(rootTestId, 'drawer-logo') }), search && (jsxRuntime.jsx(searchTrigger.SearchTrigger, { size: "md", placeholder: search.placeholder ?? 'Search', label: search.label ?? 'Search', onPress: closeMobileMenuThen(search.onPress), className: "w-full", "data-testid": search['data-testid'] ?? testIdUtils.joinTestId(rootTestId, 'search') }))] }), jsxRuntime.jsx(navList.NavList, { activeUrl: activeUrl, items: items, onNavigate: handleMobileNavigate, testIdPrefix: rootTestId }), jsxRuntime.jsxs("div", { className: "mt-auto flex flex-col gap-3 p-4", children: [footerItems.length > 0 && (jsxRuntime.jsx(navList.NavList, { activeUrl: activeUrl, items: footerItems, onNavigate: handleMobileNavigate, testIdPrefix: rootTestId, className: "px-0 pt-0" })), account && (jsxRuntime.jsx(navAccountCard.NavAccountCard, { account: account.account, menuItems: withMobileMenuClose(account.menuItems), bottomMenuItems: withMobileMenuClose(account.bottomMenuItems), "data-testid": account['data-testid'] }))] })] }) })] }));
|
|
168
169
|
};
|
|
169
170
|
|
|
170
171
|
exports.NavAccountCard = navAccountCard.NavAccountCard;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../src/components/organisms/SidebarNavigation/index.tsx"],"sourcesContent":[null],"names":["useResolvedTestId","joinTestId","slugifyTestId","useState","useBreakpoints","useEffect","sidebarCollapsedStorage","findActiveHref","findActiveItem","useId","useDualTierKeyboard","_jsx","NavButton","NavItemBase","_jsxs","motion","cx","ButtonUtility","ChevronRightDouble","FlipdishLogo","ChevronLeftDouble","NavAccountCard","AnimatePresence","NavSectionToggleRow","TestIdProvider","MobileNavigationHeader","MobileNavigationDrawer","NavList"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../src/components/organisms/SidebarNavigation/index.tsx"],"sourcesContent":[null],"names":["useResolvedTestId","joinTestId","slugifyTestId","useState","useBreakpoints","useEffect","sidebarCollapsedStorage","findActiveHref","findActiveItem","useId","useDualTierKeyboard","_jsx","NavButton","NavItemBase","_jsxs","motion","cx","ButtonUtility","ChevronRightDouble","LogoLink","ChevronLeftDouble","NavAccountCard","AnimatePresence","NavSectionToggleRow","TestIdProvider","MobileNavigationHeader","MobileNavigationDrawer","SearchTrigger","NavList"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { FC } from 'react';
|
|
2
2
|
import { type NavAccountData } from './components/nav-account-card';
|
|
3
|
-
import type { NavItemType } from './sidebarNavigation.types';
|
|
3
|
+
import type { NavItemType, NavSearch } from './sidebarNavigation.types';
|
|
4
4
|
export { NavAccountCard, type NavAccountData, NavAccountMenu, type NavAccountMenuItemType, type NavAccountType } from './components/nav-account-card';
|
|
5
5
|
export { NavItemBase, type NavItemStatus } from './components/nav-item';
|
|
6
6
|
export { SidebarMenuButton, type SidebarMenuButtonProps } from './components/sidebar-menu-button';
|
|
7
|
-
export type { NavSectionToggle } from './sidebarNavigation.types';
|
|
7
|
+
export type { NavSearch, NavSectionToggle } from './sidebarNavigation.types';
|
|
8
8
|
type SidebarNavItem = NavItemType & {
|
|
9
9
|
icon: FC<{
|
|
10
10
|
className?: string;
|
|
@@ -24,9 +24,9 @@ export interface SidebarNavigationProps {
|
|
|
24
24
|
/** Account configuration for the card at the bottom of the sidebar. When omitted the account card is not rendered. */
|
|
25
25
|
account?: NavAccountData;
|
|
26
26
|
/**
|
|
27
|
-
* Called with the destination `href` whenever a nav item
|
|
28
|
-
* the router handles it. Lets the host react to a navigation (analytics, notifying an
|
|
29
|
-
* app) without owning the links. Account menu items use their own `onClick`.
|
|
27
|
+
* Called with the destination `href` whenever a nav item, sub-item or logo link is activated,
|
|
28
|
+
* before the router handles it. Lets the host react to a navigation (analytics, notifying an
|
|
29
|
+
* embedded app) without owning the links. Account menu items use their own `onClick`.
|
|
30
30
|
*/
|
|
31
31
|
onNavigate?: (href: string) => void;
|
|
32
32
|
/** Controlled collapsed state. When provided, the component is controlled and the parent owns persistence. */
|
|
@@ -52,6 +52,17 @@ export interface SidebarNavigationProps {
|
|
|
52
52
|
mobileMenuOpen?: boolean;
|
|
53
53
|
/** Called whenever the mobile drawer opens or closes. */
|
|
54
54
|
onMobileMenuOpenChange?: (open: boolean) => void;
|
|
55
|
+
/**
|
|
56
|
+
* Search button at the top of the mobile drawer. It is a button dressed as a search field:
|
|
57
|
+
* pressing it closes the drawer, then calls `onPress` so the app can open its search surface.
|
|
58
|
+
* Not rendered on the desktop rail. Omit to hide.
|
|
59
|
+
*/
|
|
60
|
+
search?: NavSearch;
|
|
61
|
+
/**
|
|
62
|
+
* Destination of the Flipdish logo links (desktop rail, mobile header and mobile drawer).
|
|
63
|
+
* @default "/"
|
|
64
|
+
*/
|
|
65
|
+
homeHref?: string;
|
|
55
66
|
/**
|
|
56
67
|
* Overrides the root `data-testid`. Defaults to `fd-sidebar-navigation`. Child
|
|
57
68
|
* elements derive their testids from this prefix (e.g. `<root>--nav-item-orders`,
|
|
@@ -70,5 +81,5 @@ export interface SidebarNavigationProps {
|
|
|
70
81
|
*
|
|
71
82
|
* @summary Navigate app sections through a collapsible, dual-tier sidebar rail.
|
|
72
83
|
*/
|
|
73
|
-
export declare const SidebarNavigation: ({ activeUrl, items, footerItems, account, onNavigate, collapsed, defaultCollapsed, onCollapsedChange, persistCollapsed, hideBorder, hideRightBorder, showMobileHeader, mobileMenuOpen, onMobileMenuOpenChange, "data-testid": dataTestId, }: SidebarNavigationProps) => import("react").JSX.Element;
|
|
84
|
+
export declare const SidebarNavigation: ({ activeUrl, items, footerItems, account, onNavigate, collapsed, defaultCollapsed, onCollapsedChange, persistCollapsed, hideBorder, hideRightBorder, showMobileHeader, mobileMenuOpen, onMobileMenuOpenChange, search, homeHref, "data-testid": dataTestId, }: SidebarNavigationProps) => import("react").JSX.Element;
|
|
74
85
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/SidebarNavigation/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/SidebarNavigation/index.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,EAAE,EAA4B,MAAM,OAAO,CAAC;AAM1D,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAMpF,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,cAAc,EAAE,KAAK,sBAAsB,EAAE,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACtJ,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAClG,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7E,KAAK,cAAc,GAAG,WAAW,GAAG;IAAE,IAAI,EAAE,EAAE,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC;AAEzE,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,uCAAuC;IACvC,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,sHAAsH;IACtH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,8GAA8G;IAC9G,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oEAAoE;IACpE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4FAA4F;IAC5F,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yDAAyD;IACzD,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,GAAI,+PAkB/B,sBAAsB,gCA8WxB,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { ChevronRightDouble, ChevronLeftDouble } from '@flipdish/ui-icons';
|
|
3
|
-
import { FlipdishLogo } from '@flipdish/ui-library/components/atoms/FlipdishLogo';
|
|
4
3
|
import { ButtonUtility } from '@flipdish/ui-library/components/atoms/UtilityButton';
|
|
5
4
|
import { useBreakpoints } from '@flipdish/ui-library/hooks/useBreakpoints';
|
|
6
5
|
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
@@ -9,6 +8,8 @@ import { useResolvedTestId, joinTestId, slugifyTestId, TestIdProvider } from '@f
|
|
|
9
8
|
import { motion, AnimatePresence } from 'motion/react';
|
|
10
9
|
import { useState, useEffect, useId } from 'react';
|
|
11
10
|
import { findActiveHref, findActiveItem } from '../../__internal__/navigation/nav.utils.js';
|
|
11
|
+
import { SearchTrigger } from '../ApplicationHeader/components/search-trigger.js';
|
|
12
|
+
import { LogoLink } from './components/logo-link.js';
|
|
12
13
|
import { MobileNavigationHeader, MobileNavigationDrawer } from './components/mobile-header.js';
|
|
13
14
|
import { NavAccountCard } from './components/nav-account-card.js';
|
|
14
15
|
export { NavAccountMenu } from './components/nav-account-card.js';
|
|
@@ -33,7 +34,7 @@ const SECONDARY_SIDEBAR_WIDTH = 256;
|
|
|
33
34
|
*
|
|
34
35
|
* @summary Navigate app sections through a collapsible, dual-tier sidebar rail.
|
|
35
36
|
*/
|
|
36
|
-
const SidebarNavigation = ({ activeUrl, items, footerItems = [], account, onNavigate, collapsed, defaultCollapsed = false, onCollapsedChange, persistCollapsed = true, hideBorder, hideRightBorder, showMobileHeader = true, mobileMenuOpen, onMobileMenuOpenChange, 'data-testid': dataTestId, }) => {
|
|
37
|
+
const SidebarNavigation = ({ activeUrl, items, footerItems = [], account, onNavigate, collapsed, defaultCollapsed = false, onCollapsedChange, persistCollapsed = true, hideBorder, hideRightBorder, showMobileHeader = true, mobileMenuOpen, onMobileMenuOpenChange, search, homeHref = '/', 'data-testid': dataTestId, }) => {
|
|
37
38
|
const rootTestId = useResolvedTestId({ testId: dataTestId, segment: 'sidebar-navigation', rootName: 'sidebar-navigation' });
|
|
38
39
|
const navItemTestId = (item) => item['data-testid'] ?? joinTestId(rootTestId, `nav-item-${item.id ?? slugifyTestId(item.label)}`);
|
|
39
40
|
const isControlled = collapsed !== undefined;
|
|
@@ -150,20 +151,20 @@ const SidebarNavigation = ({ activeUrl, items, footerItems = [], account, onNavi
|
|
|
150
151
|
// A parent's own `href` (if any) is ignored — it reveals the panel, not navigates.
|
|
151
152
|
return (jsx("li", { className: isCollapsed ? undefined : 'py-px', onKeyDown: handleTriggerKeyDown(item.label, hasChildren), children: isCollapsed ? (jsx(NavButton, { type: hasChildren ? 'disclosure' : 'link', current: isCurrentPage, selected: isSelected, href: hasChildren ? undefined : item.href, onClick: selectSection, label: item.label || '', icon: item.icon, "data-testid": itemTestId, ...disclosure })) : (jsx(NavItemBase, { type: hasChildren ? 'disclosure' : 'link', current: isCurrentPage, selected: isSelected, href: hasChildren ? undefined : item.href, icon: item.icon, badge: item.badge, hasSubmenu: hasChildren, onClick: selectSection, "data-testid": itemTestId, ...disclosure, children: item.label })) }, item.label));
|
|
152
153
|
});
|
|
153
|
-
const mainSidebar = (jsxs(motion.aside, { animate: { width: isCollapsed ? COLLAPSED_WIDTH : EXPANDED_WIDTH }, transition: { type: 'spring', damping: 26, stiffness: 220, bounce: 0 }, className: cx('flex h-full max-h-full flex-col justify-between overflow-x-hidden overflow-y-auto bg-secondary', !hideBorder && 'border-r border-secondary'), children: [jsxs("div", { className: "flex flex-col", children: [isCollapsed ? (jsx("div", { className: "flex justify-center px-3 py-5", children: jsx(ButtonUtility, { size: "sm", color: "tertiary", tooltip: "Expand", "aria-label": "Expand navigation", icon: ChevronRightDouble, "data-testid": joinTestId(rootTestId, 'expand'), onClick: () => setCollapsed(false) }) })) : (jsxs("div", { className: "relative flex items-center px-5 py-5", children: [jsx(
|
|
154
|
+
const mainSidebar = (jsxs(motion.aside, { animate: { width: isCollapsed ? COLLAPSED_WIDTH : EXPANDED_WIDTH }, transition: { type: 'spring', damping: 26, stiffness: 220, bounce: 0 }, className: cx('flex h-full max-h-full flex-col justify-between overflow-x-hidden overflow-y-auto bg-secondary', !hideBorder && 'border-r border-secondary'), children: [jsxs("div", { className: "flex flex-col", children: [isCollapsed ? (jsx("div", { className: "flex justify-center px-3 py-5", children: jsx(ButtonUtility, { size: "sm", color: "tertiary", tooltip: "Expand", "aria-label": "Expand navigation", icon: ChevronRightDouble, "data-testid": joinTestId(rootTestId, 'expand'), onClick: () => setCollapsed(false) }) })) : (jsxs("div", { className: "relative flex items-center px-5 py-5", children: [jsx(LogoLink, { href: homeHref, size: "md", onClick: () => onNavigate?.(homeHref), "data-testid": joinTestId(rootTestId, 'logo') }), jsx("div", { className: "absolute top-5 right-4", children: jsx(ButtonUtility, { size: "sm", color: "tertiary", tooltip: "Collapse", "aria-label": "Collapse navigation", icon: ChevronLeftDouble, "data-testid": joinTestId(rootTestId, 'collapse'), onClick: () => setCollapsed(true) }) })] })), jsx("ul", { className: cx('flex flex-col gap-0.5', isCollapsed ? 'items-center px-3.5' : 'px-4 pt-1'), children: renderPrimaryItems(items) })] }), jsxs("div", { className: cx('mt-auto flex flex-col gap-3 py-4', isCollapsed ? 'items-center px-3' : 'px-4'), children: [footerItems.length > 0 && jsx("ul", { className: cx('flex flex-col gap-0.5', isCollapsed && 'items-center'), children: renderPrimaryItems(footerItems) }), account &&
|
|
154
155
|
(isCollapsed ? (jsx(NavAccountCard, { variant: "avatar", account: account.account, menuItems: account.menuItems, bottomMenuItems: account.bottomMenuItems, onOpenChange: setIsAccountMenuOpen, "data-testid": account['data-testid'] })) : (jsx(NavAccountCard, { account: account.account, menuItems: account.menuItems, bottomMenuItems: account.bottomMenuItems, onOpenChange: setIsAccountMenuOpen, "data-testid": account['data-testid'] })))] })] }));
|
|
155
156
|
const handleMobileNavigate = (href) => {
|
|
156
157
|
setMobileMenuOpen(false);
|
|
157
158
|
onNavigate?.(href);
|
|
158
159
|
};
|
|
159
|
-
// The account menu
|
|
160
|
+
// The account menu and search button are rendered inside the mobile drawer, so their actions must also close the drawer.
|
|
160
161
|
const closeMobileMenuThen = (onClick) => () => {
|
|
161
162
|
setMobileMenuOpen(false);
|
|
162
163
|
onClick?.();
|
|
163
164
|
};
|
|
164
165
|
const withMobileMenuClose = (menuItems) => menuItems?.map((item) => ({ ...item, onClick: closeMobileMenuThen(item.onClick) }));
|
|
165
166
|
const secondarySidebar = currentItem && (jsx(AnimatePresence, { initial: false, children: isSecondarySidebarVisible && (jsx(motion.div, { ref: panelRef, id: panelId, onKeyDown: handlePanelKeyDown, role: "group", "aria-label": `${currentItem.label} pages`, initial: { width: 0, borderColor: 'var(--color-border-secondary)' }, animate: { width: SECONDARY_SIDEBAR_WIDTH, borderColor: 'var(--color-border-secondary)' }, exit: { width: 0, borderColor: 'rgba(0,0,0,0)', transition: { borderColor: { type: 'tween', delay: 0.05 } } }, transition: { type: 'spring', damping: 26, stiffness: 220, bounce: 0 }, className: cx('relative h-full overflow-x-hidden overflow-y-auto bg-primary', !(hideBorder || hideRightBorder) && 'box-content border-r border-secondary'), children: jsxs("div", { style: { width: SECONDARY_SIDEBAR_WIDTH }, className: "flex h-full flex-col px-4 pt-6", children: [jsx("h3", { className: "px-2 text-sm font-semibold text-tertiary", children: currentItem.label }), jsx("ul", { className: "py-2", children: currentItem.items?.map((item) => (jsx("li", { className: "py-px", children: jsx(NavItemBase, { type: "link", current: item.href === activeHref, href: item.href, icon: item.icon, badge: item.badge, onClick: () => onNavigate?.(item.href), "data-testid": item['data-testid'] ?? joinTestId(navItemTestId(currentItem), `sub-item-${item.id ?? slugifyTestId(item.label)}`), children: item.label }) }, item.label))) }), currentItem.toggle && (jsx(NavSectionToggleRow, { toggle: currentItem.toggle, testIdPrefix: navItemTestId(currentItem), className: "mt-auto mb-4" }))] }) })) }));
|
|
166
|
-
return (jsxs(TestIdProvider, { value: rootTestId, children: [jsxs("div", { className: "z-40 hidden lg:fixed lg:inset-y-0 lg:left-0 lg:flex", onPointerEnter: () => setIsHovering(true), onPointerMove: handleContainerPointerMove, onPointerLeave: () => setIsHovering(false), onFocus: handleContainerFocus, onBlur: handleContainerBlur, children: [mainSidebar, secondarySidebar] }), jsx("div", { style: { paddingLeft: isCollapsed ? COLLAPSED_WIDTH : EXPANDED_WIDTH }, className: "invisible hidden lg:sticky lg:top-0 lg:bottom-0 lg:left-0 lg:block" }), showMobileHeader && (jsx(MobileNavigationHeader, { isOpen: isMobileMenuOpen, onOpenChange: setMobileMenuOpen, controls: mobileMenuId, "data-testid": joinTestId(rootTestId, 'mobile-toggle') })), jsx(MobileNavigationDrawer, { id: mobileMenuId, isOpen: isMobileMenuOpen, onOpenChange: setMobileMenuOpen, "data-testid": joinTestId(rootTestId, 'mobile-close'), children: jsxs("aside", { className: "group flex h-full max-h-full w-full max-w-full flex-col justify-between overflow-y-auto bg-secondary pt-4", children: [
|
|
167
|
+
return (jsxs(TestIdProvider, { value: rootTestId, children: [jsxs("div", { className: "z-40 hidden lg:fixed lg:inset-y-0 lg:left-0 lg:flex", onPointerEnter: () => setIsHovering(true), onPointerMove: handleContainerPointerMove, onPointerLeave: () => setIsHovering(false), onFocus: handleContainerFocus, onBlur: handleContainerBlur, children: [mainSidebar, secondarySidebar] }), jsx("div", { style: { paddingLeft: isCollapsed ? COLLAPSED_WIDTH : EXPANDED_WIDTH }, className: "invisible hidden lg:sticky lg:top-0 lg:bottom-0 lg:left-0 lg:block" }), showMobileHeader && (jsx(MobileNavigationHeader, { isOpen: isMobileMenuOpen, onOpenChange: setMobileMenuOpen, controls: mobileMenuId, homeHref: homeHref, onHomePress: () => onNavigate?.(homeHref), logoTestId: joinTestId(rootTestId, 'mobile-logo'), "data-testid": joinTestId(rootTestId, 'mobile-toggle') })), jsx(MobileNavigationDrawer, { id: mobileMenuId, isOpen: isMobileMenuOpen, onOpenChange: setMobileMenuOpen, "data-testid": joinTestId(rootTestId, 'mobile-close'), children: jsxs("aside", { className: "group flex h-full max-h-full w-full max-w-full flex-col justify-between overflow-y-auto bg-secondary pt-4", children: [jsxs("div", { className: "flex flex-col items-start gap-7 px-4", children: [jsx(LogoLink, { href: homeHref, size: "sm", onClick: () => handleMobileNavigate(homeHref), "data-testid": joinTestId(rootTestId, 'drawer-logo') }), search && (jsx(SearchTrigger, { size: "md", placeholder: search.placeholder ?? 'Search', label: search.label ?? 'Search', onPress: closeMobileMenuThen(search.onPress), className: "w-full", "data-testid": search['data-testid'] ?? joinTestId(rootTestId, 'search') }))] }), jsx(NavList, { activeUrl: activeUrl, items: items, onNavigate: handleMobileNavigate, testIdPrefix: rootTestId }), jsxs("div", { className: "mt-auto flex flex-col gap-3 p-4", children: [footerItems.length > 0 && (jsx(NavList, { activeUrl: activeUrl, items: footerItems, onNavigate: handleMobileNavigate, testIdPrefix: rootTestId, className: "px-0 pt-0" })), account && (jsx(NavAccountCard, { account: account.account, menuItems: withMobileMenuClose(account.menuItems), bottomMenuItems: withMobileMenuClose(account.bottomMenuItems), "data-testid": account['data-testid'] }))] })] }) })] }));
|
|
167
168
|
};
|
|
168
169
|
|
|
169
170
|
export { NavAccountCard, NavItemBase, SidebarNavigation };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/organisms/SidebarNavigation/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/organisms/SidebarNavigation/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -17,6 +17,23 @@ export type NavSectionToggle = {
|
|
|
17
17
|
/** Overrides the derived `data-testid`. */
|
|
18
18
|
'data-testid'?: string;
|
|
19
19
|
};
|
|
20
|
+
/** Search button shown at the top of the mobile drawer. */
|
|
21
|
+
export type NavSearch = {
|
|
22
|
+
/** Called after the drawer closes. Open your search surface (e.g. `CommandMenu`) here. */
|
|
23
|
+
onPress: () => void;
|
|
24
|
+
/**
|
|
25
|
+
* Text shown inside the button.
|
|
26
|
+
* @default "Search"
|
|
27
|
+
*/
|
|
28
|
+
placeholder?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Accessible name for the button.
|
|
31
|
+
* @default "Search"
|
|
32
|
+
*/
|
|
33
|
+
label?: string;
|
|
34
|
+
/** Overrides the derived `data-testid` (default `<root>--search`). */
|
|
35
|
+
'data-testid'?: string;
|
|
36
|
+
};
|
|
20
37
|
export type { NavSubItemType };
|
|
21
38
|
/** Sidebar nav item — the shared base plus the sidebar-only section `toggle`. */
|
|
22
39
|
export type NavItemType = NavItemTypeBase & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebarNavigation.types.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/SidebarNavigation/sidebarNavigation.types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEjH;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gDAAgD;IAChD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sCAAsC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,iFAAiF;AACjF,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG;IAC1C,qFAAqF;IACrF,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"sidebarNavigation.types.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/SidebarNavigation/sidebarNavigation.types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEjH;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gDAAgD;IAChD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sCAAsC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,SAAS,GAAG;IACtB,0FAA0F;IAC1F,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,iFAAiF;AACjF,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG;IAC1C,qFAAqF;IACrF,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
5
|
+
var testIdUtils = require('@flipdish/ui-library/utilities/testIdUtils');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Layout-only template for an app shell: navigation beside a content column that stacks the
|
|
9
|
+
* header above the page, with an optional side panel that pushes the page instead of covering it.
|
|
10
|
+
* The shell is exactly the height of the window and the document never scrolls: the page content
|
|
11
|
+
* scrolls in its own area under the header, so the header, navigation and side panel stay in place
|
|
12
|
+
* with no sticky positioning. It holds no state and renders whatever is passed to its slots, so the
|
|
13
|
+
* app keeps ownership of navigation, search and panel state.
|
|
14
|
+
*
|
|
15
|
+
* @summary window-height layout template placing navigation, header, a scrolling page area and a side panel
|
|
16
|
+
*/
|
|
17
|
+
const AppShell = ({ sidebar, header, panel, children, scrollAreaProps, className, 'data-testid': dataTestId }) => {
|
|
18
|
+
const appShellTestId = testIdUtils.useResolvedTestId({ testId: dataTestId, segment: 'app-shell', rootName: 'app-shell' });
|
|
19
|
+
return (
|
|
20
|
+
// A column below `lg`, so a navigation that renders its own mobile top bar stacks above the content.
|
|
21
|
+
jsxRuntime.jsxs("div", { "data-testid": appShellTestId, className: cx.cx('flex h-dvh w-full flex-col overflow-hidden bg-primary lg:flex-row', className), children: [sidebar, jsxRuntime.jsxs("div", { className: "flex min-h-0 min-w-0 flex-1 flex-col", children: [header, jsxRuntime.jsxs("div", { className: "flex min-h-0 flex-1", children: [jsxRuntime.jsx("div", { id: scrollAreaProps?.id, ref: scrollAreaProps?.ref, "data-testid": scrollAreaProps?.['data-testid'] ?? testIdUtils.joinTestId(appShellTestId, 'scroll-area'),
|
|
22
|
+
// Focusable so keyboard users can scroll a page that has no focusable content of its own (axe: scrollable-region-focusable).
|
|
23
|
+
// biome-ignore lint/a11y/noNoninteractiveTabindex: a scrollable region must be reachable by keyboard
|
|
24
|
+
tabIndex: 0, className: "flex min-w-0 flex-1 flex-col overflow-y-auto outline-focus-ring focus-visible:outline-2 focus-visible:-outline-offset-2", children: children }), panel] })] })] }));
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
exports.AppShell = AppShell;
|
|
28
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../src/components/templates/AppShell/index.tsx"],"sourcesContent":[null],"names":["useResolvedTestId","_jsxs","cx","_jsx","joinTestId"],"mappings":";;;;;;AAmCA;;;;;;;;;AASG;MACU,QAAQ,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAiB,KAAe;AAChJ,IAAA,MAAM,cAAc,GAAGA,6BAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IAE7G;;IAEEC,eAAA,CAAA,KAAA,EAAA,EAAA,aAAA,EAAkB,cAAc,EAAE,SAAS,EAAEC,KAAE,CAAC,mEAAmE,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,CAC5H,OAAO,EAGRD,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,sCAAsC,aAClD,MAAM,EAEPA,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,aAClCE,cAAA,CAAA,KAAA,EAAA,EACE,EAAE,EAAE,eAAe,EAAE,EAAE,EACvB,GAAG,EAAE,eAAe,EAAE,GAAG,iBACZ,eAAe,GAAG,aAAa,CAAC,IAAIC,sBAAU,CAAC,cAAc,EAAE,aAAa,CAAC;;;AAG1F,gCAAA,QAAQ,EAAE,CAAC,EACX,SAAS,EAAC,yHAAyH,EAAA,QAAA,EAElI,QAAQ,EAAA,CACL,EAEL,KAAK,CAAA,EAAA,CACF,CAAA,EAAA,CACF,CAAA,EAAA,CACF;AAEV;;;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { ReactNode, Ref } from 'react';
|
|
2
|
+
export interface AppShellScrollAreaProps {
|
|
3
|
+
/** `id` for the scrolling element, e.g. for a scroll-to-top helper that looks it up. */
|
|
4
|
+
id?: string;
|
|
5
|
+
/** Ref to the scrolling element, e.g. to reset `scrollTop` on navigation or attach a scroll listener. */
|
|
6
|
+
ref?: Ref<HTMLDivElement>;
|
|
7
|
+
/** Overrides the scrolling element's `data-testid` (defaults to `<root>--scroll-area`). */
|
|
8
|
+
'data-testid'?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface AppShellProps {
|
|
11
|
+
/** Primary navigation, rendered first beside the content column. Compose `<SidebarNavigation>` here. */
|
|
12
|
+
sidebar?: ReactNode;
|
|
13
|
+
/** Top bar, rendered at the top of the content column. It stays in place while the page area scrolls. Compose `<ApplicationHeader>` here. */
|
|
14
|
+
header?: ReactNode;
|
|
15
|
+
/**
|
|
16
|
+
* Side panel rendered under the header, beside the page area, which narrows to make room. It fills
|
|
17
|
+
* the height under the header and stays in view while the page area scrolls.
|
|
18
|
+
*/
|
|
19
|
+
panel?: ReactNode;
|
|
20
|
+
/** Page content, normally a `<PageLayout>`. Rendered inside the shell's scroll area. */
|
|
21
|
+
children: ReactNode;
|
|
22
|
+
/** Hooks for the element that scrolls the page content, since the document itself does not scroll. */
|
|
23
|
+
scrollAreaProps?: AppShellScrollAreaProps;
|
|
24
|
+
/** Extra classes merged onto the root element. */
|
|
25
|
+
className?: string;
|
|
26
|
+
/** Overrides the `data-testid` (defaults to `fd-app-shell`). */
|
|
27
|
+
'data-testid'?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Layout-only template for an app shell: navigation beside a content column that stacks the
|
|
31
|
+
* header above the page, with an optional side panel that pushes the page instead of covering it.
|
|
32
|
+
* The shell is exactly the height of the window and the document never scrolls: the page content
|
|
33
|
+
* scrolls in its own area under the header, so the header, navigation and side panel stay in place
|
|
34
|
+
* with no sticky positioning. It holds no state and renders whatever is passed to its slots, so the
|
|
35
|
+
* app keeps ownership of navigation, search and panel state.
|
|
36
|
+
*
|
|
37
|
+
* @summary window-height layout template placing navigation, header, a scrolling page area and a side panel
|
|
38
|
+
*/
|
|
39
|
+
export declare const AppShell: ({ sidebar, header, panel, children, scrollAreaProps, className, "data-testid": dataTestId }: AppShellProps) => ReactNode;
|
|
40
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/templates/AppShell/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,WAAW,uBAAuB;IACtC,wFAAwF;IACxF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,yGAAyG;IACzG,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1B,2FAA2F;IAC3F,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,wGAAwG;IACxG,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,6IAA6I;IAC7I,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,wFAAwF;IACxF,QAAQ,EAAE,SAAS,CAAC;IACpB,sGAAsG;IACtG,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,GAAI,6FAA6F,aAAa,KAAG,SA8BrI,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
3
|
+
import { useResolvedTestId, joinTestId } from '@flipdish/ui-library/utilities/testIdUtils';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Layout-only template for an app shell: navigation beside a content column that stacks the
|
|
7
|
+
* header above the page, with an optional side panel that pushes the page instead of covering it.
|
|
8
|
+
* The shell is exactly the height of the window and the document never scrolls: the page content
|
|
9
|
+
* scrolls in its own area under the header, so the header, navigation and side panel stay in place
|
|
10
|
+
* with no sticky positioning. It holds no state and renders whatever is passed to its slots, so the
|
|
11
|
+
* app keeps ownership of navigation, search and panel state.
|
|
12
|
+
*
|
|
13
|
+
* @summary window-height layout template placing navigation, header, a scrolling page area and a side panel
|
|
14
|
+
*/
|
|
15
|
+
const AppShell = ({ sidebar, header, panel, children, scrollAreaProps, className, 'data-testid': dataTestId }) => {
|
|
16
|
+
const appShellTestId = useResolvedTestId({ testId: dataTestId, segment: 'app-shell', rootName: 'app-shell' });
|
|
17
|
+
return (
|
|
18
|
+
// A column below `lg`, so a navigation that renders its own mobile top bar stacks above the content.
|
|
19
|
+
jsxs("div", { "data-testid": appShellTestId, className: cx('flex h-dvh w-full flex-col overflow-hidden bg-primary lg:flex-row', className), children: [sidebar, jsxs("div", { className: "flex min-h-0 min-w-0 flex-1 flex-col", children: [header, jsxs("div", { className: "flex min-h-0 flex-1", children: [jsx("div", { id: scrollAreaProps?.id, ref: scrollAreaProps?.ref, "data-testid": scrollAreaProps?.['data-testid'] ?? joinTestId(appShellTestId, 'scroll-area'),
|
|
20
|
+
// Focusable so keyboard users can scroll a page that has no focusable content of its own (axe: scrollable-region-focusable).
|
|
21
|
+
// biome-ignore lint/a11y/noNoninteractiveTabindex: a scrollable region must be reachable by keyboard
|
|
22
|
+
tabIndex: 0, className: "flex min-w-0 flex-1 flex-col overflow-y-auto outline-focus-ring focus-visible:outline-2 focus-visible:-outline-offset-2", children: children }), panel] })] })] }));
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { AppShell };
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/templates/AppShell/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;AAmCA;;;;;;;;;AASG;MACU,QAAQ,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAiB,KAAe;AAChJ,IAAA,MAAM,cAAc,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IAE7G;;IAEEA,IAAA,CAAA,KAAA,EAAA,EAAA,aAAA,EAAkB,cAAc,EAAE,SAAS,EAAE,EAAE,CAAC,mEAAmE,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,CAC5H,OAAO,EAGRA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,sCAAsC,aAClD,MAAM,EAEPA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,aAClCC,GAAA,CAAA,KAAA,EAAA,EACE,EAAE,EAAE,eAAe,EAAE,EAAE,EACvB,GAAG,EAAE,eAAe,EAAE,GAAG,iBACZ,eAAe,GAAG,aAAa,CAAC,IAAI,UAAU,CAAC,cAAc,EAAE,aAAa,CAAC;;;AAG1F,gCAAA,QAAQ,EAAE,CAAC,EACX,SAAS,EAAC,yHAAyH,EAAA,QAAA,EAElI,QAAQ,EAAA,CACL,EAEL,KAAK,CAAA,EAAA,CACF,CAAA,EAAA,CACF,CAAA,EAAA,CACF;AAEV;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `AppShell` has no React Native implementation.
|
|
3
|
+
*
|
|
4
|
+
* This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
|
|
5
|
+
* that importing `@flipdish/ui-library/components/templates/AppShell` from React Native fails at
|
|
6
|
+
* compile time rather than resolving to the web build's types. There is no
|
|
7
|
+
* matching `index.js`, so Metro cannot bundle this module either.
|
|
8
|
+
*
|
|
9
|
+
* To make `AppShell` available on React Native, add an `index.native.tsx` beside
|
|
10
|
+
* its `index.tsx` — the build picks it up automatically and this stub disappears.
|
|
11
|
+
*/
|
|
12
|
+
export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
|