UNPKG

geoiq-frontend-ui-kit

Version:

This project is a UI kit for GeoIQ's frontend. It's built with React, TypeScript, and Vite.

135 lines (134 loc) 3.69 kB
import { ReactElement } from 'react'; export type NavbarPropsDesktop = { credits: number; totalCredits?: number; className?: React.ComponentProps<'div'>['className']; clickDisable?: boolean; icons: { help: IconProps; notification?: IconProps; list: Array<IconProps>; chat?: IconProps; invoices?: IconProps; }; onRequestCredits?: (credits: string, phoneNumber: string) => void; onProceedToPayment?: (credits: string, phoneNumber: string) => void; buyCreditsOptions?: string[]; minimumCreditsToBuy?: number; requestOnly?: boolean; id?: string; login: { isLoggedIn: boolean; onClick?: () => void; }; logo: { alt: string; src: string; }; profile: { popoverOptions: Array<Array<NavbarProfilePopoverOptions>>; email?: string; name?: string; src?: string; onClick?: () => void; }; }; type NavbarProfilePopoverOptions = { label: string; disabled: boolean; onClick: () => void; icon?: React.ReactNode; }; /** * iconSrc: 20x20px * */ export type IconProps = { alt: string; src: string; className?: React.ComponentProps<'div'>['className']; isActive?: boolean; isNew?: boolean; tooltipText?: string; wrapper?: (children: React.ReactNode) => ReactElement; onClick?: () => void; disabled?: boolean; }; type BottomItems = { label: string; onClick: () => void; }; export type NavbarPropsMobile = { credits: NavbarPropsDesktop['credits']; totalCredits?: NavbarPropsDesktop['totalCredits']; profile: NavbarPropsDesktop['profile']; icons: NavbarPropsDesktop['icons']['list']; clickDisable?: boolean; logo: NavbarPropsDesktop['logo'] & { text: string; }; onRequestCredits?: (credits: string, phoneNumber: string) => void; onProceedToPayment?: (credits: string, phoneNumber: string) => void; buyCreditsOptions?: string[]; minimumCreditsToBuy?: number; requestOnly?: boolean; containerId?: string; id?: string; logoutPanel: { handleLogout: () => void; bottomItems: Array<BottomItems>; }; }; export type IconExtendedProps = IconProps & { label: string; tooltipText?: string; collapsed?: boolean; }; export type NavbarExtendedProps = { credits: number; totalCredits?: number; clickDisable?: boolean; className?: React.ComponentProps<'div'>['className']; icons: { help: IconExtendedProps; notification?: IconExtendedProps; chat?: IconExtendedProps; list?: Array<IconExtendedProps>; invoices?: IconExtendedProps; }; onRequestCredits?: (credits: string, phoneNumber: string) => void; onProceedToPayment?: (credits: string, phoneNumber: string) => void; buyCreditsOptions?: string[]; minimumCreditsToBuy?: number; requestOnly?: boolean; id?: string; collapsed?: boolean; onCollapsedChange?: (collapsed: boolean) => void; width?: string; collapsedWidth?: string; showToggle?: boolean; togglePosition?: { top?: string; right?: string; left?: string; bottom?: string; }; logo: { alt: string; src: string; text: string; }; profile: { popoverOptions: Array<Array<NavbarProfilePopoverOptions>>; email?: string; name?: string; src?: string; onClick?: () => void; collapsed?: boolean; }; sections: Array<{ title: string; items: Array<IconExtendedProps>; }>; }; export {}; //# sourceMappingURL=navbar.types.d.ts.map