Most simple components created
This commit is contained in:
16
lib/types/Button.d.ts
vendored
Normal file
16
lib/types/Button.d.ts
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
import type { ButtonHTMLAttributes, Ref } from "react";
|
||||
|
||||
|
||||
export type ButtonRounding = "none" | "sm" | "md" | "lg" | "full";
|
||||
export type ButtonShape = "rectangle" | "square";
|
||||
export type ButtonSize = "xs" | "sm" | "md" | "lg" | "xl";
|
||||
export type ButtonVariant = "standard" | "outline" | "ghost" | "outline-ghost" | "icon";
|
||||
|
||||
|
||||
export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>{
|
||||
rounding?: ButtonRounding;
|
||||
shape?: ButtonShape;
|
||||
size?: ButtonSize;
|
||||
variant?: ButtonVariant;
|
||||
ref?: Ref<HTMLButtonElement>;
|
||||
}
|
||||
28
lib/types/Input.d.ts
vendored
Normal file
28
lib/types/Input.d.ts
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
import type { ChangeEventHandler } from "react";
|
||||
|
||||
|
||||
export interface TextInputProps {
|
||||
id: string;
|
||||
className?: string;
|
||||
inputClassName?: string;
|
||||
labelClassName?: string;
|
||||
placeholder?: string;
|
||||
defaultValue?: string;
|
||||
value?: string;
|
||||
onChange?: ChangeEventHandler<HTMLInputElement>;
|
||||
disabled?: boolean;
|
||||
}
|
||||
|
||||
export interface SelectInputProps {
|
||||
label: React.ReactNode;
|
||||
value?: string;
|
||||
onChange?: (newVlaue: string) => void;
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
export interface OptionInputProps {
|
||||
id?: string;
|
||||
className?: string;
|
||||
value: string;
|
||||
children: React.ReactNode;
|
||||
}
|
||||
65
lib/types/Loading.d.ts
vendored
Normal file
65
lib/types/Loading.d.ts
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
interface LoadingDefaultProps {
|
||||
width?: string | number;
|
||||
height?: string | number;
|
||||
className?: string;
|
||||
animationDuration?: number;
|
||||
stroke?: string;
|
||||
fill?: string;
|
||||
}
|
||||
|
||||
|
||||
//Spinners
|
||||
export interface LoadingSpinnerProps extends LoadingDefaultProps {
|
||||
trackClassName?: string;
|
||||
trackStroke?: string;
|
||||
trackFill?: string;
|
||||
}
|
||||
|
||||
export interface RubberLoadingSpinnerProps extends LoadingSpinnerProps {
|
||||
stretchDuration?: number;
|
||||
}
|
||||
|
||||
|
||||
//Dots
|
||||
export interface LoadingDotsProps extends LoadingDefaultProps {
|
||||
}
|
||||
|
||||
export interface CirclePulsingDotsProps {
|
||||
width?: string | number;
|
||||
height?: string | number;
|
||||
className?: string;
|
||||
rotationAnimationDuration?: number;
|
||||
growingAnimationDuration?: number;
|
||||
stroke?: string;
|
||||
fill?: string;
|
||||
}
|
||||
|
||||
export interface CircleSpinningDotProps extends LoadingDefaultProps {
|
||||
trackClassName?: string;
|
||||
trackStroke?: string;
|
||||
trackFill?: string;
|
||||
}
|
||||
|
||||
|
||||
//Bars
|
||||
export interface LoadingBarsProps extends LoadingDefaultProps {
|
||||
}
|
||||
|
||||
|
||||
//Blocks
|
||||
export interface LoadingBlocksProps extends LoadingDefaultProps {
|
||||
}
|
||||
|
||||
|
||||
//Pulses
|
||||
export interface LoadingPulseProps extends LoadingDefaultProps {
|
||||
}
|
||||
|
||||
|
||||
//Various
|
||||
export interface LoadingVariousProps extends LoadingDefaultProps {
|
||||
}
|
||||
|
||||
export interface LoadingWifiProps extends LoadingVariousProps {
|
||||
fadeDuration?: number;
|
||||
}
|
||||
7
lib/types/Message.d.ts
vendored
Normal file
7
lib/types/Message.d.ts
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import type { HTMLProps } from "react";
|
||||
|
||||
|
||||
export interface MessageBlockProps extends HTMLProps<HTMLDivElement> {
|
||||
outline?: "none" | "sm" | "md" | "lg";
|
||||
rounded?: "none" | "xs" | "sm" | "md" | "lg" | "xl";
|
||||
}
|
||||
32
lib/types/Modal.d.ts
vendored
Normal file
32
lib/types/Modal.d.ts
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
export type ModalBackgroundType = "darken" | "lighten" | "blur" | "darken-blur" | "lighten-blur" | "darken-blur-radial" | "lighten-blur-radial" | "transparent" | "none";
|
||||
|
||||
|
||||
export interface ModalHeaderProps {
|
||||
onClose?: () => void;
|
||||
className?: string;
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
export interface ModalFooterProps {
|
||||
className?: string;
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
export interface ModalBodyProps {
|
||||
className?: string;
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
export interface ModalProps {
|
||||
display: boolean;
|
||||
onClose: () => void;
|
||||
className?: string;
|
||||
backgroundType?: ModalBackgroundType;
|
||||
top?: boolean;
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
export interface ModalBackgroundProps {
|
||||
backgroundType?: ModalBackgroundType;
|
||||
close: () => void;
|
||||
}
|
||||
15
lib/types/Nav.d.ts
vendored
Normal file
15
lib/types/Nav.d.ts
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
export type Align = "start" | "end";
|
||||
export type Placement = "top" | "bottom" | "left" | "right";
|
||||
export type AnchorTo = `${Placement}` | `${Placement} ${Align}`;
|
||||
|
||||
|
||||
export interface PopoverMenuProps {
|
||||
buttonContent: React.ReactNode;
|
||||
anchor?: AnchorTo;
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
export interface NavBarProps {
|
||||
className?: string;
|
||||
children: React.ReactNode;
|
||||
}
|
||||
25
lib/types/Tab.d.ts
vendored
Normal file
25
lib/types/Tab.d.ts
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
export interface TabGroupContent {
|
||||
tab: React.ReactNode;
|
||||
content: React.ReactNode;
|
||||
}
|
||||
|
||||
export interface MattrixwvTabGroupProps {
|
||||
tabs: TabGroupContent[];
|
||||
className?: string;
|
||||
}
|
||||
|
||||
export interface MattrixwvTabListProps {
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
export interface MattrixwvTabProps {
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
export interface MattrixwvTabPanelsProps {
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
export interface MattrixwvTabPanelProps {
|
||||
children: React.ReactNode;
|
||||
}
|
||||
18
lib/types/Theme.d.ts
vendored
Normal file
18
lib/types/Theme.d.ts
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
export type Theme = "dark" | "light" | "system";
|
||||
|
||||
export interface ThemeProviderProps {
|
||||
defaultTheme?: Theme;
|
||||
storageKey?: string;
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
export interface ThemeProviderState {
|
||||
theme: Theme;
|
||||
setTheme: (theme: Theme) => void;
|
||||
}
|
||||
|
||||
export interface ThemeProviderProps {
|
||||
children: React.ReactNode;
|
||||
defaultTheme?: Theme;
|
||||
storageKey?: string;
|
||||
}
|
||||
Reference in New Issue
Block a user