@osdk/react-components 0.2.0-beta.1 → 0.2.0-beta.2
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/CHANGELOG.md +14 -0
- package/README.md +21 -5
- package/build/browser/base-components/checkbox/Checkbox.js +27 -32
- package/build/browser/base-components/checkbox/Checkbox.module.css +79 -0
- package/build/browser/base-components/checkbox/Checkbox.module.css.js +7 -0
- package/build/browser/object-table/CellContextMenu.js +23 -20
- package/build/browser/object-table/CellContextMenu.module.css +20 -0
- package/build/browser/object-table/CellContextMenu.module.css.js +6 -0
- package/build/browser/object-table/LoadingCell.js +24 -29
- package/build/browser/object-table/LoadingCell.module.css +48 -0
- package/build/browser/object-table/LoadingCell.module.css.js +8 -0
- package/build/browser/object-table/LoadingRow.js +24 -50
- package/build/browser/object-table/LoadingStateTable.js +46 -340
- package/build/browser/object-table/NonIdealState.js +23 -20
- package/build/browser/object-table/NonIdealState.module.css +28 -0
- package/build/browser/object-table/NonIdealState.module.css.js +7 -0
- package/build/browser/object-table/Table.js +51 -933
- package/build/browser/object-table/Table.js.map +1 -1
- package/build/browser/object-table/Table.module.css +22 -0
- package/build/browser/object-table/Table.module.css.js +6 -0
- package/build/browser/object-table/TableBody.js +36 -260
- package/build/browser/object-table/TableBody.module.css +20 -0
- package/build/browser/object-table/TableBody.module.css.js +6 -0
- package/build/browser/object-table/TableCell.js +31 -111
- package/build/browser/object-table/TableCell.module.css +62 -0
- package/build/browser/object-table/TableCell.module.css.js +7 -0
- package/build/browser/object-table/TableHeader.js +38 -215
- package/build/browser/object-table/TableHeader.module.css +101 -0
- package/build/browser/object-table/TableHeader.module.css.js +10 -0
- package/build/browser/object-table/TableHeaderContent.js +21 -18
- package/build/browser/object-table/TableHeaderContent.module.css +30 -0
- package/build/browser/object-table/TableHeaderContent.module.css.js +6 -0
- package/build/browser/object-table/TableHeaderWithPopover.js +66 -80
- package/build/browser/object-table/TableHeaderWithPopover.module.css +110 -0
- package/build/browser/object-table/TableHeaderWithPopover.module.css.js +15 -0
- package/build/browser/object-table/TableRow.js +26 -144
- package/build/browser/object-table/TableRow.module.css +60 -0
- package/build/browser/object-table/TableRow.module.css.js +6 -0
- package/build/browser/styles.css +615 -0
- package/build/cjs/public/experimental.cjs +5 -5
- package/build/cjs/public/experimental.cjs.map +1 -1
- package/build/esm/object-table/Table.js +5 -5
- package/build/esm/object-table/Table.js.map +1 -1
- package/package.json +9 -6
|
@@ -1,909 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
4
16
|
|
|
5
|
-
// build/browser/object-table/LoadingStateTable.js
|
|
6
|
-
import classNames3 from "classnames";
|
|
7
|
-
import React6, { useEffect, useRef, useState as useState2 } from "react";
|
|
8
|
-
import React2 from "react";
|
|
9
17
|
import classNames from "classnames";
|
|
10
|
-
import React from "react";
|
|
11
|
-
import
|
|
12
|
-
import {
|
|
13
|
-
import
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
import React4, { useCallback, useState } from "react";
|
|
18
|
-
var css = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkLoadingCell {\n height: var(--osdk-table-cell-fontSize);\n border-radius: calc(var(--osdk-surface-border-radius) * 0.5);\n flex: 1;\n}\n\n/* Blueprint skeleton animation keyframes */\n@keyframes skeleton-glow {\n from {\n background: var(--osdk-table-skeleton-color-from);\n border-color: var(--osdk-table-skeleton-color-from);\n }\n\n to {\n background: var(--osdk-table-skeleton-color-to);\n border-color: var(--osdk-table-skeleton-color-to);\n }\n}\n\n.osdkCellSkeleton {\n animation: 1000ms linear infinite alternate skeleton-glow;\n background: var(--osdk-table-skeleton-color-from);\n background-clip: padding-box;\n border-color: var(--osdk-table-skeleton-color-from);\n border-radius: calc(var(--osdk-surface-border-radius) * 0.5);\n border: 1px solid var(--osdk-table-skeleton-border-color);\n box-shadow: none;\n color: transparent;\n cursor: default;\n pointer-events: none;\n user-select: none;\n}\n';
|
|
19
|
-
if (typeof document !== "undefined") {
|
|
20
|
-
const style = document.createElement("style");
|
|
21
|
-
style.textContent = css;
|
|
22
|
-
document.head.appendChild(style);
|
|
23
|
-
}
|
|
24
|
-
var LoadingCell_default = { "osdkLoadingCell": "osdkLoadingCell", "osdkCellSkeleton": "osdkCellSkeleton" };
|
|
25
|
-
var css2 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkLoadingCell {\n height: var(--osdk-table-cell-fontSize);\n border-radius: calc(var(--osdk-surface-border-radius) * 0.5);\n flex: 1;\n}\n\n/* Blueprint skeleton animation keyframes */\n@keyframes skeleton-glow {\n from {\n background: var(--osdk-table-skeleton-color-from);\n border-color: var(--osdk-table-skeleton-color-from);\n }\n\n to {\n background: var(--osdk-table-skeleton-color-to);\n border-color: var(--osdk-table-skeleton-color-to);\n }\n}\n\n.osdkCellSkeleton {\n animation: 1000ms linear infinite alternate skeleton-glow;\n background: var(--osdk-table-skeleton-color-from);\n background-clip: padding-box;\n border-color: var(--osdk-table-skeleton-color-from);\n border-radius: calc(var(--osdk-surface-border-radius) * 0.5);\n border: 1px solid var(--osdk-table-skeleton-border-color);\n box-shadow: none;\n color: transparent;\n cursor: default;\n pointer-events: none;\n user-select: none;\n}\n';
|
|
26
|
-
if (typeof document !== "undefined") {
|
|
27
|
-
const style = document.createElement("style");
|
|
28
|
-
style.textContent = css2;
|
|
29
|
-
document.head.appendChild(style);
|
|
30
|
-
}
|
|
31
|
-
var LoadingCell_default2 = { "osdkLoadingCell": "osdkLoadingCell", "osdkCellSkeleton": "osdkCellSkeleton" };
|
|
32
|
-
var css22 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkTableCell {\n display: flex;\n align-items: center;\n text-align: left;\n position: relative;\n padding: var(--osdk-table-cell-padding);\n font-size: var(--osdk-table-cell-fontSize);\n color: var(--osdk-table-cell-color);\n background-color: inherit;\n border-right: var(--osdk-table-cell-divider);\n\n &:first-child {\n border-left: var(--osdk-table-border);\n }\n\n &:last-child {\n border-right: var(--osdk-table-border);\n }\n}\n\n.osdkTableCell[data-pinned="left"],\n.osdkTableCell[data-pinned="right"] {\n position: sticky;\n z-index: var(--osdk-surface-z-index-1);\n}\n\n/* Last left-pinned column - no left-pinned siblings after it */\n.osdkTableCell[data-pinned="left"]:not(:has(~ [data-pinned="left"])) {\n border-right: var(--osdk-table-pinned-column-border);\n}\n\n/* First right-pinned column - no right-pinned siblings before it */\n.osdkTableCell[data-pinned="right"]:not(:has(~ [data-pinned="right"]):nth-child(n+2)) {\n border-left: var(--osdk-table-pinned-column-border);\n}\n\n.osdkTableCell:has([role="checkbox"]) {\n justify-content: center;\n}\n\n.osdkTableCellContent:not(:has([role="checkbox"])) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: left;\n}\n';
|
|
33
|
-
if (typeof document !== "undefined") {
|
|
34
|
-
const style = document.createElement("style");
|
|
35
|
-
style.textContent = css22;
|
|
36
|
-
document.head.appendChild(style);
|
|
37
|
-
}
|
|
38
|
-
var TableCell_default = { "osdkTableCell": "osdkTableCell", "osdkTableCellContent": "osdkTableCellContent" };
|
|
39
|
-
function LoadingCell({
|
|
40
|
-
width
|
|
41
|
-
}) {
|
|
42
|
-
return /* @__PURE__ */ React.createElement("td", {
|
|
43
|
-
className: TableCell_default.osdkTableCell,
|
|
44
|
-
style: {
|
|
45
|
-
width
|
|
46
|
-
}
|
|
47
|
-
}, /* @__PURE__ */ React.createElement("div", {
|
|
48
|
-
className: classNames(LoadingCell_default2.osdkLoadingCell, LoadingCell_default2.osdkCellSkeleton)
|
|
49
|
-
}));
|
|
50
|
-
}
|
|
51
|
-
var css3 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkTableRow {\n position: absolute;\n display: flex;\n background-color: var(--osdk-table-row-bg-default);\n border-top: var(--osdk-table-row-divider);\n border-bottom: var(--osdk-table-border-width) solid transparent;\n\n &:last-child {\n border-bottom: var(--osdk-table-border);\n }\n\n /* Zebra rows */\n &:nth-child(even) {\n background-color: var(\n --osdk-table-row-bg-alternate,\n var(--osdk-table-row-bg-default)\n );\n }\n\n &:hover {\n z-index: 1;\n background-color: var(\n --osdk-table-row-bg-hover,\n var(--osdk-surface-background-color-default-hover)\n );\n border-top-color: var(--osdk-table-row-border-color-hover);\n border-bottom-color: var(--osdk-table-row-border-color-hover);\n }\n\n &[data-selected="true"] {\n z-index: 2;\n background-color: var(--osdk-table-row-bg-active);\n border-top-color: var(--osdk-table-row-border-color-active);\n border-bottom-color: var(--osdk-table-row-border-color-active);\n }\n\n &[data-selected="true"] + &[data-selected="true"] {\n border-top-color: transparent;\n }\n\n &[data-selected="true"]:has(+ &[data-selected="true"]) {\n border-bottom-color: transparent;\n }\n}\n';
|
|
52
|
-
if (typeof document !== "undefined") {
|
|
53
|
-
const style = document.createElement("style");
|
|
54
|
-
style.textContent = css3;
|
|
55
|
-
document.head.appendChild(style);
|
|
56
|
-
}
|
|
57
|
-
var TableRow_default = { "osdkTableRow": "osdkTableRow" };
|
|
58
|
-
function LoadingRow({
|
|
59
|
-
headers,
|
|
60
|
-
columnCount,
|
|
61
|
-
translateY,
|
|
62
|
-
rowHeight = 40,
|
|
63
|
-
columnWidth = 80
|
|
64
|
-
}) {
|
|
65
|
-
return /* @__PURE__ */ React2.createElement("tr", {
|
|
66
|
-
className: TableRow_default.osdkTableRow,
|
|
67
|
-
style: {
|
|
68
|
-
height: `${rowHeight}px`,
|
|
69
|
-
transform: `translateY(${translateY}px)`
|
|
70
|
-
}
|
|
71
|
-
}, /* @__PURE__ */ React2.createElement(React2.Fragment, null, Array.from({
|
|
72
|
-
length: columnCount
|
|
73
|
-
}).map((_, index) => {
|
|
74
|
-
const width = headers.length > index ? headers[index].getSize() : columnWidth;
|
|
75
|
-
return /* @__PURE__ */ React2.createElement(LoadingCell, {
|
|
76
|
-
key: `loading-cell-${index}`,
|
|
77
|
-
width
|
|
78
|
-
});
|
|
79
|
-
})));
|
|
80
|
-
}
|
|
81
|
-
var css4 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkTableBody {\n display: grid;\n position: relative;\n}\n';
|
|
82
|
-
if (typeof document !== "undefined") {
|
|
83
|
-
const style = document.createElement("style");
|
|
84
|
-
style.textContent = css4;
|
|
85
|
-
document.head.appendChild(style);
|
|
86
|
-
}
|
|
87
|
-
var TableBody_default = { "osdkTableBody": "osdkTableBody" };
|
|
88
|
-
var css5 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkTableHeader {\n display: grid;\n position: sticky;\n top: 0;\n z-index: var(--osdk-surface-z-index-1);\n background-color: var(--osdk-table-header-bg);\n}\n\n.osdkTableHeader[data-resizing="true"] {\n cursor: col-resize;\n user-select: none;\n}\n\n.osdkTableHeaderRow {\n display: flex;\n}\n\n.osdkTableHeaderCell {\n display: flex;\n align-items: center;\n text-align: left;\n position: relative;\n padding: var(--osdk-table-cell-padding);\n font-weight: var(--osdk-table-header-fontWeight);\n font-size: var(--osdk-table-header-fontSize);\n color: var(--osdk-table-header-color);\n border-top: var(--osdk-table-border);\n border-right: var(--osdk-table-header-divider);\n background-color: inherit;\n\n &:first-child {\n border-left: var(--osdk-table-border);\n }\n\n &:last-child {\n border-right: var(--osdk-table-border);\n }\n}\n\n.osdkTableHeaderCell[data-pinned="left"],\n.osdkTableHeaderCell[data-pinned="right"] {\n position: sticky;\n z-index: var(--osdk-surface-z-index-2);\n}\n\n/* Last left-pinned column - no left-pinned siblings after it */\n.osdkTableHeaderCell[data-pinned="left"]:not(:has(~ [data-pinned="left"])) {\n border-right: var(--osdk-table-pinned-column-border);\n}\n\n/* First right-pinned column - no right-pinned siblings before it */\n.osdkTableHeaderCell[data-pinned="right"]:not(\n :has(~ [data-pinned="right"]):nth-child(n + 2)\n ) {\n border-left: var(--osdk-table-pinned-column-border);\n}\n\n.osdkTableHeaderCell:has([role="checkbox"]) {\n justify-content: center;\n}\n\n.osdkTableHeaderResizer {\n background: none;\n cursor: col-resize;\n height: 100%;\n position: absolute;\n right: calc(-1 * var(--osdk-table-border-width));\n top: 0;\n touch-action: none;\n width: 3px;\n z-index: var(--osdk-surface-z-index-2);\n\n &:hover {\n background: var(--osdk-intent-primary-hover);\n }\n\n &:active {\n background: var(--osdk-intent-primary-active);\n }\n}\n\n.osdkLoadingHeaderCell {\n height: var(--osdk-table-header-fontSize);\n flex: 1;\n}\n';
|
|
89
|
-
if (typeof document !== "undefined") {
|
|
90
|
-
const style = document.createElement("style");
|
|
91
|
-
style.textContent = css5;
|
|
92
|
-
document.head.appendChild(style);
|
|
93
|
-
}
|
|
94
|
-
var TableHeader_default = { "osdkTableHeader": "osdkTableHeader", "osdkTableHeaderRow": "osdkTableHeaderRow", "osdkTableHeaderCell": "osdkTableHeaderCell", "osdkTableHeaderResizer": "osdkTableHeaderResizer", "osdkLoadingHeaderCell": "osdkLoadingHeaderCell" };
|
|
95
|
-
var css6 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkHeaderContent {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.osdkHeaderContent:has([role="checkbox"]) {\n display: flex;\n justify-content: center;\n}\n';
|
|
96
|
-
if (typeof document !== "undefined") {
|
|
97
|
-
const style = document.createElement("style");
|
|
98
|
-
style.textContent = css6;
|
|
99
|
-
document.head.appendChild(style);
|
|
100
|
-
}
|
|
101
|
-
var TableHeaderContent_default = { "osdkHeaderContent": "osdkHeaderContent" };
|
|
102
|
-
function TableHeaderContent({
|
|
103
|
-
header
|
|
104
|
-
}) {
|
|
105
|
-
return /* @__PURE__ */ React3.createElement("div", {
|
|
106
|
-
className: TableHeaderContent_default.osdkHeaderContent
|
|
107
|
-
}, flexRender(header.column.columnDef.header, header.getContext()));
|
|
108
|
-
}
|
|
109
|
-
var css7 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkCenterContainer {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.osdkContentGap {\n display: flex;\n gap: var(--osdk-surface-spacing);\n}\n\n.osdkHeaderContainer {\n justify-content: space-between;\n flex: 1;\n min-width: 0;\n align-self: stretch;\n}\n\n.osdkHeaderContentLeft {\n min-width: 0;\n flex-shrink: 1;\n}\n\n.osdkHeaderContentRight {\n flex-shrink: 0;\n}\n\n.osdkHeaderPopoverTrigger {\n padding: 0;\n flex-shrink: 0;\n flex-grow: 0;\n border: var(--osdk-surface-border-width) solid\n var(--osdk-surface-border-color-default);\n border-radius: var(--osdk-surface-border-radius);\n color: var(--osdk-intent-default-foreground);\n user-select: none;\n outline: none;\n\n &:hover {\n background-color: var(--osdk-intent-default-hover);\n }\n\n &[data-popup-open] {\n background-color: var(--osdk-intent-primary-rest);\n }\n\n &:focus-visible {\n outline: var(--osdk-focus-visible-outline);\n outline-offset: var(--osdk-focus-visible-outline-offset);\n }\n}\n\n.osdkHeaderIcon {\n width: var(--osdk-iconography-size-small);\n height: var(--osdk-iconography-size-small);\n}\n\n.osdkHeaderPopup {\n box-sizing: border-box;\n padding: var(--osdk-surface-spacing);\n border-radius: var(--osdk-surface-border-radius);\n border: var(--osdk-surface-border-width) solid\n var(--osdk-surface-border-color-default);\n background-color: var(--osdk-surface-background-color-default);\n color: var(--osdk-typography-color-default-rest);\n box-shadow: var(--osdk-surface-shadow-2);\n font-size: var(--osdk-typography-size-body-medium);\n outline: none;\n}\n\n.osdkHeaderMenuItem {\n justify-content: flex-start;\n padding: var(--osdk-surface-spacing);\n cursor: pointer;\n}\n\n.osdkHeaderMenuItem:hover {\n outline: none;\n background-color: var(--osdk-surface-background-color-default-hover);\n border-radius: var(--osdk-surface-border-radius);\n}\n\n.osdkHeaderActiveMenuItem {\n background-color: var(--osdk-intent-primary-rest);\n color: var(--osdk-intent-primary-foreground);\n}\n\n.osdkHeaderActiveMenuItem:hover {\n background-color: var(--osdk-intent-primary-hover);\n}\n\n.osdkHeaderActiveMenuItem:active {\n background-color: var(--osdk-intent-primary-active);\n}\n';
|
|
110
|
-
if (typeof document !== "undefined") {
|
|
111
|
-
const style = document.createElement("style");
|
|
112
|
-
style.textContent = css7;
|
|
113
|
-
document.head.appendChild(style);
|
|
114
|
-
}
|
|
115
|
-
var TableHeaderWithPopover_default = { "osdkCenterContainer": "osdkCenterContainer", "osdkContentGap": "osdkContentGap", "osdkHeaderContainer": "osdkHeaderContainer", "osdkHeaderContentLeft": "osdkHeaderContentLeft", "osdkHeaderContentRight": "osdkHeaderContentRight", "osdkHeaderPopoverTrigger": "osdkHeaderPopoverTrigger", "osdkHeaderIcon": "osdkHeaderIcon", "osdkHeaderPopup": "osdkHeaderPopup", "osdkHeaderMenuItem": "osdkHeaderMenuItem", "osdkHeaderActiveMenuItem": "osdkHeaderActiveMenuItem" };
|
|
116
|
-
function HeaderMenuItem({
|
|
117
|
-
onClick,
|
|
118
|
-
icon: Icon,
|
|
119
|
-
label,
|
|
120
|
-
active = false
|
|
121
|
-
}) {
|
|
122
|
-
return /* @__PURE__ */ React4.createElement(Menu.Item, {
|
|
123
|
-
closeOnClick: true,
|
|
124
|
-
className: classNames2(TableHeaderWithPopover_default.osdkCenterContainer, TableHeaderWithPopover_default.osdkContentGap, TableHeaderWithPopover_default.osdkHeaderMenuItem, active && TableHeaderWithPopover_default.osdkHeaderActiveMenuItem),
|
|
125
|
-
onClick
|
|
126
|
-
}, /* @__PURE__ */ React4.createElement(Icon, {
|
|
127
|
-
className: TableHeaderWithPopover_default.osdkHeaderIcon,
|
|
128
|
-
color: "currentColor"
|
|
129
|
-
}), /* @__PURE__ */ React4.createElement("span", null, label));
|
|
130
|
-
}
|
|
131
|
-
function TableHeaderWithPopover({
|
|
132
|
-
header,
|
|
133
|
-
isColumnPinned,
|
|
134
|
-
setColumnPinning,
|
|
135
|
-
onSortChange,
|
|
136
|
-
onResetSize
|
|
137
|
-
}) {
|
|
138
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
139
|
-
const handlePinLeft = useCallback(() => {
|
|
140
|
-
setColumnPinning((prev) => {
|
|
141
|
-
return {
|
|
142
|
-
left: [...prev.left || [], header.column.id],
|
|
143
|
-
right: prev.right?.filter((id) => id !== header.column.id) || []
|
|
144
|
-
};
|
|
145
|
-
});
|
|
146
|
-
}, [header.column.id, setColumnPinning]);
|
|
147
|
-
const handleUnpin = useCallback(() => {
|
|
148
|
-
setColumnPinning((prev) => {
|
|
149
|
-
return {
|
|
150
|
-
left: prev.left?.filter((id) => id !== header.column.id) || [],
|
|
151
|
-
right: prev.right?.filter((id) => id !== header.column.id) || []
|
|
152
|
-
};
|
|
153
|
-
});
|
|
154
|
-
}, [header.column.id, setColumnPinning]);
|
|
155
|
-
const handleSortAscending = useCallback(() => {
|
|
156
|
-
header.column.toggleSorting(false);
|
|
157
|
-
onSortChange?.([{
|
|
158
|
-
id: header.column.id,
|
|
159
|
-
desc: false
|
|
160
|
-
}]);
|
|
161
|
-
}, [header.column, onSortChange]);
|
|
162
|
-
const handleSortDescending = useCallback(() => {
|
|
163
|
-
header.column.toggleSorting(true);
|
|
164
|
-
onSortChange?.([{
|
|
165
|
-
id: header.column.id,
|
|
166
|
-
desc: true
|
|
167
|
-
}]);
|
|
168
|
-
}, [header.column, onSortChange]);
|
|
169
|
-
const handleClearAllSorts = useCallback(() => {
|
|
170
|
-
header.column.clearSorting();
|
|
171
|
-
onSortChange?.([]);
|
|
172
|
-
}, [header.column, onSortChange]);
|
|
173
|
-
const handleResetSize = useCallback(() => {
|
|
174
|
-
header.column.resetSize();
|
|
175
|
-
if (onResetSize) {
|
|
176
|
-
onResetSize();
|
|
177
|
-
}
|
|
178
|
-
}, [header.column, onResetSize]);
|
|
179
|
-
const handleInteraction = useCallback((e) => {
|
|
180
|
-
e.preventDefault();
|
|
181
|
-
setIsOpen((prev) => !prev);
|
|
182
|
-
}, []);
|
|
183
|
-
const isSorted = header.column.getIsSorted();
|
|
184
|
-
const isSortable = header.column.getCanSort();
|
|
185
|
-
return /* @__PURE__ */ React4.createElement(Menu.Root, {
|
|
186
|
-
open: isOpen,
|
|
187
|
-
onOpenChange: setIsOpen
|
|
188
|
-
}, /* @__PURE__ */ React4.createElement("div", {
|
|
189
|
-
className: classNames2(TableHeaderWithPopover_default.osdkCenterContainer, TableHeaderWithPopover_default.osdkContentGap, TableHeaderWithPopover_default.osdkHeaderContainer),
|
|
190
|
-
onContextMenu: handleInteraction
|
|
191
|
-
}, /* @__PURE__ */ React4.createElement("div", {
|
|
192
|
-
className: classNames2(TableHeaderWithPopover_default.osdkCenterContainer, TableHeaderWithPopover_default.osdkContentGap, TableHeaderWithPopover_default.osdkHeaderContentLeft)
|
|
193
|
-
}, isColumnPinned && /* @__PURE__ */ React4.createElement(Pin, {
|
|
194
|
-
className: TableHeaderWithPopover_default.osdkHeaderIcon,
|
|
195
|
-
color: "currentColor"
|
|
196
|
-
}), /* @__PURE__ */ React4.createElement(TableHeaderContent, {
|
|
197
|
-
header
|
|
198
|
-
})), /* @__PURE__ */ React4.createElement("div", {
|
|
199
|
-
className: classNames2(TableHeaderWithPopover_default.osdkCenterContainer, TableHeaderWithPopover_default.osdkContentGap, TableHeaderWithPopover_default.osdkHeaderContentRight)
|
|
200
|
-
}, isSorted && /* @__PURE__ */ React4.createElement("div", {
|
|
201
|
-
className: TableHeaderWithPopover_default.osdkCenterContainer
|
|
202
|
-
}, isSorted === "asc" ? /* @__PURE__ */ React4.createElement(SortAlphabetical, {
|
|
203
|
-
className: TableHeaderWithPopover_default.osdkHeaderIcon,
|
|
204
|
-
color: "currentColor"
|
|
205
|
-
}) : /* @__PURE__ */ React4.createElement(SortAlphabeticalDesc, {
|
|
206
|
-
className: TableHeaderWithPopover_default.osdkHeaderIcon,
|
|
207
|
-
color: "currentColor"
|
|
208
|
-
})), /* @__PURE__ */ React4.createElement(Menu.Trigger, {
|
|
209
|
-
"aria-label": `Open header menu for column with id=${header.column.id}`,
|
|
210
|
-
className: classNames2(TableHeaderWithPopover_default.osdkCenterContainer, TableHeaderWithPopover_default.osdkHeaderPopoverTrigger)
|
|
211
|
-
}, /* @__PURE__ */ React4.createElement(ChevronDown, {
|
|
212
|
-
className: TableHeaderWithPopover_default.osdkHeaderIcon
|
|
213
|
-
}))), /* @__PURE__ */ React4.createElement(Menu.Portal, {
|
|
214
|
-
container: document.body
|
|
215
|
-
}, /* @__PURE__ */ React4.createElement(Menu.Positioner, {
|
|
216
|
-
sideOffset: 4
|
|
217
|
-
}, /* @__PURE__ */ React4.createElement(Menu.Popup, {
|
|
218
|
-
className: TableHeaderWithPopover_default.osdkHeaderPopup
|
|
219
|
-
}, !isColumnPinned && /* @__PURE__ */ React4.createElement(HeaderMenuItem, {
|
|
220
|
-
onClick: handlePinLeft,
|
|
221
|
-
icon: Pin,
|
|
222
|
-
label: "Pin column"
|
|
223
|
-
}), isColumnPinned && /* @__PURE__ */ React4.createElement(HeaderMenuItem, {
|
|
224
|
-
onClick: handleUnpin,
|
|
225
|
-
icon: Unpin,
|
|
226
|
-
label: "Unpin Column",
|
|
227
|
-
active: true
|
|
228
|
-
}), isSortable && /* @__PURE__ */ React4.createElement(React4.Fragment, null, /* @__PURE__ */ React4.createElement(HeaderMenuItem, {
|
|
229
|
-
onClick: handleSortAscending,
|
|
230
|
-
icon: SortAlphabetical,
|
|
231
|
-
label: "Sort ascending",
|
|
232
|
-
active: isSorted === "asc"
|
|
233
|
-
}), /* @__PURE__ */ React4.createElement(HeaderMenuItem, {
|
|
234
|
-
onClick: handleSortDescending,
|
|
235
|
-
icon: SortAlphabeticalDesc,
|
|
236
|
-
label: "Sort descending",
|
|
237
|
-
active: isSorted === "desc"
|
|
238
|
-
})), !!isSorted && /* @__PURE__ */ React4.createElement(HeaderMenuItem, {
|
|
239
|
-
onClick: handleClearAllSorts,
|
|
240
|
-
icon: Remove,
|
|
241
|
-
label: "Clear all sorts"
|
|
242
|
-
}), /* @__PURE__ */ React4.createElement(HeaderMenuItem, {
|
|
243
|
-
onClick: handleResetSize,
|
|
244
|
-
icon: VerticalDistribution,
|
|
245
|
-
label: "Reset Column Size"
|
|
246
|
-
}))))));
|
|
247
|
-
}
|
|
248
|
-
var SELECTION_COLUMN_ID = "__selection__";
|
|
249
|
-
function getColumnPinningStyles(column) {
|
|
250
|
-
const isPinned = column.getIsPinned();
|
|
251
|
-
return {
|
|
252
|
-
columnStyles: {
|
|
253
|
-
left: isPinned === "left" ? `${column.getStart("left")}px` : void 0,
|
|
254
|
-
right: isPinned === "right" ? `${column.getAfter("right")}px` : void 0,
|
|
255
|
-
width: column.getSize()
|
|
256
|
-
}
|
|
257
|
-
};
|
|
258
|
-
}
|
|
259
|
-
function TableHeader({
|
|
260
|
-
table
|
|
261
|
-
}) {
|
|
262
|
-
const isResizing = !!table.getState().columnSizingInfo?.isResizingColumn;
|
|
263
|
-
return /* @__PURE__ */ React5.createElement("thead", {
|
|
264
|
-
className: TableHeader_default.osdkTableHeader,
|
|
265
|
-
"data-resizing": isResizing
|
|
266
|
-
}, table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ React5.createElement("tr", {
|
|
267
|
-
key: headerGroup.id,
|
|
268
|
-
className: TableHeader_default.osdkTableHeaderRow
|
|
269
|
-
}, headerGroup.headers.map((header) => {
|
|
270
|
-
const {
|
|
271
|
-
columnStyles
|
|
272
|
-
} = getColumnPinningStyles(header.column);
|
|
273
|
-
const isColumnPinned = header.column.getIsPinned();
|
|
274
|
-
const isSelectColumn = header.id === SELECTION_COLUMN_ID;
|
|
275
|
-
return /* @__PURE__ */ React5.createElement("th", {
|
|
276
|
-
key: header.id,
|
|
277
|
-
"data-pinned": header.column.getIsPinned(),
|
|
278
|
-
className: TableHeader_default.osdkTableHeaderCell,
|
|
279
|
-
style: columnStyles
|
|
280
|
-
}, header.isPlaceholder ? null : isSelectColumn ? /* @__PURE__ */ React5.createElement(TableHeaderContent, {
|
|
281
|
-
header
|
|
282
|
-
}) : /* @__PURE__ */ React5.createElement(TableHeaderWithPopover, {
|
|
283
|
-
header,
|
|
284
|
-
isColumnPinned,
|
|
285
|
-
setColumnPinning: table.setColumnPinning
|
|
286
|
-
}), header.column.getCanResize() && /* @__PURE__ */ React5.createElement("div", {
|
|
287
|
-
className: TableHeader_default.osdkTableHeaderResizer,
|
|
288
|
-
onDoubleClick: () => header.column.resetSize(),
|
|
289
|
-
onMouseDown: header.getResizeHandler(),
|
|
290
|
-
onTouchStart: header.getResizeHandler()
|
|
291
|
-
}));
|
|
292
|
-
}))));
|
|
293
|
-
}
|
|
294
|
-
var MIN_ROWS = 5;
|
|
295
|
-
function LoadingStateTable({
|
|
296
|
-
table,
|
|
297
|
-
tableContainerRef,
|
|
298
|
-
headerGroups,
|
|
299
|
-
rowHeight = 40,
|
|
300
|
-
columnWidth = 120
|
|
301
|
-
}) {
|
|
302
|
-
const isSelectionEnabled = table.options.enableRowSelection;
|
|
303
|
-
const minHeaderCount = isSelectionEnabled ? 1 : 0;
|
|
304
|
-
const headers = headerGroups[0]?.headers ?? [];
|
|
305
|
-
const hasHeadersLoaded = headers.length > minHeaderCount;
|
|
306
|
-
const headerRef = useRef(null);
|
|
307
|
-
const bodyRef = useRef(null);
|
|
308
|
-
const [loadingRowCount, setLoadingRowCount] = useState2(MIN_ROWS);
|
|
309
|
-
const [loadingColumnCount, setLoadingColumnCount] = useState2(headers.length);
|
|
310
|
-
useEffect(() => {
|
|
311
|
-
if (hasHeadersLoaded) {
|
|
312
|
-
setLoadingColumnCount(headers.length);
|
|
313
|
-
} else {
|
|
314
|
-
if (tableContainerRef.current) {
|
|
315
|
-
const tableWidth = tableContainerRef.current.clientWidth;
|
|
316
|
-
if (tableWidth > 0) {
|
|
317
|
-
const columnsNeeded = Math.ceil(tableWidth / columnWidth);
|
|
318
|
-
setLoadingColumnCount(columnsNeeded);
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
}, [columnWidth, hasHeadersLoaded, headers, tableContainerRef]);
|
|
323
|
-
useEffect(() => {
|
|
324
|
-
if (tableContainerRef.current) {
|
|
325
|
-
const containerHeight = tableContainerRef.current.clientHeight;
|
|
326
|
-
const availableHeight = containerHeight - rowHeight;
|
|
327
|
-
if (availableHeight > 0) {
|
|
328
|
-
const rowsNeeded = Math.ceil(availableHeight / rowHeight);
|
|
329
|
-
setLoadingRowCount(Math.max(rowsNeeded, MIN_ROWS));
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
}, [tableContainerRef, rowHeight]);
|
|
333
|
-
return /* @__PURE__ */ React6.createElement(React6.Fragment, null, hasHeadersLoaded ? /* @__PURE__ */ React6.createElement(TableHeader, {
|
|
334
|
-
table
|
|
335
|
-
}) : /* @__PURE__ */ React6.createElement("thead", {
|
|
336
|
-
className: TableHeader_default.osdkTableHeader,
|
|
337
|
-
ref: headerRef
|
|
338
|
-
}, /* @__PURE__ */ React6.createElement("tr", {
|
|
339
|
-
className: TableHeader_default.osdkTableHeaderRow
|
|
340
|
-
}, Array.from({
|
|
341
|
-
length: loadingColumnCount
|
|
342
|
-
}).map((_, index) => {
|
|
343
|
-
const width = headers.length > index ? headers[index].getSize() : columnWidth;
|
|
344
|
-
return /* @__PURE__ */ React6.createElement("th", {
|
|
345
|
-
key: `loading-header-${index}`,
|
|
346
|
-
className: TableHeader_default.osdkTableHeaderCell,
|
|
347
|
-
style: {
|
|
348
|
-
width
|
|
349
|
-
}
|
|
350
|
-
}, /* @__PURE__ */ React6.createElement("div", {
|
|
351
|
-
className: classNames3(TableHeader_default.osdkLoadingHeaderCell, LoadingCell_default.osdkCellSkeleton)
|
|
352
|
-
}));
|
|
353
|
-
}))), /* @__PURE__ */ React6.createElement("tbody", {
|
|
354
|
-
className: TableBody_default.osdkTableBody,
|
|
355
|
-
ref: bodyRef
|
|
356
|
-
}, Array.from({
|
|
357
|
-
length: loadingRowCount
|
|
358
|
-
}).map((_, index) => /* @__PURE__ */ React6.createElement(LoadingRow, {
|
|
359
|
-
key: `skeleton-${index}`,
|
|
360
|
-
columnCount: loadingColumnCount,
|
|
361
|
-
headers,
|
|
362
|
-
translateY: rowHeight * index,
|
|
363
|
-
rowHeight,
|
|
364
|
-
columnWidth
|
|
365
|
-
}))));
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
// build/browser/object-table/NonIdealState.js
|
|
369
|
-
import React7 from "react";
|
|
370
|
-
var css8 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n min-height: 80px;\n}\n\n.message {\n color: var(--osdk-typography-color-muted);\n}\n';
|
|
371
|
-
if (typeof document !== "undefined") {
|
|
372
|
-
const style = document.createElement("style");
|
|
373
|
-
style.textContent = css8;
|
|
374
|
-
document.head.appendChild(style);
|
|
375
|
-
}
|
|
376
|
-
var NonIdealState_default = { "container": "container", "message": "message" };
|
|
377
|
-
function NonIdealState({
|
|
378
|
-
message
|
|
379
|
-
}) {
|
|
380
|
-
return /* @__PURE__ */ React7.createElement("div", {
|
|
381
|
-
className: NonIdealState_default.container
|
|
382
|
-
}, /* @__PURE__ */ React7.createElement("div", {
|
|
383
|
-
className: NonIdealState_default.message
|
|
384
|
-
}, message));
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
// build/browser/object-table/Table.module.css
|
|
388
|
-
var css9 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkTableContainer {\n position: relative; /* needed for sticky header */\n height: 100%;\n width: 100%;\n overflow: auto;\n}\n';
|
|
389
|
-
if (typeof document !== "undefined") {
|
|
390
|
-
const style = document.createElement("style");
|
|
391
|
-
style.textContent = css9;
|
|
392
|
-
document.head.appendChild(style);
|
|
393
|
-
}
|
|
394
|
-
var Table_default = { "osdkTableContainer": "osdkTableContainer" };
|
|
395
|
-
|
|
396
|
-
// build/browser/object-table/TableBody.js
|
|
397
|
-
import { useVirtualizer } from "@tanstack/react-virtual";
|
|
398
|
-
import React12, { useLayoutEffect } from "react";
|
|
399
|
-
|
|
400
|
-
// build/browser/object-table/LoadingRow.js
|
|
401
|
-
import React22 from "react";
|
|
402
|
-
import classNames4 from "classnames";
|
|
403
|
-
import React8 from "react";
|
|
404
|
-
var css10 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkLoadingCell {\n height: var(--osdk-table-cell-fontSize);\n border-radius: calc(var(--osdk-surface-border-radius) * 0.5);\n flex: 1;\n}\n\n/* Blueprint skeleton animation keyframes */\n@keyframes skeleton-glow {\n from {\n background: var(--osdk-table-skeleton-color-from);\n border-color: var(--osdk-table-skeleton-color-from);\n }\n\n to {\n background: var(--osdk-table-skeleton-color-to);\n border-color: var(--osdk-table-skeleton-color-to);\n }\n}\n\n.osdkCellSkeleton {\n animation: 1000ms linear infinite alternate skeleton-glow;\n background: var(--osdk-table-skeleton-color-from);\n background-clip: padding-box;\n border-color: var(--osdk-table-skeleton-color-from);\n border-radius: calc(var(--osdk-surface-border-radius) * 0.5);\n border: 1px solid var(--osdk-table-skeleton-border-color);\n box-shadow: none;\n color: transparent;\n cursor: default;\n pointer-events: none;\n user-select: none;\n}\n';
|
|
405
|
-
if (typeof document !== "undefined") {
|
|
406
|
-
const style = document.createElement("style");
|
|
407
|
-
style.textContent = css10;
|
|
408
|
-
document.head.appendChild(style);
|
|
409
|
-
}
|
|
410
|
-
var LoadingCell_default3 = { "osdkLoadingCell": "osdkLoadingCell", "osdkCellSkeleton": "osdkCellSkeleton" };
|
|
411
|
-
var css23 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkTableCell {\n display: flex;\n align-items: center;\n text-align: left;\n position: relative;\n padding: var(--osdk-table-cell-padding);\n font-size: var(--osdk-table-cell-fontSize);\n color: var(--osdk-table-cell-color);\n background-color: inherit;\n border-right: var(--osdk-table-cell-divider);\n\n &:first-child {\n border-left: var(--osdk-table-border);\n }\n\n &:last-child {\n border-right: var(--osdk-table-border);\n }\n}\n\n.osdkTableCell[data-pinned="left"],\n.osdkTableCell[data-pinned="right"] {\n position: sticky;\n z-index: var(--osdk-surface-z-index-1);\n}\n\n/* Last left-pinned column - no left-pinned siblings after it */\n.osdkTableCell[data-pinned="left"]:not(:has(~ [data-pinned="left"])) {\n border-right: var(--osdk-table-pinned-column-border);\n}\n\n/* First right-pinned column - no right-pinned siblings before it */\n.osdkTableCell[data-pinned="right"]:not(:has(~ [data-pinned="right"]):nth-child(n+2)) {\n border-left: var(--osdk-table-pinned-column-border);\n}\n\n.osdkTableCell:has([role="checkbox"]) {\n justify-content: center;\n}\n\n.osdkTableCellContent:not(:has([role="checkbox"])) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: left;\n}\n';
|
|
412
|
-
if (typeof document !== "undefined") {
|
|
413
|
-
const style = document.createElement("style");
|
|
414
|
-
style.textContent = css23;
|
|
415
|
-
document.head.appendChild(style);
|
|
416
|
-
}
|
|
417
|
-
var TableCell_default2 = { "osdkTableCell": "osdkTableCell", "osdkTableCellContent": "osdkTableCellContent" };
|
|
418
|
-
function LoadingCell2({
|
|
419
|
-
width
|
|
420
|
-
}) {
|
|
421
|
-
return /* @__PURE__ */ React8.createElement("td", {
|
|
422
|
-
className: TableCell_default2.osdkTableCell,
|
|
423
|
-
style: {
|
|
424
|
-
width
|
|
425
|
-
}
|
|
426
|
-
}, /* @__PURE__ */ React8.createElement("div", {
|
|
427
|
-
className: classNames4(LoadingCell_default3.osdkLoadingCell, LoadingCell_default3.osdkCellSkeleton)
|
|
428
|
-
}));
|
|
429
|
-
}
|
|
430
|
-
var css32 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkTableRow {\n position: absolute;\n display: flex;\n background-color: var(--osdk-table-row-bg-default);\n border-top: var(--osdk-table-row-divider);\n border-bottom: var(--osdk-table-border-width) solid transparent;\n\n &:last-child {\n border-bottom: var(--osdk-table-border);\n }\n\n /* Zebra rows */\n &:nth-child(even) {\n background-color: var(\n --osdk-table-row-bg-alternate,\n var(--osdk-table-row-bg-default)\n );\n }\n\n &:hover {\n z-index: 1;\n background-color: var(\n --osdk-table-row-bg-hover,\n var(--osdk-surface-background-color-default-hover)\n );\n border-top-color: var(--osdk-table-row-border-color-hover);\n border-bottom-color: var(--osdk-table-row-border-color-hover);\n }\n\n &[data-selected="true"] {\n z-index: 2;\n background-color: var(--osdk-table-row-bg-active);\n border-top-color: var(--osdk-table-row-border-color-active);\n border-bottom-color: var(--osdk-table-row-border-color-active);\n }\n\n &[data-selected="true"] + &[data-selected="true"] {\n border-top-color: transparent;\n }\n\n &[data-selected="true"]:has(+ &[data-selected="true"]) {\n border-bottom-color: transparent;\n }\n}\n';
|
|
431
|
-
if (typeof document !== "undefined") {
|
|
432
|
-
const style = document.createElement("style");
|
|
433
|
-
style.textContent = css32;
|
|
434
|
-
document.head.appendChild(style);
|
|
435
|
-
}
|
|
436
|
-
var TableRow_default2 = { "osdkTableRow": "osdkTableRow" };
|
|
437
|
-
function LoadingRow2({
|
|
438
|
-
headers,
|
|
439
|
-
columnCount,
|
|
440
|
-
translateY,
|
|
441
|
-
rowHeight = 40,
|
|
442
|
-
columnWidth = 80
|
|
443
|
-
}) {
|
|
444
|
-
return /* @__PURE__ */ React22.createElement("tr", {
|
|
445
|
-
className: TableRow_default2.osdkTableRow,
|
|
446
|
-
style: {
|
|
447
|
-
height: `${rowHeight}px`,
|
|
448
|
-
transform: `translateY(${translateY}px)`
|
|
449
|
-
}
|
|
450
|
-
}, /* @__PURE__ */ React22.createElement(React22.Fragment, null, Array.from({
|
|
451
|
-
length: columnCount
|
|
452
|
-
}).map((_, index) => {
|
|
453
|
-
const width = headers.length > index ? headers[index].getSize() : columnWidth;
|
|
454
|
-
return /* @__PURE__ */ React22.createElement(LoadingCell2, {
|
|
455
|
-
key: `loading-cell-${index}`,
|
|
456
|
-
width
|
|
457
|
-
});
|
|
458
|
-
})));
|
|
459
|
-
}
|
|
460
|
-
|
|
461
|
-
// build/browser/object-table/TableBody.module.css
|
|
462
|
-
var css11 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkTableBody {\n display: grid;\n position: relative;\n}\n';
|
|
463
|
-
if (typeof document !== "undefined") {
|
|
464
|
-
const style = document.createElement("style");
|
|
465
|
-
style.textContent = css11;
|
|
466
|
-
document.head.appendChild(style);
|
|
467
|
-
}
|
|
468
|
-
var TableBody_default2 = { "osdkTableBody": "osdkTableBody" };
|
|
469
|
-
|
|
470
|
-
// build/browser/object-table/TableRow.js
|
|
471
|
-
import React11, { useCallback as useCallback3 } from "react";
|
|
472
|
-
|
|
473
|
-
// build/browser/object-table/TableCell.js
|
|
474
|
-
import { flexRender as flexRender2 } from "@tanstack/react-table";
|
|
475
|
-
import React10, { useRef as useRef3 } from "react";
|
|
476
|
-
|
|
477
|
-
// build/browser/object-table/CellContextMenu.js
|
|
478
|
-
import React9, { useEffect as useEffect2, useRef as useRef2 } from "react";
|
|
479
|
-
import { createPortal } from "react-dom";
|
|
480
|
-
var css12 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkCellContextMenu {\n position: fixed;\n z-index: var(--osdk-surface-z-index-2);\n}\n';
|
|
481
|
-
if (typeof document !== "undefined") {
|
|
482
|
-
const style = document.createElement("style");
|
|
483
|
-
style.textContent = css12;
|
|
484
|
-
document.head.appendChild(style);
|
|
485
|
-
}
|
|
486
|
-
var CellContextMenu_default = { "osdkCellContextMenu": "osdkCellContextMenu" };
|
|
487
|
-
function CellContextMenu({
|
|
488
|
-
cell,
|
|
489
|
-
position,
|
|
490
|
-
onClose,
|
|
491
|
-
renderContent
|
|
492
|
-
}) {
|
|
493
|
-
const ref = useRef2(null);
|
|
494
|
-
useEffect2(() => {
|
|
495
|
-
const handleClickOutside = (event) => {
|
|
496
|
-
if (ref.current && !ref.current.contains(event.target)) {
|
|
497
|
-
onClose();
|
|
498
|
-
}
|
|
499
|
-
};
|
|
500
|
-
document.addEventListener("mousedown", handleClickOutside);
|
|
501
|
-
return () => {
|
|
502
|
-
document.removeEventListener("mousedown", handleClickOutside);
|
|
503
|
-
};
|
|
504
|
-
}, [onClose]);
|
|
505
|
-
return /* @__PURE__ */ createPortal(/* @__PURE__ */ React9.createElement("div", {
|
|
506
|
-
ref,
|
|
507
|
-
className: CellContextMenu_default.osdkCellContextMenu,
|
|
508
|
-
style: {
|
|
509
|
-
left: position.left,
|
|
510
|
-
top: position.top,
|
|
511
|
-
minWidth: position.width
|
|
512
|
-
}
|
|
513
|
-
}, renderContent(cell.row.original, cell)), document.body);
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
// build/browser/object-table/hooks/useCellContextMenu.js
|
|
517
|
-
import { useCallback as useCallback2, useState as useState3 } from "react";
|
|
518
|
-
var useCellContextMenu = ({
|
|
519
|
-
tdRef
|
|
520
|
-
}) => {
|
|
521
|
-
const [popoverPosition, setPopoverPosition] = useState3(null);
|
|
522
|
-
const [isContextMenuOpen, setIsContextMenuOpen] = useState3(false);
|
|
523
|
-
const handleOpenContextMenu = useCallback2((event) => {
|
|
524
|
-
event.preventDefault();
|
|
525
|
-
event.stopPropagation();
|
|
526
|
-
if (tdRef.current) {
|
|
527
|
-
const rect = tdRef.current.getBoundingClientRect();
|
|
528
|
-
const position = {
|
|
529
|
-
left: rect.left,
|
|
530
|
-
top: rect.bottom,
|
|
531
|
-
width: rect.width
|
|
532
|
-
};
|
|
533
|
-
setPopoverPosition(position);
|
|
534
|
-
setIsContextMenuOpen(true);
|
|
535
|
-
}
|
|
536
|
-
}, [tdRef]);
|
|
537
|
-
const handleCloseContextMenu = useCallback2(() => {
|
|
538
|
-
setIsContextMenuOpen(false);
|
|
539
|
-
setPopoverPosition(null);
|
|
540
|
-
}, []);
|
|
541
|
-
return {
|
|
542
|
-
isContextMenuOpen,
|
|
543
|
-
handleOpenContextMenu,
|
|
544
|
-
handleCloseContextMenu,
|
|
545
|
-
popoverPosition
|
|
546
|
-
};
|
|
547
|
-
};
|
|
548
|
-
|
|
549
|
-
// build/browser/object-table/TableCell.module.css
|
|
550
|
-
var css13 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkTableCell {\n display: flex;\n align-items: center;\n text-align: left;\n position: relative;\n padding: var(--osdk-table-cell-padding);\n font-size: var(--osdk-table-cell-fontSize);\n color: var(--osdk-table-cell-color);\n background-color: inherit;\n border-right: var(--osdk-table-cell-divider);\n\n &:first-child {\n border-left: var(--osdk-table-border);\n }\n\n &:last-child {\n border-right: var(--osdk-table-border);\n }\n}\n\n.osdkTableCell[data-pinned="left"],\n.osdkTableCell[data-pinned="right"] {\n position: sticky;\n z-index: var(--osdk-surface-z-index-1);\n}\n\n/* Last left-pinned column - no left-pinned siblings after it */\n.osdkTableCell[data-pinned="left"]:not(:has(~ [data-pinned="left"])) {\n border-right: var(--osdk-table-pinned-column-border);\n}\n\n/* First right-pinned column - no right-pinned siblings before it */\n.osdkTableCell[data-pinned="right"]:not(:has(~ [data-pinned="right"]):nth-child(n+2)) {\n border-left: var(--osdk-table-pinned-column-border);\n}\n\n.osdkTableCell:has([role="checkbox"]) {\n justify-content: center;\n}\n\n.osdkTableCellContent:not(:has([role="checkbox"])) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: left;\n}\n';
|
|
551
|
-
if (typeof document !== "undefined") {
|
|
552
|
-
const style = document.createElement("style");
|
|
553
|
-
style.textContent = css13;
|
|
554
|
-
document.head.appendChild(style);
|
|
555
|
-
}
|
|
556
|
-
var TableCell_default3 = { "osdkTableCell": "osdkTableCell", "osdkTableCellContent": "osdkTableCellContent" };
|
|
557
|
-
|
|
558
|
-
// build/browser/object-table/utils/constants.js
|
|
559
|
-
var SELECTION_COLUMN_ID2 = "__selection__";
|
|
560
|
-
|
|
561
|
-
// build/browser/object-table/utils/getColumnPinningStyles.js
|
|
562
|
-
function getColumnPinningStyles2(column) {
|
|
563
|
-
const isPinned = column.getIsPinned();
|
|
564
|
-
return {
|
|
565
|
-
columnStyles: {
|
|
566
|
-
left: isPinned === "left" ? `${column.getStart("left")}px` : void 0,
|
|
567
|
-
right: isPinned === "right" ? `${column.getAfter("right")}px` : void 0,
|
|
568
|
-
width: column.getSize()
|
|
569
|
-
}
|
|
570
|
-
};
|
|
571
|
-
}
|
|
572
|
-
|
|
573
|
-
// build/browser/object-table/TableCell.js
|
|
574
|
-
function TableCell({
|
|
575
|
-
cell,
|
|
576
|
-
renderCellContextMenu
|
|
577
|
-
}) {
|
|
578
|
-
const tdRef = useRef3(null);
|
|
579
|
-
const isSelectColumn = cell.column.id === SELECTION_COLUMN_ID2;
|
|
580
|
-
const {
|
|
581
|
-
isContextMenuOpen,
|
|
582
|
-
handleOpenContextMenu,
|
|
583
|
-
handleCloseContextMenu,
|
|
584
|
-
popoverPosition
|
|
585
|
-
} = useCellContextMenu({
|
|
586
|
-
tdRef
|
|
587
|
-
});
|
|
588
|
-
const {
|
|
589
|
-
columnStyles
|
|
590
|
-
} = getColumnPinningStyles2(cell.column);
|
|
591
|
-
return /* @__PURE__ */ React10.createElement(React10.Fragment, null, /* @__PURE__ */ React10.createElement("td", {
|
|
592
|
-
ref: tdRef,
|
|
593
|
-
"data-pinned": cell.column.getIsPinned(),
|
|
594
|
-
className: TableCell_default3.osdkTableCell,
|
|
595
|
-
style: columnStyles,
|
|
596
|
-
onContextMenu: handleOpenContextMenu
|
|
597
|
-
}, /* @__PURE__ */ React10.createElement("div", {
|
|
598
|
-
className: TableCell_default3.osdkTableCellContent
|
|
599
|
-
}, flexRender2(cell.column.columnDef.cell, cell.getContext()))), !isSelectColumn && isContextMenuOpen && !!popoverPosition && !!renderCellContextMenu && /* @__PURE__ */ React10.createElement(CellContextMenu, {
|
|
600
|
-
cell,
|
|
601
|
-
position: popoverPosition,
|
|
602
|
-
onClose: handleCloseContextMenu,
|
|
603
|
-
renderContent: renderCellContextMenu
|
|
604
|
-
}));
|
|
605
|
-
}
|
|
606
|
-
|
|
607
|
-
// build/browser/object-table/TableRow.module.css
|
|
608
|
-
var css14 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkTableRow {\n position: absolute;\n display: flex;\n background-color: var(--osdk-table-row-bg-default);\n border-top: var(--osdk-table-row-divider);\n border-bottom: var(--osdk-table-border-width) solid transparent;\n\n &:last-child {\n border-bottom: var(--osdk-table-border);\n }\n\n /* Zebra rows */\n &:nth-child(even) {\n background-color: var(\n --osdk-table-row-bg-alternate,\n var(--osdk-table-row-bg-default)\n );\n }\n\n &:hover {\n z-index: 1;\n background-color: var(\n --osdk-table-row-bg-hover,\n var(--osdk-surface-background-color-default-hover)\n );\n border-top-color: var(--osdk-table-row-border-color-hover);\n border-bottom-color: var(--osdk-table-row-border-color-hover);\n }\n\n &[data-selected="true"] {\n z-index: 2;\n background-color: var(--osdk-table-row-bg-active);\n border-top-color: var(--osdk-table-row-border-color-active);\n border-bottom-color: var(--osdk-table-row-border-color-active);\n }\n\n &[data-selected="true"] + &[data-selected="true"] {\n border-top-color: transparent;\n }\n\n &[data-selected="true"]:has(+ &[data-selected="true"]) {\n border-bottom-color: transparent;\n }\n}\n';
|
|
609
|
-
if (typeof document !== "undefined") {
|
|
610
|
-
const style = document.createElement("style");
|
|
611
|
-
style.textContent = css14;
|
|
612
|
-
document.head.appendChild(style);
|
|
613
|
-
}
|
|
614
|
-
var TableRow_default3 = { "osdkTableRow": "osdkTableRow" };
|
|
615
|
-
|
|
616
|
-
// build/browser/object-table/TableRow.js
|
|
617
|
-
function TableRow({
|
|
618
|
-
row,
|
|
619
|
-
virtualRow,
|
|
620
|
-
onRowClick,
|
|
621
|
-
renderCellContextMenu
|
|
622
|
-
}) {
|
|
623
|
-
const handleClick = useCallback3(() => {
|
|
624
|
-
onRowClick?.(row.original);
|
|
625
|
-
}, [onRowClick, row.original]);
|
|
626
|
-
return /* @__PURE__ */ React11.createElement("tr", {
|
|
627
|
-
"data-selected": row.getIsSelected(),
|
|
628
|
-
className: TableRow_default3.osdkTableRow,
|
|
629
|
-
style: {
|
|
630
|
-
height: `${virtualRow.size}px`,
|
|
631
|
-
transform: `translateY(${virtualRow.start}px)`
|
|
632
|
-
},
|
|
633
|
-
onClick: handleClick
|
|
634
|
-
}, row.getVisibleCells().map((cell) => /* @__PURE__ */ React11.createElement(TableCell, {
|
|
635
|
-
key: cell.id,
|
|
636
|
-
cell,
|
|
637
|
-
renderCellContextMenu
|
|
638
|
-
})));
|
|
639
|
-
}
|
|
640
|
-
|
|
641
|
-
// build/browser/object-table/TableBody.js
|
|
642
|
-
function TableBody({
|
|
643
|
-
rows,
|
|
644
|
-
tableContainerRef,
|
|
645
|
-
onRowClick,
|
|
646
|
-
renderCellContextMenu,
|
|
647
|
-
rowHeight = 40,
|
|
648
|
-
isLoadingMore = false,
|
|
649
|
-
headerGroups = []
|
|
650
|
-
}) {
|
|
651
|
-
const rowVirtualizer = useVirtualizer({
|
|
652
|
-
count: rows.length,
|
|
653
|
-
estimateSize: () => rowHeight,
|
|
654
|
-
getScrollElement: () => tableContainerRef.current,
|
|
655
|
-
overscan: 5
|
|
656
|
-
});
|
|
657
|
-
useLayoutEffect(() => {
|
|
658
|
-
rowVirtualizer.measure();
|
|
659
|
-
}, [rowVirtualizer, rows.length]);
|
|
660
|
-
const totalSize = rowVirtualizer.getTotalSize();
|
|
661
|
-
const bodyHeight = isLoadingMore ? totalSize + rowHeight : totalSize;
|
|
662
|
-
const headers = headerGroups[0]?.headers ?? [];
|
|
663
|
-
return /* @__PURE__ */ React12.createElement("tbody", {
|
|
664
|
-
className: TableBody_default2.osdkTableBody,
|
|
665
|
-
style: {
|
|
666
|
-
height: `${bodyHeight}px`
|
|
667
|
-
}
|
|
668
|
-
}, rowVirtualizer.getVirtualItems().map((virtualRow) => {
|
|
669
|
-
const row = rows[virtualRow.index];
|
|
670
|
-
return /* @__PURE__ */ React12.createElement(TableRow, {
|
|
671
|
-
key: row.id,
|
|
672
|
-
row,
|
|
673
|
-
virtualRow,
|
|
674
|
-
onRowClick,
|
|
675
|
-
renderCellContextMenu
|
|
676
|
-
});
|
|
677
|
-
}), isLoadingMore && /* @__PURE__ */ React12.createElement(LoadingRow2, {
|
|
678
|
-
headers,
|
|
679
|
-
translateY: totalSize,
|
|
680
|
-
rowHeight,
|
|
681
|
-
columnCount: headers.length
|
|
682
|
-
}));
|
|
683
|
-
}
|
|
684
|
-
|
|
685
|
-
// build/browser/object-table/TableHeader.js
|
|
686
|
-
import React15 from "react";
|
|
687
|
-
|
|
688
|
-
// build/browser/object-table/TableHeader.module.css
|
|
689
|
-
var css15 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkTableHeader {\n display: grid;\n position: sticky;\n top: 0;\n z-index: var(--osdk-surface-z-index-1);\n background-color: var(--osdk-table-header-bg);\n}\n\n.osdkTableHeader[data-resizing="true"] {\n cursor: col-resize;\n user-select: none;\n}\n\n.osdkTableHeaderRow {\n display: flex;\n}\n\n.osdkTableHeaderCell {\n display: flex;\n align-items: center;\n text-align: left;\n position: relative;\n padding: var(--osdk-table-cell-padding);\n font-weight: var(--osdk-table-header-fontWeight);\n font-size: var(--osdk-table-header-fontSize);\n color: var(--osdk-table-header-color);\n border-top: var(--osdk-table-border);\n border-right: var(--osdk-table-header-divider);\n background-color: inherit;\n\n &:first-child {\n border-left: var(--osdk-table-border);\n }\n\n &:last-child {\n border-right: var(--osdk-table-border);\n }\n}\n\n.osdkTableHeaderCell[data-pinned="left"],\n.osdkTableHeaderCell[data-pinned="right"] {\n position: sticky;\n z-index: var(--osdk-surface-z-index-2);\n}\n\n/* Last left-pinned column - no left-pinned siblings after it */\n.osdkTableHeaderCell[data-pinned="left"]:not(:has(~ [data-pinned="left"])) {\n border-right: var(--osdk-table-pinned-column-border);\n}\n\n/* First right-pinned column - no right-pinned siblings before it */\n.osdkTableHeaderCell[data-pinned="right"]:not(\n :has(~ [data-pinned="right"]):nth-child(n + 2)\n ) {\n border-left: var(--osdk-table-pinned-column-border);\n}\n\n.osdkTableHeaderCell:has([role="checkbox"]) {\n justify-content: center;\n}\n\n.osdkTableHeaderResizer {\n background: none;\n cursor: col-resize;\n height: 100%;\n position: absolute;\n right: calc(-1 * var(--osdk-table-border-width));\n top: 0;\n touch-action: none;\n width: 3px;\n z-index: var(--osdk-surface-z-index-2);\n\n &:hover {\n background: var(--osdk-intent-primary-hover);\n }\n\n &:active {\n background: var(--osdk-intent-primary-active);\n }\n}\n\n.osdkLoadingHeaderCell {\n height: var(--osdk-table-header-fontSize);\n flex: 1;\n}\n';
|
|
690
|
-
if (typeof document !== "undefined") {
|
|
691
|
-
const style = document.createElement("style");
|
|
692
|
-
style.textContent = css15;
|
|
693
|
-
document.head.appendChild(style);
|
|
694
|
-
}
|
|
695
|
-
var TableHeader_default2 = { "osdkTableHeader": "osdkTableHeader", "osdkTableHeaderRow": "osdkTableHeaderRow", "osdkTableHeaderCell": "osdkTableHeaderCell", "osdkTableHeaderResizer": "osdkTableHeaderResizer", "osdkLoadingHeaderCell": "osdkLoadingHeaderCell" };
|
|
696
|
-
|
|
697
|
-
// build/browser/object-table/TableHeaderContent.js
|
|
698
|
-
import { flexRender as flexRender3 } from "@tanstack/react-table";
|
|
699
|
-
import React13 from "react";
|
|
700
|
-
|
|
701
|
-
// build/browser/object-table/TableHeaderContent.module.css
|
|
702
|
-
var css16 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkHeaderContent {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.osdkHeaderContent:has([role="checkbox"]) {\n display: flex;\n justify-content: center;\n}\n';
|
|
703
|
-
if (typeof document !== "undefined") {
|
|
704
|
-
const style = document.createElement("style");
|
|
705
|
-
style.textContent = css16;
|
|
706
|
-
document.head.appendChild(style);
|
|
707
|
-
}
|
|
708
|
-
var TableHeaderContent_default2 = { "osdkHeaderContent": "osdkHeaderContent" };
|
|
709
|
-
|
|
710
|
-
// build/browser/object-table/TableHeaderContent.js
|
|
711
|
-
function TableHeaderContent2({
|
|
712
|
-
header
|
|
713
|
-
}) {
|
|
714
|
-
return /* @__PURE__ */ React13.createElement("div", {
|
|
715
|
-
className: TableHeaderContent_default2.osdkHeaderContent
|
|
716
|
-
}, flexRender3(header.column.columnDef.header, header.getContext()));
|
|
717
|
-
}
|
|
718
|
-
|
|
719
|
-
// build/browser/object-table/TableHeaderWithPopover.js
|
|
720
|
-
import { Menu as Menu2 } from "@base-ui/react/menu";
|
|
721
|
-
import { ChevronDown as ChevronDown2, Pin as Pin2, Remove as Remove2, SortAlphabetical as SortAlphabetical2, SortAlphabeticalDesc as SortAlphabeticalDesc2, Unpin as Unpin2, VerticalDistribution as VerticalDistribution2 } from "@blueprintjs/icons";
|
|
722
|
-
import classNames5 from "classnames";
|
|
723
|
-
import React14, { useCallback as useCallback4, useState as useState4 } from "react";
|
|
724
|
-
|
|
725
|
-
// build/browser/object-table/TableHeaderWithPopover.module.css
|
|
726
|
-
var css17 = '/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkCenterContainer {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.osdkContentGap {\n display: flex;\n gap: var(--osdk-surface-spacing);\n}\n\n.osdkHeaderContainer {\n justify-content: space-between;\n flex: 1;\n min-width: 0;\n align-self: stretch;\n}\n\n.osdkHeaderContentLeft {\n min-width: 0;\n flex-shrink: 1;\n}\n\n.osdkHeaderContentRight {\n flex-shrink: 0;\n}\n\n.osdkHeaderPopoverTrigger {\n padding: 0;\n flex-shrink: 0;\n flex-grow: 0;\n border: var(--osdk-surface-border-width) solid\n var(--osdk-surface-border-color-default);\n border-radius: var(--osdk-surface-border-radius);\n color: var(--osdk-intent-default-foreground);\n user-select: none;\n outline: none;\n\n &:hover {\n background-color: var(--osdk-intent-default-hover);\n }\n\n &[data-popup-open] {\n background-color: var(--osdk-intent-primary-rest);\n }\n\n &:focus-visible {\n outline: var(--osdk-focus-visible-outline);\n outline-offset: var(--osdk-focus-visible-outline-offset);\n }\n}\n\n.osdkHeaderIcon {\n width: var(--osdk-iconography-size-small);\n height: var(--osdk-iconography-size-small);\n}\n\n.osdkHeaderPopup {\n box-sizing: border-box;\n padding: var(--osdk-surface-spacing);\n border-radius: var(--osdk-surface-border-radius);\n border: var(--osdk-surface-border-width) solid\n var(--osdk-surface-border-color-default);\n background-color: var(--osdk-surface-background-color-default);\n color: var(--osdk-typography-color-default-rest);\n box-shadow: var(--osdk-surface-shadow-2);\n font-size: var(--osdk-typography-size-body-medium);\n outline: none;\n}\n\n.osdkHeaderMenuItem {\n justify-content: flex-start;\n padding: var(--osdk-surface-spacing);\n cursor: pointer;\n}\n\n.osdkHeaderMenuItem:hover {\n outline: none;\n background-color: var(--osdk-surface-background-color-default-hover);\n border-radius: var(--osdk-surface-border-radius);\n}\n\n.osdkHeaderActiveMenuItem {\n background-color: var(--osdk-intent-primary-rest);\n color: var(--osdk-intent-primary-foreground);\n}\n\n.osdkHeaderActiveMenuItem:hover {\n background-color: var(--osdk-intent-primary-hover);\n}\n\n.osdkHeaderActiveMenuItem:active {\n background-color: var(--osdk-intent-primary-active);\n}\n';
|
|
727
|
-
if (typeof document !== "undefined") {
|
|
728
|
-
const style = document.createElement("style");
|
|
729
|
-
style.textContent = css17;
|
|
730
|
-
document.head.appendChild(style);
|
|
731
|
-
}
|
|
732
|
-
var TableHeaderWithPopover_default2 = { "osdkCenterContainer": "osdkCenterContainer", "osdkContentGap": "osdkContentGap", "osdkHeaderContainer": "osdkHeaderContainer", "osdkHeaderContentLeft": "osdkHeaderContentLeft", "osdkHeaderContentRight": "osdkHeaderContentRight", "osdkHeaderPopoverTrigger": "osdkHeaderPopoverTrigger", "osdkHeaderIcon": "osdkHeaderIcon", "osdkHeaderPopup": "osdkHeaderPopup", "osdkHeaderMenuItem": "osdkHeaderMenuItem", "osdkHeaderActiveMenuItem": "osdkHeaderActiveMenuItem" };
|
|
733
|
-
|
|
734
|
-
// build/browser/object-table/TableHeaderWithPopover.js
|
|
735
|
-
function HeaderMenuItem2({
|
|
736
|
-
onClick,
|
|
737
|
-
icon: Icon,
|
|
738
|
-
label,
|
|
739
|
-
active = false
|
|
740
|
-
}) {
|
|
741
|
-
return /* @__PURE__ */ React14.createElement(Menu2.Item, {
|
|
742
|
-
closeOnClick: true,
|
|
743
|
-
className: classNames5(TableHeaderWithPopover_default2.osdkCenterContainer, TableHeaderWithPopover_default2.osdkContentGap, TableHeaderWithPopover_default2.osdkHeaderMenuItem, active && TableHeaderWithPopover_default2.osdkHeaderActiveMenuItem),
|
|
744
|
-
onClick
|
|
745
|
-
}, /* @__PURE__ */ React14.createElement(Icon, {
|
|
746
|
-
className: TableHeaderWithPopover_default2.osdkHeaderIcon,
|
|
747
|
-
color: "currentColor"
|
|
748
|
-
}), /* @__PURE__ */ React14.createElement("span", null, label));
|
|
749
|
-
}
|
|
750
|
-
function TableHeaderWithPopover2({
|
|
751
|
-
header,
|
|
752
|
-
isColumnPinned,
|
|
753
|
-
setColumnPinning,
|
|
754
|
-
onSortChange,
|
|
755
|
-
onResetSize
|
|
756
|
-
}) {
|
|
757
|
-
const [isOpen, setIsOpen] = useState4(false);
|
|
758
|
-
const handlePinLeft = useCallback4(() => {
|
|
759
|
-
setColumnPinning((prev) => {
|
|
760
|
-
return {
|
|
761
|
-
left: [...prev.left || [], header.column.id],
|
|
762
|
-
right: prev.right?.filter((id) => id !== header.column.id) || []
|
|
763
|
-
};
|
|
764
|
-
});
|
|
765
|
-
}, [header.column.id, setColumnPinning]);
|
|
766
|
-
const handleUnpin = useCallback4(() => {
|
|
767
|
-
setColumnPinning((prev) => {
|
|
768
|
-
return {
|
|
769
|
-
left: prev.left?.filter((id) => id !== header.column.id) || [],
|
|
770
|
-
right: prev.right?.filter((id) => id !== header.column.id) || []
|
|
771
|
-
};
|
|
772
|
-
});
|
|
773
|
-
}, [header.column.id, setColumnPinning]);
|
|
774
|
-
const handleSortAscending = useCallback4(() => {
|
|
775
|
-
header.column.toggleSorting(false);
|
|
776
|
-
onSortChange?.([{
|
|
777
|
-
id: header.column.id,
|
|
778
|
-
desc: false
|
|
779
|
-
}]);
|
|
780
|
-
}, [header.column, onSortChange]);
|
|
781
|
-
const handleSortDescending = useCallback4(() => {
|
|
782
|
-
header.column.toggleSorting(true);
|
|
783
|
-
onSortChange?.([{
|
|
784
|
-
id: header.column.id,
|
|
785
|
-
desc: true
|
|
786
|
-
}]);
|
|
787
|
-
}, [header.column, onSortChange]);
|
|
788
|
-
const handleClearAllSorts = useCallback4(() => {
|
|
789
|
-
header.column.clearSorting();
|
|
790
|
-
onSortChange?.([]);
|
|
791
|
-
}, [header.column, onSortChange]);
|
|
792
|
-
const handleResetSize = useCallback4(() => {
|
|
793
|
-
header.column.resetSize();
|
|
794
|
-
if (onResetSize) {
|
|
795
|
-
onResetSize();
|
|
796
|
-
}
|
|
797
|
-
}, [header.column, onResetSize]);
|
|
798
|
-
const handleInteraction = useCallback4((e) => {
|
|
799
|
-
e.preventDefault();
|
|
800
|
-
setIsOpen((prev) => !prev);
|
|
801
|
-
}, []);
|
|
802
|
-
const isSorted = header.column.getIsSorted();
|
|
803
|
-
const isSortable = header.column.getCanSort();
|
|
804
|
-
return /* @__PURE__ */ React14.createElement(Menu2.Root, {
|
|
805
|
-
open: isOpen,
|
|
806
|
-
onOpenChange: setIsOpen
|
|
807
|
-
}, /* @__PURE__ */ React14.createElement("div", {
|
|
808
|
-
className: classNames5(TableHeaderWithPopover_default2.osdkCenterContainer, TableHeaderWithPopover_default2.osdkContentGap, TableHeaderWithPopover_default2.osdkHeaderContainer),
|
|
809
|
-
onContextMenu: handleInteraction
|
|
810
|
-
}, /* @__PURE__ */ React14.createElement("div", {
|
|
811
|
-
className: classNames5(TableHeaderWithPopover_default2.osdkCenterContainer, TableHeaderWithPopover_default2.osdkContentGap, TableHeaderWithPopover_default2.osdkHeaderContentLeft)
|
|
812
|
-
}, isColumnPinned && /* @__PURE__ */ React14.createElement(Pin2, {
|
|
813
|
-
className: TableHeaderWithPopover_default2.osdkHeaderIcon,
|
|
814
|
-
color: "currentColor"
|
|
815
|
-
}), /* @__PURE__ */ React14.createElement(TableHeaderContent2, {
|
|
816
|
-
header
|
|
817
|
-
})), /* @__PURE__ */ React14.createElement("div", {
|
|
818
|
-
className: classNames5(TableHeaderWithPopover_default2.osdkCenterContainer, TableHeaderWithPopover_default2.osdkContentGap, TableHeaderWithPopover_default2.osdkHeaderContentRight)
|
|
819
|
-
}, isSorted && /* @__PURE__ */ React14.createElement("div", {
|
|
820
|
-
className: TableHeaderWithPopover_default2.osdkCenterContainer
|
|
821
|
-
}, isSorted === "asc" ? /* @__PURE__ */ React14.createElement(SortAlphabetical2, {
|
|
822
|
-
className: TableHeaderWithPopover_default2.osdkHeaderIcon,
|
|
823
|
-
color: "currentColor"
|
|
824
|
-
}) : /* @__PURE__ */ React14.createElement(SortAlphabeticalDesc2, {
|
|
825
|
-
className: TableHeaderWithPopover_default2.osdkHeaderIcon,
|
|
826
|
-
color: "currentColor"
|
|
827
|
-
})), /* @__PURE__ */ React14.createElement(Menu2.Trigger, {
|
|
828
|
-
"aria-label": `Open header menu for column with id=${header.column.id}`,
|
|
829
|
-
className: classNames5(TableHeaderWithPopover_default2.osdkCenterContainer, TableHeaderWithPopover_default2.osdkHeaderPopoverTrigger)
|
|
830
|
-
}, /* @__PURE__ */ React14.createElement(ChevronDown2, {
|
|
831
|
-
className: TableHeaderWithPopover_default2.osdkHeaderIcon
|
|
832
|
-
}))), /* @__PURE__ */ React14.createElement(Menu2.Portal, {
|
|
833
|
-
container: document.body
|
|
834
|
-
}, /* @__PURE__ */ React14.createElement(Menu2.Positioner, {
|
|
835
|
-
sideOffset: 4
|
|
836
|
-
}, /* @__PURE__ */ React14.createElement(Menu2.Popup, {
|
|
837
|
-
className: TableHeaderWithPopover_default2.osdkHeaderPopup
|
|
838
|
-
}, !isColumnPinned && /* @__PURE__ */ React14.createElement(HeaderMenuItem2, {
|
|
839
|
-
onClick: handlePinLeft,
|
|
840
|
-
icon: Pin2,
|
|
841
|
-
label: "Pin column"
|
|
842
|
-
}), isColumnPinned && /* @__PURE__ */ React14.createElement(HeaderMenuItem2, {
|
|
843
|
-
onClick: handleUnpin,
|
|
844
|
-
icon: Unpin2,
|
|
845
|
-
label: "Unpin Column",
|
|
846
|
-
active: true
|
|
847
|
-
}), isSortable && /* @__PURE__ */ React14.createElement(React14.Fragment, null, /* @__PURE__ */ React14.createElement(HeaderMenuItem2, {
|
|
848
|
-
onClick: handleSortAscending,
|
|
849
|
-
icon: SortAlphabetical2,
|
|
850
|
-
label: "Sort ascending",
|
|
851
|
-
active: isSorted === "asc"
|
|
852
|
-
}), /* @__PURE__ */ React14.createElement(HeaderMenuItem2, {
|
|
853
|
-
onClick: handleSortDescending,
|
|
854
|
-
icon: SortAlphabeticalDesc2,
|
|
855
|
-
label: "Sort descending",
|
|
856
|
-
active: isSorted === "desc"
|
|
857
|
-
})), !!isSorted && /* @__PURE__ */ React14.createElement(HeaderMenuItem2, {
|
|
858
|
-
onClick: handleClearAllSorts,
|
|
859
|
-
icon: Remove2,
|
|
860
|
-
label: "Clear all sorts"
|
|
861
|
-
}), /* @__PURE__ */ React14.createElement(HeaderMenuItem2, {
|
|
862
|
-
onClick: handleResetSize,
|
|
863
|
-
icon: VerticalDistribution2,
|
|
864
|
-
label: "Reset Column Size"
|
|
865
|
-
}))))));
|
|
866
|
-
}
|
|
867
|
-
|
|
868
|
-
// build/browser/object-table/TableHeader.js
|
|
869
|
-
function TableHeader2({
|
|
870
|
-
table
|
|
871
|
-
}) {
|
|
872
|
-
const isResizing = !!table.getState().columnSizingInfo?.isResizingColumn;
|
|
873
|
-
return /* @__PURE__ */ React15.createElement("thead", {
|
|
874
|
-
className: TableHeader_default2.osdkTableHeader,
|
|
875
|
-
"data-resizing": isResizing
|
|
876
|
-
}, table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ React15.createElement("tr", {
|
|
877
|
-
key: headerGroup.id,
|
|
878
|
-
className: TableHeader_default2.osdkTableHeaderRow
|
|
879
|
-
}, headerGroup.headers.map((header) => {
|
|
880
|
-
const {
|
|
881
|
-
columnStyles
|
|
882
|
-
} = getColumnPinningStyles2(header.column);
|
|
883
|
-
const isColumnPinned = header.column.getIsPinned();
|
|
884
|
-
const isSelectColumn = header.id === SELECTION_COLUMN_ID2;
|
|
885
|
-
return /* @__PURE__ */ React15.createElement("th", {
|
|
886
|
-
key: header.id,
|
|
887
|
-
"data-pinned": header.column.getIsPinned(),
|
|
888
|
-
className: TableHeader_default2.osdkTableHeaderCell,
|
|
889
|
-
style: columnStyles
|
|
890
|
-
}, header.isPlaceholder ? null : isSelectColumn ? /* @__PURE__ */ React15.createElement(TableHeaderContent2, {
|
|
891
|
-
header
|
|
892
|
-
}) : /* @__PURE__ */ React15.createElement(TableHeaderWithPopover2, {
|
|
893
|
-
header,
|
|
894
|
-
isColumnPinned,
|
|
895
|
-
setColumnPinning: table.setColumnPinning
|
|
896
|
-
}), header.column.getCanResize() && /* @__PURE__ */ React15.createElement("div", {
|
|
897
|
-
className: TableHeader_default2.osdkTableHeaderResizer,
|
|
898
|
-
onDoubleClick: () => header.column.resetSize(),
|
|
899
|
-
onMouseDown: header.getResizeHandler(),
|
|
900
|
-
onTouchStart: header.getResizeHandler()
|
|
901
|
-
}));
|
|
902
|
-
}))));
|
|
903
|
-
}
|
|
904
|
-
|
|
905
|
-
// build/browser/object-table/Table.js
|
|
906
|
-
function BaseTable({
|
|
18
|
+
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
19
|
+
import { LoadingStateTable } from "./LoadingStateTable.js";
|
|
20
|
+
import { NonIdealState } from "./NonIdealState.js";
|
|
21
|
+
import styles from "./Table.module.css.js";
|
|
22
|
+
import { TableBody } from "./TableBody.js";
|
|
23
|
+
import { TableHeader } from "./TableHeader.js";
|
|
24
|
+
export function BaseTable({
|
|
907
25
|
table,
|
|
908
26
|
isLoading,
|
|
909
27
|
fetchNextPage,
|
|
@@ -913,15 +31,17 @@ function BaseTable({
|
|
|
913
31
|
className,
|
|
914
32
|
error
|
|
915
33
|
}) {
|
|
916
|
-
const tableContainerRef =
|
|
917
|
-
const [isLoadingMore, setIsLoadingMore] =
|
|
918
|
-
|
|
919
|
-
|
|
34
|
+
const tableContainerRef = useRef(null);
|
|
35
|
+
const [isLoadingMore, setIsLoadingMore] = useState(false);
|
|
36
|
+
|
|
37
|
+
// Using a ref to prevent duplicate fetches from rapid scroll events while a fetch is in-flight
|
|
38
|
+
const fetchingRef = useRef(false);
|
|
39
|
+
useEffect(() => {
|
|
920
40
|
if (!isLoading || fetchNextPage == null) {
|
|
921
41
|
setIsLoadingMore(false);
|
|
922
42
|
}
|
|
923
43
|
}, [isLoading, fetchNextPage]);
|
|
924
|
-
const fetchMoreOnEndReached =
|
|
44
|
+
const fetchMoreOnEndReached = useCallback(async containerRefElement => {
|
|
925
45
|
if (containerRefElement && !fetchingRef.current && !isLoadingMore) {
|
|
926
46
|
const {
|
|
927
47
|
scrollHeight,
|
|
@@ -939,37 +59,35 @@ function BaseTable({
|
|
|
939
59
|
}
|
|
940
60
|
}
|
|
941
61
|
}, [fetchNextPage, isLoading, isLoadingMore]);
|
|
942
|
-
const handleScroll =
|
|
62
|
+
const handleScroll = useCallback(async e => {
|
|
943
63
|
await fetchMoreOnEndReached(e.currentTarget);
|
|
944
64
|
}, [fetchMoreOnEndReached]);
|
|
945
65
|
const rows = table.getRowModel().rows;
|
|
946
66
|
const headerGroups = table.getHeaderGroups();
|
|
947
67
|
const hasData = rows.length > 0;
|
|
948
|
-
return
|
|
68
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
949
69
|
ref: tableContainerRef,
|
|
950
|
-
className:
|
|
70
|
+
className: classNames(styles.osdkTableContainer, className),
|
|
951
71
|
onScroll: handleScroll
|
|
952
|
-
},
|
|
953
|
-
table,
|
|
954
|
-
headerGroups,
|
|
955
|
-
rowHeight,
|
|
956
|
-
tableContainerRef
|
|
957
|
-
}) :
|
|
958
|
-
table
|
|
959
|
-
}),
|
|
72
|
+
}, /*#__PURE__*/React.createElement("table", null, isLoading && !hasData ? /*#__PURE__*/React.createElement(LoadingStateTable, {
|
|
73
|
+
table: table,
|
|
74
|
+
headerGroups: headerGroups,
|
|
75
|
+
rowHeight: rowHeight,
|
|
76
|
+
tableContainerRef: tableContainerRef
|
|
77
|
+
}) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TableHeader, {
|
|
78
|
+
table: table
|
|
79
|
+
}), /*#__PURE__*/React.createElement(TableBody, {
|
|
80
|
+
rows: rows,
|
|
81
|
+
tableContainerRef: tableContainerRef,
|
|
82
|
+
onRowClick: onRowClick,
|
|
83
|
+
rowHeight: rowHeight,
|
|
84
|
+
renderCellContextMenu: renderCellContextMenu,
|
|
85
|
+
isLoadingMore: isLoadingMore,
|
|
86
|
+
headerGroups: headerGroups
|
|
87
|
+
}))), !hasData && error == null && /*#__PURE__*/React.createElement(NonIdealState, {
|
|
960
88
|
message: "No Data"
|
|
961
|
-
})
|
|
962
|
-
rows,
|
|
963
|
-
tableContainerRef,
|
|
964
|
-
onRowClick,
|
|
965
|
-
rowHeight,
|
|
966
|
-
renderCellContextMenu,
|
|
967
|
-
isLoadingMore,
|
|
968
|
-
headerGroups
|
|
969
|
-
})), error != null && /* @__PURE__ */ React16.createElement(NonIdealState, {
|
|
89
|
+
}), error != null && /*#__PURE__*/React.createElement(NonIdealState, {
|
|
970
90
|
message: `Error Loading Data: ${error.message}`
|
|
971
|
-
}))
|
|
91
|
+
}));
|
|
972
92
|
}
|
|
973
|
-
|
|
974
|
-
BaseTable
|
|
975
|
-
};
|
|
93
|
+
//# sourceMappingURL=Table.js.map
|