@furystack/shades
Version:
Google Authentication Provider for FuryStack
37 lines • 1.74 kB
TypeScript
import type { ChildrenList, ShadeComponent } from './models/index.js';
/**
* Appends a list of items to a HTML element
* @param el the root element
* @param children array of items to append
*/
export declare const appendChild: (el: HTMLElement | DocumentFragment, children: ChildrenList) => void;
export declare const hasStyle: (props: unknown) => props is {
style: Partial<CSSStyleDeclaration>;
};
/**
* @param el The Target HTML Element
* @param props The Properties to fetch The Styles Object
*/
export declare const attachStyles: (el: HTMLElement, props: unknown) => void;
export declare const attachDataAttributes: <TProps extends object>(el: HTMLElement, props: TProps) => void;
/**
*
* @param el The Target HTML Element
* @param props The Props to attach
*/
export declare const attachProps: <TProps extends object>(el: HTMLElement, props: TProps) => void;
type CreateComponentArgs<TProps> = [
elementType: string | ShadeComponent<TProps>,
props: TProps,
...children: ChildrenList
];
/**
* Factory method that creates a component. This should be configured as a default JSX Factory in tsconfig.
* @returns the created JSX element
*/
export declare const createComponentInner: <TProps extends object>(...[elementType, props, ...children]: CreateComponentArgs<TProps>) => HTMLElement | undefined;
type CreateFragmentArgs = [props: null, ...children: ChildrenList];
export declare const createFragmentInner: (...[_props, ...children]: CreateFragmentArgs) => DocumentFragment;
export declare const createComponent: <TProps extends object>(...args: CreateComponentArgs<TProps> | CreateFragmentArgs) => HTMLElement | DocumentFragment | undefined;
export {};
//# sourceMappingURL=shade-component.d.ts.map