@codeworker.br/govbr-tw-react
Version:
Biblioteca de componentes React usando Tailwind CSS que implementa o Padrão Digital de Governo.
96 lines (95 loc) • 6.22 kB
TypeScript
import React from "react";
import { Button, type ButtonProps } from "../Button";
import { type SidebarMenuButtonVariantProps, type SidebarMenuSubButtonVariantProps } from "./variants";
declare const SIDEBAR_WIDTH = "16rem";
declare const SIDEBAR_WIDTH_MOBILE = "18rem";
declare const SIDEBAR_WIDTH_ICON = "3.5rem";
type SidebarTheme = "light" | "dark";
type SidebarVariant = "sidebar" | "floating" | "inset";
type SidebarSide = "left" | "right";
type SidebarCollapsible = "offcanvas" | "icon" | "none";
type SidebarStateValue = "expanded" | "collapsed";
type SidebarContextValue = {
state: SidebarStateValue;
open: boolean;
setOpen: (value: boolean | ((value: boolean) => boolean)) => void;
openMobile: boolean;
setOpenMobile: (value: boolean | ((value: boolean) => boolean)) => void;
isMobile: boolean;
toggleSidebar: () => void;
theme: SidebarTheme;
side: SidebarSide;
variant: SidebarVariant;
collapsible: SidebarCollapsible;
isIconCollapsed: boolean;
showRail: boolean;
};
export interface SidebarProviderProps extends React.HTMLAttributes<HTMLDivElement> {
defaultOpen?: boolean;
open?: boolean;
onOpenChange?: (open: boolean) => void;
theme?: SidebarTheme;
side?: SidebarSide;
variant?: SidebarVariant;
collapsible?: SidebarCollapsible;
showRail?: boolean;
style?: React.CSSProperties;
}
export declare const SidebarProvider: React.ForwardRefExoticComponent<SidebarProviderProps & React.RefAttributes<HTMLDivElement>>;
export declare function useSidebar(): SidebarContextValue;
export interface SidebarProps extends React.HTMLAttributes<HTMLElement> {
theme?: SidebarTheme;
side?: SidebarSide;
variant?: SidebarVariant;
collapsible?: SidebarCollapsible;
}
export declare const Sidebar: React.ForwardRefExoticComponent<SidebarProps & React.RefAttributes<HTMLElement>>;
export declare const SidebarOverlay: React.FC;
export declare const SidebarRail: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
export declare const SidebarContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
export declare const SidebarHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
export declare const SidebarFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
export declare const SidebarSeparator: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
export declare const SidebarGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
export declare const SidebarGroupLabel: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
export declare const SidebarGroupAction: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
export declare const SidebarGroupContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
export interface SidebarMenuItemProps extends React.HTMLAttributes<HTMLLIElement> {
collapsible?: boolean;
defaultOpen?: boolean;
open?: boolean;
onOpenChange?: (open: boolean) => void;
disabled?: boolean;
}
export declare const SidebarMenuItem: React.ForwardRefExoticComponent<SidebarMenuItemProps & React.RefAttributes<HTMLLIElement>>;
export interface SidebarMenuButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
size?: SidebarMenuButtonVariantProps["size"];
variant?: SidebarMenuButtonVariantProps["variant"];
isActive?: boolean;
icon?: React.ReactNode;
tooltip?: React.ReactNode;
collapsedIconVariant?: ButtonProps["variant"];
collapsedIconActiveVariant?: ButtonProps["variant"];
}
export declare const SidebarMenuButton: React.ForwardRefExoticComponent<SidebarMenuButtonProps & React.RefAttributes<HTMLButtonElement>>;
export declare const SidebarMenu: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLUListElement> & React.RefAttributes<HTMLUListElement>>;
export declare const SidebarMenuAction: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
export declare const SidebarMenuBadge: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
export declare const SidebarMenuSkeleton: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
showIcon?: boolean | undefined;
} & React.RefAttributes<HTMLDivElement>>;
export declare const SidebarMenuSub: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLUListElement> & React.RefAttributes<HTMLUListElement>>;
export declare const SidebarMenuSubItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLLIElement> & React.RefAttributes<HTMLLIElement>>;
export interface SidebarMenuSubButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
isActive?: boolean;
size?: SidebarMenuSubButtonVariantProps["size"];
}
export declare const SidebarMenuSubButton: React.ForwardRefExoticComponent<SidebarMenuSubButtonProps & React.RefAttributes<HTMLButtonElement>>;
export declare const SidebarMenuSubAction: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
export interface SidebarTriggerProps extends React.ComponentProps<typeof Button> {
icon?: React.ReactNode;
}
export declare const SidebarTrigger: React.ForwardRefExoticComponent<Omit<SidebarTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
export declare const SidebarInput: React.ForwardRefExoticComponent<Omit<import("../Input").InputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
export declare const SidebarInset: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
export { SIDEBAR_WIDTH, SIDEBAR_WIDTH_ICON, SIDEBAR_WIDTH_MOBILE, };