Files
supabase/packages/ui/index.tsx
Danny WhiteandJoshen Lim 22ff9b2d81 chore(studio): session expired dialog (#43122)
## What kind of change does this PR introduce?

UI improvement

## What is the current behavior?

The session expired dialog is quite hard to parse when, for most people,
the ask is simple.

## What is the new behavior?

Improved session expired dialog:

- Refactored to use AlertDialog
- Clarified copywriting
- Uses the new AlertCollapsible to hide all the complicated debugging
steps under a toggle
	- This component is documented in the design-system

| Before | After |
| --- | --- |
| <img width="1024" height="563"
alt="Supabase-B1728A05-DDD2-4A50-AED4-D62EAA2E7D7C"
src="https://github.com/user-attachments/assets/771f85d8-21ea-42b5-99f5-b9b05f5617dd"
/> | <img width="1024" height="563" alt="Storage Supabase"
src="https://github.com/user-attachments/assets/b2fcab68-fb29-4cb9-bd42-aecc57b9fa32"
/> |
| <img width="1024" height="563"
alt="Supabase-B1728A05-DDD2-4A50-AED4-D62EAA2E7D7C"
src="https://github.com/user-attachments/assets/771f85d8-21ea-42b5-99f5-b9b05f5617dd"
/> | <img width="1024" height="563" alt="Storage Supabase"
src="https://github.com/user-attachments/assets/babd3711-5fdf-43b9-be06-d96268a191fd"
/> |

## To test

In apps/studio/hooks/misc/withAuth.tsx:

```diff
- const [isSessionTimeoutModalOpen, setIsSessionTimeoutModalOpen] = useState(false)
+ const [isSessionTimeoutModalOpen, setIsSessionTimeoutModalOpen] = useState(true) // Mocked as true for UI testing
```

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-02-25 16:27:48 +08:00

306 lines
10 KiB
TypeScript

// Markdown components
export * from './src/lib/Markdown'
// GENERAL
export * from './src/components/Button'
export * from './src/components/Icon/IconBackground'
export * from './src/components/Image'
// DISPLAYS
export { Card as Card_legacy_ } from './src/components/Card'
export * from './src/components/Tabs'
export * from './src/components/Alert'
export * from './src/components/Accordion'
export * from './src/components/Collapsible'
export * from './src/components/CodeBlock'
export * from './src/components/SimpleCodeBlock'
export * from './src/components/Mermaid'
// NAV
export * from './src/components/Menu'
export * from './src/components/NavMenu'
// OVERLAYS
export * from './src/components/Modal'
export * from './src/components/SidePanel'
export * from './src/components/Popover'
// HTML
export { Heading } from './src/components/CustomHTMLElements'
// UTILITIES
export * from './src/components/Space'
export * from './src/components/Loading'
export * from './src/components/LogoLoader'
export * from './src/components/AnimatedCounter'
export * from './src/lib/utils'
// DATA ENTRY
export * from './src/components/Select'
export * from './src/components/Listbox'
export * from './src/components/Checkbox'
export * from './src/components/Input'
export * from './src/components/InputNumber'
export * from './src/components/Radio'
export * from './src/components/Toggle'
export * from './src/components/Form'
export * from './src/components/ExpandingTextArea'
export * from './src/components/PrePostTab'
// layout
export * from './src/components/LoadingLine'
// ai icon
export * from './src/layout/ai-icon-animation'
// theme switcher
export * from './src/components/ThemeProvider/themes'
export * from './src/components/ThemeProvider/singleThemes'
// shadcn
export * from './src/components/shadcn/ui/dropdown-menu'
export * from './src/components/shadcn/ui/sonner'
export * from './src/components/shadcn/ui/sonner-progress'
export * from './src/components/shadcn/ui/separator'
export * from './src/components/shadcn/ui/sheet'
export * from './src/components/shadcn/ui/badge'
export * from './src/components/shadcn/ui/input-otp'
export * from './src/components/shadcn/ui/alert-dialog'
export * from './src/components/shadcn/ui/avatar'
export * from './src/components/shadcn/ui/drawer'
export * from './src/components/shadcn/ui/menubar'
export * from './src/components/shadcn/ui/navigation-menu'
export * from './src/components/shadcn/ui/progress'
export * from './src/components/shadcn/ui/skeleton'
export * from './src/components/shadcn/ui/slider'
export * from './src/components/shadcn/ui/textarea'
export * from './src/components/shadcn/ui/toggle-group'
export { Toggle as Toggle_Shadcn_ } from './src/components/shadcn/ui/toggle'
export * from './src/components/shadcn/ui/card'
export {
Command as Command_Shadcn_,
CommandDialog as CommandDialog,
CommandInput as CommandInput_Shadcn_,
CommandList as CommandList_Shadcn_,
CommandEmpty as CommandEmpty_Shadcn_,
CommandGroup as CommandGroup_Shadcn_,
CommandItem as CommandItem_Shadcn_,
CommandShortcut as CommandShortcut_Shadcn_,
CommandSeparator as CommandSeparator_Shadcn_,
} from './src/components/shadcn/ui/command'
export {
ContextMenu as ContextMenu_Shadcn_,
ContextMenuTrigger as ContextMenuTrigger_Shadcn_,
ContextMenuContent as ContextMenuContent_Shadcn_,
ContextMenuItem as ContextMenuItem_Shadcn_,
ContextMenuSeparator as ContextMenuSeparator_Shadcn_,
ContextMenuLabel as ContextMenuLabel_Shadcn_,
ContextMenuRadioGroup as ContextMenuRadioGroup_Shadcn_,
ContextMenuRadioItem as ContextMenuRadioItem_Shadcn_,
ContextMenuShortcut as ContextMenuShortcut_Shadcn_,
ContextMenuSub as ContextMenuSub_Shadcn_,
ContextMenuSubContent as ContextMenuSubContent_Shadcn_,
ContextMenuSubTrigger as ContextMenuSubTrigger_Shadcn_,
ContextMenuCheckboxItem as ContextMenuCheckboxItem_Shadcn_,
ContextMenuGroup as ContextMenuGroup_Shadcn_,
ContextMenuPortal as ContextMenuPortal_Shadcn_,
} from './src/components/shadcn/ui/context-menu'
export * from './src/components/shadcn/ui/dialog'
export {
Alert as Alert_Shadcn_,
AlertTitle as AlertTitle_Shadcn_,
AlertDescription as AlertDescription_Shadcn_,
} from './src/components/shadcn/ui/alert'
export * from './src/components/AlertCollapsible'
export {
Field as Field_Shadcn_,
FieldContent as FieldContent_Shadcn_,
FieldDescription as FieldDescription_Shadcn_,
FieldError as FieldError_Shadcn_,
FieldGroup as FieldGroup_Shadcn_,
FieldLabel as FieldLabel_Shadcn_,
FieldLegend as FieldLegend_Shadcn_,
FieldSeparator as FieldSeparator_Shadcn_,
FieldSet as FieldSet_Shadcn_,
FieldTitle as FieldTitle_Shadcn_,
} from './src/components/shadcn/ui/field'
export {
useFormField as useFormField_Shadcn_,
Form as Form_Shadcn_,
FormItem as FormItem_Shadcn_,
FormLabel as FormLabel_Shadcn_,
FormControl as FormControl_Shadcn_,
FormDescription as FormDescription_Shadcn_,
FormMessage as FormMessage_Shadcn_,
FormField as FormField_Shadcn_,
useWatch as useWatch_Shadcn_,
} from './src/components/shadcn/ui/form'
export {
Popover as Popover_Shadcn_,
PopoverTrigger as PopoverTrigger_Shadcn_,
PopoverContent as PopoverContent_Shadcn_,
PopoverAnchor as PopoverAnchor_Shadcn_,
PopoverSeparator as PopoverSeparator_Shadcn_,
} from './src/components/shadcn/ui/popover'
export {
Accordion as Accordion_Shadcn_,
AccordionItem as AccordionItem_Shadcn_,
AccordionTrigger as AccordionTrigger_Shadcn_,
AccordionContent as AccordionContent_Shadcn_,
} from './src/components/shadcn/ui/accordion'
export {
Select as Select_Shadcn_,
SelectContent as SelectContent_Shadcn_,
SelectGroup as SelectGroup_Shadcn_,
SelectItem as SelectItem_Shadcn_,
SelectLabel as SelectLabel_Shadcn_,
SelectSeparator as SelectSeparator_Shadcn_,
SelectTrigger as SelectTrigger_Shadcn_,
SelectValue as SelectValue_Shadcn_,
SelectScrollUpButton as SelectScrollUpButton_Shadcn_,
SelectScrollDownButton as SelectScrollDownButton_Shadcn_,
} from './src/components/shadcn/ui/select'
export {
RadioGroup as RadioGroup_Shadcn_,
RadioGroupItem as RadioGroupItem_Shadcn_,
RadioGroupLargeItem as RadioGroupLargeItem_Shadcn_,
} from './src/components/shadcn/ui/radio-group'
export { Slider as Slider_Shadcn_ } from './src/components/shadcn/ui/slider'
export { Input as Input_Shadcn_ } from './src/components/shadcn/ui/input'
export { Button as Button_Shadcn_ } from './src/components/shadcn/ui/button'
export { ButtonGroup, ButtonGroupItem } from './src/components/shadcn/ui/button-group'
export {
Breadcrumb as Breadcrumb_Shadcn_,
BreadcrumbItem as BreadcrumbItem_Shadcn_,
BreadcrumbLink as BreadcrumbLink_Shadcn_,
BreadcrumbList as BreadcrumbList_Shadcn_,
BreadcrumbEllipsis as BreadcrumbEllipsis_Shadcn_,
BreadcrumbPage as BreadcrumbPage_Shadcn_,
BreadcrumbSeparator as BreadcrumbSeparator_Shadcn_,
} from './src/components/shadcn/ui/breadcrumb'
export { TextArea as TextArea_Shadcn_ } from './src/components/shadcn/ui/text-area'
export { Label as Label_Shadcn_ } from './src/components/shadcn/ui/label'
export * from './src/components/shadcn/ui/switch'
export { Checkbox as Checkbox_Shadcn_ } from './src/components/shadcn/ui/checkbox'
export * from './src/components/shadcn/ui/scroll-area'
export * from './src/components/shadcn/ui/hover-card'
export * from './src/components/shadcn/ui/aspect-ratio'
export * from './src/components/shadcn/ui/table'
export * from './src/components/ShadowScrollArea'
export {
Collapsible as Collapsible_Shadcn_,
CollapsibleTrigger as CollapsibleTrigger_Shadcn_,
CollapsibleContent as CollapsibleContent_Shadcn_,
} from './src/components/shadcn/ui/collapsible'
export {
Tabs as Tabs_Shadcn_,
TabsContent as TabsContent_Shadcn_,
TabsList as TabsList_Shadcn_,
TabsTrigger as TabsTrigger_Shadcn_,
} from './src/components/shadcn/ui/tabs'
export {
TooltipProvider,
Tooltip,
TooltipTrigger,
TooltipContent,
TooltipPortal,
} from './src/components/shadcn/ui/tooltip'
export {
HoverCard as HoverCard_Shadcn_,
HoverCardTrigger as HoverCardTrigger_Shadcn_,
HoverCardContent as HoverCardContent_Shadcn_,
} from './src/components/shadcn/ui/hover-card'
export * from './src/components/shadcn/ui/calendar'
export { Toggle as Toggle_Shadcn } from './src/components/shadcn/ui/toggle'
export { ScrollArea, ScrollBar, ScrollViewport } from './src/components/shadcn/ui/scroll-area'
export { Separator } from './src/components/shadcn/ui/separator'
export * from './src/components/shadcn/ui/resizable'
export * from './src/components/radio-group-stacked'
export * from './src/components/radio-group-card'
export * from './src/components/TreeView'
export * from './src/components/shadcn/ui/chart'
export * from './src/components/shadcn/ui/sidebar'
// links
export * from './src/components/TextLink'
// used for LW
export * from './src/layout/banners'
export * from './src/components/StatusIcon'
// ICONS
// export icons
export * from './src/components/Icon/icons/IconBriefcase2'
export * from './src/components/Icon/icons/IconBroadcast'
export * from './src/components/Icon/icons/IconChangelog'
export * from './src/components/Icon/icons/IconDatabaseChanges'
export * from './src/components/Icon/icons/IconDiscord'
export * from './src/components/Icon/icons/IconDiscussions'
export * from './src/components/Icon/icons/IconDocumentation'
export * from './src/components/Icon/icons/IconGitHubSolid'
export * from './src/components/Icon/icons/IconIntegrations'
export * from './src/components/Icon/icons/IconLifeBuoy2'
export * from './src/components/Icon/icons/IconLinkedinSolid'
export * from './src/components/Icon/icons/IconMicSolid'
export * from './src/components/Icon/icons/IconPartners'
export * from './src/components/Icon/icons/IconPresence'
export * from './src/components/Icon/icons/IconProductHunt'
export * from './src/components/Icon/icons/IconTwitterX'
export * from './src/components/Icon/icons/IconYCombinator'
export * from './src/components/Icon/icons/IconYoutubeSolid'
// Export hooks
export * from './src/lib/Hooks'
export * from './src/components/hooks/use-mobile'
export * from './src/components/KeyboardShortcut/KeyboardShortcut'