diff --git a/apps/website/src/app/docs/packages/layout.tsx b/apps/website/src/app/docs/packages/layout.tsx index f71e760b6..5d3613d02 100644 --- a/apps/website/src/app/docs/packages/layout.tsx +++ b/apps/website/src/app/docs/packages/layout.tsx @@ -12,7 +12,7 @@ export default async function Layout({ children }: PropsWithChildren) { <> - + diff --git a/apps/website/src/components/EntrypointSelect.tsx b/apps/website/src/components/EntrypointSelect.tsx index b99364352..0008518b1 100644 --- a/apps/website/src/components/EntrypointSelect.tsx +++ b/apps/website/src/components/EntrypointSelect.tsx @@ -1,10 +1,17 @@ 'use client'; +import { Loader2Icon } from 'lucide-react'; import { useParams, useRouter } from 'next/navigation'; +import { Select, SelectList, SelectOption, SelectTrigger } from '@/components/ui/Select'; import { parseDocsPathParams } from '@/util/parseDocsPathParams'; -import { Select, SelectList, SelectOption, SelectTrigger } from './ui/Select'; -export function EntryPointSelect({ entryPoints }: { readonly entryPoints: { readonly entryPoint: string }[] }) { +export function EntryPointSelect({ + entryPoints, + isLoading, +}: { + readonly entryPoints: { readonly entryPoint: string }[]; + readonly isLoading: boolean; +}) { const router = useRouter(); const params = useParams<{ item?: string[] | undefined; @@ -16,11 +23,24 @@ export function EntryPointSelect({ entryPoints }: { readonly entryPoints: { read return ( - + + ) : null + } + /> {(item) => ( (props: SelectListProps) { export type SelectTriggerProps = ComponentProps & { readonly className?: string; readonly prefix?: ReactNode; + readonly suffix?: ReactNode; }; export function SelectTrigger(props: SelectTriggerProps) { @@ -113,6 +114,7 @@ export function SelectTrigger(props: SelectTriggerProps) { className="text-base-neutral-900 group-disabled:data-placeholder:text-base-neutral-900 dark:group-disabled:data-placeholder:text-base-neutral-40 dark:data-placeholder:text-base-neutral-500 dark:text-base-neutral-40 data-placeholder:text-base-neutral-400 text-base-lg sm:text-base-md grid flex-1 grid-cols-[auto_1fr] place-items-start items-center px-3 py-2.5 *:data-[slot=avatar]:*:-mx-0.5 *:data-[slot=avatar]:-mx-0.5 *:data-[slot=avatar]:*:mr-2 *:data-[slot=avatar]:mr-2 *:data-[slot=icon]:-mx-0.5 *:data-[slot=icon]:mr-1 *:data-[slot=icon]:size-5.5 [&_[slot=description]]:hidden *:[span]:col-start-2" data-slot="select-value" /> + {props.suffix && {props.suffix}}