@bricks-toolkit/toolkit 0.1.12 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Button.types-BsQYqZml.d.ts +27 -0
- package/dist/Button.types-D-srlWFf.d.mts +27 -0
- package/dist/TextInput.types-DRI8HQza.d.mts +32 -0
- package/dist/TextInput.types-DRI8HQza.d.ts +32 -0
- package/dist/Tooltip.types-PbUasE3C.d.mts +36 -0
- package/dist/Tooltip.types-PbUasE3C.d.ts +36 -0
- package/dist/avatar/index.d.mts +29 -0
- package/dist/avatar/index.d.ts +29 -0
- package/dist/badge/index.d.mts +57 -0
- package/dist/badge/index.d.ts +57 -0
- package/dist/breadcrumbs/index.d.mts +32 -0
- package/dist/breadcrumbs/index.d.ts +32 -0
- package/dist/button/index.d.mts +8 -0
- package/dist/button/index.d.ts +8 -0
- package/dist/card/index.d.mts +42 -0
- package/dist/card/index.d.ts +42 -0
- package/dist/checkbox/index.d.mts +36 -0
- package/dist/checkbox/index.d.ts +36 -0
- package/dist/combo-box/index.d.mts +62 -0
- package/dist/combo-box/index.d.ts +62 -0
- package/dist/date-picker/index.d.mts +32 -0
- package/dist/date-picker/index.d.ts +32 -0
- package/dist/dialog/index.d.mts +61 -0
- package/dist/dialog/index.d.ts +61 -0
- package/dist/dropdown-menu/index.d.mts +34 -0
- package/dist/dropdown-menu/index.d.ts +34 -0
- package/dist/email/index.d.mts +38 -0
- package/dist/email/index.d.ts +38 -0
- package/dist/file-upload/index.d.mts +27 -0
- package/dist/file-upload/index.d.ts +27 -0
- package/dist/header/index.d.mts +28 -0
- package/dist/header/index.d.ts +28 -0
- package/dist/icon-button/index.d.mts +16 -0
- package/dist/icon-button/index.d.ts +16 -0
- package/dist/image/index.d.mts +48 -0
- package/dist/image/index.d.ts +48 -0
- package/dist/index.d.mts +141 -0
- package/dist/index.d.ts +141 -0
- package/dist/link/index.d.mts +25 -0
- package/dist/link/index.d.ts +25 -0
- package/dist/loader/index.d.mts +21 -0
- package/dist/loader/index.d.ts +21 -0
- package/dist/modal/index.d.mts +116 -0
- package/dist/modal/index.d.ts +116 -0
- package/dist/multi-select/index.d.mts +59 -0
- package/dist/multi-select/index.d.ts +59 -0
- package/dist/otp-input/index.d.mts +57 -0
- package/dist/otp-input/index.d.ts +57 -0
- package/dist/password-input/index.d.mts +32 -0
- package/dist/password-input/index.d.ts +32 -0
- package/dist/phone/index.d.mts +42 -0
- package/dist/phone/index.d.ts +42 -0
- package/dist/radio-button/index.d.mts +56 -0
- package/dist/radio-button/index.d.ts +56 -0
- package/dist/search-input/index.d.mts +22 -0
- package/dist/search-input/index.d.ts +22 -0
- package/dist/select/index.d.mts +36 -0
- package/dist/select/index.d.ts +36 -0
- package/dist/sidebar/index.d.mts +96 -0
- package/dist/sidebar/index.d.ts +96 -0
- package/dist/skeleton/index.d.mts +76 -0
- package/dist/skeleton/index.d.ts +76 -0
- package/dist/styles.d.mts +2 -0
- package/dist/styles.d.ts +2 -0
- package/dist/table/index.d.mts +92 -0
- package/dist/table/index.d.ts +92 -0
- package/dist/tabs/index.d.mts +26 -0
- package/dist/tabs/index.d.ts +26 -0
- package/dist/text-input/index.d.mts +7 -0
- package/dist/text-input/index.d.ts +7 -0
- package/dist/theme-provider/index.d.mts +122 -0
- package/dist/theme-provider/index.d.ts +122 -0
- package/dist/theme.css +62 -0
- package/dist/time-picker/index.d.mts +32 -0
- package/dist/time-picker/index.d.ts +32 -0
- package/dist/toaster/index.d.mts +28 -0
- package/dist/toaster/index.d.ts +28 -0
- package/dist/tooltip/index.d.mts +7 -0
- package/dist/tooltip/index.d.ts +7 -0
- package/package.json +1 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ButtonHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import { T as TooltipPlacement } from './Tooltip.types-PbUasE3C.js';
|
|
3
|
+
|
|
4
|
+
type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'success' | 'warning' | 'info';
|
|
5
|
+
type ButtonSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
6
|
+
interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'prefix'> {
|
|
7
|
+
/** The variant style of the button */
|
|
8
|
+
variant?: ButtonVariant;
|
|
9
|
+
/** The size of the button */
|
|
10
|
+
size?: ButtonSize;
|
|
11
|
+
/** Whether the button should take up the full width of its container */
|
|
12
|
+
fullWidth?: boolean;
|
|
13
|
+
/** Whether the button is currently in a loading state */
|
|
14
|
+
isLoading?: boolean;
|
|
15
|
+
/** Optional text to display alongside the spinner when loading */
|
|
16
|
+
loadingText?: string;
|
|
17
|
+
/** An icon element to display before the button content */
|
|
18
|
+
leftIcon?: ReactNode;
|
|
19
|
+
/** An icon element to display after the button content */
|
|
20
|
+
rightIcon?: ReactNode;
|
|
21
|
+
/** Optional tooltip text or element to display on hover */
|
|
22
|
+
tooltip?: ReactNode;
|
|
23
|
+
/** Preferred placement of the tooltip relative to the button */
|
|
24
|
+
tooltipPlacement?: TooltipPlacement;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export type { ButtonProps as B, ButtonSize as a, ButtonVariant as b };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ButtonHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import { T as TooltipPlacement } from './Tooltip.types-PbUasE3C.mjs';
|
|
3
|
+
|
|
4
|
+
type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'success' | 'warning' | 'info';
|
|
5
|
+
type ButtonSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
6
|
+
interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'prefix'> {
|
|
7
|
+
/** The variant style of the button */
|
|
8
|
+
variant?: ButtonVariant;
|
|
9
|
+
/** The size of the button */
|
|
10
|
+
size?: ButtonSize;
|
|
11
|
+
/** Whether the button should take up the full width of its container */
|
|
12
|
+
fullWidth?: boolean;
|
|
13
|
+
/** Whether the button is currently in a loading state */
|
|
14
|
+
isLoading?: boolean;
|
|
15
|
+
/** Optional text to display alongside the spinner when loading */
|
|
16
|
+
loadingText?: string;
|
|
17
|
+
/** An icon element to display before the button content */
|
|
18
|
+
leftIcon?: ReactNode;
|
|
19
|
+
/** An icon element to display after the button content */
|
|
20
|
+
rightIcon?: ReactNode;
|
|
21
|
+
/** Optional tooltip text or element to display on hover */
|
|
22
|
+
tooltip?: ReactNode;
|
|
23
|
+
/** Preferred placement of the tooltip relative to the button */
|
|
24
|
+
tooltipPlacement?: TooltipPlacement;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export type { ButtonProps as B, ButtonSize as a, ButtonVariant as b };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { InputHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
type TextInputVariant = 'default' | 'filled' | 'flushed' | 'unstyled';
|
|
4
|
+
type TextInputSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
5
|
+
type TextInputState = 'default' | 'error' | 'success' | 'warning';
|
|
6
|
+
interface TextInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'prefix'> {
|
|
7
|
+
label?: string;
|
|
8
|
+
required?: boolean;
|
|
9
|
+
helperText?: string;
|
|
10
|
+
errorMessage?: string;
|
|
11
|
+
successMessage?: string;
|
|
12
|
+
warningMessage?: string;
|
|
13
|
+
variant?: TextInputVariant;
|
|
14
|
+
size?: TextInputSize;
|
|
15
|
+
state?: TextInputState;
|
|
16
|
+
fullWidth?: boolean;
|
|
17
|
+
leftElement?: ReactNode;
|
|
18
|
+
rightElement?: ReactNode;
|
|
19
|
+
prefix?: ReactNode;
|
|
20
|
+
suffix?: ReactNode;
|
|
21
|
+
wrapperClassName?: string;
|
|
22
|
+
inputGroupClassName?: string;
|
|
23
|
+
inputClassName?: string;
|
|
24
|
+
labelClassName?: string;
|
|
25
|
+
helperClassName?: string;
|
|
26
|
+
clearable?: boolean;
|
|
27
|
+
isLoading?: boolean;
|
|
28
|
+
multiline?: boolean;
|
|
29
|
+
rows?: number;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export type { TextInputProps as T, TextInputSize as a, TextInputState as b, TextInputVariant as c };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { InputHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
type TextInputVariant = 'default' | 'filled' | 'flushed' | 'unstyled';
|
|
4
|
+
type TextInputSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
5
|
+
type TextInputState = 'default' | 'error' | 'success' | 'warning';
|
|
6
|
+
interface TextInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'prefix'> {
|
|
7
|
+
label?: string;
|
|
8
|
+
required?: boolean;
|
|
9
|
+
helperText?: string;
|
|
10
|
+
errorMessage?: string;
|
|
11
|
+
successMessage?: string;
|
|
12
|
+
warningMessage?: string;
|
|
13
|
+
variant?: TextInputVariant;
|
|
14
|
+
size?: TextInputSize;
|
|
15
|
+
state?: TextInputState;
|
|
16
|
+
fullWidth?: boolean;
|
|
17
|
+
leftElement?: ReactNode;
|
|
18
|
+
rightElement?: ReactNode;
|
|
19
|
+
prefix?: ReactNode;
|
|
20
|
+
suffix?: ReactNode;
|
|
21
|
+
wrapperClassName?: string;
|
|
22
|
+
inputGroupClassName?: string;
|
|
23
|
+
inputClassName?: string;
|
|
24
|
+
labelClassName?: string;
|
|
25
|
+
helperClassName?: string;
|
|
26
|
+
clearable?: boolean;
|
|
27
|
+
isLoading?: boolean;
|
|
28
|
+
multiline?: boolean;
|
|
29
|
+
rows?: number;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export type { TextInputProps as T, TextInputSize as a, TextInputState as b, TextInputVariant as c };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
|
|
4
|
+
type TooltipTrigger = 'hover' | 'click' | 'focus';
|
|
5
|
+
type TooltipSize = 'sm' | 'md' | 'lg';
|
|
6
|
+
type TooltipVariant = 'dark' | 'primary' | 'light';
|
|
7
|
+
interface TooltipProps {
|
|
8
|
+
/** The content shown inside the tooltip bubble. */
|
|
9
|
+
content: ReactNode;
|
|
10
|
+
/** The element the tooltip is anchored to. */
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
/** Preferred placement relative to the trigger. Defaults to 'top'. */
|
|
13
|
+
placement?: TooltipPlacement;
|
|
14
|
+
/** What interaction opens the tooltip. Defaults to 'hover'. */
|
|
15
|
+
trigger?: TooltipTrigger;
|
|
16
|
+
/** Delay in ms before showing (hover only). Defaults to 0. */
|
|
17
|
+
showDelay?: number;
|
|
18
|
+
/** Delay in ms before hiding (hover only). Defaults to 100. */
|
|
19
|
+
hideDelay?: number;
|
|
20
|
+
/** Size / padding of the tooltip bubble. Defaults to 'md'. */
|
|
21
|
+
size?: TooltipSize;
|
|
22
|
+
/** Visual style of the tooltip bubble. Defaults to 'dark'. */
|
|
23
|
+
variant?: TooltipVariant;
|
|
24
|
+
/** When true the tooltip is always visible (controlled). */
|
|
25
|
+
open?: boolean;
|
|
26
|
+
/** When true the tooltip is disabled and will never show. */
|
|
27
|
+
disabled?: boolean;
|
|
28
|
+
/** Max width of the tooltip bubble in px. Defaults to 240. */
|
|
29
|
+
maxWidth?: number;
|
|
30
|
+
/** Additional class for the tooltip bubble. */
|
|
31
|
+
className?: string;
|
|
32
|
+
/** Additional class for the tooltip wrapper span. */
|
|
33
|
+
wrapperClassName?: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export type { TooltipPlacement as T, TooltipProps as a, TooltipSize as b, TooltipTrigger as c, TooltipVariant as d };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
|
|
4
|
+
type TooltipTrigger = 'hover' | 'click' | 'focus';
|
|
5
|
+
type TooltipSize = 'sm' | 'md' | 'lg';
|
|
6
|
+
type TooltipVariant = 'dark' | 'primary' | 'light';
|
|
7
|
+
interface TooltipProps {
|
|
8
|
+
/** The content shown inside the tooltip bubble. */
|
|
9
|
+
content: ReactNode;
|
|
10
|
+
/** The element the tooltip is anchored to. */
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
/** Preferred placement relative to the trigger. Defaults to 'top'. */
|
|
13
|
+
placement?: TooltipPlacement;
|
|
14
|
+
/** What interaction opens the tooltip. Defaults to 'hover'. */
|
|
15
|
+
trigger?: TooltipTrigger;
|
|
16
|
+
/** Delay in ms before showing (hover only). Defaults to 0. */
|
|
17
|
+
showDelay?: number;
|
|
18
|
+
/** Delay in ms before hiding (hover only). Defaults to 100. */
|
|
19
|
+
hideDelay?: number;
|
|
20
|
+
/** Size / padding of the tooltip bubble. Defaults to 'md'. */
|
|
21
|
+
size?: TooltipSize;
|
|
22
|
+
/** Visual style of the tooltip bubble. Defaults to 'dark'. */
|
|
23
|
+
variant?: TooltipVariant;
|
|
24
|
+
/** When true the tooltip is always visible (controlled). */
|
|
25
|
+
open?: boolean;
|
|
26
|
+
/** When true the tooltip is disabled and will never show. */
|
|
27
|
+
disabled?: boolean;
|
|
28
|
+
/** Max width of the tooltip bubble in px. Defaults to 240. */
|
|
29
|
+
maxWidth?: number;
|
|
30
|
+
/** Additional class for the tooltip bubble. */
|
|
31
|
+
className?: string;
|
|
32
|
+
/** Additional class for the tooltip wrapper span. */
|
|
33
|
+
wrapperClassName?: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export type { TooltipPlacement as T, TooltipProps as a, TooltipSize as b, TooltipTrigger as c, TooltipVariant as d };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ImgHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
type AvatarSize = '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
|
|
4
|
+
type AvatarVariant = 'circle' | 'square' | 'rounded';
|
|
5
|
+
type AvatarState = 'default' | 'error' | 'success' | 'warning' | 'offline' | 'online' | 'busy' | 'away';
|
|
6
|
+
interface AvatarProps extends Omit<ImgHTMLAttributes<HTMLImageElement>, 'size'> {
|
|
7
|
+
/** Size of the avatar */
|
|
8
|
+
size?: AvatarSize;
|
|
9
|
+
/** Shape variant of the avatar */
|
|
10
|
+
variant?: AvatarVariant;
|
|
11
|
+
/** State indicator for the avatar (e.g. online status or validation) */
|
|
12
|
+
state?: AvatarState;
|
|
13
|
+
/** Determines if the state indicator should be a border or a dot (badge). Default is border. */
|
|
14
|
+
stateType?: 'border' | 'badge';
|
|
15
|
+
/** Fallback content when image is not provided or fails to load. Can be initials string or a ReactNode */
|
|
16
|
+
fallback?: ReactNode;
|
|
17
|
+
/** Alt text for the image, also used to generate initials if fallback string is not provided */
|
|
18
|
+
alt?: string;
|
|
19
|
+
/** Image source URL */
|
|
20
|
+
src?: string;
|
|
21
|
+
/** Class name applied to the outer container */
|
|
22
|
+
containerClassName?: string;
|
|
23
|
+
/** Class name applied to the fallback element */
|
|
24
|
+
fallbackClassName?: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>>;
|
|
28
|
+
|
|
29
|
+
export { Avatar, type AvatarProps, type AvatarSize, type AvatarState, type AvatarVariant };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ImgHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
type AvatarSize = '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
|
|
4
|
+
type AvatarVariant = 'circle' | 'square' | 'rounded';
|
|
5
|
+
type AvatarState = 'default' | 'error' | 'success' | 'warning' | 'offline' | 'online' | 'busy' | 'away';
|
|
6
|
+
interface AvatarProps extends Omit<ImgHTMLAttributes<HTMLImageElement>, 'size'> {
|
|
7
|
+
/** Size of the avatar */
|
|
8
|
+
size?: AvatarSize;
|
|
9
|
+
/** Shape variant of the avatar */
|
|
10
|
+
variant?: AvatarVariant;
|
|
11
|
+
/** State indicator for the avatar (e.g. online status or validation) */
|
|
12
|
+
state?: AvatarState;
|
|
13
|
+
/** Determines if the state indicator should be a border or a dot (badge). Default is border. */
|
|
14
|
+
stateType?: 'border' | 'badge';
|
|
15
|
+
/** Fallback content when image is not provided or fails to load. Can be initials string or a ReactNode */
|
|
16
|
+
fallback?: ReactNode;
|
|
17
|
+
/** Alt text for the image, also used to generate initials if fallback string is not provided */
|
|
18
|
+
alt?: string;
|
|
19
|
+
/** Image source URL */
|
|
20
|
+
src?: string;
|
|
21
|
+
/** Class name applied to the outer container */
|
|
22
|
+
containerClassName?: string;
|
|
23
|
+
/** Class name applied to the fallback element */
|
|
24
|
+
fallbackClassName?: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>>;
|
|
28
|
+
|
|
29
|
+
export { Avatar, type AvatarProps, type AvatarSize, type AvatarState, type AvatarVariant };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { ReactNode, ElementType } from 'react';
|
|
2
|
+
|
|
3
|
+
/** Visual style of the badge. */
|
|
4
|
+
type BadgeVariant = 'solid' | 'soft' | 'outline' | 'dot' | 'gradient';
|
|
5
|
+
/** Color palette for the badge. */
|
|
6
|
+
type BadgeColor = 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info' | 'accent' | 'gray' | 'blue' | 'green' | 'red' | 'yellow' | 'purple' | 'pink' | 'orange' | 'cyan' | 'teal' | 'indigo';
|
|
7
|
+
/** Size token for the badge. */
|
|
8
|
+
type BadgeSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
9
|
+
/** Border-radius shape. */
|
|
10
|
+
type BadgeShape = 'rounded' | 'pill' | 'square';
|
|
11
|
+
interface BadgeProps {
|
|
12
|
+
/** Text or content inside the badge. */
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
/** Visual style. Defaults to `'soft'`. */
|
|
15
|
+
variant?: BadgeVariant;
|
|
16
|
+
/** Color scheme. Defaults to `'blue'`. */
|
|
17
|
+
color?: BadgeColor;
|
|
18
|
+
/** Size. Defaults to `'md'`. */
|
|
19
|
+
size?: BadgeSize;
|
|
20
|
+
/** Border-radius shape. Defaults to `'pill'`. */
|
|
21
|
+
shape?: BadgeShape;
|
|
22
|
+
/** Optional icon rendered before the label. */
|
|
23
|
+
icon?: ReactNode;
|
|
24
|
+
/** Optional icon rendered after the label (before the remove button). */
|
|
25
|
+
trailingIcon?: ReactNode;
|
|
26
|
+
/** When provided, renders a remove (×) button and calls this on click. */
|
|
27
|
+
onRemove?: () => void;
|
|
28
|
+
/** Adds a pulsing animation to the dot indicator (only works with `variant="dot"`). */
|
|
29
|
+
pulse?: boolean;
|
|
30
|
+
/** Renders a numeric count instead of (or alongside) children. When > maxCount, shows `{maxCount}+`. */
|
|
31
|
+
count?: number;
|
|
32
|
+
/** Maximum count before the overflow label is shown. Defaults to 99. */
|
|
33
|
+
maxCount?: number;
|
|
34
|
+
/** Uppercases the badge text. */
|
|
35
|
+
uppercase?: boolean;
|
|
36
|
+
/** Adds a soft letter-spacing for label readability. */
|
|
37
|
+
tracking?: boolean;
|
|
38
|
+
/** Polymorphic element override (e.g. `'a'`, `'button'`, `'li'`). Defaults to `'span'`. */
|
|
39
|
+
as?: ElementType;
|
|
40
|
+
/** Additional class name. */
|
|
41
|
+
className?: string;
|
|
42
|
+
/** Any other HTML / element props (e.g. `href`, `onClick`, `aria-*`). */
|
|
43
|
+
[key: string]: unknown;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* `Badge` — a highly composable inline label component.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* <Badge color="green" variant="soft">Active</Badge>
|
|
51
|
+
* <Badge color="red" variant="gradient" size="lg" shape="rounded">Critical</Badge>
|
|
52
|
+
* <Badge color="blue" variant="dot" pulse>Live</Badge>
|
|
53
|
+
* <Badge count={42} color="red" variant="solid" shape="pill" />
|
|
54
|
+
*/
|
|
55
|
+
declare function Badge({ children, variant, color, size, shape, icon, trailingIcon, onRemove, pulse, count, maxCount, uppercase, tracking, as: Tag, className, ...rest }: BadgeProps): React.JSX.Element;
|
|
56
|
+
|
|
57
|
+
export { Badge, type BadgeColor, type BadgeProps, type BadgeShape, type BadgeSize, type BadgeVariant };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { ReactNode, ElementType } from 'react';
|
|
2
|
+
|
|
3
|
+
/** Visual style of the badge. */
|
|
4
|
+
type BadgeVariant = 'solid' | 'soft' | 'outline' | 'dot' | 'gradient';
|
|
5
|
+
/** Color palette for the badge. */
|
|
6
|
+
type BadgeColor = 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info' | 'accent' | 'gray' | 'blue' | 'green' | 'red' | 'yellow' | 'purple' | 'pink' | 'orange' | 'cyan' | 'teal' | 'indigo';
|
|
7
|
+
/** Size token for the badge. */
|
|
8
|
+
type BadgeSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
9
|
+
/** Border-radius shape. */
|
|
10
|
+
type BadgeShape = 'rounded' | 'pill' | 'square';
|
|
11
|
+
interface BadgeProps {
|
|
12
|
+
/** Text or content inside the badge. */
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
/** Visual style. Defaults to `'soft'`. */
|
|
15
|
+
variant?: BadgeVariant;
|
|
16
|
+
/** Color scheme. Defaults to `'blue'`. */
|
|
17
|
+
color?: BadgeColor;
|
|
18
|
+
/** Size. Defaults to `'md'`. */
|
|
19
|
+
size?: BadgeSize;
|
|
20
|
+
/** Border-radius shape. Defaults to `'pill'`. */
|
|
21
|
+
shape?: BadgeShape;
|
|
22
|
+
/** Optional icon rendered before the label. */
|
|
23
|
+
icon?: ReactNode;
|
|
24
|
+
/** Optional icon rendered after the label (before the remove button). */
|
|
25
|
+
trailingIcon?: ReactNode;
|
|
26
|
+
/** When provided, renders a remove (×) button and calls this on click. */
|
|
27
|
+
onRemove?: () => void;
|
|
28
|
+
/** Adds a pulsing animation to the dot indicator (only works with `variant="dot"`). */
|
|
29
|
+
pulse?: boolean;
|
|
30
|
+
/** Renders a numeric count instead of (or alongside) children. When > maxCount, shows `{maxCount}+`. */
|
|
31
|
+
count?: number;
|
|
32
|
+
/** Maximum count before the overflow label is shown. Defaults to 99. */
|
|
33
|
+
maxCount?: number;
|
|
34
|
+
/** Uppercases the badge text. */
|
|
35
|
+
uppercase?: boolean;
|
|
36
|
+
/** Adds a soft letter-spacing for label readability. */
|
|
37
|
+
tracking?: boolean;
|
|
38
|
+
/** Polymorphic element override (e.g. `'a'`, `'button'`, `'li'`). Defaults to `'span'`. */
|
|
39
|
+
as?: ElementType;
|
|
40
|
+
/** Additional class name. */
|
|
41
|
+
className?: string;
|
|
42
|
+
/** Any other HTML / element props (e.g. `href`, `onClick`, `aria-*`). */
|
|
43
|
+
[key: string]: unknown;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* `Badge` — a highly composable inline label component.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* <Badge color="green" variant="soft">Active</Badge>
|
|
51
|
+
* <Badge color="red" variant="gradient" size="lg" shape="rounded">Critical</Badge>
|
|
52
|
+
* <Badge color="blue" variant="dot" pulse>Live</Badge>
|
|
53
|
+
* <Badge count={42} color="red" variant="solid" shape="pill" />
|
|
54
|
+
*/
|
|
55
|
+
declare function Badge({ children, variant, color, size, shape, icon, trailingIcon, onRemove, pulse, count, maxCount, uppercase, tracking, as: Tag, className, ...rest }: BadgeProps): React.JSX.Element;
|
|
56
|
+
|
|
57
|
+
export { Badge, type BadgeColor, type BadgeProps, type BadgeShape, type BadgeSize, type BadgeVariant };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ReactNode, ReactElement } from 'react';
|
|
2
|
+
|
|
3
|
+
interface BreadcrumbItem {
|
|
4
|
+
/** The label shown for this crumb. */
|
|
5
|
+
label: ReactNode;
|
|
6
|
+
/** When provided the crumb renders as a link. */
|
|
7
|
+
href?: string;
|
|
8
|
+
/** onClick handler (use instead of href for SPA navigation). */
|
|
9
|
+
onClick?: () => void;
|
|
10
|
+
/** When true the crumb is shown but not clickable. */
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
}
|
|
13
|
+
type BreadcrumbSeparator = 'slash' | 'chevron' | 'dot' | ReactElement;
|
|
14
|
+
type BreadcrumbSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
15
|
+
interface BreadcrumbsProps {
|
|
16
|
+
/** The list of crumb items. The last item is treated as the current page. */
|
|
17
|
+
items: BreadcrumbItem[];
|
|
18
|
+
/** Separator between crumbs. Defaults to 'chevron'. */
|
|
19
|
+
separator?: BreadcrumbSeparator;
|
|
20
|
+
/** Text size. Defaults to 'sm'. */
|
|
21
|
+
size?: BreadcrumbSize;
|
|
22
|
+
/** When true collapses middle items into an ellipsis button. Defaults to false. */
|
|
23
|
+
collapsible?: boolean;
|
|
24
|
+
/** Maximum number of items to show when collapsible=true. Defaults to 4. */
|
|
25
|
+
maxItems?: number;
|
|
26
|
+
/** Additional class for the <nav> wrapper. */
|
|
27
|
+
className?: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
declare function Breadcrumbs({ items, separator, size, collapsible, maxItems, className, }: BreadcrumbsProps): React.JSX.Element | null;
|
|
31
|
+
|
|
32
|
+
export { type BreadcrumbItem, type BreadcrumbSeparator, type BreadcrumbSize, Breadcrumbs, type BreadcrumbsProps };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ReactNode, ReactElement } from 'react';
|
|
2
|
+
|
|
3
|
+
interface BreadcrumbItem {
|
|
4
|
+
/** The label shown for this crumb. */
|
|
5
|
+
label: ReactNode;
|
|
6
|
+
/** When provided the crumb renders as a link. */
|
|
7
|
+
href?: string;
|
|
8
|
+
/** onClick handler (use instead of href for SPA navigation). */
|
|
9
|
+
onClick?: () => void;
|
|
10
|
+
/** When true the crumb is shown but not clickable. */
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
}
|
|
13
|
+
type BreadcrumbSeparator = 'slash' | 'chevron' | 'dot' | ReactElement;
|
|
14
|
+
type BreadcrumbSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
15
|
+
interface BreadcrumbsProps {
|
|
16
|
+
/** The list of crumb items. The last item is treated as the current page. */
|
|
17
|
+
items: BreadcrumbItem[];
|
|
18
|
+
/** Separator between crumbs. Defaults to 'chevron'. */
|
|
19
|
+
separator?: BreadcrumbSeparator;
|
|
20
|
+
/** Text size. Defaults to 'sm'. */
|
|
21
|
+
size?: BreadcrumbSize;
|
|
22
|
+
/** When true collapses middle items into an ellipsis button. Defaults to false. */
|
|
23
|
+
collapsible?: boolean;
|
|
24
|
+
/** Maximum number of items to show when collapsible=true. Defaults to 4. */
|
|
25
|
+
maxItems?: number;
|
|
26
|
+
/** Additional class for the <nav> wrapper. */
|
|
27
|
+
className?: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
declare function Breadcrumbs({ items, separator, size, collapsible, maxItems, className, }: BreadcrumbsProps): React.JSX.Element | null;
|
|
31
|
+
|
|
32
|
+
export { type BreadcrumbItem, type BreadcrumbSeparator, type BreadcrumbSize, Breadcrumbs, type BreadcrumbsProps };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { B as ButtonProps } from '../Button.types-D-srlWFf.mjs';
|
|
2
|
+
export { a as ButtonSize, b as ButtonVariant } from '../Button.types-D-srlWFf.mjs';
|
|
3
|
+
import 'react';
|
|
4
|
+
import '../Tooltip.types-PbUasE3C.mjs';
|
|
5
|
+
|
|
6
|
+
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
7
|
+
|
|
8
|
+
export { Button, ButtonProps };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { B as ButtonProps } from '../Button.types-BsQYqZml.js';
|
|
2
|
+
export { a as ButtonSize, b as ButtonVariant } from '../Button.types-BsQYqZml.js';
|
|
3
|
+
import 'react';
|
|
4
|
+
import '../Tooltip.types-PbUasE3C.js';
|
|
5
|
+
|
|
6
|
+
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
7
|
+
|
|
8
|
+
export { Button, ButtonProps };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
|
|
3
|
+
type CardVariant = 'default' | 'outlined' | 'elevated' | 'filled';
|
|
4
|
+
type CardPadding = 'none' | 'sm' | 'md' | 'lg' | 'xl';
|
|
5
|
+
interface CardProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
|
+
/** The overall visual style of the card */
|
|
7
|
+
variant?: CardVariant;
|
|
8
|
+
/** Internal padding scale to apply strictly to the overall wrapper */
|
|
9
|
+
padding?: CardPadding;
|
|
10
|
+
}
|
|
11
|
+
type CardHeaderProps = HTMLAttributes<HTMLDivElement>;
|
|
12
|
+
type CardTitleProps = HTMLAttributes<HTMLHeadingElement>;
|
|
13
|
+
type CardDescriptionProps = HTMLAttributes<HTMLParagraphElement>;
|
|
14
|
+
type CardContentProps = HTMLAttributes<HTMLDivElement>;
|
|
15
|
+
type CardFooterProps = HTMLAttributes<HTMLDivElement>;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Root Card wrapper containing styles, border radiuses, and shadow mappings.
|
|
19
|
+
*/
|
|
20
|
+
declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
|
|
21
|
+
/**
|
|
22
|
+
* Card Header segment, ideal for stacking Titles, actions, and meta data.
|
|
23
|
+
*/
|
|
24
|
+
declare const CardHeader: React.ForwardRefExoticComponent<CardHeaderProps & React.RefAttributes<HTMLDivElement>>;
|
|
25
|
+
/**
|
|
26
|
+
* Semantically native Header 3 representation ensuring text harmony generically.
|
|
27
|
+
*/
|
|
28
|
+
declare const CardTitle: React.ForwardRefExoticComponent<CardTitleProps & React.RefAttributes<HTMLHeadingElement>>;
|
|
29
|
+
/**
|
|
30
|
+
* Muted paragraph utility explicitly meant for text trailing a Title internally.
|
|
31
|
+
*/
|
|
32
|
+
declare const CardDescription: React.ForwardRefExoticComponent<CardDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
|
|
33
|
+
/**
|
|
34
|
+
* Physical payload payload explicitly anchoring generic HTML spacing between a header and a footer correctly.
|
|
35
|
+
*/
|
|
36
|
+
declare const CardContent: React.ForwardRefExoticComponent<CardContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
37
|
+
/**
|
|
38
|
+
* Spaced flex container automatically injecting actions aligned horizontally below content natively.
|
|
39
|
+
*/
|
|
40
|
+
declare const CardFooter: React.ForwardRefExoticComponent<CardFooterProps & React.RefAttributes<HTMLDivElement>>;
|
|
41
|
+
|
|
42
|
+
export { Card, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardPadding, type CardProps, CardTitle, type CardTitleProps, type CardVariant };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
|
|
3
|
+
type CardVariant = 'default' | 'outlined' | 'elevated' | 'filled';
|
|
4
|
+
type CardPadding = 'none' | 'sm' | 'md' | 'lg' | 'xl';
|
|
5
|
+
interface CardProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
|
+
/** The overall visual style of the card */
|
|
7
|
+
variant?: CardVariant;
|
|
8
|
+
/** Internal padding scale to apply strictly to the overall wrapper */
|
|
9
|
+
padding?: CardPadding;
|
|
10
|
+
}
|
|
11
|
+
type CardHeaderProps = HTMLAttributes<HTMLDivElement>;
|
|
12
|
+
type CardTitleProps = HTMLAttributes<HTMLHeadingElement>;
|
|
13
|
+
type CardDescriptionProps = HTMLAttributes<HTMLParagraphElement>;
|
|
14
|
+
type CardContentProps = HTMLAttributes<HTMLDivElement>;
|
|
15
|
+
type CardFooterProps = HTMLAttributes<HTMLDivElement>;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Root Card wrapper containing styles, border radiuses, and shadow mappings.
|
|
19
|
+
*/
|
|
20
|
+
declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
|
|
21
|
+
/**
|
|
22
|
+
* Card Header segment, ideal for stacking Titles, actions, and meta data.
|
|
23
|
+
*/
|
|
24
|
+
declare const CardHeader: React.ForwardRefExoticComponent<CardHeaderProps & React.RefAttributes<HTMLDivElement>>;
|
|
25
|
+
/**
|
|
26
|
+
* Semantically native Header 3 representation ensuring text harmony generically.
|
|
27
|
+
*/
|
|
28
|
+
declare const CardTitle: React.ForwardRefExoticComponent<CardTitleProps & React.RefAttributes<HTMLHeadingElement>>;
|
|
29
|
+
/**
|
|
30
|
+
* Muted paragraph utility explicitly meant for text trailing a Title internally.
|
|
31
|
+
*/
|
|
32
|
+
declare const CardDescription: React.ForwardRefExoticComponent<CardDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
|
|
33
|
+
/**
|
|
34
|
+
* Physical payload payload explicitly anchoring generic HTML spacing between a header and a footer correctly.
|
|
35
|
+
*/
|
|
36
|
+
declare const CardContent: React.ForwardRefExoticComponent<CardContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
37
|
+
/**
|
|
38
|
+
* Spaced flex container automatically injecting actions aligned horizontally below content natively.
|
|
39
|
+
*/
|
|
40
|
+
declare const CardFooter: React.ForwardRefExoticComponent<CardFooterProps & React.RefAttributes<HTMLDivElement>>;
|
|
41
|
+
|
|
42
|
+
export { Card, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardPadding, type CardProps, CardTitle, type CardTitleProps, type CardVariant };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { InputHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
type CheckboxSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
4
|
+
type CheckboxState = 'default' | 'error' | 'success' | 'warning';
|
|
5
|
+
interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
|
|
6
|
+
/** The primary label to display next to the checkbox */
|
|
7
|
+
label?: ReactNode;
|
|
8
|
+
/** Additional helper text displayed beneath the checkbox */
|
|
9
|
+
helperText?: ReactNode;
|
|
10
|
+
/** Error message displayed beneath the checkbox when state is 'error' */
|
|
11
|
+
errorMessage?: ReactNode;
|
|
12
|
+
/** Success message displayed beneath the checkbox when state is 'success' */
|
|
13
|
+
successMessage?: ReactNode;
|
|
14
|
+
/** Warning message displayed beneath the checkbox when state is 'warning' */
|
|
15
|
+
warningMessage?: ReactNode;
|
|
16
|
+
/** The size of the checkbox and its associated text */
|
|
17
|
+
size?: CheckboxSize;
|
|
18
|
+
/** The validation state of the checkbox */
|
|
19
|
+
state?: CheckboxState;
|
|
20
|
+
/** Whether the checkbox represents a mixed or indeterminate state */
|
|
21
|
+
indeterminate?: boolean;
|
|
22
|
+
/** Custom class for the outermost container */
|
|
23
|
+
containerClassName?: string;
|
|
24
|
+
/** Alias for containerClassName to match other components */
|
|
25
|
+
wrapperClassName?: string;
|
|
26
|
+
/** Custom class for the underlying input element */
|
|
27
|
+
inputClassName?: string;
|
|
28
|
+
/** Custom class for the label element */
|
|
29
|
+
labelClassName?: string;
|
|
30
|
+
/** Custom class for the helper/message text element */
|
|
31
|
+
messageClassName?: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>>;
|
|
35
|
+
|
|
36
|
+
export { Checkbox, type CheckboxProps, type CheckboxSize, type CheckboxState };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { InputHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
type CheckboxSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
4
|
+
type CheckboxState = 'default' | 'error' | 'success' | 'warning';
|
|
5
|
+
interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
|
|
6
|
+
/** The primary label to display next to the checkbox */
|
|
7
|
+
label?: ReactNode;
|
|
8
|
+
/** Additional helper text displayed beneath the checkbox */
|
|
9
|
+
helperText?: ReactNode;
|
|
10
|
+
/** Error message displayed beneath the checkbox when state is 'error' */
|
|
11
|
+
errorMessage?: ReactNode;
|
|
12
|
+
/** Success message displayed beneath the checkbox when state is 'success' */
|
|
13
|
+
successMessage?: ReactNode;
|
|
14
|
+
/** Warning message displayed beneath the checkbox when state is 'warning' */
|
|
15
|
+
warningMessage?: ReactNode;
|
|
16
|
+
/** The size of the checkbox and its associated text */
|
|
17
|
+
size?: CheckboxSize;
|
|
18
|
+
/** The validation state of the checkbox */
|
|
19
|
+
state?: CheckboxState;
|
|
20
|
+
/** Whether the checkbox represents a mixed or indeterminate state */
|
|
21
|
+
indeterminate?: boolean;
|
|
22
|
+
/** Custom class for the outermost container */
|
|
23
|
+
containerClassName?: string;
|
|
24
|
+
/** Alias for containerClassName to match other components */
|
|
25
|
+
wrapperClassName?: string;
|
|
26
|
+
/** Custom class for the underlying input element */
|
|
27
|
+
inputClassName?: string;
|
|
28
|
+
/** Custom class for the label element */
|
|
29
|
+
labelClassName?: string;
|
|
30
|
+
/** Custom class for the helper/message text element */
|
|
31
|
+
messageClassName?: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>>;
|
|
35
|
+
|
|
36
|
+
export { Checkbox, type CheckboxProps, type CheckboxSize, type CheckboxState };
|