PresetPicker() — ui Function Reference
Architecture documentation for the PresetPicker() function in preset-picker.tsx from the ui codebase.
Entity Profile
Dependency Diagram
graph TD 0d5563fa_d50e_3448_ab4f_93e2435a01f4["PresetPicker()"] ff427092_1f62_944b_dfcf_72524c5d3630["preset-picker.tsx"] 0d5563fa_d50e_3448_ab4f_93e2435a01f4 -->|defined in| ff427092_1f62_944b_dfcf_72524c5d3630 style 0d5563fa_d50e_3448_ab4f_93e2435a01f4 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
apps/v4/app/(create)/components/preset-picker.tsx lines 16–122
export function PresetPicker({
presets,
isMobile,
anchorRef,
}: {
presets: readonly Preset[]
isMobile: boolean
anchorRef: React.RefObject<HTMLDivElement | null>
}) {
const [params, setParams] = useDesignSystemSearchParams()
const currentPreset = React.useMemo(() => {
return presets.find(
(preset) =>
preset.base === params.base &&
preset.style === params.style &&
preset.baseColor === params.baseColor &&
preset.theme === params.theme &&
preset.iconLibrary === params.iconLibrary &&
preset.font === params.font &&
preset.menuAccent === params.menuAccent &&
preset.menuColor === params.menuColor &&
preset.radius === params.radius
)
}, [
presets,
params.base,
params.style,
params.baseColor,
params.theme,
params.iconLibrary,
params.font,
params.menuAccent,
params.menuColor,
params.radius,
])
// Filter presets for current base only
const currentBasePresets = React.useMemo(() => {
return presets.filter((preset) => preset.base === params.base)
}, [presets, params.base])
const handlePresetChange = (value: string) => {
const preset = presets.find((p) => p.title === value)
if (!preset) {
return
}
// Update all params including base.
setParams({
base: preset.base,
style: preset.style,
baseColor: preset.baseColor,
theme: preset.theme,
iconLibrary: preset.iconLibrary,
font: preset.font,
menuAccent: preset.menuAccent,
menuColor: preset.menuColor,
radius: preset.radius,
custom: false,
})
}
return (
<Picker>
<PickerTrigger>
<div className="flex flex-col justify-start text-left">
<div className="text-muted-foreground text-xs">Preset</div>
<div className="text-foreground line-clamp-1 text-sm font-medium">
{currentPreset?.description ?? "Custom"}
</div>
</div>
</PickerTrigger>
<PickerContent
anchor={isMobile ? anchorRef : undefined}
side={isMobile ? "top" : "right"}
align={isMobile ? "center" : "start"}
className="md:w-72"
>
<PickerRadioGroup
value={currentPreset?.title ?? ""}
Domain
Subdomains
Source
Frequently Asked Questions
What does PresetPicker() do?
PresetPicker() is a function in the ui codebase, defined in apps/v4/app/(create)/components/preset-picker.tsx.
Where is PresetPicker() defined?
PresetPicker() is defined in apps/v4/app/(create)/components/preset-picker.tsx at line 16.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free