handlePresetOption() — ui Function Reference
Architecture documentation for the handlePresetOption() function in create.ts from the ui codebase.
Entity Profile
Dependency Diagram
graph TD af1661e5_df1f_24d5_26b4_f2ff90ba860a["handlePresetOption()"] 9461b7e1_0062_183b_052f_41abc70dee91["create.ts"] af1661e5_df1f_24d5_26b4_f2ff90ba860a -->|defined in| 9461b7e1_0062_183b_052f_41abc70dee91 d6e73ad2_74c9_dd43_c275_b68a987b6b66["create()"] d6e73ad2_74c9_dd43_c275_b68a987b6b66 -->|calls| af1661e5_df1f_24d5_26b4_f2ff90ba860a d69893c4_0340_d5fe_65ed_220523fe9df0["getShadcnCreateUrl()"] af1661e5_df1f_24d5_26b4_f2ff90ba860a -->|calls| d69893c4_0340_d5fe_65ed_220523fe9df0 style af1661e5_df1f_24d5_26b4_f2ff90ba860a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/shadcn/src/commands/create.ts lines 266–326
async function handlePresetOption(presetArg: string | boolean, rtl: boolean) {
// If --preset is used without a name, show interactive list.
if (presetArg === true) {
const presets = await getPresets()
const { selectedPreset } = await prompts({
type: "select",
name: "selectedPreset",
message: `Which ${highlighter.info("preset")} would you like to use?`,
choices: [
...presets.map((preset) => ({
title: preset.title,
description: preset.description,
value: preset.name,
})),
{
title: "Custom",
description: "Build your own on https://ui.shadcn.com",
value: "custom",
},
],
})
if (!selectedPreset) {
return null
}
if (selectedPreset === "custom") {
const url = getShadcnCreateUrl(rtl ? { rtl: "true" } : undefined)
logger.info(`\nOpening ${highlighter.info(url)} in your browser...\n`)
await open(url)
return null
}
return presets.find((p) => p.name === selectedPreset) ?? null
}
// If --preset NAME or URL is provided.
if (typeof presetArg === "string") {
// Check if it's a URL.
if (isUrl(presetArg)) {
return { _isUrl: true, url: presetArg } as const
}
// Otherwise, fetch that preset by name.
const preset = await getPreset(presetArg)
if (!preset) {
const presets = await getPresets()
const presetNames = presets.map((p) => p.name).join(", ")
logger.error(
`Preset "${presetArg}" not found. Available presets: ${presetNames}`
)
process.exit(1)
}
return preset
}
return null
}
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does handlePresetOption() do?
handlePresetOption() is a function in the ui codebase, defined in packages/shadcn/src/commands/create.ts.
Where is handlePresetOption() defined?
handlePresetOption() is defined in packages/shadcn/src/commands/create.ts at line 266.
What does handlePresetOption() call?
handlePresetOption() calls 1 function(s): getShadcnCreateUrl.
What calls handlePresetOption()?
handlePresetOption() is called by 1 function(s): create.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free