type AsProp = { as?: As; }; type PropsToOmit = keyof (AsProp & P); type PolymorphicComponentProp = React.PropsWithChildren> & Omit, PropsToOmit>; export type PolymorphicComponentPropWithRef = PolymorphicComponentProp & { ref?: PolymorphicRef; }; export type PolymorphicRef = React.ComponentPropsWithRef["ref"]; export type CustomReactElementProps = { class?: string; } & React.DetailedHTMLProps, T>; export type Sizes = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "18" | "22" | "26" | "30" | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 18 | 22 | 26 | 30; declare global { namespace React { interface HTMLAttributes { popover?: React.HTMLAttributes["popover"]; popovertarget?: string; popovertargetaction?: string; "data-validation"?: "form"; "data-color"?: "main" | "neutral" | "success" | "danger" | "info" | "warning" | "inverted"; "data-size"?: "sm" | "md" | "lg" | (string & {}); "data-tooltip"?: string; } interface ButtonHTMLAttributes extends React.HTMLAttributes { command?: string; commandfor?: string; } } namespace React.JSX { interface IntrinsicAttributes { popover?: React.HTMLAttributes["popover"]; popovertarget?: string; popovertargetaction?: string; } } } export {};