@mithrl/design-system 0.4.1 → 0.4.3

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.
@@ -1,4 +1,5 @@
1
1
  import { type FormHTMLAttributes } from "react";
2
+ import { type DropdownMenuContentProps } from "../dropdown-menu/DropdownMenu";
2
3
 
3
4
  export type ApprovalCardMode = "single" | "multi";
4
5
  export type ApprovalCardOption = {
@@ -28,7 +29,8 @@ export type ApprovalCardLabels = {
28
29
  submitting: string;
29
30
  };
30
31
  type NativeApprovalCardProps = Omit<FormHTMLAttributes<HTMLFormElement>, "children" | "onSubmit">;
31
- export type ApprovalCardProps = NativeApprovalCardProps & {
32
+ export type ApprovalQuestionCardProps = NativeApprovalCardProps & {
33
+ mode?: never;
32
34
  questions: readonly ApprovalCardQuestion[];
33
35
  activeQuestionId: string;
34
36
  answers: Readonly<Record<string, ApprovalCardAnswer | undefined>>;
@@ -43,19 +45,29 @@ export type ApprovalCardProps = NativeApprovalCardProps & {
43
45
  autoAdvanceSingle?: boolean;
44
46
  labels?: Partial<ApprovalCardLabels>;
45
47
  };
46
- export declare const ApprovalCard: import("react").ForwardRefExoticComponent<NativeApprovalCardProps & {
47
- questions: readonly ApprovalCardQuestion[];
48
- activeQuestionId: string;
49
- answers: Readonly<Record<string, ApprovalCardAnswer | undefined>>;
50
- onAnswerChange: (questionId: string, answer: ApprovalCardAnswer) => void;
51
- onActiveQuestionChange: (questionId: string, reason: ApprovalCardNavigationReason) => void;
52
- onSubmit: (answers: Readonly<Record<string, ApprovalCardAnswer | undefined>>) => void;
53
- onSkip?: (questionId: string) => void;
54
- error?: string;
55
- submitting?: boolean;
48
+ export type ApprovalCardPermissionDecision = "deny" | "approve-once" | "approve-always";
49
+ export type ApprovalCardPermissionLabels = {
50
+ deny: string;
51
+ approveOnce: string;
52
+ approveAlways: string;
53
+ approvalMenu: string;
54
+ submitting: string;
55
+ };
56
+ export type ApprovalCardPermissionProps = NativeApprovalCardProps & {
57
+ mode: "permission";
58
+ sourceLabel?: string;
59
+ title: string;
60
+ description?: string;
61
+ command?: string;
62
+ onDecision: (decision: ApprovalCardPermissionDecision) => void;
56
63
  disabled?: boolean;
57
- showSkip?: boolean;
58
- autoAdvanceSingle?: boolean;
59
- labels?: Partial<ApprovalCardLabels>;
60
- } & import("react").RefAttributes<HTMLFormElement>>;
64
+ submitting?: boolean;
65
+ labels?: Partial<ApprovalCardPermissionLabels>;
66
+ menuOpen?: boolean;
67
+ defaultMenuOpen?: boolean;
68
+ onMenuOpenChange?: (open: boolean) => void;
69
+ portalContainer?: DropdownMenuContentProps["portalContainer"];
70
+ };
71
+ export type ApprovalCardProps = ApprovalQuestionCardProps | ApprovalCardPermissionProps;
72
+ export declare const ApprovalCard: import("react").ForwardRefExoticComponent<ApprovalCardProps & import("react").RefAttributes<HTMLFormElement>>;
61
73
  export {};
@@ -0,0 +1,28 @@
1
+ import { type HTMLAttributes } from "react";
2
+ import { type ApprovalPlan, type ApprovalPlanPhase, type ApprovalPlanStep, type ApprovalPlanSummary } from "./approvalPlanTypes";
3
+
4
+ type NativeApprovalPlanCardProps = Omit<HTMLAttributes<HTMLElement>, "children" | "title">;
5
+ type ApprovalPlanCardReadyProps = {
6
+ state?: "ready";
7
+ onReview: () => void;
8
+ onApprove: () => void;
9
+ approving?: boolean;
10
+ };
11
+ type ApprovalPlanCardRevisingProps = {
12
+ state: "revising";
13
+ onReview?: never;
14
+ onApprove?: never;
15
+ approving?: never;
16
+ };
17
+ export type ApprovalPlanCardProps = NativeApprovalPlanCardProps & (ApprovalPlanCardReadyProps | ApprovalPlanCardRevisingProps) & {
18
+ plan: ApprovalPlan;
19
+ disabled?: boolean;
20
+ reviewLabel?: string;
21
+ approveLabel?: string;
22
+ };
23
+ /**
24
+ * Compact execution-plan checkpoint for the Question flow. It intentionally
25
+ * summarizes phase names only; complete steps belong to ApprovalPlanReview.
26
+ */
27
+ export declare const ApprovalPlanCard: import("react").ForwardRefExoticComponent<ApprovalPlanCardProps & import("react").RefAttributes<HTMLElement>>;
28
+ export type { ApprovalPlan, ApprovalPlanPhase, ApprovalPlanStep, ApprovalPlanSummary, };
@@ -0,0 +1,35 @@
1
+ export type ApprovalPlanStep = {
2
+ /** Stable identity within its phase. */
3
+ id: string;
4
+ /** Scannable action label. */
5
+ title: string;
6
+ /** Complete review copy; omitted from the approved compact record. */
7
+ description: string;
8
+ };
9
+ export type ApprovalPlanPhase = {
10
+ /** Stable identity within the plan. */
11
+ id: string;
12
+ /** Concise phase name. */
13
+ title: string;
14
+ /** Optional supporting classification such as Data acquisition. */
15
+ category?: string;
16
+ /** Ordered work within this phase. */
17
+ steps: readonly ApprovalPlanStep[];
18
+ };
19
+ export type ApprovalPlanSummary = {
20
+ scope: string;
21
+ dataSource: string;
22
+ outputs: string;
23
+ };
24
+ export type ApprovalPlan = {
25
+ /** Stable product-owned plan identity. */
26
+ id: string;
27
+ /** Full plan title used by the dedicated review surface. */
28
+ title: string;
29
+ /** Visible product-owned label, for example `Version 1`. */
30
+ version: string;
31
+ /** Ordered execution phases. */
32
+ phases: readonly ApprovalPlanPhase[];
33
+ summary: ApprovalPlanSummary;
34
+ };
35
+ export declare function assertApprovalPlan(plan: ApprovalPlan): void;
@@ -1,7 +1,10 @@
1
+ import { type MouseEvent } from "react";
2
+ import { type IconButtonProps } from "../icon-button/IconButton";
1
3
 
2
4
  export type ComposerMode = "guided" | "autopilot";
3
5
  export type ComposerStatus = "idle" | "sending" | "streaming";
4
6
  export type ComposerPreviewState = "hover" | "focus";
7
+ export type ComposerAddButtonProps = Pick<IconButtonProps, "aria-controls" | "aria-expanded" | "aria-haspopup">;
5
8
  export type ComposerLabels = {
6
9
  input: string;
7
10
  add: string;
@@ -17,7 +20,11 @@ export type ComposerProps = {
17
20
  onValueChange?: (value: string) => void;
18
21
  onSubmitPrompt?: (value: string, mode: ComposerMode) => void;
19
22
  onStop?: () => void;
20
- onAdd?: () => void;
23
+ onAdd?: (event: MouseEvent<HTMLButtonElement>) => void;
24
+ /** Menu relationship metadata when the existing Add action opens a popup. */
25
+ addButtonProps?: ComposerAddButtonProps;
26
+ /** Enables submission when consumer-owned content, such as files, is ready. */
27
+ submissionReady?: boolean;
21
28
  mode?: ComposerMode;
22
29
  defaultMode?: ComposerMode;
23
30
  onModeChange?: (mode: ComposerMode) => void;
@@ -0,0 +1,65 @@
1
+ import { type DragEventHandler } from "react";
2
+ import { type UploadQueueAction, type UploadQueueResource, type UploadQueueStateLabels } from "../upload-queue/UploadQueue";
3
+ import { type ComposerProps } from "./Composer";
4
+
5
+ export type ComposerUploadProps = Omit<ComposerProps, "className" | "onAdd" | "submissionReady"> & {
6
+ /** Product-owned queue rendered above the Composer entry. */
7
+ items: readonly UploadQueueResource[];
8
+ /** Opens the product's native file or folder picker. */
9
+ onBrowse: () => void;
10
+ onRemove?: UploadQueueAction;
11
+ /** Clears every selected resource before upload begins. */
12
+ onClear?: () => void;
13
+ onCancel?: UploadQueueAction;
14
+ onRetry?: UploadQueueAction;
15
+ stateLabels?: Partial<UploadQueueStateLabels>;
16
+ announcement?: string;
17
+ /** Controlled active drop feedback. File traversal remains product-owned. */
18
+ dragging?: boolean;
19
+ /** Plays the approved final queue collapse before the product clears items. */
20
+ dismissing?: boolean;
21
+ onDrop?: DragEventHandler<HTMLDivElement>;
22
+ onDragEnter?: DragEventHandler<HTMLDivElement>;
23
+ onDragLeave?: DragEventHandler<HTMLDivElement>;
24
+ onDragOver?: DragEventHandler<HTMLDivElement>;
25
+ menuTitle?: string;
26
+ browseLabel?: string;
27
+ clearLabel?: string;
28
+ dragHint?: string;
29
+ dropLabel?: string;
30
+ className?: string;
31
+ composerClassName?: string;
32
+ };
33
+ /**
34
+ * Controlled Composer upload composition. It combines the production Composer,
35
+ * Dropdown Menu, and Upload Queue while leaving file traversal, transport, and
36
+ * lifecycle timing with the consuming product.
37
+ */
38
+ export declare const ComposerUpload: import("react").ForwardRefExoticComponent<Omit<ComposerProps, "className" | "onAdd" | "submissionReady"> & {
39
+ /** Product-owned queue rendered above the Composer entry. */
40
+ items: readonly UploadQueueResource[];
41
+ /** Opens the product's native file or folder picker. */
42
+ onBrowse: () => void;
43
+ onRemove?: UploadQueueAction;
44
+ /** Clears every selected resource before upload begins. */
45
+ onClear?: () => void;
46
+ onCancel?: UploadQueueAction;
47
+ onRetry?: UploadQueueAction;
48
+ stateLabels?: Partial<UploadQueueStateLabels>;
49
+ announcement?: string;
50
+ /** Controlled active drop feedback. File traversal remains product-owned. */
51
+ dragging?: boolean;
52
+ /** Plays the approved final queue collapse before the product clears items. */
53
+ dismissing?: boolean;
54
+ onDrop?: DragEventHandler<HTMLDivElement>;
55
+ onDragEnter?: DragEventHandler<HTMLDivElement>;
56
+ onDragLeave?: DragEventHandler<HTMLDivElement>;
57
+ onDragOver?: DragEventHandler<HTMLDivElement>;
58
+ menuTitle?: string;
59
+ browseLabel?: string;
60
+ clearLabel?: string;
61
+ dragHint?: string;
62
+ dropLabel?: string;
63
+ className?: string;
64
+ composerClassName?: string;
65
+ } & import("react").RefAttributes<HTMLDivElement>>;
@@ -33,6 +33,8 @@ export type DropdownMenuContentProps = Omit<ComponentPropsWithoutRef<typeof Menu
33
33
  finalFocus?: ComponentPropsWithoutRef<typeof Menu.Popup>["finalFocus"];
34
34
  /** Accessible name when no visible group label names the menu. */
35
35
  "aria-label"?: string;
36
+ /** Stable id applied to the role=menu popup for external trigger relationships. */
37
+ popupId?: string;
36
38
  };
37
39
  /**
38
40
  * Portalled, collision-aware menu surface. Trigger styling remains external.
@@ -55,6 +57,8 @@ export declare const DropdownMenuContent: import("react").ForwardRefExoticCompon
55
57
  finalFocus?: ComponentPropsWithoutRef<typeof Menu.Popup>["finalFocus"];
56
58
  /** Accessible name when no visible group label names the menu. */
57
59
  "aria-label"?: string;
60
+ /** Stable id applied to the role=menu popup for external trigger relationships. */
61
+ popupId?: string;
58
62
  } & import("react").RefAttributes<HTMLDivElement>>;
59
63
  export type DropdownMenuGroupProps = Omit<ComponentPropsWithoutRef<typeof Menu.Group>, "className"> & {
60
64
  className?: string;
@@ -1,7 +1,8 @@
1
1
  import { type HTMLAttributes, type MouseEvent, type MouseEventHandler, type ReactNode } from "react";
2
+ import { type ScientificOutputResourceType, type UploadResourceType } from "../../internal/ResourceTypeIcon";
2
3
 
3
- export type ExplorerUploadFileType = "data" | "structured-data" | "document" | "code" | "notebook" | "image" | "scientific-data" | "archive" | "generic";
4
- export type ExplorerScientificOutputType = "dataset" | "report" | "figure" | "plot" | "code" | "generic";
4
+ export type ExplorerUploadFileType = UploadResourceType;
5
+ export type ExplorerScientificOutputType = ScientificOutputResourceType;
5
6
  type ExplorerResourceBase = {
6
7
  /** Stable owner-defined identity. IDs are unique across the whole Explorer. */
7
8
  id: string;
@@ -12,6 +12,7 @@ export type FileDropzoneRejection = {
12
12
  message: string;
13
13
  };
14
14
  export type FileDropzoneState = "default" | "drag-active" | "drag-rejected" | "disabled" | "selection-received";
15
+ export type FileDropzoneDensity = "default" | "compact";
15
16
  export type FileDropzoneHandle = {
16
17
  browseFiles: () => void;
17
18
  browseFolder: () => void;
@@ -27,6 +28,14 @@ export type FileDropzoneProps = Omit<HTMLAttributes<HTMLDivElement>, "children"
27
28
  maxFiles?: number;
28
29
  maxFileSize?: number;
29
30
  disabled?: boolean;
31
+ /** Default is the standalone acquisition surface; compact pairs with a visible Upload Queue. */
32
+ density?: FileDropzoneDensity;
33
+ /** Mirrors a consumer-owned selected-resource collection into the settled visual state. */
34
+ hasSelection?: boolean;
35
+ /** Settled-state action label. State feedback temporarily replaces it while dragging. */
36
+ actionLabel?: string;
37
+ /** Settled-state helper copy. State feedback temporarily replaces it while dragging. */
38
+ helperText?: string;
30
39
  onSelection?: (selection: FileDropzoneSelection) => void;
31
40
  onReject?: (rejection: FileDropzoneRejection) => void;
32
41
  /** Review-only state hook used by Storybook and visual regression tests. */
@@ -47,6 +56,14 @@ export declare const FileDropzone: import("react").ForwardRefExoticComponent<Omi
47
56
  maxFiles?: number;
48
57
  maxFileSize?: number;
49
58
  disabled?: boolean;
59
+ /** Default is the standalone acquisition surface; compact pairs with a visible Upload Queue. */
60
+ density?: FileDropzoneDensity;
61
+ /** Mirrors a consumer-owned selected-resource collection into the settled visual state. */
62
+ hasSelection?: boolean;
63
+ /** Settled-state action label. State feedback temporarily replaces it while dragging. */
64
+ actionLabel?: string;
65
+ /** Settled-state helper copy. State feedback temporarily replaces it while dragging. */
66
+ helperText?: string;
50
67
  onSelection?: (selection: FileDropzoneSelection) => void;
51
68
  onReject?: (rejection: FileDropzoneRejection) => void;
52
69
  /** Review-only state hook used by Storybook and visual regression tests. */
@@ -0,0 +1,46 @@
1
+ import { type HTMLAttributes } from "react";
2
+
3
+ export type ProcessStepState = "pending" | "active" | "completed" | "failed";
4
+ export type ProcessStepsPlacement = "top" | "bottom";
5
+ export type ProcessStepItem = {
6
+ /** Stable consumer-owned identity. */
7
+ id: string;
8
+ label: string;
9
+ /** Optional concise status. Defaults to the state label. */
10
+ status?: string;
11
+ /** @default "pending" */
12
+ state?: ProcessStepState;
13
+ };
14
+ export type ProcessStepsLabels = {
15
+ step: string;
16
+ pending: string;
17
+ active: string;
18
+ completed: string;
19
+ failed: string;
20
+ expand: string;
21
+ collapse: string;
22
+ };
23
+ export type ProcessStepsProps = Omit<HTMLAttributes<HTMLDivElement>, "children" | "onChange"> & {
24
+ steps: readonly ProcessStepItem[];
25
+ /** Accessible name for the expanded step list. */
26
+ label?: string;
27
+ labels?: Partial<ProcessStepsLabels>;
28
+ placement?: ProcessStepsPlacement;
29
+ open?: boolean;
30
+ defaultOpen?: boolean;
31
+ onOpenChange?: (open: boolean) => void;
32
+ };
33
+ /**
34
+ * Compact progress disclosure for a fixed, sequential process. The summary
35
+ * stays visible while the non-interactive detail list opens above or below it.
36
+ */
37
+ export declare const ProcessSteps: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLDivElement>, "children" | "onChange"> & {
38
+ steps: readonly ProcessStepItem[];
39
+ /** Accessible name for the expanded step list. */
40
+ label?: string;
41
+ labels?: Partial<ProcessStepsLabels>;
42
+ placement?: ProcessStepsPlacement;
43
+ open?: boolean;
44
+ defaultOpen?: boolean;
45
+ onOpenChange?: (open: boolean) => void;
46
+ } & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,4 +1,4 @@
1
- import type { CSSProperties } from "react";
1
+ import { type CSSProperties } from "react";
2
2
  import { type OrbState } from "thinking-orbs";
3
3
  /**
4
4
  * The nine orb states shipped by the animation engine. Each is a distinct
@@ -13,7 +13,7 @@ export type StatusOrbState = OrbState;
13
13
  export type StatusOrbSize = "small" | "default" | "medium" | "large";
14
14
  /**
15
15
  * Theme mode. `auto` (default) resolves from the nearest ancestor carrying
16
- * `data-theme="dark|light"` — the attribute the Mithrl shell already sets —
16
+ * `data-theme="dark|dim|light"` — the attribute the Mithrl shell already sets —
17
17
  * and falls back to `prefers-color-scheme`. It live-updates on theme change.
18
18
  */
19
19
  export type StatusOrbTheme = "auto" | "dark" | "light";
@@ -1,12 +1,16 @@
1
1
  import { type HTMLAttributes } from "react";
2
+ import { type UploadResourceType } from "../../internal/ResourceTypeIcon";
2
3
 
3
4
  export type UploadQueueItemKind = "file" | "folder";
5
+ export type UploadQueueFileType = UploadResourceType;
4
6
  export type UploadQueueItemState = "ready" | "uploading" | "completed" | "failed" | "canceled";
5
7
  export type UploadQueueResource = {
6
8
  /** Stable consumer-owned identity. */
7
9
  id: string;
8
10
  name: string;
9
11
  kind: UploadQueueItemKind;
12
+ /** Optional Explorer-compatible override for the inferred leading file marker. */
13
+ fileType?: UploadQueueFileType;
10
14
  state: UploadQueueItemState;
11
15
  /** Size, contained-item count, or another concise factual detail. */
12
16
  metadata?: string;
package/dist/index.d.ts CHANGED
@@ -29,8 +29,12 @@ export { Textarea, textareaVariants } from "./components/textarea/Textarea";
29
29
  export type { TextareaPreviewState, TextareaProps, TextareaResize, TextareaStatus, TextareaSurface, } from "./components/textarea/Textarea";
30
30
  export { Composer } from "./components/composer/Composer";
31
31
  export type { ComposerLabels, ComposerMode, ComposerPreviewState, ComposerProps, ComposerStatus, } from "./components/composer/Composer";
32
+ export { ComposerUpload } from "./components/composer/ComposerUpload";
33
+ export type { ComposerUploadProps } from "./components/composer/ComposerUpload";
32
34
  export { ApprovalCard } from "./components/approval-card/ApprovalCard";
33
- export type { ApprovalCardAnswer, ApprovalCardLabels, ApprovalCardMode, ApprovalCardNavigationReason, ApprovalCardOption, ApprovalCardProps, ApprovalCardQuestion, } from "./components/approval-card/ApprovalCard";
35
+ export type { ApprovalCardAnswer, ApprovalCardLabels, ApprovalCardMode, ApprovalCardNavigationReason, ApprovalCardOption, ApprovalCardPermissionDecision, ApprovalCardPermissionLabels, ApprovalCardPermissionProps, ApprovalCardProps, ApprovalCardQuestion, ApprovalQuestionCardProps, } from "./components/approval-card/ApprovalCard";
36
+ export { ApprovalPlanCard } from "./components/approval-plan-card/ApprovalPlanCard";
37
+ export type { ApprovalPlan, ApprovalPlanCardProps, ApprovalPlanPhase, ApprovalPlanStep, ApprovalPlanSummary, } from "./components/approval-plan-card/ApprovalPlanCard";
34
38
  export { ComposerViewTransition } from "./components/composer/ComposerViewTransition";
35
39
  export type { ComposerView, ComposerViewTransitionProps, } from "./components/composer/ComposerViewTransition";
36
40
  export { ComposerAttachmentView } from "./components/composer/ComposerAttachmentView";
@@ -82,13 +86,17 @@ export type { GlobalAppBarProjectSelector, GlobalAppBarProjectSelectorPresentati
82
86
  export { ProjectCard } from "./components/project-card/ProjectCard";
83
87
  export type { ProjectCardActivity, ProjectCardCreator, ProjectCardMetric, ProjectCardPresentation, ProjectCardPreviewArtwork, ProjectCardPreviewState, ProjectCardProps, } from "./components/project-card/ProjectCard";
84
88
  export { UploadQueue, UploadQueueItem } from "./components/upload-queue/UploadQueue";
85
- export type { UploadQueueAction, UploadQueueItemKind, UploadQueueItemProps, UploadQueueItemState, UploadQueueProps, UploadQueueResource, UploadQueueStateLabels, } from "./components/upload-queue/UploadQueue";
89
+ export type { UploadQueueAction, UploadQueueFileType, UploadQueueItemKind, UploadQueueItemProps, UploadQueueItemState, UploadQueueProps, UploadQueueResource, UploadQueueStateLabels, } from "./components/upload-queue/UploadQueue";
86
90
  export { ProjectLibrary } from "./patterns/project-library/ProjectLibrary";
87
91
  export type { ProjectLibraryPresentation, ProjectLibraryProject, ProjectLibraryProps, ProjectLibraryScope, ProjectLibrarySort, ProjectLibraryState, } from "./patterns/project-library/ProjectLibrary";
92
+ export { ApprovalPlanReview, ApprovedPlanDisclosure, } from "./patterns/approval-plan-review/ApprovalPlanReview";
93
+ export type { ApprovalPlanReviewProps, ApprovedPlanDisclosureProps, } from "./patterns/approval-plan-review/ApprovalPlanReview";
88
94
  export { NewProjectDialog } from "./patterns/new-project-dialog/NewProjectDialog";
89
95
  export type { NewProjectDialogInitialValue, NewProjectDialogProps, NewProjectDraft, NewProjectResource, } from "./patterns/new-project-dialog/NewProjectDialog";
96
+ export { NewProjectWorkspaceEmptyState } from "./patterns/new-project-workspace/NewProjectWorkspaceEmptyState";
97
+ export type { NewProjectSuggestedQuestion, NewProjectWorkspaceEmptyStateProps, } from "./patterns/new-project-workspace/NewProjectWorkspaceEmptyState";
90
98
  export { FileDropzone } from "./components/file-dropzone/FileDropzone";
91
- export type { FileDropzoneHandle, FileDropzoneProps, FileDropzoneRejection, FileDropzoneRejectionReason, FileDropzoneSelection, FileDropzoneSelectionSource, FileDropzoneState, } from "./components/file-dropzone/FileDropzone";
99
+ export type { FileDropzoneDensity, FileDropzoneHandle, FileDropzoneProps, FileDropzoneRejection, FileDropzoneRejectionReason, FileDropzoneSelection, FileDropzoneSelectionSource, FileDropzoneState, } from "./components/file-dropzone/FileDropzone";
92
100
  export { DialogBackdrop, DialogBody, DialogClose, DialogCloseButton, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogPopup, DialogPortal, DialogRoot, DialogTitle, DialogTrigger, DialogViewport, dialogPopupVariants, } from "./components/dialog/Dialog";
93
101
  export type { DialogBackdropProps, DialogBodyProps, DialogCloseButtonProps, DialogCloseProps, DialogContentProps, DialogDescriptionProps, DialogFooterProps, DialogHeaderProps, DialogPopupProps, DialogPortalProps, DialogRootProps, DialogSize, DialogTitleProps, DialogTriggerProps, DialogViewportProps, } from "./components/dialog/Dialog";
94
102
  export { ResizableHandle, ResizablePanel, ResizablePanelGroup, } from "./components/resizable-panels/ResizablePanels";
@@ -137,5 +145,9 @@ export { SourceChip, SourceStack, StreamingText, } from "./components/streaming-
137
145
  export type { FollowUpSuggestion, SourceChipProps, SourceChipTone, SourceStackProps, StreamingTextProps, } from "./components/streaming-text/StreamingText";
138
146
  export { TaskRow, TaskRows } from "./components/task-rows/TaskRows";
139
147
  export type { TaskRowItem, TaskRowProps, TaskRowsProps, TaskRowsView, TaskState, TaskStep, } from "./components/task-rows/TaskRows";
148
+ export { ProcessSteps } from "./components/process-steps/ProcessSteps";
149
+ export type { ProcessStepItem, ProcessStepState, ProcessStepsLabels, ProcessStepsPlacement, ProcessStepsProps, } from "./components/process-steps/ProcessSteps";
140
150
  export { NotificationCenter, NotificationItem, NotificationStatusIcon, NotificationToast, NotificationToastProvider, NotificationToastViewport, NotificationTrigger, NotificationsDrawer, useNotificationToast, } from "./patterns/notifications/Notifications";
141
151
  export type { NotificationCenterProps, NotificationFilter, NotificationItemPreviewState, NotificationItemProps, NotificationRecord, NotificationStatusIconProps, NotificationToastData, NotificationToastOptions, NotificationToastProps, NotificationToastProviderProps, NotificationToastViewportProps, NotificationTone, NotificationTriggerProps, NotificationsDrawerProps, } from "./patterns/notifications/Notifications";
152
+ export { GeneratedAnswer } from "./patterns/generated-answer/GeneratedAnswer";
153
+ export type { GeneratedAnswerFollowUp, GeneratedAnswerFollowUpsState, GeneratedAnswerProps, GeneratedAnswerState, } from "./patterns/generated-answer/GeneratedAnswer";