docthub-core-components 2.65.0 → 2.66.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.
Files changed (26) hide show
  1. package/dist/index.esm.js +5447 -3708
  2. package/dist/src/components/overrides/ui/footer/doct-footer.d.ts +2 -0
  3. package/dist/src/components/overrides/ui/footer/footer-desktop.d.ts +13 -0
  4. package/dist/src/components/overrides/ui/footer/footer-mobile.d.ts +13 -0
  5. package/dist/src/components/overrides/ui/footer/footer-routes.d.ts +56 -0
  6. package/dist/src/components/overrides/ui/footer/footer-shared.d.ts +63 -0
  7. package/dist/src/components/overrides/ui/footer/index.d.ts +2 -0
  8. package/dist/src/components/overrides/ui/footer/presets.d.ts +6 -0
  9. package/dist/src/components/overrides/ui/footer/types.d.ts +80 -0
  10. package/dist/src/components/overrides/ui/navigation-menu/doct-navigation-menu.d.ts +7 -1
  11. package/dist/src/components/overrides/ui/navigation-menu/index.d.ts +8 -1
  12. package/dist/src/components/overrides/ui/navigation-menu/individual-nav-routes.d.ts +34 -0
  13. package/dist/src/components/overrides/ui/navigation-menu/individual-navigation-menu-desktop.d.ts +7 -0
  14. package/dist/src/components/overrides/ui/navigation-menu/individual-navigation-menu-mobile.d.ts +8 -0
  15. package/dist/src/components/overrides/ui/navigation-menu/individual-navigation-menu.d.ts +8 -0
  16. package/dist/src/components/overrides/ui/navigation-menu/nav-env.d.ts +14 -0
  17. package/dist/src/components/overrides/ui/navigation-menu/navigation-menu-adapter.d.ts +2 -3
  18. package/dist/src/components/overrides/ui/navigation-menu/organization-nav-routes.d.ts +28 -0
  19. package/dist/src/components/overrides/ui/navigation-menu/organization-navigation-menu-desktop.d.ts +7 -0
  20. package/dist/src/components/overrides/ui/navigation-menu/organization-navigation-menu-mobile.d.ts +8 -0
  21. package/dist/src/components/overrides/ui/navigation-menu/organization-navigation-menu.d.ts +8 -0
  22. package/dist/src/components/overrides/ui/navigation-menu/types.d.ts +37 -1
  23. package/dist/src/index.d.ts +2 -0
  24. package/dist/src/vite-env.d.ts +4 -0
  25. package/dist/style.css +1 -1
  26. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ import { DoctFooterProps } from './types';
2
+ export declare function DoctFooter({ brand, columns, platformPolicies, enterprisePolicies, copyrightText, className, isMobileOverride, }: Readonly<DoctFooterProps>): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,13 @@
1
+ import { FooterBrand, FooterColumn, FooterLink } from './types';
2
+ /** Props for the desktop footer layout. */
3
+ interface FooterDesktopProps {
4
+ readonly brand?: FooterBrand;
5
+ readonly columns: FooterColumn[];
6
+ readonly platformPolicies: FooterLink[];
7
+ readonly enterprisePolicies: FooterLink[];
8
+ readonly copyrightText: string;
9
+ readonly className?: string;
10
+ }
11
+ /** Desktop-only footer layout: brand block, nav columns, platform/enterprise policies, copyright. */
12
+ export declare function FooterDesktop({ brand, columns, platformPolicies, enterprisePolicies, copyrightText, className, }: FooterDesktopProps): import("react/jsx-runtime").JSX.Element | null;
13
+ export {};
@@ -0,0 +1,13 @@
1
+ import { FooterBrand, FooterColumn, FooterLink } from './types';
2
+ /** Props for the mobile footer layout. */
3
+ interface FooterMobileProps {
4
+ readonly brand?: FooterBrand;
5
+ readonly columns: FooterColumn[];
6
+ readonly platformPolicies: FooterLink[];
7
+ readonly enterprisePolicies: FooterLink[];
8
+ readonly copyrightText: string;
9
+ readonly className?: string;
10
+ }
11
+ export declare function FooterMobile({ brand, columns, platformPolicies, enterprisePolicies, copyrightText, className, }: FooterMobileProps): import("react/jsx-runtime").JSX.Element | null;
12
+ export {};
13
+ /** Mobile-only footer layout: brand block, accordion sections, platform/enterprise policies, copyright. */
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Footer-specific URLs — environment-dependent.
3
+ * Shared/external URLs (social, app stores) are constant and in presets.
4
+ */
5
+ export type FooterRoutes = {
6
+ jobs: string;
7
+ courses: string;
8
+ events: string;
9
+ logbook: string;
10
+ "resume-builder": string;
11
+ exhibitor: string;
12
+ healthcareNews: string;
13
+ coursePages: string;
14
+ jobRolePages: string;
15
+ recruiterSolution: string;
16
+ instituteSolution: string;
17
+ eventOrganizerSolution: string;
18
+ membershipManagement: string;
19
+ qrCheckInApp: string;
20
+ enterpriseSolutions: string;
21
+ aboutUs: string;
22
+ mediaReleases: string;
23
+ contactUs: string;
24
+ healthcareCareerApp: string;
25
+ docthubHome: string;
26
+ termsConditions: string;
27
+ privacyPolicy: string;
28
+ cookiesPolicy: string;
29
+ paymentPolicy: string;
30
+ disclaimerPolicy: string;
31
+ blogs: string;
32
+ jobsDropYourResume: string;
33
+ enterpriseLogin: string;
34
+ enterpriseRegister: string;
35
+ enterpriseTermsConditions: string;
36
+ enterprisePrivacyPolicy: string;
37
+ enterprisePaymentPolicy: string;
38
+ libraryPlaceholder: string;
39
+ contactSupportPlaceholder: string;
40
+ courseAfter12thPlaceholder: string;
41
+ };
42
+ /**
43
+ * Footer URLs — QA environment.
44
+ * Uses dochub.in and dev.dochub.in.
45
+ */
46
+ export declare const FOOTER_ROUTES_QA: FooterRoutes;
47
+ /**
48
+ * Footer URLs — Production environment.
49
+ * Uses docthub.com and www.docthub.com.
50
+ */
51
+ export declare const FOOTER_ROUTES_PROD: FooterRoutes;
52
+ /**
53
+ * Active footer routes — resolved by nav-env (hostname or VITE_NAV_ENV).
54
+ * Same resolution as navigation menu; QA/prod switch together.
55
+ */
56
+ export declare const FOOTER_ROUTES: FooterRoutes;
@@ -0,0 +1,63 @@
1
+ import { FooterAppLink, FooterBrand, FooterLink, FooterSectionVariant } from './types';
2
+ /** Props for FooterNavLink. */
3
+ interface FooterNavLinkProps {
4
+ readonly link: FooterLink;
5
+ readonly className?: string;
6
+ }
7
+ /**
8
+ * Shared nav link: renders as anchor (when href) or button (when onClick only).
9
+ * Used for nav columns, accordion links, and policy links.
10
+ */
11
+ export declare function FooterNavLink({ link, className }: FooterNavLinkProps): import("react/jsx-runtime").JSX.Element;
12
+ /** Props for SeeAllLinkList. */
13
+ interface SeeAllLinkListProps {
14
+ readonly links: FooterLink[];
15
+ readonly sectionVariant?: FooterSectionVariant;
16
+ readonly linkClassName?: string;
17
+ /** Wrapper className for the link list container. */
18
+ readonly className?: string;
19
+ }
20
+ /**
21
+ * Renders a link list with an optional "See All / See Less" toggle.
22
+ *
23
+ * When `sectionVariant` is set and the total link count exceeds the variant's
24
+ * threshold (`default` → 10, `compact` → 6), only the first N links are shown
25
+ * and a chevron toggle reveals the remaining items.
26
+ * When `sectionVariant` is absent, all links are always visible.
27
+ */
28
+ export declare function SeeAllLinkList({ links, sectionVariant, linkClassName, className, }: SeeAllLinkListProps): import("react/jsx-runtime").JSX.Element;
29
+ /** Props for FooterAppButton. */
30
+ interface FooterAppButtonProps {
31
+ readonly appLink: FooterAppLink;
32
+ }
33
+ /**
34
+ * App store download button: opens href in new tab or triggers onClick.
35
+ * Shared across mobile (row) and desktop (column) layouts.
36
+ */
37
+ export declare function FooterAppButton({ appLink }: FooterAppButtonProps): import("react/jsx-runtime").JSX.Element;
38
+ /** Layout variant for FooterBrandBlock: different spacing/sizing per viewport. */
39
+ export type FooterBrandVariant = "mobile" | "desktop";
40
+ /** Props for FooterBrandBlock. */
41
+ interface FooterBrandBlockProps {
42
+ readonly brand?: FooterBrand;
43
+ /** Controls tagline width, social icon size, and app buttons layout. */
44
+ readonly variant: FooterBrandVariant;
45
+ }
46
+ /**
47
+ * Shared brand block: logo, tagline, social links, app download buttons.
48
+ * Layout differs by variant: mobile uses larger icons and row app buttons.
49
+ */
50
+ export declare function FooterBrandBlock({ brand, variant }: FooterBrandBlockProps): import("react/jsx-runtime").JSX.Element | null;
51
+ /** Props for FooterCopyright. */
52
+ interface FooterCopyrightProps {
53
+ readonly text: string;
54
+ readonly isMobile: boolean;
55
+ /** Optional wrapper classes for layout-specific spacing (e.g. mt-4 pt-2 vs py-2). */
56
+ readonly className?: string;
57
+ }
58
+ /**
59
+ * Shared copyright block: centered text with top border.
60
+ * Spacing differs by layout—pass className for mobile (pt-2) or desktop (py-2).
61
+ */
62
+ export declare function FooterCopyright({ text, isMobile, className }: FooterCopyrightProps): import("react/jsx-runtime").JSX.Element;
63
+ export {};
@@ -0,0 +1,2 @@
1
+ export { DoctFooter } from './doct-footer';
2
+ export type { DoctFooterProps, FooterAppLink, FooterBrand, FooterColumn, FooterLink, FooterSection, FooterSocialLink, } from './types';
@@ -0,0 +1,6 @@
1
+ import { FooterBrand, FooterColumn, FooterLink } from './types';
2
+ export declare const consumerFooterBrand: FooterBrand;
3
+ export declare const consumerFooterColumns: FooterColumn[];
4
+ export declare const consumerFooterPlatformPolicies: FooterLink[];
5
+ export declare const consumerFooterEnterprisePolicies: FooterLink[];
6
+ export declare const consumerFooterCopyrightText = "\u00A92026 Docthub. All rights reserved.";
@@ -0,0 +1,80 @@
1
+ import { ReactNode } from 'react';
2
+ export interface FooterLink {
3
+ id: string;
4
+ label: string;
5
+ href?: string;
6
+ onClick?: () => void;
7
+ }
8
+ /**
9
+ * Controls the "See All" collapse threshold for a section:
10
+ * - `"default"` → show first 10 links, collapse the rest
11
+ * - `"compact"` → show first 6 links, collapse the rest
12
+ *
13
+ * When unset, all links are always visible.
14
+ */
15
+ export type FooterSectionVariant = "default" | "compact";
16
+ export interface FooterSection {
17
+ id: string;
18
+ title: string;
19
+ links: FooterLink[];
20
+ /**
21
+ * When set, limits visible links and adds a "See All" toggle.
22
+ * Use `"compact"` for smaller sections (Enterprise Access, Additional Links).
23
+ */
24
+ sectionVariant?: FooterSectionVariant;
25
+ }
26
+ /**
27
+ * A desktop column can contain multiple sections (e.g. "Company" + "Additional Links").
28
+ * In the mobile layout, sections are rendered as individual accordions.
29
+ */
30
+ export interface FooterColumn {
31
+ id: string;
32
+ sections: FooterSection[];
33
+ }
34
+ export interface FooterSocialLink {
35
+ id: string;
36
+ href: string;
37
+ /**
38
+ * Used for accessible naming (e.g. "Docthub on LinkedIn").
39
+ */
40
+ ariaLabel: string;
41
+ icon: ReactNode;
42
+ }
43
+ export interface FooterAppLink {
44
+ id: string;
45
+ label: string;
46
+ href?: string;
47
+ onClick?: () => void;
48
+ icon: ReactNode;
49
+ }
50
+ export interface FooterBrand {
51
+ /**
52
+ * Brand mark rendered at the top of the footer.
53
+ * Provide an image for exact brand rendering, or pass custom JSX for full control.
54
+ */
55
+ logo?: ReactNode;
56
+ logoSrc?: string;
57
+ logoAlt?: string;
58
+ tagline?: string;
59
+ socialLinks?: FooterSocialLink[];
60
+ appLinks?: FooterAppLink[];
61
+ }
62
+ export interface DoctFooterProps {
63
+ /**
64
+ * Brand area configuration (logo, tagline, social, app download CTAs).
65
+ */
66
+ brand?: FooterBrand;
67
+ /**
68
+ * Footer navigation columns.
69
+ */
70
+ columns?: FooterColumn[];
71
+ platformPolicies?: FooterLink[];
72
+ enterprisePolicies?: FooterLink[];
73
+ copyrightText?: string;
74
+ className?: string;
75
+ /**
76
+ * Optional override to force mobile or desktop layout, primarily for stories
77
+ * and tests. When undefined, the layout is derived from window width.
78
+ */
79
+ isMobileOverride?: boolean;
80
+ }
@@ -1,2 +1,8 @@
1
1
  import { DoctNavigationMenuProps } from './types';
2
- export declare function DoctNavigationMenu({ groups, className, isMobileOverride, variant, }: Readonly<DoctNavigationMenuProps>): import("react/jsx-runtime").JSX.Element | null;
2
+ /**
3
+ * Unified navigation entry point that delegates to variant-specific components.
4
+ *
5
+ * Consumers can also use {@link IndividualNavigationMenu} or
6
+ * {@link OrganizationNavigationMenu} directly for tighter control.
7
+ */
8
+ export declare function DoctNavigationMenu({ groups, className, isMobileOverride, variant, }: Readonly<DoctNavigationMenuProps>): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,9 @@
1
1
  export { DoctNavigationMenu } from './doct-navigation-menu';
2
- export type { DoctNavigationMenuProps, DoctNavigationMenuVariant, MobileMenuCategory, NavigationMenuGroup, NavigationMenuGroupVariant, NavigationMenuItem, NavigationMenuSection, } from './types';
2
+ export type { IndividualNavRoutes } from './individual-nav-routes';
3
+ export { INDIVIDUAL_NAV_ROUTES, INDIVIDUAL_NAV_ROUTES_PROD, INDIVIDUAL_NAV_ROUTES_QA, } from './individual-nav-routes';
4
+ export { IndividualNavigationMenu } from './individual-navigation-menu';
5
+ export { isProdNav, isQaNav, resolveNavEnv } from './nav-env';
6
+ export type { OrganizationNavRoutes } from './organization-nav-routes';
7
+ export { ORGANIZATION_NAV_ROUTES, ORGANIZATION_NAV_ROUTES_PROD, ORGANIZATION_NAV_ROUTES_QA, } from './organization-nav-routes';
8
+ export { OrganizationNavigationMenu } from './organization-navigation-menu';
9
+ export type { DoctNavigationMenuProps, DoctNavigationMenuVariant, IndividualNavigationMenuProps, MobileMenuCategory, NavigationMenuGroup, NavigationMenuGroupVariant, NavigationMenuItem, NavigationMenuSection, OrganizationNavigationMenuProps, } from './types';
@@ -0,0 +1,34 @@
1
+ export type IndividualNavRoutes = {
2
+ jobs: string;
3
+ courses: string;
4
+ events: string;
5
+ "resume-builder": string;
6
+ logbook: string;
7
+ exhibitor: string;
8
+ library: string;
9
+ news: string;
10
+ "course-pages": string;
11
+ "job-role-pages": string;
12
+ "explore-courses-after-12th": string;
13
+ "about-us": string;
14
+ "media-release": string;
15
+ "press-kit": string;
16
+ policies: string;
17
+ "contact-us": string;
18
+ healthcareCareerApp: string;
19
+ };
20
+ /**
21
+ * Route URLs for Individual navigation menu — QA environment.
22
+ * Uses dev.dochub.in for app-specific pages.
23
+ */
24
+ export declare const INDIVIDUAL_NAV_ROUTES_QA: IndividualNavRoutes;
25
+ /**
26
+ * Route URLs for Individual navigation menu — Production environment.
27
+ * Uses docthub.com subdomains and www.docthub.com for app pages.
28
+ */
29
+ export declare const INDIVIDUAL_NAV_ROUTES_PROD: IndividualNavRoutes;
30
+ /**
31
+ * Active routes — resolved by nav-env (hostname or VITE_NAV_ENV).
32
+ * Shared with organization nav; both switch QA/prod together.
33
+ */
34
+ export declare const INDIVIDUAL_NAV_ROUTES: IndividualNavRoutes;
@@ -0,0 +1,7 @@
1
+ import { NavigationMenuGroup } from './types';
2
+ interface IndividualDesktopMenuProps {
3
+ readonly groups: NavigationMenuGroup[];
4
+ readonly className?: string;
5
+ }
6
+ export declare function IndividualDesktopMenu({ groups, className }: IndividualDesktopMenuProps): import("react/jsx-runtime").JSX.Element | null;
7
+ export {};
@@ -0,0 +1,8 @@
1
+ import { MobileMenuCategory, NavigationMenuGroup } from './types';
2
+ interface IndividualMobileMenuProps {
3
+ readonly categories?: MobileMenuCategory[];
4
+ readonly groups?: NavigationMenuGroup[];
5
+ readonly className?: string;
6
+ }
7
+ export declare function IndividualMobileMenu({ categories, groups, className }: IndividualMobileMenuProps): import("react/jsx-runtime").JSX.Element | null;
8
+ export {};
@@ -0,0 +1,8 @@
1
+ import { IndividualNavigationMenuProps } from './types';
2
+ /**
3
+ * Navigation menu tailored for the **individual** audience.
4
+ *
5
+ * Desktop renders `individualNavigationGroups`; mobile renders the unified
6
+ * category accordion. When custom `groups` are supplied they take precedence.
7
+ */
8
+ export declare function IndividualNavigationMenu({ groups, className, isMobileOverride, }: Readonly<IndividualNavigationMenuProps>): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Resolves whether navigation links should use QA or production routes.
3
+ * Used by both individual and organization nav menus.
4
+ *
5
+ * Resolution order:
6
+ * 1. VITE_NAV_ENV — explicit override (qa | production | prod | dev)
7
+ * 2. window.location.hostname — localhost → QA; docthub.com → prod; dochub.in → QA
8
+ * 3. import.meta.env.PROD — prod build → prod, dev → QA
9
+ */
10
+ export declare function resolveNavEnv(): "qa" | "production";
11
+ /** True when nav links should point to production (docthub.com). */
12
+ export declare function isProdNav(): boolean;
13
+ /** True when nav links should point to QA (dochub.in). */
14
+ export declare function isQaNav(): boolean;
@@ -1,4 +1,3 @@
1
- import { DoctNavigationMenuVariant, MobileMenuCategory, NavigationMenuGroup } from './types';
2
- export declare function getDesktopGroups(variant: DoctNavigationMenuVariant): NavigationMenuGroup[];
3
- /** Mobile: top-level \"For Individuals\" and \"For Organizations\" — each expands to nested accordion. */
1
+ import { MobileMenuCategory } from './types';
2
+ /** Mobile: top-level "For Individuals" and "For Organizations" — each expands to nested accordion. */
4
3
  export declare function getMobileCategoriesFromPresets(): MobileMenuCategory[];
@@ -0,0 +1,28 @@
1
+ export type OrganizationNavRoutes = {
2
+ "recruiter-solution": string;
3
+ "institute-solution": string;
4
+ "events-organizer-solution": string;
5
+ "membership-management": string;
6
+ "qr-check-in-app": string;
7
+ "what-is-enterprise": string;
8
+ "request-demo": string;
9
+ "contact-sales": string;
10
+ "enterprise-login": string;
11
+ "create-enterprise-account": string;
12
+ "contact-support": string;
13
+ };
14
+ /**
15
+ * Route URLs for Organization navigation menu — QA environment.
16
+ * Uses dev.dochub.in for solution landing pages.
17
+ */
18
+ export declare const ORGANIZATION_NAV_ROUTES_QA: OrganizationNavRoutes;
19
+ /**
20
+ * Route URLs for Organization navigation menu — Production environment.
21
+ * Uses www.docthub.com for solution pages, enterprise.docthub.com for login/register.
22
+ */
23
+ export declare const ORGANIZATION_NAV_ROUTES_PROD: OrganizationNavRoutes;
24
+ /**
25
+ * Active routes — resolved by nav-env (hostname or VITE_NAV_ENV).
26
+ * Shared with individual nav; both switch QA/prod together.
27
+ */
28
+ export declare const ORGANIZATION_NAV_ROUTES: OrganizationNavRoutes;
@@ -0,0 +1,7 @@
1
+ import { NavigationMenuGroup } from './types';
2
+ interface OrganizationDesktopMenuProps {
3
+ readonly groups: NavigationMenuGroup[];
4
+ readonly className?: string;
5
+ }
6
+ export declare function OrganizationDesktopMenu({ groups, className }: OrganizationDesktopMenuProps): import("react/jsx-runtime").JSX.Element | null;
7
+ export {};
@@ -0,0 +1,8 @@
1
+ import { MobileMenuCategory, NavigationMenuGroup } from './types';
2
+ interface OrganizationMobileMenuProps {
3
+ readonly categories?: MobileMenuCategory[];
4
+ readonly groups?: NavigationMenuGroup[];
5
+ readonly className?: string;
6
+ }
7
+ export declare function OrganizationMobileMenu({ categories, groups, className, }: OrganizationMobileMenuProps): import("react/jsx-runtime").JSX.Element | null;
8
+ export {};
@@ -0,0 +1,8 @@
1
+ import { OrganizationNavigationMenuProps } from './types';
2
+ /**
3
+ * Navigation menu tailored for the **organization** audience.
4
+ *
5
+ * Desktop renders `organizationNavigationGroups`; mobile renders the unified
6
+ * category accordion. When custom `groups` are supplied they take precedence.
7
+ */
8
+ export declare function OrganizationNavigationMenu({ groups, className, isMobileOverride, }: Readonly<OrganizationNavigationMenuProps>): import("react/jsx-runtime").JSX.Element | null;
@@ -9,6 +9,8 @@ export interface NavigationMenuItem {
9
9
  onClick?: () => void;
10
10
  }
11
11
  export interface NavigationMenuSection {
12
+ /** Inherits from parent group when omitted (e.g. "About Docthub" uses group's "highlighted"). */
13
+ variant?: NavigationMenuGroupVariant;
12
14
  id: string;
13
15
  title: string;
14
16
  items: NavigationMenuItem[];
@@ -17,6 +19,10 @@ export interface NavigationMenuSection {
17
19
  * Useful for splitting groups like links vs. meta pages within a section.
18
20
  */
19
21
  hasSeparatorAfterIndex?: number;
22
+ /**
23
+ * When true, omits horizontal padding from the section's title and item container.
24
+ */
25
+ noPadding?: boolean;
20
26
  /**
21
27
  * Optional footer area rendered below the section items in mobile layout.
22
28
  * Useful for cards or grouped links that conceptually belong to this section.
@@ -26,8 +32,10 @@ export interface NavigationMenuSection {
26
32
  export type NavigationMenuGroupVariant = "default" | "highlighted";
27
33
  export interface NavigationMenuGroup {
28
34
  id: string;
29
- title: string;
35
+ title?: string;
30
36
  sections: NavigationMenuSection[];
37
+ noPadding?: boolean;
38
+ noTopBorder?: boolean;
31
39
  /**
32
40
  * When set to `"highlighted"`, the group is rendered with a subtle
33
41
  * background emphasis (used for the \"About Docthub\" column).
@@ -81,3 +89,31 @@ export interface DoctNavigationMenuProps {
81
89
  */
82
90
  isMobileOverride?: boolean;
83
91
  }
92
+ /** Props for the individual-specific navigation menu component. */
93
+ export interface IndividualNavigationMenuProps {
94
+ /**
95
+ * Fully custom navigation structure. When provided, this takes
96
+ * precedence over the individual presets.
97
+ */
98
+ groups?: NavigationMenuGroup[];
99
+ className?: string;
100
+ /**
101
+ * Optional override to force mobile or desktop layout, primarily for stories
102
+ * and tests. When undefined, the layout is derived from `useIsMobile`.
103
+ */
104
+ isMobileOverride?: boolean;
105
+ }
106
+ /** Props for the organization-specific navigation menu component. */
107
+ export interface OrganizationNavigationMenuProps {
108
+ /**
109
+ * Fully custom navigation structure. When provided, this takes
110
+ * precedence over the organization presets.
111
+ */
112
+ groups?: NavigationMenuGroup[];
113
+ className?: string;
114
+ /**
115
+ * Optional override to force mobile or desktop layout, primarily for stories
116
+ * and tests. When undefined, the layout is derived from `useIsMobile`.
117
+ */
118
+ isMobileOverride?: boolean;
119
+ }
@@ -38,5 +38,7 @@ export { Tabs as DoctTabs, Tabs as DoctCustomTabs, TabsContent as DoctTabsConten
38
38
  export { Toaster as DoctToaster, toast as doctToast, } from './components/ui/toast';
39
39
  export { Tooltip as DoctTooltip, TooltipContent as DoctTooltipContent, TooltipProvider as DoctTooltipProvider, TooltipTrigger as DoctTooltipTrigger, } from './components/ui/tooltip';
40
40
  export { useAutocompleteCheckbox } from './hooks/useAutocompleteCheckbox';
41
+ export { DoctFooter, type DoctFooterProps, type FooterAppLink, type FooterBrand, type FooterColumn, type FooterLink, type FooterSection, type FooterSocialLink, } from './components/overrides/ui/footer';
42
+ export { DoctNavigationMenu, type DoctNavigationMenuProps, type DoctNavigationMenuVariant, INDIVIDUAL_NAV_ROUTES, INDIVIDUAL_NAV_ROUTES_PROD, INDIVIDUAL_NAV_ROUTES_QA, IndividualNavigationMenu, type IndividualNavigationMenuProps, type IndividualNavRoutes, isProdNav, isQaNav, type MobileMenuCategory, type NavigationMenuGroup, type NavigationMenuGroupVariant, type NavigationMenuItem, type NavigationMenuSection, ORGANIZATION_NAV_ROUTES, ORGANIZATION_NAV_ROUTES_PROD, ORGANIZATION_NAV_ROUTES_QA, OrganizationNavigationMenu, type OrganizationNavigationMenuProps, type OrganizationNavRoutes, resolveNavEnv, } from './components/overrides/ui/navigation-menu';
41
43
  export { Breadcrumb as DoctBreadcrumb, BreadcrumbEllipsis as DoctBreadcrumbEllipsis, BreadcrumbItem as DoctBreadcrumbItem, BreadcrumbLink as DoctBreadcrumbLink, BreadcrumbList as DoctBreadcrumbList, BreadcrumbPage as DoctBreadcrumbPage, BreadcrumbSeparator as DoctBreadcrumbSeparator, } from './components/ui/breadcrumb';
42
44
  export { Timeline as DoctTimeline, type TimelineItem, } from './components/ui/timeline';
@@ -1 +1,5 @@
1
1
  /// <reference types="vite/client" />
2
+
3
+ interface ImportMetaEnv {
4
+ readonly VITE_NAV_ENV?: "qa" | "dev" | "production" | "prod";
5
+ }