@a2v2ai/uikit 0.0.27 → 0.0.29

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.
@@ -0,0 +1,21 @@
1
+ import type { ReactNode } from "react";
2
+ export interface DataTableColumn<T> {
3
+ key: string;
4
+ title: string;
5
+ titleRender?: () => ReactNode;
6
+ dataIndex?: keyof T;
7
+ width?: string | number;
8
+ render?: (value: unknown, record: T, index: number) => ReactNode;
9
+ className?: string;
10
+ }
11
+ export interface DataTableProps<T extends object> {
12
+ columns: DataTableColumn<T>[];
13
+ dataSource: T[];
14
+ rowKey: keyof T | ((record: T) => string);
15
+ className?: string;
16
+ }
17
+ declare const DataTable: {
18
+ <T extends object>({ columns, dataSource, rowKey, className, }: DataTableProps<T>): import("react/jsx-runtime").JSX.Element;
19
+ displayName: string;
20
+ };
21
+ export { DataTable };
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataTable = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const utils_1 = require("../lib/utils");
6
+ const Table_1 = require("../Table/Table");
7
+ const DataTable = ({ columns, dataSource, rowKey, className, }) => {
8
+ const getRowKey = (record) => {
9
+ if (typeof rowKey === "function") {
10
+ return rowKey(record);
11
+ }
12
+ return String(record[rowKey]);
13
+ };
14
+ const getCellValue = (record, column, index) => {
15
+ const value = column.dataIndex ? record[column.dataIndex] : undefined;
16
+ if (column.render) {
17
+ return column.render(value, record, index);
18
+ }
19
+ return value;
20
+ };
21
+ return ((0, jsx_runtime_1.jsxs)(Table_1.Table, { className: className, children: [(0, jsx_runtime_1.jsx)(Table_1.TableHeader, { children: (0, jsx_runtime_1.jsx)(Table_1.TableRow, { className: "bg-background-neutral-200 hover:bg-background-neutral-200 rounded-t-md", children: columns.map((column) => ((0, jsx_runtime_1.jsx)(Table_1.TableHead, { className: (0, utils_1.cn)("text-main-900 font-normal", column.className), style: { width: column.width }, children: column.titleRender ? column.titleRender() : column.title }, column.key))) }) }), (0, jsx_runtime_1.jsx)(Table_1.TableBody, { children: dataSource.map((record, index) => ((0, jsx_runtime_1.jsx)(Table_1.TableRow, { className: "hover:bg-grey-50", children: columns.map((column) => ((0, jsx_runtime_1.jsx)(Table_1.TableCell, { children: getCellValue(record, column, index) }, column.key))) }, getRowKey(record)))) })] }));
22
+ };
23
+ exports.DataTable = DataTable;
24
+ DataTable.displayName = "DataTable";
@@ -27,6 +27,7 @@ declare const sidebarMenuItemVariants: (props?: ({
27
27
  export interface SidebarMenuItemProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof sidebarMenuItemVariants> {
28
28
  icon?: React.ReactNode;
29
29
  label: string;
30
+ labelClassName?: string;
30
31
  badge?: React.ReactNode;
31
32
  hasChildren?: boolean;
32
33
  expanded?: boolean;
@@ -109,7 +109,7 @@ const sidebarMenuItemVariants = (0, class_variance_authority_1.cva)("flex items-
109
109
  },
110
110
  });
111
111
  exports.sidebarMenuItemVariants = sidebarMenuItemVariants;
112
- const SidebarMenuItem = React.forwardRef(({ className, icon, label, badge, active, hasChildren, expanded, onExpandedChange, children, onClick, ...props }, ref) => {
112
+ const SidebarMenuItem = React.forwardRef(({ className, icon, label, labelClassName, badge, active, hasChildren, expanded, onExpandedChange, children, onClick, ...props }, ref) => {
113
113
  const { collapsed } = useSidebar();
114
114
  const [internalExpanded, setInternalExpanded] = React.useState(expanded ?? false);
115
115
  const isExpanded = expanded !== undefined ? expanded : internalExpanded;
@@ -124,7 +124,7 @@ const SidebarMenuItem = React.forwardRef(({ className, icon, label, badge, activ
124
124
  if (collapsed) {
125
125
  return ((0, jsx_runtime_1.jsx)("div", { ref: ref, "data-slot": "sidebar-menu-item", className: (0, utils_1.cn)("flex items-center justify-center size-9 rounded-lg cursor-pointer transition-colors mx-auto", active ? "bg-grey-100 text-grey-900" : "text-grey-600 hover:bg-grey-50", className), onClick: onClick, ...props, children: icon && (0, jsx_runtime_1.jsx)("span", { className: "size-4", children: icon }) }));
126
126
  }
127
- return ((0, jsx_runtime_1.jsxs)("div", { "data-slot": "sidebar-menu-item-wrapper", children: [(0, jsx_runtime_1.jsxs)("div", { ref: ref, "data-slot": "sidebar-menu-item", className: (0, utils_1.cn)(sidebarMenuItemVariants({ active }), className), onClick: handleClick, ...props, children: [icon && (0, jsx_runtime_1.jsx)("span", { className: "size-4 shrink-0", children: icon }), (0, jsx_runtime_1.jsx)("span", { className: "flex-1 truncate", children: label }), badge && (0, jsx_runtime_1.jsx)("span", { className: "shrink-0", children: badge }), hasChildren && ((0, jsx_runtime_1.jsx)("span", { className: "size-4 shrink-0 text-grey-400", children: isExpanded ? (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDown, { className: "size-4" }) : (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { className: "size-4" }) }))] }), hasChildren && isExpanded && children && ((0, jsx_runtime_1.jsx)("div", { className: "ml-6 mt-1 flex flex-col", children: children }))] }));
127
+ return ((0, jsx_runtime_1.jsxs)("div", { "data-slot": "sidebar-menu-item-wrapper", children: [(0, jsx_runtime_1.jsxs)("div", { ref: ref, "data-slot": "sidebar-menu-item", className: (0, utils_1.cn)(sidebarMenuItemVariants({ active }), className), onClick: handleClick, ...props, children: [icon && (0, jsx_runtime_1.jsx)("span", { className: "size-4 shrink-0", children: icon }), (0, jsx_runtime_1.jsx)("span", { className: (0, utils_1.cn)("flex-1 truncate", labelClassName), children: label }), badge && (0, jsx_runtime_1.jsx)("span", { className: "shrink-0", children: badge }), hasChildren && ((0, jsx_runtime_1.jsx)("span", { className: "size-4 shrink-0 text-grey-400", children: isExpanded ? (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDown, { className: "size-4" }) : (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { className: "size-4" }) }))] }), hasChildren && isExpanded && children && ((0, jsx_runtime_1.jsx)("div", { className: "ml-6 mt-1 flex flex-col", children: children }))] }));
128
128
  });
129
129
  exports.SidebarMenuItem = SidebarMenuItem;
130
130
  SidebarMenuItem.displayName = "SidebarMenuItem";
package/index.d.ts CHANGED
@@ -32,6 +32,7 @@ export { Slider, type SliderProps } from "./Slider/Slider";
32
32
  export { Spinner, spinnerVariants, type SpinnerProps, type SpinnerSize, type SpinnerVariant } from "./Spinner/Spinner";
33
33
  export { Switch, switchVariants, type SwitchProps, type SwitchSize } from "./Switch/Switch";
34
34
  export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, } from "./Table/Table";
35
+ export { DataTable, type DataTableColumn, type DataTableProps } from "./DataTable/DataTable";
35
36
  export { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants, type TabsListProps, type TabsListVariant } from "./Tabs/Tabs";
36
37
  export { Textarea, textareaVariants, type TextareaProps, type TextareaVariant, type TextareaResize } from "./Textarea/Textarea";
37
38
  export { Toaster, toast, type ToastProps, type ToastTheme } from "./Toast/Toast";
package/index.js CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AlertDialogTitle = exports.AlertDialogFooter = exports.AlertDialogHeader = exports.AlertDialogContent = exports.AlertDialogTrigger = exports.AlertDialogOverlay = exports.AlertDialogPortal = exports.AlertDialog = exports.checkboxVariants = exports.Checkbox = exports.bubbleContentVariants = exports.chatBubbleVariants = exports.ChatBubble = exports.useCarousel = exports.carouselItemVariants = exports.carouselContentVariants = exports.carouselVariants = exports.CarouselNext = exports.CarouselPrevious = exports.CarouselItem = exports.CarouselContent = exports.Carousel = exports.cardVariants = exports.CardContent = exports.CardDescription = exports.CardTitle = exports.CardFooter = exports.CardHeader = exports.Card = exports.CalendarDayButton = exports.Calendar = exports.buttonVariants = exports.Button = exports.BreadcrumbEllipsis = exports.BreadcrumbSeparator = exports.BreadcrumbPage = exports.BreadcrumbLink = exports.BreadcrumbItem = exports.BreadcrumbList = exports.Breadcrumb = exports.badgeVariants = exports.Badge = exports.avatarVariants = exports.AvatarFallback = exports.AvatarImage = exports.Avatar = exports.alertVariants = exports.AlertDescription = exports.AlertTitle = exports.Alert = void 0;
4
4
  exports.labelVariants = exports.Label = exports.inputOTPSlotVariants = exports.inputOTPVariants = exports.InputOTPSeparator = exports.InputOTPSlot = exports.InputOTPGroup = exports.InputOTP = exports.inputVariants = exports.Input = exports.iconButtonVariants = exports.IconButton = exports.flexVariants = exports.Flex = exports.ErrorMessage = exports.DropdownMenuRadioGroup = exports.DropdownMenuSubTrigger = exports.DropdownMenuSubContent = exports.DropdownMenuSub = exports.DropdownMenuPortal = exports.DropdownMenuGroup = exports.DropdownMenuShortcut = exports.DropdownMenuSeparator = exports.DropdownMenuLabel = exports.DropdownMenuRadioItem = exports.DropdownMenuCheckboxItem = exports.DropdownMenuItem = exports.DropdownMenuContent = exports.DropdownMenuTrigger = exports.DropdownMenu = exports.drawerOverlayVariants = exports.drawerContentVariants = exports.DrawerDescription = exports.DrawerTitle = exports.DrawerBody = exports.DrawerFooter = exports.DrawerHeader = exports.DrawerContent = exports.DrawerClose = exports.DrawerTrigger = exports.DrawerOverlay = exports.DrawerPortal = exports.Drawer = exports.alertDialogFooterVariants = exports.alertDialogHeaderVariants = exports.alertDialogContentVariants = exports.AlertDialogCancel = exports.AlertDialogAction = exports.AlertDialogBody = exports.AlertDialogDescription = void 0;
5
5
  exports.SelectItem = exports.SelectLabel = exports.SelectContent = exports.SelectTrigger = exports.SelectValue = exports.SelectGroup = exports.Select = exports.sidebarSubMenuItemVariants = exports.sidebarMenuItemVariants = exports.useSidebar = exports.SidebarToggle = exports.SidebarSeparator = exports.SidebarSubMenuItem = exports.SidebarMenuItem = exports.SidebarGroupLabel = exports.SidebarGroup = exports.SidebarFooter = exports.SidebarContent = exports.SidebarHeader = exports.Sidebar = exports.ScrollBar = exports.ScrollArea = exports.radioGroupItemVariants = exports.RadioGroupItem = exports.RadioGroup = exports.progressIndicatorVariants = exports.progressVariants = exports.Progress = exports.PopoverAnchor = exports.PopoverContent = exports.PopoverTrigger = exports.Popover = exports.MenubarSubContent = exports.MenubarSubTrigger = exports.MenubarSub = exports.MenubarRadioItem = exports.MenubarRadioGroup = exports.MenubarCheckboxItem = exports.MenubarShortcut = exports.MenubarItem = exports.MenubarLabel = exports.MenubarSeparator = exports.MenubarGroup = exports.MenubarContent = exports.MenubarTrigger = exports.MenubarMenu = exports.MenubarPortal = exports.Menubar = exports.loaderVariants = exports.Loader = void 0;
6
- exports.copyToClipboard = exports.cn = exports.typographyVariants = exports.Typography = exports.tooltipContentVariants = exports.TooltipProvider = exports.TooltipContent = exports.TooltipTrigger = exports.Tooltip = exports.toast = exports.Toaster = exports.textareaVariants = exports.Textarea = exports.tabsListVariants = exports.TabsContent = exports.TabsTrigger = exports.TabsList = exports.Tabs = exports.TableCaption = exports.TableCell = exports.TableRow = exports.TableHead = exports.TableFooter = exports.TableBody = exports.TableHeader = exports.Table = exports.switchVariants = exports.Switch = exports.spinnerVariants = exports.Spinner = exports.Slider = exports.Skeleton = exports.Separator = exports.selectTriggerVariants = exports.SelectScrollDownButton = exports.SelectScrollUpButton = exports.SelectSeparator = void 0;
6
+ exports.copyToClipboard = exports.cn = exports.typographyVariants = exports.Typography = exports.tooltipContentVariants = exports.TooltipProvider = exports.TooltipContent = exports.TooltipTrigger = exports.Tooltip = exports.toast = exports.Toaster = exports.textareaVariants = exports.Textarea = exports.tabsListVariants = exports.TabsContent = exports.TabsTrigger = exports.TabsList = exports.Tabs = exports.DataTable = exports.TableCaption = exports.TableCell = exports.TableRow = exports.TableHead = exports.TableFooter = exports.TableBody = exports.TableHeader = exports.Table = exports.switchVariants = exports.Switch = exports.spinnerVariants = exports.Spinner = exports.Slider = exports.Skeleton = exports.Separator = exports.selectTriggerVariants = exports.SelectScrollDownButton = exports.SelectScrollUpButton = exports.SelectSeparator = void 0;
7
7
  // Styles
8
8
  require("./index.css");
9
9
  // Components
@@ -209,6 +209,8 @@ Object.defineProperty(exports, "TableHead", { enumerable: true, get: function ()
209
209
  Object.defineProperty(exports, "TableRow", { enumerable: true, get: function () { return Table_1.TableRow; } });
210
210
  Object.defineProperty(exports, "TableCell", { enumerable: true, get: function () { return Table_1.TableCell; } });
211
211
  Object.defineProperty(exports, "TableCaption", { enumerable: true, get: function () { return Table_1.TableCaption; } });
212
+ var DataTable_1 = require("./DataTable/DataTable");
213
+ Object.defineProperty(exports, "DataTable", { enumerable: true, get: function () { return DataTable_1.DataTable; } });
212
214
  var Tabs_1 = require("./Tabs/Tabs");
213
215
  Object.defineProperty(exports, "Tabs", { enumerable: true, get: function () { return Tabs_1.Tabs; } });
214
216
  Object.defineProperty(exports, "TabsList", { enumerable: true, get: function () { return Tabs_1.TabsList; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a2v2ai/uikit",
3
- "version": "0.0.27",
3
+ "version": "0.0.29",
4
4
  "author": "Arulraj V & abofficial1997@gmail.com",
5
5
  "description": "A React UI component library built with shadcn/ui and Tailwind CSS",
6
6
  "license": "MIT",