@dappworks/kit 0.5.41 → 0.5.43
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/{PromiseState-e64b3707.d.ts → PromiseState-8EAu4Zv4.d.mts} +1 -1
- package/dist/{StorageState-cfd942cb.d.ts → StorageState-qapaHguM.d.mts} +1 -1
- package/dist/aiem.d.mts +14 -15
- package/dist/aiem.mjs +5 -5
- package/dist/aiem.mjs.map +1 -1
- package/dist/{chunk-ISV4OEKJ.mjs → chunk-2B3FO5P6.mjs} +5 -5
- package/dist/chunk-2B3FO5P6.mjs.map +1 -0
- package/dist/{chunk-M5Y3VYMJ.mjs → chunk-6HA5WR5H.mjs} +9 -15
- package/dist/chunk-6HA5WR5H.mjs.map +1 -0
- package/dist/{chunk-FJHGIW3I.mjs → chunk-AFXQRBS6.mjs} +3 -3
- package/dist/chunk-AFXQRBS6.mjs.map +1 -0
- package/dist/chunk-GKAU4P5I.mjs +1 -1
- package/dist/chunk-GKAU4P5I.mjs.map +1 -1
- package/dist/{chunk-SL5OV6OR.mjs → chunk-GPPSD2BO.mjs} +5 -7
- package/dist/chunk-GPPSD2BO.mjs.map +1 -0
- package/dist/chunk-IMOLRP7I.mjs +1 -1
- package/dist/chunk-IMOLRP7I.mjs.map +1 -1
- package/dist/chunk-K7LFG5BA.mjs +2 -2
- package/dist/chunk-K7LFG5BA.mjs.map +1 -1
- package/dist/{chunk-3XIPR2M3.mjs → chunk-L5VZQRXB.mjs} +7 -8
- package/dist/chunk-L5VZQRXB.mjs.map +1 -0
- package/dist/{chunk-2N4HH4ZF.mjs → chunk-NCGC2KDE.mjs} +4 -6
- package/dist/chunk-NCGC2KDE.mjs.map +1 -0
- package/dist/chunk-ONVPCAMQ.mjs +1 -1
- package/dist/chunk-ONVPCAMQ.mjs.map +1 -1
- package/dist/{chunk-C5BPNLKH.mjs → chunk-TEVYTENF.mjs} +4 -4
- package/dist/chunk-TEVYTENF.mjs.map +1 -0
- package/dist/{chunk-4F33QAJ4.mjs → chunk-WNK4WSTE.mjs} +31 -56
- package/dist/chunk-WNK4WSTE.mjs.map +1 -0
- package/dist/{chunk-IDKGZ5T4.mjs → chunk-XSGTWROT.mjs} +8 -8
- package/dist/chunk-XSGTWROT.mjs.map +1 -0
- package/dist/{chunk-R4N52NI2.mjs → chunk-YBLCIJW4.mjs} +37 -31
- package/dist/chunk-YBLCIJW4.mjs.map +1 -0
- package/dist/{chunk-6F7H4PAA.mjs → chunk-YOSPWY5K.mjs} +2 -2
- package/dist/chunk-YOSPWY5K.mjs.map +1 -0
- package/dist/dev.d.mts +1 -1
- package/dist/dev.mjs +6 -8
- package/dist/dev.mjs.map +1 -1
- package/dist/experimental.d.mts +4 -4
- package/dist/experimental.mjs +7 -9
- package/dist/experimental.mjs.map +1 -1
- package/dist/form.d.mts +6 -6
- package/dist/form.mjs +16 -20
- package/dist/form.mjs.map +1 -1
- package/dist/{index-38be834f.d.ts → index-CUKoRIdy.d.mts} +1 -1
- package/dist/index.d.mts +5 -5
- package/dist/index.mjs +9 -9
- package/dist/index.mjs.map +1 -1
- package/dist/inspector.d.mts +1 -1
- package/dist/inspector.mjs +3 -4
- package/dist/inspector.mjs.map +1 -1
- package/dist/jsoncomponent.d.mts +5 -5
- package/dist/jsoncomponent.mjs +2 -2
- package/dist/jsoncomponent.mjs.map +1 -1
- package/dist/jsontable.d.mts +2 -2
- package/dist/jsontable.mjs +5 -5
- package/dist/jsontable.mjs.map +1 -1
- package/dist/metrics.d.mts +1 -1
- package/dist/metrics.mjs +6 -6
- package/dist/metrics.mjs.map +1 -1
- package/dist/plugins.d.mts +7 -7
- package/dist/plugins.mjs +6 -6
- package/dist/plugins.mjs.map +1 -1
- package/dist/{root-218afa4f.d.ts → root-BPMUmS6H.d.mts} +1 -1
- package/dist/ui.mjs +5 -6
- package/dist/ui.mjs.map +1 -1
- package/dist/utils.d.mts +105 -22
- package/dist/utils.mjs +4 -4
- package/dist/utils.mjs.map +1 -1
- package/dist/wallet.d.mts +6 -4
- package/dist/wallet.mjs +59 -17
- package/dist/wallet.mjs.map +1 -1
- package/package.json +4 -3
- package/dist/chunk-2N4HH4ZF.mjs.map +0 -1
- package/dist/chunk-3XIPR2M3.mjs.map +0 -1
- package/dist/chunk-4F33QAJ4.mjs.map +0 -1
- package/dist/chunk-6F7H4PAA.mjs.map +0 -1
- package/dist/chunk-C5BPNLKH.mjs.map +0 -1
- package/dist/chunk-FJHGIW3I.mjs.map +0 -1
- package/dist/chunk-IDKGZ5T4.mjs.map +0 -1
- package/dist/chunk-ISV4OEKJ.mjs.map +0 -1
- package/dist/chunk-M5Y3VYMJ.mjs.map +0 -1
- package/dist/chunk-R4N52NI2.mjs.map +0 -1
- package/dist/chunk-SL5OV6OR.mjs.map +0 -1
- /package/dist/{PaginationState-c19e621a.d.ts → PaginationState-Bmrrw0ky.d.mts} +0 -0
package/dist/aiem.d.mts
CHANGED
|
@@ -23,18 +23,17 @@ declare const iotexBabelNightly: {
|
|
|
23
23
|
readonly url: "https://testnet.iotexscan.io";
|
|
24
24
|
};
|
|
25
25
|
};
|
|
26
|
-
blockTime?: number
|
|
27
|
-
contracts?:
|
|
28
|
-
[
|
|
29
|
-
[sourceId: number]: viem.ChainContract
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
ensTlds?: readonly string[] | undefined;
|
|
26
|
+
blockTime?: number;
|
|
27
|
+
contracts?: {
|
|
28
|
+
[x: string]: viem.ChainContract | {
|
|
29
|
+
[sourceId: number]: viem.ChainContract;
|
|
30
|
+
};
|
|
31
|
+
ensRegistry?: viem.ChainContract;
|
|
32
|
+
ensUniversalResolver?: viem.ChainContract;
|
|
33
|
+
multicall3?: viem.ChainContract;
|
|
34
|
+
erc6492Verifier?: viem.ChainContract;
|
|
35
|
+
};
|
|
36
|
+
ensTlds?: readonly string[];
|
|
38
37
|
id: 4691;
|
|
39
38
|
name: "IoTeX Babel Nightly";
|
|
40
39
|
nativeCurrency: {
|
|
@@ -42,14 +41,14 @@ declare const iotexBabelNightly: {
|
|
|
42
41
|
readonly name: "IoTeX";
|
|
43
42
|
readonly symbol: "IOTX";
|
|
44
43
|
};
|
|
45
|
-
experimental_preconfirmationTime?: number
|
|
44
|
+
experimental_preconfirmationTime?: number;
|
|
46
45
|
rpcUrls: {
|
|
47
46
|
readonly default: {
|
|
48
47
|
readonly http: readonly ["https://babel-nightly.iotex.io"];
|
|
49
48
|
readonly webSocket: readonly ["wss://babel-nightly.iotex.io"];
|
|
50
49
|
};
|
|
51
50
|
};
|
|
52
|
-
sourceId?: number
|
|
51
|
+
sourceId?: number;
|
|
53
52
|
testnet: true;
|
|
54
53
|
custom?: Record<string, unknown>;
|
|
55
54
|
fees?: viem.ChainFees<undefined>;
|
|
@@ -165,4 +164,4 @@ type QueryReturnType<E, S extends QuerySelect<E>> = {
|
|
|
165
164
|
[K in keyof E]: K extends keyof S ? E[K] extends (...args: any[]) => any ? Awaited<ReturnType<E[K]>> : E[K] extends object ? S[K] extends object ? QueryReturnType<E[K], S[K]> : E[K] : E[K] : E[K];
|
|
166
165
|
};
|
|
167
166
|
|
|
168
|
-
export { AIem, Cache, Fields, GetOptions, Item, QueryReturnType, iotexBabelNightly };
|
|
167
|
+
export { AIem, Cache, Fields, type GetOptions, type Item, type QueryReturnType, iotexBabelNightly };
|
package/dist/aiem.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { AIem, Cache, Fields, iotexBabelNightly } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
1
|
+
export { AIem, Cache, Fields, iotexBabelNightly } from './chunk-L5VZQRXB.mjs';
|
|
2
|
+
import './chunk-NCGC2KDE.mjs';
|
|
3
|
+
import './chunk-YBLCIJW4.mjs';
|
|
4
4
|
import './chunk-K7LFG5BA.mjs';
|
|
5
|
-
import './chunk-
|
|
6
|
-
//# sourceMappingURL=
|
|
5
|
+
import './chunk-YOSPWY5K.mjs';
|
|
6
|
+
//# sourceMappingURL=aiem.mjs.map
|
|
7
7
|
//# sourceMappingURL=aiem.mjs.map
|
package/dist/aiem.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"aiem.mjs"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { PaginationState } from './chunk-ONVPCAMQ.mjs';
|
|
2
|
-
import { SkeletonBox } from './chunk-
|
|
2
|
+
import { SkeletonBox } from './chunk-AFXQRBS6.mjs';
|
|
3
3
|
import { _ } from './chunk-K7LFG5BA.mjs';
|
|
4
|
-
import { cn } from './chunk-
|
|
5
|
-
import { __objRest, __spreadValues, __spreadProps } from './chunk-
|
|
4
|
+
import { cn } from './chunk-6HA5WR5H.mjs';
|
|
5
|
+
import { __objRest, __spreadValues, __spreadProps } from './chunk-YOSPWY5K.mjs';
|
|
6
6
|
import * as React2 from 'react';
|
|
7
7
|
import React2__default, { useRef, useEffect, useState, useMemo } from 'react';
|
|
8
8
|
import { Card, Divider, Pagination, Spinner } from '@nextui-org/react';
|
|
@@ -1027,5 +1027,5 @@ function groupByColSpan(arr, colSpan) {
|
|
|
1027
1027
|
}
|
|
1028
1028
|
|
|
1029
1029
|
export { JSONTable };
|
|
1030
|
-
//# sourceMappingURL=
|
|
1031
|
-
//# sourceMappingURL=chunk-
|
|
1030
|
+
//# sourceMappingURL=chunk-2B3FO5P6.mjs.map
|
|
1031
|
+
//# sourceMappingURL=chunk-2B3FO5P6.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../components/ui/dropdown-menu.tsx","../components/JSONTable/index.tsx"],"names":["React","sortableColumnsDefaultValue","columns","collapsedTables","keys","showCollapsedTables","_a","NextuiPagination","_b","_","sortedData","ChevronRight"],"mappings":"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","file":"chunk-2B3FO5P6.mjs","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\"\nimport { Check, ChevronRight, Circle } from \"lucide-react\"\n\nimport { cn } from \"../../lib/utils\";\n\nconst DropdownMenu = DropdownMenuPrimitive.Root\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup\n\nconst DropdownMenuArrow = DropdownMenuPrimitive.Arrow\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto h-4 w-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n))\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md bg-white dark:bg-[#18181B] border dark:border-none p-1 text-popover-foreground shadow-md animate-in data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1\",\n className\n )}\n {...props}\n />\n))\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-lg bg-white dark:bg-[#18181B] border dark:border-[#3e3e3e] p-1 text-popover-foreground shadow-md animate-in 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\",\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n))\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n))\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className=\"h-2 w-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n))\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n )\n}\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\"\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n DropdownMenuArrow,\n}\n","import React, { useEffect, useMemo, useRef, useState } from \"react\";\nimport { Card, Divider, Pagination as NextuiPagination, PaginationProps, Spinner, SpinnerProps } from \"@nextui-org/react\";\nimport { ChevronDown, ChevronLeft, ChevronRight, ChevronUp, ChevronsUpDown } from \"lucide-react\";\nimport { observer } from \"mobx-react-lite\";\nimport { PaginationState } from \"../../store/standard/PaginationState\";\nimport { SkeletonBox } from \"../Common/SkeletonBox\";\nimport { _ } from \"../../lib/lodash\";\nimport { cn } from \"../../lib/utils\";\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from \"../ui/dropdown-menu\";\nimport { VList } from \"virtua\";\n\nexport type TableClassNames = {\n table?: string;\n thead?: string;\n tr?: string;\n th?: string;\n tbody?: string;\n td?: string;\n};\n\nexport type HeaderKeys<T extends Record<string, any>> = Array<keyof T | \"$actions\">;\n\nexport type ColumnConfig<T> = {\n label?: React.ReactNode;\n width?: number;\n hidden?: boolean;\n sortable?: boolean;\n sortKey?: string;\n order?: number;\n render?: (item: T) => any;\n};\n\nexport type ColumnOptions<T> = {\n [key in keyof T]?: ColumnConfig<T>;\n} & {\n $actions?: ColumnConfig<T>;\n};\n\ntype Column<T> = {\n key: string;\n label: React.ReactNode;\n width: number;\n render?: (item: T) => any;\n};\n\ntype CollapsedTable<U> = {\n key: string;\n columns: Column<U>[];\n};\n\nexport type CardOptions = {\n cardContainerClassName?: string;\n cardClassName?: string;\n itemClassName?: string;\n labelClassName?: string;\n valueClassName?: string;\n showDivider?: boolean;\n dividerClassName?: string;\n virtualizedOptions?: {\n colSpan?: number;\n cardContainerClassName?: string;\n };\n};\n\nexport type LoadingOptions = {\n type?: \"skeleton\" | \"spinner\";\n skeleton?: {\n boxClassName?: string;\n skeletonClassName?: string;\n line?: number;\n };\n spinner?: {\n boxClassName?: string;\n spinnerProps?: SpinnerProps;\n text?: string;\n textClassName?: string;\n };\n};\n\nexport type SortingUIOptions = {\n showDropdown?: boolean;\n dropdownTriggerBtnClassName?: string;\n dropdownContentClassName?: string;\n dropdownItemClassName?: string;\n titles?: {\n asc?: string;\n desc?: string;\n none?: string;\n };\n};\n\nexport type CollapsedTableConfig<T> = {\n classNames?: TableClassNames;\n options: {\n key: keyof T;\n headerKeys: string[];\n columnOptions: ColumnOptions<any>;\n }[];\n collapsedHandlerPosition?: \"left\" | \"right\";\n collapsedHandlerBoxCss?: string;\n openedIcon?: React.ReactNode;\n closedIcon?: React.ReactNode;\n onRowClick?: (item: any) => void;\n rowCss?: string | ((item: any) => string | undefined);\n emptyContent?: React.ReactNode;\n};\n\nexport type VirtualizedOptions = {\n isVirtualized?: boolean;\n vListHeight?: number;\n classNames?: {\n header?: string;\n headerCell?: string;\n row?: string;\n rowCell?: string;\n };\n cardOptions?: {\n colSpan?: number;\n cardContainerClassName?: string;\n };\n fetchData?: () => Promise<void>;\n};\n\nexport interface JSONTableProps<T extends Record<string, any>> {\n className?: string;\n classNames?: TableClassNames;\n rowKey?: string;\n dataSource: T[];\n headerKeys?: HeaderKeys<T>;\n columnOptions?: ColumnOptions<T>;\n isServerPaging?: boolean;\n pagination?: PaginationState;\n nextuiPaginationProps?: Partial<PaginationProps>;\n showPagination?: boolean;\n onRowClick?: (item: T) => void;\n rowCss?: string | ((item: T) => string | undefined);\n asCard?: boolean;\n cardOptions?: CardOptions;\n autoScrollToTop?: boolean;\n emptyContent?: React.ReactNode;\n isLoading?: boolean;\n loadingOptions?: LoadingOptions;\n loadingContent?: React.ReactNode;\n columnSlot?: ((props: { row: T }) => React.ReactNode) | React.ReactNode;\n isHeaderSticky?: boolean;\n sortingUIOptions?: SortingUIOptions;\n collapsedTableConfig?: CollapsedTableConfig<T>;\n virtualizedOptions?: VirtualizedOptions;\n}\n\nexport const JSONTable = <T extends Record<string, any>>(props: JSONTableProps<T>) => {\n const {\n className,\n classNames,\n dataSource = [],\n columnOptions,\n headerKeys,\n isServerPaging,\n pagination,\n nextuiPaginationProps,\n showPagination = true,\n rowKey,\n onRowClick,\n rowCss,\n columnSlot,\n asCard = false,\n cardOptions,\n autoScrollToTop = false,\n emptyContent,\n isLoading = false,\n loadingOptions,\n loadingContent,\n isHeaderSticky = false,\n sortingUIOptions,\n collapsedTableConfig,\n virtualizedOptions,\n } = props;\n const [sortableColumnsMap, setSortableColumnsMap] = useState<{ [k: string]: \"asc\" | \"desc\" | \"none\" }>({});\n const [sortedData, setSortedData] = useState<T[]>(dataSource);\n\n const { columns, sortableColumnsDefaultValue, showCollapsedTables, collapsedTables } = useMemo(() => {\n const firstData = dataSource[0];\n\n const allKeys = firstData ? Object.keys(firstData) : [];\n const keys = headerKeys ? headerKeys : columnOptions ? allKeys.filter((key) => !columnOptions[key]?.hidden) : allKeys;\n if (!keys.includes(\"$actions\") && columnOptions && columnOptions[\"$actions\"]) {\n keys.push(\"$actions\");\n }\n\n const sortableColumnsDefaultValue: { [k: string]: \"asc\" | \"desc\" | \"none\" } = {};\n\n let columns: Column<T>[] = keys.map((key: string) => {\n const sortable = columnOptions?.[key]?.sortable;\n if (sortable) {\n sortableColumnsDefaultValue[key] = \"none\";\n }\n return {\n key,\n label: columnOptions?.[key]?.label ?? (key === \"$actions\" ? \"\" : key),\n width: columnOptions?.[key]?.width ?? 60,\n render: columnOptions?.[key]?.render,\n };\n });\n\n if (!headerKeys && columnOptions) {\n columns.sort((a, b) => {\n const aOrder = columnOptions[a.key]?.order ?? 0;\n const bOrder = columnOptions[b.key]?.order ?? 0;\n return bOrder - aOrder;\n });\n }\n\n let collapsedTables: CollapsedTable<any>[] = [];\n if (firstData && collapsedTableConfig?.options) {\n const collapsedTableOptions = collapsedTableConfig.options;\n collapsedTables = collapsedTableOptions\n .filter((item) => {\n return Array.isArray(firstData[item.key]);\n })\n .map((item) => {\n const index = columns.findIndex((c) => c.key === item.key);\n if (index > -1) {\n columns.splice(index, 1);\n }\n const keys = item.headerKeys || [];\n if (!keys.includes(\"$actions\") && item.columnOptions && item.columnOptions[\"$actions\"]) {\n keys.push(\"$actions\");\n }\n return {\n key: item.key as string,\n columns: keys.map((k) => {\n const option = item.columnOptions[k];\n return {\n key: k,\n label: option?.label ?? k,\n width: option?.width ?? 60,\n render: option?.render,\n };\n }),\n };\n });\n }\n\n const showCollapsedTables = collapsedTables.length > 0;\n if (showCollapsedTables && !virtualizedOptions?.isVirtualized) {\n const collapsedHandlerPosition = collapsedTableConfig?.collapsedHandlerPosition || \"right\";\n if (collapsedHandlerPosition === \"right\") {\n columns.push({\n key: \"$collapsedHandler\",\n label: \"\",\n width: 60,\n });\n } else {\n columns = [\n {\n key: \"$collapsedHandler\",\n label: \"\",\n width: 60,\n },\n ...columns,\n ];\n }\n }\n\n return {\n columns,\n sortableColumnsDefaultValue,\n showCollapsedTables,\n collapsedTables,\n };\n }, [dataSource, columnOptions]);\n\n useEffect(() => {\n setSortableColumnsMap(sortableColumnsDefaultValue);\n }, [sortableColumnsDefaultValue]);\n\n useEffect(() => {\n setSortedData(dataSource);\n }, [dataSource]);\n\n if (asCard) {\n if (virtualizedOptions?.isVirtualized) {\n return (\n <VirtualizedCardUI\n className={className}\n rowKey={rowKey}\n sortedData={sortedData}\n columns={columns}\n cardOptions={cardOptions}\n onRowClick={onRowClick}\n autoScrollToTop={autoScrollToTop}\n emptyContent={emptyContent}\n isLoading={isLoading}\n loadingOptions={loadingOptions}\n loadingContent={loadingContent}\n virtualizedOptions={virtualizedOptions}\n columnSlot={columnSlot}\n />\n );\n } else {\n return (\n <CardUI\n className={className}\n rowKey={rowKey}\n sortedData={sortedData}\n columns={columns}\n cardOptions={cardOptions}\n onRowClick={onRowClick}\n autoScrollToTop={autoScrollToTop}\n emptyContent={emptyContent}\n columnSlot={columnSlot}\n showPagination={showPagination}\n pagination={pagination}\n nextuiPaginationProps={nextuiPaginationProps}\n />\n );\n }\n } else {\n if (virtualizedOptions?.isVirtualized) {\n return (\n <VirtualizedListUI\n className={className}\n rowKey={rowKey}\n sortedData={sortedData}\n dataSource={dataSource}\n columns={columns}\n columnOptions={columnOptions}\n sortableColumnsMap={sortableColumnsMap}\n sortingUIOptions={sortingUIOptions}\n setSortableColumnsMap={setSortableColumnsMap}\n setSortedData={setSortedData}\n onRowClick={onRowClick}\n emptyContent={emptyContent}\n isLoading={isLoading}\n loadingOptions={loadingOptions}\n loadingContent={loadingContent}\n virtualizedOptions={virtualizedOptions}\n />\n );\n } else {\n return (\n <TableUI\n className={className}\n classNames={classNames}\n isHeaderSticky={isHeaderSticky}\n sortedData={sortedData}\n dataSource={dataSource}\n columns={columns}\n columnOptions={columnOptions}\n sortableColumnsMap={sortableColumnsMap}\n sortingUIOptions={sortingUIOptions}\n setSortableColumnsMap={setSortableColumnsMap}\n setSortedData={setSortedData}\n isLoading={isLoading}\n loadingContent={loadingContent}\n loadingOptions={loadingOptions}\n emptyContent={emptyContent}\n rowCss={rowCss}\n onRowClick={onRowClick}\n showCollapsedTables={showCollapsedTables}\n collapsedTableConfig={collapsedTableConfig}\n collapsedTables={collapsedTables}\n rowKey={rowKey}\n isServerPaging={isServerPaging}\n showPagination={showPagination}\n pagination={pagination}\n nextuiPaginationProps={nextuiPaginationProps}\n autoScrollToTop={autoScrollToTop}\n columnSlot={columnSlot}\n />\n );\n }\n }\n};\n\nfunction renderFieldValue(v: any) {\n if (typeof v == \"string\" || typeof v == \"number\") {\n return v;\n }\n if (v == null) {\n return null;\n }\n return JSON.stringify(v);\n}\n\nfunction sortData<T>({\n sortKey,\n key,\n type,\n sortableColumnsMap,\n dataSource,\n}: {\n sortKey: string | undefined;\n key: string;\n type: \"asc\" | \"desc\" | \"none\";\n sortableColumnsMap: {\n [k: string]: \"asc\" | \"desc\" | \"none\";\n };\n dataSource: T[];\n}) {\n const sortableColumns: { [k: string]: \"asc\" | \"desc\" | \"none\" } = {};\n Object.keys(sortableColumnsMap).map((k) => {\n sortableColumns[k] = k === key ? type : \"none\";\n });\n let sortedData = dataSource;\n if (type !== \"none\") {\n const result = _.orderBy(\n dataSource,\n (o) => {\n const v = _.get(o, sortKey || key);\n if (v == null) {\n return type === \"desc\" ? \"\" : v;\n }\n if (typeof v === \"string\") {\n const _v = Number(v.replace(\"%\", \"\").replace(\"$\", \"\").replace(/,/g, \"\"));\n if (isNaN(_v)) {\n return v.toLowerCase();\n } else {\n return _v;\n }\n }\n return v;\n },\n type,\n );\n sortedData = result;\n }\n return {\n sortableColumns,\n sortedData,\n };\n}\n\nfunction SortingComponent<T>({\n sortingUIOptions,\n columnOptions,\n sortableColumnsMap,\n item,\n onSort,\n}: {\n sortingUIOptions: SortingUIOptions;\n columnOptions?: ColumnOptions<T>;\n sortableColumnsMap: { [k: string]: \"asc\" | \"desc\" | \"none\" };\n item: Column<T>;\n onSort: (e: { type: \"asc\" | \"desc\" | \"none\"; key: string; sortKey: string }) => void;\n}) {\n if (sortingUIOptions?.showDropdown) {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger>\n <button className={cn(\"outline-none p-1\", sortingUIOptions?.dropdownTriggerBtnClassName)}>\n {sortableColumnsMap[item.key] === \"desc\" && <ChevronDown size={14} />}\n {sortableColumnsMap[item.key] === \"asc\" && <ChevronUp size={14} />}\n {sortableColumnsMap[item.key] === \"none\" && <ChevronsUpDown size={14} />}\n </button>\n </DropdownMenuTrigger>\n <DropdownMenuContent className={cn(\"p-2 space-y-1 min-w-[4rem]\", sortingUIOptions?.dropdownContentClassName)} collisionPadding={10} sideOffset={5}>\n <DropdownMenuItem\n className={cn(\"text-xs font-bold cursor-pointer\", sortingUIOptions?.dropdownItemClassName)}\n onClick={() => {\n onSort({\n type: \"asc\",\n key: item.key,\n sortKey: columnOptions?.[item.key]?.sortKey,\n });\n }}\n >\n {sortingUIOptions?.titles?.asc || \"ASC\"}\n </DropdownMenuItem>\n <DropdownMenuItem\n className={cn(\"text-xs font-bold cursor-pointer\", sortingUIOptions?.dropdownItemClassName)}\n onClick={() => {\n onSort({\n type: \"desc\",\n key: item.key,\n sortKey: columnOptions?.[item.key]?.sortKey,\n });\n }}\n >\n {sortingUIOptions?.titles?.desc || \"DESC\"}\n </DropdownMenuItem>\n <DropdownMenuItem\n className={cn(\"text-xs font-bold cursor-pointer\", sortingUIOptions?.dropdownItemClassName)}\n onClick={() => {\n onSort({\n type: \"none\",\n key: item.key,\n sortKey: columnOptions?.[item.key]?.sortKey,\n });\n }}\n >\n {sortingUIOptions?.titles?.none || \"NONE\"}\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n }\n\n return (\n <button className={cn(\"outline-none p-1\", sortingUIOptions?.dropdownTriggerBtnClassName)}>\n {sortableColumnsMap[item.key] === \"none\" && (\n <ChevronsUpDown\n size={14}\n onClick={() => {\n onSort({\n type: \"desc\",\n key: item.key,\n sortKey: columnOptions?.[item.key]?.sortKey,\n });\n }}\n />\n )}\n {sortableColumnsMap[item.key] === \"desc\" && (\n <ChevronDown\n size={14}\n onClick={() => {\n onSort({\n type: \"asc\",\n key: item.key,\n sortKey: columnOptions?.[item.key]?.sortKey,\n });\n }}\n />\n )}\n {sortableColumnsMap[item.key] === \"asc\" && (\n <ChevronUp\n size={14}\n onClick={() => {\n onSort({\n type: \"none\",\n key: item.key,\n sortKey: columnOptions?.[item.key]?.sortKey,\n });\n }}\n />\n )}\n </button>\n );\n}\n\nconst CardUI = observer(\n <T,>({\n className,\n sortedData,\n columns,\n rowKey,\n cardOptions,\n onRowClick,\n emptyContent,\n columnSlot,\n isServerPaging,\n showPagination,\n pagination,\n nextuiPaginationProps,\n autoScrollToTop,\n }: {\n className?: string;\n sortedData: T[];\n columns: Column<T>[];\n rowKey?: string;\n cardOptions?: CardOptions;\n onRowClick?: (item: T) => void;\n autoScrollToTop?: boolean;\n emptyContent?: React.ReactNode;\n columnSlot?: ((props: { row: T }) => React.ReactNode) | React.ReactNode;\n isServerPaging?: boolean;\n showPagination: boolean;\n pagination?: PaginationState;\n nextuiPaginationProps?: PaginationProps | {};\n }) => {\n const cardBoxRef = useRef<HTMLDivElement>(null);\n pagination = pagination\n ? pagination\n : useRef(\n new PaginationState({\n page: 1,\n limit: 10,\n }),\n ).current;\n\n useEffect(() => {\n if (!isServerPaging && pagination) {\n pagination.setData({\n total: sortedData.length,\n });\n }\n }, [sortedData]);\n\n const data = isServerPaging || !showPagination ? sortedData : sortedData.slice(pagination.offset, pagination.offset + pagination.limit);\n\n return (\n <div className={className} ref={cardBoxRef}>\n {sortedData.length > 0 ? (\n <>\n <div className={cardOptions?.cardContainerClassName}>\n {data.map((item, index) => {\n return (\n <Card\n key={rowKey ? item[rowKey] || index : index}\n className={cn(\"mb-2 w-full shadow-sm p-4 rounded-lg\", cardOptions?.cardClassName)}\n isPressable={!!onRowClick}\n onPress={() => {\n onRowClick?.(item);\n }}\n >\n {columns.map((column, i) => {\n return (\n <div className=\"w-full\" key={column.key}>\n <div className={cn(\"w-full\", cardOptions?.itemClassName)}>\n <div className={cn(\"font-meidum text-xs text-foreground-400\", cardOptions?.labelClassName)}>{column.label}</div>\n <div className={cn(\"text-xs\", cardOptions?.valueClassName)}>{column.render ? column.render(item) : renderFieldValue(item[column.key])}</div>\n </div>\n {cardOptions?.showDivider && i !== columns.length - 1 && <Divider className={cn(\"my-2\", cardOptions?.dividerClassName)} />}\n </div>\n );\n })}\n {typeof columnSlot === \"function\" ? columnSlot({ row: item }) : columnSlot}\n </Card>\n );\n })}\n </div>\n {showPagination && pagination.total > pagination.limit && (\n <div className=\"flex justify-center\">\n <NextuiPagination\n className=\"mt-2\"\n showControls\n showShadow\n size=\"sm\"\n radius=\"sm\"\n color=\"primary\"\n initialPage={1}\n total={Math.ceil(pagination.total / pagination.limit)}\n page={pagination.page}\n onChange={(currentPage) => {\n pagination.setData({\n page: currentPage,\n });\n if (autoScrollToTop && cardBoxRef.current) {\n scrollIntoTop(cardBoxRef.current);\n }\n }}\n {...nextuiPaginationProps}\n />\n </div>\n )}\n </>\n ) : (\n (emptyContent ?? <DefaultEmptyContent />)\n )}\n </div>\n );\n },\n);\n\nfunction VirtualizedCardUI<T>({\n className,\n sortedData,\n columns,\n rowKey,\n cardOptions,\n onRowClick,\n emptyContent,\n isLoading,\n loadingOptions,\n loadingContent,\n virtualizedOptions,\n columnSlot,\n}: {\n className?: string;\n sortedData: T[];\n columns: Column<T>[];\n rowKey?: string;\n cardOptions?: CardOptions;\n onRowClick?: (item: T) => void;\n autoScrollToTop?: boolean;\n emptyContent?: React.ReactNode;\n isLoading?: boolean;\n loadingOptions?: LoadingOptions;\n loadingContent?: React.ReactNode;\n virtualizedOptions?: VirtualizedOptions;\n columnSlot?: ((props: { row: T }) => React.ReactNode) | React.ReactNode;\n}) {\n const colSpan = virtualizedOptions?.cardOptions?.colSpan || cardOptions?.virtualizedOptions?.colSpan || 1;\n const fetchedCountRef = useRef(-1);\n const elements = useMemo(() => {\n const MyCard = ({ item }) => {\n return (\n <Card\n className={cn(\"mb-2 w-full shadow-sm p-4 rounded-lg\", cardOptions?.cardClassName)}\n isPressable={!!onRowClick}\n onPress={() => {\n onRowClick?.(item);\n }}\n >\n {columns.map((column, i) => {\n return (\n <div className=\"w-full\" key={column.key}>\n <div className={cn(\"w-full\", cardOptions?.itemClassName)}>\n <div className={cn(\"font-meidum text-xs text-foreground-400\", cardOptions?.labelClassName)}>{column.label}</div>\n <div className={cn(\"text-xs\", cardOptions?.valueClassName)}>{column.render ? column.render(item) : renderFieldValue(item[column.key])}</div>\n </div>\n {cardOptions?.showDivider && i !== columns.length - 1 && <Divider className={cn(\"my-2\", cardOptions?.dividerClassName)} />}\n </div>\n );\n })}\n {typeof columnSlot === \"function\" ? columnSlot({ row: item }) : columnSlot}\n </Card>\n );\n };\n if (colSpan === 1) {\n return sortedData.map((item, index) => {\n return <MyCard key={rowKey ? item[rowKey] || index : index} item={item} />;\n });\n } else {\n const groupData = groupByColSpan(sortedData, colSpan);\n return groupData.map((group, gIndex) => {\n return (\n <div\n className={cn(\"flex items-center justify-between space-x-1\", virtualizedOptions?.cardOptions?.cardContainerClassName || cardOptions?.virtualizedOptions?.cardContainerClassName)}\n key={gIndex}\n >\n {group.map((item, index) => {\n return <MyCard key={rowKey ? item[rowKey] || index : index} item={item} />;\n })}\n </div>\n );\n });\n }\n }, [sortedData]);\n return (\n <div className={className}>\n {sortedData.length > 0 ? (\n <VList\n style={{ height: virtualizedOptions?.vListHeight || 400 }}\n onRangeChange={async (_, endIndex) => {\n const count = sortedData.length / colSpan;\n if (endIndex + 1 >= count && fetchedCountRef.current < count) {\n fetchedCountRef.current = count;\n if (virtualizedOptions?.fetchData) {\n await virtualizedOptions.fetchData();\n }\n }\n }}\n >\n {elements}\n {isLoading ? loadingContent || DefaultLoading({ loadingOptions }) : null}\n </VList>\n ) : (\n (emptyContent ?? <DefaultEmptyContent />)\n )}\n </div>\n );\n}\n\nfunction VirtualizedListUI<T>({\n className,\n sortedData,\n dataSource,\n columns,\n columnOptions,\n sortableColumnsMap,\n sortingUIOptions,\n setSortableColumnsMap,\n setSortedData,\n rowKey,\n onRowClick,\n rowCss,\n emptyContent,\n isLoading,\n loadingOptions,\n loadingContent,\n virtualizedOptions,\n}: {\n className: string;\n sortedData: T[];\n dataSource: T[];\n columns: Column<T>[];\n columnOptions: ColumnOptions<T>;\n sortableColumnsMap: { [k: string]: \"asc\" | \"desc\" | \"none\" };\n sortingUIOptions: SortingUIOptions;\n setSortableColumnsMap: (\n value: React.SetStateAction<{\n [k: string]: \"asc\" | \"desc\" | \"none\";\n }>,\n ) => void;\n setSortedData: (value: React.SetStateAction<T[]>) => void;\n rowKey?: string;\n onRowClick?: (item: T) => void;\n rowCss?: string | ((item: T) => string | undefined);\n emptyContent?: React.ReactNode;\n isLoading?: boolean;\n loadingOptions?: LoadingOptions;\n loadingContent?: React.ReactNode;\n virtualizedOptions?: VirtualizedOptions;\n}) {\n const fetchedCountRef = useRef(-1);\n const elements = useMemo(\n () =>\n sortedData.map((item, index) => {\n return (\n <div\n key={rowKey ? item[rowKey] || index : index}\n className={cn(\"w-full flex items-center space-x-1\", virtualizedOptions?.classNames?.row, typeof rowCss === \"function\" ? rowCss(item) : rowCss)}\n onClick={() => {\n onRowClick?.(item);\n }}\n >\n {columns.map((column) => {\n return (\n <div\n key={column.key}\n className={cn(\"w-full flex-grow py-2 px-4 text-xs whitespace-nowrap overflow-auto\", virtualizedOptions?.classNames?.rowCell)}\n style={{\n minWidth: column.width,\n }}\n >\n {column.render ? column.render(item) : renderFieldValue(item[column.key])}\n </div>\n );\n })}\n </div>\n );\n }),\n [sortedData],\n );\n\n return (\n <div className={cn(\"w-full overflow-x-auto\", className)}>\n <div className=\"inline-block min-w-fit w-full\">\n <div className={cn(\"w-full flex items-center rounded-lg bg-default-100 space-x-1 mb-2\", virtualizedOptions?.classNames?.header)}>\n {columns.map((column) => {\n return (\n <div\n key={column.key}\n className={cn(\"w-full flex-grow py-2 px-4 flex items-center text-xs font-semibold whitespace-nowrap overflow-auto\", virtualizedOptions?.classNames?.headerCell)}\n style={{\n minWidth: column.width,\n }}\n >\n <span>{column.label}</span>\n {!!sortableColumnsMap[column.key] && (\n <SortingComponent\n sortingUIOptions={sortingUIOptions}\n columnOptions={columnOptions}\n sortableColumnsMap={sortableColumnsMap}\n item={column}\n onSort={({ type, key, sortKey }) => {\n const { sortableColumns, sortedData } = sortData({\n type,\n key,\n sortKey,\n sortableColumnsMap,\n dataSource,\n });\n setSortableColumnsMap(sortableColumns);\n setSortedData(sortedData);\n }}\n />\n )}\n </div>\n );\n })}\n </div>\n {sortedData.length > 0 ? (\n <VList\n style={{ height: virtualizedOptions?.vListHeight || 200 }}\n onRangeChange={async (_, endIndex) => {\n const count = sortedData.length;\n if (endIndex + 1 >= count && fetchedCountRef.current < count) {\n fetchedCountRef.current = count;\n if (virtualizedOptions?.fetchData) {\n await virtualizedOptions.fetchData();\n }\n }\n }}\n >\n {elements}\n {isLoading ? loadingContent || DefaultLoading({ loadingOptions }) : null}\n </VList>\n ) : (\n (emptyContent ?? <DefaultEmptyContent />)\n )}\n </div>\n </div>\n );\n}\n\nconst TableUI = observer(\n <T,>({\n className,\n classNames = {},\n isHeaderSticky,\n sortedData,\n dataSource,\n columns,\n columnOptions,\n sortableColumnsMap,\n sortingUIOptions,\n setSortableColumnsMap,\n setSortedData,\n isLoading,\n loadingContent,\n loadingOptions,\n emptyContent,\n rowCss,\n onRowClick,\n showCollapsedTables,\n collapsedTableConfig,\n collapsedTables,\n rowKey,\n isServerPaging,\n showPagination,\n pagination,\n nextuiPaginationProps = {},\n autoScrollToTop,\n columnSlot,\n }: {\n className: string;\n classNames?: TableClassNames;\n isHeaderSticky: boolean;\n sortedData: T[];\n dataSource: T[];\n columns: Column<T>[];\n columnOptions?: ColumnOptions<T>;\n sortableColumnsMap: { [k: string]: \"asc\" | \"desc\" | \"none\" };\n sortingUIOptions: SortingUIOptions;\n setSortableColumnsMap: (value: React.SetStateAction<{ [k: string]: \"asc\" | \"desc\" | \"none\" }>) => void;\n setSortedData: (value: React.SetStateAction<T[]>) => void;\n isLoading: boolean;\n loadingContent?: React.ReactNode;\n loadingOptions?: LoadingOptions;\n emptyContent?: React.ReactNode;\n rowCss?: string | ((item: T) => string | undefined);\n onRowClick?: (item: T) => void;\n showCollapsedTables: boolean;\n collapsedTableConfig?: CollapsedTableConfig<T>;\n collapsedTables: CollapsedTable<any>[];\n rowKey?: string;\n isServerPaging?: boolean;\n showPagination: boolean;\n pagination?: PaginationState;\n nextuiPaginationProps?: PaginationProps | {};\n autoScrollToTop: boolean;\n columnSlot?: ((props: { row: T }) => React.ReactNode) | React.ReactNode;\n }) => {\n const tableBoxRef = useRef<HTMLDivElement>(null);\n pagination = pagination\n ? pagination\n : useRef(\n new PaginationState({\n page: 1,\n limit: 10,\n }),\n ).current;\n\n useEffect(() => {\n if (!isServerPaging) {\n pagination.setData({\n total: dataSource.length,\n });\n }\n }, [dataSource]);\n\n const data = isServerPaging || !showPagination ? sortedData : sortedData.slice(pagination.offset, pagination.offset + pagination.limit);\n\n return (\n <>\n <div className={cn(\"relative w-full\", className)} ref={tableBoxRef}>\n <table className={cn(\"w-full h-auto table-auto\", classNames.table)}>\n <thead className={cn(classNames.thead, { \"sticky top-0 z-30 [&>tr]:first:shadow-small [&>tr]:first:rounded-lg\": isHeaderSticky })}>\n <tr className={classNames.tr}>\n {columns.map((item) => (\n <th\n key={item.key}\n className={cn(\"px-3 h-10 text-xs font-semibold whitespace-nowrap bg-default-100 first:rounded-l-lg last:rounded-r-lg outline-none\", classNames.th)}\n style={{\n minWidth: item.width,\n }}\n >\n <div className=\"flex items-center\">\n <span>{item.label}</span>\n {!!sortableColumnsMap[item.key] && (\n <SortingComponent\n sortingUIOptions={sortingUIOptions}\n columnOptions={columnOptions}\n sortableColumnsMap={sortableColumnsMap}\n item={item}\n onSort={({ type, key, sortKey }) => {\n const { sortableColumns, sortedData } = sortData({\n type,\n key,\n sortKey,\n sortableColumnsMap,\n dataSource,\n });\n setSortableColumnsMap(sortableColumns);\n setSortedData(sortedData);\n }}\n />\n )}\n </div>\n </th>\n ))}\n </tr>\n <tr aria-hidden=\"true\" className=\"w-px h-px block ml-[0.25rem] mt-[0.25rem]\"></tr>\n </thead>\n {isLoading ? (\n <tbody className={classNames.tbody}>\n <tr className={classNames.tr}>\n <td className={classNames.td} colSpan={columns.length}>\n {loadingContent || DefaultLoading({ loadingOptions })}\n </td>\n </tr>\n </tbody>\n ) : data.length > 0 ? (\n <tbody className={classNames.tbody}>\n {showCollapsedTables\n ? data.map((item) => {\n return (\n <CollapseBodyRow\n classNames={classNames}\n item={item}\n columns={columns}\n rowCss={rowCss}\n onRowClick={onRowClick}\n collapsedTableConfig={collapsedTableConfig}\n collapsedTables={collapsedTables}\n />\n );\n })\n : data.map((item, index) => {\n return (\n <>\n <tr\n key={rowKey ? item[rowKey] || index : index}\n className={cn(classNames.tr, typeof rowCss === \"function\" ? rowCss(item) : rowCss)}\n onClick={() => {\n onRowClick?.(item);\n }}\n >\n {columns.map((column) => {\n return (\n <td\n key={column.key}\n className={cn(\"py-2 px-3 text-xs\", classNames.td)}\n style={{\n minWidth: column.width,\n }}\n >\n {column.render ? column.render(item) : renderFieldValue(item[column.key])}\n </td>\n );\n })}\n </tr>\n {columnSlot && (\n <tr>\n <td colSpan={columns.length}>{typeof columnSlot === \"function\" ? columnSlot({ row: item }) : columnSlot}</td>\n </tr>\n )}\n </>\n );\n })}\n </tbody>\n ) : (\n <tbody className={classNames.tbody}>\n <tr className={classNames.tr}>\n <td className={classNames.td} colSpan={columns.length}>\n {emptyContent ?? <DefaultEmptyContent />}\n </td>\n </tr>\n </tbody>\n )}\n </table>\n </div>\n {showPagination && pagination.total > pagination.limit && (\n <div className=\"flex justify-center\">\n <NextuiPagination\n className=\"mt-2\"\n showControls\n showShadow\n size=\"sm\"\n radius=\"sm\"\n color=\"primary\"\n initialPage={1}\n total={Math.ceil(pagination.total / pagination.limit)}\n page={pagination.page}\n onChange={(currentPage) => {\n pagination.setData({\n page: currentPage,\n });\n if (autoScrollToTop && tableBoxRef.current) {\n scrollIntoTop(tableBoxRef.current);\n }\n }}\n {...nextuiPaginationProps}\n />\n </div>\n )}\n </>\n );\n },\n);\n\nfunction DefaultLoading({ loadingOptions }: { loadingOptions?: LoadingOptions }) {\n const type = loadingOptions?.type || \"skeleton\";\n const skeletonOptions = loadingOptions?.skeleton;\n const spinnerOptions = loadingOptions?.spinner;\n const spinnerProps = spinnerOptions?.spinnerProps || {};\n\n if (type === \"skeleton\") {\n return <SkeletonBox className={cn(\"mt-2 flex-col\", skeletonOptions?.boxClassName)} skClassName={cn(\"h-[30px] rounded\", skeletonOptions?.skeletonClassName)} line={skeletonOptions?.line || 5} />;\n }\n\n return (\n <div className={cn(\"w-full h-[60px] flex justify-center items-center\", spinnerOptions?.boxClassName)}>\n <Spinner size=\"sm\" color=\"primary\" {...spinnerProps} />\n <div className={cn(\"ml-2 text-[#64748B] text-sm\", spinnerOptions?.textClassName)}>{spinnerOptions?.text || \"Loading...\"}</div>\n </div>\n );\n}\n\nfunction DefaultEmptyContent() {\n return <div className=\"w-full h-[60px] flex justify-center items-center text-xs text-[#64748B] dark:text-[#cacaca]\">No Data</div>;\n}\n\nfunction scrollIntoTop(target: HTMLElement) {\n if (target) {\n const { top } = target.getBoundingClientRect();\n window.scrollTo({\n top: top + window.scrollY - 100,\n behavior: \"smooth\",\n });\n }\n}\n\nfunction CollapseBodyRow<T>({\n classNames,\n item,\n columns,\n rowCss,\n onRowClick,\n collapsedTableConfig,\n collapsedTables,\n}: {\n classNames?: TableClassNames;\n item: T;\n columns: Column<T>[];\n rowCss?: string | ((item: T) => string | undefined);\n onRowClick?: (item: T) => void;\n collapsedTableConfig?: {\n classNames?: TableClassNames;\n collapsedHandlerPosition?: \"left\" | \"right\";\n collapsedHandlerBoxCss?: string;\n openedIcon?: React.ReactNode;\n closedIcon?: React.ReactNode;\n onRowClick?: (item: any) => void;\n rowCss?: string | ((item: any) => string | undefined);\n emptyContent?: React.ReactNode;\n };\n collapsedTables: CollapsedTable<any>[];\n}) {\n const [isOpen, setIsOpen] = useState(false);\n const collapsedHandlerPosition = collapsedTableConfig?.collapsedHandlerPosition || \"right\";\n\n const { OpenedIcon, ClosedIcon } = useMemo(() => {\n const defaultOpenedIcon = <ChevronDown size={18} />;\n const defaultClosedIcon = collapsedHandlerPosition === \"left\" ? <ChevronRight size={18} /> : <ChevronLeft size={18} />;\n return {\n OpenedIcon: collapsedTableConfig?.openedIcon || defaultOpenedIcon,\n ClosedIcon: collapsedTableConfig?.closedIcon || defaultClosedIcon,\n };\n }, []);\n\n return (\n <>\n <tr\n className={cn(\"text-xs cursor-pointer\", classNames?.tr, typeof rowCss === \"function\" ? rowCss(item) : rowCss)}\n onClick={(e: any) => {\n onRowClick?.(item);\n }}\n >\n {columns.map((column) => {\n if (column.key === \"$collapsedHandler\") {\n return (\n <td\n className={classNames?.td}\n style={{\n minWidth: column.width,\n }}\n >\n <div\n className={cn(\"w-6 h-6 flex items-center justify-center rounded-sm hover:bg-[#f3f3f4] dark:hover:bg-[#1e1e1e]\", collapsedTableConfig?.collapsedHandlerBoxCss)}\n onClick={(e) => {\n e.stopPropagation();\n setIsOpen((v) => !v);\n }}\n >\n {isOpen ? OpenedIcon : ClosedIcon}\n </div>\n </td>\n );\n }\n return (\n <td\n key={column.key}\n className={cn(\"py-2 px-3 text-xs\", classNames?.td)}\n style={{\n minWidth: column.width,\n }}\n >\n {column.render ? column.render(item) : renderFieldValue(item[column.key])}\n </td>\n );\n })}\n </tr>\n <tr className={cn(classNames?.tr, isOpen ? \"table-row\" : \"hidden\")}>\n <td colSpan={columns.length} className={cn(\"py-2 px-3 text-xs\", classNames?.td)}>\n {collapsedTables.map((ex) => {\n const exColumns = ex.columns;\n const exData = item[ex.key] || [];\n return (\n <table className={cn(\"w-full h-auto table-auto\", collapsedTableConfig?.classNames?.table)} key={ex.key}>\n <thead className={collapsedTableConfig?.classNames?.thead}>\n <tr className={collapsedTableConfig?.classNames?.tr}>\n {exColumns?.map((exC) => {\n return (\n <th\n key={exC.key}\n className={cn(\"px-3 h-10 text-xs text-left font-semibold bg-default-100 first:rounded-l-lg last:rounded-r-lg outline-none\", collapsedTableConfig?.classNames?.th)}\n style={{\n minWidth: exC.width,\n }}\n >\n {exC.label}\n </th>\n );\n })}\n </tr>\n <tr aria-hidden=\"true\" className=\"w-px h-px block ml-[0.25rem] mt-[0.25rem]\"></tr>\n </thead>\n {exData.length > 0 ? (\n <tbody className={collapsedTableConfig?.classNames?.tbody}>\n {exData.map((exItem) => (\n <tr\n key={exItem.key}\n className={cn(\n \"text-xs\",\n collapsedTableConfig?.classNames?.tr,\n typeof collapsedTableConfig?.rowCss === \"function\"\n ? collapsedTableConfig?.rowCss({\n ...exItem,\n $parent: item,\n })\n : collapsedTableConfig?.rowCss,\n )}\n onClick={(e: any) => {\n collapsedTableConfig?.onRowClick?.({\n ...exItem,\n $parent: item,\n });\n }}\n >\n {exColumns?.map((exC) => {\n return (\n <td\n key={exC.key}\n className={cn(\"py-2 px-3 text-xs\", collapsedTableConfig?.classNames?.td)}\n style={{\n minWidth: exC.width,\n }}\n >\n {exC.render\n ? exC.render({\n ...exItem,\n $parent: item,\n })\n : renderFieldValue(exItem[exC.key])}\n </td>\n );\n })}\n </tr>\n ))}\n </tbody>\n ) : (\n <tbody className={collapsedTableConfig?.classNames?.tbody}>\n <tr className={collapsedTableConfig?.classNames?.tr}>\n <td className={collapsedTableConfig?.classNames?.td} colSpan={columns.length}>\n {collapsedTableConfig?.emptyContent ?? <DefaultEmptyContent />}\n </td>\n </tr>\n </tbody>\n )}\n </table>\n );\n })}\n </td>\n </tr>\n </>\n );\n}\n\nfunction groupByColSpan(arr: any[], colSpan: number) {\n const result = [];\n for (let i = 0; i < arr.length; i += colSpan) {\n result.push(arr.slice(i, i + colSpan));\n }\n return result;\n}\n"]}
|
|
@@ -1,23 +1,17 @@
|
|
|
1
|
-
import { __spreadValues } from './chunk-
|
|
1
|
+
import { __spreadValues } from './chunk-YOSPWY5K.mjs';
|
|
2
2
|
|
|
3
3
|
// node_modules/clsx/dist/clsx.mjs
|
|
4
4
|
function r(e) {
|
|
5
5
|
var t, f, n = "";
|
|
6
|
-
if ("string" == typeof e || "number" == typeof e)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
for (t = 0; t < o; t++)
|
|
12
|
-
e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
|
|
13
|
-
} else
|
|
14
|
-
for (f in e)
|
|
15
|
-
e[f] && (n && (n += " "), n += f);
|
|
6
|
+
if ("string" == typeof e || "number" == typeof e) n += e;
|
|
7
|
+
else if ("object" == typeof e) if (Array.isArray(e)) {
|
|
8
|
+
var o = e.length;
|
|
9
|
+
for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
|
|
10
|
+
} else for (f in e) e[f] && (n && (n += " "), n += f);
|
|
16
11
|
return n;
|
|
17
12
|
}
|
|
18
13
|
function clsx() {
|
|
19
|
-
for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++)
|
|
20
|
-
(e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
|
|
14
|
+
for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
|
|
21
15
|
return n;
|
|
22
16
|
}
|
|
23
17
|
|
|
@@ -2487,5 +2481,5 @@ function cn(...inputs) {
|
|
|
2487
2481
|
}
|
|
2488
2482
|
|
|
2489
2483
|
export { cn };
|
|
2490
|
-
//# sourceMappingURL=
|
|
2491
|
-
//# sourceMappingURL=chunk-
|
|
2484
|
+
//# sourceMappingURL=chunk-6HA5WR5H.mjs.map
|
|
2485
|
+
//# sourceMappingURL=chunk-6HA5WR5H.mjs.map
|