harebear-ui 0.9.0 → 0.11.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 (70) hide show
  1. package/dist/components/admin/app-nav.d.ts +11 -1
  2. package/dist/components/admin/app-nav.js +26 -9
  3. package/dist/components/admin/checklist-editor.d.ts +20 -0
  4. package/dist/components/admin/checklist-editor.js +69 -0
  5. package/dist/components/admin/comment-thread.d.ts +26 -0
  6. package/dist/components/admin/comment-thread.js +68 -0
  7. package/dist/components/admin/copy-field.d.ts +3 -1
  8. package/dist/components/admin/copy-field.js +10 -5
  9. package/dist/components/admin/date-time-picker.js +1 -1
  10. package/dist/components/admin/detail-sheet.js +3 -0
  11. package/dist/components/admin/markdown-editor.d.ts +2 -5
  12. package/dist/components/admin/markdown-editor.js +13 -9
  13. package/dist/components/admin/page-header.d.ts +3 -1
  14. package/dist/components/admin/page-header.js +17 -9
  15. package/dist/components/admin/page.d.ts +16 -0
  16. package/dist/components/admin/page.js +42 -0
  17. package/dist/components/admin/prompt-dialog.d.ts +19 -0
  18. package/dist/components/admin/prompt-dialog.js +83 -0
  19. package/dist/components/admin/settings.d.ts +4 -2
  20. package/dist/components/admin/settings.js +37 -30
  21. package/dist/components/admin/time-zone-picker.d.ts +12 -0
  22. package/dist/components/admin/time-zone-picker.js +31 -0
  23. package/dist/components/admin/user-menu.d.ts +3 -1
  24. package/dist/components/admin/user-menu.js +21 -10
  25. package/dist/components/ai/action-receipt.d.ts +1 -1
  26. package/dist/components/ai/action-receipt.js +1 -1
  27. package/dist/components/ai/approval.d.ts +1 -1
  28. package/dist/components/ai/approval.js +2 -2
  29. package/dist/components/ai/ask-box.js +1 -1
  30. package/dist/components/ai/assistant.d.ts +3 -1
  31. package/dist/components/ai/assistant.js +3 -2
  32. package/dist/components/ai/chat.js +1 -1
  33. package/dist/components/ai/code-block.js +3 -3
  34. package/dist/components/ai/markdown.d.ts +13 -0
  35. package/dist/components/ai/markdown.js +41 -0
  36. package/dist/components/ai/tool-steps.d.ts +2 -2
  37. package/dist/components/ai/tool-steps.js +5 -4
  38. package/dist/components/auth/auth.d.ts +41 -5
  39. package/dist/components/auth/auth.js +165 -155
  40. package/dist/components/data/day-strip.d.ts +6 -1
  41. package/dist/components/data/day-strip.js +15 -5
  42. package/dist/components/layout/collapse.js +1 -1
  43. package/dist/components/layout/text.d.ts +3 -3
  44. package/dist/components/layout/text.js +6 -1
  45. package/dist/components/ui/button.js +1 -1
  46. package/dist/components/ui/check-circle.js +1 -1
  47. package/dist/components/ui/code-block.js +2 -2
  48. package/dist/components/ui/combobox.js +1 -0
  49. package/dist/components/ui/dialog.d.ts +1 -1
  50. package/dist/components/ui/dialog.js +3 -1
  51. package/dist/components/ui/drawer.d.ts +1 -1
  52. package/dist/components/ui/drawer.js +3 -1
  53. package/dist/components/ui/input-group.js +1 -1
  54. package/dist/components/ui/input.js +1 -1
  55. package/dist/components/ui/sheet.d.ts +1 -1
  56. package/dist/components/ui/sheet.js +3 -1
  57. package/dist/components/ui/sonner.d.ts +2 -2
  58. package/dist/components/ui/sonner.js +3 -2
  59. package/dist/components/ui/toggle.js +1 -1
  60. package/dist/components/ui/trace.js +1 -1
  61. package/dist/index.d.ts +9 -3
  62. package/dist/index.js +9 -3
  63. package/dist/lib/{date.js → internal/date.js} +1 -1
  64. package/dist/lib/{toast-clearance.js → internal/toast-clearance.js} +12 -2
  65. package/dist/styles.css +25 -5
  66. package/docs/COMPONENTS.md +157 -33
  67. package/docs/ROADMAP.md +2 -1
  68. package/llms.txt +7 -6
  69. package/package.json +3 -1
  70. package/skills/harebear-ui/SKILL.md +5 -4
@@ -10,7 +10,7 @@ function InputGroup({ className, ...props }) {
10
10
  return /* @__PURE__ */ jsx("div", {
11
11
  "data-slot": "input-group",
12
12
  role: "group",
13
- className: cn("group/input-group relative flex h-10 w-full min-w-0 items-center rounded-md border border-transparent bg-muted transition-[border-color,box-shadow,background-color] outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-primary has-[[data-slot=input-group-control]:focus-visible]:bg-card has-[[data-slot=input-group-control]:focus-visible]:ring-4 has-[[data-slot=input-group-control]:focus-visible]:ring-primary/15 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5", className),
13
+ className: cn("group/input-group relative flex h-10 pointer-coarse:h-11 w-full min-w-0 items-center rounded-md border border-transparent bg-muted transition-[border-color,box-shadow,background-color] outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-primary has-[[data-slot=input-group-control]:focus-visible]:bg-card has-[[data-slot=input-group-control]:focus-visible]:ring-4 has-[[data-slot=input-group-control]:focus-visible]:ring-primary/15 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5", className),
14
14
  ...props
15
15
  });
16
16
  }
@@ -6,7 +6,7 @@ function Input({ className, type, ...props }) {
6
6
  return /* @__PURE__ */ jsx("input", {
7
7
  type,
8
8
  "data-slot": "input",
9
- className: cn("h-10 w-full min-w-0 py-1 file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground [&::-webkit-search-cancel-button]:hidden rounded-md border border-transparent bg-muted px-3.5 text-base transition-[border-color,box-shadow,background-color] outline-none placeholder:text-muted-foreground focus-visible:border-primary focus-visible:bg-card focus-visible:ring-4 focus-visible:ring-primary/15 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-4 aria-invalid:ring-destructive/15 md:text-sm", className),
9
+ className: cn("h-10 pointer-coarse:h-11 w-full min-w-0 py-1 file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground [&::-webkit-search-cancel-button]:hidden rounded-md border border-transparent bg-muted px-3.5 text-base transition-[border-color,box-shadow,background-color] outline-none placeholder:text-muted-foreground focus-visible:border-primary focus-visible:bg-card focus-visible:ring-4 focus-visible:ring-primary/15 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-4 aria-invalid:ring-destructive/15 md:text-sm", className),
10
10
  ...props
11
11
  });
12
12
  }
@@ -3,7 +3,7 @@ import { Dialog } from "radix-ui";
3
3
  declare function Sheet({ ...props }: React.ComponentProps<typeof Dialog.Root>): React.JSX.Element;
4
4
  declare function SheetTrigger({ ...props }: React.ComponentProps<typeof Dialog.Trigger>): React.JSX.Element;
5
5
  declare function SheetClose({ ...props }: React.ComponentProps<typeof Dialog.Close>): React.JSX.Element;
6
- declare function SheetContent({ className, children, side, showCloseButton, ...props }: React.ComponentProps<typeof Dialog.Content> & {
6
+ declare function SheetContent({ className, children, side, showCloseButton, onInteractOutside, ...props }: React.ComponentProps<typeof Dialog.Content> & {
7
7
  side?: "top" | "right" | "bottom" | "left";
8
8
  showCloseButton?: boolean;
9
9
  }): React.JSX.Element;
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ import { keepOpenOnToast } from "../../lib/internal/toast-clearance.js";
2
3
  import { cn } from "../../lib/utils.js";
3
4
  import { Button } from "./button.js";
4
5
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -36,12 +37,13 @@ function SheetOverlay({ className, ...props }) {
36
37
  ...props
37
38
  });
38
39
  }
39
- function SheetContent({ className, children, side = "right", showCloseButton = true, ...props }) {
40
+ function SheetContent({ className, children, side = "right", showCloseButton = true, onInteractOutside, ...props }) {
40
41
  return /* @__PURE__ */ jsxs(SheetPortal, { children: [/* @__PURE__ */ jsx(SheetOverlay, {}), /* @__PURE__ */ jsxs(Dialog.Content, {
41
42
  "data-slot": "sheet-content",
42
43
  "data-side": side,
43
44
  className: cn("fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10", className),
44
45
  ...props,
46
+ onInteractOutside: keepOpenOnToast(onInteractOutside),
45
47
  children: [children, showCloseButton && /* @__PURE__ */ jsx(Dialog.Close, {
46
48
  "data-slot": "sheet-close",
47
49
  asChild: true,
@@ -1,4 +1,4 @@
1
- import { ExternalToast, ToasterProps } from "sonner";
1
+ import { ExternalToast, ToasterProps, toast } from "sonner";
2
2
  declare const Toaster: ({ ...props }: ToasterProps) => import("react").JSX.Element;
3
3
  export interface ToastUndoOptions extends Omit<ExternalToast, "action"> {
4
4
  /** Called when Undo is pressed. The toast closes. */
@@ -13,4 +13,4 @@ export interface ToastUndoOptions extends Omit<ExternalToast, "action"> {
13
13
  * Uses the mounted <Toaster />. Returns the toast id (pass it to `toast.dismiss` from sonner).
14
14
  */
15
15
  declare function toastUndo(message: React.ReactNode, { onUndo, undoLabel, duration, ...options }: ToastUndoOptions): string | number;
16
- export { Toaster, toastUndo };
16
+ export { Toaster, toast, toastUndo };
@@ -20,7 +20,8 @@ const Toaster = ({ ...props }) => {
20
20
  "--normal-bg": "var(--popover)",
21
21
  "--normal-text": "var(--popover-foreground)",
22
22
  "--normal-border": "var(--border)",
23
- "--border-radius": "var(--radius)"
23
+ "--border-radius": "var(--radius)",
24
+ pointerEvents: "auto"
24
25
  },
25
26
  toastOptions: { classNames: {
26
27
  toast: "cn-toast",
@@ -43,4 +44,4 @@ function toastUndo(message, { onUndo, undoLabel = "Undo", duration = 9e3, ...opt
43
44
  }
44
45
  });
45
46
  }
46
- export { Toaster, toastUndo };
47
+ export { Toaster, toast, toastUndo };
@@ -4,7 +4,7 @@ import { jsx } from "react/jsx-runtime";
4
4
  import { cva } from "class-variance-authority";
5
5
  import { Toggle as Toggle$1 } from "radix-ui";
6
6
  // src/components/ui/toggle.tsx
7
- const toggleVariants = cva("group/toggle inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:bg-muted data-[state=on]:bg-muted dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
7
+ const toggleVariants = cva("group/toggle relative inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:bg-muted data-[state=on]:bg-muted dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 pointer-coarse:after:absolute pointer-coarse:after:inset-[min(0px,calc(50%-1.375rem))]", {
8
8
  variants: {
9
9
  variant: {
10
10
  default: "bg-transparent",
@@ -30,7 +30,7 @@ function TraceIcon({ className, ...props }) {
30
30
  function TraceTitle({ className, ...props }) {
31
31
  return /* @__PURE__ */ jsx("span", {
32
32
  "data-slot": "trace-title",
33
- className: cn("min-w-0 truncate motion-reduce:shimmer-none", className),
33
+ className: cn("min-w-0 wrap-anywhere motion-reduce:shimmer-none", className),
34
34
  ...props
35
35
  });
36
36
  }
package/dist/index.d.ts CHANGED
@@ -55,7 +55,7 @@ import { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHe
55
55
  import { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar, useSidebarOptional } from "./components/ui/sidebar.js";
56
56
  import { Skeleton } from "./components/ui/skeleton.js";
57
57
  import { Slider } from "./components/ui/slider.js";
58
- import { ToastUndoOptions, Toaster, toastUndo } from "./components/ui/sonner.js";
58
+ import { ToastUndoOptions, Toaster, toast, toastUndo } from "./components/ui/sonner.js";
59
59
  import { Spinner } from "./components/ui/spinner.js";
60
60
  import { Switch } from "./components/ui/switch.js";
61
61
  import { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from "./components/ui/table.js";
@@ -72,7 +72,9 @@ import { AvatarUpload, AvatarUploadProps, cropImageToSquare } from "./components
72
72
  import { Callout } from "./components/admin/callout.js";
73
73
  import { CategoryColor, CategoryDot, CategoryDotProps, categoryBg } from "./components/admin/category.js";
74
74
  import { Celebration, CelebrationProps, celebrate } from "./components/admin/celebration.js";
75
+ import { ChecklistEditor, ChecklistEditorProps, ChecklistItem } from "./components/admin/checklist-editor.js";
75
76
  import { ColorSwatchPicker, ColorSwatchPickerProps } from "./components/admin/color-swatch-picker.js";
77
+ import { CommentThread, CommentThreadComment, CommentThreadProps } from "./components/admin/comment-thread.js";
76
78
  import { ConfirmDialog, ConfirmDialogProps } from "./components/admin/confirm-dialog.js";
77
79
  import { CopyField, CopyFieldProps } from "./components/admin/copy-field.js";
78
80
  import { DateTimePicker, DateTimePickerProps, DateTimeValue } from "./components/admin/date-time-picker.js";
@@ -82,11 +84,14 @@ import { KeyValueGrid, KeyValueItem } from "./components/admin/key-value-grid.js
82
84
  import { LinkTile, LinkTileProps } from "./components/admin/link-tile.js";
83
85
  import { MarkdownEditor, MarkdownEditorProps } from "./components/admin/markdown-editor.js";
84
86
  import { PageHeader, PageHeaderProps } from "./components/admin/page-header.js";
87
+ import { Page, PageProps, PageSection, PageSectionProps } from "./components/admin/page.js";
88
+ import { PromptDialog, PromptDialogProps } from "./components/admin/prompt-dialog.js";
85
89
  import { SearchInput, SearchInputProps } from "./components/admin/search-input.js";
86
90
  import { SettingsRow, SettingsRowProps, SettingsSection, SettingsSectionProps } from "./components/admin/settings.js";
87
91
  import { SidebarCollapseButton, SidebarLayout, SidebarLayoutProps } from "./components/admin/sidebar-layout.js";
88
92
  import { StatCard, StatCardProps } from "./components/admin/stat-card.js";
89
93
  import { StatusBadge, StatusBadgeProps, StatusDot, StatusDotProps, StatusTone } from "./components/admin/status.js";
94
+ import { TimeZonePicker, TimeZonePickerProps } from "./components/admin/time-zone-picker.js";
90
95
  import { Timeline, TimelineItem } from "./components/admin/timeline.js";
91
96
  import { UsageMeter, UsageMeterProps } from "./components/admin/usage-meter.js";
92
97
  import { AvatarStack, AvatarStackProps, MemberAvatar, MemberAvatarProps, UserChip, UserChipProps, VisibilityBadge, VisibilityBadgeProps, initials } from "./components/admin/user-chip.js";
@@ -115,14 +120,15 @@ import { AssistantAvatar, ChatMessage, ChatMessageProps, ChatThread, ChatThreadP
115
120
  import { CodeSnippet, CodeSnippetProps, InlineCode, InlineCodeProps, Prose, ProseBlockquote } from "./components/ai/code-block.js";
116
121
  import { Conversation, ConversationGroup, ConversationList, ConversationListProps, GroupByDateOptions, NewConversationButton, NewConversationButtonProps, formatWhen, groupByDate } from "./components/ai/conversation-list.js";
117
122
  import { DictationButton, DictationButtonProps, SpeechSource, SpeechSourceHandlers, UseDictationOptions, browserSpeechSource, useDictation } from "./components/ai/dictation.js";
123
+ import { Markdown, MarkdownProps } from "./components/ai/markdown.js";
118
124
  import { ModelOption, ModelPicker, ModelPickerProps } from "./components/ai/model-picker.js";
119
125
  import { PromptInput, PromptInputChip, PromptInputChipProps, PromptInputProps, PromptInputSelect, PromptInputSelectOption, PromptInputSelectProps } from "./components/ai/prompt-input.js";
120
126
  import { ToolGroup, ToolGroupProps, ToolStatus, ToolStatusIcon, ToolStep, ToolStepProps } from "./components/ai/tool-steps.js";
121
- import { AppleIcon, AuthLayout, AuthLayoutProps, AuthProvider, GitHubIcon, GoogleIcon, LoginForm, LoginFormProps, LoginValues, SignupForm, SignupFormProps, SignupValues } from "./components/auth/auth.js";
127
+ import { AppleIcon, AuthForm, AuthFormProps, AuthLayout, AuthLayoutProps, AuthProvider, GitHubIcon, GoogleIcon, LoginForm, LoginFormProps, LoginValues, NewPasswordForm, NewPasswordFormProps, SignupForm, SignupFormProps, SignupValues } from "./components/auth/auth.js";
122
128
  import { useCopyToClipboard } from "./hooks/use-copy-to-clipboard.js";
123
129
  import { useHighlightedCode } from "./hooks/use-highlighted-code.js";
124
130
  import { useMediaQuery } from "./hooks/use-media-query.js";
125
131
  import { useIsMobile } from "./hooks/use-mobile.js";
126
132
  import { highlightCode, loadHighlighter } from "./lib/highlighter.js";
127
133
  import { cn } from "./lib/utils.js";
128
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActionReceipt, type ActionReceiptProps, ActivityFeed, type ActivityItem, AgendaRow, type AgendaRowProps, type AgendaRowWho, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppBrand, type AppBrandProps, AppNav, type AppNavAction, type AppNavGroup, type AppNavItem, type AppNavPlace, type AppNavProps, type AppNavSection, AppShell, type AppShellProps, AppleIcon, ApprovalCard, type ApprovalCardProps, ApprovalResult, type ApprovalResultProps, AskBox, type AskBoxProps, AspectRatio, AssistantAvatar, type AssistantContextValue, AssistantDock, type AssistantDockProps, type AssistantMessage, type AssistantPage, AssistantProvider, type AssistantProviderProps, type AssistantSendContext, type AssistantSendOptions, Attachment, AttachmentAction, AttachmentActions, AttachmentContent, AttachmentDescription, AttachmentGroup, AttachmentMedia, AttachmentTitle, AttachmentTrigger, AuthLayout, type AuthLayoutProps, type AuthProvider, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, AvatarStack, type AvatarStackProps, AvatarUpload, type AvatarUploadProps, Badge, BarList, type BarListItem, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, Callout, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CategoryColor, CategoryDot, type CategoryDotProps, Celebration, type CelebrationProps, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, ChatMessage, type ChatMessageProps, ChatPanel, type ChatPanelProps, ChatShell, type ChatShellProps, ChatThread, type ChatThreadProps, CheckCircle, type CheckCircleProps, Checkbox, CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle, CodeSnippet, type CodeSnippetProps, Collapse, type CollapseProps, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorSwatchPicker, type ColorSwatchPickerProps, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ConfirmDialog, type ConfirmDialogProps, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, type Conversation, type ConversationGroup, ConversationList, type ConversationListProps, CopyField, type CopyFieldProps, DataTable, type DataTableColumnDef, type DataTableFeatures, type DataTableProps, DateTimePicker, type DateTimePickerProps, type DateTimeValue, DayStrip, type DayStripDay, type DayStripProps, DetailSheet, type DetailSheetProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DictationButton, type DictationButtonProps, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FocusLayout, type FocusLayoutProps, GitHubIcon, GoogleIcon, Grid, type GridCols, type GridProps, type GroupByDateOptions, Heading, type HeadingProps, HoverCard, HoverCardContent, HoverCardTrigger, InlineCode, type InlineCodeProps, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, KeyValueGrid, type KeyValueItem, Label, LinkTile, type LinkTileProps, LoginForm, type LoginFormProps, type LoginValues, MarkdownEditor, type MarkdownEditorProps, Marker, MarkerContent, MarkerIcon, MediaItem, type MediaItemProps, MemberAvatar, type MemberAvatarProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Message, MessageActions, type MessageActionsProps, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, Metric, MetricGroup, type MetricProps, type ModelOption, ModelPicker, type ModelPickerProps, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NewConversationButton, type NewConversationButtonProps, PageHeader, type PageHeaderProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PasswordInput, type PasswordInputProps, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, PromptInput, PromptInputChip, type PromptInputChipProps, type PromptInputProps, PromptInputSelect, type PromptInputSelectOption, type PromptInputSelectProps, Prose, ProseBlockquote, Questionnaire, QuestionnaireActions, QuestionnaireChoice, QuestionnaireChoiceDescription, QuestionnaireChoices, QuestionnaireDescription, QuestionnaireError, QuestionnaireInput, QuestionnaireItem, QuestionnaireNext, QuestionnairePrevious, QuestionnaireProgress, QuestionnaireSkip, QuestionnaireSubmit, QuestionnaireTitle, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, type ResolvedThemeMode, type ResponsiveGridCols, Row, type RowProps, ScrollArea, ScrollBar, SearchInput, type SearchInputProps, SectionedList, type SectionedListItem, type SectionedListProps, type SectionedListSection, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SettingsRow, type SettingsRowProps, SettingsSection, type SettingsSectionProps, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, ShowMore, type ShowMoreProps, Sidebar, SidebarCollapseButton, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLayout, type SidebarLayoutProps, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SignupForm, type SignupFormProps, type SignupValues, Skeleton, Slider, Sparkline, type SparklineProps, type SpeechSource, type SpeechSourceHandlers, Spinner, Stack, type StackAlign, type StackJustify, type StackProps, type StackSpace, StatCard, type StatCardProps, StatusBadge, type StatusBadgeProps, type StatusBarDatum, StatusBars, type StatusBarsProps, StatusDot, type StatusDotProps, type StatusTone, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TaskRow, type TaskRowAssignee, type TaskRowProps, Text, type TextProps, type TextTone, Textarea, type ThemeContextValue, type ThemeMode, ThemeProvider, type ThemeProviderProps, ThemeScript, ThemeToggle, Timeline, type TimelineItem, type ToastUndoOptions, Toaster, Toggle, ToggleGroup, ToggleGroupItem, ToolCall, type ToolCallProps, ToolGroup, type ToolGroupProps, type ToolStatus, ToolStatusIcon, ToolStep, type ToolStepProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Trace, TraceCollapsible, TraceCollapsibleContent, TraceCollapsibleTrigger, TraceDescription, TraceIcon, TraceLine, TraceTitle, TrendChart, type TrendChartProps, TrendLegend, type TrendSeries, TypingIndicator, type TypingIndicatorProps, UsageMeter, type UsageMeterProps, type UseDictationOptions, UserChip, type UserChipProps, UserMenu, type UserMenuProps, VisibilityBadge, type VisibilityBadgeProps, badgeVariants, browserSpeechSource, buttonGroupVariants, buttonVariants, categoryBg, celebrate, cn, createDataTableColumnHelper, cropImageToSquare, dataTableFeatures, formatWhen, groupByDate, highlightCode, initials, loadHighlighter, markerVariants, navigationMenuTriggerStyle, smoothPath, tabsListVariants, toastUndo, toggleVariants, useAssistant, useAssistantPage, useCarousel, useComboboxAnchor, useCopyToClipboard, useDictation, useDirection, useHighlightedCode, useIsMobile, useMediaQuery, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useSidebar, useSidebarOptional, useTheme };
134
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActionReceipt, type ActionReceiptProps, ActivityFeed, type ActivityItem, AgendaRow, type AgendaRowProps, type AgendaRowWho, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppBrand, type AppBrandProps, AppNav, type AppNavAction, type AppNavGroup, type AppNavItem, type AppNavPlace, type AppNavProps, type AppNavSection, AppShell, type AppShellProps, AppleIcon, ApprovalCard, type ApprovalCardProps, ApprovalResult, type ApprovalResultProps, AskBox, type AskBoxProps, AspectRatio, AssistantAvatar, type AssistantContextValue, AssistantDock, type AssistantDockProps, type AssistantMessage, type AssistantPage, AssistantProvider, type AssistantProviderProps, type AssistantSendContext, type AssistantSendOptions, Attachment, AttachmentAction, AttachmentActions, AttachmentContent, AttachmentDescription, AttachmentGroup, AttachmentMedia, AttachmentTitle, AttachmentTrigger, AuthForm, type AuthFormProps, AuthLayout, type AuthLayoutProps, type AuthProvider, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, AvatarStack, type AvatarStackProps, AvatarUpload, type AvatarUploadProps, Badge, BarList, type BarListItem, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, Callout, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CategoryColor, CategoryDot, type CategoryDotProps, Celebration, type CelebrationProps, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, ChatMessage, type ChatMessageProps, ChatPanel, type ChatPanelProps, ChatShell, type ChatShellProps, ChatThread, type ChatThreadProps, CheckCircle, type CheckCircleProps, Checkbox, ChecklistEditor, type ChecklistEditorProps, type ChecklistItem, CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle, CodeSnippet, type CodeSnippetProps, Collapse, type CollapseProps, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorSwatchPicker, type ColorSwatchPickerProps, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CommentThread, type CommentThreadComment, type CommentThreadProps, ConfirmDialog, type ConfirmDialogProps, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, type Conversation, type ConversationGroup, ConversationList, type ConversationListProps, CopyField, type CopyFieldProps, DataTable, type DataTableColumnDef, type DataTableFeatures, type DataTableProps, DateTimePicker, type DateTimePickerProps, type DateTimeValue, DayStrip, type DayStripDay, type DayStripProps, DetailSheet, type DetailSheetProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DictationButton, type DictationButtonProps, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FocusLayout, type FocusLayoutProps, GitHubIcon, GoogleIcon, Grid, type GridCols, type GridProps, type GroupByDateOptions, Heading, type HeadingProps, HoverCard, HoverCardContent, HoverCardTrigger, InlineCode, type InlineCodeProps, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, KeyValueGrid, type KeyValueItem, Label, LinkTile, type LinkTileProps, LoginForm, type LoginFormProps, type LoginValues, Markdown, MarkdownEditor, type MarkdownEditorProps, type MarkdownProps, Marker, MarkerContent, MarkerIcon, MediaItem, type MediaItemProps, MemberAvatar, type MemberAvatarProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Message, MessageActions, type MessageActionsProps, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, Metric, MetricGroup, type MetricProps, type ModelOption, ModelPicker, type ModelPickerProps, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NewConversationButton, type NewConversationButtonProps, NewPasswordForm, type NewPasswordFormProps, Page, PageHeader, type PageHeaderProps, type PageProps, PageSection, type PageSectionProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PasswordInput, type PasswordInputProps, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, PromptDialog, type PromptDialogProps, PromptInput, PromptInputChip, type PromptInputChipProps, type PromptInputProps, PromptInputSelect, type PromptInputSelectOption, type PromptInputSelectProps, Prose, ProseBlockquote, Questionnaire, QuestionnaireActions, QuestionnaireChoice, QuestionnaireChoiceDescription, QuestionnaireChoices, QuestionnaireDescription, QuestionnaireError, QuestionnaireInput, QuestionnaireItem, QuestionnaireNext, QuestionnairePrevious, QuestionnaireProgress, QuestionnaireSkip, QuestionnaireSubmit, QuestionnaireTitle, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, type ResolvedThemeMode, type ResponsiveGridCols, Row, type RowProps, ScrollArea, ScrollBar, SearchInput, type SearchInputProps, SectionedList, type SectionedListItem, type SectionedListProps, type SectionedListSection, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SettingsRow, type SettingsRowProps, SettingsSection, type SettingsSectionProps, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, ShowMore, type ShowMoreProps, Sidebar, SidebarCollapseButton, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLayout, type SidebarLayoutProps, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SignupForm, type SignupFormProps, type SignupValues, Skeleton, Slider, Sparkline, type SparklineProps, type SpeechSource, type SpeechSourceHandlers, Spinner, Stack, type StackAlign, type StackJustify, type StackProps, type StackSpace, StatCard, type StatCardProps, StatusBadge, type StatusBadgeProps, type StatusBarDatum, StatusBars, type StatusBarsProps, StatusDot, type StatusDotProps, type StatusTone, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TaskRow, type TaskRowAssignee, type TaskRowProps, Text, type TextProps, type TextTone, Textarea, type ThemeContextValue, type ThemeMode, ThemeProvider, type ThemeProviderProps, ThemeScript, ThemeToggle, TimeZonePicker, type TimeZonePickerProps, Timeline, type TimelineItem, type ToastUndoOptions, Toaster, Toggle, ToggleGroup, ToggleGroupItem, ToolCall, type ToolCallProps, ToolGroup, type ToolGroupProps, type ToolStatus, ToolStatusIcon, ToolStep, type ToolStepProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Trace, TraceCollapsible, TraceCollapsibleContent, TraceCollapsibleTrigger, TraceDescription, TraceIcon, TraceLine, TraceTitle, TrendChart, type TrendChartProps, TrendLegend, type TrendSeries, TypingIndicator, type TypingIndicatorProps, UsageMeter, type UsageMeterProps, type UseDictationOptions, UserChip, type UserChipProps, UserMenu, type UserMenuProps, VisibilityBadge, type VisibilityBadgeProps, badgeVariants, browserSpeechSource, buttonGroupVariants, buttonVariants, categoryBg, celebrate, cn, createDataTableColumnHelper, cropImageToSquare, dataTableFeatures, formatWhen, groupByDate, highlightCode, initials, loadHighlighter, markerVariants, navigationMenuTriggerStyle, smoothPath, tabsListVariants, toast, toastUndo, toggleVariants, useAssistant, useAssistantPage, useCarousel, useComboboxAnchor, useCopyToClipboard, useDictation, useDirection, useHighlightedCode, useIsMobile, useMediaQuery, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useSidebar, useSidebarOptional, useTheme };
package/dist/index.js CHANGED
@@ -55,7 +55,7 @@ import { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHe
55
55
  import { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar, useSidebarOptional } from "./components/ui/sidebar.js";
56
56
  import { Skeleton } from "./components/ui/skeleton.js";
57
57
  import { Slider } from "./components/ui/slider.js";
58
- import { Toaster, toastUndo } from "./components/ui/sonner.js";
58
+ import { Toaster, toast, toastUndo } from "./components/ui/sonner.js";
59
59
  import { Spinner } from "./components/ui/spinner.js";
60
60
  import { Switch } from "./components/ui/switch.js";
61
61
  import { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from "./components/ui/table.js";
@@ -72,7 +72,9 @@ import { AvatarUpload, cropImageToSquare } from "./components/admin/avatar-uploa
72
72
  import { Callout } from "./components/admin/callout.js";
73
73
  import { CategoryDot, categoryBg } from "./components/admin/category.js";
74
74
  import { Celebration, celebrate } from "./components/admin/celebration.js";
75
+ import { ChecklistEditor } from "./components/admin/checklist-editor.js";
75
76
  import { ColorSwatchPicker } from "./components/admin/color-swatch-picker.js";
77
+ import { CommentThread } from "./components/admin/comment-thread.js";
76
78
  import { ConfirmDialog } from "./components/admin/confirm-dialog.js";
77
79
  import { CopyField } from "./components/admin/copy-field.js";
78
80
  import { DateTimePicker } from "./components/admin/date-time-picker.js";
@@ -82,11 +84,14 @@ import { KeyValueGrid } from "./components/admin/key-value-grid.js";
82
84
  import { LinkTile } from "./components/admin/link-tile.js";
83
85
  import { MarkdownEditor } from "./components/admin/markdown-editor.js";
84
86
  import { PageHeader } from "./components/admin/page-header.js";
87
+ import { Page, PageSection } from "./components/admin/page.js";
88
+ import { PromptDialog } from "./components/admin/prompt-dialog.js";
85
89
  import { SearchInput } from "./components/admin/search-input.js";
86
90
  import { SettingsRow, SettingsSection } from "./components/admin/settings.js";
87
91
  import { SidebarCollapseButton, SidebarLayout } from "./components/admin/sidebar-layout.js";
88
92
  import { StatCard } from "./components/admin/stat-card.js";
89
93
  import { StatusBadge, StatusDot } from "./components/admin/status.js";
94
+ import { TimeZonePicker } from "./components/admin/time-zone-picker.js";
90
95
  import { Timeline } from "./components/admin/timeline.js";
91
96
  import { UsageMeter } from "./components/admin/usage-meter.js";
92
97
  import { AvatarStack, MemberAvatar, UserChip, VisibilityBadge, initials } from "./components/admin/user-chip.js";
@@ -115,14 +120,15 @@ import { AssistantAvatar, ChatMessage, ChatThread, MessageActions, ToolCall, Typ
115
120
  import { CodeSnippet, InlineCode, Prose, ProseBlockquote } from "./components/ai/code-block.js";
116
121
  import { ConversationList, NewConversationButton, formatWhen, groupByDate } from "./components/ai/conversation-list.js";
117
122
  import { DictationButton, browserSpeechSource, useDictation } from "./components/ai/dictation.js";
123
+ import { Markdown } from "./components/ai/markdown.js";
118
124
  import { ModelPicker } from "./components/ai/model-picker.js";
119
125
  import { PromptInput, PromptInputChip, PromptInputSelect } from "./components/ai/prompt-input.js";
120
126
  import { ToolGroup, ToolStatusIcon, ToolStep } from "./components/ai/tool-steps.js";
121
- import { AppleIcon, AuthLayout, GitHubIcon, GoogleIcon, LoginForm, SignupForm } from "./components/auth/auth.js";
127
+ import { AppleIcon, AuthForm, AuthLayout, GitHubIcon, GoogleIcon, LoginForm, NewPasswordForm, SignupForm } from "./components/auth/auth.js";
122
128
  import { useCopyToClipboard } from "./hooks/use-copy-to-clipboard.js";
123
129
  import { useHighlightedCode } from "./hooks/use-highlighted-code.js";
124
130
  import { useMediaQuery } from "./hooks/use-media-query.js";
125
131
  import { useIsMobile } from "./hooks/use-mobile.js";
126
132
  import { highlightCode, loadHighlighter } from "./lib/highlighter.js";
127
133
  import { cn } from "./lib/utils.js";
128
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActionReceipt, ActivityFeed, AgendaRow, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppBrand, AppNav, AppShell, AppleIcon, ApprovalCard, ApprovalResult, AskBox, AspectRatio, AssistantAvatar, AssistantDock, AssistantProvider, Attachment, AttachmentAction, AttachmentActions, AttachmentContent, AttachmentDescription, AttachmentGroup, AttachmentMedia, AttachmentTitle, AttachmentTrigger, AuthLayout, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, AvatarStack, AvatarUpload, Badge, BarList, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, Callout, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, CategoryDot, Celebration, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, ChatMessage, ChatPanel, ChatShell, ChatThread, CheckCircle, Checkbox, CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle, CodeSnippet, Collapse, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorSwatchPicker, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ConfirmDialog, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ConversationList, CopyField, DataTable, DateTimePicker, DayStrip, DetailSheet, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DictationButton, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FocusLayout, GitHubIcon, GoogleIcon, Grid, Heading, HoverCard, HoverCardContent, HoverCardTrigger, InlineCode, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, KeyValueGrid, Label, LinkTile, LoginForm, MarkdownEditor, Marker, MarkerContent, MarkerIcon, MediaItem, MemberAvatar, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Message, MessageActions, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, Metric, MetricGroup, ModelPicker, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NewConversationButton, PageHeader, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PasswordInput, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, PromptInput, PromptInputChip, PromptInputSelect, Prose, ProseBlockquote, Questionnaire, QuestionnaireActions, QuestionnaireChoice, QuestionnaireChoiceDescription, QuestionnaireChoices, QuestionnaireDescription, QuestionnaireError, QuestionnaireInput, QuestionnaireItem, QuestionnaireNext, QuestionnairePrevious, QuestionnaireProgress, QuestionnaireSkip, QuestionnaireSubmit, QuestionnaireTitle, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, Row, ScrollArea, ScrollBar, SearchInput, SectionedList, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SettingsRow, SettingsSection, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, ShowMore, Sidebar, SidebarCollapseButton, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLayout, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SignupForm, Skeleton, Slider, Sparkline, Spinner, Stack, StatCard, StatusBadge, StatusBars, StatusDot, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TaskRow, Text, Textarea, ThemeProvider, ThemeScript, ThemeToggle, Timeline, Toaster, Toggle, ToggleGroup, ToggleGroupItem, ToolCall, ToolGroup, ToolStatusIcon, ToolStep, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Trace, TraceCollapsible, TraceCollapsibleContent, TraceCollapsibleTrigger, TraceDescription, TraceIcon, TraceLine, TraceTitle, TrendChart, TrendLegend, TypingIndicator, UsageMeter, UserChip, UserMenu, VisibilityBadge, badgeVariants, browserSpeechSource, buttonGroupVariants, buttonVariants, categoryBg, celebrate, cn, createDataTableColumnHelper, cropImageToSquare, dataTableFeatures, formatWhen, groupByDate, highlightCode, initials, loadHighlighter, markerVariants, navigationMenuTriggerStyle, smoothPath, tabsListVariants, toastUndo, toggleVariants, useAssistant, useAssistantPage, useCarousel, useComboboxAnchor, useCopyToClipboard, useDictation, useDirection, useHighlightedCode, useIsMobile, useMediaQuery, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useSidebar, useSidebarOptional, useTheme };
134
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActionReceipt, ActivityFeed, AgendaRow, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppBrand, AppNav, AppShell, AppleIcon, ApprovalCard, ApprovalResult, AskBox, AspectRatio, AssistantAvatar, AssistantDock, AssistantProvider, Attachment, AttachmentAction, AttachmentActions, AttachmentContent, AttachmentDescription, AttachmentGroup, AttachmentMedia, AttachmentTitle, AttachmentTrigger, AuthForm, AuthLayout, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, AvatarStack, AvatarUpload, Badge, BarList, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, Callout, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, CategoryDot, Celebration, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, ChatMessage, ChatPanel, ChatShell, ChatThread, CheckCircle, Checkbox, ChecklistEditor, CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle, CodeSnippet, Collapse, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorSwatchPicker, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CommentThread, ConfirmDialog, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ConversationList, CopyField, DataTable, DateTimePicker, DayStrip, DetailSheet, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DictationButton, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FocusLayout, GitHubIcon, GoogleIcon, Grid, Heading, HoverCard, HoverCardContent, HoverCardTrigger, InlineCode, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, KeyValueGrid, Label, LinkTile, LoginForm, Markdown, MarkdownEditor, Marker, MarkerContent, MarkerIcon, MediaItem, MemberAvatar, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Message, MessageActions, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, Metric, MetricGroup, ModelPicker, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NewConversationButton, NewPasswordForm, Page, PageHeader, PageSection, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PasswordInput, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, PromptDialog, PromptInput, PromptInputChip, PromptInputSelect, Prose, ProseBlockquote, Questionnaire, QuestionnaireActions, QuestionnaireChoice, QuestionnaireChoiceDescription, QuestionnaireChoices, QuestionnaireDescription, QuestionnaireError, QuestionnaireInput, QuestionnaireItem, QuestionnaireNext, QuestionnairePrevious, QuestionnaireProgress, QuestionnaireSkip, QuestionnaireSubmit, QuestionnaireTitle, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, Row, ScrollArea, ScrollBar, SearchInput, SectionedList, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SettingsRow, SettingsSection, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, ShowMore, Sidebar, SidebarCollapseButton, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLayout, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SignupForm, Skeleton, Slider, Sparkline, Spinner, Stack, StatCard, StatusBadge, StatusBars, StatusDot, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TaskRow, Text, Textarea, ThemeProvider, ThemeScript, ThemeToggle, TimeZonePicker, Timeline, Toaster, Toggle, ToggleGroup, ToggleGroupItem, ToolCall, ToolGroup, ToolStatusIcon, ToolStep, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Trace, TraceCollapsible, TraceCollapsibleContent, TraceCollapsibleTrigger, TraceDescription, TraceIcon, TraceLine, TraceTitle, TrendChart, TrendLegend, TypingIndicator, UsageMeter, UserChip, UserMenu, VisibilityBadge, badgeVariants, browserSpeechSource, buttonGroupVariants, buttonVariants, categoryBg, celebrate, cn, createDataTableColumnHelper, cropImageToSquare, dataTableFeatures, formatWhen, groupByDate, highlightCode, initials, loadHighlighter, markerVariants, navigationMenuTriggerStyle, smoothPath, tabsListVariants, toast, toastUndo, toggleVariants, useAssistant, useAssistantPage, useCarousel, useComboboxAnchor, useCopyToClipboard, useDictation, useDirection, useHighlightedCode, useIsMobile, useMediaQuery, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useSidebar, useSidebarOptional, useTheme };
@@ -1,4 +1,4 @@
1
- // src/lib/date.ts
1
+ // src/lib/internal/date.ts
2
2
  /** Parses a floating `YYYY-MM-DD` date (and optional `HH:MM` time) as local time. `new Date("YYYY-MM-DD")` is UTC. */
3
3
  function parseLocalDate(date, time = "00:00") {
4
4
  const [y, m, d] = date.split("-").map(Number);
@@ -1,7 +1,17 @@
1
1
  "use client";
2
2
  import * as React from "react";
3
- // src/lib/toast-clearance.ts
3
+ // src/lib/internal/toast-clearance.ts
4
4
  const counts = /* @__PURE__ */ new Map();
5
+ /**
6
+ * For a modal's `onInteractOutside`: a press or focus inside the Toaster (e.g. a toast's Undo) does not dismiss the
7
+ * modal. The Toaster opts out of the modal's `pointer-events: none` on <body> (src/components/ui/sonner.tsx).
8
+ */
9
+ function keepOpenOnToast(handler) {
10
+ return (event) => {
11
+ handler?.(event);
12
+ if (event.target instanceof Element && event.target.closest("[data-sonner-toaster]")) event.preventDefault();
13
+ };
14
+ }
5
15
  function useToastClearance(name, value, enabled = true) {
6
16
  React.useEffect(() => {
7
17
  if (!enabled || typeof document === "undefined") return;
@@ -19,4 +29,4 @@ function useToastClearance(name, value, enabled = true) {
19
29
  enabled
20
30
  ]);
21
31
  }
22
- export { useToastClearance };
32
+ export { keepOpenOnToast, useToastClearance };
package/dist/styles.css CHANGED
@@ -282,6 +282,11 @@
282
282
  .animate-listening {
283
283
  animation: none;
284
284
  }
285
+ /* tw-animate enter/exit on dialogs, menus, popovers and sheets (any variant prefix). Unlayered, so it wins. */
286
+ [class*="animate-in"],
287
+ [class*="animate-out"] {
288
+ animation: none;
289
+ }
285
290
  .focus-box {
286
291
  transition: none;
287
292
  }
@@ -312,24 +317,39 @@
312
317
  }
313
318
 
314
319
  /* Toasts clear floating controls. AppNav (tab bar, action button) and AssistantDock (launcher) set --hb-toast-* on
315
- <html> while mounted (src/lib/toast-clearance.ts); this adds them to Sonner's bottom offset. Unlayered and
320
+ <html> while mounted (src/lib/internal/toast-clearance.ts); this adds them to Sonner's bottom offset. Unlayered and
316
321
  !important because Sonner injects its own unlayered rule at runtime. Breakpoints: AppNav's tab bar shows under
317
- 768px; Sonner switches to full-width mobile toasts under 600px. */
322
+ 768px; Sonner switches to full-width mobile toasts under 600px.
323
+ An open DetailSheet sets --hb-toast-sheet (desktop side sheet: its width plus gap) or --hb-toast-drawer (phone
324
+ full-screen drawer: its footer height). The sheet moves toasts left of it and narrows them to fit; the drawer
325
+ replaces the other bottom offsets, since it covers the tab bar, action button and launcher. */
318
326
  [data-sonner-toaster][data-y-position="bottom"] {
319
327
  bottom: calc(var(--offset-bottom) + var(--hb-toast-launcher, 0px)) !important;
320
328
  }
329
+ @media (min-width: 768px) {
330
+ [data-sonner-toaster] {
331
+ --width: min(356px, 100vw - var(--hb-toast-sheet, 0px) - 2 * var(--offset-right)) !important;
332
+ }
333
+ [data-sonner-toaster][data-x-position="right"] {
334
+ right: calc(var(--offset-right) + var(--hb-toast-sheet, 0px)) !important;
335
+ }
336
+ [data-sonner-toaster][data-x-position="center"] {
337
+ transform: translateX(calc(-50% - var(--hb-toast-sheet, 0px) / 2)) !important;
338
+ }
339
+ }
321
340
  @media (max-width: 767px) {
322
341
  [data-sonner-toaster][data-y-position="bottom"] {
323
342
  bottom: calc(
324
- var(--offset-bottom) + var(--hb-toast-nav, 0px) + var(--hb-toast-fab, 0px) + var(--hb-toast-launcher, 0px)
343
+ var(--offset-bottom) +
344
+ var(--hb-toast-drawer, var(--hb-toast-nav, 0px) + var(--hb-toast-fab, 0px) + var(--hb-toast-launcher, 0px))
325
345
  ) !important;
326
346
  }
327
347
  }
328
348
  @media (max-width: 600px) {
329
349
  [data-sonner-toaster][data-y-position="bottom"] {
330
350
  bottom: calc(
331
- var(--mobile-offset-bottom) + var(--hb-toast-nav, 0px) + var(--hb-toast-fab, 0px) +
332
- var(--hb-toast-launcher, 0px)
351
+ var(--mobile-offset-bottom) +
352
+ var(--hb-toast-drawer, var(--hb-toast-nav, 0px) + var(--hb-toast-fab, 0px) + var(--hb-toast-launcher, 0px))
333
353
  ) !important;
334
354
  }
335
355
  }