react-code-canvas
Version:
A browser-based canvas for rendering React components at runtime
26 lines (25 loc) • 1.35 kB
TypeScript
import React, { ComponentPropsWithoutRef } from 'react';
export type LiveLoadingOverlayProps = ComponentPropsWithoutRef<'div'> & {
/** spinner leaf color; defaults to white (readable on the default black overlay) */
spinnerColor?: string;
/** overall spinner box size in px; ~20px matches Radix UI's <Spinner size="3"> */
spinnerSize?: number;
/** replaces the default overlay markup. Still subject to the same visibility
* gate below, so a custom loader cannot get stuck on screen. */
render?: () => React.ReactNode;
};
/**
* Full-page overlay shown until the current code produces its first real
* (non-null) render. Stays hidden forever after that first success, even if
* a later code edit briefly errors — it covers the initial load only, not
* every keystroke in the editor.
*
* Never shown when: empty code (same "no code given" check as
* generateElement), or an error is present (a resolved outcome — the error
* needs to be readable, not covered by a spinner).
*
* Visually matches Radix UI's <Spinner> (used as rx.spinner() in the Reflex
* consumer apps): 8 bars radiating from center, rotated 45deg apart, each
* fading out in sequence.
*/
export declare const LiveLoadingOverlay: ({ style, spinnerColor, spinnerSize, render, ...rest }: LiveLoadingOverlayProps) => React.JSX.Element | null;