@mieweb/ui 0.6.0 → 0.6.1-dev.121
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/{chunk-DNPRRYPQ.js → chunk-KL2S36FM.js} +2 -2
- package/dist/chunk-KL2S36FM.js.map +1 -0
- package/dist/{chunk-OYKS2JBB.cjs → chunk-TN33E2VN.cjs} +2 -2
- package/dist/chunk-TN33E2VN.cjs.map +1 -0
- package/dist/components/Table/index.cjs +9 -9
- package/dist/components/Table/index.d.cts +4 -0
- package/dist/components/Table/index.d.ts +4 -0
- package/dist/components/Table/index.js +1 -1
- package/dist/index.cjs +119 -68
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +39 -2
- package/dist/index.d.ts +39 -2
- package/dist/index.js +70 -19
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/dist/chunk-DNPRRYPQ.js.map +0 -1
- package/dist/chunk-OYKS2JBB.cjs.map +0 -1
|
@@ -201,5 +201,5 @@ function SortIcon({ direction }) {
|
|
|
201
201
|
}
|
|
202
202
|
|
|
203
203
|
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };
|
|
204
|
-
//# sourceMappingURL=chunk-
|
|
205
|
-
//# sourceMappingURL=chunk-
|
|
204
|
+
//# sourceMappingURL=chunk-KL2S36FM.js.map
|
|
205
|
+
//# sourceMappingURL=chunk-KL2S36FM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Table/Table.tsx"],"names":[],"mappings":"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","file":"chunk-KL2S36FM.js","sourcesContent":["import * as React from 'react';\nimport { cn } from '../../utils/cn';\n\n// ============================================================================\n// Table Root\n// ============================================================================\n\nexport interface TableProps extends React.TableHTMLAttributes<HTMLTableElement> {\n /** Whether to make the table responsive with horizontal scroll */\n responsive?: boolean;\n}\n\n/**\n * An accessible table component.\n *\n * Prefer DataVis NITRO in most cases -- it is designed to be simple out of the box while\n * exposing power-user features for click-curious users. Use `Table` only in lightweight\n * situations where that overhead is genuinely unneeded.\n *\n * @example\n * ```tsx\n * <Table>\n * <TableHeader>\n * <TableRow>\n * <TableHead>Name</TableHead>\n * <TableHead>Email</TableHead>\n * </TableRow>\n * </TableHeader>\n * <TableBody>\n * <TableRow>\n * <TableCell>John Doe</TableCell>\n * <TableCell>john@example.com</TableCell>\n * </TableRow>\n * </TableBody>\n * </Table>\n * ```\n */\nconst Table = React.forwardRef<HTMLTableElement, TableProps>(\n ({ className, responsive = true, children, ...props }, ref) => {\n const table = (\n <table\n ref={ref}\n data-slot=\"table\"\n className={cn('w-full caption-bottom text-sm', className)}\n {...props}\n >\n {children}\n </table>\n );\n\n if (responsive) {\n return <div className=\"relative w-full overflow-auto\">{table}</div>;\n }\n\n return table;\n }\n);\n\nTable.displayName = 'Table';\n\n// ============================================================================\n// Table Header\n// ============================================================================\n\nexport type TableHeaderProps = React.HTMLAttributes<HTMLTableSectionElement>;\n\nconst TableHeader = React.forwardRef<HTMLTableSectionElement, TableHeaderProps>(\n ({ className, ...props }, ref) => (\n <thead\n ref={ref}\n data-slot=\"table-header\"\n className={cn('[&_tr]:border-b', className)}\n {...props}\n />\n )\n);\n\nTableHeader.displayName = 'TableHeader';\n\n// ============================================================================\n// Table Body\n// ============================================================================\n\nexport type TableBodyProps = React.HTMLAttributes<HTMLTableSectionElement>;\n\nconst TableBody = React.forwardRef<HTMLTableSectionElement, TableBodyProps>(\n ({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n data-slot=\"table-body\"\n className={cn('[&_tr:last-child]:border-0', className)}\n {...props}\n />\n )\n);\n\nTableBody.displayName = 'TableBody';\n\n// ============================================================================\n// Table Footer\n// ============================================================================\n\nexport type TableFooterProps = React.HTMLAttributes<HTMLTableSectionElement>;\n\nconst TableFooter = React.forwardRef<HTMLTableSectionElement, TableFooterProps>(\n ({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n data-slot=\"table-footer\"\n className={cn(\n 'bg-muted/50 border-t font-medium [&>tr]:last:border-b-0',\n className\n )}\n {...props}\n />\n )\n);\n\nTableFooter.displayName = 'TableFooter';\n\n// ============================================================================\n// Table Row\n// ============================================================================\n\nexport interface TableRowProps extends React.HTMLAttributes<HTMLTableRowElement> {\n /** Whether the row is selected */\n selected?: boolean;\n}\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, TableRowProps>(\n ({ className, selected, ...props }, ref) => (\n <tr\n ref={ref}\n data-slot=\"table-row\"\n data-selected={selected}\n className={cn(\n 'border-border border-b transition-colors',\n 'hover:bg-muted/50',\n 'data-[selected=true]:bg-muted',\n className\n )}\n {...props}\n />\n )\n);\n\nTableRow.displayName = 'TableRow';\n\n// ============================================================================\n// Table Head\n// ============================================================================\n\nexport interface TableHeadProps extends React.ThHTMLAttributes<HTMLTableCellElement> {\n /** Sortable column configuration */\n sortable?: boolean;\n /** Current sort direction */\n sortDirection?: 'asc' | 'desc' | null;\n /** Callback when sort is triggered */\n onSort?: () => void;\n}\n\nconst TableHead = React.forwardRef<HTMLTableCellElement, TableHeadProps>(\n ({ className, sortable, sortDirection, onSort, children, ...props }, ref) => {\n const content = sortable ? (\n <button\n type=\"button\"\n onClick={onSort}\n className={cn(\n 'hover:text-foreground flex items-center gap-1 transition-colors',\n 'focus-visible:ring-ring rounded focus-visible:ring-2 focus-visible:outline-none'\n )}\n aria-label={`Sort column ${sortDirection === 'asc' ? 'descending' : 'ascending'}`}\n >\n {children}\n <SortIcon direction={sortDirection} />\n </button>\n ) : (\n children\n );\n\n return (\n <th\n ref={ref}\n data-slot=\"table-head\"\n aria-sort={\n sortable\n ? sortDirection === 'asc'\n ? 'ascending'\n : sortDirection === 'desc'\n ? 'descending'\n : 'none'\n : undefined\n }\n className={cn(\n 'text-muted-foreground h-12 px-4 text-left align-middle font-medium',\n '[&:has([role=checkbox])]:pr-0',\n className\n )}\n {...props}\n >\n {content}\n </th>\n );\n }\n);\n\nTableHead.displayName = 'TableHead';\n\n// ============================================================================\n// Table Cell\n// ============================================================================\n\nexport type TableCellProps = React.TdHTMLAttributes<HTMLTableCellElement>;\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ className, ...props }, ref) => (\n <td\n ref={ref}\n data-slot=\"table-cell\"\n className={cn(\n 'p-4 align-middle [&:has([role=checkbox])]:pr-0',\n className\n )}\n {...props}\n />\n )\n);\n\nTableCell.displayName = 'TableCell';\n\n// ============================================================================\n// Table Caption\n// ============================================================================\n\nexport type TableCaptionProps = React.HTMLAttributes<HTMLTableCaptionElement>;\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n TableCaptionProps\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n data-slot=\"table-caption\"\n className={cn('text-muted-foreground mt-4 text-sm', className)}\n {...props}\n />\n));\n\nTableCaption.displayName = 'TableCaption';\n\n// ============================================================================\n// Sort Icon\n// ============================================================================\n\nfunction SortIcon({ direction }: { direction?: 'asc' | 'desc' | null }) {\n if (direction === 'asc') {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n className=\"shrink-0\"\n >\n <path d=\"m5 12 7-7 7 7\" />\n </svg>\n );\n }\n\n if (direction === 'desc') {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n className=\"shrink-0\"\n >\n <path d=\"m19 12-7 7-7-7\" />\n </svg>\n );\n }\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n className=\"shrink-0 opacity-50\"\n >\n <path d=\"m7 15 5 5 5-5\" />\n <path d=\"m7 9 5-5 5 5\" />\n </svg>\n );\n}\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableRow,\n TableHead,\n TableCell,\n TableCaption,\n};\n"]}
|
|
@@ -230,5 +230,5 @@ exports.TableFooter = TableFooter;
|
|
|
230
230
|
exports.TableHead = TableHead;
|
|
231
231
|
exports.TableHeader = TableHeader;
|
|
232
232
|
exports.TableRow = TableRow;
|
|
233
|
-
//# sourceMappingURL=chunk-
|
|
234
|
-
//# sourceMappingURL=chunk-
|
|
233
|
+
//# sourceMappingURL=chunk-TN33E2VN.cjs.map
|
|
234
|
+
//# sourceMappingURL=chunk-TN33E2VN.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Table/Table.tsx"],"names":["React","jsx","cn","jsxs"],"mappings":"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","file":"chunk-TN33E2VN.cjs","sourcesContent":["import * as React from 'react';\nimport { cn } from '../../utils/cn';\n\n// ============================================================================\n// Table Root\n// ============================================================================\n\nexport interface TableProps extends React.TableHTMLAttributes<HTMLTableElement> {\n /** Whether to make the table responsive with horizontal scroll */\n responsive?: boolean;\n}\n\n/**\n * An accessible table component.\n *\n * Prefer DataVis NITRO in most cases -- it is designed to be simple out of the box while\n * exposing power-user features for click-curious users. Use `Table` only in lightweight\n * situations where that overhead is genuinely unneeded.\n *\n * @example\n * ```tsx\n * <Table>\n * <TableHeader>\n * <TableRow>\n * <TableHead>Name</TableHead>\n * <TableHead>Email</TableHead>\n * </TableRow>\n * </TableHeader>\n * <TableBody>\n * <TableRow>\n * <TableCell>John Doe</TableCell>\n * <TableCell>john@example.com</TableCell>\n * </TableRow>\n * </TableBody>\n * </Table>\n * ```\n */\nconst Table = React.forwardRef<HTMLTableElement, TableProps>(\n ({ className, responsive = true, children, ...props }, ref) => {\n const table = (\n <table\n ref={ref}\n data-slot=\"table\"\n className={cn('w-full caption-bottom text-sm', className)}\n {...props}\n >\n {children}\n </table>\n );\n\n if (responsive) {\n return <div className=\"relative w-full overflow-auto\">{table}</div>;\n }\n\n return table;\n }\n);\n\nTable.displayName = 'Table';\n\n// ============================================================================\n// Table Header\n// ============================================================================\n\nexport type TableHeaderProps = React.HTMLAttributes<HTMLTableSectionElement>;\n\nconst TableHeader = React.forwardRef<HTMLTableSectionElement, TableHeaderProps>(\n ({ className, ...props }, ref) => (\n <thead\n ref={ref}\n data-slot=\"table-header\"\n className={cn('[&_tr]:border-b', className)}\n {...props}\n />\n )\n);\n\nTableHeader.displayName = 'TableHeader';\n\n// ============================================================================\n// Table Body\n// ============================================================================\n\nexport type TableBodyProps = React.HTMLAttributes<HTMLTableSectionElement>;\n\nconst TableBody = React.forwardRef<HTMLTableSectionElement, TableBodyProps>(\n ({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n data-slot=\"table-body\"\n className={cn('[&_tr:last-child]:border-0', className)}\n {...props}\n />\n )\n);\n\nTableBody.displayName = 'TableBody';\n\n// ============================================================================\n// Table Footer\n// ============================================================================\n\nexport type TableFooterProps = React.HTMLAttributes<HTMLTableSectionElement>;\n\nconst TableFooter = React.forwardRef<HTMLTableSectionElement, TableFooterProps>(\n ({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n data-slot=\"table-footer\"\n className={cn(\n 'bg-muted/50 border-t font-medium [&>tr]:last:border-b-0',\n className\n )}\n {...props}\n />\n )\n);\n\nTableFooter.displayName = 'TableFooter';\n\n// ============================================================================\n// Table Row\n// ============================================================================\n\nexport interface TableRowProps extends React.HTMLAttributes<HTMLTableRowElement> {\n /** Whether the row is selected */\n selected?: boolean;\n}\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, TableRowProps>(\n ({ className, selected, ...props }, ref) => (\n <tr\n ref={ref}\n data-slot=\"table-row\"\n data-selected={selected}\n className={cn(\n 'border-border border-b transition-colors',\n 'hover:bg-muted/50',\n 'data-[selected=true]:bg-muted',\n className\n )}\n {...props}\n />\n )\n);\n\nTableRow.displayName = 'TableRow';\n\n// ============================================================================\n// Table Head\n// ============================================================================\n\nexport interface TableHeadProps extends React.ThHTMLAttributes<HTMLTableCellElement> {\n /** Sortable column configuration */\n sortable?: boolean;\n /** Current sort direction */\n sortDirection?: 'asc' | 'desc' | null;\n /** Callback when sort is triggered */\n onSort?: () => void;\n}\n\nconst TableHead = React.forwardRef<HTMLTableCellElement, TableHeadProps>(\n ({ className, sortable, sortDirection, onSort, children, ...props }, ref) => {\n const content = sortable ? (\n <button\n type=\"button\"\n onClick={onSort}\n className={cn(\n 'hover:text-foreground flex items-center gap-1 transition-colors',\n 'focus-visible:ring-ring rounded focus-visible:ring-2 focus-visible:outline-none'\n )}\n aria-label={`Sort column ${sortDirection === 'asc' ? 'descending' : 'ascending'}`}\n >\n {children}\n <SortIcon direction={sortDirection} />\n </button>\n ) : (\n children\n );\n\n return (\n <th\n ref={ref}\n data-slot=\"table-head\"\n aria-sort={\n sortable\n ? sortDirection === 'asc'\n ? 'ascending'\n : sortDirection === 'desc'\n ? 'descending'\n : 'none'\n : undefined\n }\n className={cn(\n 'text-muted-foreground h-12 px-4 text-left align-middle font-medium',\n '[&:has([role=checkbox])]:pr-0',\n className\n )}\n {...props}\n >\n {content}\n </th>\n );\n }\n);\n\nTableHead.displayName = 'TableHead';\n\n// ============================================================================\n// Table Cell\n// ============================================================================\n\nexport type TableCellProps = React.TdHTMLAttributes<HTMLTableCellElement>;\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ className, ...props }, ref) => (\n <td\n ref={ref}\n data-slot=\"table-cell\"\n className={cn(\n 'p-4 align-middle [&:has([role=checkbox])]:pr-0',\n className\n )}\n {...props}\n />\n )\n);\n\nTableCell.displayName = 'TableCell';\n\n// ============================================================================\n// Table Caption\n// ============================================================================\n\nexport type TableCaptionProps = React.HTMLAttributes<HTMLTableCaptionElement>;\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n TableCaptionProps\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n data-slot=\"table-caption\"\n className={cn('text-muted-foreground mt-4 text-sm', className)}\n {...props}\n />\n));\n\nTableCaption.displayName = 'TableCaption';\n\n// ============================================================================\n// Sort Icon\n// ============================================================================\n\nfunction SortIcon({ direction }: { direction?: 'asc' | 'desc' | null }) {\n if (direction === 'asc') {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n className=\"shrink-0\"\n >\n <path d=\"m5 12 7-7 7 7\" />\n </svg>\n );\n }\n\n if (direction === 'desc') {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n className=\"shrink-0\"\n >\n <path d=\"m19 12-7 7-7-7\" />\n </svg>\n );\n }\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n className=\"shrink-0 opacity-50\"\n >\n <path d=\"m7 15 5 5 5-5\" />\n <path d=\"m7 9 5-5 5 5\" />\n </svg>\n );\n}\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableRow,\n TableHead,\n TableCell,\n TableCaption,\n};\n"]}
|
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkTN33E2VN_cjs = require('../../chunk-TN33E2VN.cjs');
|
|
4
4
|
require('../../chunk-OR5DRJCW.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
Object.defineProperty(exports, "Table", {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
10
|
+
get: function () { return chunkTN33E2VN_cjs.Table; }
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "TableBody", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkTN33E2VN_cjs.TableBody; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "TableCaption", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkTN33E2VN_cjs.TableCaption; }
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "TableCell", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return chunkTN33E2VN_cjs.TableCell; }
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "TableFooter", {
|
|
25
25
|
enumerable: true,
|
|
26
|
-
get: function () { return
|
|
26
|
+
get: function () { return chunkTN33E2VN_cjs.TableFooter; }
|
|
27
27
|
});
|
|
28
28
|
Object.defineProperty(exports, "TableHead", {
|
|
29
29
|
enumerable: true,
|
|
30
|
-
get: function () { return
|
|
30
|
+
get: function () { return chunkTN33E2VN_cjs.TableHead; }
|
|
31
31
|
});
|
|
32
32
|
Object.defineProperty(exports, "TableHeader", {
|
|
33
33
|
enumerable: true,
|
|
34
|
-
get: function () { return
|
|
34
|
+
get: function () { return chunkTN33E2VN_cjs.TableHeader; }
|
|
35
35
|
});
|
|
36
36
|
Object.defineProperty(exports, "TableRow", {
|
|
37
37
|
enumerable: true,
|
|
38
|
-
get: function () { return
|
|
38
|
+
get: function () { return chunkTN33E2VN_cjs.TableRow; }
|
|
39
39
|
});
|
|
40
40
|
//# sourceMappingURL=index.cjs.map
|
|
41
41
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -7,6 +7,10 @@ interface TableProps extends React.TableHTMLAttributes<HTMLTableElement> {
|
|
|
7
7
|
/**
|
|
8
8
|
* An accessible table component.
|
|
9
9
|
*
|
|
10
|
+
* Prefer DataVis NITRO in most cases -- it is designed to be simple out of the box while
|
|
11
|
+
* exposing power-user features for click-curious users. Use `Table` only in lightweight
|
|
12
|
+
* situations where that overhead is genuinely unneeded.
|
|
13
|
+
*
|
|
10
14
|
* @example
|
|
11
15
|
* ```tsx
|
|
12
16
|
* <Table>
|
|
@@ -7,6 +7,10 @@ interface TableProps extends React.TableHTMLAttributes<HTMLTableElement> {
|
|
|
7
7
|
/**
|
|
8
8
|
* An accessible table component.
|
|
9
9
|
*
|
|
10
|
+
* Prefer DataVis NITRO in most cases -- it is designed to be simple out of the box while
|
|
11
|
+
* exposing power-user features for click-curious users. Use `Table` only in lightweight
|
|
12
|
+
* situations where that overhead is genuinely unneeded.
|
|
13
|
+
*
|
|
10
14
|
* @example
|
|
11
15
|
* ```tsx
|
|
12
16
|
* <Table>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from '../../chunk-
|
|
1
|
+
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from '../../chunk-KL2S36FM.js';
|
|
2
2
|
import '../../chunk-F3SOEIN2.js';
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/index.cjs
CHANGED
|
@@ -13,7 +13,7 @@ var chunkX7S76WB7_cjs = require('./chunk-X7S76WB7.cjs');
|
|
|
13
13
|
var chunkP52GA3GJ_cjs = require('./chunk-P52GA3GJ.cjs');
|
|
14
14
|
var chunkDEZ7XSTG_cjs = require('./chunk-DEZ7XSTG.cjs');
|
|
15
15
|
var chunkNVHAQOHH_cjs = require('./chunk-NVHAQOHH.cjs');
|
|
16
|
-
var
|
|
16
|
+
var chunkTN33E2VN_cjs = require('./chunk-TN33E2VN.cjs');
|
|
17
17
|
var chunkQASIWBXU_cjs = require('./chunk-QASIWBXU.cjs');
|
|
18
18
|
var chunkPJAQDAMZ_cjs = require('./chunk-PJAQDAMZ.cjs');
|
|
19
19
|
var chunkU3ABLVYH_cjs = require('./chunk-U3ABLVYH.cjs');
|
|
@@ -3869,7 +3869,7 @@ var MessageBubble = React48__namespace.forwardRef(
|
|
|
3869
3869
|
"div",
|
|
3870
3870
|
{
|
|
3871
3871
|
className: chunkOR5DRJCW_cjs.cn(
|
|
3872
|
-
"flex flex-1 flex-col
|
|
3872
|
+
"flex min-w-0 flex-1 flex-col",
|
|
3873
3873
|
isOutgoing ? "items-end" : "items-start"
|
|
3874
3874
|
),
|
|
3875
3875
|
children: [
|
|
@@ -8648,11 +8648,17 @@ function CommandPalette({
|
|
|
8648
8648
|
placeholder = "Search...",
|
|
8649
8649
|
isLoading = false,
|
|
8650
8650
|
onSelect,
|
|
8651
|
+
onQueryChange,
|
|
8652
|
+
pinnedItems,
|
|
8653
|
+
pinnedCategoryLabel = "Actions",
|
|
8654
|
+
recentItems,
|
|
8655
|
+
recentCategoryLabel = "Recent",
|
|
8651
8656
|
emptyState,
|
|
8652
8657
|
renderItem,
|
|
8653
8658
|
footer,
|
|
8654
8659
|
className,
|
|
8655
|
-
"data-testid": testId = "command-palette"
|
|
8660
|
+
"data-testid": testId = "command-palette",
|
|
8661
|
+
serverFiltered = false
|
|
8656
8662
|
}) {
|
|
8657
8663
|
const {
|
|
8658
8664
|
isOpen,
|
|
@@ -8669,29 +8675,47 @@ function CommandPalette({
|
|
|
8669
8675
|
const inputRef = React48.useRef(null);
|
|
8670
8676
|
const containerRef = React48.useRef(null);
|
|
8671
8677
|
const listRef = React48.useRef(null);
|
|
8678
|
+
React48.useEffect(() => {
|
|
8679
|
+
if (!isOpen) return;
|
|
8680
|
+
onQueryChange?.(query);
|
|
8681
|
+
}, [query, isOpen, onQueryChange]);
|
|
8682
|
+
const PINNED_CATEGORY_ID = "__palette_pinned__";
|
|
8683
|
+
const RECENT_CATEGORY_ID = "__palette_recent__";
|
|
8672
8684
|
const filteredItems = React48.useMemo(() => {
|
|
8673
8685
|
let result = items;
|
|
8674
8686
|
if (activeCategory) {
|
|
8675
8687
|
result = result.filter((item) => item.category === activeCategory);
|
|
8676
8688
|
}
|
|
8677
|
-
if (query.trim()) {
|
|
8689
|
+
if (query.trim() && !serverFiltered) {
|
|
8678
8690
|
const lowerQuery = query.toLowerCase();
|
|
8679
8691
|
result = result.filter(
|
|
8680
8692
|
(item) => item.label.toLowerCase().includes(lowerQuery) || item.subtitle?.toLowerCase().includes(lowerQuery) || item.description?.toLowerCase().includes(lowerQuery)
|
|
8681
8693
|
);
|
|
8682
8694
|
}
|
|
8683
8695
|
return result;
|
|
8684
|
-
}, [items, query, activeCategory]);
|
|
8696
|
+
}, [items, query, activeCategory, serverFiltered]);
|
|
8697
|
+
const effectiveItems = React48.useMemo(() => {
|
|
8698
|
+
const pinned = !activeCategory && pinnedItems?.length ? pinnedItems.map((it) => ({
|
|
8699
|
+
...it,
|
|
8700
|
+
category: it.category ?? PINNED_CATEGORY_ID
|
|
8701
|
+
})) : [];
|
|
8702
|
+
const showRecents = !activeCategory && !query.trim() && filteredItems.length === 0 && !!recentItems?.length;
|
|
8703
|
+
const recents = showRecents ? recentItems.map((it) => ({
|
|
8704
|
+
...it,
|
|
8705
|
+
category: it.category ?? RECENT_CATEGORY_ID
|
|
8706
|
+
})) : [];
|
|
8707
|
+
return [...pinned, ...filteredItems, ...recents];
|
|
8708
|
+
}, [pinnedItems, recentItems, filteredItems, activeCategory, query]);
|
|
8685
8709
|
const groupedItems = React48.useMemo(() => {
|
|
8686
8710
|
const groups = /* @__PURE__ */ new Map();
|
|
8687
|
-
|
|
8711
|
+
effectiveItems.forEach((item) => {
|
|
8688
8712
|
const category = item.category ?? "Other";
|
|
8689
8713
|
const group = groups.get(category) ?? [];
|
|
8690
8714
|
group.push(item);
|
|
8691
8715
|
groups.set(category, group);
|
|
8692
8716
|
});
|
|
8693
8717
|
return groups;
|
|
8694
|
-
}, [
|
|
8718
|
+
}, [effectiveItems]);
|
|
8695
8719
|
chunkFHY3K6PL_cjs.useEscapeKey(close, isOpen);
|
|
8696
8720
|
chunkIKMR2ADM_cjs.useClickOutside(containerRef, close);
|
|
8697
8721
|
React48.useEffect(() => {
|
|
@@ -8700,8 +8724,8 @@ function CommandPalette({
|
|
|
8700
8724
|
}
|
|
8701
8725
|
}, [isOpen]);
|
|
8702
8726
|
React48.useEffect(() => {
|
|
8703
|
-
setSelectedIndex(
|
|
8704
|
-
}, [
|
|
8727
|
+
setSelectedIndex(effectiveItems.length > 0 ? 0 : -1);
|
|
8728
|
+
}, [effectiveItems.length, setSelectedIndex]);
|
|
8705
8729
|
React48.useEffect(() => {
|
|
8706
8730
|
if (selectedIndex >= 0 && listRef.current) {
|
|
8707
8731
|
const selectedElement = listRef.current.querySelector(
|
|
@@ -8716,7 +8740,7 @@ function CommandPalette({
|
|
|
8716
8740
|
case "ArrowDown":
|
|
8717
8741
|
e.preventDefault();
|
|
8718
8742
|
setSelectedIndex(
|
|
8719
|
-
Math.min(selectedIndex + 1,
|
|
8743
|
+
Math.min(selectedIndex + 1, effectiveItems.length - 1)
|
|
8720
8744
|
);
|
|
8721
8745
|
break;
|
|
8722
8746
|
case "ArrowUp":
|
|
@@ -8725,8 +8749,8 @@ function CommandPalette({
|
|
|
8725
8749
|
break;
|
|
8726
8750
|
case "Enter":
|
|
8727
8751
|
e.preventDefault();
|
|
8728
|
-
if (selectedIndex >= 0 &&
|
|
8729
|
-
const item =
|
|
8752
|
+
if (selectedIndex >= 0 && effectiveItems[selectedIndex]) {
|
|
8753
|
+
const item = effectiveItems[selectedIndex];
|
|
8730
8754
|
if (!item.disabled) {
|
|
8731
8755
|
onSelect?.(item);
|
|
8732
8756
|
close();
|
|
@@ -8744,7 +8768,7 @@ function CommandPalette({
|
|
|
8744
8768
|
}
|
|
8745
8769
|
},
|
|
8746
8770
|
[
|
|
8747
|
-
|
|
8771
|
+
effectiveItems,
|
|
8748
8772
|
selectedIndex,
|
|
8749
8773
|
setSelectedIndex,
|
|
8750
8774
|
onSelect,
|
|
@@ -8765,9 +8789,15 @@ function CommandPalette({
|
|
|
8765
8789
|
);
|
|
8766
8790
|
const getCategoryInfo = React48.useCallback(
|
|
8767
8791
|
(categoryId) => {
|
|
8792
|
+
if (categoryId === PINNED_CATEGORY_ID) {
|
|
8793
|
+
return { id: PINNED_CATEGORY_ID, label: pinnedCategoryLabel };
|
|
8794
|
+
}
|
|
8795
|
+
if (categoryId === RECENT_CATEGORY_ID) {
|
|
8796
|
+
return { id: RECENT_CATEGORY_ID, label: recentCategoryLabel };
|
|
8797
|
+
}
|
|
8768
8798
|
return categories.find((c) => c.id === categoryId);
|
|
8769
8799
|
},
|
|
8770
|
-
[categories]
|
|
8800
|
+
[categories, pinnedCategoryLabel, recentCategoryLabel]
|
|
8771
8801
|
);
|
|
8772
8802
|
if (!isOpen) return null;
|
|
8773
8803
|
let globalIndex = -1;
|
|
@@ -8873,14 +8903,14 @@ function CommandPalette({
|
|
|
8873
8903
|
ref: listRef,
|
|
8874
8904
|
"data-slot": "command-palette-results",
|
|
8875
8905
|
className: "max-h-[60vh] overflow-y-auto",
|
|
8876
|
-
children:
|
|
8906
|
+
children: effectiveItems.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
8877
8907
|
"div",
|
|
8878
8908
|
{
|
|
8879
8909
|
"data-slot": "command-palette-empty",
|
|
8880
8910
|
className: "text-muted-foreground p-8 text-center",
|
|
8881
8911
|
children: emptyState ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
8882
8912
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto mb-2 h-8 w-8 opacity-50", children: /* @__PURE__ */ jsxRuntime.jsx(SearchIcon2, {}) }),
|
|
8883
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: query.trim() ? `No results for "${query}"` : "Start typing to search..." })
|
|
8913
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: isLoading && query.trim() ? `Searching for "${query}"\u2026` : query.trim() ? `No results for "${query}"` : "Start typing to search..." })
|
|
8884
8914
|
] })
|
|
8885
8915
|
}
|
|
8886
8916
|
) : Array.from(groupedItems.entries()).map(
|
|
@@ -9013,7 +9043,7 @@ function CommandPalette({
|
|
|
9013
9043
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "close" })
|
|
9014
9044
|
] }),
|
|
9015
9045
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
9016
|
-
|
|
9046
|
+
effectiveItems.length,
|
|
9017
9047
|
" results"
|
|
9018
9048
|
] })
|
|
9019
9049
|
]
|
|
@@ -11190,10 +11220,10 @@ function DashboardWidgetTableInner({
|
|
|
11190
11220
|
"data-slot": "dashboard-widget-table",
|
|
11191
11221
|
className: chunkOR5DRJCW_cjs.cn("-mx-4", className),
|
|
11192
11222
|
...props,
|
|
11193
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11194
|
-
showHeader && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11223
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkTN33E2VN_cjs.Table, { responsive: true, children: [
|
|
11224
|
+
showHeader && /* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkTN33E2VN_cjs.TableRow, { children: [
|
|
11195
11225
|
columns.map((col) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
11196
|
-
|
|
11226
|
+
chunkTN33E2VN_cjs.TableHead,
|
|
11197
11227
|
{
|
|
11198
11228
|
className: chunkOR5DRJCW_cjs.cn(
|
|
11199
11229
|
"px-4 text-xs",
|
|
@@ -11205,10 +11235,10 @@ function DashboardWidgetTableInner({
|
|
|
11205
11235
|
},
|
|
11206
11236
|
col.key
|
|
11207
11237
|
)),
|
|
11208
|
-
actions && actions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11238
|
+
actions && actions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableHead, { className: "w-0 px-4", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Actions" }) })
|
|
11209
11239
|
] }) }),
|
|
11210
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11211
|
-
|
|
11240
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableBody, { children: data.map((row, rowIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11241
|
+
chunkTN33E2VN_cjs.TableRow,
|
|
11212
11242
|
{
|
|
11213
11243
|
className: chunkOR5DRJCW_cjs.cn(
|
|
11214
11244
|
onRowClick && "hover:bg-muted/50 cursor-pointer transition-colors"
|
|
@@ -11216,7 +11246,7 @@ function DashboardWidgetTableInner({
|
|
|
11216
11246
|
onClick: onRowClick ? () => onRowClick(row, rowIndex) : void 0,
|
|
11217
11247
|
children: [
|
|
11218
11248
|
columns.map((col) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
11219
|
-
|
|
11249
|
+
chunkTN33E2VN_cjs.TableCell,
|
|
11220
11250
|
{
|
|
11221
11251
|
className: chunkOR5DRJCW_cjs.cn(
|
|
11222
11252
|
"px-4 py-2 text-sm",
|
|
@@ -11228,7 +11258,7 @@ function DashboardWidgetTableInner({
|
|
|
11228
11258
|
},
|
|
11229
11259
|
col.key
|
|
11230
11260
|
)),
|
|
11231
|
-
actions && actions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11261
|
+
actions && actions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableCell, { className: "w-0 px-2 py-2 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
11232
11262
|
WidgetRowActionMenu,
|
|
11233
11263
|
{
|
|
11234
11264
|
row,
|
|
@@ -11612,6 +11642,7 @@ function DateRangePicker({
|
|
|
11612
11642
|
activePreset,
|
|
11613
11643
|
placeholder = "Pick a date range",
|
|
11614
11644
|
className,
|
|
11645
|
+
align = "auto",
|
|
11615
11646
|
showPresets = true,
|
|
11616
11647
|
variant = "desktop",
|
|
11617
11648
|
labels = {}
|
|
@@ -11634,6 +11665,9 @@ function DateRangePicker({
|
|
|
11634
11665
|
const [hoverDate, setHoverDate] = React48__namespace.useState(null);
|
|
11635
11666
|
const calendarRef = React48__namespace.useRef(null);
|
|
11636
11667
|
const triggerRef = React48__namespace.useRef(null);
|
|
11668
|
+
const [resolvedAlign, setResolvedAlign] = React48__namespace.useState(
|
|
11669
|
+
align === "end" ? "end" : "start"
|
|
11670
|
+
);
|
|
11637
11671
|
const isMobileVariant = variant === "mobile";
|
|
11638
11672
|
const isResponsive = variant === "responsive";
|
|
11639
11673
|
const focusTrapRef = chunkNNEFAUHV_cjs.useFocusTrap(
|
|
@@ -11672,6 +11706,22 @@ function DateRangePicker({
|
|
|
11672
11706
|
};
|
|
11673
11707
|
}
|
|
11674
11708
|
}, [isMobileVariant, isCalendarOpen]);
|
|
11709
|
+
React48__namespace.useLayoutEffect(() => {
|
|
11710
|
+
if (isMobileVariant || !isCalendarOpen) return;
|
|
11711
|
+
if (align === "start" || align === "end") {
|
|
11712
|
+
setResolvedAlign(align);
|
|
11713
|
+
return;
|
|
11714
|
+
}
|
|
11715
|
+
if (typeof window === "undefined") return;
|
|
11716
|
+
const trigger = triggerRef.current;
|
|
11717
|
+
if (!trigger) return;
|
|
11718
|
+
const rect = trigger.getBoundingClientRect();
|
|
11719
|
+
const estimatedPopupWidth = showPresets ? 840 : 640;
|
|
11720
|
+
const margin = 8;
|
|
11721
|
+
const overflowsRight = rect.left + estimatedPopupWidth > window.innerWidth - margin;
|
|
11722
|
+
const fitsLeftAligned = rect.right - estimatedPopupWidth >= margin;
|
|
11723
|
+
setResolvedAlign(overflowsRight && fitsLeftAligned ? "end" : "start");
|
|
11724
|
+
}, [align, isCalendarOpen, isMobileVariant, showPresets]);
|
|
11675
11725
|
const handlePresetSelect = (presetKey) => {
|
|
11676
11726
|
const range = calculateDateRange(presetKey);
|
|
11677
11727
|
setRangeStart(range.start);
|
|
@@ -12011,7 +12061,8 @@ function DateRangePicker({
|
|
|
12011
12061
|
{
|
|
12012
12062
|
ref: calendarRef,
|
|
12013
12063
|
className: chunkOR5DRJCW_cjs.cn(
|
|
12014
|
-
"absolute top-full
|
|
12064
|
+
"absolute top-full z-50 mt-1",
|
|
12065
|
+
resolvedAlign === "end" ? "right-0" : "left-0",
|
|
12015
12066
|
"bg-background border-border rounded-lg border shadow-lg"
|
|
12016
12067
|
),
|
|
12017
12068
|
role: "dialog",
|
|
@@ -17821,22 +17872,22 @@ function FileManager({
|
|
|
17821
17872
|
] })
|
|
17822
17873
|
}
|
|
17823
17874
|
),
|
|
17824
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "file-manager-table", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
17825
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17826
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17827
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17828
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17829
|
-
hasActions && /* @__PURE__ */ jsxRuntime.jsx(
|
|
17875
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "file-manager-table", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkTN33E2VN_cjs.Table, { responsive: true, children: [
|
|
17876
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkTN33E2VN_cjs.TableRow, { children: [
|
|
17877
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableHead, { children: "Filename" }),
|
|
17878
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableHead, { className: "text-center", children: "Extension" }),
|
|
17879
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableHead, { className: "text-center", children: "Size" }),
|
|
17880
|
+
hasActions && /* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableHead, { className: "w-10", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Actions" }) })
|
|
17830
17881
|
] }) }),
|
|
17831
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17832
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17882
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableBody, { children: files.length > 0 ? files.map((file) => /* @__PURE__ */ jsxRuntime.jsxs(chunkTN33E2VN_cjs.TableRow, { "data-slot": "file-manager-row", children: [
|
|
17883
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
17833
17884
|
getFileIcon(file.fileExtension),
|
|
17834
17885
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "max-w-xs truncate text-sm text-gray-900 dark:text-white", children: file.filename })
|
|
17835
17886
|
] }) }),
|
|
17836
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17837
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17887
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableCell, { className: "text-center", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-xs uppercase", children: file.fileExtension.replace(".", "") }) }),
|
|
17888
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableCell, { className: "text-center", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-sm", children: formatFileSize4(file.fileSize) }) }),
|
|
17838
17889
|
hasActions && /* @__PURE__ */ jsxRuntime.jsx(
|
|
17839
|
-
|
|
17890
|
+
chunkTN33E2VN_cjs.TableCell,
|
|
17840
17891
|
{
|
|
17841
17892
|
"data-slot": "file-manager-actions",
|
|
17842
17893
|
className: "text-right",
|
|
@@ -17852,7 +17903,7 @@ function FileManager({
|
|
|
17852
17903
|
)
|
|
17853
17904
|
}
|
|
17854
17905
|
)
|
|
17855
|
-
] }, file.id)) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
17906
|
+
] }, file.id)) : /* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableRow, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableCell, { colSpan: hasActions ? 4 : 3, className: "py-8", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "file-manager-empty", className: "text-center", children: [
|
|
17856
17907
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17857
17908
|
"svg",
|
|
17858
17909
|
{
|
|
@@ -30449,19 +30500,19 @@ function ProviderUsersTable({
|
|
|
30449
30500
|
{
|
|
30450
30501
|
"data-slot": "provider-users-table",
|
|
30451
30502
|
className: `overflow-x-auto ${className}`,
|
|
30452
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
30453
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30454
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30455
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30456
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30457
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30458
|
-
showActions && /* @__PURE__ */ jsxRuntime.jsx(
|
|
30503
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkTN33E2VN_cjs.Table, { children: [
|
|
30504
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkTN33E2VN_cjs.TableRow, { children: [
|
|
30505
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableHead, { children: "User" }),
|
|
30506
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableHead, { children: "Role" }),
|
|
30507
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableHead, { children: "Status" }),
|
|
30508
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableHead, { children: "Last Active" }),
|
|
30509
|
+
showActions && /* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableHead, { className: "w-10", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Actions" }) })
|
|
30459
30510
|
] }) }),
|
|
30460
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30511
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableBody, { children: users.map((user) => {
|
|
30461
30512
|
const isCurrentUser = currentUserId === user.id;
|
|
30462
30513
|
const isPending = user.status === "pending";
|
|
30463
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
30464
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30514
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkTN33E2VN_cjs.TableRow, { children: [
|
|
30515
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
30465
30516
|
/* @__PURE__ */ jsxRuntime.jsx(chunkFQ3UCZUX_cjs.Avatar, { src: user.avatarUrl, name: user.name, size: "sm" }),
|
|
30466
30517
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
30467
30518
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "font-medium text-gray-900 dark:text-white", children: [
|
|
@@ -30471,10 +30522,10 @@ function ProviderUsersTable({
|
|
|
30471
30522
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-sm", children: user.email })
|
|
30472
30523
|
] })
|
|
30473
30524
|
] }) }),
|
|
30474
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30475
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30476
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
30477
|
-
showActions && /* @__PURE__ */ jsxRuntime.jsx(
|
|
30525
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-gray-700 dark:text-gray-300", children: user.role }) }),
|
|
30526
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(chunk4FALCEJI_cjs.Badge, { variant: getStatusVariant(user.status), children: user.status || "active" }) }),
|
|
30527
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-sm", children: isPending ? `Invited ${formatDate4(user.invitedAt)}` : formatDate4(user.lastActive) }) }),
|
|
30528
|
+
showActions && /* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableCell, { className: "text-right", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
30478
30529
|
RowActionsMenu,
|
|
30479
30530
|
{
|
|
30480
30531
|
user,
|
|
@@ -38954,18 +39005,18 @@ function WebChartReportViewer({
|
|
|
38954
39005
|
) : Array.isArray(reportResult.data) && reportResult.data.length > 0 ? (() => {
|
|
38955
39006
|
const rows = reportResult.data;
|
|
38956
39007
|
const columns = Object.keys(rows[0]);
|
|
38957
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
38958
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
38959
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39008
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkTN33E2VN_cjs.Table, { children: [
|
|
39009
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableRow, { children: columns.map((key) => /* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableHead, { children: key }, key)) }) }),
|
|
39010
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableBody, { children: rows.map((row) => {
|
|
38960
39011
|
const rowKey = columns.map((key) => String(row[key])).join("|") || JSON.stringify(row);
|
|
38961
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
39012
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableRow, { children: columns.map((key) => /* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableCell, { children: columnRenderers?.[key] ? columnRenderers[key](row[key], row) : row[key] == null ? "" : String(row[key]) }, key)) }, rowKey);
|
|
38962
39013
|
}) })
|
|
38963
39014
|
] });
|
|
38964
|
-
})() : /* @__PURE__ */ jsxRuntime.jsx(
|
|
39015
|
+
})() : /* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.Table, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableBody, { children: Object.entries(
|
|
38965
39016
|
reportResult.data
|
|
38966
|
-
).map(([key, val]) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
38967
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
38968
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39017
|
+
).map(([key, val]) => /* @__PURE__ */ jsxRuntime.jsxs(chunkTN33E2VN_cjs.TableRow, { children: [
|
|
39018
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableCell, { className: "text-muted-foreground font-medium", children: key }),
|
|
39019
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTN33E2VN_cjs.TableCell, { children: val == null ? "" : String(val) })
|
|
38969
39020
|
] }, key)) }) }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
38970
39021
|
"div",
|
|
38971
39022
|
{
|
|
@@ -39420,35 +39471,35 @@ Object.defineProperty(exports, "switchTrackVariants", {
|
|
|
39420
39471
|
});
|
|
39421
39472
|
Object.defineProperty(exports, "Table", {
|
|
39422
39473
|
enumerable: true,
|
|
39423
|
-
get: function () { return
|
|
39474
|
+
get: function () { return chunkTN33E2VN_cjs.Table; }
|
|
39424
39475
|
});
|
|
39425
39476
|
Object.defineProperty(exports, "TableBody", {
|
|
39426
39477
|
enumerable: true,
|
|
39427
|
-
get: function () { return
|
|
39478
|
+
get: function () { return chunkTN33E2VN_cjs.TableBody; }
|
|
39428
39479
|
});
|
|
39429
39480
|
Object.defineProperty(exports, "TableCaption", {
|
|
39430
39481
|
enumerable: true,
|
|
39431
|
-
get: function () { return
|
|
39482
|
+
get: function () { return chunkTN33E2VN_cjs.TableCaption; }
|
|
39432
39483
|
});
|
|
39433
39484
|
Object.defineProperty(exports, "TableCell", {
|
|
39434
39485
|
enumerable: true,
|
|
39435
|
-
get: function () { return
|
|
39486
|
+
get: function () { return chunkTN33E2VN_cjs.TableCell; }
|
|
39436
39487
|
});
|
|
39437
39488
|
Object.defineProperty(exports, "TableFooter", {
|
|
39438
39489
|
enumerable: true,
|
|
39439
|
-
get: function () { return
|
|
39490
|
+
get: function () { return chunkTN33E2VN_cjs.TableFooter; }
|
|
39440
39491
|
});
|
|
39441
39492
|
Object.defineProperty(exports, "TableHead", {
|
|
39442
39493
|
enumerable: true,
|
|
39443
|
-
get: function () { return
|
|
39494
|
+
get: function () { return chunkTN33E2VN_cjs.TableHead; }
|
|
39444
39495
|
});
|
|
39445
39496
|
Object.defineProperty(exports, "TableHeader", {
|
|
39446
39497
|
enumerable: true,
|
|
39447
|
-
get: function () { return
|
|
39498
|
+
get: function () { return chunkTN33E2VN_cjs.TableHeader; }
|
|
39448
39499
|
});
|
|
39449
39500
|
Object.defineProperty(exports, "TableRow", {
|
|
39450
39501
|
enumerable: true,
|
|
39451
|
-
get: function () { return
|
|
39502
|
+
get: function () { return chunkTN33E2VN_cjs.TableRow; }
|
|
39452
39503
|
});
|
|
39453
39504
|
Object.defineProperty(exports, "Tabs", {
|
|
39454
39505
|
enumerable: true,
|