chore: cleanup UI patterns exports (#47406)

## Problem

We now export components under a subpath in ui-patterns to avoid barrel
files as they slow down every tools (from IDE to linters, etc.) and may
also affect bundles our users have to download.

## Solution

- Remove the UI patterns index file
- Fix invalid impors
This commit is contained in:
Gildas Garcia authored and GitHub committed 2026-06-30 09:23:17 +02:00
1 parent ff1941b35f
commit b30db91d71
284 files changed
+362 -350

No files matched your search

@@ -2,7 +2,7 @@
import { Key } from 'lucide-react'
import { Button } from 'ui'
import { EmptyStatePresentational } from 'ui-patterns'
import { EmptyStatePresentational } from 'ui-patterns/EmptyStatePresentational'
export default function CopyEmptyStates() {
return (
@@ -1,6 +1,6 @@
import { Plus } from 'lucide-react'
import { Button } from 'ui'
import { EmptyStatePresentational } from 'ui-patterns'
import { EmptyStatePresentational } from 'ui-patterns/EmptyStatePresentational'
import {
PageSection,
PageSectionAside,
@@ -1,6 +1,6 @@
import { Plus } from 'lucide-react'
import { Button } from 'ui'
import { EmptyStatePresentational } from 'ui-patterns'
import { EmptyStatePresentational } from 'ui-patterns/EmptyStatePresentational'
export default function EmptyStatePresentationalIcon() {
return (
@@ -1,7 +1,7 @@
import { BucketPlus } from 'icons'
import { Plus } from 'lucide-react'
import { Button } from 'ui'
import { EmptyStatePresentational } from 'ui-patterns'
import { EmptyStatePresentational } from 'ui-patterns/EmptyStatePresentational'
export default function EmptyStatePresentationalIcon() {
return (
@@ -2,7 +2,7 @@ import { format } from 'date-fns'
import { useState } from 'react'
import { DateRange } from 'react-day-picker'
import { Button, Calendar } from 'ui'
import { CustomOptionProps, FilterBar, FilterGroup } from 'ui-patterns'
import { CustomOptionProps, FilterBar, FilterGroup } from 'ui-patterns/FilterBar'
function CustomDatePicker({ onChange, onCancel, search }: CustomOptionProps) {
const [date, setDate] = useState<DateRange | undefined>(
@@ -2,7 +2,7 @@
import { useState } from 'react'
import { Button, cn, Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from 'ui'
import { FilterBar, isGroup, type FilterCondition, type FilterGroup } from 'ui-patterns'
import { FilterBar, isGroup, type FilterCondition, type FilterGroup } from 'ui-patterns/FilterBar'
const logs = [
['10:42:01.129', 'POST /hello-world', '200', '132ms', 'iad1'],
@@ -1,4 +1,4 @@
import { StatusCode } from 'ui-patterns'
import { StatusCode } from 'ui-patterns/StatusCode'
export default function StatusCodeDemo() {
return (
@@ -1,7 +1,13 @@
'use client'
import { createContext, PropsWithChildren, useContext, useEffect, useState } from 'react'
import { AnchorProvider, Toc, TOCItems, TOCScrollArea, type AnchorProviderProps } from 'ui-patterns'
import {
AnchorProvider,
Toc,
TOCItems,
TOCScrollArea,
type AnchorProviderProps,
} from 'ui-patterns/Toc'
export default function MultiSelectDemo() {
return (
@@ -1,7 +1,13 @@
'use client'
import { createContext, PropsWithChildren, useContext, useEffect, useState } from 'react'
import { AnchorProvider, Toc, TOCItems, TOCScrollArea, type AnchorProviderProps } from 'ui-patterns'
import {
AnchorProvider,
Toc,
TOCItems,
TOCScrollArea,
type AnchorProviderProps,
} from 'ui-patterns/Toc'
export default function MultiSelectDemo() {
return (
@@ -11,7 +11,7 @@ import { SerializeOptions } from '~/types/next-mdx-remote-serialize'
import { capitalize } from 'lodash-es'
import rehypeSlug from 'rehype-slug'
import { Heading } from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
// We fetch these docs at build time from an external repo
const org = 'supabase'
@@ -24,7 +24,7 @@ import { notFound } from 'next/navigation'
import rehypeSlug from 'rehype-slug'
import emoji from 'remark-emoji'
import { Button } from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
// We fetch these docs at build time from an external repo
const org = 'supabase'
@@ -1,5 +1,5 @@
import Link from 'next/link'
import { GlassPanel } from 'ui-patterns'
import { GlassPanel } from 'ui-patterns/GlassPanel'
import { getAiPrompts } from './AiPrompts.utils'
@@ -10,7 +10,8 @@ import Link from 'next/link'
import type { FC } from 'react'
import { memo, useState } from 'react'
import { Button, buttonVariants, cn } from 'ui'
import { AuthenticatedDropdownMenu, CommandMenuTriggerInput } from 'ui-patterns'
import { AuthenticatedDropdownMenu } from 'ui-patterns/AuthenticatedDropdownMenu'
import { CommandMenuTriggerInput } from 'ui-patterns/CommandMenu'
import { getCustomContent } from '../../../lib/custom-content/getCustomContent'
import GlobalNavigationMenu from './GlobalNavigationMenu'
@@ -6,16 +6,16 @@ import {
Button_Shadcn_ as Button,
cn,
Command,
CommandGroup as CommandGroup,
CommandGroup,
CommandInput,
CommandItem as CommandItem,
CommandList as CommandList,
CommandItem,
CommandList,
Popover,
PopoverContent,
PopoverTrigger,
ScrollArea,
} from 'ui'
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
export interface ComboBoxOption {
id: string
+2 -1
View File
@@ -1,7 +1,8 @@
'use client'
import { useEffect, useState, type PropsWithChildren } from 'react'
import { AnchorProvider } from 'ui-patterns'
import { AnchorProvider } from 'ui-patterns/Toc'
import { TocAnchorsContext, useSubscribeTocRerender } from './GuidesMdx.state'
interface TOCHeader {
@@ -6,7 +6,7 @@ import { useQueryStates } from 'nuqs'
import { Suspense, useCallback, useEffect, useMemo, useRef, useState } from 'react'
import { Button_Shadcn_, cn, Collapsible, CollapsibleContent, CollapsibleTrigger, Input } from 'ui'
import { MultiSelector } from 'ui-patterns/multi-select'
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
import { type ITroubleshootingMetadata } from './Troubleshooting.utils'
import {
+2 -2
View File
@@ -22,13 +22,13 @@ import {
PopoverTrigger,
ScrollArea,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import {
createMcpCopyHandler,
McpConfigPanel as McpConfigPanelBase,
type McpClient,
} from 'ui-patterns/McpUrlBuilder'
import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
type PlatformType = (typeof PLATFORMS)[number]['value']
+1 -1
View File
@@ -4,7 +4,7 @@ import { logOut, useIsLoggedIn, useUser } from 'common'
import { LogOut, Settings, UserIcon } from 'lucide-react'
import Link from 'next/link'
import { useRouter } from 'next/navigation'
import { AuthenticatedDropdownMenu, type menuItem } from 'ui-patterns'
import { AuthenticatedDropdownMenu, type menuItem } from 'ui-patterns/AuthenticatedDropdownMenu'
import { CommandMenu } from './command-menu'
import { ThemeSwitcherDropdown } from './theme-switcher-dropdown'
@@ -1,5 +1,5 @@
import type { ComponentType, ReactNode } from 'react'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import type { Filter, Sort } from './types'
import { isMsSqlForeignTable, type Entity } from '@/data/table-editor/table-editor-types'
@@ -13,8 +13,8 @@ import {
PopoverContent,
PopoverTrigger,
} from 'ui'
import { TimestampInfo, timestampLocalFormatter } from 'ui-patterns'
import { Input } from 'ui-patterns/DataInputs/Input'
import { TimestampInfo, timestampLocalFormatter } from 'ui-patterns/TimestampInfo'
import { BlockKeys } from '../common/BlockKeys'
import { useIsQueueOperationsEnabled } from '@/components/interfaces/Account/Preferences/useDashboardSettings'
@@ -3,7 +3,7 @@ import { useParams } from 'common'
import { ChevronDown } from 'lucide-react'
import { useCallback } from 'react'
import { Button, Collapsible, CollapsibleContent, CollapsibleTrigger } from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { isFilterRelatedError } from './GridError.utils'
import { useTableFilter } from '@/components/grid/hooks/useTableFilter'
@@ -15,7 +15,7 @@ import {
TabsList_Shadcn_,
TabsTrigger_Shadcn_,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { CodeBlock } from 'ui-patterns/CodeBlock'
import { Filter, Sort, SupaTable } from '@/components/grid/types'
@@ -12,7 +12,7 @@ import {
isGroup,
SerializableFilterProperty,
updateGroupAtPath,
} from 'ui-patterns'
} from 'ui-patterns/FilterBar'
import { columnToFilterProperty } from './FilterPopoverNew.utils'
import { useTableFilter } from '@/components/grid/hooks/useTableFilter'
@@ -1,5 +1,5 @@
import { format } from 'date-fns'
import type { FilterProperty, OperatorDefinition } from 'ui-patterns'
import type { FilterProperty, OperatorDefinition } from 'ui-patterns/FilterBar'
import type { Filter, SupaColumn } from '@/components/grid/types'
import {
@@ -9,7 +9,8 @@ import {
TableCell,
TableRow,
} from 'ui'
import { ShimmeringLoader, TimestampInfo } from 'ui-patterns'
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
import { TimestampInfo } from 'ui-patterns/TimestampInfo'
import { APIKeyDeleteDialog } from './APIKeyDeleteDialog'
import { ApiKeyPill } from './ApiKeyPill'
@@ -13,7 +13,8 @@ import {
TableHeader,
TableRow,
} from 'ui'
import { Admonition, GenericSkeletonLoader } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import { APIKeyRow } from './APIKeyRow'
import { CreatePublishableAPIKeyDialog } from './CreatePublishableAPIKeyDialog'
@@ -1,7 +1,7 @@
import { X } from 'lucide-react'
import { toast } from 'sonner'
import { Button } from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { Input } from 'ui-patterns/DataInputs/Input'
import { useGroupedPermissions } from '../hooks/useGroupedPermissions'
@@ -24,7 +24,7 @@ import {
SelectValue,
WarningIcon,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import { z } from 'zod'
@@ -17,7 +17,7 @@ import {
SheetHeader,
SheetTitle,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import {
CUSTOM_EXPIRY_VALUE,
@@ -12,8 +12,8 @@ import {
CollapsibleContent,
CollapsibleTrigger,
} from 'ui'
import { GenericSkeletonLoader } from 'ui-patterns'
import ConfirmationModal from 'ui-patterns/Dialogs/ConfirmationModal'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import { LintInfo } from '../Linter/Linter.constants'
import { generateRuleText } from './AdvisorRules.utils'
@@ -27,7 +27,7 @@ import {
TooltipContent,
TooltipTrigger,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import * as z from 'zod'
@@ -1,6 +1,6 @@
import dayjs from 'dayjs'
import type { ReactNode } from 'react'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import {
AuthorizeRequesterDetails,
@@ -1,7 +1,7 @@
import Link from 'next/link'
import type { ReactNode } from 'react'
import { Button } from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { InterstitialLayout, SupabaseLogo } from '@/components/layouts/InterstitialLayout'
import type { ResourceError } from '@/data/api-authorization/api-authorization-query'
@@ -14,7 +14,8 @@ import {
SelectTrigger,
SelectValue,
} from 'ui'
import { Admonition, ShimmeringLoader } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
import type { ApprovalState, IApprovalFormSchema } from './ApiAuthorization.Schema'
import {
@@ -1,7 +1,7 @@
import Link from 'next/link'
import type { ReactNode } from 'react'
import { Button } from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { InterstitialLayout, SupabaseLogo } from '@/components/layouts/InterstitialLayout'
@@ -1,6 +1,6 @@
import type { ReactNode } from 'react'
import { Card, CardContent } from 'ui'
import { ShimmeringLoader } from 'ui-patterns'
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
import { InterstitialLayout, SupabaseLogo } from '@/components/layouts/InterstitialLayout'
@@ -1,9 +1,9 @@
import { cn, CommandList } from 'ui'
import { ShimmeringLoader } from 'ui-patterns'
import { TextHighlighter } from 'ui-patterns/CommandMenu'
import { CommandMenuGroup } from 'ui-patterns/CommandMenu/internal/CommandMenuGroup'
import { CommandMenuItem } from 'ui-patterns/CommandMenu/internal/CommandMenuItem'
import type { IActionCommand, IRouteCommand } from 'ui-patterns/CommandMenu/internal/types'
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
export interface SearchResult {
id: string
@@ -5,7 +5,7 @@ import { useEffect } from 'react'
import { useForm } from 'react-hook-form'
import { toast } from 'sonner'
import { Button, Card, CardContent, CardFooter, Form, FormControl, FormField, Switch } from 'ui'
import { Admonition, GenericSkeletonLoader } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import {
PageSection,
@@ -14,6 +14,7 @@ import {
PageSectionSummary,
PageSectionTitle,
} from 'ui-patterns/PageSection'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import * as z from 'zod'
import { AlertError } from '@/components/ui/AlertError'
@@ -18,7 +18,7 @@ import {
SheetSection,
SheetTitle,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { Input } from 'ui-patterns/DataInputs/Input'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
@@ -1,6 +1,6 @@
import { AnimatePresence, motion } from 'framer-motion'
import { CardContent, Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { Markdown } from '@/components/interfaces/Markdown'
import { ValidateSpamResponse } from '@/data/auth/validate-spam-mutation'
@@ -19,7 +19,7 @@ import {
TooltipContent,
TooltipTrigger,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import z from 'zod'
@@ -27,7 +27,7 @@ import {
SheetTitle,
Switch,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import { InfoTooltip } from 'ui-patterns/info-tooltip'
import * as z from 'zod'
@@ -2,7 +2,7 @@ import { useParams } from 'common'
import { parseAsString, useQueryState } from 'nuqs'
import { useEffect, useState } from 'react'
import { toast } from 'sonner'
import { EmptyStatePresentational, GenericSkeletonLoader } from 'ui-patterns'
import { EmptyStatePresentational } from 'ui-patterns/EmptyStatePresentational'
import {
PageSection,
PageSectionAside,
@@ -11,6 +11,7 @@ import {
PageSectionSummary,
PageSectionTitle,
} from 'ui-patterns/PageSection'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import { AddHookDropdown } from './AddHookDropdown'
import { CreateHookSheet } from './CreateHookSheet'
@@ -27,7 +27,6 @@ import {
Switch,
WarningIcon,
} from 'ui'
import { GenericSkeletonLoader } from 'ui-patterns'
import ConfirmationModal from 'ui-patterns/Dialogs/ConfirmationModal'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import {
@@ -37,6 +36,7 @@ import {
PageSectionSummary,
PageSectionTitle,
} from 'ui-patterns/PageSection'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import * as z from 'zod'
import { TaxDisclaimer } from '@/components/interfaces/Billing/TaxDisclaimer'
@@ -1,5 +1,7 @@
import { useParams } from 'common'
import { Card, CardContent, cn } from 'ui'
import { Input } from 'ui-patterns/DataInputs/Input'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import {
PageSection,
PageSectionContent,
@@ -7,9 +9,7 @@ import {
PageSectionMeta,
PageSectionSummary,
PageSectionTitle,
} from 'ui-patterns'
import { Input } from 'ui-patterns/DataInputs/Input'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
} from 'ui-patterns/PageSection'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import { useOpenIDConfigurationQuery } from '@/data/oauth-server-apps/oauth-openid-configuration-query'
@@ -5,7 +5,6 @@ import { BarChart2, ChevronRight, ExternalLink, Telescope } from 'lucide-react'
import Link from 'next/link'
import { useRouter } from 'next/router'
import { AiIconAnimation, Button, Tooltip, TooltipContent, TooltipTrigger } from 'ui'
import { StatusCode } from 'ui-patterns'
import {
Chart,
ChartActions,
@@ -24,6 +23,7 @@ import {
PageSectionSummary,
PageSectionTitle,
} from 'ui-patterns/PageSection'
import { StatusCode } from 'ui-patterns/StatusCode'
import {
AuthErrorCodeRow,
@@ -21,8 +21,8 @@ import {
SelectTrigger,
SelectValue,
} from 'ui'
import { GenericSkeletonLoader, ShimmeringLoader } from 'ui-patterns'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import { GenericSkeletonLoader, ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
import * as z from 'zod'
import { ScaffoldSection, ScaffoldSectionTitle } from '@/components/layouts/Scaffold'
@@ -12,7 +12,7 @@ import {
TableHeader,
TableRow,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
import { usePoliciesData } from '../PoliciesDataContext'
@@ -21,7 +21,6 @@ import {
SelectValue,
Switch,
} from 'ui'
import { GenericSkeletonLoader } from 'ui-patterns'
import { Input } from 'ui-patterns/DataInputs/Input'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import {
@@ -31,6 +30,7 @@ import {
PageSectionSummary,
PageSectionTitle,
} from 'ui-patterns/PageSection'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import * as z from 'zod'
import { NO_REQUIRED_CHARACTERS } from '../Auth.constants'
@@ -6,7 +6,7 @@ import {
TabsList_Shadcn_,
TabsTrigger_Shadcn_,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { Results } from '../../SQLEditor/UtilityPanel/Results'
import { RLSTableCard } from './RLSTableCard'
@@ -28,7 +28,7 @@ import {
SheetTitle,
SheetTrigger,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { InferredSQLViewer } from './InferredSQLViewer'
import { type ParseQueryResults } from './RLSTester.types'
@@ -1,6 +1,6 @@
import { Box, Loader2, LogOut, RefreshCw } from 'lucide-react'
import { Badge, Button } from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { ButtonTooltip } from '@/components/ui/ButtonTooltip'
import { usePostgresSandbox } from '@/state/postgres-sandbox/sandbox'
@@ -17,8 +17,9 @@ import {
PopoverTrigger,
ScrollArea,
} from 'ui'
import { Admonition, GenericSkeletonLoader } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import { User, useUsersInfiniteQuery } from '@/data/auth/users-infinite-query'
import { useSelectedProjectQuery } from '@/hooks/misc/useSelectedProject'
@@ -18,7 +18,6 @@ import {
InputGroupText,
Switch,
} from 'ui'
import { GenericSkeletonLoader } from 'ui-patterns'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import {
PageSection,
@@ -27,6 +26,7 @@ import {
PageSectionSummary,
PageSectionTitle,
} from 'ui-patterns/PageSection'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import * as z from 'zod'
import { AlertError } from '@/components/ui/AlertError'
@@ -5,7 +5,6 @@ import { useEffect, useState } from 'react'
import { useForm } from 'react-hook-form'
import { toast } from 'sonner'
import { Button, Card, CardContent, CardFooter, Form, FormControl, FormField, Input } from 'ui'
import { GenericSkeletonLoader } from 'ui-patterns'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import {
PageSection,
@@ -14,6 +13,7 @@ import {
PageSectionSummary,
PageSectionTitle,
} from 'ui-patterns/PageSection'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import * as z from 'zod'
import { AlertError } from '@/components/ui/AlertError'
@@ -19,9 +19,10 @@ import {
InputGroupText,
Switch,
} from 'ui'
import { Admonition, PageSection, PageSectionContent } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { Input as PasswordInput } from 'ui-patterns/DataInputs/Input'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import { PageSection, PageSectionContent } from 'ui-patterns/PageSection'
import * as z from 'zod'
import { urlRegex } from '../Auth.constants'
@@ -4,8 +4,9 @@ import Link from 'next/link'
import { useQueryState } from 'nuqs'
import { useEffect } from 'react'
import { Button, cn, CriticalIcon, Separator } from 'ui'
import { Admonition, TimestampInfo } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import { TimestampInfo } from 'ui-patterns/TimestampInfo'
import { UserHeader } from './UserHeader'
import { PANEL_PADDING } from './Users.constants'
@@ -1,5 +1,5 @@
import Link from 'next/link'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { useOrgProjectsInfiniteQuery } from '@/data/projects/org-projects-infinite-query'
import { useSelectedOrganizationQuery } from '@/hooks/misc/useSelectedOrganization'
@@ -10,7 +10,7 @@ import {
AlertDialogHeader,
AlertDialogTitle,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { useOrganizationPaymentMethodDeleteMutation } from '@/data/organizations/organization-payment-method-delete-mutation'
import type { OrganizationPaymentMethod } from '@/data/organizations/organization-payment-methods-query'
@@ -1,6 +1,6 @@
import Link from 'next/link'
import { Button } from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
// [Joshen] In the future, conditionals should be from resource exhaustion endpoint as single source of truth
interface DiskIOBandwidthWarningsProps {
@@ -4,8 +4,8 @@ import Link from 'next/link'
import { useRouter } from 'next/router'
import { PropsWithChildren, ReactNode } from 'react'
import { Tooltip, TooltipContent, TooltipTrigger } from 'ui'
import { TimestampInfo } from 'ui-patterns'
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
import { TimestampInfo } from 'ui-patterns/TimestampInfo'
import { WorkflowLogs } from './WorkflowLogs'
import { ButtonTooltip } from '@/components/ui/ButtonTooltip'
@@ -12,7 +12,7 @@ import {
AlertDialogTrigger,
Button,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { useSelectedProjectQuery } from '@/hooks/misc/useSelectedProject'
import { useTrack } from '@/lib/telemetry/track'
@@ -14,7 +14,8 @@ import {
DialogTrigger,
StatusIcon,
} from 'ui'
import { GenericSkeletonLoader, TimestampInfo } from 'ui-patterns'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import { TimestampInfo } from 'ui-patterns/TimestampInfo'
import { ActionStatusBadge, ActionStatusBadgeCondensed, STATUS_TO_LABEL } from './ActionStatusBadge'
import BranchStatusBadge from './BranchStatusBadge'
@@ -12,7 +12,7 @@ import {
DropdownMenuItem,
DropdownMenuTrigger,
} from 'ui'
import { TimestampInfo } from 'ui-patterns'
import { TimestampInfo } from 'ui-patterns/TimestampInfo'
import { useIsPgDeltaDiffEnabled } from '../App/FeaturePreview/FeaturePreviewContext'
import { ReviewWithAI } from '../BranchManagement/ReviewWithAI'
@@ -3,7 +3,7 @@ import dynamic from 'next/dynamic'
import Link from 'next/link'
import { useMemo, useRef } from 'react'
import { Button } from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import { connectSchema } from './connect.schema'
@@ -1,7 +1,7 @@
import { useParams } from 'common'
import Link from 'next/link'
import { Button } from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { EnvRow } from '../common/EnvRow'
import { SecretEnvRow } from '../common/SecretRow'
@@ -2,7 +2,7 @@ import { PermissionAction } from '@supabase/shared-types/out/constants'
import { useParams } from 'common'
import { Download } from 'lucide-react'
import { Badge, Tooltip, TooltipContent, TooltipTrigger } from 'ui'
import { TimestampInfo } from 'ui-patterns'
import { TimestampInfo } from 'ui-patterns/TimestampInfo'
import { ButtonTooltip } from '@/components/ui/ButtonTooltip'
import { InlineLink } from '@/components/ui/InlineLink'
@@ -1,5 +1,5 @@
import { DatabaseBackup } from 'lucide-react'
import { EmptyStatePresentational } from 'ui-patterns'
import { EmptyStatePresentational } from 'ui-patterns/EmptyStatePresentational'
export const BackupsEmpty = () => {
return (
@@ -4,9 +4,9 @@ import { Clock } from 'lucide-react'
import { useRouter } from 'next/router'
import { useState } from 'react'
import { toast } from 'sonner'
import { TimestampInfo } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import ConfirmationModal from 'ui-patterns/Dialogs/ConfirmationModal'
import { TimestampInfo } from 'ui-patterns/TimestampInfo'
import { BackupItem } from './BackupItem'
import { BackupsEmpty } from './BackupsEmpty'
@@ -1,5 +1,5 @@
import { Badge, Button } from 'ui'
import { TimestampInfo } from 'ui-patterns'
import { TimestampInfo } from 'ui-patterns/TimestampInfo'
import { BackupsEmpty } from '../BackupsEmpty'
import Panel from '@/components/ui/Panel'
@@ -22,7 +22,7 @@ import {
SelectTrigger,
SelectValue,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
import * as z from 'zod'
@@ -5,7 +5,7 @@ import { useState } from 'react'
import { extensions } from 'shared-data'
import { toast } from 'sonner'
import { Button, Switch, TableCell, TableRow, Tooltip, TooltipContent, TooltipTrigger } from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { ConfirmationModal } from 'ui-patterns/Dialogs/ConfirmationModal'
import { EnableExtensionModal } from './EnableExtensionModal'
@@ -14,8 +14,8 @@ import {
TableHeader,
TableRow,
} from 'ui'
import { EmptyStatePresentational } from 'ui-patterns'
import { Input } from 'ui-patterns/DataInputs/Input'
import { EmptyStatePresentational } from 'ui-patterns/EmptyStatePresentational'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import { ProtectedSchemaWarning } from '../../ProtectedSchemaWarning'
@@ -33,7 +33,7 @@ import {
SheetSection,
SheetTitle,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import {
MultiSelector,
@@ -16,9 +16,10 @@ import {
TooltipContent,
TooltipTrigger,
} from 'ui'
import { Admonition, TimestampInfo } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { Input } from 'ui-patterns/DataInputs/Input'
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
import { TimestampInfo } from 'ui-patterns/TimestampInfo'
import { MigrationsEmptyState } from './MigrationsEmptyState'
import { SupportLink } from '@/components/interfaces/Support/SupportLink'
@@ -1,7 +1,7 @@
import { useParams } from 'common'
import { Terminal } from 'lucide-react'
import { Card, CardContent, CardHeader, CardTitle } from 'ui'
import { EmptyStatePresentational } from 'ui-patterns'
import { EmptyStatePresentational } from 'ui-patterns/EmptyStatePresentational'
import CommandRender from '@/components/interfaces/Functions/CommandRender'
@@ -10,7 +10,7 @@ import {
DialogTitle,
DialogTrigger,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { INTERNAL_SCHEMAS, useIsProtectedSchema } from '@/hooks/useProtectedSchemas'
@@ -3,7 +3,7 @@ import { useParams } from 'common'
import { Search } from 'lucide-react'
import { useMemo, useRef, useState } from 'react'
import { Card, Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { Input } from 'ui-patterns/DataInputs/Input'
import { PublicationTablesSkeleton } from './PublicationSkeleton'
@@ -16,7 +16,7 @@ import {
SelectTrigger,
WarningIcon,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { Input as PasswordInput } from 'ui-patterns/DataInputs/Input'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
@@ -22,7 +22,7 @@ import {
SelectTrigger,
WarningIcon,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { Input as PasswordInput } from 'ui-patterns/DataInputs/Input'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
@@ -2,7 +2,7 @@ import { useParams } from 'common'
import { useMemo } from 'react'
import type { UseFormReturn } from 'react-hook-form'
import { FormControl, FormField } from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import type { DestinationPanelSchemaType } from './DestinationForm.schema'
@@ -1,5 +1,5 @@
import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Badge, Card } from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { Markdown } from '@/components/interfaces/Markdown'
import type { ValidationFailure } from '@/data/replication/validate-destination-mutation'
@@ -4,7 +4,7 @@ import Link from 'next/link'
import { useEffect, useState } from 'react'
import { toast } from 'sonner'
import { Button } from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { useCheckEligibilityDeployReplica } from './useCheckEligibilityDeployReplica'
import { SupportLink } from '@/components/interfaces/Support/SupportLink'
@@ -19,8 +19,9 @@ import {
TableHeader,
TableRow,
} from 'ui'
import { Admonition, GenericSkeletonLoader } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { Input } from 'ui-patterns/DataInputs/Input'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import { REPLICA_STATUS } from '../../Settings/Infrastructure/InfrastructureConfiguration/InstanceConfiguration.constants'
import { DestinationPanel } from './DestinationPanel/DestinationPanel'
@@ -13,7 +13,7 @@ import {
DialogTitle,
DialogTrigger,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { DestinationType } from './DestinationPanel/DestinationPanel.types'
import { DocsButton } from '@/components/ui/DocsButton'
@@ -12,10 +12,10 @@ import {
ChartLine,
ChartLoadingState,
ChartMetric,
GenericSkeletonLoader,
} from 'ui-patterns'
} from 'ui-patterns/Chart'
import { Input } from 'ui-patterns/DataInputs/Input'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import { REPORT_DATERANGE_HELPER_LABELS } from '@/components/interfaces/Reports/Reports.constants'
import { REPLICA_STATUS } from '@/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/InstanceConfiguration.constants'
@@ -18,7 +18,7 @@ import {
TooltipContent,
TooltipTrigger,
} from 'ui'
import { ShimmeringLoader } from 'ui-patterns'
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
import { getIsInTransition, getStatusLabel } from './ReadReplicas.utils'
import { DropReplicaConfirmationModal } from '@/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/DropReplicaConfirmationModal'
@@ -30,8 +30,8 @@ import {
TableHeader,
TableRow,
} from 'ui'
import { GenericSkeletonLoader } from 'ui-patterns'
import { Input } from 'ui-patterns/DataInputs/Input'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import { BatchRestartDialog } from '../BatchRestartDialog'
import { ErrorDetailsDialog } from '../ErrorDetailsDialog'
@@ -1,6 +1,6 @@
import { ChevronRightIcon } from 'lucide-react'
import Link from 'next/link'
import { TimestampInfo } from 'ui-patterns'
import { TimestampInfo } from 'ui-patterns/TimestampInfo'
import { StatusBadge } from './StatusBadge'
import { CloneStatus } from '@/data/projects/clone-status-query'
@@ -15,7 +15,7 @@ import {
TableHeader,
TableRow,
} from 'ui'
import { EmptyStatePresentational } from 'ui-patterns'
import { EmptyStatePresentational } from 'ui-patterns/EmptyStatePresentational'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import { EventTriggerList } from './EventTriggerList'
@@ -15,7 +15,7 @@ import {
TableHeader,
TableRow,
} from 'ui'
import { EmptyStatePresentational } from 'ui-patterns'
import { EmptyStatePresentational } from 'ui-patterns/EmptyStatePresentational'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import { CreateTriggerButtons } from './CreateTriggerButtons'
@@ -17,7 +17,7 @@ import {
Form,
Separator,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { FormFooterChangeBadge } from '../DataWarehouse/FormFooterChangeBadge'
import { CreateDiskStorageSchema, DiskStorageSchemaType } from './DiskManagement.schema'
@@ -1,14 +1,14 @@
import { useParams } from 'common'
import Link from 'next/link'
import { Button } from 'ui'
import { Admonition } from 'ui-patterns/admonition'
import {
PageSection,
PageSectionContent,
PageSectionMeta,
PageSectionSummary,
PageSectionTitle,
} from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
} from 'ui-patterns/PageSection'
import { DocsButton } from '../../ui/DocsButton'
import { DOCS_URL } from '@/lib/constants'
@@ -8,7 +8,7 @@ import {
InputGroupAddon,
InputGroupText,
} from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import { DiskStorageSchemaType } from '../DiskManagement.schema'
@@ -14,7 +14,8 @@ import {
TooltipContent,
TooltipTrigger,
} from 'ui'
import { Admonition, ComputeBadge } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { ComputeBadge } from 'ui-patterns/ComputeBadge'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import { DiskStorageSchemaType } from '../DiskManagement.schema'
@@ -1,5 +1,5 @@
import { AnimatePresence, motion } from 'framer-motion'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
interface FormMessageProps {
message: string
@@ -1,7 +1,7 @@
import { useParams } from 'common'
import Link from 'next/link'
import { Button } from 'ui'
import { Admonition } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
const PublicSchemaNotEnabledAlert = () => {
const { ref: projectRef } = useParams()
@@ -3,8 +3,9 @@ import { Clock, ExternalLink, RefreshCw } from 'lucide-react'
import Link from 'next/link'
import { useRouter } from 'next/router'
import { Button, cn } from 'ui'
import { Admonition, TimestampInfo } from 'ui-patterns'
import { Admonition } from 'ui-patterns/admonition'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import { TimestampInfo } from 'ui-patterns/TimestampInfo'
import { parseEdgeFunctionEventMessage } from './EdgeFunctionRecentInvocations.utils'
import { LOGS_TABLES } from '@/components/interfaces/Settings/Logs/Logs.constants'
@@ -15,7 +15,7 @@ import {
TooltipContent,
TooltipTrigger,
} from 'ui'
import { TimestampInfo } from 'ui-patterns'
import { TimestampInfo } from 'ui-patterns/TimestampInfo'
import { ButtonTooltip } from '@/components/ui/ButtonTooltip'
import type { ProjectSecret } from '@/data/secrets/secrets-query'
@@ -5,7 +5,8 @@ import { Check, Copy } from 'lucide-react'
import { useRouter } from 'next/router'
import { useMemo, useState, type MouseEvent } from 'react'
import { cn, copyToClipboard, TableCell, TableRow } from 'ui'
import { ShimmeringLoader, TimestampInfo } from 'ui-patterns'
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
import { TimestampInfo } from 'ui-patterns/TimestampInfo'
import { formatErrorRate } from './EdgeFunctionsListItem.utils'
import { useProjectApiUrl } from '@/data/config/project-endpoint-query'
Loaded 100 of 284 files, more files were not shown because too many files have changed in this diff. Show more