Skip to content
Merged

UI #1055

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
40012b9
feat(ui): add background color to outline button and input
nelsonlaidev Apr 12, 2025
4bf22e3
feat: remove ui and utils packages
nelsonlaidev Apr 14, 2025
4af4957
chore: remove an unused release
nelsonlaidev Apr 14, 2025
bef0d38
feat: ui
nelsonlaidev Apr 15, 2025
a644754
feat(docs): remove blur fade
nelsonlaidev Apr 16, 2025
0e259d4
refactor: remove blur image from ui
nelsonlaidev Apr 16, 2025
ac390ce
feat: callout -> alert
nelsonlaidev Apr 16, 2025
a64d91e
refactor: classes sort
nelsonlaidev Apr 17, 2025
57f3851
fix(docs): correct cn path
nelsonlaidev Apr 17, 2025
6284ef2
refactor: misc
nelsonlaidev Apr 17, 2025
18812e7
feat(docs): remove ark references
nelsonlaidev Apr 17, 2025
91a419a
feat(docs): intro
nelsonlaidev Apr 17, 2025
1b8b297
feat(docs): ark ui badge
nelsonlaidev Apr 17, 2025
4c6ecbc
feat(docs): update intro
nelsonlaidev Apr 17, 2025
b03b543
feat(docs): add calendar and chart, add registry, fix generators
nelsonlaidev Apr 17, 2025
20330ca
feat(docs): prepare for registry
nelsonlaidev Apr 17, 2025
fadd9a7
refactor(docs): shorter classes
nelsonlaidev Apr 18, 2025
94ba2f7
feat(docs): ark ui badges
nelsonlaidev Apr 18, 2025
a3fa2d2
feat(ui): add back ui for cli
nelsonlaidev Apr 18, 2025
3e76548
feat(docs): manually installation
nelsonlaidev Apr 18, 2025
0625141
fix(docs): set max width to demos
nelsonlaidev Apr 18, 2025
c345309
feat(docs): add info icon to alert component
nelsonlaidev Apr 18, 2025
c4202d0
feat(docs): change the image of aspect ratio demo
nelsonlaidev Apr 18, 2025
fafc3a9
feat(docs): update keyboard input element
nelsonlaidev Apr 18, 2025
b61105e
feat(docs): add installation
nelsonlaidev Apr 18, 2025
7ac9afc
fix: export link variants
nelsonlaidev Apr 18, 2025
216b8ac
fix(web): isPending prop is no longer available on Button
nelsonlaidev Apr 18, 2025
e6aaaad
feat(docs): data table
nelsonlaidev Apr 18, 2025
5554cef
feat: ui package approach
nelsonlaidev Apr 18, 2025
2af0b85
chore: move get-abbr to utils
nelsonlaidev Apr 18, 2025
481630c
chore: check diff
nelsonlaidev Apr 18, 2025
ff4aa9d
chore: see diff
nelsonlaidev Apr 18, 2025
d8f1d01
feat(docs): remove installation
nelsonlaidev Apr 18, 2025
c478824
fix(docs): correct alert usage
nelsonlaidev Apr 18, 2025
f222a38
chore: see diff
nelsonlaidev Apr 18, 2025
f7eb93c
chore: see diff
nelsonlaidev Apr 18, 2025
6a51711
chore: see diff
nelsonlaidev Apr 18, 2025
dc75be0
chore: update pnpm lock
nelsonlaidev Apr 18, 2025
62f0ee9
refactor: remove unused files, unnecessary size-4
nelsonlaidev Apr 18, 2025
0b9f901
feat(ui): re-export constants from input one time password
nelsonlaidev Apr 18, 2025
60b8c86
style: &&
nelsonlaidev Apr 18, 2025
b7019de
chore: update knip config
nelsonlaidev Apr 18, 2025
ec23d1c
refactor(web): remove unnecessary inline in theme
nelsonlaidev Apr 18, 2025
63598b8
refactor(web): should import range function from utils package
nelsonlaidev Apr 18, 2025
fa978c6
refactor(docs): remove unnecessary use client directive
nelsonlaidev Apr 18, 2025
102f7fb
fix(ui): add back the `useTheme()` in sonner
nelsonlaidev Apr 18, 2025
fa43ac9
refactor(ui): update variable names
nelsonlaidev Apr 18, 2025
39694bf
refactor(ui): shorter destructure
nelsonlaidev Apr 18, 2025
4a7b4aa
refactor(ui): export link variants at the bottom
nelsonlaidev Apr 18, 2025
4b5947a
chore: move /ui/components to /ui
nelsonlaidev Apr 18, 2025
5fb87ca
feat(docs): add new utilities section with links for various utility …
nelsonlaidev Apr 18, 2025
4be3b3f
feat(ui): add html and css icons in code block
nelsonlaidev Apr 18, 2025
fa2986b
feat(docs): add a guide for UI
nelsonlaidev Apr 18, 2025
87a8de1
feat(docs): docs for peer dependencies
nelsonlaidev Apr 19, 2025
92e363e
feat(ui): react-textarea-autosize
nelsonlaidev Apr 19, 2025
f5f990a
chore: changeset
nelsonlaidev Apr 19, 2025
ccbdcf3
fix(web): update avatar usage
nelsonlaidev Apr 19, 2025
b40670a
fix(web): add aria-label to profile dropdown on admin header
nelsonlaidev Apr 19, 2025
584d921
feat(ui): data table
nelsonlaidev May 28, 2025
1daec1a
docs: update release notes
nelsonlaidev May 28, 2025
8493967
chore: update cspell config to always use lowercase in word list
nelsonlaidev May 28, 2025
67cd572
feat(docs): update usage part in data table docs
nelsonlaidev May 28, 2025
9b58bdc
refactor(web): remove unnecessary new Date in comments router
nelsonlaidev May 28, 2025
1953b94
chore: remove unnecessary dependency
nelsonlaidev May 28, 2025
b496390
feat(docs): enhance data table demo with advanced filtering and toolb…
nelsonlaidev May 28, 2025
995aacf
fix(docs): wrap Mdx component in Suspense for fixing useSearchParams …
nelsonlaidev May 28, 2025
8a8dcde
feat(web): enhance comments and users tables with additional data pro…
nelsonlaidev May 29, 2025
8156a6e
fix(i18n): correct placement of 'createdAt' key in Chinese translations
nelsonlaidev May 29, 2025
71d221d
feat(ui): add sortable component with drag-and-drop functionality and…
nelsonlaidev May 30, 2025
624b8b4
fix: include optional isArkUI property in component generator
nelsonlaidev May 30, 2025
5e92512
chore: add license and copyright information to data-table and sortab…
nelsonlaidev May 30, 2025
c3649b8
feat(ui): implement sorting in comments & users tables with new DataT…
nelsonlaidev May 31, 2025
163519c
refactor(emails): rename Comment and Reply components
nelsonlaidev May 31, 2025
10dd94d
refactor(web): rename type to parentId and update related logic in co…
nelsonlaidev May 31, 2025
79a34bb
refactor(web): update sorting logic
nelsonlaidev May 31, 2025
2070421
refactor(ui): remove unused exports
nelsonlaidev May 31, 2025
b8e274c
chore: update caching-for-turbo action to version 1.7
nelsonlaidev May 31, 2025
1b13d5b
chore: update caching-for-turbo action to version 1.8
nelsonlaidev May 31, 2025
02e2847
refactor(web): replace Skeleton with DataTableSkeleton for loading st…
nelsonlaidev May 31, 2025
e00d9b7
refactor(ui): remove 'use client' directive from multiple files
nelsonlaidev May 31, 2025
6035a0e
feat: use tRPC server for admin routes
nelsonlaidev May 31, 2025
1ddcd5d
fix(docs): correct title formatting in code block documentation
nelsonlaidev Jun 1, 2025
cff2551
fix(docs): update description for Tree View component
nelsonlaidev Jun 1, 2025
5abeedb
refactor: update package.json and tsup.config.ts files to use exports…
nelsonlaidev Jun 2, 2025
b7b73d4
refactor: remove exports field from package.json and set main entry p…
nelsonlaidev Jun 2, 2025
aea526d
feat: update TypeScript configuration and package generator
nelsonlaidev Jun 2, 2025
4d3ad79
refactor: remove tsconfig.app.json files and update package.json for …
nelsonlaidev Jun 2, 2025
7ed48e8
refactor(env): remove exports field from package.json and set main en…
nelsonlaidev Jun 2, 2025
e76cd68
fix: update prepare script to include package build step
nelsonlaidev Jun 2, 2025
70a923e
refactor: move some exports to their own file
nelsonlaidev Jun 2, 2025
766dcde
feat: add @rsbuild/plugin-react dependency and update configuration
nelsonlaidev Jun 2, 2025
6bbbe92
feat: add 'use client' directive to multiple component files
nelsonlaidev Jun 2, 2025
9deec8e
fix: missing headers in TRPC context creation
nelsonlaidev Jun 2, 2025
981795f
refactor: remove unused export keyword
nelsonlaidev Jun 2, 2025
518a52f
refactor: remove tailwindcss configuration and related dependencies
nelsonlaidev Jun 2, 2025
cfe3233
refactor: update TypeScript include patterns in tsconfig files
nelsonlaidev Jun 2, 2025
af50788
refactor: remove unused environment variables from configuration files
nelsonlaidev Jun 2, 2025
d081a5c
fix(web): add missing hydrate client in admin users page.tsx
nelsonlaidev Jun 2, 2025
1a0c668
refactor(web): remove unused icon in admin comments table
nelsonlaidev Jun 2, 2025
6fda136
fix: update main entry point and clean up unused dependencies in pack…
nelsonlaidev Jun 2, 2025
4de7a2f
refactor: simplify package.json by removing exports field
nelsonlaidev Jun 2, 2025
e49a72c
refactor(web): use client-side tRPC in admin routes
nelsonlaidev Jun 2, 2025
81b7f1f
fix(web): missing use client directive
nelsonlaidev Jun 2, 2025
e4a2575
refactor(web): enhance query handling in admin comments and users pages
nelsonlaidev Jun 2, 2025
6e56a87
style: format package.json
nelsonlaidev Jun 2, 2025
58ce057
refactor: update comment for clarity in knip.config.ts
nelsonlaidev Jun 2, 2025
06f8fbf
refactor: remove unused tsx entry in knip.config.ts
nelsonlaidev Jun 2, 2025
62de885
refactor: remove unused tsconfig.app.json file
nelsonlaidev Jun 2, 2025
1eafe48
refactor: update tsconfig.lint.json to include .tsx files for React s…
nelsonlaidev Jun 2, 2025
d33b8e9
refactor: remove tsconfig.lint.json files and update tsconfig.json to…
nelsonlaidev Jun 3, 2025
0a57faf
chore: changeset
nelsonlaidev Jun 3, 2025
c586f65
fix(docs): specify version for react-day-picker installation in docum…
nelsonlaidev Jun 3, 2025
7bb87fa
chore(ui): update dependencies in package.json and pnpm-lock.yaml
nelsonlaidev Jun 3, 2025
36e82e0
refactor(docs): remove installation instructions for Calendar, Chart,…
nelsonlaidev Jun 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .changeset/gentle-toes-stand.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@tszhong0411/prettier-plugin-package-json': major
---

- Migrate from `tsup` to `rslib`
26 changes: 26 additions & 0 deletions .changeset/spicy-tigers-stay.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
'@tszhong0411/ui': major
---

- Migrate from `tsup` to `rslib`
- Update the image in aspect ratio demo
- Update to latest styles of shadcn/ui
- Update to `cva` beta
- Update introduction in docs
- Update code style from `? <component /> : null` to `&& <component />`
- Update to use oklch colors.
- Update to divide long tailwindcss classes into multiple lines
- Update `<DataTable />` to use shadcn-table
- Add Ark UI badges
- Add `Chart`, `Calendar`, `Sortable`
- Add `data-slot` attribute to components
- Replace `<Callout />` with `<Alert />`
- Replace `<VisuallyHidden />` with `sr-only`
- Remove `<BlurFade />` and `<BlurImage />`
- Remove unnecessary `size-4` classes.
- Remove `<Progress />` which is using `@ark-ui/react`
- Remove `<Slider />` which is using `@ark-ui/react`
- Remove `<Combobox />` which is using `@ark-ui/react`
- Remove `<CommandFooter />`
- Rename `toaster` to `sonner`
- Rename `getAvatarAbbreviation()` to `getAbbreviation()`
6 changes: 6 additions & 0 deletions .changeset/stupid-tires-repeat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@tszhong0411/utils': major
---

- Migrate from `tsup` to `rslib`
- Add `get-abbreviation` utility function
5 changes: 5 additions & 0 deletions .changeset/tame-wolves-drive.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@tszhong0411/prettier-config': major
---

- Migrate from `tsup` to `rslib`
6 changes: 6 additions & 0 deletions .changeset/whole-trains-hang.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@tszhong0411/eslint-config': major
---

- Migrate from `tsup` to `rslib`
- Remove `eslint-plugin-tailwindcss` completely
5 changes: 5 additions & 0 deletions .changeset/witty-symbols-ring.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@tszhong0411/tsconfig': major
---

- Update package.json
8 changes: 8 additions & 0 deletions .cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"aceternity",
"airpods",
"anishde",
"beamer",
"benoit",
"bentogrids",
"bradlc",
Expand All @@ -35,6 +36,7 @@
"honghong",
"honghongme",
"iina",
"ilike",
"innerhtml",
"jahir",
"joshwcomeau",
Expand All @@ -60,6 +62,8 @@
"nums",
"nuqs",
"nuxt",
"oklab",
"oklch",
"oliveira",
"orbstack",
"paralleldrive",
Expand All @@ -71,6 +75,9 @@
"reactquery",
"rharkor",
"rmiz",
"rsbuild",
"rslib",
"rtishchev",
"sadman",
"sakib",
"sameorigin",
Expand All @@ -94,6 +101,7 @@
"usehooks",
"vaul",
"velite",
"vitaly",
"vocs",
"wakatime",
"zenorocha"
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ runs:
${{ runner.os }}-pnpm-store-

- name: Cache for Turbo
uses: rharkor/caching-for-turbo@v1.5
uses: rharkor/caching-for-turbo@v1.8

- name: Install dependencies
shell: bash
Expand Down
4 changes: 2 additions & 2 deletions apps/docs/next.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ const config: NextConfig = {
async redirects() {
return [
{
source: '/ui/components',
destination: '/ui/components/accordion',
source: '/ui',
destination: '/ui/accordion',
permanent: true
}
]
Expand Down
10 changes: 7 additions & 3 deletions apps/docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,21 @@
"type-check": "tsc --noEmit"
},
"dependencies": {
"@faker-js/faker": "^9.7.0",
"@hookform/resolvers": "^5.0.1",
"@tanstack/react-table": "^8.21.2",
"@tanstack/react-table": "^8.21.3",
"@tszhong0411/ui": "workspace:*",
"@tszhong0411/utils": "workspace:*",
"class-variance-authority": "^0.7.1",
"cva": "^1.0.0-beta.3",
"date-fns": "^4.1.0",
"geist": "^1.3.1",
"hast-util-to-jsx-runtime": "^2.3.6",
"lucide-react": "^0.487.0",
"lucide-react": "^0.511.0",
"next": "^15.3.0",
"next-themes": "^0.4.6",
"nuqs": "^2.4.1",
"react": "^19.1.0",
"react-day-picker": "8.10.1",
"react-dom": "^19.1.0",
"react-hook-form": "^7.55.0",
"recharts": "^2.15.2",
Expand Down
8 changes: 4 additions & 4 deletions apps/docs/src/app/(main)/[[...slug]]/link-badges.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,18 @@ const LinkBadges = (props: Doc['link'] = {}) => {

return (
<div className='flex items-center gap-2 pt-4'>
{doc ? (
{doc && (
<Link href={doc} className={cn(badgeVariants({ variant: 'secondary' }), 'gap-1')}>
Docs
<ExternalLinkIcon className='size-3' />
</Link>
) : null}
{api ? (
)}
{api && (
<Link href={api} className={cn(badgeVariants({ variant: 'secondary' }), 'gap-1')}>
API Reference
<ExternalLinkIcon className='size-3' />
</Link>
) : null}
)}
</div>
)
}
Expand Down
7 changes: 5 additions & 2 deletions apps/docs/src/app/(main)/[[...slug]]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import type { Metadata, ResolvingMetadata } from 'next'

import { allDocs } from 'content-collections'
import { notFound } from 'next/navigation'
import { Suspense } from 'react'

import Mdx from '@/components/mdx'

Expand Down Expand Up @@ -85,9 +86,11 @@ const Page = async (props: PageProps) => {
<div className='space-y-4'>
<h1 className='relative text-3xl font-extrabold tracking-tight md:text-4xl'>{title}</h1>
<p className='text-muted-foreground'>{description}</p>
{hasLinks ? <LinkBadges {...link} /> : null}
{hasLinks && <LinkBadges {...link} />}
</div>
<Mdx className='my-12' code={code} />
<Suspense>
<Mdx className='my-12' code={code} />
</Suspense>
<EditOnGitHub filePath={_meta.filePath} />
<DocsNavigation />
</div>
Expand Down
15 changes: 9 additions & 6 deletions apps/docs/src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import '@/styles/globals.css'
import { cn } from '@tszhong0411/utils'
import { GeistMono } from 'geist/font/mono'
import { GeistSans } from 'geist/font/sans'
import { NuqsAdapter } from 'nuqs/adapters/next/app'

import { SITE_DESCRIPTION, SITE_KEYWORDS, SITE_TITLE, SITE_URL } from '@/lib/constants'

Expand Down Expand Up @@ -113,12 +114,14 @@ const Layout = (props: LayoutProps) => {
suppressHydrationWarning
>
<body>
<Providers>
{/* eslint-disable-next-line @eslint-react/dom/no-unknown-property -- custom attribute */}
<div vaul-drawer-wrapper='' className='bg-background'>
{children}
</div>
</Providers>
<NuqsAdapter>
<Providers>
{/* eslint-disable-next-line @eslint-react/dom/no-unknown-property -- custom attribute */}
<div vaul-drawer-wrapper='' className='bg-background'>
{children}
</div>
</Providers>
</NuqsAdapter>
</body>
</html>
)
Expand Down
14 changes: 14 additions & 0 deletions apps/docs/src/components/demos/alert/alert.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { Alert, AlertDescription, AlertTitle } from '@tszhong0411/ui'
import { CheckCircle2Icon } from 'lucide-react'

const AlertDemo = () => {
return (
<Alert className='max-w-md'>
<CheckCircle2Icon />
<AlertTitle>Success! Your changes have been saved</AlertTitle>
<AlertDescription>This is an alert with icon, title and description.</AlertDescription>
</Alert>
)
}

export default AlertDemo
14 changes: 14 additions & 0 deletions apps/docs/src/components/demos/alert/destructive.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { Alert, AlertDescription, AlertTitle } from '@tszhong0411/ui'
import { AlertCircleIcon } from 'lucide-react'

const AlertDestructiveDemo = () => {
return (
<Alert variant='destructive' className='max-w-md'>
<AlertCircleIcon />
<AlertTitle>Something went wrong!</AlertTitle>
<AlertDescription>Your session has expired. Please log in again.</AlertDescription>
</Alert>
)
}

export default AlertDestructiveDemo
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ const AspectRatioDemo = () => {
return (
<AspectRatio ratio={16 / 9}>
<Image
src='https://images.unsplash.com/photo-1717765911288-5512eba79b41?q=80&w=3270'
src='https://images.unsplash.com/photo-1588345921523-c2dcdb7f1dcd?w=800&dpr=2&q=80'
alt='A smooth, minimalist white background with subtle diagonal light-gray gradients by Drew Beamer'
fill
alt='A grassy field with trees and a mountain in the background, by Benjamin Ashton'
className='rounded-lg object-cover'
/>
</AspectRatio>
Expand Down
12 changes: 0 additions & 12 deletions apps/docs/src/components/demos/blur-fade/blur-fade.tsx

This file was deleted.

15 changes: 0 additions & 15 deletions apps/docs/src/components/demos/blur-image/blur-image.tsx

This file was deleted.

2 changes: 1 addition & 1 deletion apps/docs/src/components/demos/breadcrumb/breadcrumb.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ const BreadcrumbDemo = () => {
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbLink href='/ui/components'>Components</BreadcrumbLink>
<BreadcrumbLink href='/ui'>Components</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/src/components/demos/button/icon.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { CopyIcon } from 'lucide-react'
const ButtonIconDemo = () => {
return (
<Button variant='outline' size='icon' aria-label='Copy'>
<CopyIcon className='size-4' />
<CopyIcon />
</Button>
)
}
Expand Down
8 changes: 7 additions & 1 deletion apps/docs/src/components/demos/button/pending.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
import { Button } from '@tszhong0411/ui'
import { LoaderIcon } from 'lucide-react'

const ButtonPendingDemo = () => {
return <Button isPending>Pending</Button>
return (
<Button>
<LoaderIcon className='animate-spin' />
Pending
</Button>
)
}

export default ButtonPendingDemo
19 changes: 19 additions & 0 deletions apps/docs/src/components/demos/calendar/calendar.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
'use client'

import { Calendar } from '@tszhong0411/ui'
import { useState } from 'react'

const CalendarDemo = () => {
const [date, setDate] = useState<Date | undefined>(() => new Date())

return (
<Calendar
mode='single'
selected={date}
onSelect={setDate}
className='rounded-md border shadow-sm'
/>
)
}

export default CalendarDemo
42 changes: 42 additions & 0 deletions apps/docs/src/components/demos/calendar/range.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
'use client'

import type { DateRange } from 'react-day-picker'

import { Calendar } from '@tszhong0411/ui'
import { addDays } from 'date-fns'
import { useState } from 'react'

const CalendarRangeDemo = () => {
const [dateRange, setDateRange] = useState<DateRange | undefined>(() => ({
from: new Date(new Date().getFullYear(), 0, 12),
to: addDays(new Date(new Date().getFullYear(), 0, 12), 30)
}))
const [range, setRange] = useState<DateRange | undefined>(() => ({
from: new Date(new Date().getFullYear(), 0, 12),
to: addDays(new Date(new Date().getFullYear(), 0, 12), 50)
}))

return (
<div>
<Calendar
mode='range'
defaultMonth={dateRange?.from}
selected={dateRange}
onSelect={setDateRange}
numberOfMonths={2}
disabled={(d) => d > new Date() || d < new Date('1900-01-01')}
className='rounded-md border shadow-sm'
/>
<Calendar
mode='range'
defaultMonth={range?.from}
selected={range}
onSelect={setRange}
numberOfMonths={3}
className='@4xl:flex hidden rounded-md border shadow-sm [&>div]:gap-5'
/>
</div>
)
}

export default CalendarRangeDemo
11 changes: 0 additions & 11 deletions apps/docs/src/components/demos/callout/callout.tsx

This file was deleted.

Loading