@ryvora/react-primitive
Version:
🧱 Foundational React primitives with asChild support. Build flexible, composable UIs!
20 lines (17 loc) • 1.08 kB
text/typescript
import * as React from 'react';
declare const NODES: readonly ["a", "button", "div", "form", "h2", "h3", "img", "input", "label", "li", "nav", "ol", "p", "select", "span", "svg", "ul"];
type Primitives = {
[E in (typeof NODES)[number]]: PrimitiveForwardRefComponent<E>;
};
type PrimitivePropsWithRef<E extends React.ElementType> = React.ComponentPropsWithRef<E> & {
asChild?: boolean;
};
interface PrimitiveForwardRefComponent<E extends React.ElementType> extends React.ForwardRefExoticComponent<PrimitivePropsWithRef<E>> {
}
/** ----------------------------------------- Primitive ----------------------------------------- */
declare const Primitive: Primitives;
/** ----------------------------------------- Utils ----------------------------------------- */
declare function dispatchDiscreteCustomEvent<E extends CustomEvent>(target: E['target'], event: E): void;
/** ---------------------------------------------------------------------------------- */
declare const Root: Primitives;
export { Primitive, type PrimitivePropsWithRef, Root, dispatchDiscreteCustomEvent };