UNPKG

@memoraiz/ui

Version:

A modern React component library built with Radix UI, Tailwind CSS, and Storybook.

686 lines (514 loc) 29.8 kB
import * as AvatarPrimitive from '@radix-ui/react-avatar'; import { ClassProp } from 'class-variance-authority/types'; import { Context } from 'react'; import { default as default_2 } from 'embla-carousel-react'; import * as DialogPrimitive from '@radix-ui/react-dialog'; import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu'; import { JSX } from 'react/jsx-runtime'; import * as PopoverPrimitive from '@radix-ui/react-popover'; import * as ProgressPrimitive from '@radix-ui/react-progress'; import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area'; import * as SelectPrimitive from '@radix-ui/react-select'; import * as SeparatorPrimitive from '@radix-ui/react-separator'; import * as TogglePrimitive from '@radix-ui/react-toggle'; import * as TooltipPrimitive from '@radix-ui/react-tooltip'; import { UseEmblaCarouselType } from 'embla-carousel-react'; import { VariantProps } from 'class-variance-authority'; export declare function Avatar({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Root>): JSX.Element; export declare function AvatarFallback({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Fallback>): JSX.Element; export declare function AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>): JSX.Element; export declare function Button({ className, variant, size, asChild, ...props }: ButtonProps): JSX.Element; export declare type ButtonProps = React.ComponentProps<'button'> & VariantProps<typeof buttonVariants> & { asChild?: boolean; }; export declare const buttonVariants: (props?: ({ variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "brand" | "ghost" | null | undefined; size?: "default" | "sm" | "lg" | "icon" | null | undefined; } & ClassProp) | undefined) => string; export declare function Card({ className, ...props }: React.ComponentProps<'div'>): JSX.Element; export declare function CardAction({ className, ...props }: React.ComponentProps<'div'>): JSX.Element; export declare function CardContent({ className, ...props }: React.ComponentProps<'div'>): JSX.Element; export declare function CardDescription({ className, ...props }: React.ComponentProps<'div'>): JSX.Element; export declare function CardFooter({ className, ...props }: React.ComponentProps<'div'>): JSX.Element; export declare function CardHeader({ className, ...props }: React.ComponentProps<'div'>): JSX.Element; export declare function CardTitle({ className, ...props }: React.ComponentProps<'div'>): JSX.Element; export declare function Carousel({ orientation, opts, setApi, plugins, className, children, ...props }: React.ComponentProps<'div'> & CarouselProps): JSX.Element; export declare type CarouselApi = UseEmblaCarouselType[1]; export declare function CarouselContent({ className, ...props }: React.ComponentProps<'div'>): JSX.Element; export declare function CarouselItem({ className, ...props }: React.ComponentProps<'div'>): JSX.Element; export declare function CarouselNext({ className, variant, size, ...props }: React.ComponentProps<typeof Button>): JSX.Element; declare type CarouselOptions = UseCarouselParameters[0]; declare type CarouselPlugin = UseCarouselParameters[1]; export declare function CarouselPrevious({ className, variant, size, ...props }: React.ComponentProps<typeof Button>): JSX.Element; declare type CarouselProps = { opts?: CarouselOptions; plugins?: CarouselPlugin; orientation?: 'horizontal' | 'vertical'; setApi?: (api: CarouselApi) => void; }; export declare type ColorScheme = 'dark' | 'light'; export declare function createI18n(config: I18nConfig): I18nInstance; export declare function Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>): JSX.Element; export declare function DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>): JSX.Element; export declare function DialogContent({ className, children, container, ...props }: React.ComponentProps<typeof DialogPrimitive.Content> & Pick<DialogPrimitive.DialogPortalProps, 'container'>): JSX.Element; export declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>): JSX.Element; export declare function DialogFooter({ className, ...props }: React.ComponentProps<'div'>): JSX.Element; export declare function DialogHeader({ className, ...props }: React.ComponentProps<'div'>): JSX.Element; export declare function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>): JSX.Element; export declare function DialogPortal(props: React.ComponentProps<typeof DialogPrimitive.Portal>): JSX.Element; export declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>): JSX.Element; export declare function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>): JSX.Element; export declare function DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>): JSX.Element; export declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): JSX.Element; export declare function DropdownMenuContent({ className, sideOffset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>): JSX.Element; export declare function DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>): JSX.Element; export declare function DropdownMenuItem({ className, inset, variant, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & { inset?: boolean; variant?: 'default' | 'destructive'; }): JSX.Element; export declare function DropdownMenuLabel({ className, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & { inset?: boolean; }): JSX.Element; export declare function DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>): JSX.Element; export declare function DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): JSX.Element; export declare function DropdownMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): JSX.Element; export declare function DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>): JSX.Element; export declare function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>): JSX.Element; export declare function DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>): JSX.Element; export declare function DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): JSX.Element; export declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & { inset?: boolean; }): JSX.Element; export declare function DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): JSX.Element; export declare const fabVariants: (props?: ({ size?: "default" | "sm" | "lg" | null | undefined; position?: "bottom-right" | "bottom-left" | "top-right" | "top-left" | null | undefined; variant?: "default" | "destructive" | "outline" | "secondary" | "brand" | null | undefined; } & ClassProp) | undefined) => string; export declare const Flipcard: (props: FlipcardProps) => JSX.Element; export declare const FlipcardButton: ({ flipped, className, label, children, ...others }: FlipcardButtonProps) => JSX.Element; export declare type FlipcardButtonProps = ButtonProps & { flipped?: boolean; label?: string; }; export declare const FlipcardContent: ({ className, ...others }: React.ComponentProps<"div">) => JSX.Element; export declare type FlipcardProps = React.ComponentProps<'div'> & { front?: React.ReactNode; back?: React.ReactNode; flip?: boolean; height?: string | number; slots?: { Card?: React.ElementType; }; slotProps?: { card?: React.ComponentProps<'div'>; }; }; export declare const FloatingActionButton: { ({ className, size, position, variant, icon, ...props }: FloatingActionButtonProps): JSX.Element; displayName: string; }; export declare type FloatingActionButtonProps = React.ComponentProps<'button'> & VariantProps<typeof fabVariants> & { icon?: React.ReactNode; onClick?: () => void; asChild?: boolean; }; export declare function FloatingWindow({ ...props }: FloatingWindowProps): JSX.Element; export declare function FloatingWindowAction({ className, ...props }: React.ComponentProps<'div'>): JSX.Element; export declare function FloatingWindowBody({ className, ...props }: React.ComponentProps<'div'>): JSX.Element; export declare function FloatingWindowClose(props: React.ComponentProps<typeof PopoverPrimitive.Close>): JSX.Element; export declare function FloatingWindowContent({ className, align, side, sideOffset, ...props }: React.ComponentProps<typeof PopoverPrimitive.Content>): JSX.Element; export declare function FloatingWindowDescription({ className, ...props }: React.ComponentProps<'div'>): JSX.Element; export declare function FloatingWindowFooter({ className, ...props }: React.ComponentProps<'div'>): JSX.Element; export declare function FloatingWindowHeader({ className, ...props }: React.ComponentProps<'div'>): JSX.Element; export declare type FloatingWindowProps = React.ComponentProps<typeof PopoverPrimitive.Root>; export declare function FloatingWindowTitle({ className, ...props }: React.ComponentProps<'div'>): JSX.Element; export declare function FloatingWindowTrigger({ className, ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>): JSX.Element; export declare function getThemeMap<T extends Theme>(theme: T): ThemeMap<T>; export declare interface I18nConfig { /** The default locale to use if detection fails or specific locale is missing */ defaultLocale: Locale; /** An object containing translations for various locales */ resources: Resources; /** The key to use for storing the user's preferred locale in localStorage */ storageKey?: string; } export declare interface I18nContextType { locale: Locale; setLocale: (newLocale: Locale) => void; t: TFunction; i18nInstance: I18nInstance; } export declare interface I18nInstance { /** The configuration object used to create this instance */ readonly config: Required<I18nConfig>; /** * Gets the translation for a given key in the specified or detected locale. * Falls back to defaultLocale if the key/locale is missing. * On the server, locale should usually be provided. * On the client (within useTranslation), locale is implicitly the current one. * @param key The translation key. * @param locale Optional: The locale to translate in. Defaults to config.defaultLocale if not provided AND not used within a reactive client context. * @returns The translated string or the key itself if not found. */ t: <K extends TKey>(key: K, ...args: TArgs<K> extends [values: infer V] ? [values: V, locale?: Locale] | [values: V] : [locale?: Locale] | []) => string; /** * Attempts to determine the best matching locale based on request headers (specifically 'accept-language'). * Primarily intended for server-side usage. * @param headers A Headers object or a plain object representing request headers. * @returns The best matching available locale or the default locale. */ getLocaleFromHeaders: (headers: Headers | Record<string, string>) => Locale; /** * Gets all available locales defined in the resources. * @returns An array of locale strings. */ getAvailableLocales: () => Locale[]; } export declare const I18nProvider: ({ children, instance, initialLocale: explicitInitialLocale, }: I18nProviderProps) => JSX.Element; declare interface I18nProviderProps { children: React.ReactNode; instance: I18nInstance; /** Optional: Explicitly set the initial locale, overriding storage/default */ initialLocale?: Locale; } export declare function Input({ className, type, ...props }: React.ComponentProps<'input'>): JSX.Element; /** * Extracts the expected interpolation variables type for a given key K. * Returns 'void' if the key is not found or expects no interpolation. */ export declare type InterpolationVars<K extends TKey> = TranslationKeys[K] extends void ? void : TranslationKeys[K]; export declare type Locale = (string & {}) | 'it' | 'en'; export declare const Mode: { readonly DARK: "dark"; readonly LIGHT: "light"; readonly SYSTEM: "system"; }; export declare type Mode = (typeof Mode)[keyof typeof Mode]; export declare function Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>): JSX.Element; export declare function PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>): JSX.Element; export declare function PopoverContent({ className, align, sideOffset, container, ...props }: React.ComponentProps<typeof PopoverPrimitive.Content> & { container?: Element | DocumentFragment; }): JSX.Element; export declare function PopoverTrigger({ className, ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>): JSX.Element; export declare function Progress({ className, value, ...props }: React.ComponentProps<typeof ProgressPrimitive.Root>): JSX.Element; export declare function QuizPlayer({ questions, events, validate, requireConfirm, displayIndex, defaultScreen, title, description, attempts, variant, slots, slotProps, className, onFeedback, ...others }: QuizPlayerProps): JSX.Element; export declare type QuizPlayerAttempt = { date?: Date; score: number; }; export declare function QuizPlayerChoice({ selected, disabled, isCorrect, isWrong, onClick, children, className, ...others }: QuizPlayerChoiceProps): JSX.Element; declare type QuizPlayerChoiceProps = React.ComponentProps<'button'> & { selected?: boolean; disabled?: boolean; isCorrect?: boolean; isWrong?: boolean; onClick?: () => void; }; export declare type QuizPlayerControl = ReturnType<typeof useQuizPlayer>; export declare function QuizPlayerControls({ onCancel, onConfirm, onNext, selectedAnswer, isAnswerValidated, isLastQuestion, requireConfirm, className, asChild, ...others }: QuizPlayerControlsProps_2): JSX.Element; export declare type QuizPlayerControlsProps = { className?: string; onCancel?: () => void; onConfirm?: () => void; onNext?: () => void; selectedAnswer?: unknown | null; isAnswerValidated?: boolean; isLastQuestion?: boolean; requireConfirm?: boolean; }; declare type QuizPlayerControlsProps_2 = React.ComponentProps<'div'> & QuizPlayerControlsProps & { asChild?: boolean; }; export declare type QuizPlayerEndProps = React.ComponentProps<'div'> & { score?: number; totalQuestions?: number; stats?: QuizStats; onRestart?: () => void; onFeedback?: (value: number) => void; }; export declare function QuizPlayerEndScreen({ score, totalQuestions, stats, onRestart, onFeedback, slots, slotProps, }: QuizPlayerEndScreenProps): JSX.Element; declare type QuizPlayerEndScreenProps = React.ComponentProps<'div'> & QuizPlayerEndProps & { slots?: { Button?: React.ElementType<ButtonProps>; }; slotProps?: { button?: ButtonProps; }; }; export declare type QuizPlayerEvents = { onStart?: () => void; onAnswer?: (questionId: string, answer: unknown, isCorrect: boolean) => void; onCancel?: () => void; onFinish?: (score: number, totalQuestions: number) => void; onTimeUp?: (questionId: string) => void; onRestart?: () => void; onNavigateTo?: (index: number) => void; }; export declare function QuizPlayerFeedback({ isCorrect, }: React.ComponentProps<'div'> & { isCorrect?: boolean; }): JSX.Element; export declare function QuizPlayerHint({ children, className, ...others }: QuizPlayerHintProps): JSX.Element; export declare type QuizPlayerHintProps = React.ComponentProps<'button'> & {}; export declare type QuizPlayerItem = { id: string; question: string; choices: { label: string; value: unknown; }[]; correctAnswer: unknown; hint?: string; timeLimit?: number; }; export declare function QuizPlayerProgress({ timeLimit, isTimerActive, onTimeUp, onCancel, className, slots, title, current, total, ...others }: QuizPlayerProgressProps_2): JSX.Element; export declare type QuizPlayerProgressProps = { className?: string; title?: React.ReactNode; current?: number; total?: number; timeLimit?: number; isTimerActive?: boolean; onTimeUp?: () => void; onCancel?: () => void; }; declare type QuizPlayerProgressProps_2 = React.ComponentProps<'div'> & QuizPlayerProgressProps & { slots?: { ProgressBar?: React.ElementType<{ value: number; }>; }; }; export declare type QuizPlayerProps = React.ComponentProps<'div'> & UseQuizPlayerProps & VariantProps<typeof rootVariants> & QuizPlayerRootProps; export declare function QuizPlayerQuestion({ question, choices, selectedAnswer, isAnswerValidated, correctAnswer, hint, isCorrect, title, onSelectAnswer, className, ...others }: QuizPlayerQuestionProps_2): JSX.Element; export declare type QuizPlayerQuestionProps = { className?: string; title?: React.ReactNode; question: QuizPlayerItem['question']; choices: QuizPlayerItem['choices']; correctAnswer: QuizPlayerItem['correctAnswer']; hint?: QuizPlayerItem['hint']; selectedAnswer?: unknown | null; isAnswerValidated?: boolean; isCorrect?: boolean; onSelectAnswer?: (choice: unknown) => void; }; declare type QuizPlayerQuestionProps_2 = React.ComponentProps<'div'> & QuizPlayerQuestionProps; export declare type QuizPlayerRootProps = { title?: React.ReactNode; description?: React.ReactNode; attempts?: QuizPlayerAttempt[]; variant?: 'default' | 'contained' | 'ghost'; slots?: QuizPlayerSlots; slotProps?: { welcome?: Partial<QuizPlayerWelcomeProps>; end?: Partial<QuizPlayerEndProps>; }; defaultScreen?: 'welcome' | 'quiz'; onFeedback?: (value: number) => void; }; export declare const QuizPlayerScreen: ({ className, variant, ...others }: React.ComponentProps<"div"> & { variant: QuizPlayerScreenType; }) => JSX.Element; export declare type QuizPlayerScreenType = 'welcome' | 'quiz' | 'end'; export declare type QuizPlayerSlots = { Progress?: React.ElementType<QuizPlayerProgressProps>; Question?: React.ElementType<QuizPlayerQuestionProps>; Controls?: React.ElementType<QuizPlayerControlsProps>; WelcomeScreen?: React.ElementType<QuizPlayerWelcomeProps>; EndScreen?: React.ElementType<QuizPlayerEndProps>; }; export declare type QuizPlayerValidation = { validate?: (answer: unknown, correctAnswer: unknown) => Promise<boolean>; }; export declare type QuizPlayerWelcomeProps = React.ComponentProps<'div'> & { title?: React.ReactNode; description?: React.ReactNode; questions?: QuizPlayerItem[]; details?: { icon: React.ReactNode; label: React.ReactNode; }[]; onStart?: () => void; onCancel?: () => void; }; export declare function QuizPlayerWelcomeScreen({ title, description, questions, onStart, onCancel, slots, slotProps, details: customDetails, }: QuizPlayerWelcomeScreenProps): JSX.Element; declare type QuizPlayerWelcomeScreenProps = React.ComponentProps<'div'> & QuizPlayerWelcomeProps & { slots?: { Button?: React.ElementType<ButtonProps>; }; slotProps?: { button?: ButtonProps; }; }; export declare type QuizStats = { totalAttempts?: number; avgScore?: number; }; export declare type Resources = Record<Locale, Translations>; declare const rootVariants: (props?: ({ variant?: "default" | "ghost" | "contained" | null | undefined; } & ClassProp) | undefined) => string; declare const rootVariants_2: (props?: ({ variant?: "default" | "outline" | "secondary" | "primary" | null | undefined; } & ClassProp) | undefined) => string; export declare function ScrollArea({ className, children, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.Root>): JSX.Element; export declare function ScrollBar({ className, orientation, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>): JSX.Element; export declare function Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>): JSX.Element; export declare function SelectContent({ className, children, position, ...props }: React.ComponentProps<typeof SelectPrimitive.Content>): JSX.Element; export declare function SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>): JSX.Element; export declare function SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>): JSX.Element; export declare function SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>): JSX.Element; export declare function SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>): JSX.Element; export declare function SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>): JSX.Element; export declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>): JSX.Element; export declare function SelectTrigger({ className, size, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Trigger> & { size?: 'sm' | 'default'; }): JSX.Element; export declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): JSX.Element; export declare function Separator({ className, orientation, decorative, ...props }: React.ComponentProps<typeof SeparatorPrimitive.Root>): JSX.Element; export declare function Skeleton({ className, ...props }: React.ComponentProps<'div'>): JSX.Element; export declare const StatsCard: ({ label, description, value, change, icon: Icon, trending, variant, className, ...others }: StatsCardProps) => JSX.Element; export declare const StatsCardIcon: ({ className, ...others }: React.ComponentProps<"div">) => JSX.Element; export declare type StatsCardProps = React.ComponentProps<'div'> & VariantProps<typeof rootVariants_2> & { label?: React.ReactNode; description?: React.ReactNode; value?: React.ReactNode; change?: React.ReactNode; trending?: 'up' | 'down'; icon?: React.ElementType; }; export declare const StyleVariant: { readonly DEFAULT: "default"; readonly PLAYFUL: "playful"; readonly BRUTALIST: "brutalist"; }; export declare type StyleVariant = (typeof StyleVariant)[keyof typeof StyleVariant]; export declare type TArgs<K extends TKey, Values extends TranslationKeyValues | void = InterpolationVars<K>> = Values extends void ? [] | [fallback: string] | [options: { fallback: string; }] : [values: Values] | [fallback: string, values: Values] | [options: { args: Values; fallback?: string; }]; export declare type TFunction = <K extends TKey, Values extends TranslationKeyValues | void = InterpolationVars<K>>(key: K, ...args: TArgs<K, Values>) => string; export declare const Theme: { readonly DEFAULT: "default"; readonly ORANGE: "orange"; }; export declare type Theme = (typeof Theme)[keyof typeof Theme]; export declare const ThemeContext: Context<ThemeContextValue | undefined>; export declare type ThemeContextValue = { /** The currently selected mode ('light', 'dark', or 'system') */ mode: Mode; /** The resolved color scheme ('light' or 'dark') */ colorScheme: ColorScheme; /** The specific theme value applied (e.g., 'light', 'dark-blue') */ theme: ThemeSlug; /** The specific style variant applied (e.g., 'default', 'compact') */ variant: StyleVariant; /** Function to change the mode */ setMode: (mode: Mode) => void; /** Available themes for light/dark mode */ themes: ThemeMap; }; export declare type ThemeMap<T extends Theme = Theme> = T extends 'default' ? { light: 'light'; dark: 'dark'; } : { light: `light-${T}`; dark: `dark-${T}`; }; export declare const ThemeProvider: (props: ThemeProviderProps) => JSX.Element; export declare type ThemeProviderProps = { children: React.ReactNode; /** Mapping of theme name to HTML attribute value. Key is the theme variant, value is the selected theme slug */ themes?: ThemeMap; /** Forced mode, overrides user preference and system settings */ forcedMode?: Mode; /** Selected style variant */ variant?: StyleVariant; /** Default mode if no preference is stored ('system' by default) */ defaultMode?: Mode; /** Local storage key for storing the mode preference */ storageKey?: string; /** Enable system preference integration */ enableSystem?: boolean; /** Nonce for Content Security Policy */ nonce?: string; /** Disable transitions during theme changes to prevent flash */ disableTransitionOnChange?: boolean; global?: boolean; }; declare type ThemeSlug = 'light' | 'dark' | `light-${Exclude<Theme, 'default'>}` | `dark-${Exclude<Theme, 'default'>}`; /** Extracts all defined keys from the augmented TranslationKeys interface */ export declare type TKey = keyof TranslationKeys; export declare function Toggle({ className, variant, size, ...props }: React.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>): JSX.Element; export declare const toggleVariants: (props?: ({ variant?: "default" | "outline" | null | undefined; size?: "default" | "sm" | "lg" | null | undefined; } & ClassProp) | undefined) => string; export declare function Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>): JSX.Element; export declare function TooltipArrow({ className, ...props }: React.ComponentProps<typeof TooltipPrimitive.Arrow>): JSX.Element; export declare function TooltipContent({ className, sideOffset, children, ...props }: React.ComponentProps<typeof TooltipPrimitive.Content>): JSX.Element; export declare function TooltipProvider({ delayDuration, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>): JSX.Element; export declare function TooltipTrigger({ className, ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>): JSX.Element; /** * @description * User-defined interface for strongly typed translation keys and interpolation. * Augment this interface in your project (`.d.ts` file). */ export declare interface TranslationKeys { [key: string]: void; } export declare type TranslationKeyValues = Record<string, string | number | boolean | Date>; export declare type Translations = Record<string, string>; declare type UseCarouselParameters = Parameters<typeof default_2>; export declare function useControlledState<T = unknown>({ value, defaultValue, onChange, }: UseControlledStateProps<T>): [T, React.Dispatch<React.SetStateAction<T>>]; export declare type UseControlledStateProps<T = unknown> = { value?: T; defaultValue?: T; onChange?: (value: T) => void; }; export declare function useMeasure(): readonly [(node?: Element | null) => void, { width: number | null; height: number | null; }]; export declare function useQuizPlayer({ questions, events, attempts, displayIndex, validate, requireConfirm, defaultScreen, }: UseQuizPlayerProps): { currentQuestion: QuizPlayerItem | undefined; currentIndex: number; selectedAnswer: unknown; isAnswerValidated: boolean; isCorrect: boolean; score: number; screen: QuizPlayerScreenType; stats: QuizStats; handleAnswerSelection: (choice: unknown) => void; handleConfirmAnswer: () => void; handleNext: () => void; handleCancel: () => void; handleTimeUp: () => void; handleStart: () => void; handleRestart: () => void; isTimerActive: boolean; }; export declare type UseQuizPlayerProps = QuizPlayerValidation & { questions?: QuizPlayerItem[]; events?: QuizPlayerEvents; attempts?: QuizPlayerAttempt[]; requireConfirm?: boolean; displayIndex?: number; defaultScreen?: 'welcome' | 'quiz'; }; export declare function useQuizTimer(start?: boolean): { isTimerActive: boolean; pauseTimer: () => void; resumeTimer: () => void; resetTimer: () => void; }; export declare const useTheme: () => ThemeContextValue; export declare const useTranslation: () => I18nContextType; export declare const Widget: ({ asChild, className, ...others }: WidgetProps) => JSX.Element; export declare type WidgetProps = React.ComponentProps<'div'> & { asChild?: boolean; }; export { }