@uselets/ui 1.18.2 → 1.18.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/components/data-table.d.ts +2 -2
- package/dist/components/data-table.js +1 -1
- package/dist/components/data-table.spec.js +1 -1
- package/dist/components/data-table.spec.js.map +1 -1
- package/dist/components/logo.js +1 -1
- package/dist/components/logo.spec.js +1 -1
- package/dist/components/logo.spec.js.map +1 -1
- package/dist/data-table-DXNWHN9R.d.ts +4184 -0
- package/dist/data-table-tnfPcXqc.js +2 -0
- package/dist/data-table-tnfPcXqc.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/logo-BkwNxZNw.js +2 -0
- package/dist/logo-BkwNxZNw.js.map +1 -0
- package/dist/react.esm-BkhVXJ8s.js.map +1 -1
- package/dist/skills/uselets-ui/references/component-catalog.md +1 -1
- package/dist/skills/uselets-ui/references/package-guide.md +2 -0
- package/dist/styles/gomax.css +4 -0
- package/dist/styles/max.css +4 -0
- package/dist/styles/theme.css +2 -0
- package/package.json +2 -2
- package/skills/uselets-ui/references/component-catalog.md +1 -1
- package/skills/uselets-ui/references/package-guide.md +2 -0
- package/dist/data-table-B0h5peCQ.js +0 -2
- package/dist/data-table-B0h5peCQ.js.map +0 -1
- package/dist/data-table-BT75MSO9.d.ts +0 -111
- package/dist/logo-B0v9bNJH.js +0 -2
- package/dist/logo-B0v9bNJH.js.map +0 -1
|
@@ -274,7 +274,7 @@ Unless noted otherwise, each module also exports its public `*Props` types from
|
|
|
274
274
|
- Exports: `Kbd`, `KbdGroup`
|
|
275
275
|
- `logo`
|
|
276
276
|
- Exports: `MaxLogo`, `GomaxLogo`, `BippiLogo`, `IntelitrackLogo`, `KovraLogo`, `NeutraLogo`, `RdLogo`, `FibonashLogo`, `LetsLogo`
|
|
277
|
-
- Notes: one component per LetsDelivery product brand. `variant: 'icon' | 'full'` (default `full`; `LetsLogo` has no `variant`, it only renders `full`). `tone: 'color' | 'mono'` (default `color`); `GomaxLogo` and `BippiLogo` additionally accept `tone: 'reversed'` (white lockup with an orange accent, for dark/colored backgrounds). `color?: string` recolors `mono`/`reversed` tones (default white); `size: 'sm' | 'md' | 'lg' | number` (default `md`) sets height, width follows each product's own aspect ratio; pass a `number` for an exact pixel height instead of a preset.
|
|
277
|
+
- Notes: one component per LetsDelivery product brand. `variant: 'icon' | 'full'` (default `full`; `LetsLogo` has no `variant`, it only renders `full`). `tone: 'color' | 'mono'` (default `color`); `GomaxLogo` and `BippiLogo` additionally accept `tone: 'reversed'` (white lockup with an orange accent, for dark/colored backgrounds). `color?: string` recolors `mono`/`reversed` tones (default white); `size: 'sm' | 'md' | 'lg' | number` (default `md`) sets height, width follows each product's own aspect ratio; pass a `number` for an exact pixel height instead of a preset. `IntelitrackLogo`, `NeutraLogo`, `KovraLogo`, and `FibonashLogo` use the `--logo-foreground` token for their `color` tone so they stay legible in dark mode; `RdLogo`'s wordmark uses `--rd-logo-foreground` for the same reason.
|
|
278
278
|
- `marker`
|
|
279
279
|
- Exports: `Marker`, `MarkerContent`, `MarkerIcon`, `markerVariants`
|
|
280
280
|
- Notes: inline text row with `variant: 'default' | 'separator' | 'border'` (default `default`) and `asChild`; `separator` renders divider lines flanking the content (labeled divider); `border` renders a bottom border instead. `MarkerIcon` and `MarkerContent` are plain sub-parts for composing an icon + text row.
|
|
@@ -297,6 +297,8 @@ Additional tokens:
|
|
|
297
297
|
- `--destructive-foreground`
|
|
298
298
|
- `text-destructive-foreground`
|
|
299
299
|
- `--gradient-primary`
|
|
300
|
+
- `--logo-foreground`
|
|
301
|
+
- `--rd-logo-foreground`
|
|
300
302
|
|
|
301
303
|
The `Button` component can apply those palette families directly through `color: UIColor`, with `primary` as the default. Its public variants are `solid`, `secondary`, `outline`, `subtle`, `ghost`, and `link`, with `solid` as the default. Its public sizes are `xs`, `sm`, `md`, `lg`, `xl`, `icon-xs`, `icon-sm`, `icon`, `icon-lg`, and `icon-xl`; `loading` shows a centered spinner, keeps native button content invisible to preserve size, and disables the button without dimming it.
|
|
302
304
|
|
package/dist/styles/gomax.css
CHANGED
|
@@ -130,6 +130,8 @@
|
|
|
130
130
|
/* semantic tokens */
|
|
131
131
|
--background: var(--gray-50);
|
|
132
132
|
--foreground: var(--gray-900);
|
|
133
|
+
--logo-foreground: oklch(0.262 0.035 267.621);
|
|
134
|
+
--rd-logo-foreground: oklch(0.278 0.042 182.513);
|
|
133
135
|
--card: oklch(1 0 0);
|
|
134
136
|
--card-foreground: var(--gray-900);
|
|
135
137
|
--popover: oklch(1 0 0);
|
|
@@ -175,6 +177,8 @@
|
|
|
175
177
|
.dark {
|
|
176
178
|
--background: var(--zinc-950);
|
|
177
179
|
--foreground: var(--zinc-50);
|
|
180
|
+
--logo-foreground: var(--zinc-600);
|
|
181
|
+
--rd-logo-foreground: var(--green-400);
|
|
178
182
|
--card: var(--zinc-900);
|
|
179
183
|
--card-foreground: var(--zinc-50);
|
|
180
184
|
--popover: var(--zinc-900);
|
package/dist/styles/max.css
CHANGED
|
@@ -131,6 +131,8 @@
|
|
|
131
131
|
/* semantic tokens */
|
|
132
132
|
--background: var(--zinc-50);
|
|
133
133
|
--foreground: var(--zinc-950);
|
|
134
|
+
--logo-foreground: oklch(0.262 0.035 267.621);
|
|
135
|
+
--rd-logo-foreground: oklch(0.278 0.042 182.513);
|
|
134
136
|
--card: var(--zinc-50);
|
|
135
137
|
--card-foreground: var(--zinc-950);
|
|
136
138
|
--popover: var(--zinc-50);
|
|
@@ -176,6 +178,8 @@
|
|
|
176
178
|
.dark {
|
|
177
179
|
--background: var(--zinc-950);
|
|
178
180
|
--foreground: var(--zinc-50);
|
|
181
|
+
--logo-foreground: var(--zinc-700);
|
|
182
|
+
--rd-logo-foreground: var(--green-400);
|
|
179
183
|
--card: var(--zinc-900);
|
|
180
184
|
--card-foreground: var(--zinc-50);
|
|
181
185
|
--popover: var(--zinc-900);
|
package/dist/styles/theme.css
CHANGED
|
@@ -195,6 +195,8 @@
|
|
|
195
195
|
--color-card-foreground: var(--card-foreground);
|
|
196
196
|
--color-card: var(--card);
|
|
197
197
|
--color-foreground: var(--foreground);
|
|
198
|
+
--color-logo-foreground: var(--logo-foreground);
|
|
199
|
+
--color-rd-logo-foreground: var(--rd-logo-foreground);
|
|
198
200
|
--color-background: var(--background);
|
|
199
201
|
--radius-xs: calc(var(--radius) - 4px);
|
|
200
202
|
--radius-sm: calc(var(--radius) - 2px);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uselets/ui",
|
|
3
|
-
"version": "1.18.
|
|
3
|
+
"version": "1.18.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"private": false,
|
|
6
6
|
"description": "React component library for the LET'S design system.",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"@fontsource-variable/inter": "5.3.0",
|
|
64
64
|
"@react-input/mask": "2.0.4",
|
|
65
65
|
"@tabler/icons-react": "3.46.0",
|
|
66
|
-
"@tanstack/react-table": "
|
|
66
|
+
"@tanstack/react-table": "9.1.2",
|
|
67
67
|
"class-variance-authority": "0.7.1",
|
|
68
68
|
"clsx": "2.1.1",
|
|
69
69
|
"cmdk": "1.1.1",
|
|
@@ -274,7 +274,7 @@ Unless noted otherwise, each module also exports its public `*Props` types from
|
|
|
274
274
|
- Exports: `Kbd`, `KbdGroup`
|
|
275
275
|
- `logo`
|
|
276
276
|
- Exports: `MaxLogo`, `GomaxLogo`, `BippiLogo`, `IntelitrackLogo`, `KovraLogo`, `NeutraLogo`, `RdLogo`, `FibonashLogo`, `LetsLogo`
|
|
277
|
-
- Notes: one component per LetsDelivery product brand. `variant: 'icon' | 'full'` (default `full`; `LetsLogo` has no `variant`, it only renders `full`). `tone: 'color' | 'mono'` (default `color`); `GomaxLogo` and `BippiLogo` additionally accept `tone: 'reversed'` (white lockup with an orange accent, for dark/colored backgrounds). `color?: string` recolors `mono`/`reversed` tones (default white); `size: 'sm' | 'md' | 'lg' | number` (default `md`) sets height, width follows each product's own aspect ratio; pass a `number` for an exact pixel height instead of a preset.
|
|
277
|
+
- Notes: one component per LetsDelivery product brand. `variant: 'icon' | 'full'` (default `full`; `LetsLogo` has no `variant`, it only renders `full`). `tone: 'color' | 'mono'` (default `color`); `GomaxLogo` and `BippiLogo` additionally accept `tone: 'reversed'` (white lockup with an orange accent, for dark/colored backgrounds). `color?: string` recolors `mono`/`reversed` tones (default white); `size: 'sm' | 'md' | 'lg' | number` (default `md`) sets height, width follows each product's own aspect ratio; pass a `number` for an exact pixel height instead of a preset. `IntelitrackLogo`, `NeutraLogo`, `KovraLogo`, and `FibonashLogo` use the `--logo-foreground` token for their `color` tone so they stay legible in dark mode; `RdLogo`'s wordmark uses `--rd-logo-foreground` for the same reason.
|
|
278
278
|
- `marker`
|
|
279
279
|
- Exports: `Marker`, `MarkerContent`, `MarkerIcon`, `markerVariants`
|
|
280
280
|
- Notes: inline text row with `variant: 'default' | 'separator' | 'border'` (default `default`) and `asChild`; `separator` renders divider lines flanking the content (labeled divider); `border` renders a bottom border instead. `MarkerIcon` and `MarkerContent` are plain sub-parts for composing an icon + text row.
|
|
@@ -297,6 +297,8 @@ Additional tokens:
|
|
|
297
297
|
- `--destructive-foreground`
|
|
298
298
|
- `text-destructive-foreground`
|
|
299
299
|
- `--gradient-primary`
|
|
300
|
+
- `--logo-foreground`
|
|
301
|
+
- `--rd-logo-foreground`
|
|
300
302
|
|
|
301
303
|
The `Button` component can apply those palette families directly through `color: UIColor`, with `primary` as the default. Its public variants are `solid`, `secondary`, `outline`, `subtle`, `ghost`, and `link`, with `solid` as the default. Its public sizes are `xs`, `sm`, `md`, `lg`, `xl`, `icon-xs`, `icon-sm`, `icon`, `icon-lg`, and `icon-xl`; `loading` shows a centered spinner, keeps native button content invisible to preserve size, and disables the button without dimming it.
|
|
302
304
|
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime-Bdj-bS2b.js";import{t as e}from"./utils-DP9KtG7I.js";import{t}from"./button-oI3hbOgp.js";import{t as n}from"./checkbox-DPvW_m7k.js";import{t as r}from"./input-BhEEV_nn.js";import{i,n as a,t as o}from"./input-group-BUTp8vYe.js";import{h as s,i as c,n as l,r as u,t as d}from"./dropdown-menu-zRuQQS5S.js";import{i as f,l as p,n as m,r as h,t as g,u as _}from"./select-C3QYNv4t.js";import{a as v,c as y,i as b,l as x,n as S,s as C,t as w}from"./table-CuE0Aenj.js";import{IconArrowsSort as T,IconChevronLeft as E,IconChevronRight as D,IconChevronsLeft as O,IconChevronsRight as k,IconColumns3 as A,IconSortAscending as j,IconSortDescending as M}from"@tabler/icons-react";import{jsx as N,jsxs as P}from"react/jsx-runtime";import*as F from"react";import{flexRender as I,getCoreRowModel as L,getFilteredRowModel as R,getPaginationRowModel as z,getSortedRowModel as B,useReactTable as V}from"@tanstack/react-table";const H={filterPlaceholder:`Filtrar linhas...`,filterColumnSelectorLabel:`Coluna para filtrar`,emptyMessage:`Nenhum resultado.`,columnsButton:`Colunas`,rowsPerPage:`Linhas por página`,pageOf:(e,t)=>`Página ${e} de ${t}`,goToFirstPage:`Ir para a primeira página`,goToPreviousPage:`Ir para a página anterior`,goToNextPage:`Ir para a próxima página`,goToLastPage:`Ir para a última página`,selectAllRows:`Selecionar todas as linhas`,selectRow:`Selecionar linha`},U=F.createContext(null);function useDataTableContext(){let e=F.useContext(U);if(!e)throw Error(`useDataTableContext must be used within <DataTableRoot>`);return e}function useOptionalDataTableContext(){return F.useContext(U)}function renderToolbarActions(e,t){return typeof e==`function`?e(t):e}function getColumnLabel(e){return e?e.columnDef.meta?.label??e.id:``}function useDataTable({columns:e,data:t,getRowId:n,pageSize:r=10,enableRowSelection:i=!1,enableSorting:a=!1,enablePagination:o=!1,labels:s}){let[c,l]=F.useState([]),[u,d]=F.useState([]),[f,p]=F.useState({}),[m,h]=F.useState({pageIndex:0,pageSize:r}),[g,_]=F.useState({}),v=F.useMemo(()=>({...H,...s}),[s]);return V({data:t,columns:F.useMemo(()=>!i||e.some(e=>e.id===`select`)?e:[createDataTableSelectColumn({labels:{selectAllRows:v.selectAllRows,selectRow:v.selectRow}}),...e],[e,i,v.selectAllRows,v.selectRow]),getRowId:n,enableRowSelection:i,enableSorting:a,state:{sorting:c,columnFilters:u,columnVisibility:f,rowSelection:g,pagination:m},onSortingChange:l,onColumnFiltersChange:d,onColumnVisibilityChange:p,onPaginationChange:h,onRowSelectionChange:_,getCoreRowModel:L(),getFilteredRowModel:R(),getPaginationRowModel:o?z():void 0,getSortedRowModel:a?B():void 0})}function DataTableRootControlled({table:t,labels:n,className:r,children:i}){let a={table:t,labels:F.useMemo(()=>({...H,...n}),[n])};return N(U.Provider,{value:a,children:N(`div`,{className:e(`flex w-full flex-col gap-4`,r),children:i})})}function DataTableRootUncontrolled({columns:e,data:t,getRowId:n,pageSize:r,enableRowSelection:i,enableSorting:a,enablePagination:o,labels:s,className:c,children:l}){return N(DataTableRootControlled,{table:useDataTable({columns:e,data:t,getRowId:n,pageSize:r,enableRowSelection:i,enableSorting:a,enablePagination:o,labels:s}),labels:s,className:c,children:l})}function DataTableRoot(e){if(`table`in e&&e.table!==void 0){let{table:t,labels:n,className:r,children:i}=e;return N(DataTableRootControlled,{table:t,labels:n,className:r,children:i})}let{columns:t,data:n,getRowId:r,pageSize:i,enableRowSelection:a,enableSorting:o,enablePagination:s,labels:c,className:l,children:u}=e;return N(DataTableRootUncontrolled,{columns:t,data:n,getRowId:r,pageSize:i,enableRowSelection:a,enableSorting:o,enablePagination:s,labels:c,className:l,children:u})}function DataTableColumnHeader({column:n,title:r,className:i,...a}){if(!n.getCanSort())return N(`div`,{className:e(`inline-flex items-center gap-1`,i),...a,children:r});let o=n.getIsSorted();return P(`div`,{className:e(`inline-flex items-center gap-1`,i),...a,children:[r,N(t,{variant:`ghost`,color:`zinc`,size:`icon-xs`,onClick:()=>{if(o===`desc`)return n.clearSorting();n.toggleSorting(o===`asc`)},children:N(o===`desc`?M:o===`asc`?j:T,{className:`size-4`,"data-icon":`inline-end`})})]})}function DataTableViewOptions({table:n,label:r,className:i,...a}){let o=useOptionalDataTableContext(),f=n??o?.table;if(!f)throw Error("DataTableViewOptions requires a `table` prop or to be rendered within <DataTableRoot>");let p=r??o?.labels.columnsButton??H.columnsButton,m=f.getAllColumns().filter(e=>e.accessorFn!==void 0&&e.getCanHide());return m.length===0?null:P(d,{children:[N(s,{asChild:!0,children:P(t,{type:`button`,variant:`outline`,color:`zinc`,size:`sm`,className:e(`ml-auto`,i),...a,children:[N(A,{"data-icon":`inline-start`}),p]})}),N(u,{align:`end`,className:`w-44`,children:N(c,{children:m.map(e=>N(l,{checked:e.getIsVisible(),onCheckedChange:t=>e.toggleVisibility(!!t),children:e.id},e.id))})})]})}function DataTableToolbar({filterColumns:t,showColumnVisibility:n,toolbarActions:s,labels:c,className:l}){let{table:u,labels:d}=useDataTableContext(),f=F.useMemo(()=>c?{...d,...c}:d,[d,c]),p=F.useMemo(()=>t?Array.isArray(t)?t:[t]:[],[t]),m=renderToolbarActions(s,u),h=p.length>0,[g,_]=F.useState(p[0]);if(F.useEffect(()=>{if(p.length===0){_(void 0);return}_(e=>e&&p.includes(e)?e:p[0])},[p]),!h&&!n&&!m)return null;let v=g?u.getColumn(g):void 0,y=v?.getFilterValue()??``,handleColumnChange=e=>{e!==g&&(g&&u.getColumn(g)?.setFilterValue(void 0),_(e))};return P(`div`,{className:e(`flex flex-col gap-2 sm:flex-row sm:items-center`,l),children:[h&&v?p.length>1?P(o,{className:`h-8 w-full sm:max-w-md`,children:[N(a,{align:`inline-start`,className:`pr-0`,children:N(`select`,{"aria-label":f.filterColumnSelectorLabel,value:g,onChange:e=>handleColumnChange(e.target.value),className:`cursor-pointer appearance-none border-0 bg-transparent pr-1 text-sm font-medium text-foreground outline-none focus:outline-none`,children:p.map(e=>N(`option`,{value:e,children:getColumnLabel(u.getColumn(e))},e))})}),N(i,{placeholder:f.filterPlaceholder,value:y,onChange:e=>v.setFilterValue(e.target.value)})]}):N(r,{placeholder:f.filterPlaceholder,value:y,onChange:e=>v.setFilterValue(e.target.value),className:`h-8 w-full sm:max-w-xs`}):null,P(`div`,{className:`flex flex-1 items-center justify-end gap-2`,children:[m,n?N(DataTableViewOptions,{table:u,label:f.columnsButton}):null]})]})}function DataTableHeader({className:e}={}){let{table:t}=useDataTableContext();return N(y,{className:e,children:t.getHeaderGroups().map(e=>N(x,{children:e.headers.map(e=>N(C,{colSpan:e.colSpan,children:e.isPlaceholder?null:I(e.column.columnDef.header,e.getContext())},e.id))},e.id))})}function DataTableBody({emptyMessage:e,className:t}={}){let{table:n,labels:r}=useDataTableContext(),i=n.getRowModel().rows,a=n.getVisibleLeafColumns().length,o=e??r.emptyMessage;return N(S,{className:t,children:i.length===0?N(x,{children:N(b,{colSpan:a,className:`h-24 text-center`,children:o})}):i.map(e=>N(x,{"data-state":e.getIsSelected()?`selected`:void 0,children:e.getVisibleCells().map(e=>N(b,{children:I(e.column.columnDef.cell,e.getContext())},e.id))},e.id))})}function DataTablePagination({table:n,pageSizeOptions:r=[10,20,30,40,50],labels:i,className:a,...o}){let s=useOptionalDataTableContext(),c=n??s?.table;if(!c)throw Error("DataTablePagination requires a `table` prop or to be rendered within <DataTableRoot>");let l=F.useMemo(()=>({...H,...s?.labels,...i}),[s?.labels,i]),u=c.getPageCount(),d=Math.max(u,1),v=c.getState().pagination.pageIndex;return N(`div`,{className:e(`flex items-center justify-end gap-4 px-2`,a),...o,children:P(`div`,{className:`flex items-center gap-6 lg:gap-8`,children:[P(`div`,{className:`hidden items-center gap-2 sm:flex`,children:[N(`p`,{className:`text-sm font-medium`,children:l.rowsPerPage}),P(g,{value:`${c.getState().pagination.pageSize}`,onValueChange:e=>c.setPageSize(Number(e)),children:[N(p,{size:`sm`,className:`h-8 w-20`,children:N(_,{})}),N(m,{side:`top`,children:N(h,{children:r.map(e=>N(f,{value:`${e}`,children:e},e))})})]})]}),N(`div`,{className:`text-sm font-medium`,children:l.pageOf(v+1,d)}),P(`div`,{className:`flex items-center gap-1`,children:[N(t,{type:`button`,variant:`outline`,color:`zinc`,size:`icon-sm`,className:`hidden lg:inline-flex`,onClick:()=>c.setPageIndex(0),disabled:!c.getCanPreviousPage(),"aria-label":l.goToFirstPage,children:N(O,{})}),N(t,{type:`button`,variant:`outline`,color:`zinc`,size:`icon-sm`,onClick:()=>c.previousPage(),disabled:!c.getCanPreviousPage(),"aria-label":l.goToPreviousPage,children:N(E,{})}),N(t,{type:`button`,variant:`outline`,color:`zinc`,size:`icon-sm`,onClick:()=>c.nextPage(),disabled:!c.getCanNextPage(),"aria-label":l.goToNextPage,children:N(D,{})}),N(t,{type:`button`,variant:`outline`,color:`zinc`,size:`icon-sm`,className:`hidden lg:inline-flex`,onClick:()=>c.setPageIndex(u-1),disabled:!c.getCanNextPage(),"aria-label":l.goToLastPage,children:N(k,{})})]})]})})}function createDataTableSelectColumn(e){let t=e?.labels?.selectAllRows??H.selectAllRows,r=e?.labels?.selectRow??H.selectRow;return{id:`select`,enableSorting:!1,enableHiding:!1,header:({table:e})=>N(n,{"aria-label":t,checked:e.getIsAllPageRowsSelected()||e.getIsSomePageRowsSelected()&&`indeterminate`,onCheckedChange:t=>e.toggleAllPageRowsSelected(!!t)}),cell:({row:e})=>N(n,{"aria-label":r,checked:e.getIsSelected()||e.getIsSomeSelected()&&`indeterminate`,disabled:!e.getCanSelect(),onCheckedChange:t=>e.toggleSelected(!!t)})}}function DataTable({columns:e,data:t,getRowId:n,filterColumns:r,pageSize:i=10,pageSizeOptions:a,enableRowSelection:o=!1,enableSorting:s=!1,showPagination:c=!1,showColumnVisibility:l=!1,toolbarActions:u,labels:d,className:f,tableClassName:p,variant:m}){return P(DataTableRoot,{columns:e,data:t,getRowId:n,pageSize:i,enableRowSelection:o,enableSorting:s,labels:d,className:f,children:[N(DataTableToolbar,{filterColumns:r,showColumnVisibility:l,toolbarActions:u}),N(v,{children:P(w,{className:p,variant:m,children:[N(DataTableHeader,{}),N(DataTableBody,{})]})}),c?N(DataTablePagination,{pageSizeOptions:a}):null]})}export{DataTablePagination as a,DataTableViewOptions as c,useDataTable as d,useDataTableContext as f,DataTableHeader as i,createDataTableSelectColumn as l,DataTableBody as n,DataTableRoot as o,DataTableColumnHeader as r,DataTableToolbar as s,DataTable as t,H as u};
|
|
2
|
-
//# sourceMappingURL=data-table-B0h5peCQ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-table-B0h5peCQ.js","names":["Table"],"sources":["../src/components/data-table.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport {\n IconArrowsSort,\n IconChevronLeft,\n IconChevronRight,\n IconChevronsLeft,\n IconChevronsRight,\n IconColumns3,\n IconSortAscending,\n IconSortDescending\n} from '@tabler/icons-react'\nimport type {\n Column,\n ColumnDef,\n ColumnFiltersState,\n PaginationState,\n RowData,\n RowSelectionState,\n SortingState,\n Table as TanStackTable,\n VisibilityState\n} from '@tanstack/react-table'\nimport {\n flexRender,\n getCoreRowModel,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable\n} from '@tanstack/react-table'\n\nimport { cn } from '../lib/utils'\nimport { Button } from './button'\nimport { Checkbox } from './checkbox'\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuTrigger\n} from './dropdown-menu'\nimport { Input } from './input'\nimport { InputGroup, InputGroupAddon, InputGroupInput } from './input-group'\nimport { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from './select'\nimport { Table, TableBody, TableCell, TableContainer, TableHead, TableHeader, type TableProps, TableRow } from './table'\n\ntype DataTableToolbarActions<TData> = React.ReactNode | ((table: TanStackTable<TData>) => React.ReactNode)\n\nexport type DataTableLabels = {\n filterPlaceholder: string\n filterColumnSelectorLabel: string\n emptyMessage: React.ReactNode\n columnsButton: string\n rowsPerPage: string\n pageOf: (current: number, total: number) => React.ReactNode\n goToFirstPage: string\n goToPreviousPage: string\n goToNextPage: string\n goToLastPage: string\n selectAllRows: string\n selectRow: string\n}\n\nexport const defaultDataTableLabels: DataTableLabels = {\n filterPlaceholder: 'Filtrar linhas...',\n filterColumnSelectorLabel: 'Coluna para filtrar',\n emptyMessage: 'Nenhum resultado.',\n columnsButton: 'Colunas',\n rowsPerPage: 'Linhas por página',\n pageOf: (current, total) => `Página ${current} de ${total}`,\n goToFirstPage: 'Ir para a primeira página',\n goToPreviousPage: 'Ir para a página anterior',\n goToNextPage: 'Ir para a próxima página',\n goToLastPage: 'Ir para a última página',\n selectAllRows: 'Selecionar todas as linhas',\n selectRow: 'Selecionar linha'\n}\n\nexport type DataTableProps<TData extends RowData, TValue = unknown> = {\n columns: ColumnDef<TData, TValue>[]\n data: TData[]\n getRowId?: (originalRow: TData, index: number, parent?: { id: string }) => string\n filterColumns?: string | string[]\n pageSize?: number\n pageSizeOptions?: number[]\n enableRowSelection?: boolean\n enableSorting?: boolean\n showPagination?: boolean\n showColumnVisibility?: boolean\n toolbarActions?: DataTableToolbarActions<TData>\n labels?: Partial<DataTableLabels>\n className?: string\n tableClassName?: string\n variant?: TableProps['variant']\n}\n\nexport type DataTableColumnHeaderProps<TData extends RowData, TValue> = React.ComponentProps<'div'> & {\n column: Column<TData, TValue>\n title: React.ReactNode\n}\n\nexport type DataTablePaginationProps<TData extends RowData> = React.ComponentProps<'div'> & {\n table?: TanStackTable<TData>\n pageSizeOptions?: number[]\n labels?: Partial<DataTableLabels>\n}\n\nexport type DataTableViewOptionsProps<TData extends RowData> = React.ComponentProps<typeof Button> & {\n table?: TanStackTable<TData>\n label?: React.ReactNode\n}\n\nexport type UseDataTableOptions<TData extends RowData, TValue = unknown> = {\n columns: ColumnDef<TData, TValue>[]\n data: TData[]\n getRowId?: (originalRow: TData, index: number, parent?: { id: string }) => string\n pageSize?: number\n enableRowSelection?: boolean\n enableSorting?: boolean\n enablePagination?: boolean\n labels?: Partial<DataTableLabels>\n}\n\nexport type DataTableRootProps<TData extends RowData, TValue = unknown> = {\n labels?: Partial<DataTableLabels>\n className?: string\n children: React.ReactNode\n} & (\n | { table: TanStackTable<TData>; columns?: never; data?: never }\n | (Omit<UseDataTableOptions<TData, TValue>, 'labels'> & { table?: never })\n)\n\nexport type DataTableToolbarProps<TData extends RowData> = {\n filterColumns?: string | string[]\n showColumnVisibility?: boolean\n toolbarActions?: DataTableToolbarActions<TData>\n labels?: Partial<DataTableLabels>\n className?: string\n}\n\nexport type DataTableHeaderProps = {\n className?: string\n}\n\nexport type DataTableBodyProps = {\n emptyMessage?: React.ReactNode\n className?: string\n}\n\ntype DataTableContextValue<TData extends RowData> = {\n table: TanStackTable<TData>\n labels: DataTableLabels\n}\n\nconst DataTableContext = React.createContext<DataTableContextValue<RowData> | null>(null)\n\nexport function useDataTableContext<TData extends RowData>(): DataTableContextValue<TData> {\n const ctx = React.useContext(DataTableContext)\n if (!ctx) {\n throw new Error('useDataTableContext must be used within <DataTableRoot>')\n }\n return ctx as unknown as DataTableContextValue<TData>\n}\n\nfunction useOptionalDataTableContext<TData extends RowData>(): DataTableContextValue<TData> | null {\n const ctx = React.useContext(DataTableContext)\n return ctx as unknown as DataTableContextValue<TData> | null\n}\n\nfunction renderToolbarActions<TData extends RowData>(\n actions: DataTableToolbarActions<TData> | undefined,\n table: TanStackTable<TData>\n) {\n return typeof actions === 'function' ? actions(table) : actions\n}\n\nfunction getColumnLabel<TData extends RowData>(column: ReturnType<TanStackTable<TData>['getColumn']>): string {\n if (!column) {\n return ''\n }\n const meta = column.columnDef.meta as { label?: string } | undefined\n return meta?.label ?? column.id\n}\n\nexport function useDataTable<TData extends RowData, TValue = unknown>({\n columns,\n data,\n getRowId,\n pageSize = 10,\n enableRowSelection = false,\n enableSorting = false,\n enablePagination = false,\n labels\n}: UseDataTableOptions<TData, TValue>): TanStackTable<TData> {\n const [sorting, setSorting] = React.useState<SortingState>([])\n const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>([])\n const [columnVisibility, setColumnVisibility] = React.useState<VisibilityState>({})\n const [pagination, setPagination] = React.useState<PaginationState>({\n pageIndex: 0,\n pageSize\n })\n const [rowSelection, setRowSelection] = React.useState<RowSelectionState>({})\n\n const mergedLabels = React.useMemo(() => ({ ...defaultDataTableLabels, ...labels }), [labels])\n const resolvedColumns = React.useMemo<ColumnDef<TData, TValue>[]>(() => {\n if (!enableRowSelection) {\n return columns\n }\n if (columns.some((column) => column.id === 'select')) {\n return columns\n }\n return [\n createDataTableSelectColumn<TData>({\n labels: { selectAllRows: mergedLabels.selectAllRows, selectRow: mergedLabels.selectRow }\n }) as ColumnDef<TData, TValue>,\n ...columns\n ]\n }, [columns, enableRowSelection, mergedLabels.selectAllRows, mergedLabels.selectRow])\n\n return useReactTable({\n data,\n columns: resolvedColumns,\n getRowId,\n enableRowSelection,\n enableSorting,\n state: {\n sorting,\n columnFilters,\n columnVisibility,\n rowSelection,\n pagination\n },\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n onColumnVisibilityChange: setColumnVisibility,\n onPaginationChange: setPagination,\n onRowSelectionChange: setRowSelection,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getPaginationRowModel: enablePagination ? getPaginationRowModel() : undefined,\n getSortedRowModel: enableSorting ? getSortedRowModel() : undefined\n })\n}\n\nfunction DataTableRootControlled<TData extends RowData>({\n table,\n labels,\n className,\n children\n}: {\n table: TanStackTable<TData>\n labels?: Partial<DataTableLabels>\n className?: string\n children: React.ReactNode\n}) {\n const mergedLabels = React.useMemo(() => ({ ...defaultDataTableLabels, ...labels }), [labels])\n const value: DataTableContextValue<TData> = { table, labels: mergedLabels }\n return (\n <DataTableContext.Provider value={value as unknown as DataTableContextValue<RowData>}>\n <div className={cn('flex w-full flex-col gap-4', className)}>{children}</div>\n </DataTableContext.Provider>\n )\n}\n\nfunction DataTableRootUncontrolled<TData extends RowData, TValue = unknown>({\n columns,\n data,\n getRowId,\n pageSize,\n enableRowSelection,\n enableSorting,\n enablePagination,\n labels,\n className,\n children\n}: Omit<UseDataTableOptions<TData, TValue>, 'labels'> & {\n labels?: Partial<DataTableLabels>\n className?: string\n children: React.ReactNode\n}) {\n const table = useDataTable<TData, TValue>({\n columns,\n data,\n getRowId,\n pageSize,\n enableRowSelection,\n enableSorting,\n enablePagination,\n labels\n })\n return (\n <DataTableRootControlled table={table} labels={labels} className={className}>\n {children}\n </DataTableRootControlled>\n )\n}\n\nfunction DataTableRoot<TData extends RowData, TValue = unknown>(props: DataTableRootProps<TData, TValue>) {\n if ('table' in props && props.table !== undefined) {\n const { table, labels, className, children } = props\n return (\n <DataTableRootControlled table={table} labels={labels} className={className}>\n {children}\n </DataTableRootControlled>\n )\n }\n const {\n columns,\n data,\n getRowId,\n pageSize,\n enableRowSelection,\n enableSorting,\n enablePagination,\n labels,\n className,\n children\n } = props\n return (\n <DataTableRootUncontrolled<TData, TValue>\n columns={columns!}\n data={data!}\n getRowId={getRowId}\n pageSize={pageSize}\n enableRowSelection={enableRowSelection}\n enableSorting={enableSorting}\n enablePagination={enablePagination}\n labels={labels}\n className={className}\n >\n {children}\n </DataTableRootUncontrolled>\n )\n}\n\nfunction DataTableColumnHeader<TData extends RowData, TValue>({\n column,\n title,\n className,\n ...props\n}: DataTableColumnHeaderProps<TData, TValue>) {\n if (!column.getCanSort()) {\n return (\n <div className={cn('inline-flex items-center gap-1', className)} {...props}>\n {title}\n </div>\n )\n }\n\n const sorted = column.getIsSorted()\n\n return (\n <div className={cn('inline-flex items-center gap-1', className)} {...props}>\n {title}\n <Button\n variant=\"ghost\"\n color=\"zinc\"\n size=\"icon-xs\"\n onClick={() => {\n if (sorted === 'desc') return column.clearSorting()\n column.toggleSorting(sorted === 'asc')\n }}\n >\n {sorted === 'desc' ? (\n <IconSortDescending className=\"size-4\" data-icon=\"inline-end\" />\n ) : sorted === 'asc' ? (\n <IconSortAscending className=\"size-4\" data-icon=\"inline-end\" />\n ) : (\n <IconArrowsSort className=\"size-4\" data-icon=\"inline-end\" />\n )}\n </Button>\n </div>\n )\n}\n\nfunction DataTableViewOptions<TData extends RowData>({\n table: tableProp,\n label,\n className,\n ...props\n}: DataTableViewOptionsProps<TData>) {\n const ctx = useOptionalDataTableContext<TData>()\n const table = tableProp ?? ctx?.table\n if (!table) {\n throw new Error('DataTableViewOptions requires a `table` prop or to be rendered within <DataTableRoot>')\n }\n const resolvedLabel = label ?? ctx?.labels.columnsButton ?? defaultDataTableLabels.columnsButton\n const columns = table\n .getAllColumns()\n .filter((column) => typeof column.accessorFn !== 'undefined' && column.getCanHide())\n\n if (columns.length === 0) {\n return null\n }\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button type=\"button\" variant=\"outline\" color=\"zinc\" size=\"sm\" className={cn('ml-auto', className)} {...props}>\n <IconColumns3 data-icon=\"inline-start\" />\n {resolvedLabel}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-44\">\n <DropdownMenuGroup>\n {columns.map((column) => (\n <DropdownMenuCheckboxItem\n key={column.id}\n checked={column.getIsVisible()}\n onCheckedChange={(value) => column.toggleVisibility(Boolean(value))}\n >\n {column.id}\n </DropdownMenuCheckboxItem>\n ))}\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n )\n}\n\nfunction DataTableToolbar<TData extends RowData>({\n filterColumns,\n showColumnVisibility,\n toolbarActions,\n labels: labelsOverride,\n className\n}: DataTableToolbarProps<TData>) {\n const { table, labels: contextLabels } = useDataTableContext<TData>()\n const labels = React.useMemo(\n () => (labelsOverride ? { ...contextLabels, ...labelsOverride } : contextLabels),\n [contextLabels, labelsOverride]\n )\n const filterColumnIds = React.useMemo<string[]>(() => {\n if (!filterColumns) {\n return []\n }\n return Array.isArray(filterColumns) ? filterColumns : [filterColumns]\n }, [filterColumns])\n\n const actions = renderToolbarActions(toolbarActions, table)\n const hasFilter = filterColumnIds.length > 0\n const [activeFilterColumn, setActiveFilterColumn] = React.useState<string | undefined>(filterColumnIds[0])\n\n React.useEffect(() => {\n if (filterColumnIds.length === 0) {\n setActiveFilterColumn(undefined)\n return\n }\n setActiveFilterColumn((current) => (current && filterColumnIds.includes(current) ? current : filterColumnIds[0]))\n }, [filterColumnIds])\n\n if (!hasFilter && !showColumnVisibility && !actions) {\n return null\n }\n\n const activeColumn = activeFilterColumn ? table.getColumn(activeFilterColumn) : undefined\n const filterValue = (activeColumn?.getFilterValue() as string | undefined) ?? ''\n\n const handleColumnChange = (nextId: string) => {\n if (nextId === activeFilterColumn) {\n return\n }\n if (activeFilterColumn) {\n table.getColumn(activeFilterColumn)?.setFilterValue(undefined)\n }\n setActiveFilterColumn(nextId)\n }\n\n return (\n <div className={cn('flex flex-col gap-2 sm:flex-row sm:items-center', className)}>\n {hasFilter && activeColumn ? (\n filterColumnIds.length > 1 ? (\n <InputGroup className=\"h-8 w-full sm:max-w-md\">\n <InputGroupAddon align=\"inline-start\" className=\"pr-0\">\n <select\n aria-label={labels.filterColumnSelectorLabel}\n value={activeFilterColumn}\n onChange={(event) => handleColumnChange(event.target.value)}\n className=\"cursor-pointer appearance-none border-0 bg-transparent pr-1 text-sm font-medium text-foreground outline-none focus:outline-none\"\n >\n {filterColumnIds.map((id) => (\n <option key={id} value={id}>\n {getColumnLabel(table.getColumn(id))}\n </option>\n ))}\n </select>\n </InputGroupAddon>\n <InputGroupInput\n placeholder={labels.filterPlaceholder}\n value={filterValue}\n onChange={(event) => activeColumn.setFilterValue(event.target.value)}\n />\n </InputGroup>\n ) : (\n <Input\n placeholder={labels.filterPlaceholder}\n value={filterValue}\n onChange={(event) => activeColumn.setFilterValue(event.target.value)}\n className=\"h-8 w-full sm:max-w-xs\"\n />\n )\n ) : null}\n <div className=\"flex flex-1 items-center justify-end gap-2\">\n {actions}\n {showColumnVisibility ? <DataTableViewOptions table={table} label={labels.columnsButton} /> : null}\n </div>\n </div>\n )\n}\n\nfunction DataTableHeader<TData extends RowData>({ className }: DataTableHeaderProps = {}) {\n const { table } = useDataTableContext<TData>()\n return (\n <TableHeader className={className}>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => (\n <TableHead key={header.id} colSpan={header.colSpan}>\n {header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())}\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n )\n}\n\nfunction DataTableBody<TData extends RowData>({ emptyMessage, className }: DataTableBodyProps = {}) {\n const { table, labels } = useDataTableContext<TData>()\n const rows = table.getRowModel().rows\n const visibleColumnCount = table.getVisibleLeafColumns().length\n const resolvedEmptyMessage = emptyMessage ?? labels.emptyMessage\n\n return (\n <TableBody className={className}>\n {rows.length === 0 ? (\n <TableRow>\n <TableCell colSpan={visibleColumnCount} className=\"h-24 text-center\">\n {resolvedEmptyMessage}\n </TableCell>\n </TableRow>\n ) : (\n rows.map((row) => (\n <TableRow key={row.id} data-state={row.getIsSelected() ? 'selected' : undefined}>\n {row.getVisibleCells().map((cell) => (\n <TableCell key={cell.id}>{flexRender(cell.column.columnDef.cell, cell.getContext())}</TableCell>\n ))}\n </TableRow>\n ))\n )}\n </TableBody>\n )\n}\n\nfunction DataTablePagination<TData extends RowData>({\n table: tableProp,\n pageSizeOptions = [10, 20, 30, 40, 50],\n labels: labelsOverride,\n className,\n ...props\n}: DataTablePaginationProps<TData>) {\n const ctx = useOptionalDataTableContext<TData>()\n const table = tableProp ?? ctx?.table\n if (!table) {\n throw new Error('DataTablePagination requires a `table` prop or to be rendered within <DataTableRoot>')\n }\n const mergedLabels = React.useMemo(\n () => ({ ...defaultDataTableLabels, ...ctx?.labels, ...labelsOverride }),\n [ctx?.labels, labelsOverride]\n )\n const pageCount = table.getPageCount()\n const safePageCount = Math.max(pageCount, 1)\n const pageIndex = table.getState().pagination.pageIndex\n\n return (\n <div className={cn('flex items-center justify-end gap-4 px-2', className)} {...props}>\n <div className=\"flex items-center gap-6 lg:gap-8\">\n <div className=\"hidden items-center gap-2 sm:flex\">\n <p className=\"text-sm font-medium\">{mergedLabels.rowsPerPage}</p>\n <Select\n value={`${table.getState().pagination.pageSize}`}\n onValueChange={(value) => table.setPageSize(Number(value))}\n >\n <SelectTrigger size=\"sm\" className=\"h-8 w-20\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent side=\"top\">\n <SelectGroup>\n {pageSizeOptions.map((pageSize) => (\n <SelectItem key={pageSize} value={`${pageSize}`}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectGroup>\n </SelectContent>\n </Select>\n </div>\n <div className=\"text-sm font-medium\">{mergedLabels.pageOf(pageIndex + 1, safePageCount)}</div>\n <div className=\"flex items-center gap-1\">\n <Button\n type=\"button\"\n variant=\"outline\"\n color=\"zinc\"\n size=\"icon-sm\"\n className=\"hidden lg:inline-flex\"\n onClick={() => table.setPageIndex(0)}\n disabled={!table.getCanPreviousPage()}\n aria-label={mergedLabels.goToFirstPage}\n >\n <IconChevronsLeft />\n </Button>\n <Button\n type=\"button\"\n variant=\"outline\"\n color=\"zinc\"\n size=\"icon-sm\"\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n aria-label={mergedLabels.goToPreviousPage}\n >\n <IconChevronLeft />\n </Button>\n <Button\n type=\"button\"\n variant=\"outline\"\n color=\"zinc\"\n size=\"icon-sm\"\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n aria-label={mergedLabels.goToNextPage}\n >\n <IconChevronRight />\n </Button>\n <Button\n type=\"button\"\n variant=\"outline\"\n color=\"zinc\"\n size=\"icon-sm\"\n className=\"hidden lg:inline-flex\"\n onClick={() => table.setPageIndex(pageCount - 1)}\n disabled={!table.getCanNextPage()}\n aria-label={mergedLabels.goToLastPage}\n >\n <IconChevronsRight />\n </Button>\n </div>\n </div>\n </div>\n )\n}\n\nfunction createDataTableSelectColumn<TData extends RowData>(options?: {\n labels?: Pick<Partial<DataTableLabels>, 'selectAllRows' | 'selectRow'>\n}): ColumnDef<TData> {\n const selectAllRows = options?.labels?.selectAllRows ?? defaultDataTableLabels.selectAllRows\n const selectRow = options?.labels?.selectRow ?? defaultDataTableLabels.selectRow\n\n return {\n id: 'select',\n enableSorting: false,\n enableHiding: false,\n header: ({ table }) => (\n <Checkbox\n aria-label={selectAllRows}\n checked={table.getIsAllPageRowsSelected() || (table.getIsSomePageRowsSelected() && 'indeterminate')}\n onCheckedChange={(value) => table.toggleAllPageRowsSelected(Boolean(value))}\n />\n ),\n cell: ({ row }) => (\n <Checkbox\n aria-label={selectRow}\n checked={row.getIsSelected() || (row.getIsSomeSelected() && 'indeterminate')}\n disabled={!row.getCanSelect()}\n onCheckedChange={(value) => row.toggleSelected(Boolean(value))}\n />\n )\n }\n}\n\nfunction DataTable<TData extends RowData, TValue = unknown>({\n columns,\n data,\n getRowId,\n filterColumns,\n pageSize = 10,\n pageSizeOptions,\n enableRowSelection = false,\n enableSorting = false,\n showPagination = false,\n showColumnVisibility = false,\n toolbarActions,\n labels,\n className,\n tableClassName,\n variant\n}: DataTableProps<TData, TValue>) {\n return (\n <DataTableRoot<TData, TValue>\n columns={columns}\n data={data}\n getRowId={getRowId}\n pageSize={pageSize}\n enableRowSelection={enableRowSelection}\n enableSorting={enableSorting}\n labels={labels}\n className={className}\n >\n <DataTableToolbar\n filterColumns={filterColumns}\n showColumnVisibility={showColumnVisibility}\n toolbarActions={toolbarActions}\n />\n <TableContainer>\n <Table className={tableClassName} variant={variant}>\n <DataTableHeader />\n <DataTableBody />\n </Table>\n </TableContainer>\n {showPagination ? <DataTablePagination pageSizeOptions={pageSizeOptions} /> : null}\n </DataTableRoot>\n )\n}\n\nexport type { Column, ColumnDef, RowData, Table as TanStackTable } from '@tanstack/react-table'\n\nexport {\n createDataTableSelectColumn,\n DataTable,\n DataTableBody,\n DataTableColumnHeader,\n DataTableHeader,\n DataTablePagination,\n DataTableRoot,\n DataTableToolbar,\n DataTableViewOptions\n}\n"],"mappings":"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"}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { n as __name } from "./rolldown-runtime-Bdj-bS2b.js";
|
|
2
|
-
import { t as Button } from "./button-BNGy28pv.js";
|
|
3
|
-
import { g as TableProps } from "./table-qIAtG7Y5.js";
|
|
4
|
-
import * as React from "react";
|
|
5
|
-
import { Column, Column as Column$1, ColumnDef, ColumnDef as ColumnDef$1, RowData, RowData as RowData$1, Table, Table as TanStackTable } from "@tanstack/react-table";
|
|
6
|
-
//#region src/components/data-table.d.ts
|
|
7
|
-
type DataTableToolbarActions<TData> = React.ReactNode | ((table: Table<TData>) => React.ReactNode);
|
|
8
|
-
type DataTableLabels = {
|
|
9
|
-
filterPlaceholder: string;
|
|
10
|
-
filterColumnSelectorLabel: string;
|
|
11
|
-
emptyMessage: React.ReactNode;
|
|
12
|
-
columnsButton: string;
|
|
13
|
-
rowsPerPage: string;
|
|
14
|
-
pageOf: (current: number, total: number) => React.ReactNode;
|
|
15
|
-
goToFirstPage: string;
|
|
16
|
-
goToPreviousPage: string;
|
|
17
|
-
goToNextPage: string;
|
|
18
|
-
goToLastPage: string;
|
|
19
|
-
selectAllRows: string;
|
|
20
|
-
selectRow: string;
|
|
21
|
-
};
|
|
22
|
-
declare const defaultDataTableLabels: DataTableLabels;
|
|
23
|
-
type DataTableProps<TData extends RowData, TValue = unknown> = {
|
|
24
|
-
columns: ColumnDef<TData, TValue>[];
|
|
25
|
-
data: TData[];
|
|
26
|
-
getRowId?: (originalRow: TData, index: number, parent?: {
|
|
27
|
-
id: string;
|
|
28
|
-
}) => string;
|
|
29
|
-
filterColumns?: string | string[];
|
|
30
|
-
pageSize?: number;
|
|
31
|
-
pageSizeOptions?: number[];
|
|
32
|
-
enableRowSelection?: boolean;
|
|
33
|
-
enableSorting?: boolean;
|
|
34
|
-
showPagination?: boolean;
|
|
35
|
-
showColumnVisibility?: boolean;
|
|
36
|
-
toolbarActions?: DataTableToolbarActions<TData>;
|
|
37
|
-
labels?: Partial<DataTableLabels>;
|
|
38
|
-
className?: string;
|
|
39
|
-
tableClassName?: string;
|
|
40
|
-
variant?: TableProps['variant'];
|
|
41
|
-
};
|
|
42
|
-
type DataTableColumnHeaderProps<TData extends RowData, TValue> = React.ComponentProps<'div'> & {
|
|
43
|
-
column: Column<TData, TValue>;
|
|
44
|
-
title: React.ReactNode;
|
|
45
|
-
};
|
|
46
|
-
type DataTablePaginationProps<TData extends RowData> = React.ComponentProps<'div'> & {
|
|
47
|
-
table?: Table<TData>;
|
|
48
|
-
pageSizeOptions?: number[];
|
|
49
|
-
labels?: Partial<DataTableLabels>;
|
|
50
|
-
};
|
|
51
|
-
type DataTableViewOptionsProps<TData extends RowData> = React.ComponentProps<typeof Button> & {
|
|
52
|
-
table?: Table<TData>;
|
|
53
|
-
label?: React.ReactNode;
|
|
54
|
-
};
|
|
55
|
-
type UseDataTableOptions<TData extends RowData, TValue = unknown> = {
|
|
56
|
-
columns: ColumnDef<TData, TValue>[];
|
|
57
|
-
data: TData[];
|
|
58
|
-
getRowId?: (originalRow: TData, index: number, parent?: {
|
|
59
|
-
id: string;
|
|
60
|
-
}) => string;
|
|
61
|
-
pageSize?: number;
|
|
62
|
-
enableRowSelection?: boolean;
|
|
63
|
-
enableSorting?: boolean;
|
|
64
|
-
enablePagination?: boolean;
|
|
65
|
-
labels?: Partial<DataTableLabels>;
|
|
66
|
-
};
|
|
67
|
-
type DataTableRootProps<TData extends RowData, TValue = unknown> = {
|
|
68
|
-
labels?: Partial<DataTableLabels>;
|
|
69
|
-
className?: string;
|
|
70
|
-
children: React.ReactNode;
|
|
71
|
-
} & ({
|
|
72
|
-
table: Table<TData>;
|
|
73
|
-
columns?: never;
|
|
74
|
-
data?: never;
|
|
75
|
-
} | (Omit<UseDataTableOptions<TData, TValue>, 'labels'> & {
|
|
76
|
-
table?: never;
|
|
77
|
-
}));
|
|
78
|
-
type DataTableToolbarProps<TData extends RowData> = {
|
|
79
|
-
filterColumns?: string | string[];
|
|
80
|
-
showColumnVisibility?: boolean;
|
|
81
|
-
toolbarActions?: DataTableToolbarActions<TData>;
|
|
82
|
-
labels?: Partial<DataTableLabels>;
|
|
83
|
-
className?: string;
|
|
84
|
-
};
|
|
85
|
-
type DataTableHeaderProps = {
|
|
86
|
-
className?: string;
|
|
87
|
-
};
|
|
88
|
-
type DataTableBodyProps = {
|
|
89
|
-
emptyMessage?: React.ReactNode;
|
|
90
|
-
className?: string;
|
|
91
|
-
};
|
|
92
|
-
type DataTableContextValue<TData extends RowData> = {
|
|
93
|
-
table: Table<TData>;
|
|
94
|
-
labels: DataTableLabels;
|
|
95
|
-
};
|
|
96
|
-
declare function useDataTableContext<TData extends RowData>(): DataTableContextValue<TData>;
|
|
97
|
-
declare function useDataTable<TData extends RowData, TValue = unknown>({ columns, data, getRowId, pageSize, enableRowSelection, enableSorting, enablePagination, labels }: UseDataTableOptions<TData, TValue>): Table<TData>;
|
|
98
|
-
declare function DataTableRoot<TData extends RowData, TValue = unknown>(props: DataTableRootProps<TData, TValue>): React.JSX.Element;
|
|
99
|
-
declare function DataTableColumnHeader<TData extends RowData, TValue>({ column, title, className, ...props }: DataTableColumnHeaderProps<TData, TValue>): React.JSX.Element;
|
|
100
|
-
declare function DataTableViewOptions<TData extends RowData>({ table: tableProp, label, className, ...props }: DataTableViewOptionsProps<TData>): React.JSX.Element | null;
|
|
101
|
-
declare function DataTableToolbar<TData extends RowData>({ filterColumns, showColumnVisibility, toolbarActions, labels: labelsOverride, className }: DataTableToolbarProps<TData>): React.JSX.Element | null;
|
|
102
|
-
declare function DataTableHeader<TData extends RowData>({ className }?: DataTableHeaderProps): React.JSX.Element;
|
|
103
|
-
declare function DataTableBody<TData extends RowData>({ emptyMessage, className }?: DataTableBodyProps): React.JSX.Element;
|
|
104
|
-
declare function DataTablePagination<TData extends RowData>({ table: tableProp, pageSizeOptions, labels: labelsOverride, className, ...props }: DataTablePaginationProps<TData>): React.JSX.Element;
|
|
105
|
-
declare function createDataTableSelectColumn<TData extends RowData>(options?: {
|
|
106
|
-
labels?: Pick<Partial<DataTableLabels>, 'selectAllRows' | 'selectRow'>;
|
|
107
|
-
}): ColumnDef<TData>;
|
|
108
|
-
declare function DataTable<TData extends RowData, TValue = unknown>({ columns, data, getRowId, filterColumns, pageSize, pageSizeOptions, enableRowSelection, enableSorting, showPagination, showColumnVisibility, toolbarActions, labels, className, tableClassName, variant }: DataTableProps<TData, TValue>): React.JSX.Element;
|
|
109
|
-
//#endregion
|
|
110
|
-
export { createDataTableSelectColumn as C, useDataTableContext as E, UseDataTableOptions as S, useDataTable as T, DataTableToolbarProps as _, DataTableBodyProps as a, RowData$1 as b, DataTableHeader as c, DataTablePagination as d, DataTablePaginationProps as f, DataTableToolbar as g, DataTableRootProps as h, DataTableBody as i, DataTableHeaderProps as l, DataTableRoot as m, ColumnDef$1 as n, DataTableColumnHeader as o, DataTableProps as p, DataTable as r, DataTableColumnHeaderProps as s, Column$1 as t, DataTableLabels as u, DataTableViewOptions as v, defaultDataTableLabels as w, TanStackTable as x, DataTableViewOptionsProps as y };
|
|
111
|
-
//# sourceMappingURL=data-table-BT75MSO9.d.ts.map
|