export * from '@geenius/adapters/solidjs'; import { JSX } from 'solid-js'; import { AdapterDomain, AdapterStatusInfo, DomainAdapterConfig, AdapterStatusType } from '@geenius/adapters'; /** * @module bridges * @package @geenius/adapters/solidjs-kobalte * @description Kobalte-backed SolidJS bridges for async adapter loading, * adapter error fallbacks, and telemetry toast notifications. */ type BridgeSize = "sm" | "md" | "lg"; interface LoadingBridgeProps { /** Main loading label announced through the Kobalte progress primitive. */ label?: JSX.Element; /** Optional supporting copy rendered under the label. */ description?: JSX.Element; /** Determinate progress value. Omit for an indeterminate loading state. */ value?: number; /** Maximum determinate value. */ maxValue?: number; /** Visual density of the loading affordance. */ size?: BridgeSize; /** Additional Tailwind classes for the Kobalte progress root. */ class?: string; /** Stable test selector for consumers that need one. */ testId?: string; } /** Kobalte progress bridge for async adapter loading states. */ declare function LoadingBridge(props: LoadingBridgeProps): JSX.Element; type ErrorBoundaryFallback = JSX.Element | ((error: Error, reset: () => void) => JSX.Element); interface ErrorBoundaryBridgeProps { /** Descendant tree guarded by the SolidJS error boundary. */ children?: JSX.Element; /** Explicit adapter error to render without waiting for a descendant throw. */ error?: unknown; /** Optional custom fallback node or renderer. */ fallback?: ErrorBoundaryFallback; /** Heading used by the default Kobalte alert fallback. */ title?: JSX.Element; /** Supporting copy used by the default fallback. */ description?: JSX.Element; /** Label for the default reset action. */ resetLabel?: JSX.Element; /** Additional Tailwind classes for the Kobalte alert root. */ class?: string; /** Called when a descendant throws. */ onError?: (error: Error) => void; /** Called before local error state is reset. */ onReset?: () => void; /** Stable test selector for consumers that need one. */ testId?: string; } /** SolidJS error boundary rendered with Kobalte's alert primitive. */ declare function ErrorBoundaryBridge(props: ErrorBoundaryBridgeProps): JSX.Element; type ToastBridgeVariant = "default" | "success" | "warning" | "error"; type ToastBridgeSwipeDirection = "up" | "down" | "left" | "right"; interface ToastBridgeNotification { /** Stable source id used to avoid duplicate notification dispatches. */ id: string; /** Toast title rendered through Kobalte Toast.Title. */ title: JSX.Element; /** Optional supporting message rendered through Kobalte Toast.Description. */ description?: JSX.Element; /** Visual and assistive priority treatment. */ variant?: ToastBridgeVariant; /** Auto-dismiss timeout for this notification. */ duration?: number; /** Whether this toast remains until dismissed. */ persistent?: boolean; } interface ToastBridgeProps { /** Notifications to enqueue into Kobalte's toaster. */ notifications?: readonly ToastBridgeNotification[]; /** Kobalte region id used when multiple toast regions exist. */ regionId?: string; /** Default auto-dismiss timeout in milliseconds. */ duration?: number; /** Maximum simultaneously visible toasts. */ limit?: number; /** Kobalte swipe direction for dismiss gestures. */ swipeDirection?: ToastBridgeSwipeDirection; /** Clears all Kobalte toasts when this bridge unmounts. */ clearOnUnmount?: boolean; /** Called after a notification is handed to Kobalte's toaster. */ onNotify?: (event: { id: string; toastId: number; }) => void; /** Additional Tailwind classes for the Kobalte toast region. */ class?: string; /** Stable test selector for consumers that need one. */ testId?: string; } /** Kobalte toast region and enqueue bridge for adapter telemetry events. */ declare function ToastBridge(props: ToastBridgeProps): JSX.Element; /** * @module AdapterCard * @package @geenius/adapters/solidjs-kobalte * @description Kobalte-native adapter summary card for the SolidJS library * variant, with a semantic fallback for non-Solid export-condition runtimes. */ interface AdapterCardProps { domain: AdapterDomain; status: AdapterStatusInfo; onClick?: () => void; class?: string; } declare function AdapterCard(props: AdapterCardProps): JSX.Element; /** * @module AdapterConfigForm * @package @geenius/adapters/solidjs-kobalte * @description Kobalte-backed adapter configuration form for the SolidJS * library variant. */ interface AdapterConfigFormProps { domain: AdapterDomain; initialConfig?: DomainAdapterConfig; onSave: (config: DomainAdapterConfig) => Promise | void; onCancel?: () => void; class?: string; titleId?: string; } declare function AdapterConfigForm(props: AdapterConfigFormProps): JSX.Element; /** * @module AdapterList * @package @geenius/adapters/solidjs-kobalte * @description Searchable Kobalte-backed adapter grid for the SolidJS library * variant. */ interface AdapterListProps { onSelect?: (domain: AdapterDomain) => void; filterStatus?: AdapterStatusType; class?: string; } declare function AdapterList(props: AdapterListProps): JSX.Element; /** * @module AdapterStatusBadge * @package @geenius/adapters/solidjs-kobalte * @description Local status badge for the SolidJS Kobalte variant. */ interface AdapterStatusBadgeProps { status: AdapterStatusType; showLabel?: boolean; size?: "sm" | "md"; class?: string; } declare function AdapterStatusBadge(props: AdapterStatusBadgeProps): JSX.Element; /** * @module AdapterDetailPage * @package @geenius/adapters/solidjs-kobalte * @description Single-domain Kobalte-backed adapter detail page. */ interface AdapterDetailPageProps { domain: AdapterDomain; onBack?: () => void; class?: string; } declare function AdapterDetailPage(props: AdapterDetailPageProps): JSX.Element; /** * @module AdaptersPage * @package @geenius/adapters/solidjs-kobalte * @description Kobalte-backed adapters overview page for the SolidJS library * variant. */ type RegistryEntry = { domain: AdapterDomain; provider: string; status: AdapterStatusType; }; interface AdaptersPageProps { onNavigateDetail?: (domain: AdapterDomain) => void; onConfigure?: (domain: AdapterDomain, config: DomainAdapterConfig) => Promise | void; class?: string; configByDomain?: Partial>; registryEntries?: RegistryEntry[]; } declare function AdaptersPage(props: AdaptersPageProps): JSX.Element; export { AdapterCard, type AdapterCardProps, AdapterConfigForm, type AdapterConfigFormProps, AdapterDetailPage, type AdapterDetailPageProps, AdapterList, type AdapterListProps, AdapterStatusBadge, type AdapterStatusBadgeProps, AdaptersPage, type AdaptersPageProps, ErrorBoundaryBridge, type ErrorBoundaryBridgeProps, LoadingBridge, type LoadingBridgeProps, ToastBridge, type ToastBridgeNotification, type ToastBridgeProps, type ToastBridgeSwipeDirection, type ToastBridgeVariant };