diff --git a/package.json b/package.json index e02d679f3..222a2a2d4 100644 --- a/package.json +++ b/package.json @@ -52,8 +52,8 @@ "@upstash/ratelimit": "^2.1.0", "@upstash/redis": "^1.38.4", "class-variance-authority": "^0.7.1", - "clsx": "^2.1.1", "cmdk": "^1.1.1", + "cn": "^0.3.0", "date-fns": "^4.4.0", "drizzle-orm": "^0.45.2", "export-to-csv": "^1.5.0", @@ -72,7 +72,6 @@ "server-only": "^0.0.1", "shadcn": "4.21.0", "sonner": "^2.0.8", - "tailwind-merge": "^3.7.0", "uploadthing": "^7.7.4", "vaul": "^1.1.2", "zod": "^4.6.5" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e0a7ce5e5..ab4902ce5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -217,12 +217,12 @@ importers: class-variance-authority: specifier: ^0.7.1 version: 0.7.1 - clsx: - specifier: ^2.1.1 - version: 2.1.1 cmdk: specifier: ^1.1.1 version: 1.1.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + cn: + specifier: ^0.3.0 + version: 0.3.0 date-fns: specifier: ^4.4.0 version: 4.4.0 @@ -277,9 +277,6 @@ importers: sonner: specifier: ^2.0.8 version: 2.0.8(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - tailwind-merge: - specifier: ^3.7.0 - version: 3.7.0 uploadthing: specifier: ^7.7.4 version: 7.7.4(express@5.2.1(supports-color@10.2.2))(next@16.3.5(@babel/core@7.29.7(supports-color@10.2.2))(@types/node@26.6.1)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(tailwindcss@4.3.3) @@ -3349,6 +3346,11 @@ packages: engines: {node: '>=20'} hasBin: true + cn@0.3.0: + resolution: {integrity: sha512-qRoU0ARrZD3Bbj1wKFftEKxPjSnzTEdFkf22NVhW+zU9D/wajhoP+qUZ5DChhhSOBCH1onV12hrmGqfu1+5Z2Q==} + engines: {node: '>=20'} + hasBin: true + code-block-writer@13.0.3: resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} @@ -5021,9 +5023,6 @@ packages: os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] hasBin: true - tailwind-merge@3.7.0: - resolution: {integrity: sha512-XPPUyAc+cvspz3lHTcR/QgPfW2A0lv/xQNIjX3HGhLR+Nq2lHaLq5MtTesHn8GUr3W3DguT2KT5x3NVgRtYwmA==} - tailwindcss@4.3.3: resolution: {integrity: sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==} @@ -7731,6 +7730,8 @@ snapshots: cn@0.2.6: {} + cn@0.3.0: {} + code-block-writer@13.0.3: {} commander@11.1.0: {} @@ -9419,8 +9420,6 @@ snapshots: systeminformation@5.33.11: {} - tailwind-merge@3.7.0: {} - tailwindcss@4.3.3: {} tapable@2.3.3: {} diff --git a/registry.json b/registry.json index 7434bdc5a..e36818438 100644 --- a/registry.json +++ b/registry.json @@ -23,7 +23,7 @@ "label", "skeleton" ], - "dependencies": ["@tanstack/react-table", "lucide-react", "nuqs"], + "dependencies": ["@tanstack/react-table", "lucide-react", "nuqs", "cn"], "files": [ { "path": "src/registry/bases/radix/components/data-table/data-table.tsx", @@ -112,7 +112,7 @@ "popover", "select" ], - "dependencies": ["@tanstack/react-table", "lucide-react"], + "dependencies": ["@tanstack/react-table", "lucide-react", "cn"], "files": [ { "path": "src/registry/bases/radix/components/data-table/data-table-sort-list.tsx", @@ -160,7 +160,7 @@ "popover", "select" ], - "dependencies": ["@tanstack/react-table", "lucide-react", "nuqs"], + "dependencies": ["@tanstack/react-table", "lucide-react", "nuqs", "cn"], "files": [ { "path": "src/registry/bases/radix/components/data-table/data-table-filter-list.tsx", @@ -240,7 +240,7 @@ "popover", "select" ], - "dependencies": ["@tanstack/react-table", "lucide-react", "nuqs"], + "dependencies": ["@tanstack/react-table", "lucide-react", "nuqs", "cn"], "files": [ { "path": "src/registry/bases/radix/components/data-table/data-table-filter-menu.tsx", @@ -317,7 +317,8 @@ "@tanstack/react-table", "@tanstack/react-virtual", "lucide-react", - "sonner" + "sonner", + "cn" ], "files": [ { @@ -419,7 +420,7 @@ "title": "Data Grid Select Column", "description": "A reusable select column definition for the data grid with checkbox selection and shift-click support", "registryDependencies": ["checkbox"], - "dependencies": ["@tanstack/react-table"], + "dependencies": ["@tanstack/react-table", "cn"], "files": [ { "path": "src/registry/bases/radix/components/data-grid/data-grid-select-column.tsx", @@ -448,7 +449,7 @@ "popover", "select" ], - "dependencies": ["@tanstack/react-table", "lucide-react"], + "dependencies": ["@tanstack/react-table", "lucide-react", "cn"], "files": [ { "path": "src/registry/bases/radix/components/data-grid/data-grid-sort-menu.tsx", @@ -508,7 +509,7 @@ "title": "Data Grid View Menu", "description": "A view menu component for the data grid to toggle column visibility", "registryDependencies": ["button", "command", "popover"], - "dependencies": ["@tanstack/react-table", "lucide-react"], + "dependencies": ["@tanstack/react-table", "lucide-react", "cn"], "files": [ { "path": "src/registry/bases/radix/components/data-grid/data-grid-view-menu.tsx", @@ -564,7 +565,7 @@ "popover", "select" ], - "dependencies": ["@tanstack/react-table", "lucide-react"], + "dependencies": ["@tanstack/react-table", "lucide-react", "cn"], "files": [ { "path": "src/registry/bases/radix/components/data-grid/data-grid-filter-menu.tsx", @@ -613,7 +614,7 @@ "title": "Data Grid Skeleton", "description": "A composable skeleton component for the data grid with toolbar and grid parts", "registryDependencies": ["skeleton"], - "dependencies": [], + "dependencies": ["cn"], "files": [ { "path": "src/registry/bases/radix/components/data-grid/data-grid-skeleton.tsx", diff --git a/scripts/build-registry.ts b/scripts/build-registry.ts index 6222c6d03..38358dc86 100644 --- a/scripts/build-registry.ts +++ b/scripts/build-registry.ts @@ -85,7 +85,7 @@ function withImportedDependencies( const next = [...(dependencies ?? [])]; - for (const pkg of ["@base-ui/react", "@base-ui/utils"] as const) { + for (const pkg of ["@base-ui/react", "@base-ui/utils", "cn"] as const) { if (contents.some((content) => content.includes(`"${pkg}`))) { if (!next.includes(pkg)) next.push(pkg); } diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 567912700..ed0f3af9a 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -1,9 +1,4 @@ -import { type ClassValue, clsx } from "clsx"; -import { twMerge } from "tailwind-merge"; - -export function cn(...inputs: ClassValue[]) { - return twMerge(clsx(inputs)); -} +export { cn } from "cn"; export function getAbsoluteUrl(path: string) { const normalizedPath = path.startsWith("/") ? path : `/${path}`; diff --git a/src/registry/bases/base/components/data-grid/data-grid-cell-variants.tsx b/src/registry/bases/base/components/data-grid/data-grid-cell-variants.tsx index a6af92ecd..132fb8daa 100644 --- a/src/registry/bases/base/components/data-grid/data-grid-cell-variants.tsx +++ b/src/registry/bases/base/components/data-grid/data-grid-cell-variants.tsx @@ -2,6 +2,7 @@ import type { RowData } from "@tanstack/react-table"; +import { cn } from "cn"; import * as React from "react"; import { toast } from "sonner"; @@ -19,7 +20,6 @@ import { getUrlHref, parseLocalDate, } from "@/lib/data-grid-utils"; -import { cn } from "@/lib/utils"; import { DataGridCellWrapper } from "@/registry/bases/base/components/data-grid/data-grid-cell-wrapper"; import { Badge } from "@/registry/bases/base/ui/badge"; import { Button } from "@/registry/bases/base/ui/button"; diff --git a/src/registry/bases/base/components/data-grid/data-grid-cell-wrapper.tsx b/src/registry/bases/base/components/data-grid/data-grid-cell-wrapper.tsx index 147030e42..65802f394 100644 --- a/src/registry/bases/base/components/data-grid/data-grid-cell-wrapper.tsx +++ b/src/registry/bases/base/components/data-grid/data-grid-cell-wrapper.tsx @@ -3,12 +3,12 @@ import type { RowData } from "@tanstack/react-table"; import { useMergedRefs } from "@base-ui/utils/useMergedRefs"; +import { cn } from "cn"; import * as React from "react"; import type { DataGridCellProps } from "@/lib/data-grid-types"; import { getCellKey } from "@/lib/data-grid-utils"; -import { cn } from "@/lib/utils"; import { useDataGridPresence } from "@/registry/bases/base/components/data-grid/data-grid-presence"; interface DataGridCellWrapperProps diff --git a/src/registry/bases/base/components/data-grid/data-grid-column-header.tsx b/src/registry/bases/base/components/data-grid/data-grid-column-header.tsx index 240b1ac81..a661926b1 100644 --- a/src/registry/bases/base/components/data-grid/data-grid-column-header.tsx +++ b/src/registry/bases/base/components/data-grid/data-grid-column-header.tsx @@ -9,12 +9,12 @@ import type { Table, } from "@tanstack/react-table"; +import { cn } from "cn"; import * as React from "react"; import type { DataGridFeatures } from "@/lib/data-grid-features"; import { getColumnVariant } from "@/lib/data-grid-utils"; -import { cn } from "@/lib/utils"; import { DropdownMenu, DropdownMenuCheckboxItem, diff --git a/src/registry/bases/base/components/data-grid/data-grid-filter-menu.tsx b/src/registry/bases/base/components/data-grid/data-grid-filter-menu.tsx index 01d57a921..f1554ca3a 100644 --- a/src/registry/bases/base/components/data-grid/data-grid-filter-menu.tsx +++ b/src/registry/bases/base/components/data-grid/data-grid-filter-menu.tsx @@ -7,6 +7,7 @@ import type { Table, } from "@tanstack/react-table"; +import { cn } from "cn"; import * as React from "react"; import type { DataGridFeatures } from "@/lib/data-grid-features"; @@ -18,7 +19,6 @@ import { getOperatorsForVariant, } from "@/lib/data-grid-filters"; import { formatDate } from "@/lib/format"; -import { cn } from "@/lib/utils"; import { Badge } from "@/registry/bases/base/ui/badge"; import { Button } from "@/registry/bases/base/ui/button"; import { useDirection } from "@/registry/bases/base/ui/direction"; diff --git a/src/registry/bases/base/components/data-grid/data-grid-paste-dialog.tsx b/src/registry/bases/base/components/data-grid/data-grid-paste-dialog.tsx index c50612a9e..0425192c7 100644 --- a/src/registry/bases/base/components/data-grid/data-grid-paste-dialog.tsx +++ b/src/registry/bases/base/components/data-grid/data-grid-paste-dialog.tsx @@ -1,5 +1,6 @@ "use client"; +import { cn } from "cn"; import * as React from "react"; import type { @@ -8,7 +9,6 @@ import type { } from "@/lib/data-grid-types"; import { useAsRef } from "@/hooks/use-as-ref"; -import { cn } from "@/lib/utils"; import { Button } from "@/registry/bases/base/ui/button"; import { Dialog, diff --git a/src/registry/bases/base/components/data-grid/data-grid-row.tsx b/src/registry/bases/base/components/data-grid/data-grid-row.tsx index b78adf794..fc35b74b7 100644 --- a/src/registry/bases/base/components/data-grid/data-grid-row.tsx +++ b/src/registry/bases/base/components/data-grid/data-grid-row.tsx @@ -9,6 +9,7 @@ import type { import type { VirtualItem } from "@tanstack/react-virtual"; import { useMergedRefs } from "@base-ui/utils/useMergedRefs"; +import { cn } from "cn"; import * as React from "react"; import type { DataGridFeatures } from "@/lib/data-grid-features"; @@ -26,7 +27,6 @@ import { getColumnPinningStyle, getRowHeightValue, } from "@/lib/data-grid-utils"; -import { cn } from "@/lib/utils"; import { DataGridCell } from "@/registry/bases/base/components/data-grid/data-grid-cell"; interface DataGridRowProps< diff --git a/src/registry/bases/base/components/data-grid/data-grid-select-column.tsx b/src/registry/bases/base/components/data-grid/data-grid-select-column.tsx index 6cf517d1d..8d36db7e0 100644 --- a/src/registry/bases/base/components/data-grid/data-grid-select-column.tsx +++ b/src/registry/bases/base/components/data-grid/data-grid-select-column.tsx @@ -7,11 +7,11 @@ import type { RowData, } from "@tanstack/react-table"; +import { cn } from "cn"; import * as React from "react"; import type { DataGridFeatures } from "@/lib/data-grid-features"; -import { cn } from "@/lib/utils"; import { Checkbox } from "@/registry/bases/base/ui/checkbox"; type HitboxSize = "default" | "sm" | "lg"; diff --git a/src/registry/bases/base/components/data-grid/data-grid-skeleton.tsx b/src/registry/bases/base/components/data-grid/data-grid-skeleton.tsx index eb39f2adf..b8f06048a 100644 --- a/src/registry/bases/base/components/data-grid/data-grid-skeleton.tsx +++ b/src/registry/bases/base/components/data-grid/data-grid-skeleton.tsx @@ -1,6 +1,7 @@ import type * as React from "react"; -import { cn } from "@/lib/utils"; +import { cn } from "cn"; + import { Skeleton } from "@/registry/bases/radix/ui/skeleton"; interface DivProps extends React.ComponentProps<"div"> {} diff --git a/src/registry/bases/base/components/data-grid/data-grid-sort-menu.tsx b/src/registry/bases/base/components/data-grid/data-grid-sort-menu.tsx index 69dabbd6d..6528e7fcd 100644 --- a/src/registry/bases/base/components/data-grid/data-grid-sort-menu.tsx +++ b/src/registry/bases/base/components/data-grid/data-grid-sort-menu.tsx @@ -2,11 +2,11 @@ import type { ColumnSort, RowData, Table } from "@tanstack/react-table"; +import { cn } from "cn"; import * as React from "react"; import type { DataGridFeatures } from "@/lib/data-grid-features"; -import { cn } from "@/lib/utils"; import { Badge } from "@/registry/bases/base/ui/badge"; import { Button } from "@/registry/bases/base/ui/button"; import { useDirection } from "@/registry/bases/base/ui/direction"; diff --git a/src/registry/bases/base/components/data-grid/data-grid-view-menu.tsx b/src/registry/bases/base/components/data-grid/data-grid-view-menu.tsx index 873cda6c1..cca105681 100644 --- a/src/registry/bases/base/components/data-grid/data-grid-view-menu.tsx +++ b/src/registry/bases/base/components/data-grid/data-grid-view-menu.tsx @@ -2,11 +2,11 @@ import type { RowData, Table } from "@tanstack/react-table"; +import { cn } from "cn"; import * as React from "react"; import type { DataGridFeatures } from "@/lib/data-grid-features"; -import { cn } from "@/lib/utils"; import { Button } from "@/registry/bases/base/ui/button"; import { useDirection } from "@/registry/bases/base/ui/direction"; import { diff --git a/src/registry/bases/base/components/data-grid/data-grid.tsx b/src/registry/bases/base/components/data-grid/data-grid.tsx index bb91d7bbc..766507470 100644 --- a/src/registry/bases/base/components/data-grid/data-grid.tsx +++ b/src/registry/bases/base/components/data-grid/data-grid.tsx @@ -2,6 +2,7 @@ import type { RowData } from "@tanstack/react-table"; +import { cn } from "cn"; import * as React from "react"; import type { useDataGrid } from "@/hooks/use-data-grid"; @@ -13,7 +14,6 @@ import { getColumnBorderVisibility, getColumnPinningStyle, } from "@/lib/data-grid-utils"; -import { cn } from "@/lib/utils"; import { DataGridColumnHeader } from "@/registry/bases/base/components/data-grid/data-grid-column-header"; import { DataGridContextMenu } from "@/registry/bases/base/components/data-grid/data-grid-context-menu"; import { DataGridPasteDialog } from "@/registry/bases/base/components/data-grid/data-grid-paste-dialog"; diff --git a/src/registry/bases/base/components/data-table/data-table-advanced-toolbar.tsx b/src/registry/bases/base/components/data-table/data-table-advanced-toolbar.tsx index 4bcdd7d80..531e64f1d 100644 --- a/src/registry/bases/base/components/data-table/data-table-advanced-toolbar.tsx +++ b/src/registry/bases/base/components/data-table/data-table-advanced-toolbar.tsx @@ -3,9 +3,10 @@ import type { RowData, Table } from "@tanstack/react-table"; import type * as React from "react"; +import { cn } from "cn"; + import type { DataTableFeatures } from "@/lib/table-features"; -import { cn } from "@/lib/utils"; import { DataTableViewOptions } from "@/registry/bases/base/components/data-table/data-table-view-options"; interface DataTableAdvancedToolbarProps< diff --git a/src/registry/bases/base/components/data-table/data-table-column-header.tsx b/src/registry/bases/base/components/data-table/data-table-column-header.tsx index d50ad653a..f856fab21 100644 --- a/src/registry/bases/base/components/data-table/data-table-column-header.tsx +++ b/src/registry/bases/base/components/data-table/data-table-column-header.tsx @@ -2,9 +2,10 @@ import type { Column, RowData } from "@tanstack/react-table"; +import { cn } from "cn"; + import type { DataTableFeatures } from "@/lib/table-features"; -import { cn } from "@/lib/utils"; import { DropdownMenu, DropdownMenuCheckboxItem, diff --git a/src/registry/bases/base/components/data-table/data-table-faceted-filter.tsx b/src/registry/bases/base/components/data-table/data-table-faceted-filter.tsx index 66100f897..2f0fe8f15 100644 --- a/src/registry/bases/base/components/data-table/data-table-faceted-filter.tsx +++ b/src/registry/bases/base/components/data-table/data-table-faceted-filter.tsx @@ -2,12 +2,12 @@ import type { Column, RowData } from "@tanstack/react-table"; +import { cn } from "cn"; import * as React from "react"; import type { Option } from "@/lib/data-table-types"; import type { DataTableFeatures } from "@/lib/table-features"; -import { cn } from "@/lib/utils"; import { Badge } from "@/registry/bases/base/ui/badge"; import { Button } from "@/registry/bases/base/ui/button"; import { diff --git a/src/registry/bases/base/components/data-table/data-table-filter-list.tsx b/src/registry/bases/base/components/data-table/data-table-filter-list.tsx index f407ba73a..1ab4bee8c 100644 --- a/src/registry/bases/base/components/data-table/data-table-filter-list.tsx +++ b/src/registry/bases/base/components/data-table/data-table-filter-list.tsx @@ -2,6 +2,7 @@ import type { Column, RowData, Table } from "@tanstack/react-table"; +import { cn } from "cn"; import { parseAsStringEnum, useQueryState } from "nuqs"; import * as React from "react"; @@ -21,7 +22,6 @@ import { import { formatDate } from "@/lib/format"; import { generateId } from "@/lib/id"; import { getFiltersStateParser } from "@/lib/parsers"; -import { cn } from "@/lib/utils"; import { DataTableRangeFilter } from "@/registry/bases/base/components/data-table/data-table-range-filter"; import { Badge } from "@/registry/bases/base/ui/badge"; import { Button } from "@/registry/bases/base/ui/button"; diff --git a/src/registry/bases/base/components/data-table/data-table-filter-menu.tsx b/src/registry/bases/base/components/data-table/data-table-filter-menu.tsx index 591cee2f7..f301a5226 100644 --- a/src/registry/bases/base/components/data-table/data-table-filter-menu.tsx +++ b/src/registry/bases/base/components/data-table/data-table-filter-menu.tsx @@ -2,6 +2,7 @@ import type { Column, RowData, Table } from "@tanstack/react-table"; +import { cn } from "cn"; import { useQueryState } from "nuqs"; import * as React from "react"; @@ -16,7 +17,6 @@ import { import { formatDate } from "@/lib/format"; import { generateId } from "@/lib/id"; import { getFiltersStateParser } from "@/lib/parsers"; -import { cn } from "@/lib/utils"; import { DataTableRangeFilter } from "@/registry/bases/base/components/data-table/data-table-range-filter"; import { Button } from "@/registry/bases/base/ui/button"; import { diff --git a/src/registry/bases/base/components/data-table/data-table-pagination.tsx b/src/registry/bases/base/components/data-table/data-table-pagination.tsx index f80714071..59ecb026c 100644 --- a/src/registry/bases/base/components/data-table/data-table-pagination.tsx +++ b/src/registry/bases/base/components/data-table/data-table-pagination.tsx @@ -1,8 +1,9 @@ import type { RowData, Table } from "@tanstack/react-table"; +import { cn } from "cn"; + import type { DataTableFeatures } from "@/lib/table-features"; -import { cn } from "@/lib/utils"; import { Button } from "@/registry/bases/base/ui/button"; import { Select, diff --git a/src/registry/bases/base/components/data-table/data-table-range-filter.tsx b/src/registry/bases/base/components/data-table/data-table-range-filter.tsx index 87baec358..35b3bbd2d 100644 --- a/src/registry/bases/base/components/data-table/data-table-range-filter.tsx +++ b/src/registry/bases/base/components/data-table/data-table-range-filter.tsx @@ -2,12 +2,12 @@ import type { Column, RowData } from "@tanstack/react-table"; +import { cn } from "cn"; import * as React from "react"; import type { ExtendedColumnFilter } from "@/lib/data-table-types"; import type { DataTableFeatures } from "@/lib/table-features"; -import { cn } from "@/lib/utils"; import { Input } from "@/registry/bases/radix/ui/input"; interface DataTableRangeFilterProps< diff --git a/src/registry/bases/base/components/data-table/data-table-skeleton.tsx b/src/registry/bases/base/components/data-table/data-table-skeleton.tsx index c2ec6045c..d17fe5501 100644 --- a/src/registry/bases/base/components/data-table/data-table-skeleton.tsx +++ b/src/registry/bases/base/components/data-table/data-table-skeleton.tsx @@ -1,4 +1,5 @@ -import { cn } from "@/lib/utils"; +import { cn } from "cn"; + import { Skeleton } from "@/registry/bases/radix/ui/skeleton"; import { Table, diff --git a/src/registry/bases/base/components/data-table/data-table-slider-filter.tsx b/src/registry/bases/base/components/data-table/data-table-slider-filter.tsx index 54ab6d176..1339fb336 100644 --- a/src/registry/bases/base/components/data-table/data-table-slider-filter.tsx +++ b/src/registry/bases/base/components/data-table/data-table-slider-filter.tsx @@ -2,11 +2,11 @@ import type { Column, RowData } from "@tanstack/react-table"; +import { cn } from "cn"; import * as React from "react"; import type { DataTableFeatures } from "@/lib/table-features"; -import { cn } from "@/lib/utils"; import { Button } from "@/registry/bases/base/ui/button"; import { Label } from "@/registry/bases/base/ui/label"; import { diff --git a/src/registry/bases/base/components/data-table/data-table-sort-list.tsx b/src/registry/bases/base/components/data-table/data-table-sort-list.tsx index 5f4c799b6..b082d72d8 100644 --- a/src/registry/bases/base/components/data-table/data-table-sort-list.tsx +++ b/src/registry/bases/base/components/data-table/data-table-sort-list.tsx @@ -2,12 +2,12 @@ import type { ColumnSort, RowData, Table } from "@tanstack/react-table"; +import { cn } from "cn"; import * as React from "react"; import type { DataTableFeatures } from "@/lib/table-features"; import { dataTableConfig } from "@/lib/data-table-utils"; -import { cn } from "@/lib/utils"; import { Badge } from "@/registry/bases/base/ui/badge"; import { Button } from "@/registry/bases/base/ui/button"; import { diff --git a/src/registry/bases/base/components/data-table/data-table-toolbar.tsx b/src/registry/bases/base/components/data-table/data-table-toolbar.tsx index 0d87b8f96..463f20486 100644 --- a/src/registry/bases/base/components/data-table/data-table-toolbar.tsx +++ b/src/registry/bases/base/components/data-table/data-table-toolbar.tsx @@ -2,11 +2,11 @@ import type { Column, RowData, Table } from "@tanstack/react-table"; +import { cn } from "cn"; import * as React from "react"; import type { DataTableFeatures } from "@/lib/table-features"; -import { cn } from "@/lib/utils"; import { DataTableDateFilter } from "@/registry/bases/base/components/data-table/data-table-date-filter"; import { DataTableFacetedFilter } from "@/registry/bases/base/components/data-table/data-table-faceted-filter"; import { DataTableSliderFilter } from "@/registry/bases/base/components/data-table/data-table-slider-filter"; diff --git a/src/registry/bases/base/components/data-table/data-table-view-options.tsx b/src/registry/bases/base/components/data-table/data-table-view-options.tsx index 2c149989f..d1ed6b1a6 100644 --- a/src/registry/bases/base/components/data-table/data-table-view-options.tsx +++ b/src/registry/bases/base/components/data-table/data-table-view-options.tsx @@ -2,11 +2,11 @@ import type { RowData, Table } from "@tanstack/react-table"; +import { cn } from "cn"; import * as React from "react"; import type { DataTableFeatures } from "@/lib/table-features"; -import { cn } from "@/lib/utils"; import { Button } from "@/registry/bases/base/ui/button"; import { Popover, diff --git a/src/registry/bases/base/components/data-table/data-table.tsx b/src/registry/bases/base/components/data-table/data-table.tsx index ecdcde25d..440b2fef7 100644 --- a/src/registry/bases/base/components/data-table/data-table.tsx +++ b/src/registry/bases/base/components/data-table/data-table.tsx @@ -5,11 +5,11 @@ import { type RowData, type Table as TanstackTable, } from "@tanstack/react-table"; +import { cn } from "cn"; import type { DataTableFeatures } from "@/lib/table-features"; import { getColumnPinningStyle } from "@/lib/data-table-utils"; -import { cn } from "@/lib/utils"; import { DataTablePagination } from "@/registry/bases/base/components/data-table/data-table-pagination"; import { Table, diff --git a/src/registry/bases/base/ui/badge.tsx b/src/registry/bases/base/ui/badge.tsx index a8cbbacc2..054ed3ee6 100644 --- a/src/registry/bases/base/ui/badge.tsx +++ b/src/registry/bases/base/ui/badge.tsx @@ -1,8 +1,7 @@ import { mergeProps } from "@base-ui/react/merge-props"; import { useRender } from "@base-ui/react/use-render"; import { cva, type VariantProps } from "class-variance-authority"; - -import { cn } from "@/lib/utils"; +import { cn } from "cn"; const badgeVariants = cva( "group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!", diff --git a/src/registry/bases/base/ui/button.tsx b/src/registry/bases/base/ui/button.tsx index e2ee79307..4212cbb98 100644 --- a/src/registry/bases/base/ui/button.tsx +++ b/src/registry/bases/base/ui/button.tsx @@ -1,7 +1,6 @@ import { Button as ButtonPrimitive } from "@base-ui/react/button"; import { cva, type VariantProps } from "class-variance-authority"; - -import { cn } from "@/lib/utils"; +import { cn } from "cn"; const buttonVariants = cva( "group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", diff --git a/src/registry/bases/base/ui/checkbox.tsx b/src/registry/bases/base/ui/checkbox.tsx index ca25c330b..8a80b513b 100644 --- a/src/registry/bases/base/ui/checkbox.tsx +++ b/src/registry/bases/base/ui/checkbox.tsx @@ -1,10 +1,9 @@ "use client"; import { Checkbox as CheckboxPrimitive } from "@base-ui/react/checkbox"; +import { cn } from "cn"; import { CheckIcon } from "lucide-react"; -import { cn } from "@/lib/utils"; - function Checkbox({ className, ...props }: CheckboxPrimitive.Root.Props) { return ( ; } diff --git a/src/registry/bases/base/ui/faceted.tsx b/src/registry/bases/base/ui/faceted.tsx index 6f78a43dc..043bfbddd 100644 --- a/src/registry/bases/base/ui/faceted.tsx +++ b/src/registry/bases/base/ui/faceted.tsx @@ -1,8 +1,8 @@ "use client"; +import { cn } from "cn"; import * as React from "react"; -import { cn } from "@/lib/utils"; import { Badge } from "@/registry/bases/base/ui/badge"; import { Popover, diff --git a/src/registry/bases/base/ui/label.tsx b/src/registry/bases/base/ui/label.tsx index 680d9a657..207f5448e 100644 --- a/src/registry/bases/base/ui/label.tsx +++ b/src/registry/bases/base/ui/label.tsx @@ -1,9 +1,8 @@ "use client"; +import { cn } from "cn"; import * as React from "react"; -import { cn } from "@/lib/utils"; - function Label({ className, ...props }: React.ComponentProps<"label">) { return (