customizer.tsx — ui Source File
Architecture documentation for customizer.tsx, a tsx file in the ui codebase. 21 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR e5c08ca8_8065_9362_a7c6_7276ca615150["customizer.tsx"] 1d141819_425e_b5fd_4c8e_32f7c6a42cf2["react"] e5c08ca8_8065_9362_a7c6_7276ca615150 --> 1d141819_425e_b5fd_4c8e_32f7c6a42cf2 81821566_3643_c91a_1397_57950c94b526["core-free-icons"] e5c08ca8_8065_9362_a7c6_7276ca615150 --> 81821566_3643_c91a_1397_57950c94b526 614a3ef5_2f09_8b4c_c7b8_666db5a9ce32["react"] e5c08ca8_8065_9362_a7c6_7276ca615150 --> 614a3ef5_2f09_8b4c_c7b8_666db5a9ce32 7c217573_70ba_6759_49cd_674343c15bd1["use-mobile"] e5c08ca8_8065_9362_a7c6_7276ca615150 --> 7c217573_70ba_6759_49cd_674343c15bd1 f14cf7ca_f213_afc2_bc66_ebc0fb7d9834["config"] e5c08ca8_8065_9362_a7c6_7276ca615150 --> f14cf7ca_f213_afc2_bc66_ebc0fb7d9834 169af77a_46c3_8fec_4801_f34a0f1a3471["field"] e5c08ca8_8065_9362_a7c6_7276ca615150 --> 169af77a_46c3_8fec_4801_f34a0f1a3471 b2c60dee_4ede_8485_a6b4_91c999cdc69f["separator"] e5c08ca8_8065_9362_a7c6_7276ca615150 --> b2c60dee_4ede_8485_a6b4_91c999cdc69f 7f62913d_60f3_94dc_3ccf_4939828b1f11["accent-picker"] e5c08ca8_8065_9362_a7c6_7276ca615150 --> 7f62913d_60f3_94dc_3ccf_4939828b1f11 1c976fa3_5415_1355_f0ed_10a83feb5d23["base-color-picker"] e5c08ca8_8065_9362_a7c6_7276ca615150 --> 1c976fa3_5415_1355_f0ed_10a83feb5d23 78998051_88d1_17d7_4745_106c6c2b8aa6["base-picker"] e5c08ca8_8065_9362_a7c6_7276ca615150 --> 78998051_88d1_17d7_4745_106c6c2b8aa6 d8f6b99c_a547_e2bf_4439_c195e6ef8453["font-picker"] e5c08ca8_8065_9362_a7c6_7276ca615150 --> d8f6b99c_a547_e2bf_4439_c195e6ef8453 849408c2_7546_6b33_3bba_cc2f9424f950["icon-library-picker"] e5c08ca8_8065_9362_a7c6_7276ca615150 --> 849408c2_7546_6b33_3bba_cc2f9424f950 79a545f2_45b3_31d6_4e2c_bc865231b31c["menu-picker"] e5c08ca8_8065_9362_a7c6_7276ca615150 --> 79a545f2_45b3_31d6_4e2c_bc865231b31c 1411a3ce_c941_15f5_ed5d_6d98d6fd6157["preset-picker"] e5c08ca8_8065_9362_a7c6_7276ca615150 --> 1411a3ce_c941_15f5_ed5d_6d98d6fd6157 style e5c08ca8_8065_9362_a7c6_7276ca615150 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"use client"
import * as React from "react"
import { Settings05Icon } from "@hugeicons/core-free-icons"
import { HugeiconsIcon } from "@hugeicons/react"
import { useIsMobile } from "@/hooks/use-mobile"
import { getThemesForBaseColor, PRESETS, STYLES } from "@/registry/config"
import { FieldGroup } from "@/registry/new-york-v4/ui/field"
import { Separator } from "@/registry/new-york-v4/ui/separator"
import { MenuAccentPicker } from "@/app/(create)/components/accent-picker"
import { BaseColorPicker } from "@/app/(create)/components/base-color-picker"
import { BasePicker } from "@/app/(create)/components/base-picker"
import { FontPicker } from "@/app/(create)/components/font-picker"
import { IconLibraryPicker } from "@/app/(create)/components/icon-library-picker"
import { MenuColorPicker } from "@/app/(create)/components/menu-picker"
import { PresetPicker } from "@/app/(create)/components/preset-picker"
import { RadiusPicker } from "@/app/(create)/components/radius-picker"
import { RandomButton } from "@/app/(create)/components/random-button"
import { ResetButton } from "@/app/(create)/components/reset-button"
import { StylePicker } from "@/app/(create)/components/style-picker"
import { ThemePicker } from "@/app/(create)/components/theme-picker"
import { FONTS } from "@/app/(create)/lib/fonts"
import { useDesignSystemSearchParams } from "@/app/(create)/lib/search-params"
export function Customizer() {
const [params] = useDesignSystemSearchParams()
const isMobile = useIsMobile()
const anchorRef = React.useRef<HTMLDivElement | null>(null)
const availableThemes = React.useMemo(
() => getThemesForBaseColor(params.baseColor),
[params.baseColor]
)
return (
<div
className="no-scrollbar -mx-2.5 flex flex-col overflow-y-auto p-1 md:mx-0 md:h-[calc(100svh-var(--header-height)-2rem)] md:w-48 md:gap-0 md:py-0"
ref={anchorRef}
>
<div className="no-scrollbar h-14 overflow-x-auto overflow-y-hidden p-px md:h-full md:overflow-x-hidden md:overflow-y-auto">
<FieldGroup className="flex h-full flex-1 flex-row gap-2 md:flex-col md:gap-0">
<PresetPicker
presets={PRESETS}
isMobile={isMobile}
anchorRef={anchorRef}
/>
<BasePicker isMobile={isMobile} anchorRef={anchorRef} />
<StylePicker
styles={STYLES}
isMobile={isMobile}
anchorRef={anchorRef}
/>
<BaseColorPicker isMobile={isMobile} anchorRef={anchorRef} />
<ThemePicker
themes={availableThemes}
isMobile={isMobile}
anchorRef={anchorRef}
/>
<IconLibraryPicker isMobile={isMobile} anchorRef={anchorRef} />
<FontPicker fonts={FONTS} isMobile={isMobile} anchorRef={anchorRef} />
<RadiusPicker isMobile={isMobile} anchorRef={anchorRef} />
<MenuColorPicker isMobile={isMobile} anchorRef={anchorRef} />
<MenuAccentPicker isMobile={isMobile} anchorRef={anchorRef} />
<div className="mt-auto hidden w-full flex-col items-center gap-0 md:flex">
<RandomButton />
<ResetButton />
</div>
</FieldGroup>
</div>
</div>
)
}
Domain
Subdomains
Functions
Dependencies
- accent-picker
- base-color-picker
- base-picker
- config
- core-free-icons
- field
- font-picker
- fonts
- icon-library-picker
- menu-picker
- preset-picker
- radius-picker
- random-button
- react
- react
- reset-button
- search-params
- separator
- style-picker
- theme-picker
- use-mobile
Source
Frequently Asked Questions
What does customizer.tsx do?
customizer.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 customizer.tsx?
customizer.tsx defines 1 function(s): Customizer.
What does customizer.tsx depend on?
customizer.tsx imports 21 module(s): accent-picker, base-color-picker, base-picker, config, core-free-icons, field, font-picker, fonts, and 13 more.
Where is customizer.tsx in the architecture?
customizer.tsx is located at apps/v4/app/(create)/components/customizer.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