UNPKG

sanity

Version:

Sanity is a real-time content infrastructure with a scalable, hosted backend featuring a Graph Oriented Query Language (GROQ), asset pipelines and fast edge caches

76 lines (69 loc) 2.1 kB
import {type ComponentType} from 'react' import {useMiddlewareComponents} from '../../config' import { type ActiveToolLayoutProps, type LayoutProps, type LogoProps, type NavbarProps, type ToolMenuProps, } from '../../config/studio' import {StudioLogo, StudioNavbar, StudioToolMenu} from '../components' import {StudioActiveToolLayout} from '../components/navbar/StudioActiveToolLayout' import {StudioLayoutComponent} from '../StudioLayout' import { pickActiveToolLayoutComponent, pickLayoutComponent, pickLogoComponent, pickNavbarComponent, pickToolMenuComponent, } from './picks' /** * @internal */ export function useToolMenuComponent(): ComponentType<Omit<ToolMenuProps, 'renderDefault'>> { return useMiddlewareComponents({ defaultComponent: StudioToolMenu as ComponentType<Omit<ToolMenuProps, 'renderDefault'>>, pick: pickToolMenuComponent, }) } /** * @internal */ export function useNavbarComponent(): ComponentType<Omit<NavbarProps, 'renderDefault'>> { return useMiddlewareComponents({ defaultComponent: StudioNavbar as ComponentType<Omit<NavbarProps, 'renderDefault'>>, pick: pickNavbarComponent, }) } /** * @internal * @deprecated Use `useLogoMarkComponent` instead. */ export function useLogoComponent(): ComponentType<Omit<LogoProps, 'renderDefault'>> { return useMiddlewareComponents({ defaultComponent: StudioLogo as ComponentType<Omit<LogoProps, 'renderDefault'>>, pick: pickLogoComponent, }) } /** * @internal */ export function useLayoutComponent(): ComponentType<Omit<LayoutProps, 'renderDefault'>> { return useMiddlewareComponents({ defaultComponent: StudioLayoutComponent as ComponentType<Omit<LayoutProps, 'renderDefault'>>, pick: pickLayoutComponent, }) } /** * @internal */ export function useActiveToolLayoutComponent(): ComponentType< Omit<ActiveToolLayoutProps, 'renderDefault'> > { return useMiddlewareComponents({ defaultComponent: StudioActiveToolLayout as ComponentType< Omit<ActiveToolLayoutProps, 'renderDefault'> >, pick: pickActiveToolLayoutComponent, }) }