MCPcopy
hub / github.com/cursor/cookbook / ModelParameterControl

Function ModelParameterControl

sdk/app-builder/src/components/app-builder.tsx:3400–3506  ·  view source on GitHub ↗
({
  parameter,
  value,
  onChange,
}: {
  parameter: ModelParameterConfig
  value: string
  onChange: (value: string) => void
})

Source from the content-addressed store, hash-verified

3398}
3399
3400function ModelParameterControl({
3401 parameter,
3402 value,
3403 onChange,
3404}: {
3405 parameter: ModelParameterConfig
3406 value: string
3407 onChange: (value: string) => void
3408}) {
3409 const booleanOptions = getBooleanParameterOptions(parameter)
3410 if (booleanOptions) {
3411 const isOn = value === booleanOptions.on.id
3412 return (
3413 <div className="flex items-center gap-3">
3414 <span className="text-sm font-medium">{parameter.label}</span>
3415 <button
3416 type="button"
3417 role="switch"
3418 aria-checked={isOn}
3419 aria-label={parameter.label}
3420 className={cn(
3421 "relative inline-flex h-5 w-9 shrink-0 items-center rounded-full border p-0 transition-colors outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50",
3422 isOn ? "border-primary bg-primary" : "border-input bg-muted"
3423 )}
3424 onClick={() => {
3425 onChange(
3426 isOn ? booleanOptions.off.id : booleanOptions.on.id
3427 )
3428 }}
3429 >
3430 <span
3431 aria-hidden="true"
3432 className={cn(
3433 "absolute left-0.5 top-1/2 size-4 -translate-y-1/2 rounded-full bg-background shadow-sm transition-transform",
3434 isOn ? "translate-x-4" : "translate-x-0"
3435 )}
3436 />
3437 </button>
3438 </div>
3439 )
3440 }
3441
3442 if (parameter.values.length <= 4) {
3443 return (
3444 <Field>
3445 <FieldLabel>{parameter.label}</FieldLabel>
3446 <ToggleGroup
3447 value={[value]}
3448 onValueChange={(nextValue) => {
3449 if (nextValue[0]) {
3450 onChange(nextValue[0])
3451 }
3452 }}
3453 size="sm"
3454 variant="outline"
3455 className="rounded-md bg-muted/40 data-[size=sm]:rounded-md"
3456 >
3457 {parameter.values.map((option) => (

Callers

nothing calls this directly

Calls 2

cnFunction · 0.90

Tested by

no test coverage detected