goobs-frontend
Version:
A comprehensive React-based libary for building modern web applications
85 lines • 3.34 kB
TypeScript
import { default as React, FC, ReactNode } from 'react';
export interface AppBarStyles {
/** Theme variant: 'light' (default), 'dark', or 'sacred'. */
theme?: 'light' | 'dark' | 'sacred';
/** Bar background color. */
backgroundColor?: string;
/** Bar background-image. */
backgroundImage?: string;
/** Bar border color; composes a `<borderWidth> solid <borderColor>` border (no border without it). */
borderColor?: string;
/** Bar border radius. */
borderRadius?: string;
/** Border width used with borderColor (default 1px); ignored without borderColor. */
borderWidth?: string;
/** Bar box shadow (overrides the elevated/theme default). */
boxShadow?: string;
/** Bar backdrop-filter (e.g. a blur). */
backdropFilter?: string;
/** CSS animation shorthand applied to the bar container. */
containerAnimation?: string;
/** Inner toolbar padding. */
toolbarPadding?: string;
/** Inner toolbar min-height. */
toolbarMinHeight?: string;
/** Flex gap between toolbar children. */
toolbarGap?: string;
/** Bar margin shorthand. */
margin?: string;
/** Bar top margin. */
marginTop?: string;
/** Bar bottom margin. */
marginBottom?: string;
/** Bar left margin. */
marginLeft?: string;
/** Bar right margin. */
marginRight?: string;
/** CSS position; takes precedence over the `position` prop. 'fixed' auto-pins top/left/right to 0 unless overridden. */
position?: 'static' | 'fixed' | 'absolute' | 'sticky' | 'relative';
/** CSS `top` offset (defaults to 0 when position is 'fixed'). */
top?: string;
/** CSS `left` offset (defaults to 0 when position is 'fixed'). */
left?: string;
/** CSS `right` offset (defaults to 0 when position is 'fixed'). */
right?: string;
/** Bar width. */
width?: string;
/** Bar max-width. */
maxWidth?: string;
/** Bar min-width. */
minWidth?: string;
/** Bar height. */
height?: string;
/** Bar max-height. */
maxHeight?: string;
/** Bar min-height. */
minHeight?: string;
/** Bar z-index. */
zIndex?: number;
/** Replaces the whole bar transition with `all <duration> <easing>`. */
transitionDuration?: string;
/** Easing used with transitionDuration (default cubic-bezier(0.4, 0, 0.2, 1)); ignored without it. */
transitionEasing?: string;
/** Disables the bar: suppresses onClick and sets data-disabled for the CSS module. */
disabled?: boolean;
}
export interface AppBarProps {
/** Content displayed in the app bar (typically navigation, search, actions) */
children?: ReactNode;
/** Position of the app bar */
position?: 'static' | 'fixed' | 'absolute' | 'sticky' | 'relative';
/** Whether the app bar should have elevation (box shadow) */
elevated?: boolean;
/** Comprehensive styling options including theme, custom colors, and layout properties */
styles?: AppBarStyles;
/** Additional CSS class name */
className?: string;
/** Callback fired when the app bar is clicked */
onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;
}
/**
* A top navigation bar component with comprehensive theming support.
*/
declare const AppBar: FC<AppBarProps>;
export default AppBar;
//# sourceMappingURL=index.d.ts.map