Home / File/ preset-picker.tsx — ui Source File

preset-picker.tsx — ui Source File

Architecture documentation for preset-picker.tsx, a tsx file in the ui codebase. 4 imports, 0 dependents.

File tsx DesignEngine PreviewSystem 4 imports 1 functions

Entity Profile

Dependency Diagram

graph LR
  ff427092_1f62_944b_dfcf_72524c5d3630["preset-picker.tsx"]
  1d141819_425e_b5fd_4c8e_32f7c6a42cf2["react"]
  ff427092_1f62_944b_dfcf_72524c5d3630 --> 1d141819_425e_b5fd_4c8e_32f7c6a42cf2
  f14cf7ca_f213_afc2_bc66_ebc0fb7d9834["config"]
  ff427092_1f62_944b_dfcf_72524c5d3630 --> f14cf7ca_f213_afc2_bc66_ebc0fb7d9834
  c97cebd0_0d39_fa69_4337_d0c1787c0b11["picker"]
  ff427092_1f62_944b_dfcf_72524c5d3630 --> c97cebd0_0d39_fa69_4337_d0c1787c0b11
  c27c6e95_5daf_4dd4_dc3a_add496837570["search-params"]
  ff427092_1f62_944b_dfcf_72524c5d3630 --> c27c6e95_5daf_4dd4_dc3a_add496837570
  style ff427092_1f62_944b_dfcf_72524c5d3630 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"use client"

import * as React from "react"

import { STYLES, type Preset } from "@/registry/config"
import {
  Picker,
  PickerContent,
  PickerGroup,
  PickerRadioGroup,
  PickerRadioItem,
  PickerTrigger,
} from "@/app/(create)/components/picker"
import { useDesignSystemSearchParams } from "@/app/(create)/lib/search-params"

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) {
// ... (63 more lines)

Domain

Subdomains

Functions

Dependencies

  • config
  • picker
  • react
  • search-params

Frequently Asked Questions

What does preset-picker.tsx do?
preset-picker.tsx is a source file in the ui codebase, written in tsx. It belongs to the DesignEngine domain, PreviewSystem subdomain.
What functions are defined in preset-picker.tsx?
preset-picker.tsx defines 1 function(s): PresetPicker.
What does preset-picker.tsx depend on?
preset-picker.tsx imports 4 module(s): config, picker, react, search-params.
Where is preset-picker.tsx in the architecture?
preset-picker.tsx is located at apps/v4/app/(create)/components/preset-picker.tsx (domain: DesignEngine, subdomain: PreviewSystem, directory: apps/v4/app/(create)/components).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free