UNPKG

create-slots

Version:
22 lines (18 loc) 954 B
import * as React from 'react'; declare type Slot = React.ElementType; declare const createSlotsManager: (onChange: (slot: Slot) => void) => { register(slot: Slot, element: React.ReactElement): void; update(slot: Slot, element: React.ReactElement): void; unmount(slot: Slot): void; get<T extends Slot>(slot: T): React.ReactElement<React.ComponentProps<T>, T> | undefined; getProps<T_1 extends Slot>(slot: T_1): React.ComponentProps<T_1> | undefined; }; declare type Slots = ReturnType<typeof createSlotsManager>; declare type Callback = (Slots: Slots) => JSX.Element | null; declare const HostSlots: ({ children, callback, }: { children: React.ReactNode; callback: Callback; }) => JSX.Element; declare const createHost: (children: React.ReactNode, callback: Callback) => JSX.Element; declare const createSlot: <T extends React.ElementType<any>>(Fallback?: T | undefined) => T; export { HostSlots, createHost, createSlot };