├── src
├── lib
│ └── utils.ts
├── main.tsx
├── hooks
│ └── use-mobile.tsx
├── components
│ ├── ui
│ │ ├── popover.tsx
│ │ ├── tabs.tsx
│ │ ├── button.tsx
│ │ ├── code-block.tsx
│ │ ├── drawer.tsx
│ │ └── cascader.tsx
│ └── theme-provider.tsx
├── index.css
└── App.tsx
├── tsconfig.json
├── .gitignore
├── vite.config.ts
├── index.html
├── components.json
├── eslint.config.js
├── tsconfig.node.json
├── tsconfig.app.json
├── registry.json
├── public
├── r
│ ├── registry.json
│ └── cascader.json
├── vite.svg
└── favicon.svg
├── LICENSE
├── package.json
└── README.md
/src/lib/utils.ts:
--------------------------------------------------------------------------------
1 | import { clsx, type ClassValue } from "clsx"
2 | import { twMerge } from "tailwind-merge"
3 |
4 | export function cn(...inputs: ClassValue[]) {
5 | return twMerge(clsx(inputs))
6 | }
7 |
--------------------------------------------------------------------------------
/src/main.tsx:
--------------------------------------------------------------------------------
1 | import { StrictMode } from 'react'
2 | import { createRoot } from 'react-dom/client'
3 | import './index.css'
4 | import App from './App.tsx'
5 |
6 | createRoot(document.getElementById('root')!).render(
7 |