@mithrl/design-system 0.1.0

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.
Files changed (39) hide show
  1. package/README.md +63 -0
  2. package/dist/components/account-menu/AccountMenu.d.ts +27 -0
  3. package/dist/components/avatar/Avatar.d.ts +38 -0
  4. package/dist/components/badge/Badge.d.ts +28 -0
  5. package/dist/components/button/Button.d.ts +28 -0
  6. package/dist/components/checkbox/Checkbox.d.ts +27 -0
  7. package/dist/components/dialog/Dialog.d.ts +94 -0
  8. package/dist/components/dropdown-menu/DropdownMenu.d.ts +102 -0
  9. package/dist/components/field/Field.d.ts +62 -0
  10. package/dist/components/field-label/FieldLabel.d.ts +32 -0
  11. package/dist/components/field-message/FieldMessage.d.ts +23 -0
  12. package/dist/components/file-dropzone/FileDropzone.d.ts +54 -0
  13. package/dist/components/global-app-bar/GlobalAppBar.d.ts +77 -0
  14. package/dist/components/icon/Icon.d.ts +41 -0
  15. package/dist/components/icon-button/IconButton.d.ts +57 -0
  16. package/dist/components/link/Link.d.ts +39 -0
  17. package/dist/components/panel-tabs/PanelTabs.d.ts +46 -0
  18. package/dist/components/progress-indicator/ProgressIndicator.d.ts +28 -0
  19. package/dist/components/project-card/ProjectCard.d.ts +59 -0
  20. package/dist/components/radio/Radio.d.ts +23 -0
  21. package/dist/components/segmented-tabs/SegmentedTabs.d.ts +61 -0
  22. package/dist/components/select/Select.d.ts +40 -0
  23. package/dist/components/separator/Separator.d.ts +35 -0
  24. package/dist/components/skeleton/Skeleton.d.ts +17 -0
  25. package/dist/components/standard-tabs/StandardTabs.d.ts +54 -0
  26. package/dist/components/switch/Switch.d.ts +61 -0
  27. package/dist/components/tag/Tag.d.ts +27 -0
  28. package/dist/components/text-field/TextField.d.ts +46 -0
  29. package/dist/components/textarea/Textarea.d.ts +44 -0
  30. package/dist/components/toggle-button/ToggleButton.d.ts +47 -0
  31. package/dist/components/tooltip/Tooltip.d.ts +46 -0
  32. package/dist/components/upload-queue/UploadQueue.d.ts +73 -0
  33. package/dist/index.d.ts +67 -0
  34. package/dist/index.js +3869 -0
  35. package/dist/patterns/new-project-dialog/NewProjectDialog.d.ts +42 -0
  36. package/dist/patterns/project-library/ProjectLibrary.d.ts +101 -0
  37. package/dist/styles.css +2 -0
  38. package/dist/styles.d.ts +1 -0
  39. package/package.json +79 -0
@@ -0,0 +1,61 @@
1
+ import { type ButtonHTMLAttributes } from "react";
2
+
3
+ type AccessibleSwitchButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "aria-checked" | "aria-pressed" | "children" | "onChange" | "role"> & {
4
+ /** Required when aria-labelledby does not reference a visible label. */
5
+ "aria-label"?: string;
6
+ /** ID of the visible label that names the control. */
7
+ "aria-labelledby"?: string;
8
+ };
9
+ export type SwitchProps = AccessibleSwitchButtonProps & {
10
+ /** Controlled checked state. */
11
+ checked?: boolean;
12
+ /** Initial checked state for uncontrolled use. */
13
+ defaultChecked?: boolean;
14
+ /** Called when an interaction requests a checked-state change. */
15
+ onCheckedChange?: (checked: boolean) => void;
16
+ };
17
+ export type ThemeMode = "light" | "dark";
18
+ export type ThemeSwitchProps = Omit<AccessibleSwitchButtonProps, "aria-label"> & {
19
+ /** Controlled active theme. */
20
+ theme?: ThemeMode;
21
+ /** Initial theme for uncontrolled use. */
22
+ defaultTheme?: ThemeMode;
23
+ /** Called when an interaction requests a theme change. */
24
+ onThemeChange?: (theme: ThemeMode) => void;
25
+ /** Defaults to a dynamic `Switch to … mode` accessible name. */
26
+ "aria-label"?: string;
27
+ };
28
+ /**
29
+ * A binary control for settings that take effect immediately. The visual
30
+ * track stays icon-free and inherits Light or Dark semantic tokens from its
31
+ * nearest theme boundary.
32
+ */
33
+ export declare const Switch: import("react").ForwardRefExoticComponent<Omit<ButtonHTMLAttributes<HTMLButtonElement>, "aria-checked" | "aria-pressed" | "children" | "onChange" | "role"> & {
34
+ /** Required when aria-labelledby does not reference a visible label. */
35
+ "aria-label"?: string;
36
+ /** ID of the visible label that names the control. */
37
+ "aria-labelledby"?: string;
38
+ } & {
39
+ /** Controlled checked state. */
40
+ checked?: boolean;
41
+ /** Initial checked state for uncontrolled use. */
42
+ defaultChecked?: boolean;
43
+ /** Called when an interaction requests a checked-state change. */
44
+ onCheckedChange?: (checked: boolean) => void;
45
+ } & import("react").RefAttributes<HTMLButtonElement>>;
46
+ /**
47
+ * Switch specialization used only for Light/Dark theme selection. The
48
+ * current theme is represented by a decorative Sun or Moon icon while the
49
+ * native switch semantics expose Dark Mode as the checked state.
50
+ */
51
+ export declare const ThemeSwitch: import("react").ForwardRefExoticComponent<Omit<AccessibleSwitchButtonProps, "aria-label"> & {
52
+ /** Controlled active theme. */
53
+ theme?: ThemeMode;
54
+ /** Initial theme for uncontrolled use. */
55
+ defaultTheme?: ThemeMode;
56
+ /** Called when an interaction requests a theme change. */
57
+ onThemeChange?: (theme: ThemeMode) => void;
58
+ /** Defaults to a dynamic `Switch to … mode` accessible name. */
59
+ "aria-label"?: string;
60
+ } & import("react").RefAttributes<HTMLButtonElement>>;
61
+ export {};
@@ -0,0 +1,27 @@
1
+ import { type VariantProps } from "class-variance-authority";
2
+ import { type HTMLAttributes, type ReactNode } from "react";
3
+ import { type IconGlyphComponent } from "../icon/Icon";
4
+
5
+ export declare const tagVariants: (props?: ({
6
+ tone?: "destructive" | "information" | "neutral" | "success" | "warning" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ type RestrictedTagAttribute = "aria-live" | "children" | "onClick" | "onDoubleClick" | "onKeyDown" | "onKeyUp" | "role" | "tabIndex";
9
+ export type TagProps = Omit<HTMLAttributes<HTMLSpanElement>, RestrictedTagAttribute> & VariantProps<typeof tagVariants> & {
10
+ /** Concise visible category or metadata label. */
11
+ children: ReactNode;
12
+ /** Optional approved Lucide glyph rendered through Icon/XSmall. */
13
+ icon?: IconGlyphComponent;
14
+ };
15
+ /**
16
+ * A static short category or metadata label. Tag is not a filter, choice,
17
+ * removable chip, or live status.
18
+ */
19
+ export declare const Tag: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLSpanElement>, RestrictedTagAttribute> & VariantProps<(props?: ({
20
+ tone?: "destructive" | "information" | "neutral" | "success" | "warning" | null | undefined;
21
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
22
+ /** Concise visible category or metadata label. */
23
+ children: ReactNode;
24
+ /** Optional approved Lucide glyph rendered through Icon/XSmall. */
25
+ icon?: IconGlyphComponent;
26
+ } & import("react").RefAttributes<HTMLSpanElement>>;
27
+ export {};
@@ -0,0 +1,46 @@
1
+ import { type InputHTMLAttributes, type ReactNode } from "react";
2
+
3
+ export declare const textFieldVariants: (props?: ({
4
+ surface?: "surface" | "transparent" | null | undefined;
5
+ status?: "default" | "invalid" | "warning" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ export type TextFieldSurface = "surface" | "transparent";
8
+ export type TextFieldStatus = "default" | "warning";
9
+ export type TextFieldPreviewState = "hover" | "focus";
10
+ export type TextFieldProps = Omit<InputHTMLAttributes<HTMLInputElement>, "children" | "className"> & {
11
+ /** Visual surface treatment; input semantics are unchanged. */
12
+ surface?: TextFieldSurface;
13
+ /** Advisory state. Invalid state is derived from aria-invalid. */
14
+ status?: TextFieldStatus;
15
+ /** Decorative, non-interactive visual shown before the native input. */
16
+ leadingVisual?: ReactNode;
17
+ /** Decorative, non-interactive visual shown after the native input. */
18
+ trailingVisual?: ReactNode;
19
+ /** Class applied to the visual root. */
20
+ className?: string;
21
+ /** Class applied directly to the native input. */
22
+ inputClassName?: string;
23
+ /** Storybook-only state hook used to review non-persistent CSS states. */
24
+ "data-preview-state"?: TextFieldPreviewState;
25
+ };
26
+ /**
27
+ * A compact native single-line input. Visible labels and supporting messages
28
+ * belong to the containing Field composition and remain associated through
29
+ * native label and ARIA relationships.
30
+ */
31
+ export declare const TextField: import("react").ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "children" | "className"> & {
32
+ /** Visual surface treatment; input semantics are unchanged. */
33
+ surface?: TextFieldSurface;
34
+ /** Advisory state. Invalid state is derived from aria-invalid. */
35
+ status?: TextFieldStatus;
36
+ /** Decorative, non-interactive visual shown before the native input. */
37
+ leadingVisual?: ReactNode;
38
+ /** Decorative, non-interactive visual shown after the native input. */
39
+ trailingVisual?: ReactNode;
40
+ /** Class applied to the visual root. */
41
+ className?: string;
42
+ /** Class applied directly to the native input. */
43
+ inputClassName?: string;
44
+ /** Storybook-only state hook used to review non-persistent CSS states. */
45
+ "data-preview-state"?: TextFieldPreviewState;
46
+ } & import("react").RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,44 @@
1
+ import { type TextareaHTMLAttributes } from "react";
2
+
3
+ export declare const textareaVariants: (props?: ({
4
+ surface?: "surface" | "transparent" | null | undefined;
5
+ status?: "default" | "invalid" | "warning" | null | undefined;
6
+ resize?: "none" | "vertical" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ export type TextareaSurface = "surface" | "transparent";
9
+ export type TextareaStatus = "default" | "warning";
10
+ export type TextareaResize = "vertical" | "none";
11
+ export type TextareaPreviewState = "hover" | "focus";
12
+ export type TextareaProps = Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "children" | "className"> & {
13
+ /** Visual surface treatment; native textarea semantics are unchanged. */
14
+ surface?: TextareaSurface;
15
+ /** Advisory state. Invalid state is derived from aria-invalid. */
16
+ status?: TextareaStatus;
17
+ /** Vertical resizing is the default; compositions may disable resizing. */
18
+ resize?: TextareaResize;
19
+ /** Class applied to the visual root. */
20
+ className?: string;
21
+ /** Class applied directly to the native textarea. */
22
+ textareaClassName?: string;
23
+ /** Storybook-only hook used to review non-persistent CSS states. */
24
+ "data-preview-state"?: TextareaPreviewState;
25
+ };
26
+ /**
27
+ * A native multiline text entry primitive. Labels, descriptions, validation
28
+ * messages, character counters, actions, and autosize behavior belong to the
29
+ * containing Field or Composer composition.
30
+ */
31
+ export declare const Textarea: import("react").ForwardRefExoticComponent<Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "children" | "className"> & {
32
+ /** Visual surface treatment; native textarea semantics are unchanged. */
33
+ surface?: TextareaSurface;
34
+ /** Advisory state. Invalid state is derived from aria-invalid. */
35
+ status?: TextareaStatus;
36
+ /** Vertical resizing is the default; compositions may disable resizing. */
37
+ resize?: TextareaResize;
38
+ /** Class applied to the visual root. */
39
+ className?: string;
40
+ /** Class applied directly to the native textarea. */
41
+ textareaClassName?: string;
42
+ /** Storybook-only hook used to review non-persistent CSS states. */
43
+ "data-preview-state"?: TextareaPreviewState;
44
+ } & import("react").RefAttributes<HTMLTextAreaElement>>;
@@ -0,0 +1,47 @@
1
+ import { type VariantProps } from "class-variance-authority";
2
+ import { type ButtonHTMLAttributes } from "react";
3
+ import { type IconGlyphComponent } from "../icon/Icon";
4
+
5
+ export declare const toggleButtonVariants: (props?: ({
6
+ size?: "comfortable" | "compact" | "default" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ export type ToggleButtonSize = NonNullable<VariantProps<typeof toggleButtonVariants>["size"]>;
9
+ type AccessibleToggleButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "aria-pressed" | "children" | "onChange" | "type"> & {
10
+ /** Required when aria-labelledby does not reference a visible label. */
11
+ "aria-label"?: string;
12
+ /** ID of the visible label that names the control. */
13
+ "aria-labelledby"?: string;
14
+ };
15
+ export type ToggleButtonProps = AccessibleToggleButtonProps & VariantProps<typeof toggleButtonVariants> & {
16
+ /** Approved Lucide glyph rendered through the Icon primitive. */
17
+ icon: IconGlyphComponent;
18
+ /** Controlled persistent pressed state. */
19
+ pressed?: boolean;
20
+ /** Initial persistent pressed state for uncontrolled use. */
21
+ defaultPressed?: boolean;
22
+ /** Called when an interaction requests a pressed-state change. */
23
+ onPressedChange?: (pressed: boolean) => void;
24
+ };
25
+ /**
26
+ * A circular, icon-only control whose pressed value persists after activation.
27
+ * The native button owns `aria-pressed`; sibling selection and roving focus
28
+ * belong to the separate Toggle Group contract.
29
+ */
30
+ export declare const ToggleButton: import("react").ForwardRefExoticComponent<Omit<ButtonHTMLAttributes<HTMLButtonElement>, "aria-pressed" | "children" | "onChange" | "type"> & {
31
+ /** Required when aria-labelledby does not reference a visible label. */
32
+ "aria-label"?: string;
33
+ /** ID of the visible label that names the control. */
34
+ "aria-labelledby"?: string;
35
+ } & VariantProps<(props?: ({
36
+ size?: "comfortable" | "compact" | "default" | null | undefined;
37
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
38
+ /** Approved Lucide glyph rendered through the Icon primitive. */
39
+ icon: IconGlyphComponent;
40
+ /** Controlled persistent pressed state. */
41
+ pressed?: boolean;
42
+ /** Initial persistent pressed state for uncontrolled use. */
43
+ defaultPressed?: boolean;
44
+ /** Called when an interaction requests a pressed-state change. */
45
+ onPressedChange?: (pressed: boolean) => void;
46
+ } & import("react").RefAttributes<HTMLButtonElement>>;
47
+ export {};
@@ -0,0 +1,46 @@
1
+ import { type FocusEvent as ReactFocusEvent, type PointerEvent as ReactPointerEvent, type ReactElement, type ReactNode, type Ref } from "react";
2
+
3
+ export type TooltipPlacement = "top" | "right" | "bottom" | "left";
4
+ type TriggerElementProps = {
5
+ ref?: Ref<HTMLElement>;
6
+ onPointerEnter?: (event: ReactPointerEvent<HTMLElement>) => void;
7
+ onPointerLeave?: (event: ReactPointerEvent<HTMLElement>) => void;
8
+ onFocus?: (event: ReactFocusEvent<HTMLElement>) => void;
9
+ onBlur?: (event: ReactFocusEvent<HTMLElement>) => void;
10
+ "aria-describedby"?: string;
11
+ } & Record<string, unknown>;
12
+ export type TooltipProps = {
13
+ /** One element that accepts DOM event handlers and forwards its ref. */
14
+ children: ReactElement<TriggerElementProps>;
15
+ /** Concise, non-interactive descriptive content. */
16
+ content: ReactNode;
17
+ /** Preferred side of the trigger. */
18
+ placement?: TooltipPlacement;
19
+ /** Shows the approved directional arrow. */
20
+ arrow?: boolean;
21
+ /** Pointer-hover opening delay in milliseconds. Focus opens immediately. */
22
+ delayDuration?: number;
23
+ /** Grace period used when the pointer leaves the trigger or Tooltip. */
24
+ closeDelayDuration?: number;
25
+ /** Controlled visibility. */
26
+ open?: boolean;
27
+ /** Initial visibility for uncontrolled use. */
28
+ defaultOpen?: boolean;
29
+ /** Called whenever an interaction requests a visibility change. */
30
+ onOpenChange?: (open: boolean) => void;
31
+ /** Suppresses the overlay and its description relationship. */
32
+ disabled?: boolean;
33
+ /** Optional explicit Tooltip ID. */
34
+ id?: string;
35
+ /** Class applied to the portalled Tooltip root. */
36
+ className?: string;
37
+ /** Optional portal destination. Defaults to document.body. */
38
+ portalContainer?: HTMLElement | null;
39
+ };
40
+ /**
41
+ * A concise, non-interactive label shown on pointer hover or keyboard focus.
42
+ * The supplied trigger keeps its own accessible name; Tooltip supplements it
43
+ * through aria-describedby while visible.
44
+ */
45
+ export declare function Tooltip({ children, content, placement, arrow, delayDuration, closeDelayDuration, open, defaultOpen, onOpenChange, disabled, id, className, portalContainer, }: TooltipProps): import("react/jsx-runtime").JSX.Element;
46
+ export {};
@@ -0,0 +1,73 @@
1
+ import { type HTMLAttributes } from "react";
2
+
3
+ export type UploadQueueItemKind = "file" | "folder";
4
+ export type UploadQueueItemState = "ready" | "uploading" | "completed" | "failed" | "canceled";
5
+ export type UploadQueueResource = {
6
+ /** Stable consumer-owned identity. */
7
+ id: string;
8
+ name: string;
9
+ kind: UploadQueueItemKind;
10
+ state: UploadQueueItemState;
11
+ /** Size, contained-item count, or another concise factual detail. */
12
+ metadata?: string;
13
+ /** Optional consumer-supplied failure detail for the Failed state. */
14
+ errorMessage?: string;
15
+ /** Disables every action for this resource. */
16
+ disabled?: boolean;
17
+ /** Shows pending feedback only on this resource's current action. */
18
+ actionPending?: boolean;
19
+ };
20
+ export type UploadQueueAction = (resource: UploadQueueResource) => void;
21
+ export type UploadQueueStateLabels = Record<UploadQueueItemState, string>;
22
+ export type UploadQueueItemProps = Omit<HTMLAttributes<HTMLLIElement>, "children" | "onCancel" | "resource"> & {
23
+ resource: UploadQueueResource;
24
+ stateLabels?: Partial<UploadQueueStateLabels>;
25
+ onRemove?: UploadQueueAction;
26
+ onCancel?: UploadQueueAction;
27
+ onRetry?: UploadQueueAction;
28
+ };
29
+ export type UploadQueueProps = Omit<HTMLAttributes<HTMLElement>, "children" | "onCancel" | "role"> & {
30
+ items: readonly UploadQueueResource[];
31
+ label?: string;
32
+ summary?: string;
33
+ showSummary?: boolean;
34
+ stateLabels?: Partial<UploadQueueStateLabels>;
35
+ onRemove?: UploadQueueAction;
36
+ onCancel?: UploadQueueAction;
37
+ onRetry?: UploadQueueAction;
38
+ /**
39
+ * Consumer-owned atomic update. Supply only when a lifecycle change should
40
+ * be announced; routine rerenders must not repeat the same message.
41
+ */
42
+ announcement?: string;
43
+ };
44
+ /**
45
+ * One non-interactive resource row. Valid actions are derived from lifecycle
46
+ * state and appear only when the corresponding consumer callback exists.
47
+ */
48
+ export declare const UploadQueueItem: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLLIElement>, "children" | "onCancel" | "resource"> & {
49
+ resource: UploadQueueResource;
50
+ stateLabels?: Partial<UploadQueueStateLabels>;
51
+ onRemove?: UploadQueueAction;
52
+ onCancel?: UploadQueueAction;
53
+ onRetry?: UploadQueueAction;
54
+ } & import("react").RefAttributes<HTMLLIElement>>;
55
+ /**
56
+ * Semantic accepted-resource queue. Acquisition remains owned by File
57
+ * Dropzone; networking and lifecycle state remain owned by the consumer.
58
+ */
59
+ export declare const UploadQueue: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLElement>, "children" | "onCancel" | "role"> & {
60
+ items: readonly UploadQueueResource[];
61
+ label?: string;
62
+ summary?: string;
63
+ showSummary?: boolean;
64
+ stateLabels?: Partial<UploadQueueStateLabels>;
65
+ onRemove?: UploadQueueAction;
66
+ onCancel?: UploadQueueAction;
67
+ onRetry?: UploadQueueAction;
68
+ /**
69
+ * Consumer-owned atomic update. Supply only when a lifecycle change should
70
+ * be announced; routine rerenders must not repeat the same message.
71
+ */
72
+ announcement?: string;
73
+ } & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,67 @@
1
+
2
+ export { Button, buttonVariants } from "./components/button/Button";
3
+ export type { ButtonProps, ButtonSize, ButtonVariant, } from "./components/button/Button";
4
+ export { Icon, iconVariants } from "./components/icon/Icon";
5
+ export type { IconGlyphComponent, IconProps, IconSize, } from "./components/icon/Icon";
6
+ export { IconButton, iconButtonVariants, } from "./components/icon-button/IconButton";
7
+ export type { IconButtonProps, IconButtonSize, IconButtonVariant, } from "./components/icon-button/IconButton";
8
+ export { SegmentedTabs, segmentedTabsVariants, } from "./components/segmented-tabs/SegmentedTabs";
9
+ export type { SegmentedTabItem, SegmentedTabsActivationMode, SegmentedTabsProps, SegmentedTabsSize, } from "./components/segmented-tabs/SegmentedTabs";
10
+ export { PanelTabs } from "./components/panel-tabs/PanelTabs";
11
+ export type { PanelTabItem, PanelTabsProps, } from "./components/panel-tabs/PanelTabs";
12
+ export { Switch, ThemeSwitch } from "./components/switch/Switch";
13
+ export type { SwitchProps, ThemeMode, ThemeSwitchProps, } from "./components/switch/Switch";
14
+ export { ToggleButton, toggleButtonVariants, } from "./components/toggle-button/ToggleButton";
15
+ export type { ToggleButtonProps, ToggleButtonSize, } from "./components/toggle-button/ToggleButton";
16
+ export { Tooltip } from "./components/tooltip/Tooltip";
17
+ export type { TooltipPlacement, TooltipProps, } from "./components/tooltip/Tooltip";
18
+ export { TextField, textFieldVariants, } from "./components/text-field/TextField";
19
+ export type { TextFieldPreviewState, TextFieldProps, TextFieldStatus, TextFieldSurface, } from "./components/text-field/TextField";
20
+ export { Textarea, textareaVariants } from "./components/textarea/Textarea";
21
+ export type { TextareaPreviewState, TextareaProps, TextareaResize, TextareaStatus, TextareaSurface, } from "./components/textarea/Textarea";
22
+ export { Select, selectVariants } from "./components/select/Select";
23
+ export type { SelectPreviewState, SelectProps, SelectSize, } from "./components/select/Select";
24
+ export { Link, linkVariants } from "./components/link/Link";
25
+ export type { LinkContext, LinkPreviewState, LinkProps, } from "./components/link/Link";
26
+ export { Separator, separatorVariants, } from "./components/separator/Separator";
27
+ export type { SeparatorEmphasis, SeparatorOrientation, SeparatorProps, } from "./components/separator/Separator";
28
+ export { Badge, badgeVariants } from "./components/badge/Badge";
29
+ export type { BadgeProps, MetadataTone } from "./components/badge/Badge";
30
+ export { Tag, tagVariants } from "./components/tag/Tag";
31
+ export type { TagProps } from "./components/tag/Tag";
32
+ export { Avatar, avatarVariants } from "./components/avatar/Avatar";
33
+ export type { AvatarProps, AvatarSize, } from "./components/avatar/Avatar";
34
+ export { ProgressIndicator, progressIndicatorVariants, } from "./components/progress-indicator/ProgressIndicator";
35
+ export type { ProgressIndicatorProps, ProgressIndicatorSize, ProgressIndicatorTone, } from "./components/progress-indicator/ProgressIndicator";
36
+ export { Skeleton, skeletonVariants } from "./components/skeleton/Skeleton";
37
+ export type { SkeletonProps, SkeletonRadius, } from "./components/skeleton/Skeleton";
38
+ export { Checkbox } from "./components/checkbox/Checkbox";
39
+ export type { CheckboxPreviewState, CheckboxProps, } from "./components/checkbox/Checkbox";
40
+ export { Radio } from "./components/radio/Radio";
41
+ export type { RadioPreviewState, RadioProps, } from "./components/radio/Radio";
42
+ export { FieldLabel, fieldLabelVariants, } from "./components/field-label/FieldLabel";
43
+ export type { FieldLabelProps, FieldLabelSize, } from "./components/field-label/FieldLabel";
44
+ export { StandardTabs, standardTabsVariants, } from "./components/standard-tabs/StandardTabs";
45
+ export type { StandardTabItem, StandardTabsActivationMode, StandardTabsProps, StandardTabsSize, } from "./components/standard-tabs/StandardTabs";
46
+ export { FieldMessage, fieldMessageVariants, } from "./components/field-message/FieldMessage";
47
+ export type { FieldMessageProps, FieldMessageTone, } from "./components/field-message/FieldMessage";
48
+ export { Field } from "./components/field/Field";
49
+ export type { FieldControlProps, FieldControlStatus, FieldProps, FieldRenderProps, FieldSize, FieldState, } from "./components/field/Field";
50
+ export { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuLinkItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, dropdownMenuContentVariants, } from "./components/dropdown-menu/DropdownMenu";
51
+ export type { DropdownMenuContentProps, DropdownMenuContentWidth, DropdownMenuGroupProps, DropdownMenuItemProps, DropdownMenuItemTone, DropdownMenuLabelProps, DropdownMenuLinkItemProps, DropdownMenuProps, DropdownMenuSeparatorProps, DropdownMenuTriggerProps, } from "./components/dropdown-menu/DropdownMenu";
52
+ export { AccountMenu } from "./components/account-menu/AccountMenu";
53
+ export type { AccountMenuAction, AccountMenuProps, } from "./components/account-menu/AccountMenu";
54
+ export { GlobalAppBar } from "./components/global-app-bar/GlobalAppBar";
55
+ export type { GlobalAppBarProps } from "./components/global-app-bar/GlobalAppBar";
56
+ export { ProjectCard } from "./components/project-card/ProjectCard";
57
+ export type { ProjectCardActivity, ProjectCardCreator, ProjectCardMetric, ProjectCardPresentation, ProjectCardPreviewArtwork, ProjectCardPreviewState, ProjectCardProps, } from "./components/project-card/ProjectCard";
58
+ export { UploadQueue, UploadQueueItem } from "./components/upload-queue/UploadQueue";
59
+ export type { UploadQueueAction, UploadQueueItemKind, UploadQueueItemProps, UploadQueueItemState, UploadQueueProps, UploadQueueResource, UploadQueueStateLabels, } from "./components/upload-queue/UploadQueue";
60
+ export { ProjectLibrary } from "./patterns/project-library/ProjectLibrary";
61
+ export type { ProjectLibraryPresentation, ProjectLibraryProject, ProjectLibraryProps, ProjectLibraryScope, ProjectLibrarySort, ProjectLibraryState, } from "./patterns/project-library/ProjectLibrary";
62
+ export { NewProjectDialog } from "./patterns/new-project-dialog/NewProjectDialog";
63
+ export type { NewProjectDialogInitialValue, NewProjectDialogProps, NewProjectDraft, NewProjectResource, } from "./patterns/new-project-dialog/NewProjectDialog";
64
+ export { FileDropzone } from "./components/file-dropzone/FileDropzone";
65
+ export type { FileDropzoneHandle, FileDropzoneProps, FileDropzoneRejection, FileDropzoneRejectionReason, FileDropzoneSelection, FileDropzoneSelectionSource, FileDropzoneState, } from "./components/file-dropzone/FileDropzone";
66
+ export { DialogBackdrop, DialogBody, DialogClose, DialogCloseButton, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogPopup, DialogPortal, DialogRoot, DialogTitle, DialogTrigger, DialogViewport, dialogPopupVariants, } from "./components/dialog/Dialog";
67
+ export type { DialogBackdropProps, DialogBodyProps, DialogCloseButtonProps, DialogCloseProps, DialogContentProps, DialogDescriptionProps, DialogFooterProps, DialogHeaderProps, DialogPopupProps, DialogPortalProps, DialogRootProps, DialogSize, DialogTitleProps, DialogTriggerProps, DialogViewportProps, } from "./components/dialog/Dialog";