From c98bc6cafcc38fed216b1232da7d729fcbeb40b6 Mon Sep 17 00:00:00 2001 From: david Date: Thu, 14 May 2026 13:06:14 +0200 Subject: [PATCH] Limpieza --- .../datatable/with-row-selection.tsx | 49 -------------- packages/rdx-ui/src/components/grid/cell.tsx | 30 --------- packages/rdx-ui/src/components/grid/grid.tsx | 64 ------------------- packages/rdx-ui/src/components/grid/index.ts | 2 - packages/rdx-ui/src/components/index.ts | 1 - 5 files changed, 146 deletions(-) delete mode 100644 packages/rdx-ui/src/components/datatable/with-row-selection.tsx delete mode 100644 packages/rdx-ui/src/components/grid/cell.tsx delete mode 100644 packages/rdx-ui/src/components/grid/grid.tsx delete mode 100644 packages/rdx-ui/src/components/grid/index.ts diff --git a/packages/rdx-ui/src/components/datatable/with-row-selection.tsx b/packages/rdx-ui/src/components/datatable/with-row-selection.tsx deleted file mode 100644 index 1d536f6e..00000000 --- a/packages/rdx-ui/src/components/datatable/with-row-selection.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import { Checkbox } from "@repo/shadcn-ui/components"; -import type { ColumnDef } from "@tanstack/react-table"; -import * as React from "react"; - -// Columna estable (definida una vez) -const selectionCol: ColumnDef = { - id: "select", - header: ({ table }) => ( - table.toggleAllPageRowsSelected(!!v)} - aria-label="Select all" - className="translate-y-[2px]" - /> - ), - cell: ({ row }) => ( - row.toggleSelected(!!v)} - aria-label="Select row" - className="translate-y-[2px]" - /> - ), - enableSorting: false, - enableHiding: false, - size: 36, minSize: 36, maxSize: 36, -}; - -// Función pura (sin hooks) -export function withRowSelection( - base: ColumnDef[], - enabled: boolean -): ColumnDef[] { - if (!enabled) return base; // misma referencia si está desactivado - // Evita duplicar si ya viene incluida - if (base.length > 0 && base[0].id === selectionCol.id) return base; - return [selectionCol as ColumnDef, ...base]; -} - -// Custom hook ergonómico -export function useWithRowSelection( - baseColumns: ColumnDef[], - enabled: boolean -) { - return React.useMemo( - () => withRowSelection(baseColumns, enabled), - [baseColumns, enabled] - ); -} diff --git a/packages/rdx-ui/src/components/grid/cell.tsx b/packages/rdx-ui/src/components/grid/cell.tsx deleted file mode 100644 index 26f4501e..00000000 --- a/packages/rdx-ui/src/components/grid/cell.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { cn } from "@repo/shadcn-ui/lib/utils"; -import type * as React from "react"; - -/** 1–12 spans por breakpoint */ -export type Spans = Partial<{ base: number; sm: number; md: number; lg: number; xl: number }>; - -function to12(n?: number) { - if (!n) return 12; - return n < 1 ? 1 : n > 12 ? 12 : n; -} - -function spansToClasses(spans?: Spans) { - const s = spans ?? { base: 12 }; - const parts: string[] = []; - if (s.base) parts.push(`col-span-${to12(s.base)}`); - if (s.sm) parts.push(`sm:col-span-${to12(s.sm)}`); - if (s.md) parts.push(`md:col-span-${to12(s.md)}`); - if (s.lg) parts.push(`lg:col-span-${to12(s.lg)}`); - if (s.xl) parts.push(`xl:col-span-${to12(s.xl)}`); - return parts.join(" "); -} - -export interface CellProps extends React.HTMLAttributes { - /** 1–12 por breakpoint (p.ej. { base:12, sm:6, xl:3 }) */ - span?: Spans; -} - -export function Cell({ span, className, ...rest }: CellProps) { - return
; -} diff --git a/packages/rdx-ui/src/components/grid/grid.tsx b/packages/rdx-ui/src/components/grid/grid.tsx deleted file mode 100644 index f9f64139..00000000 --- a/packages/rdx-ui/src/components/grid/grid.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import { cn } from "@repo/shadcn-ui/lib/utils"; -import { type VariantProps, cva } from "class-variance-authority"; -import type * as React from "react"; - -/** 1–12 columnas por breakpoint */ -export type Cols = Partial<{ base: number; sm: number; md: number; lg: number; xl: number }>; - -const gridBase = cva("grid", { - variants: { - gap: { - 0: "gap-0", - 1: "gap-1", - 2: "gap-2", - 3: "gap-3", - 4: "gap-4", - 5: "gap-5", - 6: "gap-6", - 8: "gap-8", - 10: "gap-10", - }, - align: { - start: "items-start", - center: "items-center", - end: "items-end", - stretch: "items-stretch", - }, - }, - defaultVariants: { - gap: 6, - align: "stretch", - }, -}); - -function to12(n?: number) { - if (!n) return 12; - return n < 1 ? 1 : n > 12 ? 12 : n; -} - -function colsToClasses(cols?: Cols) { - if (!cols) return ""; - const c: string[] = []; - if (cols.base) c.push(`grid-cols-${to12(cols.base)}`); - if (cols.sm) c.push(`sm:grid-cols-${to12(cols.sm)}`); - if (cols.md) c.push(`md:grid-cols-${to12(cols.md)}`); - if (cols.lg) c.push(`lg:grid-cols-${to12(cols.lg)}`); - if (cols.xl) c.push(`xl:grid-cols-${to12(cols.xl)}`); - return c.join(" "); -} - -export interface GridProps - extends Omit, "children">, - VariantProps { - cols?: Cols; - children?: React.ReactNode; -} - -/** Grid genérico: controla columnas visibles por breakpoint */ -export function Grid({ className, cols, gap, align, children, ...rest }: GridProps) { - return ( -
- {children} -
- ); -} diff --git a/packages/rdx-ui/src/components/grid/index.ts b/packages/rdx-ui/src/components/grid/index.ts deleted file mode 100644 index bc2467ea..00000000 --- a/packages/rdx-ui/src/components/grid/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./cell.tsx"; -export * from "./grid.tsx"; diff --git a/packages/rdx-ui/src/components/index.ts b/packages/rdx-ui/src/components/index.ts index 60f81e0d..64919012 100644 --- a/packages/rdx-ui/src/components/index.ts +++ b/packages/rdx-ui/src/components/index.ts @@ -6,7 +6,6 @@ export * from "./entity-sheet/index.ts"; export * from "./error-overlay.tsx"; export * from "./form/index.ts"; export * from "./full-screen-modal.tsx"; -export * from "./grid/index.ts"; export * from "./initials-avatar.tsx"; export * from "./layout/index.ts"; export * from "./loading-overlay/index.ts";