@akshar-technosoft/ui 1.0.3 → 1.0.4
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/dist/components/data/data-table/data-table-action-bar.d.cts +1 -1
- package/dist/components/data/data-table/data-table-action-bar.d.ts +1 -1
- package/dist/components/data/data-table/data-table-pagination.cjs +1 -1
- package/dist/components/data/data-table/data-table-pagination.cjs.map +1 -1
- package/dist/components/data/data-table/data-table-pagination.js +1 -1
- package/dist/components/data/data-table/data-table-pagination.js.map +1 -1
- package/dist/components/data/data-table/data-table-toolbar.cjs +1 -1
- package/dist/components/data/data-table/data-table-toolbar.cjs.map +1 -1
- package/dist/components/data/data-table/data-table-toolbar.js +1 -1
- package/dist/components/data/data-table/data-table-toolbar.js.map +1 -1
- package/dist/components/data/data-table/data-table-types.cjs.map +1 -1
- package/dist/components/data/data-table/data-table-types.d.cts +2 -0
- package/dist/components/data/data-table/data-table-types.d.ts +2 -0
- package/dist/components/data/data-table/data-table.cjs +1 -1
- package/dist/components/data/data-table/data-table.cjs.map +1 -1
- package/dist/components/data/data-table/data-table.js +1 -1
- package/dist/components/data/data-table/data-table.js.map +1 -1
- package/dist/components/data/data-table/index.cjs +1 -1
- package/dist/components/data/data-table/index.cjs.map +1 -1
- package/dist/components/data/data-table/index.d.cts +1 -1
- package/dist/components/data/data-table/index.d.ts +1 -1
- package/dist/components/data/data-table/index.js +1 -1
- package/dist/components/data/data-table/index.js.map +1 -1
- package/dist/components/date-helper.cjs +3 -0
- package/dist/components/date-helper.cjs.map +1 -0
- package/dist/components/date-helper.d.cts +27 -0
- package/dist/components/date-helper.d.ts +27 -0
- package/dist/components/date-helper.js +3 -0
- package/dist/components/date-helper.js.map +1 -0
- package/dist/components/helper/date-filter.cjs +1 -1
- package/dist/components/helper/date-filter.cjs.map +1 -1
- package/dist/components/helper/date-filter.d.cts +4 -3
- package/dist/components/helper/date-filter.d.ts +4 -3
- package/dist/components/helper/date-filter.js +1 -1
- package/dist/components/helper/date-filter.js.map +1 -1
- package/dist/components/ui/badge.d.cts +2 -2
- package/dist/components/ui/badge.d.ts +2 -2
- package/dist/components/ui/button.d.cts +2 -2
- package/dist/components/ui/button.d.ts +2 -2
- package/dist/components/ui/calendar.d.cts +1 -1
- package/dist/components/ui/calendar.d.ts +1 -1
- package/dist/components/ui/toggle.d.cts +2 -2
- package/dist/components/ui/toggle.d.ts +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -3,7 +3,7 @@ import { Button } from '../../ui/button.cjs';
|
|
|
3
3
|
import { Table } from '@tanstack/react-table';
|
|
4
4
|
import { motion } from 'framer-motion';
|
|
5
5
|
import * as React from 'react';
|
|
6
|
-
import 'class-variance-authority/
|
|
6
|
+
import 'class-variance-authority/types';
|
|
7
7
|
import 'class-variance-authority';
|
|
8
8
|
|
|
9
9
|
interface DataTableActionBarProps<TData> extends React.ComponentProps<typeof motion.div> {
|
|
@@ -3,7 +3,7 @@ import { Button } from '../../ui/button.js';
|
|
|
3
3
|
import { Table } from '@tanstack/react-table';
|
|
4
4
|
import { motion } from 'framer-motion';
|
|
5
5
|
import * as React from 'react';
|
|
6
|
-
import 'class-variance-authority/
|
|
6
|
+
import 'class-variance-authority/types';
|
|
7
7
|
import 'class-variance-authority';
|
|
8
8
|
|
|
9
9
|
interface DataTableActionBarProps<TData> extends React.ComponentProps<typeof motion.div> {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client"
|
|
2
|
-
"use strict";var u=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var z=(e,t)=>{for(var o in t)u(e,o,{get:t[o],enumerable:!0})},k=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of C(t))!N.call(e,s)&&s!==o&&u(e,s,{get:()=>t[s],enumerable:!(r=w(t,s))||r.enumerable});return e};var I=e=>k(u({},"__esModule",{value:!0}),e);var D={};z(D,{DataTablePagination:()=>V});module.exports=I(D);var v=require("radix-ui"),f=require("class-variance-authority");var m=require("clsx"),g=require("tailwind-merge");function l(...e){return(0,g.twMerge)((0,m.clsx)(e))}var x=require("react/jsx-runtime"),R=(0,f.cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function p({className:e,variant:t,size:o,asChild:r=!1,...s}){let d=r?v.Slot.Slot:"button";return(0,x.jsx)(d,{"data-slot":"button",className:l(R({variant:t,size:o,className:e}),"transition-none"),...s})}var n=require("radix-ui"),c=require("lucide-react");var i=require("react/jsx-runtime");function S({...e}){return(0,i.jsx)(n.Select.Root,{"data-slot":"select",...e})}function h({...e}){return(0,i.jsx)(n.Select.Value,{"data-slot":"select-value",...e})}function P({className:e,size:t="default",children:o,...r}){return(0,i.jsxs)(n.Select.Trigger,{"data-slot":"select-trigger","data-size":t,className:l("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...r,children:[o,(0,i.jsx)(n.Select.Icon,{asChild:!0,children:(0,i.jsx)(c.ChevronDownIcon,{className:"size-4 opacity-50"})})]})}function b({className:e,children:t,position:o="popper",...r}){return(0,i.jsx)(n.Select.Portal,{children:(0,i.jsxs)(n.Select.Content,{"data-slot":"select-content",className:l("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",o==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:o,...r,children:[(0,i.jsx)(T,{}),(0,i.jsx)(n.Select.Viewport,{className:l("p-1",o==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),(0,i.jsx)(B,{})]})})}function y({className:e,children:t,...o}){return(0,i.jsxs)(n.Select.Item,{"data-slot":"select-item",className:l("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...o,children:[(0,i.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,i.jsx)(n.Select.ItemIndicator,{children:(0,i.jsx)(c.CheckIcon,{className:"size-4"})})}),(0,i.jsx)(n.Select.ItemText,{children:t})]})}function T({className:e,...t}){return(0,i.jsx)(n.Select.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:l("flex cursor-default items-center justify-center py-1",e),...t,children:(0,i.jsx)(c.ChevronUpIcon,{className:"size-4"})})}function B({className:e,...t}){return(0,i.jsx)(n.Select.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:l("flex cursor-default items-center justify-center py-1",e),...t,children:(0,i.jsx)(c.ChevronDownIcon,{className:"size-4"})})}var a=require("react/jsx-runtime");function V({table:e,config:t}){return t.enabled?(0,a.jsx)("div",{className:"rounded-xl",children:(0,a.jsx)("div",{children:(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("div",{className:"flex items-center gap-6 text-sm text-muted-foreground",children:t.showInfo!==!1&&(0,a.jsxs)("span",{children:["Showing ",e.getState().pagination.pageIndex*e.getState().pagination.pageSize+1," to"," ",Math.min((e.getState().pagination.pageIndex+1)*e.getState().pagination.pageSize,e.getFilteredRowModel().rows.length)," ","of ",e.getFilteredRowModel().rows.length," entries"]})}),(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[t.pageSizeOptions&&(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:"Rows per page:"}),(0,a.jsxs)(S,{value:`${e.getState().pagination.pageSize}`,onValueChange:o=>e.setPageSize(Number(o)),children:[(0,a.jsx)(P,{className:"h-9 w-[70px] rounded-lg",children:(0,a.jsx)(h,{})}),(0,a.jsx)(b,{side:"top",className:"rounded-lg",children:t.pageSizeOptions.map(o=>(0,a.jsx)(y,{value:`${o}`,children:o},o))})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(p,{variant:"outline",size:"sm",onClick:()=>e.setPageIndex(0),disabled:!e.getCanPreviousPage(),className:"rounded-lg",children:"First"}),(0,a.jsx)(p,{variant:"outline",size:"sm",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),className:"rounded-lg",children:"Previous"}),t.showPageNumbers&&(0,a.jsx)("div",{className:"flex items-center gap-1",children:Array.from({length:Math.min(5,e.getPageCount())},(o,r)=>{let s=e.getState().pagination.pageIndex,d=s
|
|
2
|
+
"use strict";var u=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var z=(e,t)=>{for(var o in t)u(e,o,{get:t[o],enumerable:!0})},k=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of C(t))!N.call(e,s)&&s!==o&&u(e,s,{get:()=>t[s],enumerable:!(r=w(t,s))||r.enumerable});return e};var I=e=>k(u({},"__esModule",{value:!0}),e);var D={};z(D,{DataTablePagination:()=>V});module.exports=I(D);var v=require("radix-ui"),f=require("class-variance-authority");var m=require("clsx"),g=require("tailwind-merge");function l(...e){return(0,g.twMerge)((0,m.clsx)(e))}var x=require("react/jsx-runtime"),R=(0,f.cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function p({className:e,variant:t,size:o,asChild:r=!1,...s}){let d=r?v.Slot.Slot:"button";return(0,x.jsx)(d,{"data-slot":"button",className:l(R({variant:t,size:o,className:e}),"transition-none"),...s})}var n=require("radix-ui"),c=require("lucide-react");var i=require("react/jsx-runtime");function S({...e}){return(0,i.jsx)(n.Select.Root,{"data-slot":"select",...e})}function h({...e}){return(0,i.jsx)(n.Select.Value,{"data-slot":"select-value",...e})}function P({className:e,size:t="default",children:o,...r}){return(0,i.jsxs)(n.Select.Trigger,{"data-slot":"select-trigger","data-size":t,className:l("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...r,children:[o,(0,i.jsx)(n.Select.Icon,{asChild:!0,children:(0,i.jsx)(c.ChevronDownIcon,{className:"size-4 opacity-50"})})]})}function b({className:e,children:t,position:o="popper",...r}){return(0,i.jsx)(n.Select.Portal,{children:(0,i.jsxs)(n.Select.Content,{"data-slot":"select-content",className:l("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",o==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:o,...r,children:[(0,i.jsx)(T,{}),(0,i.jsx)(n.Select.Viewport,{className:l("p-1",o==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),(0,i.jsx)(B,{})]})})}function y({className:e,children:t,...o}){return(0,i.jsxs)(n.Select.Item,{"data-slot":"select-item",className:l("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...o,children:[(0,i.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,i.jsx)(n.Select.ItemIndicator,{children:(0,i.jsx)(c.CheckIcon,{className:"size-4"})})}),(0,i.jsx)(n.Select.ItemText,{children:t})]})}function T({className:e,...t}){return(0,i.jsx)(n.Select.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:l("flex cursor-default items-center justify-center py-1",e),...t,children:(0,i.jsx)(c.ChevronUpIcon,{className:"size-4"})})}function B({className:e,...t}){return(0,i.jsx)(n.Select.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:l("flex cursor-default items-center justify-center py-1",e),...t,children:(0,i.jsx)(c.ChevronDownIcon,{className:"size-4"})})}var a=require("react/jsx-runtime");function V({table:e,config:t}){return t.enabled?(0,a.jsx)("div",{className:"rounded-xl",children:(0,a.jsx)("div",{children:(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("div",{className:"flex items-center gap-6 text-sm text-muted-foreground",children:t.showInfo!==!1&&(0,a.jsxs)("span",{children:["Showing ",e.getState().pagination.pageIndex*e.getState().pagination.pageSize+1," to"," ",Math.min((e.getState().pagination.pageIndex+1)*e.getState().pagination.pageSize,e.getFilteredRowModel().rows.length)," ","of ",e.getFilteredRowModel().rows.length," entries"]})}),(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[t.pageSizeOptions&&(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:"Rows per page:"}),(0,a.jsxs)(S,{value:`${e.getState().pagination.pageSize}`,onValueChange:o=>e.setPageSize(Number(o)),children:[(0,a.jsx)(P,{className:"h-9 w-[70px] rounded-lg",children:(0,a.jsx)(h,{})}),(0,a.jsx)(b,{side:"top",className:"rounded-lg",children:t.pageSizeOptions.map(o=>(0,a.jsx)(y,{value:`${o}`,children:o},o))})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(p,{variant:"outline",size:"sm",onClick:()=>e.setPageIndex(0),disabled:!e.getCanPreviousPage(),className:"rounded-lg",children:"First"}),(0,a.jsx)(p,{variant:"outline",size:"sm",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),className:"rounded-lg",children:"Previous"}),t.showPageNumbers&&(0,a.jsx)("div",{className:"flex items-center gap-1",children:Array.from({length:Math.min(5,e.getPageCount())},(o,r)=>{let s=e.getState().pagination.pageIndex,d=s+r;return d<1||d>e.getPageCount()?null:(0,a.jsx)(p,{variant:d===s+1?"default":"outline",size:"sm",className:"size-8 p-0 rounded-lg",onClick:()=>e.setPageIndex(d-1),children:d},d)})}),(0,a.jsx)(p,{variant:"outline",size:"sm",onClick:()=>e.nextPage(),disabled:!e.getCanNextPage(),className:"rounded-lg",children:"Next"}),(0,a.jsx)(p,{variant:"outline",size:"sm",onClick:()=>e.setPageIndex(e.getPageCount()-1),disabled:!e.getCanNextPage(),className:"rounded-lg",children:"Last"})]})]})]})})}):null}0&&(module.exports={DataTablePagination});
|
|
3
3
|
//# sourceMappingURL=data-table-pagination.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/data/data-table/data-table-pagination.tsx","../../../../src/components/ui/button.tsx","../../../../src/lib/utils.ts","../../../../src/components/ui/select.tsx"],"sourcesContent":["import type { Table } from \"@tanstack/react-table\"\r\n\r\nimport { Button } from \"../../ui/button.jsx\"\r\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"../../ui/select.jsx\"\r\nimport type { PaginationConfig } from \"./data-table-types.js\"\r\n\r\ninterface DataTablePaginationProps<TData> {\r\n table: Table<TData>\r\n config: PaginationConfig\r\n}\r\n\r\nexport function DataTablePagination<TData>({ table, config }: DataTablePaginationProps<TData>) {\r\n if (!config.enabled) return null\r\n\r\n return (\r\n <div className=\"rounded-xl\">\r\n <div>\r\n <div className=\"flex items-center justify-between\">\r\n <div className=\"flex items-center gap-6 text-sm text-muted-foreground\">\r\n {config.showInfo !== false && (\r\n <span>\r\n Showing {table.getState().pagination.pageIndex * table.getState().pagination.pageSize + 1} to{\" \"}\r\n {Math.min(\r\n (table.getState().pagination.pageIndex + 1) * table.getState().pagination.pageSize,\r\n table.getFilteredRowModel().rows.length,\r\n )}{\" \"}\r\n of {table.getFilteredRowModel().rows.length} entries\r\n </span>\r\n )}\r\n </div>\r\n\r\n <div className=\"flex items-center gap-4\">\r\n {config.pageSizeOptions && (\r\n <div className=\"flex items-center gap-2\">\r\n <span className=\"text-sm font-medium\">Rows per page:</span>\r\n <Select\r\n value={`${table.getState().pagination.pageSize}`}\r\n onValueChange={(value) => table.setPageSize(Number(value))}\r\n >\r\n <SelectTrigger className=\"h-9 w-[70px] rounded-lg\">\r\n <SelectValue />\r\n </SelectTrigger>\r\n <SelectContent side=\"top\" className=\"rounded-lg\">\r\n {config.pageSizeOptions.map((pageSize) => (\r\n <SelectItem key={pageSize} value={`${pageSize}`}>\r\n {pageSize}\r\n </SelectItem>\r\n ))}\r\n </SelectContent>\r\n </Select>\r\n </div>\r\n )}\r\n\r\n <div className=\"flex items-center gap-2\">\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => table.setPageIndex(0)}\r\n disabled={!table.getCanPreviousPage()}\r\n className=\"rounded-lg\"\r\n >\r\n First\r\n </Button>\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => table.previousPage()}\r\n disabled={!table.getCanPreviousPage()}\r\n className=\"rounded-lg\"\r\n >\r\n Previous\r\n </Button>\r\n\r\n {config.showPageNumbers && (\r\n <div className=\"flex items-center gap-1\">\r\n {Array.from({ length: Math.min(5, table.getPageCount()) }, (_, i) => {\r\n const pageIndex = table.getState().pagination.pageIndex\r\n const pageNumber = pageIndex - 2 + i + 1\r\n if (pageNumber < 1 || pageNumber > table.getPageCount()) return null\r\n\r\n return (\r\n <Button\r\n key={pageNumber}\r\n variant={pageNumber === pageIndex + 1 ? \"default\" : \"outline\"}\r\n size=\"sm\"\r\n className=\"size-8 p-0 rounded-lg\"\r\n onClick={() => table.setPageIndex(pageNumber - 1)}\r\n >\r\n {pageNumber}\r\n </Button>\r\n )\r\n })}\r\n </div>\r\n )}\r\n\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => table.nextPage()}\r\n disabled={!table.getCanNextPage()}\r\n className=\"rounded-lg\"\r\n >\r\n Next\r\n </Button>\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => table.setPageIndex(table.getPageCount() - 1)}\r\n disabled={!table.getCanNextPage()}\r\n className=\"rounded-lg\"\r\n >\r\n Last\r\n </Button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n","import * as React from \"react\"\nimport { Slot as SlotPrimitive } from \"radix-ui\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils.js\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? SlotPrimitive.Slot : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }), \"transition-none\")}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","import { clsx, type ClassValue } from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs));\r\n}","import * as React from \"react\"\nimport { Select as SelectPrimitive } from \"radix-ui\"\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\"\n\nimport { cn } from \"../../lib/utils.js\"\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\"\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n"],"mappings":"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","names":["data_table_pagination_exports","__export","DataTablePagination","__toCommonJS","import_radix_ui","import_class_variance_authority","import_clsx","import_tailwind_merge","cn","inputs","import_jsx_runtime","buttonVariants","Button","className","variant","size","asChild","props","Comp","SlotPrimitive","cn","import_radix_ui","import_lucide_react","import_jsx_runtime","Select","props","SelectPrimitive","SelectValue","props","SelectPrimitive","SelectTrigger","className","size","children","cn","SelectContent","position","SelectScrollUpButton","SelectScrollDownButton","SelectItem","className","children","props","SelectPrimitive","cn","SelectScrollUpButton","className","props","SelectPrimitive","cn","SelectScrollDownButton","import_jsx_runtime","DataTablePagination","table","config","Select","value","SelectTrigger","SelectValue","SelectContent","pageSize","SelectItem","Button","_","i","pageIndex","pageNumber"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/data/data-table/data-table-pagination.tsx","../../../../src/components/ui/button.tsx","../../../../src/lib/utils.ts","../../../../src/components/ui/select.tsx"],"sourcesContent":["import type { Table } from \"@tanstack/react-table\"\r\n\r\nimport { Button } from \"../../ui/button.jsx\"\r\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"../../ui/select.jsx\"\r\nimport type { PaginationConfig } from \"./data-table-types.js\"\r\n\r\ninterface DataTablePaginationProps<TData> {\r\n table: Table<TData>\r\n config: PaginationConfig\r\n}\r\n\r\nexport function DataTablePagination<TData>({ table, config }: DataTablePaginationProps<TData>) {\r\n if (!config.enabled) return null\r\n\r\n return (\r\n <div className=\"rounded-xl\">\r\n <div>\r\n <div className=\"flex items-center justify-between\">\r\n <div className=\"flex items-center gap-6 text-sm text-muted-foreground\">\r\n {config.showInfo !== false && (\r\n <span>\r\n Showing {table.getState().pagination.pageIndex * table.getState().pagination.pageSize + 1} to{\" \"}\r\n {Math.min(\r\n (table.getState().pagination.pageIndex + 1) * table.getState().pagination.pageSize,\r\n table.getFilteredRowModel().rows.length,\r\n )}{\" \"}\r\n of {table.getFilteredRowModel().rows.length} entries\r\n </span>\r\n )}\r\n </div>\r\n\r\n <div className=\"flex items-center gap-4\">\r\n {config.pageSizeOptions && (\r\n <div className=\"flex items-center gap-2\">\r\n <span className=\"text-sm font-medium\">Rows per page:</span>\r\n <Select\r\n value={`${table.getState().pagination.pageSize}`}\r\n onValueChange={(value) => table.setPageSize(Number(value))}\r\n >\r\n <SelectTrigger className=\"h-9 w-[70px] rounded-lg\">\r\n <SelectValue />\r\n </SelectTrigger>\r\n <SelectContent side=\"top\" className=\"rounded-lg\">\r\n {config.pageSizeOptions.map((pageSize) => (\r\n <SelectItem key={pageSize} value={`${pageSize}`}>\r\n {pageSize}\r\n </SelectItem>\r\n ))}\r\n </SelectContent>\r\n </Select>\r\n </div>\r\n )}\r\n\r\n <div className=\"flex items-center gap-2\">\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => table.setPageIndex(0)}\r\n disabled={!table.getCanPreviousPage()}\r\n className=\"rounded-lg\"\r\n >\r\n First\r\n </Button>\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => table.previousPage()}\r\n disabled={!table.getCanPreviousPage()}\r\n className=\"rounded-lg\"\r\n >\r\n Previous\r\n </Button>\r\n\r\n {config.showPageNumbers && (\r\n <div className=\"flex items-center gap-1\">\r\n {Array.from({ length: Math.min(5, table.getPageCount()) }, (_, i) => {\r\n const pageIndex = table.getState().pagination.pageIndex\r\n const pageNumber = pageIndex + i\r\n if (pageNumber < 1 || pageNumber > table.getPageCount()) return null\r\n return (\r\n <Button\r\n key={pageNumber}\r\n variant={pageNumber === pageIndex + 1 ? \"default\" : \"outline\"}\r\n size=\"sm\"\r\n className=\"size-8 p-0 rounded-lg\"\r\n onClick={() => table.setPageIndex(pageNumber - 1)}\r\n >\r\n {pageNumber}\r\n </Button>\r\n )\r\n })}\r\n </div>\r\n )}\r\n\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => table.nextPage()}\r\n disabled={!table.getCanNextPage()}\r\n className=\"rounded-lg\"\r\n >\r\n Next\r\n </Button>\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => table.setPageIndex(table.getPageCount() - 1)}\r\n disabled={!table.getCanNextPage()}\r\n className=\"rounded-lg\"\r\n >\r\n Last\r\n </Button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n","import * as React from \"react\"\nimport { Slot as SlotPrimitive } from \"radix-ui\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils.js\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? SlotPrimitive.Slot : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }), \"transition-none\")}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","import { clsx, type ClassValue } from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs));\r\n}","import * as React from \"react\"\nimport { Select as SelectPrimitive } from \"radix-ui\"\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\"\n\nimport { cn } from \"../../lib/utils.js\"\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\"\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n"],"mappings":"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","names":["data_table_pagination_exports","__export","DataTablePagination","__toCommonJS","import_radix_ui","import_class_variance_authority","import_clsx","import_tailwind_merge","cn","inputs","import_jsx_runtime","buttonVariants","Button","className","variant","size","asChild","props","Comp","SlotPrimitive","cn","import_radix_ui","import_lucide_react","import_jsx_runtime","Select","props","SelectPrimitive","SelectValue","props","SelectPrimitive","SelectTrigger","className","size","children","cn","SelectContent","position","SelectScrollUpButton","SelectScrollDownButton","SelectItem","className","children","props","SelectPrimitive","cn","SelectScrollUpButton","className","props","SelectPrimitive","cn","SelectScrollDownButton","import_jsx_runtime","DataTablePagination","table","config","Select","value","SelectTrigger","SelectValue","SelectContent","pageSize","SelectItem","Button","_","i","pageIndex","pageNumber"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client"
|
|
2
|
-
import{Slot as b}from"radix-ui";import{cva as y}from"class-variance-authority";import{clsx as h}from"clsx";import{twMerge as P}from"tailwind-merge";function r(...e){return P(h(e))}import{jsx as C}from"react/jsx-runtime";var w=y("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function d({className:e,variant:t,size:a,asChild:l=!1,...p}){let s=l?b.Slot:"button";return C(s,{"data-slot":"button",className:r(w({variant:t,size:a,className:e}),"transition-none"),...p})}import{Select as n}from"radix-ui";import{CheckIcon as N,ChevronDownIcon as m,ChevronUpIcon as z}from"lucide-react";import{jsx as o,jsxs as u}from"react/jsx-runtime";function g({...e}){return o(n.Root,{"data-slot":"select",...e})}function v({...e}){return o(n.Value,{"data-slot":"select-value",...e})}function f({className:e,size:t="default",children:a,...l}){return u(n.Trigger,{"data-slot":"select-trigger","data-size":t,className:r("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...l,children:[a,o(n.Icon,{asChild:!0,children:o(m,{className:"size-4 opacity-50"})})]})}function x({className:e,children:t,position:a="popper",...l}){return o(n.Portal,{children:u(n.Content,{"data-slot":"select-content",className:r("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",a==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:a,...l,children:[o(k,{}),o(n.Viewport,{className:r("p-1",a==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),o(I,{})]})})}function S({className:e,children:t,...a}){return u(n.Item,{"data-slot":"select-item",className:r("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...a,children:[o("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:o(n.ItemIndicator,{children:o(N,{className:"size-4"})})}),o(n.ItemText,{children:t})]})}function k({className:e,...t}){return o(n.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:r("flex cursor-default items-center justify-center py-1",e),...t,children:o(z,{className:"size-4"})})}function I({className:e,...t}){return o(n.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:r("flex cursor-default items-center justify-center py-1",e),...t,children:o(m,{className:"size-4"})})}import{jsx as i,jsxs as c}from"react/jsx-runtime";function q({table:e,config:t}){return t.enabled?i("div",{className:"rounded-xl",children:i("div",{children:c("div",{className:"flex items-center justify-between",children:[i("div",{className:"flex items-center gap-6 text-sm text-muted-foreground",children:t.showInfo!==!1&&c("span",{children:["Showing ",e.getState().pagination.pageIndex*e.getState().pagination.pageSize+1," to"," ",Math.min((e.getState().pagination.pageIndex+1)*e.getState().pagination.pageSize,e.getFilteredRowModel().rows.length)," ","of ",e.getFilteredRowModel().rows.length," entries"]})}),c("div",{className:"flex items-center gap-4",children:[t.pageSizeOptions&&c("div",{className:"flex items-center gap-2",children:[i("span",{className:"text-sm font-medium",children:"Rows per page:"}),c(g,{value:`${e.getState().pagination.pageSize}`,onValueChange:a=>e.setPageSize(Number(a)),children:[i(f,{className:"h-9 w-[70px] rounded-lg",children:i(v,{})}),i(x,{side:"top",className:"rounded-lg",children:t.pageSizeOptions.map(a=>i(S,{value:`${a}`,children:a},a))})]})]}),c("div",{className:"flex items-center gap-2",children:[i(d,{variant:"outline",size:"sm",onClick:()=>e.setPageIndex(0),disabled:!e.getCanPreviousPage(),className:"rounded-lg",children:"First"}),i(d,{variant:"outline",size:"sm",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),className:"rounded-lg",children:"Previous"}),t.showPageNumbers&&i("div",{className:"flex items-center gap-1",children:Array.from({length:Math.min(5,e.getPageCount())},(a,l)=>{let p=e.getState().pagination.pageIndex,s=p
|
|
2
|
+
import{Slot as b}from"radix-ui";import{cva as y}from"class-variance-authority";import{clsx as h}from"clsx";import{twMerge as P}from"tailwind-merge";function r(...e){return P(h(e))}import{jsx as C}from"react/jsx-runtime";var w=y("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function d({className:e,variant:t,size:a,asChild:l=!1,...p}){let s=l?b.Slot:"button";return C(s,{"data-slot":"button",className:r(w({variant:t,size:a,className:e}),"transition-none"),...p})}import{Select as n}from"radix-ui";import{CheckIcon as N,ChevronDownIcon as m,ChevronUpIcon as z}from"lucide-react";import{jsx as o,jsxs as u}from"react/jsx-runtime";function g({...e}){return o(n.Root,{"data-slot":"select",...e})}function v({...e}){return o(n.Value,{"data-slot":"select-value",...e})}function f({className:e,size:t="default",children:a,...l}){return u(n.Trigger,{"data-slot":"select-trigger","data-size":t,className:r("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...l,children:[a,o(n.Icon,{asChild:!0,children:o(m,{className:"size-4 opacity-50"})})]})}function x({className:e,children:t,position:a="popper",...l}){return o(n.Portal,{children:u(n.Content,{"data-slot":"select-content",className:r("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",a==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:a,...l,children:[o(k,{}),o(n.Viewport,{className:r("p-1",a==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),o(I,{})]})})}function S({className:e,children:t,...a}){return u(n.Item,{"data-slot":"select-item",className:r("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...a,children:[o("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:o(n.ItemIndicator,{children:o(N,{className:"size-4"})})}),o(n.ItemText,{children:t})]})}function k({className:e,...t}){return o(n.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:r("flex cursor-default items-center justify-center py-1",e),...t,children:o(z,{className:"size-4"})})}function I({className:e,...t}){return o(n.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:r("flex cursor-default items-center justify-center py-1",e),...t,children:o(m,{className:"size-4"})})}import{jsx as i,jsxs as c}from"react/jsx-runtime";function q({table:e,config:t}){return t.enabled?i("div",{className:"rounded-xl",children:i("div",{children:c("div",{className:"flex items-center justify-between",children:[i("div",{className:"flex items-center gap-6 text-sm text-muted-foreground",children:t.showInfo!==!1&&c("span",{children:["Showing ",e.getState().pagination.pageIndex*e.getState().pagination.pageSize+1," to"," ",Math.min((e.getState().pagination.pageIndex+1)*e.getState().pagination.pageSize,e.getFilteredRowModel().rows.length)," ","of ",e.getFilteredRowModel().rows.length," entries"]})}),c("div",{className:"flex items-center gap-4",children:[t.pageSizeOptions&&c("div",{className:"flex items-center gap-2",children:[i("span",{className:"text-sm font-medium",children:"Rows per page:"}),c(g,{value:`${e.getState().pagination.pageSize}`,onValueChange:a=>e.setPageSize(Number(a)),children:[i(f,{className:"h-9 w-[70px] rounded-lg",children:i(v,{})}),i(x,{side:"top",className:"rounded-lg",children:t.pageSizeOptions.map(a=>i(S,{value:`${a}`,children:a},a))})]})]}),c("div",{className:"flex items-center gap-2",children:[i(d,{variant:"outline",size:"sm",onClick:()=>e.setPageIndex(0),disabled:!e.getCanPreviousPage(),className:"rounded-lg",children:"First"}),i(d,{variant:"outline",size:"sm",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),className:"rounded-lg",children:"Previous"}),t.showPageNumbers&&i("div",{className:"flex items-center gap-1",children:Array.from({length:Math.min(5,e.getPageCount())},(a,l)=>{let p=e.getState().pagination.pageIndex,s=p+l;return s<1||s>e.getPageCount()?null:i(d,{variant:s===p+1?"default":"outline",size:"sm",className:"size-8 p-0 rounded-lg",onClick:()=>e.setPageIndex(s-1),children:s},s)})}),i(d,{variant:"outline",size:"sm",onClick:()=>e.nextPage(),disabled:!e.getCanNextPage(),className:"rounded-lg",children:"Next"}),i(d,{variant:"outline",size:"sm",onClick:()=>e.setPageIndex(e.getPageCount()-1),disabled:!e.getCanNextPage(),className:"rounded-lg",children:"Last"})]})]})]})})}):null}export{q as DataTablePagination};
|
|
3
3
|
//# sourceMappingURL=data-table-pagination.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ui/button.tsx","../../../../src/lib/utils.ts","../../../../src/components/ui/select.tsx","../../../../src/components/data/data-table/data-table-pagination.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Slot as SlotPrimitive } from \"radix-ui\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils.js\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? SlotPrimitive.Slot : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }), \"transition-none\")}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","import { clsx, type ClassValue } from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs));\r\n}","import * as React from \"react\"\nimport { Select as SelectPrimitive } from \"radix-ui\"\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\"\n\nimport { cn } from \"../../lib/utils.js\"\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\"\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n","import type { Table } from \"@tanstack/react-table\"\r\n\r\nimport { Button } from \"../../ui/button.jsx\"\r\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"../../ui/select.jsx\"\r\nimport type { PaginationConfig } from \"./data-table-types.js\"\r\n\r\ninterface DataTablePaginationProps<TData> {\r\n table: Table<TData>\r\n config: PaginationConfig\r\n}\r\n\r\nexport function DataTablePagination<TData>({ table, config }: DataTablePaginationProps<TData>) {\r\n if (!config.enabled) return null\r\n\r\n return (\r\n <div className=\"rounded-xl\">\r\n <div>\r\n <div className=\"flex items-center justify-between\">\r\n <div className=\"flex items-center gap-6 text-sm text-muted-foreground\">\r\n {config.showInfo !== false && (\r\n <span>\r\n Showing {table.getState().pagination.pageIndex * table.getState().pagination.pageSize + 1} to{\" \"}\r\n {Math.min(\r\n (table.getState().pagination.pageIndex + 1) * table.getState().pagination.pageSize,\r\n table.getFilteredRowModel().rows.length,\r\n )}{\" \"}\r\n of {table.getFilteredRowModel().rows.length} entries\r\n </span>\r\n )}\r\n </div>\r\n\r\n <div className=\"flex items-center gap-4\">\r\n {config.pageSizeOptions && (\r\n <div className=\"flex items-center gap-2\">\r\n <span className=\"text-sm font-medium\">Rows per page:</span>\r\n <Select\r\n value={`${table.getState().pagination.pageSize}`}\r\n onValueChange={(value) => table.setPageSize(Number(value))}\r\n >\r\n <SelectTrigger className=\"h-9 w-[70px] rounded-lg\">\r\n <SelectValue />\r\n </SelectTrigger>\r\n <SelectContent side=\"top\" className=\"rounded-lg\">\r\n {config.pageSizeOptions.map((pageSize) => (\r\n <SelectItem key={pageSize} value={`${pageSize}`}>\r\n {pageSize}\r\n </SelectItem>\r\n ))}\r\n </SelectContent>\r\n </Select>\r\n </div>\r\n )}\r\n\r\n <div className=\"flex items-center gap-2\">\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => table.setPageIndex(0)}\r\n disabled={!table.getCanPreviousPage()}\r\n className=\"rounded-lg\"\r\n >\r\n First\r\n </Button>\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => table.previousPage()}\r\n disabled={!table.getCanPreviousPage()}\r\n className=\"rounded-lg\"\r\n >\r\n Previous\r\n </Button>\r\n\r\n {config.showPageNumbers && (\r\n <div className=\"flex items-center gap-1\">\r\n {Array.from({ length: Math.min(5, table.getPageCount()) }, (_, i) => {\r\n const pageIndex = table.getState().pagination.pageIndex\r\n const pageNumber = pageIndex - 2 + i + 1\r\n if (pageNumber < 1 || pageNumber > table.getPageCount()) return null\r\n\r\n return (\r\n <Button\r\n key={pageNumber}\r\n variant={pageNumber === pageIndex + 1 ? \"default\" : \"outline\"}\r\n size=\"sm\"\r\n className=\"size-8 p-0 rounded-lg\"\r\n onClick={() => table.setPageIndex(pageNumber - 1)}\r\n >\r\n {pageNumber}\r\n </Button>\r\n )\r\n })}\r\n </div>\r\n )}\r\n\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => table.nextPage()}\r\n disabled={!table.getCanNextPage()}\r\n className=\"rounded-lg\"\r\n >\r\n Next\r\n </Button>\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => table.setPageIndex(table.getPageCount() - 1)}\r\n disabled={!table.getCanNextPage()}\r\n className=\"rounded-lg\"\r\n >\r\n Last\r\n </Button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n"],"mappings":"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","names":["SlotPrimitive","cva","clsx","twMerge","cn","inputs","jsx","buttonVariants","cva","Button","className","variant","size","asChild","props","Comp","SlotPrimitive","cn","SelectPrimitive","CheckIcon","ChevronDownIcon","ChevronUpIcon","jsx","jsxs","Select","props","SelectPrimitive","SelectValue","props","jsx","SelectPrimitive","SelectTrigger","className","size","children","jsxs","cn","ChevronDownIcon","SelectContent","position","SelectScrollUpButton","SelectScrollDownButton","SelectItem","className","children","props","jsxs","SelectPrimitive","cn","jsx","CheckIcon","SelectScrollUpButton","className","props","jsx","SelectPrimitive","cn","ChevronUpIcon","SelectScrollDownButton","ChevronDownIcon","jsx","jsxs","DataTablePagination","table","config","Select","value","SelectTrigger","SelectValue","SelectContent","pageSize","SelectItem","Button","_","i","pageIndex","pageNumber"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ui/button.tsx","../../../../src/lib/utils.ts","../../../../src/components/ui/select.tsx","../../../../src/components/data/data-table/data-table-pagination.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Slot as SlotPrimitive } from \"radix-ui\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils.js\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? SlotPrimitive.Slot : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }), \"transition-none\")}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","import { clsx, type ClassValue } from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs));\r\n}","import * as React from \"react\"\nimport { Select as SelectPrimitive } from \"radix-ui\"\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\"\n\nimport { cn } from \"../../lib/utils.js\"\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\"\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n","import type { Table } from \"@tanstack/react-table\"\r\n\r\nimport { Button } from \"../../ui/button.jsx\"\r\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"../../ui/select.jsx\"\r\nimport type { PaginationConfig } from \"./data-table-types.js\"\r\n\r\ninterface DataTablePaginationProps<TData> {\r\n table: Table<TData>\r\n config: PaginationConfig\r\n}\r\n\r\nexport function DataTablePagination<TData>({ table, config }: DataTablePaginationProps<TData>) {\r\n if (!config.enabled) return null\r\n\r\n return (\r\n <div className=\"rounded-xl\">\r\n <div>\r\n <div className=\"flex items-center justify-between\">\r\n <div className=\"flex items-center gap-6 text-sm text-muted-foreground\">\r\n {config.showInfo !== false && (\r\n <span>\r\n Showing {table.getState().pagination.pageIndex * table.getState().pagination.pageSize + 1} to{\" \"}\r\n {Math.min(\r\n (table.getState().pagination.pageIndex + 1) * table.getState().pagination.pageSize,\r\n table.getFilteredRowModel().rows.length,\r\n )}{\" \"}\r\n of {table.getFilteredRowModel().rows.length} entries\r\n </span>\r\n )}\r\n </div>\r\n\r\n <div className=\"flex items-center gap-4\">\r\n {config.pageSizeOptions && (\r\n <div className=\"flex items-center gap-2\">\r\n <span className=\"text-sm font-medium\">Rows per page:</span>\r\n <Select\r\n value={`${table.getState().pagination.pageSize}`}\r\n onValueChange={(value) => table.setPageSize(Number(value))}\r\n >\r\n <SelectTrigger className=\"h-9 w-[70px] rounded-lg\">\r\n <SelectValue />\r\n </SelectTrigger>\r\n <SelectContent side=\"top\" className=\"rounded-lg\">\r\n {config.pageSizeOptions.map((pageSize) => (\r\n <SelectItem key={pageSize} value={`${pageSize}`}>\r\n {pageSize}\r\n </SelectItem>\r\n ))}\r\n </SelectContent>\r\n </Select>\r\n </div>\r\n )}\r\n\r\n <div className=\"flex items-center gap-2\">\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => table.setPageIndex(0)}\r\n disabled={!table.getCanPreviousPage()}\r\n className=\"rounded-lg\"\r\n >\r\n First\r\n </Button>\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => table.previousPage()}\r\n disabled={!table.getCanPreviousPage()}\r\n className=\"rounded-lg\"\r\n >\r\n Previous\r\n </Button>\r\n\r\n {config.showPageNumbers && (\r\n <div className=\"flex items-center gap-1\">\r\n {Array.from({ length: Math.min(5, table.getPageCount()) }, (_, i) => {\r\n const pageIndex = table.getState().pagination.pageIndex\r\n const pageNumber = pageIndex + i\r\n if (pageNumber < 1 || pageNumber > table.getPageCount()) return null\r\n return (\r\n <Button\r\n key={pageNumber}\r\n variant={pageNumber === pageIndex + 1 ? \"default\" : \"outline\"}\r\n size=\"sm\"\r\n className=\"size-8 p-0 rounded-lg\"\r\n onClick={() => table.setPageIndex(pageNumber - 1)}\r\n >\r\n {pageNumber}\r\n </Button>\r\n )\r\n })}\r\n </div>\r\n )}\r\n\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => table.nextPage()}\r\n disabled={!table.getCanNextPage()}\r\n className=\"rounded-lg\"\r\n >\r\n Next\r\n </Button>\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => table.setPageIndex(table.getPageCount() - 1)}\r\n disabled={!table.getCanNextPage()}\r\n className=\"rounded-lg\"\r\n >\r\n Last\r\n </Button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n"],"mappings":"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","names":["SlotPrimitive","cva","clsx","twMerge","cn","inputs","jsx","buttonVariants","cva","Button","className","variant","size","asChild","props","Comp","SlotPrimitive","cn","SelectPrimitive","CheckIcon","ChevronDownIcon","ChevronUpIcon","jsx","jsxs","Select","props","SelectPrimitive","SelectValue","props","jsx","SelectPrimitive","SelectTrigger","className","size","children","jsxs","cn","ChevronDownIcon","SelectContent","position","SelectScrollUpButton","SelectScrollDownButton","SelectItem","className","children","props","jsxs","SelectPrimitive","cn","jsx","CheckIcon","SelectScrollUpButton","className","props","jsx","SelectPrimitive","cn","ChevronUpIcon","SelectScrollDownButton","ChevronDownIcon","jsx","jsxs","DataTablePagination","table","config","Select","value","SelectTrigger","SelectValue","SelectContent","pageSize","SelectItem","Button","_","i","pageIndex","pageNumber"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client"
|
|
2
|
-
"use strict";var De=Object.create;var L=Object.defineProperty;var Se=Object.getOwnPropertyDescriptor;var Ne=Object.getOwnPropertyNames;var Me=Object.getPrototypeOf,ke=Object.prototype.hasOwnProperty;var ze=(e,a)=>{for(var r in a)L(e,r,{get:a[r],enumerable:!0})},ne=(e,a,r,d)=>{if(a&&typeof a=="object"||typeof a=="function")for(let u of Ne(a))!ke.call(e,u)&&u!==r&&L(e,u,{get:()=>a[u],enumerable:!(d=Se(a,u))||d.enumerable});return e};var Re=(e,a,r)=>(r=e!=null?De(Me(e)):{},ne(a||!e||!e.__esModule?L(r,"default",{value:e,enumerable:!0}):r,e)),Ie=e=>ne(L({},"__esModule",{value:!0}),e);var Fe={};ze(Fe,{DataTableToolbar:()=>Be});module.exports=Ie(Fe);var c=require("lucide-react");var ie=require("radix-ui"),se=require("class-variance-authority");var ae=require("clsx"),re=require("tailwind-merge");function n(...e){return(0,re.twMerge)((0,ae.clsx)(e))}var de=require("react/jsx-runtime"),G=(0,se.cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function v({className:e,variant:a,size:r,asChild:d=!1,...u}){let m=d?ie.Slot.Slot:"button";return(0,de.jsx)(m,{"data-slot":"button",className:n(G({variant:a,size:r,className:e}),"transition-none"),...u})}var le=require("react/jsx-runtime");function E({className:e,type:a,...r}){return(0,le.jsx)("input",{type:a,"data-slot":"input",className:n("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...r})}var b=require("radix-ui"),S=require("lucide-react");var l=require("react/jsx-runtime");function ce({...e}){return(0,l.jsx)(b.Select.Root,{"data-slot":"select",...e})}function ue({...e}){return(0,l.jsx)(b.Select.Value,{"data-slot":"select-value",...e})}function pe({className:e,size:a="default",children:r,...d}){return(0,l.jsxs)(b.Select.Trigger,{"data-slot":"select-trigger","data-size":a,className:n("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...d,children:[r,(0,l.jsx)(b.Select.Icon,{asChild:!0,children:(0,l.jsx)(S.ChevronDownIcon,{className:"size-4 opacity-50"})})]})}function me({className:e,children:a,position:r="popper",...d}){return(0,l.jsx)(b.Select.Portal,{children:(0,l.jsxs)(b.Select.Content,{"data-slot":"select-content",className:n("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...d,children:[(0,l.jsx)(_e,{}),(0,l.jsx)(b.Select.Viewport,{className:n("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:a}),(0,l.jsx)(Te,{})]})})}function q({className:e,children:a,...r}){return(0,l.jsxs)(b.Select.Item,{"data-slot":"select-item",className:n("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r,children:[(0,l.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,l.jsx)(b.Select.ItemIndicator,{children:(0,l.jsx)(S.CheckIcon,{className:"size-4"})})}),(0,l.jsx)(b.Select.ItemText,{children:a})]})}function _e({className:e,...a}){return(0,l.jsx)(b.Select.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:n("flex cursor-default items-center justify-center py-1",e),...a,children:(0,l.jsx)(S.ChevronUpIcon,{className:"size-4"})})}function Te({className:e,...a}){return(0,l.jsx)(b.Select.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:n("flex cursor-default items-center justify-center py-1",e),...a,children:(0,l.jsx)(S.ChevronDownIcon,{className:"size-4"})})}var h=require("radix-ui"),A=require("lucide-react");var g=require("react/jsx-runtime");function W({...e}){return(0,g.jsx)(h.DropdownMenu.Root,{"data-slot":"dropdown-menu",...e})}function X({...e}){return(0,g.jsx)(h.DropdownMenu.Trigger,{"data-slot":"dropdown-menu-trigger",...e})}function J({className:e,sideOffset:a=4,...r}){return(0,g.jsx)(h.DropdownMenu.Portal,{children:(0,g.jsx)(h.DropdownMenu.Content,{"data-slot":"dropdown-menu-content",sideOffset:a,className:n("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) rounded-md border p-1 shadow-md",e),...r})})}function K({...e}){return(0,g.jsx)(h.DropdownMenu.Group,{"data-slot":"dropdown-menu-group",...e})}function I({className:e,inset:a,variant:r="default",...d}){return(0,g.jsx)(h.DropdownMenu.Item,{"data-slot":"dropdown-menu-item","data-inset":a,"data-variant":r,className:n("cursor-pointer focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...d})}function Q({className:e,children:a,checked:r,...d}){return(0,g.jsxs)(h.DropdownMenu.CheckboxItem,{"data-slot":"dropdown-menu-checkbox-item",className:n("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),checked:r,...d,children:[(0,g.jsx)("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:(0,g.jsx)(h.DropdownMenu.ItemIndicator,{children:(0,g.jsx)(A.CheckIcon,{className:"size-4"})})}),a]})}function k({className:e,inset:a,...r}){return(0,g.jsx)(h.DropdownMenu.Label,{"data-slot":"dropdown-menu-label","data-inset":a,className:n("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",e),...r})}function _({className:e,...a}){return(0,g.jsx)(h.DropdownMenu.Separator,{"data-slot":"dropdown-menu-separator",className:n("bg-border -mx-1 my-1 h-px",e),...a})}var we=require("react");var Y=require("react"),xe=require("lucide-react"),R=require("date-fns");var T=require("radix-ui");var V=require("react/jsx-runtime");function ge({...e}){return(0,V.jsx)(T.Popover.Root,{"data-slot":"popover",...e})}function fe({...e}){return(0,V.jsx)(T.Popover.Trigger,{"data-slot":"popover-trigger",...e})}function ve({className:e,align:a="center",sideOffset:r=4,...d}){return(0,V.jsx)(T.Popover.Portal,{children:(0,V.jsx)(T.Popover.Content,{"data-slot":"popover-content",align:a,sideOffset:r,className:n("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...d})})}var j=Re(require("react"),1),z=require("lucide-react"),B=require("react-day-picker");var D=require("react/jsx-runtime");function be({className:e,classNames:a,showOutsideDays:r=!0,captionLayout:d="label",buttonVariant:u="ghost",formatters:m,components:N,...y}){let s=(0,B.getDefaultClassNames)();return(0,D.jsx)(B.DayPicker,{showOutsideDays:r,className:n("bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:d,formatters:{formatMonthDropdown:p=>p.toLocaleString("default",{month:"short"}),...m},classNames:{root:n("w-fit",s.root),months:n("flex gap-4 flex-col md:flex-row relative",s.months),month:n("flex flex-col w-full gap-4",s.month),nav:n("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",s.nav),button_previous:n(G({variant:u}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",s.button_previous),button_next:n(G({variant:u}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",s.button_next),month_caption:n("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",s.month_caption),dropdowns:n("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",s.dropdowns),dropdown_root:n("relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",s.dropdown_root),dropdown:n("absolute bg-popover inset-0 opacity-0",s.dropdown),caption_label:n("select-none font-medium",d==="label"?"text-sm":"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",s.caption_label),table:"w-full border-collapse",weekdays:n("flex",s.weekdays),weekday:n("text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none",s.weekday),week:n("flex w-full mt-2",s.week),week_number_header:n("select-none w-(--cell-size)",s.week_number_header),week_number:n("text-[0.8rem] select-none text-muted-foreground",s.week_number),day:n("relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",s.day),range_start:n("rounded-l-md bg-accent",s.range_start),range_middle:n("rounded-none",s.range_middle),range_end:n("rounded-r-md bg-accent",s.range_end),today:n("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",s.today),outside:n("text-muted-foreground aria-selected:text-muted-foreground",s.outside),disabled:n("text-muted-foreground opacity-50",s.disabled),hidden:n("invisible",s.hidden),...a},components:{Root:({className:p,rootRef:w,...C})=>(0,D.jsx)("div",{"data-slot":"calendar",ref:w,className:n(p),...C}),Chevron:({className:p,orientation:w,...C})=>w==="left"?(0,D.jsx)(z.ChevronLeftIcon,{className:n("size-4",p),...C}):w==="right"?(0,D.jsx)(z.ChevronRightIcon,{className:n("size-4",p),...C}):(0,D.jsx)(z.ChevronDownIcon,{className:n("size-4",p),...C}),DayButton:Ve,WeekNumber:({children:p,...w})=>(0,D.jsx)("td",{...w,children:(0,D.jsx)("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:p})}),...N},...y})}function Ve({className:e,day:a,modifiers:r,...d}){let u=(0,B.getDefaultClassNames)(),m=j.useRef(null);return j.useEffect(()=>{r.focused&&m.current?.focus()},[r.focused]),(0,D.jsx)(v,{ref:m,variant:"ghost",size:"icon","data-day":a.date.toLocaleDateString(),"data-selected-single":r.selected&&!r.range_start&&!r.range_end&&!r.range_middle,"data-range-start":r.range_start,"data-range-end":r.range_end,"data-range-middle":r.range_middle,className:n("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70",u.day,e),...d})}var f=require("react/jsx-runtime");function he({value:e,onChange:a,placeholder:r,mode:d,externalSearch:u,onExternalChange:m}){let[N,y]=(0,Y.useState)(!1),[s,p]=(0,Y.useState)(e),w=()=>{a(s),u&&m&&m(s),y(!1)},C=()=>{p(e),y(!1)},O=()=>{let P=d==="single"?null:{from:null,to:null};p(P),a(P),u&&m&&m(P),y(!1)},M=()=>e?d==="single"?(0,R.format)(e,"PPP"):e.from&&e.to?`${(0,R.format)(e.from,"MMM dd")} - ${(0,R.format)(e.to,"MMM dd, yyyy")}`:e.from?`From ${(0,R.format)(e.from,"MMM dd, yyyy")}`:e.to?`To ${(0,R.format)(e.to,"MMM dd, yyyy")}`:r:r,F=P=>{p(d==="single"?P:P||{from:null,to:null})};return(0,f.jsxs)(ge,{open:N,onOpenChange:y,children:[(0,f.jsx)(fe,{asChild:!0,children:(0,f.jsxs)(v,{variant:"outline",className:n("w-full justify-start text-left font-normal h-9",!e&&"text-muted-foreground"),children:[(0,f.jsx)(xe.Calendar,{className:"mr-2 h-4 w-4"}),M()]})}),(0,f.jsxs)(ve,{className:"w-auto p-0",align:"start",children:[(0,f.jsx)("div",{className:"p-3",children:(0,f.jsx)(be,{mode:d,selected:s,onSelect:F,numberOfMonths:d==="range"?2:1,className:"rounded-md border",...d==="range"&&{required:!0}})}),(0,f.jsxs)("div",{className:"flex items-center justify-between p-3 border-t",children:[(0,f.jsx)(v,{variant:"ghost",size:"sm",onClick:O,children:"Clear"}),(0,f.jsxs)("div",{className:"flex gap-2",children:[(0,f.jsx)(v,{variant:"outline",size:"sm",onClick:C,children:"Cancel"}),(0,f.jsx)(v,{size:"sm",onClick:w,disabled:d==="range"&&(!s?.from||!s?.to),children:"Apply"})]})]})]})]})}var t=require("react/jsx-runtime");function Be({table:e,filters:a=[],globalFilter:r,onGlobalFilterChange:d,enableGlobalFilter:u=!0,onExport:m,onRefresh:N,loading:y=!1,enableColumnVisibility:s=!0,data:p,onClearSorting:w,onClearFilters:C,enableColumnPinning:O=!1,onExternalSearch:M}){let[F,P]=(0,we.useState)({}),Z=()=>e.getAllLeafColumns().filter(o=>o.getCanHide?.()!==!1),ee=()=>e.getAllColumns().filter(o=>!e.getAllLeafColumns().includes(o)&&o.columns?.length&&o.columns.some(i=>i.getCanHide?.()!==!1)),te=()=>{let o=new Set(ee().flatMap(i=>i.columns?.filter(x=>x.getCanHide?.()!==!1).map(x=>x.id)||[]));return Z().filter(i=>!o.has(i.id))},oe=(o,i)=>i&&o.startsWith(`${i}.`)?o.replace(`${i}.`,"").split("_").map(Pe=>Pe.slice(1)).join(" "):o.split("_").map(x=>x.charAt(0).toUpperCase()+x.slice(1)).join(" "),U=(o,i)=>{let x={...F,[o]:i};P(x)},ye=()=>{M&&M(F)},Ce=()=>{P({}),C(),M&&M({})},$=o=>e.getColumn(o)?.getFilterValue(),H=(o,i)=>{e.getColumn(o)?.setFilterValue(i)};return(0,t.jsx)("div",{className:"rounded-xl",children:(0,t.jsx)("div",{className:"px-2",children:(0,t.jsx)("div",{className:"flex flex-col gap-6",children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("div",{className:"flex items-center gap-3",children:a.length>0&&(0,t.jsxs)("div",{className:"flex items-center gap-3 flex-wrap",children:[(0,t.jsx)("div",{className:"flex items-center gap-2 text-sm font-medium text-muted-foreground",children:(0,t.jsx)(c.Filter,{className:"h-4 w-4"})}),a.map(o=>(0,t.jsx)("div",{className:n("relative min-w-[150px]",o.width),children:o.type==="select"?(0,t.jsxs)(ce,{value:$(o.key)??"",onValueChange:i=>{H(o.key,i==="all"?"":i),o.externalSearch&&U(o.key,i==="all"?"":i)},children:[o.icon&&(0,t.jsx)("span",{children:(0,t.jsx)(o.icon,{className:"size-4 absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"})}),(0,t.jsx)(pe,{className:n("h-9 rounded-lg w-full",o.icon&&"pl-9"),children:(0,t.jsx)(ue,{placeholder:o.placeholder})}),(0,t.jsxs)(me,{className:"rounded-lg",children:[(0,t.jsx)(q,{value:"all",children:"All"}),o.options?.map(i=>(0,t.jsx)(q,{value:i.value,children:i.label},i.label))]})]}):o.type==="date"?(0,t.jsx)(he,{value:$(o.key),onChange:i=>H(o.key,i),placeholder:o.placeholder,mode:o.dateMode||"single",externalSearch:o.externalSearch,onExternalChange:i=>U(o.key,i)}):(0,t.jsxs)("div",{className:"relative",children:[o.icon&&(0,t.jsx)("span",{children:(0,t.jsx)(o.icon,{className:"size-4 absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"})}),(0,t.jsx)(E,{placeholder:o.placeholder,value:$(o.key)??"",onChange:i=>{H(o.key,i.target.value),o.externalSearch&&U(o.key,i.target.value)},className:n("h-9 rounded-lg",o.icon&&"pl-9"),type:o.type==="number"?"number":"text"})]})},o.key)),a.some(o=>o.externalSearch)&&(0,t.jsxs)(v,{variant:"default",size:"sm",onClick:ye,className:"rounded-lg",children:[(0,t.jsx)(c.Search,{className:"mr-2 h-4 w-4"}),a.find(o=>o.externalSearch)?.searchButtonText||"Search"]})]})}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[u&&(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(c.Search,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(E,{placeholder:"Global search...",value:r??"",onChange:o=>d(o.target.value),className:"pl-9 max-w-max"})]}),m&&(0,t.jsxs)(v,{variant:"outline",size:"sm",onClick:()=>m(p),className:"rounded-lg",children:[(0,t.jsx)(c.Download,{className:"mr-2 h-4 w-4"}),"Export"]}),s&&(0,t.jsxs)(W,{children:[(0,t.jsx)(X,{asChild:!0,children:(0,t.jsxs)(v,{variant:"outline",size:"sm",className:"rounded-lg gap-1",children:[(0,t.jsx)("span",{children:"Columns"}),(0,t.jsx)(c.ChevronDown,{className:"h-4 w-4 opacity-50"})]})}),(0,t.jsxs)(J,{align:"end",className:"w-[220px] rounded-lg max-h-[400px] overflow-y-auto",children:[(0,t.jsx)(k,{className:"px-4 py-2 text-sm font-medium",children:"Toggle Columns"}),(0,t.jsx)(_,{}),te().length>0&&(0,t.jsxs)(K,{children:[(0,t.jsx)(k,{className:"px-4 py-1.5 text-sm font-medium text-muted-foreground",children:"General"}),te().map(o=>(0,t.jsx)(Q,{className:"text-sm",checked:o.getIsVisible(),onCheckedChange:i=>o.toggleVisibility(!!i),children:oe(o.id)},o.id))]}),ee().map(o=>(0,t.jsxs)(K,{children:[(0,t.jsx)(_,{}),(0,t.jsx)(k,{className:"px-4 py-1.5 text-sm font-medium text-muted-foreground",children:o.id}),o.columns?.filter(i=>i.getCanHide?.()!==!1).map(i=>(0,t.jsx)(Q,{className:"text-sm",checked:i.getIsVisible(),onCheckedChange:x=>i.toggleVisibility(!!x),children:oe(i.id,o.id)},i.id))]},o.id))]})]}),(0,t.jsxs)(W,{children:[(0,t.jsx)(X,{asChild:!0,children:(0,t.jsx)(v,{variant:"outline",size:"sm",className:"rounded-lg",children:(0,t.jsx)(c.Settings2,{className:"h-4 w-4"})})}),(0,t.jsxs)(J,{align:"end",className:"w-[200px] rounded-lg",children:[(0,t.jsx)(k,{children:"Table Settings"}),(0,t.jsx)(_,{}),(0,t.jsxs)(I,{onClick:w,children:[(0,t.jsx)(c.ArrowUpDown,{className:"mr-2 h-4 w-4"}),"Clear All Sorting"]}),(0,t.jsxs)(I,{onClick:Ce,children:[(0,t.jsx)(c.Filter,{className:"mr-2 h-4 w-4"}),"Clear All Filters"]}),O&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(_,{}),(0,t.jsx)(k,{children:"Column Pinning"}),(0,t.jsxs)(I,{onClick:()=>e.setColumnPinning({left:[],right:[]}),children:[(0,t.jsx)(c.PinOff,{className:"mr-2 h-4 w-4"}),"Reset All Pinning"]}),(0,t.jsxs)(I,{onClick:()=>{let o=Z().filter(i=>i.getCanPin?.()!==!1).map(i=>i.id);e.setColumnPinning({left:[],right:o})},children:[(0,t.jsx)(c.Pin,{className:"mr-2 h-4 w-4 -rotate-90"}),"Pin All Right"]})]})]})]}),N&&(0,t.jsx)(v,{variant:"outline",size:"sm",onClick:N,disabled:y,className:"rounded-lg",children:(0,t.jsx)(c.RefreshCw,{className:n("h-4 w-4",y&&"animate-spin")})})]})]})})})})}0&&(module.exports={DataTableToolbar});
|
|
2
|
+
"use strict";var De=Object.create;var U=Object.defineProperty;var Se=Object.getOwnPropertyDescriptor;var Ne=Object.getOwnPropertyNames;var Me=Object.getPrototypeOf,ke=Object.prototype.hasOwnProperty;var ze=(e,a)=>{for(var r in a)U(e,r,{get:a[r],enumerable:!0})},ne=(e,a,r,d)=>{if(a&&typeof a=="object"||typeof a=="function")for(let m of Ne(a))!ke.call(e,m)&&m!==r&&U(e,m,{get:()=>a[m],enumerable:!(d=Se(a,m))||d.enumerable});return e};var Re=(e,a,r)=>(r=e!=null?De(Me(e)):{},ne(a||!e||!e.__esModule?U(r,"default",{value:e,enumerable:!0}):r,e)),Ie=e=>ne(U({},"__esModule",{value:!0}),e);var Fe={};ze(Fe,{DataTableToolbar:()=>Be});module.exports=Ie(Fe);var c=require("lucide-react");var ie=require("radix-ui"),se=require("class-variance-authority");var ae=require("clsx"),re=require("tailwind-merge");function n(...e){return(0,re.twMerge)((0,ae.clsx)(e))}var de=require("react/jsx-runtime"),$=(0,se.cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function x({className:e,variant:a,size:r,asChild:d=!1,...m}){let f=d?ie.Slot.Slot:"button";return(0,de.jsx)(f,{"data-slot":"button",className:n($({variant:a,size:r,className:e}),"transition-none"),...m})}var le=require("react/jsx-runtime");function J({className:e,type:a,...r}){return(0,le.jsx)("input",{type:a,"data-slot":"input",className:n("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...r})}var h=require("radix-ui"),N=require("lucide-react");var u=require("react/jsx-runtime");function ue({...e}){return(0,u.jsx)(h.Select.Root,{"data-slot":"select",...e})}function ce({...e}){return(0,u.jsx)(h.Select.Value,{"data-slot":"select-value",...e})}function pe({className:e,size:a="default",children:r,...d}){return(0,u.jsxs)(h.Select.Trigger,{"data-slot":"select-trigger","data-size":a,className:n("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...d,children:[r,(0,u.jsx)(h.Select.Icon,{asChild:!0,children:(0,u.jsx)(N.ChevronDownIcon,{className:"size-4 opacity-50"})})]})}function me({className:e,children:a,position:r="popper",...d}){return(0,u.jsx)(h.Select.Portal,{children:(0,u.jsxs)(h.Select.Content,{"data-slot":"select-content",className:n("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...d,children:[(0,u.jsx)(_e,{}),(0,u.jsx)(h.Select.Viewport,{className:n("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:a}),(0,u.jsx)(Te,{})]})})}function K({className:e,children:a,...r}){return(0,u.jsxs)(h.Select.Item,{"data-slot":"select-item",className:n("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r,children:[(0,u.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,u.jsx)(h.Select.ItemIndicator,{children:(0,u.jsx)(N.CheckIcon,{className:"size-4"})})}),(0,u.jsx)(h.Select.ItemText,{children:a})]})}function _e({className:e,...a}){return(0,u.jsx)(h.Select.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:n("flex cursor-default items-center justify-center py-1",e),...a,children:(0,u.jsx)(N.ChevronUpIcon,{className:"size-4"})})}function Te({className:e,...a}){return(0,u.jsx)(h.Select.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:n("flex cursor-default items-center justify-center py-1",e),...a,children:(0,u.jsx)(N.ChevronDownIcon,{className:"size-4"})})}var y=require("radix-ui"),E=require("lucide-react");var g=require("react/jsx-runtime");function Q({...e}){return(0,g.jsx)(y.DropdownMenu.Root,{"data-slot":"dropdown-menu",...e})}function Y({...e}){return(0,g.jsx)(y.DropdownMenu.Trigger,{"data-slot":"dropdown-menu-trigger",...e})}function Z({className:e,sideOffset:a=4,...r}){return(0,g.jsx)(y.DropdownMenu.Portal,{children:(0,g.jsx)(y.DropdownMenu.Content,{"data-slot":"dropdown-menu-content",sideOffset:a,className:n("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) rounded-md border p-1 shadow-md",e),...r})})}function ee({...e}){return(0,g.jsx)(y.DropdownMenu.Group,{"data-slot":"dropdown-menu-group",...e})}function V({className:e,inset:a,variant:r="default",...d}){return(0,g.jsx)(y.DropdownMenu.Item,{"data-slot":"dropdown-menu-item","data-inset":a,"data-variant":r,className:n("cursor-pointer focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...d})}function te({className:e,children:a,checked:r,...d}){return(0,g.jsxs)(y.DropdownMenu.CheckboxItem,{"data-slot":"dropdown-menu-checkbox-item",className:n("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),checked:r,...d,children:[(0,g.jsx)("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:(0,g.jsx)(y.DropdownMenu.ItemIndicator,{children:(0,g.jsx)(E.CheckIcon,{className:"size-4"})})}),a]})}function z({className:e,inset:a,...r}){return(0,g.jsx)(y.DropdownMenu.Label,{"data-slot":"dropdown-menu-label","data-inset":a,className:n("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",e),...r})}function B({className:e,...a}){return(0,g.jsx)(y.DropdownMenu.Separator,{"data-slot":"dropdown-menu-separator",className:n("bg-border -mx-1 my-1 h-px",e),...a})}var we=require("react");var _=require("react"),xe=require("lucide-react"),I=require("date-fns");var F=require("radix-ui");var L=require("react/jsx-runtime");function fe({...e}){return(0,L.jsx)(F.Popover.Root,{"data-slot":"popover",...e})}function ge({...e}){return(0,L.jsx)(F.Popover.Trigger,{"data-slot":"popover-trigger",...e})}function ve({className:e,align:a="center",sideOffset:r=4,...d}){return(0,L.jsx)(F.Popover.Portal,{children:(0,L.jsx)(F.Popover.Content,{"data-slot":"popover-content",align:a,sideOffset:r,className:n("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...d})})}var H=Re(require("react"),1),R=require("lucide-react"),G=require("react-day-picker");var D=require("react/jsx-runtime");function be({className:e,classNames:a,showOutsideDays:r=!0,captionLayout:d="label",buttonVariant:m="ghost",formatters:f,components:C,...M}){let s=(0,G.getDefaultClassNames)();return(0,D.jsx)(G.DayPicker,{showOutsideDays:r,className:n("bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:d,formatters:{formatMonthDropdown:p=>p.toLocaleString("default",{month:"short"}),...f},classNames:{root:n("w-fit",s.root),months:n("flex gap-4 flex-col md:flex-row relative",s.months),month:n("flex flex-col w-full gap-4",s.month),nav:n("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",s.nav),button_previous:n($({variant:m}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",s.button_previous),button_next:n($({variant:m}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",s.button_next),month_caption:n("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",s.month_caption),dropdowns:n("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",s.dropdowns),dropdown_root:n("relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",s.dropdown_root),dropdown:n("absolute bg-popover inset-0 opacity-0",s.dropdown),caption_label:n("select-none font-medium",d==="label"?"text-sm":"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",s.caption_label),table:"w-full border-collapse",weekdays:n("flex",s.weekdays),weekday:n("text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none",s.weekday),week:n("flex w-full mt-2",s.week),week_number_header:n("select-none w-(--cell-size)",s.week_number_header),week_number:n("text-[0.8rem] select-none text-muted-foreground",s.week_number),day:n("relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",s.day),range_start:n("rounded-l-md bg-accent",s.range_start),range_middle:n("rounded-none",s.range_middle),range_end:n("rounded-r-md bg-accent",s.range_end),today:n("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",s.today),outside:n("text-muted-foreground aria-selected:text-muted-foreground",s.outside),disabled:n("text-muted-foreground opacity-50",s.disabled),hidden:n("invisible",s.hidden),...a},components:{Root:({className:p,rootRef:b,...P})=>(0,D.jsx)("div",{"data-slot":"calendar",ref:b,className:n(p),...P}),Chevron:({className:p,orientation:b,...P})=>b==="left"?(0,D.jsx)(R.ChevronLeftIcon,{className:n("size-4",p),...P}):b==="right"?(0,D.jsx)(R.ChevronRightIcon,{className:n("size-4",p),...P}):(0,D.jsx)(R.ChevronDownIcon,{className:n("size-4",p),...P}),DayButton:Ve,WeekNumber:({children:p,...b})=>(0,D.jsx)("td",{...b,children:(0,D.jsx)("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:p})}),...C},...M})}function Ve({className:e,day:a,modifiers:r,...d}){let m=(0,G.getDefaultClassNames)(),f=H.useRef(null);return H.useEffect(()=>{r.focused&&f.current?.focus()},[r.focused]),(0,D.jsx)(x,{ref:f,variant:"ghost",size:"icon","data-day":a.date.toLocaleDateString(),"data-selected-single":r.selected&&!r.range_start&&!r.range_end&&!r.range_middle,"data-range-start":r.range_start,"data-range-end":r.range_end,"data-range-middle":r.range_middle,className:n("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70",m.day,e),...d})}var v=require("react/jsx-runtime");function he({value:e,onChange:a,placeholder:r,mode:d,externalSearch:m,onExternalChange:f,onlyExternal:C=!1}){let[M,s]=(0,_.useState)(!1),[p,b]=(0,_.useState)(e),[P,S]=(0,_.useState)(e);(0,_.useEffect)(()=>{C||S(e)},[e,C]);let k=()=>{C||a(p),S(p),m&&f&&f(p),s(!1)},A=()=>{b(P),s(!1)},j=()=>{let l=d==="single"?null:{from:null,to:null};b(l),C||a(l),S(l),m&&f&&f(l),s(!1)},T=()=>{let l=C?P:e;return l?d==="single"?(0,I.format)(l,"PPP"):l.from&&l.to?`${(0,I.format)(l.from,"MMM dd")} - ${(0,I.format)(l.to,"MMM dd, yyyy")}`:l.from?`From ${(0,I.format)(l.from,"MMM dd, yyyy")}`:l.to?`To ${(0,I.format)(l.to,"MMM dd, yyyy")}`:r:r},O=l=>{b(d==="single"?l:l||{from:null,to:null})};return(0,v.jsxs)(fe,{open:M,onOpenChange:s,children:[(0,v.jsx)(ge,{asChild:!0,children:(0,v.jsxs)(x,{variant:"outline",className:n("w-full justify-start text-left font-normal h-9",!T()&&"text-muted-foreground"),children:[(0,v.jsx)(xe.Calendar,{className:"mr-2 h-4 w-4"}),T()]})}),(0,v.jsxs)(ve,{className:"w-auto p-0",align:"start",children:[(0,v.jsx)("div",{className:"p-3",children:(0,v.jsx)(be,{mode:d,selected:p,onSelect:O,numberOfMonths:d==="range"?2:1,className:"rounded-md border",...d==="range"&&{required:!0}})}),(0,v.jsxs)("div",{className:"flex items-center justify-between p-3 border-t",children:[(0,v.jsx)(x,{variant:"ghost",size:"sm",onClick:j,children:"Clear"}),(0,v.jsxs)("div",{className:"flex gap-2",children:[(0,v.jsx)(x,{variant:"outline",size:"sm",onClick:A,children:"Cancel"}),(0,v.jsx)(x,{size:"sm",onClick:k,disabled:d==="range"&&(!p?.from||!p?.to),children:"Apply"})]})]})]})]})}var t=require("react/jsx-runtime");function Be({table:e,filters:a=[],globalFilter:r,onGlobalFilterChange:d,enableGlobalFilter:m=!0,onExport:f,onRefresh:C,loading:M=!1,enableColumnVisibility:s=!0,data:p,onClearSorting:b,onClearFilters:P,enableColumnPinning:S=!1,onExternalSearch:k}){let[A,j]=(0,we.useState)({}),T=()=>e.getAllLeafColumns().filter(o=>o.getCanHide?.()!==!1),O=()=>e.getAllColumns().filter(o=>!e.getAllLeafColumns().includes(o)&&o.columns?.length&&o.columns.some(i=>i.getCanHide?.()!==!1)),l=()=>{let o=new Set(O().flatMap(i=>i.columns?.filter(w=>w.getCanHide?.()!==!1).map(w=>w.id)||[]));return T().filter(i=>!o.has(i.id))},oe=(o,i)=>i&&o.startsWith(`${i}.`)?o.replace(`${i}.`,"").split("_").map(Pe=>Pe.slice(1)).join(" "):o.split("_").map(w=>w.charAt(0).toUpperCase()+w.slice(1)).join(" "),q=(o,i)=>{let w={...A,[o]:i};j(w)},ye=()=>{k&&k(A)},Ce=()=>{j({}),P(),k&&k({})},W=o=>e.getColumn(o)?.getFilterValue(),X=(o,i)=>{e.getColumn(o)?.setFilterValue(i)};return(0,t.jsx)("div",{className:"rounded-xl",children:(0,t.jsx)("div",{className:"px-2",children:(0,t.jsx)("div",{className:"flex flex-col gap-6",children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("div",{className:"flex items-center gap-3",children:a.length>0&&(0,t.jsxs)("div",{className:"flex items-center gap-3 flex-wrap",children:[(0,t.jsx)("div",{className:"flex items-center gap-2 text-sm font-medium text-muted-foreground",children:(0,t.jsx)(c.Filter,{className:"h-4 w-4"})}),a.map(o=>(0,t.jsx)("div",{className:n("relative min-w-[150px]",o.width),children:o.type==="select"?(0,t.jsxs)(ue,{value:W(o.key)??"",onValueChange:i=>{X(o.key,i==="all"?"":i),o.externalSearch&&q(o.key,i==="all"?"":i)},children:[o.icon&&(0,t.jsx)("span",{children:(0,t.jsx)(o.icon,{className:"size-4 absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"})}),(0,t.jsx)(pe,{className:n("h-9 rounded-lg w-full",o.icon&&"pl-9"),children:(0,t.jsx)(ce,{placeholder:o.placeholder})}),(0,t.jsxs)(me,{className:"rounded-lg",children:[(0,t.jsx)(K,{value:"all",children:"All"}),o.options?.map(i=>(0,t.jsx)(K,{value:i.value,children:i.label},i.label))]})]}):o.type==="date"?(0,t.jsx)(he,{value:W(o.key),onChange:i=>{o.onlyExternal||X(o.key,i)},placeholder:o.placeholder,mode:o.dateMode||"single",externalSearch:o.externalSearch,onlyExternal:o.onlyExternal,onExternalChange:i=>q(o.key,i)}):(0,t.jsxs)("div",{className:"relative",children:[o.icon&&(0,t.jsx)("span",{children:(0,t.jsx)(o.icon,{className:"size-4 absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"})}),(0,t.jsx)(J,{placeholder:o.placeholder,value:W(o.key)??"",onChange:i=>{X(o.key,i.target.value),o.externalSearch&&q(o.key,i.target.value)},className:n("h-9 rounded-lg",o.icon&&"pl-9"),type:o.type==="number"?"number":"text"})]})},o.key)),a.some(o=>o.externalSearch)&&(0,t.jsxs)(x,{variant:"default",size:"sm",onClick:ye,className:"rounded-lg",children:[(0,t.jsx)(c.Search,{className:"mr-2 h-4 w-4"}),a.find(o=>o.externalSearch)?.searchButtonText||"Search"]})]})}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[m&&(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(c.Search,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(J,{placeholder:"Global search...",value:r??"",onChange:o=>d(o.target.value),className:"pl-9 max-w-max"})]}),f&&(0,t.jsxs)(x,{variant:"outline",size:"sm",onClick:()=>f(p),className:"rounded-lg",children:[(0,t.jsx)(c.Download,{className:"mr-2 h-4 w-4"}),"Export"]}),s&&(0,t.jsxs)(Q,{children:[(0,t.jsx)(Y,{asChild:!0,children:(0,t.jsxs)(x,{variant:"outline",size:"sm",className:"rounded-lg gap-1",children:[(0,t.jsx)("span",{children:"Columns"}),(0,t.jsx)(c.ChevronDown,{className:"h-4 w-4 opacity-50"})]})}),(0,t.jsxs)(Z,{align:"end",className:"w-[220px] rounded-lg max-h-[400px] overflow-y-auto",children:[(0,t.jsx)(z,{className:"px-4 py-2 text-sm font-medium",children:"Toggle Columns"}),(0,t.jsx)(B,{}),l().length>0&&(0,t.jsxs)(ee,{children:[(0,t.jsx)(z,{className:"px-4 py-1.5 text-sm font-medium text-muted-foreground",children:"General"}),l().map(o=>(0,t.jsx)(te,{className:"text-sm",checked:o.getIsVisible(),onCheckedChange:i=>o.toggleVisibility(!!i),children:oe(o.id)},o.id))]}),O().map(o=>(0,t.jsxs)(ee,{children:[(0,t.jsx)(B,{}),(0,t.jsx)(z,{className:"px-4 py-1.5 text-sm font-medium text-muted-foreground",children:o.id}),o.columns?.filter(i=>i.getCanHide?.()!==!1).map(i=>(0,t.jsx)(te,{className:"text-sm",checked:i.getIsVisible(),onCheckedChange:w=>i.toggleVisibility(!!w),children:oe(i.id,o.id)},i.id))]},o.id))]})]}),(0,t.jsxs)(Q,{children:[(0,t.jsx)(Y,{asChild:!0,children:(0,t.jsx)(x,{variant:"outline",size:"sm",className:"rounded-lg",children:(0,t.jsx)(c.Settings2,{className:"h-4 w-4"})})}),(0,t.jsxs)(Z,{align:"end",className:"w-[200px] rounded-lg",children:[(0,t.jsx)(z,{children:"Table Settings"}),(0,t.jsx)(B,{}),(0,t.jsxs)(V,{onClick:b,children:[(0,t.jsx)(c.ArrowUpDown,{className:"mr-2 h-4 w-4"}),"Clear All Sorting"]}),(0,t.jsxs)(V,{onClick:Ce,children:[(0,t.jsx)(c.Filter,{className:"mr-2 h-4 w-4"}),"Clear All Filters"]}),S&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(B,{}),(0,t.jsx)(z,{children:"Column Pinning"}),(0,t.jsxs)(V,{onClick:()=>e.setColumnPinning({left:[],right:[]}),children:[(0,t.jsx)(c.PinOff,{className:"mr-2 h-4 w-4"}),"Reset All Pinning"]}),(0,t.jsxs)(V,{onClick:()=>{let o=T().filter(i=>i.getCanPin?.()!==!1).map(i=>i.id);e.setColumnPinning({left:[],right:o})},children:[(0,t.jsx)(c.Pin,{className:"mr-2 h-4 w-4 -rotate-90"}),"Pin All Right"]})]})]})]}),C&&(0,t.jsx)(x,{variant:"outline",size:"sm",onClick:C,disabled:M,className:"rounded-lg",children:(0,t.jsx)(c.RefreshCw,{className:n("h-4 w-4",M&&"animate-spin")})})]})]})})})})}0&&(module.exports={DataTableToolbar});
|
|
3
3
|
//# sourceMappingURL=data-table-toolbar.cjs.map
|