@jamsrui/data-grid 0.0.21 → 0.0.23

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.
@@ -1 +1 @@
1
- import{jsx as e,jsxs as y}from"react/jsx-runtime";import{TableBody as i,TableCell as n,TableRow as m}from"@jamsrui/table";import{flexRender as d}from"@tanstack/react-table";import{useDataGridContext as l}from"./data-grid-context.mjs";import{DataGridEmpty as p}from"./data-grid-empty.mjs";import{getPinningStyles as s}from"./utils.mjs";const w=()=>{const{table:r,isEmpty:a}=l();return y(i,{children:[!!a&&e(p,{}),r.getRowModel().rows.map(o=>e(m,{children:o.getVisibleCells().map(t=>e(n,{"data-pinned":t.column.getIsPinned()||void 0,style:{width:t.column.getSize(),...s(t.column)},children:d(t.column.columnDef.cell,t.getContext())},t.id))},o.id))]})};export{w as DataGridBody};
1
+ "use client";import{jsx as t,jsxs as y}from"react/jsx-runtime";import{TableBody as n,TableCell as a,TableRow as m}from"@jamsrui/table";import{flexRender as d}from"@tanstack/react-table";import{useDataGridContext as l}from"./data-grid-context.mjs";import{DataGridEmpty as p}from"./data-grid-empty.mjs";import{getPinningStyles as s}from"./utils.mjs";const w=()=>{const{table:r,isEmpty:i}=l();return y(n,{children:[!!i&&t(p,{}),r.getRowModel().rows.map(o=>t(m,{children:o.getVisibleCells().map(e=>t(a,{"data-pinned":e.column.getIsPinned()||void 0,style:{width:e.column.getSize(),...s(e.column)},children:d(e.column.columnDef.cell,e.getContext())},e.id))},o.id))]})};export{w as DataGridBody};
@@ -1 +1 @@
1
- import{jsx as t,jsxs as n}from"react/jsx-runtime";import{Button as l}from"@jamsrui/button";import{useRenderElement as p}from"@jamsrui/hooks";import{Settings2Icon as d}from"@jamsrui/icons";import{AnimatedTickIcon as u}from"@jamsrui/icons/animated";import{Menu as r,MenuItem as c}from"@jamsrui/menu";import{useDataGridContext as f}from"./data-grid-context.mjs";const M=s=>{const{table:m}=f(),a=n(r,{children:[t(r.Trigger,{children:n(l,{size:"sm",variant:"flat",children:[t(d,{}),"Column Visibility"]})}),t(r.Content,{children:m.getAllLeafColumns().map(e=>{const i=e.columnDef.header,o=typeof i=="function"?i({}):i;return n(c,{preventCloseOnClick:!0,disabled:!e.getCanHide(),onClick:e.getToggleVisibilityHandler(),textValue:o,children:[t(u,{className:"text-primary",isSelected:e.getIsVisible()}),o]},e.id)})})]});return p("div",{props:[s,{children:a}]})};export{M as DataGridColumnVisibility};
1
+ "use client";import{jsx as t,jsxs as n}from"react/jsx-runtime";import{Button as a}from"@jamsrui/button";import{useRenderElement as p}from"@jamsrui/hooks";import{Settings2Icon as d}from"@jamsrui/icons";import{AnimatedTickIcon as u}from"@jamsrui/icons/animated";import{Menu as r,MenuItem as c}from"@jamsrui/menu";import{useDataGridContext as f}from"./data-grid-context.mjs";const M=s=>{const{table:l}=f(),m=n(r,{children:[t(r.Trigger,{children:n(a,{size:"sm",variant:"flat",children:[t(d,{}),"Column Visibility"]})}),t(r.Content,{children:l.getAllLeafColumns().map(e=>{const i=e.columnDef.header,o=typeof i=="function"?i({}):i;return n(c,{preventCloseOnClick:!0,disabled:!e.getCanHide(),onClick:e.getToggleVisibilityHandler(),textValue:o,children:[t(u,{className:"text-primary",isSelected:e.getIsVisible()}),o]},e.id)})})]});return p("div",{props:[s,{children:m}]})};export{M as DataGridColumnVisibility};
@@ -1,4 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { WithGlobalConfig } from '@jamsrui/core';
2
3
  import { DataGrid } from './data-grid.mjs';
3
4
  import './use-data-grid.mjs';
4
5
  import '@tanstack/react-table';
@@ -10,7 +11,7 @@ declare const DataGridConfig: (props: Omit<Partial<DataGridConfig.Props>, "child
10
11
  children: React.ReactNode;
11
12
  }) => react_jsx_runtime.JSX.Element;
12
13
  declare namespace DataGridConfig {
13
- interface Props extends DataGrid.Props {
14
+ interface Props extends WithGlobalConfig<DataGrid.Props> {
14
15
  children: React.ReactNode;
15
16
  }
16
17
  }
@@ -1 +1 @@
1
- import{createConfigContext as a}from"@jamsrui/utils";const[r,e]=a({displayName:"DataGridConfig"});export{r as DataGridConfig,e as useDataGridConfig};
1
+ "use client";import{createConfigContext as a}from"@jamsrui/utils";const[i,o]=a({displayName:"DataGridConfig"});export{i as DataGridConfig,o as useDataGridConfig};
@@ -1 +1 @@
1
- import{createContext as e,use as r}from"react";const a=e(null),n=()=>{const t=r(a);if(!t)throw new Error("useDataGridContext must be used within a DataGridContext");return t};export{a as DataGridContext,n as useDataGridContext};
1
+ "use client";import{createContext as e,use as r}from"react";const a=e(null),n=()=>{const t=r(a);if(!t)throw new Error("useDataGridContext must be used within a DataGridContext");return t};export{a as DataGridContext,n as useDataGridContext};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{TableCell as e,TableRow as l}from"@jamsrui/table";import{useDataGridContext as r}from"./data-grid-context.mjs";const m=()=>{const{table:a}=r(),o=a.getAllColumns().length;return t(l,{children:t(e,{colSpan:o,children:"No data available"})})};export{m as DataGridEmpty};
1
+ "use client";import{jsx as t}from"react/jsx-runtime";import{TableCell as l,TableRow as o}from"@jamsrui/table";import{useDataGridContext as r}from"./data-grid-context.mjs";const m=()=>{const{table:a}=r(),e=a.getAllColumns().length;return t(o,{children:t(l,{colSpan:e,children:"No data available"})})};export{m as DataGridEmpty};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import{IconButton as u}from"@jamsrui/icon-button";import{ArrowDownIcon as r,ArrowLeftToLineIcon as m,ArrowRightToLineIcon as d,ArrowUpIcon as l,ChevronsUpDownIcon as p,EllipsisVerticalIcon as g,EyeClosedIcon as f}from"@jamsrui/icons";import{Menu as o}from"@jamsrui/menu";import{TableColumn as I,TableHeader as C,TableRow as R}from"@jamsrui/table";import{cn as s}from"@jamsrui/utils";import{flexRender as b}from"@tanstack/react-table";import{useDataGridContext as S}from"./data-grid-context.mjs";import{getPinningStyles as w}from"./utils.mjs";const v=({column:t})=>a(o,{children:[e(o.Trigger,{children:e(u,{label:"More",size:"sm",variant:"light",children:e(g,{className:"size-4"})})}),a(o.Content,{children:[e(o.Group,{children:a(o.RadioGroup,{value:t.getIsSorted()||"",children:[a(o.RadioItem,{disabled:!t.getCanSort(),preventCloseOnClick:!1,value:"asc",onClick:()=>{t.getIsSorted()==="asc"?t.clearSorting():t.toggleSorting(!1)},textValue:"Asc",children:[e(l,{}),"Asc",e(o.ItemIndicator,{className:"ml-auto"})]}),a(o.RadioItem,{disabled:!t.getCanSort(),preventCloseOnClick:!1,value:"desc",onClick:()=>{t.getIsSorted()==="desc"?t.clearSorting():t.toggleSorting(!0)},textValue:"Desc",children:[e(r,{}),"Desc",e(o.ItemIndicator,{className:"ml-auto"})]})]})}),e(o.Separator,{}),a(o.Item,{disabled:!t.getCanHide(),onClick:t.getToggleVisibilityHandler(),textValue:"Hide Column",children:[e(f,{}),"Hide Column"]}),e(o.Separator,{}),e(o.Group,{children:a(o.RadioGroup,{value:t.getIsPinned()||"",children:[a(o.RadioItem,{preventCloseOnClick:!1,value:"left",onClick:()=>{t.pin(t.getIsPinned()==="left"?!1:"left")},textValue:"Pin To Left",children:[e(m,{}),"Pin To Left",e(o.ItemIndicator,{className:"ml-auto"})]}),a(o.RadioItem,{preventCloseOnClick:!1,value:"right",onClick:()=>t.pin(t.getIsPinned()==="right"?!1:"right"),textValue:"Pin To Right",children:[e(d,{}),"Pin To Right",e(o.ItemIndicator,{className:"ml-auto"})]})]})})]})]}),N=()=>{const{table:t}=S(),c=t.getHeaderGroups();return e(C,{children:c.map(i=>e(R,{children:i.headers.map(n=>e(I,{className:"relative",colSpan:n.colSpan,"data-pinned":n.column.getIsPinned()||void 0,style:{width:n.getSize(),...w(n.column)},children:n.isPlaceholder?null:a("div",{className:"flex",children:[e("button",{onClick:n.column.getToggleSortingHandler(),type:"button",className:s("flex w-full cursor-pointer select-none gap-1 overflow-hidden pr-1 text-transform-inherit",{"":n.column.getCanSort()}),children:a("span",{className:"flex w-full grow items-center overflow-hidden font-medium",children:[b(n.column.columnDef.header,n.getContext()),{asc:e(l,{className:"size-3 shrink-0"}),desc:e(r,{className:"size-3 shrink-0"}),empty:e(p,{className:"size-3 shrink-0"})}[n.column.getIsSorted()||"empty"]]})}),e(v,{column:n.column}),e("span",{"aria-label":"resize",onDoubleClick:()=>n.column.resetSize(),onMouseDown:n.getResizeHandler(),onTouchStart:n.getResizeHandler(),role:"presentation",className:s("absolute right-0 top-1/2 h-3/5 w-[2px] -translate-y-1/2 cursor-ew-resize bg-slate-300/30 opacity-0 transition-all duration-500 group-hover/table:opacity-100 select-none touch-none",{"isResizing cursor-ew-resize":n.column.getIsResizing()})})]})},n.id))},i.id))})};export{N as DataGridHeader};
1
+ "use client";import{jsx as e,jsxs as a}from"react/jsx-runtime";import{IconButton as u}from"@jamsrui/icon-button";import{ArrowDownIcon as r,ArrowLeftToLineIcon as m,ArrowRightToLineIcon as d,ArrowUpIcon as l,ChevronsUpDownIcon as p,EllipsisVerticalIcon as g,EyeClosedIcon as f}from"@jamsrui/icons";import{Menu as o}from"@jamsrui/menu";import{TableColumn as I,TableHeader as C,TableRow as R}from"@jamsrui/table";import{cn as s}from"@jamsrui/utils";import{flexRender as b}from"@tanstack/react-table";import{useDataGridContext as S}from"./data-grid-context.mjs";import{getPinningStyles as w}from"./utils.mjs";const v=({column:t})=>a(o,{children:[e(o.Trigger,{children:e(u,{label:"More",size:"sm",variant:"light",children:e(g,{className:"size-4"})})}),a(o.Content,{children:[e(o.Group,{children:a(o.RadioGroup,{value:t.getIsSorted()||"",children:[a(o.RadioItem,{disabled:!t.getCanSort(),preventCloseOnClick:!1,value:"asc",onClick:()=>{t.getIsSorted()==="asc"?t.clearSorting():t.toggleSorting(!1)},textValue:"Asc",children:[e(l,{}),"Asc",e(o.ItemIndicator,{className:"ml-auto"})]}),a(o.RadioItem,{disabled:!t.getCanSort(),preventCloseOnClick:!1,value:"desc",onClick:()=>{t.getIsSorted()==="desc"?t.clearSorting():t.toggleSorting(!0)},textValue:"Desc",children:[e(r,{}),"Desc",e(o.ItemIndicator,{className:"ml-auto"})]})]})}),e(o.Separator,{}),a(o.Item,{disabled:!t.getCanHide(),onClick:t.getToggleVisibilityHandler(),textValue:"Hide Column",children:[e(f,{}),"Hide Column"]}),e(o.Separator,{}),e(o.Group,{children:a(o.RadioGroup,{value:t.getIsPinned()||"",children:[a(o.RadioItem,{preventCloseOnClick:!1,value:"left",onClick:()=>{t.pin(t.getIsPinned()==="left"?!1:"left")},textValue:"Pin To Left",children:[e(m,{}),"Pin To Left",e(o.ItemIndicator,{className:"ml-auto"})]}),a(o.RadioItem,{preventCloseOnClick:!1,value:"right",onClick:()=>t.pin(t.getIsPinned()==="right"?!1:"right"),textValue:"Pin To Right",children:[e(d,{}),"Pin To Right",e(o.ItemIndicator,{className:"ml-auto"})]})]})})]})]}),N=()=>{const{table:t}=S(),c=t.getHeaderGroups();return e(C,{children:c.map(i=>e(R,{children:i.headers.map(n=>e(I,{className:"relative",colSpan:n.colSpan,"data-pinned":n.column.getIsPinned()||void 0,style:{width:n.getSize(),...w(n.column)},children:n.isPlaceholder?null:a("div",{className:"flex",children:[e("button",{onClick:n.column.getToggleSortingHandler(),type:"button",className:s("flex w-full cursor-pointer select-none gap-1 overflow-hidden pr-1 text-transform-inherit",{"":n.column.getCanSort()}),children:a("span",{className:"flex w-full grow items-center overflow-hidden font-medium",children:[b(n.column.columnDef.header,n.getContext()),{asc:e(l,{className:"size-3 shrink-0"}),desc:e(r,{className:"size-3 shrink-0"}),empty:e(p,{className:"size-3 shrink-0"})}[n.column.getIsSorted()||"empty"]]})}),e(v,{column:n.column}),e("span",{"aria-label":"resize",onDoubleClick:()=>n.column.resetSize(),onMouseDown:n.getResizeHandler(),onTouchStart:n.getResizeHandler(),role:"presentation",className:s("absolute right-0 top-1/2 h-3/5 w-[2px] -translate-y-1/2 cursor-ew-resize bg-slate-300/30 opacity-0 transition-all duration-500 group-hover/table:opacity-100 select-none touch-none",{"isResizing cursor-ew-resize":n.column.getIsResizing()})})]})},n.id))},i.id))})};export{N as DataGridHeader};
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{LinearProgress as r}from"@jamsrui/linear-progress";const t=a=>o(r,{className:"absolute inset-0",...a});export{t as DataGridLoading};
1
+ "use client";import{jsx as e}from"react/jsx-runtime";import{LinearProgress as r}from"@jamsrui/linear-progress";const t=a=>e(r,{className:"absolute inset-0",...a});export{t as DataGridLoading};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import{useState as P}from"react";import{IconButton as s}from"@jamsrui/icon-button";import{ChevronDoubleLeftIcon as v,ChevronDoubleRightIcon as h,ChevronLeftIcon as x,ChevronRightIcon as C}from"@jamsrui/icons";import{Select as o}from"@jamsrui/select";import{Label as b}from"@jamsrui/label";import{useDataGridContext as I}from"./data-grid-context.mjs";const D=()=>{const{table:t,isEmpty:l}=I(),[r,g]=P(["10"]),c=()=>{t.nextPage()},m=()=>{t.previousPage()},u=()=>{t.setPageIndex(0)},d=()=>{t.setPageIndex(t.getPageCount()-1)},i=t.getPageCount(),p=i?t.getState().pagination.pageIndex+1:0,f=n=>{t.setPageSize(Number(Array.from(n)[0]??[10])),g(n)};return l?null:a("div",{className:"flex flex-col w-full justify-between gap-4 md:flex-row md:items-center","data-slot":"pagination",children:[a(o,{onValueChange:f,returnFocus:!1,size:"sm",value:r,className:"flex flex-row items-center gap-2",children:[e(b,{children:"Rows Per Page:"}),e(o.Trigger,{}),e(o.Popover,{children:e(o.Content,{children:[10,20,50,100,500].map(n=>e(o.Item,{value:n.toString(),textValue:n.toString(),children:n.toString()},n.toString()))})})]}),a("div",{className:"flex gap-1 md:gap-4",children:[a("div",{className:"flex items-center justify-center text-sm font-medium",children:["Page ",p," of ",i]}),a("div",{className:"flex items-center",children:[a(s,{disabled:!t.getCanPreviousPage(),label:"First Page",onClick:u,radius:"full",size:"sm",variant:"light",children:[e("span",{className:"sr-only",children:"Go to first page"}),e(v,{height:20,width:20})]}),a(s,{disabled:!t.getCanPreviousPage(),label:"Previous Page",onClick:m,radius:"full",size:"sm",variant:"light",children:[e("span",{className:"sr-only",children:"Go to previous page"}),e(x,{height:20,width:20})]}),a(s,{disabled:!t.getCanNextPage(),label:"Next Page",onClick:c,radius:"full",size:"sm",variant:"light",children:[e("span",{className:"sr-only",children:"Go to next page"}),e(C,{height:20,width:20})]}),a(s,{disabled:!t.getCanNextPage(),label:"Last Page",onClick:d,radius:"full",size:"sm",variant:"light",children:[e("span",{className:"sr-only",children:"Go to last page"}),e(h,{height:20,width:20})]})]})]})]})};export{D as DataGridPagination};
1
+ "use client";import{jsx as e,jsxs as a}from"react/jsx-runtime";import{useState as P}from"react";import{IconButton as s}from"@jamsrui/icon-button";import{ChevronDoubleLeftIcon as v,ChevronDoubleRightIcon as h,ChevronLeftIcon as x,ChevronRightIcon as C}from"@jamsrui/icons";import{Select as o}from"@jamsrui/select";import{Label as b}from"@jamsrui/label";import{useDataGridContext as I}from"./data-grid-context.mjs";const D=()=>{const{table:t,isEmpty:l}=I(),[r,g]=P(["10"]),c=()=>{t.nextPage()},u=()=>{t.previousPage()},m=()=>{t.setPageIndex(0)},d=()=>{t.setPageIndex(t.getPageCount()-1)},i=t.getPageCount(),p=i?t.getState().pagination.pageIndex+1:0,f=n=>{t.setPageSize(Number(Array.from(n)[0]??[10])),g(n)};return l?null:a("div",{className:"flex flex-col w-full justify-between gap-4 md:flex-row md:items-center","data-slot":"pagination",children:[a(o,{onValueChange:f,returnFocus:!1,size:"sm",value:r,className:"flex flex-row items-center gap-2",children:[e(b,{children:"Rows Per Page:"}),e(o.Trigger,{}),e(o.Popover,{children:e(o.Content,{children:[10,20,50,100,500].map(n=>e(o.Item,{value:n.toString(),textValue:n.toString(),children:n.toString()},n.toString()))})})]}),a("div",{className:"flex gap-1 md:gap-4",children:[a("div",{className:"flex items-center justify-center text-sm font-medium",children:["Page ",p," of ",i]}),a("div",{className:"flex items-center",children:[a(s,{disabled:!t.getCanPreviousPage(),label:"First Page",onClick:m,radius:"full",size:"sm",variant:"light",children:[e("span",{className:"sr-only",children:"Go to first page"}),e(v,{height:20,width:20})]}),a(s,{disabled:!t.getCanPreviousPage(),label:"Previous Page",onClick:u,radius:"full",size:"sm",variant:"light",children:[e("span",{className:"sr-only",children:"Go to previous page"}),e(x,{height:20,width:20})]}),a(s,{disabled:!t.getCanNextPage(),label:"Next Page",onClick:c,radius:"full",size:"sm",variant:"light",children:[e("span",{className:"sr-only",children:"Go to next page"}),e(C,{height:20,width:20})]}),a(s,{disabled:!t.getCanNextPage(),label:"Last Page",onClick:d,radius:"full",size:"sm",variant:"light",children:[e("span",{className:"sr-only",children:"Go to last page"}),e(h,{height:20,width:20})]})]})]})]})};export{D as DataGridPagination};
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{Checkbox as t}from"@jamsrui/checkbox";import{useDataGridContext as a}from"./data-grid-context.mjs";const n=({row:e})=>o(t,{"aria-label":"Select Row",checked:e.getIsSelected(),onCheckedChange:l=>e.toggleSelected(l),children:o(t.Control,{})}),d=()=>{const{table:e}=a();return o(t,{"aria-label":"Select All Rows",checked:e.getIsAllPageRowsSelected(),isIntermediate:e.getIsSomePageRowsSelected(),onCheckedChange:l=>e.toggleAllPageRowsSelected(l),children:o(t.Control,{})})};export{n as DataGridRowSelect,d as DataGridRowSelectAll};
1
+ "use client";import{jsx as o}from"react/jsx-runtime";import{Checkbox as t}from"@jamsrui/checkbox";import{useDataGridContext as a}from"./data-grid-context.mjs";const n=({row:e})=>o(t,{"aria-label":"Select Row",checked:e.getIsSelected(),onCheckedChange:l=>e.toggleSelected(l),children:o(t.Control,{})}),d=()=>{const{table:e}=a();return o(t,{"aria-label":"Select All Rows",checked:e.getIsAllPageRowsSelected(),isIntermediate:e.getIsSomePageRowsSelected(),onCheckedChange:l=>e.toggleAllPageRowsSelected(l),children:o(t.Control,{})})};export{n as DataGridRowSelect,d as DataGridRowSelectAll};
@@ -1 +1 @@
1
- import{jsx as l}from"react/jsx-runtime";import{Table as t}from"@jamsrui/table";import{useDataGridContext as o}from"./data-grid-context.mjs";const p=e=>{const{children:a}=e,{rootProps:r}=o();return l(t,{className:"w-full table-fixed",...r,children:a})};export{p as DataGridTable};
1
+ "use client";import{jsx as l}from"react/jsx-runtime";import{Table as r}from"@jamsrui/table";import{useDataGridContext as o}from"./data-grid-context.mjs";const s=e=>{const{children:a}=e,{rootProps:t}=o();return l(r,{className:"w-full table-fixed",...t,children:a})};export{s as DataGridTable};
@@ -1 +1 @@
1
- import{Fragment as C,jsx as r,jsxs as a}from"react/jsx-runtime";import{useRenderElement as n}from"@jamsrui/hooks";import{mergeConfigProps as p}from"@jamsrui/utils";import{DataGridBody as s}from"./data-grid-body.mjs";import{DataGridColumnVisibility as f}from"./data-grid-column-visibility.mjs";import{useDataGridConfig as l}from"./data-grid-config.mjs";import{DataGridContext as D}from"./data-grid-context.mjs";import{DataGridHeader as G}from"./data-grid-header.mjs";import{DataGridLoading as c}from"./data-grid-loading.mjs";import{DataGridPagination as g}from"./data-grid-pagination.mjs";import{DataGridTable as x}from"./data-grid-table.mjs";import{useDataGrid as u}from"./use-data-grid.mjs";const R=i=>{const o=l(),e=p(o,o,i),t=u(e),d=a(C,{children:[r(f,{}),!!t.isLoading&&r(c,{}),a(x,{children:[r(G,{}),r(s,{})]}),r(g,{})]}),m=n("div",{props:[{"data-component":"data-grid","data-slot":"root",className:"relative flex flex-col gap-2"},{children:d}]});return r(D,{value:t,children:m})};export{R as DataGrid};
1
+ "use client";import{Fragment as P,jsx as r,jsxs as a}from"react/jsx-runtime";import{useRenderElement as n}from"@jamsrui/hooks";import{mergeConfigProps as p}from"@jamsrui/utils";import{DataGridBody as s}from"./data-grid-body.mjs";import{DataGridColumnVisibility as f}from"./data-grid-column-visibility.mjs";import{useDataGridConfig as l}from"./data-grid-config.mjs";import{DataGridContext as D}from"./data-grid-context.mjs";import{DataGridHeader as G}from"./data-grid-header.mjs";import{DataGridLoading as c}from"./data-grid-loading.mjs";import{DataGridPagination as g}from"./data-grid-pagination.mjs";import{DataGridTable as x}from"./data-grid-table.mjs";import{useDataGrid as u}from"./use-data-grid.mjs";const R=t=>{const i=l(),e=p({},i,t),o=u(e),d=a(P,{children:[r(f,{}),!!o.isLoading&&r(c,{}),a(x,{children:[r(G,{}),r(s,{})]}),r(g,{})]}),m=n("div",{props:[{"data-component":"data-grid","data-slot":"root",className:"relative flex flex-col gap-2"},{children:d}]});return r(D,{value:o,children:m})};export{R as DataGrid};
package/dist/index.d.mts CHANGED
@@ -5,3 +5,4 @@ import 'react/jsx-runtime';
5
5
  import './use-data-grid.mjs';
6
6
  import '@tanstack/react-table';
7
7
  import '@jamsrui/table';
8
+ import '@jamsrui/core';
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- "use client";import{DataGrid as a}from"./data-grid.mjs";import{DataGridConfig as o,useDataGridConfig as i}from"./data-grid-config.mjs";import{DataGridRowSelect as f,DataGridRowSelectAll as l}from"./data-grid-row-select.mjs";export{a as DataGrid,o as DataGridConfig,f as DataGridRowSelect,l as DataGridRowSelectAll,i as useDataGridConfig};
1
+ import{DataGrid as o}from"./data-grid.mjs";import{DataGridConfig as e,useDataGridConfig as i}from"./data-grid-config.mjs";import{DataGridRowSelect as f,DataGridRowSelectAll as D}from"./data-grid-row-select.mjs";export{o as DataGrid,e as DataGridConfig,f as DataGridRowSelect,D as DataGridRowSelectAll,i as useDataGridConfig};
package/dist/types.mjs CHANGED
@@ -0,0 +1 @@
1
+ "use client";
@@ -1 +1 @@
1
- import{useMemo as m,useState as t}from"react";import{getCoreRowModel as k,getExpandedRowModel as V,getFilteredRowModel as v,getPaginationRowModel as H,getSortedRowModel as z,useReactTable as E}from"@tanstack/react-table";const I=S=>{const{columns:u,data:e,state:p,isLoading:o,isHeaderSticky:n,variant:a,radius:i,density:s,allowHover:r,separateRows:l,...w}=S,[R,C]=t([]),[P,b]=t({pageSize:10,pageIndex:0}),[y,M]=t({}),[T,h]=t([]),[D,O]=t({}),[G,x]=t({bottom:[],top:[]}),[F,f]=t([]),d=e.length===0,g=E({columnResizeMode:"onChange",columnResizeDirection:"ltr",getCoreRowModel:k(),getPaginationRowModel:H(),getSortedRowModel:z(),getFilteredRowModel:v(),onSortingChange:C,onColumnFiltersChange:h,onColumnVisibilityChange:M,onRowSelectionChange:O,onPaginationChange:b,getExpandedRowModel:V(),onColumnOrderChange:f,onRowPinningChange:x,...w,state:{sorting:R,columnFilters:T,columnVisibility:y,rowSelection:D,pagination:P,columnOrder:F,...p},data:e,columns:u}),c=m(()=>({isHeaderSticky:n,variant:a,radius:i,density:s,allowHover:r,separateRows:l}),[r,s,n,i,l,a]);return m(()=>({table:g,isLoading:o,isEmpty:d,rootProps:c}),[d,o,c,g])};export{I as useDataGrid};
1
+ "use client";import{useMemo as m,useState as t}from"react";import{getCoreRowModel as k,getExpandedRowModel as V,getFilteredRowModel as v,getPaginationRowModel as H,getSortedRowModel as z,useReactTable as E}from"@tanstack/react-table";const I=u=>{const{columns:S,data:e,state:p,isLoading:o,isHeaderSticky:n,variant:a,radius:i,density:s,allowHover:r,separateRows:l,...w}=u,[R,C]=t([]),[P,b]=t({pageSize:10,pageIndex:0}),[y,M]=t({}),[T,h]=t([]),[D,O]=t({}),[G,x]=t({bottom:[],top:[]}),[F,f]=t([]),d=e.length===0,g=E({columnResizeMode:"onChange",columnResizeDirection:"ltr",getCoreRowModel:k(),getPaginationRowModel:H(),getSortedRowModel:z(),getFilteredRowModel:v(),onSortingChange:C,onColumnFiltersChange:h,onColumnVisibilityChange:M,onRowSelectionChange:O,onPaginationChange:b,getExpandedRowModel:V(),onColumnOrderChange:f,onRowPinningChange:x,...w,state:{sorting:R,columnFilters:T,columnVisibility:y,rowSelection:D,pagination:P,columnOrder:F,...p},data:e,columns:S}),c=m(()=>({isHeaderSticky:n,variant:a,radius:i,density:s,allowHover:r,separateRows:l}),[r,s,n,i,l,a]);return m(()=>({table:g,isLoading:o,isEmpty:d,rootProps:c}),[d,o,c,g])};export{I as useDataGrid};
package/dist/utils.mjs CHANGED
@@ -1 +1 @@
1
- function i(t){const e=t.getIsPinned();return{left:e==="left"?`${t.getStart("left")}px`:void 0,right:e==="right"?`${t.getAfter("right")}px`:void 0,position:e?"sticky":"relative",width:t.getSize(),zIndex:e?1:0}}export{i as getPinningStyles};
1
+ "use client";function i(t){const e=t.getIsPinned();return{left:e==="left"?`${t.getStart("left")}px`:void 0,right:e==="right"?`${t.getAfter("right")}px`:void 0,position:e?"sticky":"relative",width:t.getSize(),zIndex:e?1:0}}export{i as getPinningStyles};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jamsrui/data-grid",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "peerDependencies": {
5
5
  "@tanstack/react-table": ">=8",
6
6
  "react": ">=19"
@@ -10,20 +10,20 @@
10
10
  "@dnd-kit/modifiers": "^9.0.0",
11
11
  "@dnd-kit/sortable": "^10.0.0",
12
12
  "@dnd-kit/utilities": "^3.2.2",
13
- "@jamsrui/button": "^0.0.17",
14
- "@jamsrui/divider": "^0.0.15",
15
- "@jamsrui/checkbox": "^0.0.16",
16
- "@jamsrui/icon-button": "^0.0.15",
17
- "@jamsrui/hooks": "^0.0.15",
18
- "@jamsrui/icons": "^0.0.13",
19
- "@jamsrui/input": "^0.0.17",
20
- "@jamsrui/label": "^0.0.8",
21
- "@jamsrui/linear-progress": "^0.0.15",
22
- "@jamsrui/core": "^0.0.13",
23
- "@jamsrui/table": "^0.0.15",
24
- "@jamsrui/select": "^0.0.16",
25
- "@jamsrui/utils": "^0.0.15",
26
- "@jamsrui/menu": "^0.0.17"
13
+ "@jamsrui/button": "^0.0.19",
14
+ "@jamsrui/checkbox": "^0.0.18",
15
+ "@jamsrui/core": "^0.0.14",
16
+ "@jamsrui/hooks": "^0.0.17",
17
+ "@jamsrui/divider": "^0.0.17",
18
+ "@jamsrui/icon-button": "^0.0.17",
19
+ "@jamsrui/icons": "^0.0.14",
20
+ "@jamsrui/label": "^0.0.10",
21
+ "@jamsrui/linear-progress": "^0.0.17",
22
+ "@jamsrui/menu": "^0.0.19",
23
+ "@jamsrui/utils": "^0.0.17",
24
+ "@jamsrui/select": "^0.0.18",
25
+ "@jamsrui/table": "^0.0.17",
26
+ "@jamsrui/input": "^0.0.19"
27
27
  },
28
28
  "exports": {
29
29
  ".": {