@sudobility/building_blocks 0.0.1

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/README.md ADDED
@@ -0,0 +1,220 @@
1
+ # @sudobility/building_blocks
2
+
3
+ Higher-level shared UI building blocks for Sudobility apps. These components integrate with authentication, wallet connection, i18n, and routing.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ bun add @sudobility/building_blocks
9
+ ```
10
+
11
+ ## Peer Dependencies
12
+
13
+ Required:
14
+ - `@sudobility/components`
15
+ - `@sudobility/design`
16
+ - `@heroicons/react`
17
+ - `react` (^18.0.0 || ^19.0.0)
18
+ - `class-variance-authority`
19
+ - `clsx`
20
+ - `tailwind-merge`
21
+
22
+ Optional (for specific features):
23
+ - `@sudobility/auth-components` - For Firebase auth integration
24
+ - `@sudobility/web3-components` - For wallet connection
25
+ - `@sudobility/devops-components` - For status indicator
26
+
27
+ ## Components
28
+
29
+ ### TopBar Components
30
+
31
+ #### AppTopBar (Base)
32
+ Base topbar with logo, menu items, language selector, and render prop for auth.
33
+
34
+ ```tsx
35
+ import { AppTopBar } from '@sudobility/building_blocks';
36
+ import { Cog6ToothIcon, DocumentTextIcon } from '@heroicons/react/24/outline';
37
+
38
+ <AppTopBar
39
+ logo={{
40
+ src: '/logo.png',
41
+ appName: 'My App',
42
+ onClick: () => navigate('/'),
43
+ }}
44
+ menuItems={[
45
+ { id: 'docs', label: 'Docs', icon: DocumentTextIcon, href: '/docs' },
46
+ { id: 'settings', label: 'Settings', icon: Cog6ToothIcon, href: '/settings' },
47
+ ]}
48
+ currentLanguage="en"
49
+ onLanguageChange={(lang) => switchLanguage(lang)}
50
+ renderAccountSection={() => <MyAuthButton />}
51
+ LinkComponent={LocalizedLink}
52
+ />
53
+ ```
54
+
55
+ #### AppTopBarWithFirebaseAuth
56
+ TopBar with Firebase authentication via @sudobility/auth-components.
57
+
58
+ ```tsx
59
+ import { AppTopBarWithFirebaseAuth } from '@sudobility/building_blocks';
60
+ import { AuthAction } from '@sudobility/auth-components';
61
+
62
+ <AppTopBarWithFirebaseAuth
63
+ logo={{ src: '/logo.png', appName: 'My App' }}
64
+ menuItems={menuItems}
65
+ AuthActionComponent={AuthAction}
66
+ onLoginClick={() => navigate('/login')}
67
+ authenticatedMenuItems={[
68
+ { id: 'dashboard', label: 'Dashboard', onClick: () => navigate('/dashboard') },
69
+ ]}
70
+ />
71
+ ```
72
+
73
+ #### AppTopBarWithWallet
74
+ TopBar with wallet connection via @sudobility/web3-components.
75
+
76
+ ```tsx
77
+ import { AppTopBarWithWallet } from '@sudobility/building_blocks';
78
+ import { WalletDropdownMenu } from '@sudobility/web3-components';
79
+
80
+ <AppTopBarWithWallet
81
+ logo={{ src: '/logo.png', appName: 'My App' }}
82
+ menuItems={menuItems}
83
+ WalletDropdownMenuComponent={WalletDropdownMenu}
84
+ isConnected={isConnected}
85
+ walletAddress={walletAddress}
86
+ authStatus={authStatus}
87
+ onConnect={() => navigate('/connect')}
88
+ onDisconnect={handleDisconnect}
89
+ walletMenuItems={walletMenuItems}
90
+ />
91
+ ```
92
+
93
+ ### Breadcrumbs
94
+
95
+ #### AppBreadcrumbs
96
+ Breadcrumbs with social share and "Talk to Founder" button.
97
+
98
+ ```tsx
99
+ import { AppBreadcrumbs } from '@sudobility/building_blocks';
100
+
101
+ <AppBreadcrumbs
102
+ items={[
103
+ { label: 'Home', href: '/' },
104
+ { label: 'Products', href: '/products' },
105
+ { label: 'Widget', current: true },
106
+ ]}
107
+ shareConfig={{
108
+ title: 'Check out this widget',
109
+ description: 'Amazing widget for your needs',
110
+ hashtags: ['widget', 'product'],
111
+ }}
112
+ talkToFounder={{
113
+ meetingUrl: 'https://calendly.com/founder/30min',
114
+ buttonText: 'Book a call',
115
+ }}
116
+ />
117
+ ```
118
+
119
+ ### Footer Components
120
+
121
+ #### AppFooter (Compact)
122
+ Compact footer for app pages with sticky positioning.
123
+
124
+ ```tsx
125
+ import { AppFooter } from '@sudobility/building_blocks';
126
+ import { SystemStatusIndicator } from '@sudobility/devops-components';
127
+
128
+ <AppFooter
129
+ version="1.0.0"
130
+ companyName="Sudobility Inc."
131
+ companyUrl="/"
132
+ statusIndicator={{
133
+ statusPageUrl: 'https://status.example.com',
134
+ }}
135
+ StatusIndicatorComponent={SystemStatusIndicator}
136
+ links={[
137
+ { label: 'Privacy', href: '/privacy' },
138
+ { label: 'Terms', href: '/terms' },
139
+ ]}
140
+ sticky
141
+ />
142
+ ```
143
+
144
+ #### AppFooterForHomePage (Full)
145
+ Full footer for home/landing pages with link sections.
146
+
147
+ ```tsx
148
+ import { AppFooterForHomePage } from '@sudobility/building_blocks';
149
+
150
+ <AppFooterForHomePage
151
+ logo={{ appName: 'My App' }}
152
+ linkSections={[
153
+ {
154
+ title: 'Product',
155
+ links: [
156
+ { label: 'Features', href: '/features' },
157
+ { label: 'Pricing', href: '/pricing' },
158
+ ],
159
+ },
160
+ {
161
+ title: 'Company',
162
+ links: [
163
+ { label: 'About', href: '/about' },
164
+ { label: 'Contact', href: '/contact' },
165
+ ],
166
+ },
167
+ ]}
168
+ socialLinks={{
169
+ twitterUrl: 'https://twitter.com/myapp',
170
+ discordUrl: 'https://discord.gg/myapp',
171
+ }}
172
+ version="1.0.0"
173
+ companyName="Sudobility Inc."
174
+ description="Building the future of web3 communication"
175
+ />
176
+ ```
177
+
178
+ ### Layout
179
+
180
+ #### AppPageLayout
181
+ Layout wrapper combining TopBar, Breadcrumbs, Content, and Footer.
182
+
183
+ ```tsx
184
+ import { AppPageLayout, AppTopBarWithFirebaseAuth, AppFooter } from '@sudobility/building_blocks';
185
+
186
+ <AppPageLayout
187
+ topBar={<AppTopBarWithFirebaseAuth {...topBarProps} />}
188
+ breadcrumbs={{
189
+ items: breadcrumbItems,
190
+ shareConfig: shareConfig,
191
+ }}
192
+ footer={<AppFooter {...footerProps} />}
193
+ maxWidth="7xl"
194
+ background="default"
195
+ >
196
+ <h1>Page Content</h1>
197
+ </AppPageLayout>
198
+ ```
199
+
200
+ ## Constants
201
+
202
+ ### Default Languages
203
+ 16 languages with flags are included by default:
204
+
205
+ ```tsx
206
+ import { DEFAULT_LANGUAGES } from '@sudobility/building_blocks';
207
+ // ['en', 'ar', 'de', 'es', 'fr', 'it', 'ja', 'ko', 'pt', 'ru', 'sv', 'th', 'uk', 'vi', 'zh', 'zh-hant']
208
+ ```
209
+
210
+ ## Features
211
+
212
+ - **Responsive**: All components support mobile with hamburger menu
213
+ - **Dark Mode**: Full dark mode support via Tailwind CSS
214
+ - **i18n Ready**: Language selector with 16 default languages
215
+ - **Flexible Auth**: Support for Firebase auth or wallet connection
216
+ - **Customizable**: All components accept custom classNames and Link components
217
+
218
+ ## License
219
+
220
+ MIT
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,52 @@
1
+ import React, { type ComponentType } from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ import type { BreadcrumbItem, ShareConfig, TalkToFounderConfig, LinkComponentProps } from '../../types';
4
+ declare const breadcrumbContainerVariants: (props?: ({
5
+ variant?: "default" | "transparent" | "subtle" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ export interface AppBreadcrumbsProps extends VariantProps<typeof breadcrumbContainerVariants> {
8
+ /** Breadcrumb items */
9
+ items: BreadcrumbItem[];
10
+ /** Share configuration (shows social share buttons on right) */
11
+ shareConfig?: ShareConfig;
12
+ /** Talk to founder button configuration */
13
+ talkToFounder?: TalkToFounderConfig;
14
+ /** Custom Link component */
15
+ LinkComponent?: ComponentType<LinkComponentProps>;
16
+ /** Custom className for the container */
17
+ className?: string;
18
+ /** Custom className for the inner content */
19
+ contentClassName?: string;
20
+ }
21
+ /**
22
+ * AppBreadcrumbs - Breadcrumb navigation with social share and "Talk to Founder" button.
23
+ *
24
+ * Features:
25
+ * - Breadcrumb trail with links
26
+ * - Social share buttons on the right
27
+ * - Optional "Talk to Founder" meeting button
28
+ * - Always renders at max-w-7xl width
29
+ * - Dark mode support
30
+ *
31
+ * @example
32
+ * ```tsx
33
+ * <AppBreadcrumbs
34
+ * items={[
35
+ * { label: 'Home', href: '/' },
36
+ * { label: 'Products', href: '/products' },
37
+ * { label: 'Widget', current: true },
38
+ * ]}
39
+ * shareConfig={{
40
+ * title: 'Check out this widget',
41
+ * description: 'Amazing widget for your needs',
42
+ * hashtags: ['widget', 'product'],
43
+ * }}
44
+ * talkToFounder={{
45
+ * meetingUrl: 'https://calendly.com/founder/30min',
46
+ * buttonText: 'Book a call',
47
+ * }}
48
+ * />
49
+ * ```
50
+ */
51
+ export declare const AppBreadcrumbs: React.FC<AppBreadcrumbsProps>;
52
+ export default AppBreadcrumbs;
@@ -0,0 +1 @@
1
+ export { AppBreadcrumbs, type AppBreadcrumbsProps } from './app-breadcrumbs';
@@ -0,0 +1,92 @@
1
+ import React, { type ComponentType } from 'react';
2
+ import type { StatusIndicatorConfig, LinkComponentProps, FooterLinkSection as FooterLinkSectionConfig, SocialLinksConfig } from '../../types';
3
+ import type { SystemStatusIndicatorProps } from './app-footer';
4
+ export interface AppFooterForHomePageProps {
5
+ /** App logo configuration */
6
+ logo: {
7
+ /** Logo image src (optional - if not provided, uses Logo component) */
8
+ src?: string;
9
+ /** App name */
10
+ appName: string;
11
+ };
12
+ /** Footer link sections (columns of links) */
13
+ linkSections: FooterLinkSectionConfig[];
14
+ /** Social media links */
15
+ socialLinks?: SocialLinksConfig;
16
+ /** System status indicator configuration */
17
+ statusIndicator?: StatusIndicatorConfig;
18
+ /**
19
+ * SystemStatusIndicator component from @sudobility/devops-components.
20
+ * Pass this to enable status indicator functionality.
21
+ */
22
+ StatusIndicatorComponent?: ComponentType<SystemStatusIndicatorProps>;
23
+ /** App version string */
24
+ version?: string;
25
+ /** Copyright year or range */
26
+ copyrightYear?: string;
27
+ /** Company name for copyright */
28
+ companyName: string;
29
+ /** Company link URL (optional) */
30
+ companyUrl?: string;
31
+ /** Footer description text (below logo) */
32
+ description?: string;
33
+ /** Rights text (e.g., "All rights reserved") */
34
+ rightsText?: string;
35
+ /** Custom Link component */
36
+ LinkComponent?: ComponentType<LinkComponentProps>;
37
+ /** Network online status (for status indicator) */
38
+ isNetworkOnline?: boolean;
39
+ /** Custom className */
40
+ className?: string;
41
+ /** Number of columns for link grid (default: auto based on section count) */
42
+ gridColumns?: 2 | 3 | 4 | 5;
43
+ }
44
+ /**
45
+ * AppFooterForHomePage - Full footer for home/landing pages.
46
+ *
47
+ * Features:
48
+ * - Multiple link sections in a grid
49
+ * - Logo and brand description
50
+ * - Social media links
51
+ * - System status indicator (optional)
52
+ * - Version and copyright
53
+ * - Dark mode support
54
+ *
55
+ * @example
56
+ * ```tsx
57
+ * import { SystemStatusIndicator } from '@sudobility/devops-components';
58
+ *
59
+ * <AppFooterForHomePage
60
+ * logo={{ appName: 'My App' }}
61
+ * linkSections={[
62
+ * {
63
+ * title: 'Product',
64
+ * links: [
65
+ * { label: 'Features', href: '/features' },
66
+ * { label: 'Pricing', href: '/pricing' },
67
+ * ],
68
+ * },
69
+ * {
70
+ * title: 'Company',
71
+ * links: [
72
+ * { label: 'About', href: '/about' },
73
+ * { label: 'Contact', href: '/contact' },
74
+ * ],
75
+ * },
76
+ * ]}
77
+ * socialLinks={{
78
+ * twitterUrl: 'https://twitter.com/myapp',
79
+ * discordUrl: 'https://discord.gg/myapp',
80
+ * }}
81
+ * statusIndicator={{
82
+ * statusPageUrl: 'https://status.example.com',
83
+ * }}
84
+ * StatusIndicatorComponent={SystemStatusIndicator}
85
+ * version="1.0.0"
86
+ * companyName="Sudobility Inc."
87
+ * description="Building the future of web3 communication"
88
+ * />
89
+ * ```
90
+ */
91
+ export declare const AppFooterForHomePage: React.FC<AppFooterForHomePageProps>;
92
+ export default AppFooterForHomePage;
@@ -0,0 +1,77 @@
1
+ import React, { type ComponentType } from 'react';
2
+ import type { StatusIndicatorConfig, LinkComponentProps, FooterLinkItem } from '../../types';
3
+ /**
4
+ * Props for the SystemStatusIndicator component from @sudobility/devops-components.
5
+ */
6
+ export interface SystemStatusIndicatorProps {
7
+ statusPageUrl: string;
8
+ apiEndpoint?: string;
9
+ refreshInterval?: number;
10
+ size?: 'sm' | 'md' | 'lg';
11
+ version?: string;
12
+ isNetworkOnline?: boolean;
13
+ }
14
+ export interface AppFooterProps {
15
+ /** App version string */
16
+ version?: string;
17
+ /** Copyright year or range (e.g., "2025" or "2025-2026") */
18
+ copyrightYear?: string;
19
+ /** Company name */
20
+ companyName: string;
21
+ /** Company URL (optional - creates a link if provided) */
22
+ companyUrl?: string;
23
+ /** Rights text (e.g., "All rights reserved") */
24
+ rightsText?: string;
25
+ /** Status indicator config (optional) */
26
+ statusIndicator?: StatusIndicatorConfig;
27
+ /**
28
+ * SystemStatusIndicator component from @sudobility/devops-components.
29
+ * Pass this to enable status indicator functionality.
30
+ */
31
+ StatusIndicatorComponent?: ComponentType<SystemStatusIndicatorProps>;
32
+ /** Right-side links (e.g., Privacy, Terms) */
33
+ links?: FooterLinkItem[];
34
+ /** Custom Link component */
35
+ LinkComponent?: ComponentType<LinkComponentProps>;
36
+ /** Sticky positioning (sticks to bottom of viewport) */
37
+ sticky?: boolean;
38
+ /** Network online status (for status indicator) */
39
+ isNetworkOnline?: boolean;
40
+ /** Custom className */
41
+ className?: string;
42
+ }
43
+ /**
44
+ * AppFooter - Compact footer for app pages.
45
+ *
46
+ * Features:
47
+ * - Version display
48
+ * - Copyright with company name
49
+ * - System status indicator (optional)
50
+ * - Right-side links (Privacy, Terms, etc.)
51
+ * - Sticky positioning option
52
+ * - Dark mode support
53
+ *
54
+ * @example
55
+ * ```tsx
56
+ * import { SystemStatusIndicator } from '@sudobility/devops-components';
57
+ *
58
+ * <AppFooter
59
+ * version="1.0.0"
60
+ * companyName="Sudobility Inc."
61
+ * companyUrl="/"
62
+ * rightsText="All rights reserved"
63
+ * statusIndicator={{
64
+ * statusPageUrl: 'https://status.example.com',
65
+ * apiEndpoint: 'https://status.example.com/api/v1/status',
66
+ * }}
67
+ * StatusIndicatorComponent={SystemStatusIndicator}
68
+ * links={[
69
+ * { label: 'Privacy', href: '/privacy' },
70
+ * { label: 'Terms', href: '/terms' },
71
+ * ]}
72
+ * sticky
73
+ * />
74
+ * ```
75
+ */
76
+ export declare const AppFooter: React.FC<AppFooterProps>;
77
+ export default AppFooter;
@@ -0,0 +1,2 @@
1
+ export { AppFooter, type AppFooterProps, type SystemStatusIndicatorProps, } from './app-footer';
2
+ export { AppFooterForHomePage, type AppFooterForHomePageProps, } from './app-footer-for-home-page';
@@ -0,0 +1,4 @@
1
+ export * from './topbar';
2
+ export * from './breadcrumbs';
3
+ export * from './footer';
4
+ export * from './layout';
@@ -0,0 +1,73 @@
1
+ import React, { type ReactNode } from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ import { type AppBreadcrumbsProps } from '../breadcrumbs/app-breadcrumbs';
4
+ import type { MaxWidth, ContentPadding, BackgroundVariant } from '../../types';
5
+ declare const layoutVariants: (props?: ({
6
+ background?: "default" | "white" | "gradient" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ export interface AppPageLayoutProps extends VariantProps<typeof layoutVariants> {
9
+ /** Page content */
10
+ children: ReactNode;
11
+ /** TopBar slot - pass an AppTopBar variant or custom component */
12
+ topBar: ReactNode;
13
+ /** Breadcrumbs configuration (optional) */
14
+ breadcrumbs?: AppBreadcrumbsProps;
15
+ /** Footer slot - pass an AppFooter variant or custom component */
16
+ footer?: ReactNode;
17
+ /** Max width for content area (default: '7xl') */
18
+ maxWidth?: MaxWidth;
19
+ /** Content padding (default: 'md') */
20
+ contentPadding?: ContentPadding;
21
+ /** Background variant */
22
+ background?: BackgroundVariant;
23
+ /** Layout mode for LayoutProvider */
24
+ layoutMode?: 'standard';
25
+ /** Custom className for the layout container */
26
+ className?: string;
27
+ /** Custom className for the content area */
28
+ contentClassName?: string;
29
+ /** Custom className for the main element */
30
+ mainClassName?: string;
31
+ }
32
+ /**
33
+ * AppPageLayout - Layout wrapper combining TopBar, Breadcrumbs, Content, and Footer.
34
+ *
35
+ * Features:
36
+ * - Flexible slots for TopBar and Footer
37
+ * - Optional breadcrumbs with share and "Talk to Founder"
38
+ * - Configurable content max-width and padding
39
+ * - Background variants
40
+ * - Dark mode support
41
+ * - Sticky footer behavior
42
+ *
43
+ * @example
44
+ * ```tsx
45
+ * <AppPageLayout
46
+ * topBar={
47
+ * <AppTopBarWithFirebaseAuth
48
+ * logo={{ src: '/logo.png', appName: 'My App' }}
49
+ * menuItems={menuItems}
50
+ * AuthActionComponent={AuthAction}
51
+ * onLoginClick={() => navigate('/login')}
52
+ * />
53
+ * }
54
+ * breadcrumbs={{
55
+ * items: breadcrumbItems,
56
+ * shareConfig: { title: 'Page', description: 'Description', hashtags: [] },
57
+ * }}
58
+ * footer={
59
+ * <AppFooter
60
+ * version="1.0.0"
61
+ * companyName="My Company"
62
+ * links={[{ label: 'Privacy', href: '/privacy' }]}
63
+ * />
64
+ * }
65
+ * maxWidth="7xl"
66
+ * background="default"
67
+ * >
68
+ * <h1>Page Content</h1>
69
+ * </AppPageLayout>
70
+ * ```
71
+ */
72
+ export declare const AppPageLayout: React.FC<AppPageLayoutProps>;
73
+ export default AppPageLayout;
@@ -0,0 +1 @@
1
+ export { AppPageLayout, type AppPageLayoutProps } from './app-page-layout';
@@ -0,0 +1,80 @@
1
+ import React, { type ReactNode, type ComponentType } from 'react';
2
+ import { type AppTopBarProps } from './app-topbar';
3
+ /**
4
+ * Auth menu item for the authenticated user dropdown.
5
+ * This matches the AuthMenuItem interface from @sudobility/auth-components.
6
+ */
7
+ export interface AuthMenuItem {
8
+ /** Unique identifier */
9
+ id: string;
10
+ /** Display label */
11
+ label: string;
12
+ /** Icon element (typically a small SVG) */
13
+ icon?: ReactNode;
14
+ /** Click handler */
15
+ onClick?: () => void;
16
+ /** Show divider after this item */
17
+ dividerAfter?: boolean;
18
+ }
19
+ /**
20
+ * Props for the AuthAction component from @sudobility/auth-components.
21
+ */
22
+ export interface AuthActionProps {
23
+ /** Avatar size in pixels */
24
+ avatarSize?: number;
25
+ /** Dropdown alignment */
26
+ dropdownAlign?: 'left' | 'right';
27
+ /** Login button click handler */
28
+ onLoginClick?: () => void;
29
+ /** Menu items for authenticated user dropdown */
30
+ menuItems?: AuthMenuItem[];
31
+ /** Custom login button text */
32
+ loginButtonText?: string;
33
+ /** Custom className for login button */
34
+ loginButtonClassName?: string;
35
+ }
36
+ export interface AppTopBarWithFirebaseAuthProps extends Omit<AppTopBarProps, 'renderAccountSection'> {
37
+ /**
38
+ * AuthAction component from @sudobility/auth-components.
39
+ * This is passed as a prop to avoid hard dependency on auth-components.
40
+ */
41
+ AuthActionComponent: ComponentType<AuthActionProps>;
42
+ /** Additional menu items for authenticated users */
43
+ authenticatedMenuItems?: AuthMenuItem[];
44
+ /** Login button click handler */
45
+ onLoginClick?: () => void;
46
+ /** Avatar size in pixels */
47
+ avatarSize?: number;
48
+ /** Dropdown alignment */
49
+ dropdownAlign?: 'left' | 'right';
50
+ /** Custom login button text */
51
+ loginButtonText?: string;
52
+ /** Custom login button className */
53
+ loginButtonClassName?: string;
54
+ }
55
+ /**
56
+ * AppTopBarWithFirebaseAuth - TopBar with Firebase authentication integration.
57
+ *
58
+ * This component wraps AppTopBar and provides the AuthAction component
59
+ * from @sudobility/auth-components for the account section.
60
+ *
61
+ * Note: The AuthAction component must be passed as a prop to avoid
62
+ * hard dependency on @sudobility/auth-components.
63
+ *
64
+ * @example
65
+ * ```tsx
66
+ * import { AuthAction } from '@sudobility/auth-components';
67
+ *
68
+ * <AppTopBarWithFirebaseAuth
69
+ * logo={{ src: '/logo.png', appName: 'My App' }}
70
+ * menuItems={[...]}
71
+ * AuthActionComponent={AuthAction}
72
+ * onLoginClick={() => navigate('/login')}
73
+ * authenticatedMenuItems={[
74
+ * { id: 'dashboard', label: 'Dashboard', onClick: () => navigate('/dashboard') },
75
+ * ]}
76
+ * />
77
+ * ```
78
+ */
79
+ export declare const AppTopBarWithFirebaseAuth: React.FC<AppTopBarWithFirebaseAuthProps>;
80
+ export default AppTopBarWithFirebaseAuth;