@osdk/react-components 0.1.0-beta.6 → 0.2.0-beta.1

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.
Files changed (120) hide show
  1. package/README.md +2 -5
  2. package/build/browser/base-components/checkbox/Checkbox.js +32 -27
  3. package/build/browser/object-table/CellContextMenu.js +20 -23
  4. package/build/browser/object-table/LoadingCell.js +38 -0
  5. package/build/browser/object-table/LoadingCell.js.map +1 -0
  6. package/build/browser/object-table/LoadingRow.js +69 -0
  7. package/build/browser/object-table/LoadingRow.js.map +1 -0
  8. package/build/browser/object-table/LoadingStateTable.js +395 -0
  9. package/build/browser/object-table/LoadingStateTable.js.map +1 -0
  10. package/build/browser/object-table/NonIdealState.js +25 -0
  11. package/build/browser/object-table/NonIdealState.js.map +1 -0
  12. package/build/browser/object-table/ObjectTable.js +6 -5
  13. package/build/browser/object-table/ObjectTable.js.map +1 -1
  14. package/build/browser/object-table/ObjectTableApi.js.map +1 -1
  15. package/build/browser/object-table/Table.js +948 -45
  16. package/build/browser/object-table/Table.js.map +1 -1
  17. package/build/browser/object-table/TableBody.js +269 -34
  18. package/build/browser/object-table/TableBody.js.map +1 -1
  19. package/build/browser/object-table/TableCell.js +111 -31
  20. package/build/browser/object-table/TableCell.js.map +1 -1
  21. package/build/browser/object-table/TableHeader.js +215 -38
  22. package/build/browser/object-table/TableHeaderContent.js +18 -21
  23. package/build/browser/object-table/TableHeaderContent.js.map +1 -1
  24. package/build/browser/object-table/TableHeaderWithPopover.js +80 -66
  25. package/build/browser/object-table/TableRow.js +144 -26
  26. package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js +18 -20
  27. package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js.map +1 -1
  28. package/build/browser/object-table/hooks/useColumnDefs.js +6 -2
  29. package/build/browser/object-table/hooks/useColumnDefs.js.map +1 -1
  30. package/build/browser/object-table/hooks/useColumnPinning.js.map +1 -1
  31. package/build/browser/object-table/hooks/useColumnVisibility.js.map +1 -1
  32. package/build/browser/object-table/hooks/useObjectTableData.js +7 -6
  33. package/build/browser/object-table/hooks/useObjectTableData.js.map +1 -1
  34. package/build/browser/object-table/hooks/useRowSelection.js.map +1 -1
  35. package/build/browser/object-table/hooks/useSelectionColumn.js.map +1 -1
  36. package/build/browser/object-table/hooks/useTableSorting.js.map +1 -1
  37. package/build/browser/object-table/utils/getRowId.js.map +1 -1
  38. package/build/cjs/public/experimental.cjs +435 -264
  39. package/build/cjs/public/experimental.cjs.map +1 -1
  40. package/build/cjs/public/experimental.css +114 -56
  41. package/build/cjs/public/experimental.css.map +1 -1
  42. package/build/cjs/public/experimental.d.cts +8 -11
  43. package/build/esm/base-components/checkbox/Checkbox.module.css +10 -3
  44. package/build/esm/object-table/CellContextMenu.module.css +1 -1
  45. package/build/{browser/object-table/CellContextMenu.module.css → esm/object-table/LoadingCell.js} +16 -3
  46. package/build/esm/object-table/LoadingCell.js.map +1 -0
  47. package/build/esm/object-table/LoadingCell.module.css +48 -0
  48. package/build/esm/object-table/LoadingRow.js +43 -0
  49. package/build/esm/object-table/LoadingRow.js.map +1 -0
  50. package/build/esm/object-table/LoadingStateTable.js +101 -0
  51. package/build/esm/object-table/LoadingStateTable.js.map +1 -0
  52. package/build/{browser/object-table/TableHeaderContent.module.css → esm/object-table/NonIdealState.js} +11 -13
  53. package/build/esm/object-table/NonIdealState.js.map +1 -0
  54. package/build/{browser/object-table/Table.module.css → esm/object-table/NonIdealState.module.css} +10 -4
  55. package/build/esm/object-table/ObjectTable.js +6 -5
  56. package/build/esm/object-table/ObjectTable.js.map +1 -1
  57. package/build/esm/object-table/ObjectTableApi.js.map +1 -1
  58. package/build/esm/object-table/Table.js +34 -13
  59. package/build/esm/object-table/Table.js.map +1 -1
  60. package/build/esm/object-table/Table.module.css +2 -2
  61. package/build/esm/object-table/TableBody.js +13 -2
  62. package/build/esm/object-table/TableBody.js.map +1 -1
  63. package/build/esm/object-table/TableCell.js.map +1 -1
  64. package/build/esm/object-table/TableCell.module.css +7 -8
  65. package/build/esm/object-table/TableHeader.module.css +15 -9
  66. package/build/esm/object-table/TableHeaderContent.js.map +1 -1
  67. package/build/esm/object-table/TableHeaderWithPopover.module.css +31 -26
  68. package/build/esm/object-table/TableRow.module.css +1 -1
  69. package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js +18 -20
  70. package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js.map +1 -1
  71. package/build/esm/object-table/hooks/useColumnDefs.js +6 -2
  72. package/build/esm/object-table/hooks/useColumnDefs.js.map +1 -1
  73. package/build/esm/object-table/hooks/useColumnPinning.js.map +1 -1
  74. package/build/esm/object-table/hooks/useColumnVisibility.js.map +1 -1
  75. package/build/esm/object-table/hooks/useObjectTableData.js +7 -6
  76. package/build/esm/object-table/hooks/useObjectTableData.js.map +1 -1
  77. package/build/esm/object-table/hooks/useRowSelection.js.map +1 -1
  78. package/build/esm/object-table/hooks/useSelectionColumn.js.map +1 -1
  79. package/build/esm/object-table/hooks/useTableSorting.js.map +1 -1
  80. package/build/esm/object-table/utils/getRowId.js.map +1 -1
  81. package/build/types/object-table/LoadingCell.d.ts +4 -0
  82. package/build/types/object-table/LoadingCell.d.ts.map +1 -0
  83. package/build/types/object-table/LoadingRow.d.ts +11 -0
  84. package/build/types/object-table/LoadingRow.d.ts.map +1 -0
  85. package/build/types/object-table/LoadingStateTable.d.ts +11 -0
  86. package/build/types/object-table/LoadingStateTable.d.ts.map +1 -0
  87. package/build/types/object-table/NonIdealState.d.ts +6 -0
  88. package/build/types/object-table/NonIdealState.d.ts.map +1 -0
  89. package/build/types/object-table/ObjectTable.d.ts +4 -4
  90. package/build/types/object-table/ObjectTable.d.ts.map +1 -1
  91. package/build/types/object-table/ObjectTableApi.d.ts +4 -8
  92. package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
  93. package/build/types/object-table/Table.d.ts +2 -1
  94. package/build/types/object-table/Table.d.ts.map +1 -1
  95. package/build/types/object-table/TableBody.d.ts +4 -2
  96. package/build/types/object-table/TableBody.d.ts.map +1 -1
  97. package/build/types/object-table/TableHeaderContent.d.ts.map +1 -1
  98. package/build/types/object-table/hooks/useColumnDefs.d.ts +3 -3
  99. package/build/types/object-table/hooks/useColumnDefs.d.ts.map +1 -1
  100. package/build/types/object-table/hooks/useColumnPinning.d.ts +3 -3
  101. package/build/types/object-table/hooks/useColumnPinning.d.ts.map +1 -1
  102. package/build/types/object-table/hooks/useColumnVisibility.d.ts +3 -3
  103. package/build/types/object-table/hooks/useColumnVisibility.d.ts.map +1 -1
  104. package/build/types/object-table/hooks/useObjectTableData.d.ts +6 -6
  105. package/build/types/object-table/hooks/useObjectTableData.d.ts.map +1 -1
  106. package/build/types/object-table/hooks/useRowSelection.d.ts +3 -3
  107. package/build/types/object-table/hooks/useRowSelection.d.ts.map +1 -1
  108. package/build/types/object-table/hooks/useSelectionColumn.d.ts +2 -2
  109. package/build/types/object-table/hooks/useSelectionColumn.d.ts.map +1 -1
  110. package/build/types/object-table/hooks/useTableSorting.d.ts +3 -3
  111. package/build/types/object-table/hooks/useTableSorting.d.ts.map +1 -1
  112. package/build/types/object-table/utils/getRowId.d.ts +3 -3
  113. package/build/types/object-table/utils/getRowId.d.ts.map +1 -1
  114. package/package.json +6 -6
  115. package/build/browser/base-components/checkbox/Checkbox.module.css +0 -72
  116. package/build/browser/object-table/TableBody.module.css +0 -20
  117. package/build/browser/object-table/TableCell.module.css +0 -63
  118. package/build/browser/object-table/TableHeader.module.css +0 -95
  119. package/build/browser/object-table/TableHeaderWithPopover.module.css +0 -105
  120. package/build/browser/object-table/TableRow.module.css +0 -60
@@ -1 +1 @@
1
- {"version":3,"file":"useRowSelection.js","names":["useCallback","useMemo","useState","getRowId","getRowIdFromPrimaryKey","useRowSelection","selectionMode","selectedRows","onRowSelection","data","internalRowSelection","setInternalRowSelection","lastSelectedRowIndex","setLastSelectedRowIndex","isControlled","undefined","isSelectionEnabled","rowSelectionState","getRowSelectionState","selectedCount","Object","values","filter","Boolean","length","totalCount","isAllSelected","onToggleAll","newSelectedRows","map","item","$primaryKey","onToggleRow","rowId","rowIndex","isShiftClick","getSingleSelectionRows","getRangeSelectionRows","getMultipleSelectionRows","rowSelection","hasSelection","primaryKey","rowsInRange","getRowsInRange","primaryKeysInRange","currentlySelected","getSelectedPrimaryKeys","forEach","includes","push","i","startIndex","endIndex","start","Math","min","end","max","rows","primaryKeys","reduce","acc","selectionState"],"sources":["useRowSelection.ts"],"sourcesContent":["/*\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\nimport type { ObjectTypeDefinition, Osdk, PrimaryKeyType } from \"@osdk/api\";\nimport type { RowSelectionState } from \"@tanstack/react-table\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport { getRowId, getRowIdFromPrimaryKey } from \"../utils/getRowId.js\";\n\nexport interface UseRowSelectionProps<\n Q extends ObjectTypeDefinition,\n RDPs extends Record<string, any> = Record<string, never>,\n> {\n selectionMode?: \"single\" | \"multiple\" | \"none\";\n selectedRows?: PrimaryKeyType<Q>[];\n onRowSelection?: (selectedRowIds: PrimaryKeyType<Q>[]) => void;\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", any, RDPs>> | undefined;\n}\n\nexport interface UseRowSelectionResult {\n rowSelection: RowSelectionState;\n isAllSelected: boolean;\n hasSelection: boolean;\n onToggleAll: () => void;\n onToggleRow: (\n rowId: string,\n rowIndex: number,\n isShiftClick?: boolean,\n ) => void;\n}\n\nexport function useRowSelection<\n Q extends ObjectTypeDefinition,\n RDPs extends Record<string, any> = Record<string, never>,\n>({\n selectionMode = \"none\",\n selectedRows,\n onRowSelection,\n data,\n}: UseRowSelectionProps<Q, RDPs>): UseRowSelectionResult {\n // The rowSelectionState in uncontrolled mode\n const [internalRowSelection, setInternalRowSelection] = useState<\n RowSelectionState\n >({});\n\n // Used for shift-click behavior in \"multiple\" mode\n const [lastSelectedRowIndex, setLastSelectedRowIndex] = useState<\n number | null\n >(null);\n\n const isControlled = selectedRows !== undefined;\n const isSelectionEnabled = selectionMode !== \"none\";\n\n // Row selection state\n // If controlled mode, return the state from selectedRows prop\n // If uncontrolled, return the internalRowSelection state\n const rowSelectionState: RowSelectionState = useMemo(() => {\n if (!isSelectionEnabled) return {};\n if (isControlled && selectedRows) {\n return getRowSelectionState(selectedRows);\n }\n return internalRowSelection;\n }, [\n isSelectionEnabled,\n isControlled,\n selectedRows,\n internalRowSelection,\n ]);\n\n const selectedCount = Object.values(rowSelectionState).filter(Boolean).length;\n const totalCount = data?.length ?? 0;\n const isAllSelected = totalCount > 0 && selectedCount === totalCount;\n const hasSelection = selectedCount > 0;\n\n const onToggleAll = useCallback(() => {\n if (!isSelectionEnabled || !data) return;\n\n const newSelectedRows: PrimaryKeyType<Q>[] = isAllSelected\n ? []\n : data.map(item => item.$primaryKey);\n\n if (!isControlled) {\n setInternalRowSelection(getRowSelectionState(newSelectedRows));\n }\n onRowSelection?.(newSelectedRows);\n }, [isSelectionEnabled, data, isAllSelected, isControlled, onRowSelection]);\n\n const onToggleRow = useCallback(\n (rowId: string, rowIndex: number, isShiftClick: boolean = false) => {\n if (!isSelectionEnabled || !data) return;\n\n let newSelectedRows: PrimaryKeyType<Q>[] = [];\n\n if (selectionMode === \"single\") {\n newSelectedRows = getSingleSelectionRows({\n rowId,\n rowIndex,\n data,\n rowSelectionState,\n });\n setLastSelectedRowIndex(rowIndex);\n } else {\n // Multiple selection mode\n\n // When user does shiftClick but lastSelectedRowIndex is null,\n // it is treated as a normal click in multiple selection\n if (isShiftClick && lastSelectedRowIndex != null) {\n newSelectedRows = getRangeSelectionRows(\n { rowId, rowIndex, data, lastSelectedRowIndex, rowSelectionState },\n );\n } else {\n newSelectedRows = getMultipleSelectionRows(\n { rowId, rowIndex, data, rowSelectionState },\n );\n }\n setLastSelectedRowIndex(rowIndex);\n }\n if (!isControlled) {\n setInternalRowSelection(getRowSelectionState(newSelectedRows));\n }\n onRowSelection?.(newSelectedRows);\n },\n [\n isSelectionEnabled,\n data,\n selectionMode,\n lastSelectedRowIndex,\n isControlled,\n rowSelectionState,\n onRowSelection,\n ],\n );\n\n return {\n rowSelection: rowSelectionState,\n isAllSelected,\n hasSelection,\n onToggleAll,\n onToggleRow,\n };\n}\n\ninterface GetSelectedRowsProps<\n Q extends ObjectTypeDefinition,\n RDPs extends Record<string, any> = Record<string, never>,\n> {\n rowId: string;\n rowIndex: number;\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", any, RDPs>>;\n rowSelectionState: RowSelectionState;\n lastSelectedRowIndex?: number;\n}\n\nfunction getSingleSelectionRows<\n Q extends ObjectTypeDefinition,\n RDPs extends Record<string, any> = Record<string, never>,\n>(\n { rowId, rowIndex, data, rowSelectionState }: GetSelectedRowsProps<Q, RDPs>,\n): PrimaryKeyType<Q>[] {\n const primaryKey = data[rowIndex].$primaryKey;\n // Toggle row selection in single selection mode\n const newSelectedRows = rowSelectionState[rowId] ? [] : [primaryKey];\n return newSelectedRows;\n}\n\nfunction getRangeSelectionRows<\n Q extends ObjectTypeDefinition,\n RDPs extends Record<string, any> = Record<string, never>,\n>(\n { lastSelectedRowIndex, rowIndex, data, rowSelectionState }:\n GetSelectedRowsProps<Q, RDPs>,\n): PrimaryKeyType<Q>[] {\n // This function is only called if lastSelectedRowIndex is not null\n // This condition is added for typechecks only\n if (lastSelectedRowIndex != null) {\n const rowsInRange = getRowsInRange(data, lastSelectedRowIndex, rowIndex);\n const primaryKeysInRange = rowsInRange.map(item => item.$primaryKey);\n\n const currentlySelected = getSelectedPrimaryKeys(rowSelectionState, data);\n\n // Add all rows in range to selectedRows if not yet selected\n const newSelectedRows = [...currentlySelected];\n primaryKeysInRange.forEach(item => {\n if (!newSelectedRows.includes(item)) {\n newSelectedRows.push(item);\n }\n });\n return newSelectedRows;\n }\n return [];\n}\n\nfunction getMultipleSelectionRows<\n Q extends ObjectTypeDefinition,\n RDPs extends Record<string, any> = Record<string, never>,\n>(\n { rowIndex, data, rowSelectionState }: GetSelectedRowsProps<Q, RDPs>,\n): PrimaryKeyType<Q>[] {\n const primaryKey = data[rowIndex].$primaryKey;\n const currentlySelected = getSelectedPrimaryKeys(rowSelectionState, data);\n // Handles single row toggle in multiple selection mode\n const newSelectedRows = currentlySelected.includes(primaryKey)\n ? currentlySelected.filter(i => i !== primaryKey)\n : [...currentlySelected, primaryKey];\n return newSelectedRows;\n}\n\n/**\n * Builds a range of rows from startIndex to endIndex\n */\nfunction getRowsInRange<\n Q extends ObjectTypeDefinition,\n RDPs extends Record<string, any> = Record<string, never>,\n>(\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", any, RDPs>>,\n startIndex: number,\n endIndex: number,\n): Array<Osdk.Instance<Q, \"$allBaseProperties\", any, RDPs>> {\n const start = Math.min(startIndex, endIndex);\n const end = Math.max(startIndex, endIndex);\n const rows: Array<Osdk.Instance<Q, \"$allBaseProperties\", any, RDPs>> = [];\n\n for (let i = start; i <= end; i++) {\n const item = data[i];\n if (item) {\n rows.push(item);\n }\n }\n\n return rows;\n}\n\n/**\n * Converts an array of primary keys to a RowSelectionState object\n */\nfunction getRowSelectionState<Q extends ObjectTypeDefinition>(\n primaryKeys: PrimaryKeyType<Q>[],\n): RowSelectionState {\n return primaryKeys.reduce<RowSelectionState>(\n (acc, primaryKey) => {\n acc[getRowIdFromPrimaryKey(primaryKey)] = true;\n return acc;\n },\n {},\n );\n}\n\n/**\n * Converts from a RowSelectionState object back to an array of primary keys\n */\nfunction getSelectedPrimaryKeys<\n Q extends ObjectTypeDefinition,\n RDPs extends Record<string, any> = Record<string, never>,\n>(\n selectionState: RowSelectionState,\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", any, RDPs>>,\n): PrimaryKeyType<Q>[] {\n return data\n .filter(item => selectionState[getRowId(item)])\n .map(item => item.$primaryKey);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useRowSelection.js","names":["useCallback","useMemo","useState","getRowId","getRowIdFromPrimaryKey","useRowSelection","selectionMode","selectedRows","onRowSelection","data","internalRowSelection","setInternalRowSelection","lastSelectedRowIndex","setLastSelectedRowIndex","isControlled","undefined","isSelectionEnabled","rowSelectionState","getRowSelectionState","selectedCount","Object","values","filter","Boolean","length","totalCount","isAllSelected","onToggleAll","newSelectedRows","map","item","$primaryKey","onToggleRow","rowId","rowIndex","isShiftClick","getSingleSelectionRows","getRangeSelectionRows","getMultipleSelectionRows","rowSelection","hasSelection","primaryKey","rowsInRange","getRowsInRange","primaryKeysInRange","currentlySelected","getSelectedPrimaryKeys","forEach","includes","push","i","startIndex","endIndex","start","Math","min","end","max","rows","primaryKeys","reduce","acc","selectionState"],"sources":["useRowSelection.ts"],"sourcesContent":["/*\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\nimport type {\n ObjectOrInterfaceDefinition,\n Osdk,\n PrimaryKeyType,\n} from \"@osdk/api\";\nimport type { RowSelectionState } from \"@tanstack/react-table\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport { getRowId, getRowIdFromPrimaryKey } from \"../utils/getRowId.js\";\n\nexport interface UseRowSelectionProps<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, any> = Record<string, never>,\n> {\n selectionMode?: \"single\" | \"multiple\" | \"none\";\n selectedRows?: PrimaryKeyType<Q>[];\n onRowSelection?: (selectedRowIds: PrimaryKeyType<Q>[]) => void;\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", any, RDPs>> | undefined;\n}\n\nexport interface UseRowSelectionResult {\n rowSelection: RowSelectionState;\n isAllSelected: boolean;\n hasSelection: boolean;\n onToggleAll: () => void;\n onToggleRow: (\n rowId: string,\n rowIndex: number,\n isShiftClick?: boolean,\n ) => void;\n}\n\nexport function useRowSelection<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, any> = Record<string, never>,\n>({\n selectionMode = \"none\",\n selectedRows,\n onRowSelection,\n data,\n}: UseRowSelectionProps<Q, RDPs>): UseRowSelectionResult {\n // The rowSelectionState in uncontrolled mode\n const [internalRowSelection, setInternalRowSelection] = useState<\n RowSelectionState\n >({});\n\n // Used for shift-click behavior in \"multiple\" mode\n const [lastSelectedRowIndex, setLastSelectedRowIndex] = useState<\n number | null\n >(null);\n\n const isControlled = selectedRows !== undefined;\n const isSelectionEnabled = selectionMode !== \"none\";\n\n // Row selection state\n // If controlled mode, return the state from selectedRows prop\n // If uncontrolled, return the internalRowSelection state\n const rowSelectionState: RowSelectionState = useMemo(() => {\n if (!isSelectionEnabled) return {};\n if (isControlled && selectedRows) {\n return getRowSelectionState(selectedRows);\n }\n return internalRowSelection;\n }, [\n isSelectionEnabled,\n isControlled,\n selectedRows,\n internalRowSelection,\n ]);\n\n const selectedCount = Object.values(rowSelectionState).filter(Boolean).length;\n const totalCount = data?.length ?? 0;\n const isAllSelected = totalCount > 0 && selectedCount === totalCount;\n const hasSelection = selectedCount > 0;\n\n const onToggleAll = useCallback(() => {\n if (!isSelectionEnabled || !data) return;\n\n const newSelectedRows: PrimaryKeyType<Q>[] = isAllSelected\n ? []\n : data.map(item => item.$primaryKey);\n\n if (!isControlled) {\n setInternalRowSelection(getRowSelectionState(newSelectedRows));\n }\n onRowSelection?.(newSelectedRows);\n }, [isSelectionEnabled, data, isAllSelected, isControlled, onRowSelection]);\n\n const onToggleRow = useCallback(\n (rowId: string, rowIndex: number, isShiftClick: boolean = false) => {\n if (!isSelectionEnabled || !data) return;\n\n let newSelectedRows: PrimaryKeyType<Q>[] = [];\n\n if (selectionMode === \"single\") {\n newSelectedRows = getSingleSelectionRows({\n rowId,\n rowIndex,\n data,\n rowSelectionState,\n });\n setLastSelectedRowIndex(rowIndex);\n } else {\n // Multiple selection mode\n\n // When user does shiftClick but lastSelectedRowIndex is null,\n // it is treated as a normal click in multiple selection\n if (isShiftClick && lastSelectedRowIndex != null) {\n newSelectedRows = getRangeSelectionRows(\n { rowId, rowIndex, data, lastSelectedRowIndex, rowSelectionState },\n );\n } else {\n newSelectedRows = getMultipleSelectionRows(\n { rowId, rowIndex, data, rowSelectionState },\n );\n }\n setLastSelectedRowIndex(rowIndex);\n }\n if (!isControlled) {\n setInternalRowSelection(getRowSelectionState(newSelectedRows));\n }\n onRowSelection?.(newSelectedRows);\n },\n [\n isSelectionEnabled,\n data,\n selectionMode,\n lastSelectedRowIndex,\n isControlled,\n rowSelectionState,\n onRowSelection,\n ],\n );\n\n return {\n rowSelection: rowSelectionState,\n isAllSelected,\n hasSelection,\n onToggleAll,\n onToggleRow,\n };\n}\n\ninterface GetSelectedRowsProps<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, any> = Record<string, never>,\n> {\n rowId: string;\n rowIndex: number;\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", any, RDPs>>;\n rowSelectionState: RowSelectionState;\n lastSelectedRowIndex?: number;\n}\n\nfunction getSingleSelectionRows<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, any> = Record<string, never>,\n>(\n { rowId, rowIndex, data, rowSelectionState }: GetSelectedRowsProps<Q, RDPs>,\n): PrimaryKeyType<Q>[] {\n const primaryKey = data[rowIndex].$primaryKey;\n // Toggle row selection in single selection mode\n const newSelectedRows = rowSelectionState[rowId] ? [] : [primaryKey];\n return newSelectedRows;\n}\n\nfunction getRangeSelectionRows<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, any> = Record<string, never>,\n>(\n { lastSelectedRowIndex, rowIndex, data, rowSelectionState }:\n GetSelectedRowsProps<Q, RDPs>,\n): PrimaryKeyType<Q>[] {\n // This function is only called if lastSelectedRowIndex is not null\n // This condition is added for typechecks only\n if (lastSelectedRowIndex != null) {\n const rowsInRange = getRowsInRange(data, lastSelectedRowIndex, rowIndex);\n const primaryKeysInRange = rowsInRange.map(item => item.$primaryKey);\n\n const currentlySelected = getSelectedPrimaryKeys(rowSelectionState, data);\n\n // Add all rows in range to selectedRows if not yet selected\n const newSelectedRows = [...currentlySelected];\n primaryKeysInRange.forEach(item => {\n if (!newSelectedRows.includes(item)) {\n newSelectedRows.push(item);\n }\n });\n return newSelectedRows;\n }\n return [];\n}\n\nfunction getMultipleSelectionRows<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, any> = Record<string, never>,\n>(\n { rowIndex, data, rowSelectionState }: GetSelectedRowsProps<Q, RDPs>,\n): PrimaryKeyType<Q>[] {\n const primaryKey = data[rowIndex].$primaryKey;\n const currentlySelected = getSelectedPrimaryKeys(rowSelectionState, data);\n // Handles single row toggle in multiple selection mode\n const newSelectedRows = currentlySelected.includes(primaryKey)\n ? currentlySelected.filter(i => i !== primaryKey)\n : [...currentlySelected, primaryKey];\n return newSelectedRows;\n}\n\n/**\n * Builds a range of rows from startIndex to endIndex\n */\nfunction getRowsInRange<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, any> = Record<string, never>,\n>(\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", any, RDPs>>,\n startIndex: number,\n endIndex: number,\n): Array<Osdk.Instance<Q, \"$allBaseProperties\", any, RDPs>> {\n const start = Math.min(startIndex, endIndex);\n const end = Math.max(startIndex, endIndex);\n const rows: Array<Osdk.Instance<Q, \"$allBaseProperties\", any, RDPs>> = [];\n\n for (let i = start; i <= end; i++) {\n const item = data[i];\n if (item) {\n rows.push(item);\n }\n }\n\n return rows;\n}\n\n/**\n * Converts an array of primary keys to a RowSelectionState object\n */\nfunction getRowSelectionState<Q extends ObjectOrInterfaceDefinition>(\n primaryKeys: PrimaryKeyType<Q>[],\n): RowSelectionState {\n return primaryKeys.reduce<RowSelectionState>(\n (acc, primaryKey) => {\n acc[getRowIdFromPrimaryKey(primaryKey)] = true;\n return acc;\n },\n {},\n );\n}\n\n/**\n * Converts from a RowSelectionState object back to an array of primary keys\n */\nfunction getSelectedPrimaryKeys<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, any> = Record<string, never>,\n>(\n selectionState: RowSelectionState,\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", any, RDPs>>,\n): PrimaryKeyType<Q>[] {\n return data\n .filter(item => selectionState[getRowId(item)])\n .map(item => item.$primaryKey);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useSelectionColumn.js","names":["React","useMemo","SelectionCell","SelectionHeaderCell","SELECTION_COLUMN_ID","useSelectionColumn","selectionMode","isAllSelected","hasSelection","onToggleAll","onToggleRow","selectionColumn","id","header","createElement","cell","row","size","minSize","maxSize","enableSorting","enableResizing","enablePinning"],"sources":["useSelectionColumn.tsx"],"sourcesContent":["/*\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\nimport type {\n ObjectTypeDefinition,\n Osdk,\n PropertyKeys,\n SimplePropertyDef,\n} from \"@osdk/api\";\nimport type { ColumnDef } from \"@tanstack/react-table\";\nimport React, { useMemo } from \"react\";\nimport { SelectionCell, SelectionHeaderCell } from \"../SelectionCells.js\";\nimport { SELECTION_COLUMN_ID } from \"../utils/constants.js\";\n\ninterface UseSelectionColumnProps {\n selectionMode?: \"single\" | \"multiple\" | \"none\";\n isAllSelected: boolean;\n hasSelection: boolean;\n onToggleAll: () => void;\n onToggleRow: (id: string, rowIndex: number, isShiftClick: boolean) => void;\n}\n\nexport const useSelectionColumn = <\n Q extends ObjectTypeDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<\n string,\n never\n >,\n>({\n selectionMode,\n isAllSelected,\n hasSelection,\n onToggleAll,\n onToggleRow,\n}: UseSelectionColumnProps):\n | ColumnDef<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>\n >\n | null =>\n{\n const selectionColumn = useMemo(() => {\n if (selectionMode === \"none\") return null;\n\n const colDef: ColumnDef<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>\n > = {\n id: SELECTION_COLUMN_ID,\n header: () => (\n selectionMode === \"multiple\"\n ? (\n <SelectionHeaderCell\n isAllSelected={isAllSelected}\n hasSelection={hasSelection}\n onToggleAll={onToggleAll}\n />\n )\n : null\n ),\n cell: ({ row }: { row: any }) => (\n <SelectionCell\n row={row}\n onToggleRow={onToggleRow}\n />\n ),\n size: 50,\n minSize: 50,\n maxSize: 50,\n enableSorting: false,\n enableResizing: false,\n enablePinning: false,\n };\n\n return colDef;\n }, [\n selectionMode,\n isAllSelected,\n hasSelection,\n onToggleAll,\n onToggleRow,\n ]);\n\n return selectionColumn;\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,aAAa,EAAEC,mBAAmB,QAAQ,sBAAsB;AACzE,SAASC,mBAAmB,QAAQ,uBAAuB;AAU3D,OAAO,MAAMC,kBAAkB,GAAGA,CAMhC;EACAC,aAAa;EACbC,aAAa;EACbC,YAAY;EACZC,WAAW;EACXC;AACuB,CAAC,KAK1B;EACE,MAAMC,eAAe,GAAGV,OAAO,CAAC,MAAM;IACpC,IAAIK,aAAa,KAAK,MAAM,EAAE,OAAO,IAAI;IA+BzC,OA3BI;MACFM,EAAE,EAAER,mBAAmB;MACvBS,MAAM,EAAEA,CAAA,KACNP,aAAa,KAAK,UAAU,gBAExBN,KAAA,CAAAc,aAAA,CAACX,mBAAmB;QAClBI,aAAa,EAAEA,aAAc;QAC7BC,YAAY,EAAEA,YAAa;QAC3BC,WAAW,EAAEA;MAAY,CAC1B,CAAC,GAEF,IACL;MACDM,IAAI,EAAEA,CAAC;QAAEC;MAAkB,CAAC,kBAC1BhB,KAAA,CAAAc,aAAA,CAACZ,aAAa;QACZc,GAAG,EAAEA,GAAI;QACTN,WAAW,EAAEA;MAAY,CAC1B,CACF;MACDO,IAAI,EAAE,EAAE;MACRC,OAAO,EAAE,EAAE;MACXC,OAAO,EAAE,EAAE;MACXC,aAAa,EAAE,KAAK;MACpBC,cAAc,EAAE,KAAK;MACrBC,aAAa,EAAE;IACjB,CAAC;EAGH,CAAC,EAAE,CACDhB,aAAa,EACbC,aAAa,EACbC,YAAY,EACZC,WAAW,EACXC,WAAW,CACZ,CAAC;EAEF,OAAOC,eAAe;AACxB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useSelectionColumn.js","names":["React","useMemo","SelectionCell","SelectionHeaderCell","SELECTION_COLUMN_ID","useSelectionColumn","selectionMode","isAllSelected","hasSelection","onToggleAll","onToggleRow","selectionColumn","id","header","createElement","cell","row","size","minSize","maxSize","enableSorting","enableResizing","enablePinning"],"sources":["useSelectionColumn.tsx"],"sourcesContent":["/*\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\nimport type {\n ObjectOrInterfaceDefinition,\n Osdk,\n PropertyKeys,\n SimplePropertyDef,\n} from \"@osdk/api\";\nimport type { ColumnDef } from \"@tanstack/react-table\";\nimport React, { useMemo } from \"react\";\nimport { SelectionCell, SelectionHeaderCell } from \"../SelectionCells.js\";\nimport { SELECTION_COLUMN_ID } from \"../utils/constants.js\";\n\ninterface UseSelectionColumnProps {\n selectionMode?: \"single\" | \"multiple\" | \"none\";\n isAllSelected: boolean;\n hasSelection: boolean;\n onToggleAll: () => void;\n onToggleRow: (id: string, rowIndex: number, isShiftClick: boolean) => void;\n}\n\nexport const useSelectionColumn = <\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<\n string,\n never\n >,\n>({\n selectionMode,\n isAllSelected,\n hasSelection,\n onToggleAll,\n onToggleRow,\n}: UseSelectionColumnProps):\n | ColumnDef<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>\n >\n | null =>\n{\n const selectionColumn = useMemo(() => {\n if (selectionMode === \"none\") return null;\n\n const colDef: ColumnDef<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>\n > = {\n id: SELECTION_COLUMN_ID,\n header: () => (\n selectionMode === \"multiple\"\n ? (\n <SelectionHeaderCell\n isAllSelected={isAllSelected}\n hasSelection={hasSelection}\n onToggleAll={onToggleAll}\n />\n )\n : null\n ),\n cell: ({ row }: { row: any }) => (\n <SelectionCell\n row={row}\n onToggleRow={onToggleRow}\n />\n ),\n size: 50,\n minSize: 50,\n maxSize: 50,\n enableSorting: false,\n enableResizing: false,\n enablePinning: false,\n };\n\n return colDef;\n }, [\n selectionMode,\n isAllSelected,\n hasSelection,\n onToggleAll,\n onToggleRow,\n ]);\n\n return selectionColumn;\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,aAAa,EAAEC,mBAAmB,QAAQ,sBAAsB;AACzE,SAASC,mBAAmB,QAAQ,uBAAuB;AAU3D,OAAO,MAAMC,kBAAkB,GAAGA,CAMhC;EACAC,aAAa;EACbC,aAAa;EACbC,YAAY;EACZC,WAAW;EACXC;AACuB,CAAC,KAK1B;EACE,MAAMC,eAAe,GAAGV,OAAO,CAAC,MAAM;IACpC,IAAIK,aAAa,KAAK,MAAM,EAAE,OAAO,IAAI;IA+BzC,OA3BI;MACFM,EAAE,EAAER,mBAAmB;MACvBS,MAAM,EAAEA,CAAA,KACNP,aAAa,KAAK,UAAU,gBAExBN,KAAA,CAAAc,aAAA,CAACX,mBAAmB;QAClBI,aAAa,EAAEA,aAAc;QAC7BC,YAAY,EAAEA,YAAa;QAC3BC,WAAW,EAAEA;MAAY,CAC1B,CAAC,GAEF,IACL;MACDM,IAAI,EAAEA,CAAC;QAAEC;MAAkB,CAAC,kBAC1BhB,KAAA,CAAAc,aAAA,CAACZ,aAAa;QACZc,GAAG,EAAEA,GAAI;QACTN,WAAW,EAAEA;MAAY,CAC1B,CACF;MACDO,IAAI,EAAE,EAAE;MACRC,OAAO,EAAE,EAAE;MACXC,OAAO,EAAE,EAAE;MACXC,aAAa,EAAE,KAAK;MACpBC,cAAc,EAAE,KAAK;MACrBC,aAAa,EAAE;IACjB,CAAC;EAGH,CAAC,EAAE,CACDhB,aAAa,EACbC,aAAa,EACbC,YAAY,EACZC,WAAW,EACXC,WAAW,CACZ,CAAC;EAEF,OAAOC,eAAe;AACxB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useTableSorting.js","names":["useCallback","useMemo","useState","useTableSorting","orderBy","defaultOrderBy","onOrderByChanged","internalSorting","setInternalSorting","convertOrderByToSortingState","isControlled","undefined","sortingState","onSortingChange","updater","newSorting","newOrderBy","convertSortingStateToOrderBy","sorting","map","property","direction","id","desc"],"sources":["useTableSorting.ts"],"sourcesContent":["/*\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\nimport type {\n ObjectTypeDefinition,\n PropertyKeys,\n QueryDefinition,\n SimplePropertyDef,\n} from \"@osdk/api\";\nimport type { OnChangeFn, SortingState } from \"@tanstack/react-table\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport type { ObjectTableProps } from \"../ObjectTableApi.js\";\n\ninterface UseTableSortingProps<\n Q extends ObjectTypeDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<\n string,\n never\n >,\n> {\n orderBy?: ObjectTableProps<Q, RDPs, FunctionColumns>[\"orderBy\"];\n\n defaultOrderBy?: ObjectTableProps<Q, RDPs, FunctionColumns>[\"defaultOrderBy\"];\n\n onOrderByChanged?: ObjectTableProps<\n Q,\n RDPs,\n FunctionColumns\n >[\"onOrderByChanged\"];\n}\n\ninterface UseTableSortingResults {\n sorting: SortingState;\n onSortingChange: OnChangeFn<SortingState>;\n}\n\nexport const useTableSorting = <\n Q extends ObjectTypeDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<\n string,\n never\n >,\n>({\n orderBy,\n defaultOrderBy,\n onOrderByChanged,\n}: UseTableSortingProps<Q, RDPs, FunctionColumns>): UseTableSortingResults => {\n // The sorting state in uncontrolled mode\n const [internalSorting, setInternalSorting] = useState<SortingState>(() =>\n defaultOrderBy ? convertOrderByToSortingState(defaultOrderBy) : []\n );\n\n const isControlled = orderBy !== undefined;\n\n // Sorting state\n // If controlled mode, return the state from orderBy prop\n // If uncontrolled, return the internalSorting state\n const sortingState: SortingState = useMemo(\n () => (orderBy ? convertOrderByToSortingState(orderBy) : internalSorting),\n [orderBy, internalSorting],\n );\n\n const onSortingChange: OnChangeFn<SortingState> = useCallback(\n (updater) => {\n const newSorting = typeof updater === \"function\"\n ? updater(sortingState)\n : updater;\n\n // Update internal state if uncontrolled\n if (!isControlled) {\n setInternalSorting(newSorting);\n }\n\n if (onOrderByChanged) {\n const newOrderBy = convertSortingStateToOrderBy<Q>(newSorting);\n onOrderByChanged(newOrderBy);\n }\n },\n [isControlled, sortingState, onOrderByChanged],\n );\n\n return { sorting: sortingState, onSortingChange };\n};\n\nfunction convertOrderByToSortingState<Q extends ObjectTypeDefinition>(\n orderBy: Array<{\n property: PropertyKeys<Q>;\n direction: \"asc\" | \"desc\";\n }>,\n): SortingState {\n return orderBy.map(({ property, direction }) => ({\n id: property,\n desc: direction === \"desc\",\n }));\n}\n\nfunction convertSortingStateToOrderBy<Q extends ObjectTypeDefinition>(\n sorting: SortingState,\n): Array<{\n property: PropertyKeys<Q>;\n direction: \"asc\" | \"desc\";\n}> {\n return sorting.map(({ id, desc }) => ({\n property: id as PropertyKeys<Q>,\n direction: desc ? \"desc\" : \"asc\",\n }));\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA,SAASA,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AA2BtD,OAAO,MAAMC,eAAe,GAAGA,CAO7B;EACAC,OAAO;EACPC,cAAc;EACdC;AAC8C,CAAC,KAA6B;EAC5E;EACA,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGN,QAAQ,CAAe,MACnEG,cAAc,GAAGI,4BAA4B,CAACJ,cAAc,CAAC,GAAG,EAClE,CAAC;EAED,MAAMK,YAAY,GAAGN,OAAO,KAAKO,SAAS;;EAE1C;EACA;EACA;EACA,MAAMC,YAA0B,GAAGX,OAAO,CACxC,MAAOG,OAAO,GAAGK,4BAA4B,CAACL,OAAO,CAAC,GAAGG,eAAgB,EACzE,CAACH,OAAO,EAAEG,eAAe,CAC3B,CAAC;EAED,MAAMM,eAAyC,GAAGb,WAAW,CAC1Dc,OAAO,IAAK;IACX,MAAMC,UAAU,GAAG,OAAOD,OAAO,KAAK,UAAU,GAC5CA,OAAO,CAACF,YAAY,CAAC,GACrBE,OAAO;;IAEX;IACA,IAAI,CAACJ,YAAY,EAAE;MACjBF,kBAAkB,CAACO,UAAU,CAAC;IAChC;IAEA,IAAIT,gBAAgB,EAAE;MACpB,MAAMU,UAAU,GAAGC,4BAA4B,CAAIF,UAAU,CAAC;MAC9DT,gBAAgB,CAACU,UAAU,CAAC;IAC9B;EACF,CAAC,EACD,CAACN,YAAY,EAAEE,YAAY,EAAEN,gBAAgB,CAC/C,CAAC;EAED,OAAO;IAAEY,OAAO,EAAEN,YAAY;IAAEC;EAAgB,CAAC;AACnD,CAAC;AAED,SAASJ,4BAA4BA,CACnCL,OAGE,EACY;EACd,OAAOA,OAAO,CAACe,GAAG,CAAC,CAAC;IAAEC,QAAQ;IAAEC;EAAU,CAAC,MAAM;IAC/CC,EAAE,EAAEF,QAAQ;IACZG,IAAI,EAAEF,SAAS,KAAK;EACtB,CAAC,CAAC,CAAC;AACL;AAEA,SAASJ,4BAA4BA,CACnCC,OAAqB,EAIpB;EACD,OAAOA,OAAO,CAACC,GAAG,CAAC,CAAC;IAAEG,EAAE;IAAEC;EAAK,CAAC,MAAM;IACpCH,QAAQ,EAAEE,EAAqB;IAC/BD,SAAS,EAAEE,IAAI,GAAG,MAAM,GAAG;EAC7B,CAAC,CAAC,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"file":"useTableSorting.js","names":["useCallback","useMemo","useState","useTableSorting","orderBy","defaultOrderBy","onOrderByChanged","internalSorting","setInternalSorting","convertOrderByToSortingState","isControlled","undefined","sortingState","onSortingChange","updater","newSorting","newOrderBy","convertSortingStateToOrderBy","sorting","map","property","direction","id","desc"],"sources":["useTableSorting.ts"],"sourcesContent":["/*\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\nimport type {\n ObjectOrInterfaceDefinition,\n PropertyKeys,\n QueryDefinition,\n SimplePropertyDef,\n} from \"@osdk/api\";\nimport type { OnChangeFn, SortingState } from \"@tanstack/react-table\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport type { ObjectTableProps } from \"../ObjectTableApi.js\";\n\ninterface UseTableSortingProps<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<\n string,\n never\n >,\n> {\n orderBy?: ObjectTableProps<Q, RDPs, FunctionColumns>[\"orderBy\"];\n\n defaultOrderBy?: ObjectTableProps<Q, RDPs, FunctionColumns>[\"defaultOrderBy\"];\n\n onOrderByChanged?: ObjectTableProps<\n Q,\n RDPs,\n FunctionColumns\n >[\"onOrderByChanged\"];\n}\n\ninterface UseTableSortingResults {\n sorting: SortingState;\n onSortingChange: OnChangeFn<SortingState>;\n}\n\nexport const useTableSorting = <\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<\n string,\n never\n >,\n>({\n orderBy,\n defaultOrderBy,\n onOrderByChanged,\n}: UseTableSortingProps<Q, RDPs, FunctionColumns>): UseTableSortingResults => {\n // The sorting state in uncontrolled mode\n const [internalSorting, setInternalSorting] = useState<SortingState>(() =>\n defaultOrderBy ? convertOrderByToSortingState(defaultOrderBy) : []\n );\n\n const isControlled = orderBy !== undefined;\n\n // Sorting state\n // If controlled mode, return the state from orderBy prop\n // If uncontrolled, return the internalSorting state\n const sortingState: SortingState = useMemo(\n () => (orderBy ? convertOrderByToSortingState(orderBy) : internalSorting),\n [orderBy, internalSorting],\n );\n\n const onSortingChange: OnChangeFn<SortingState> = useCallback(\n (updater) => {\n const newSorting = typeof updater === \"function\"\n ? updater(sortingState)\n : updater;\n\n // Update internal state if uncontrolled\n if (!isControlled) {\n setInternalSorting(newSorting);\n }\n\n if (onOrderByChanged) {\n const newOrderBy = convertSortingStateToOrderBy<Q>(newSorting);\n onOrderByChanged(newOrderBy);\n }\n },\n [isControlled, sortingState, onOrderByChanged],\n );\n\n return { sorting: sortingState, onSortingChange };\n};\n\nfunction convertOrderByToSortingState<Q extends ObjectOrInterfaceDefinition>(\n orderBy: Array<{\n property: PropertyKeys<Q>;\n direction: \"asc\" | \"desc\";\n }>,\n): SortingState {\n return orderBy.map(({ property, direction }) => ({\n id: property,\n desc: direction === \"desc\",\n }));\n}\n\nfunction convertSortingStateToOrderBy<Q extends ObjectOrInterfaceDefinition>(\n sorting: SortingState,\n): Array<{\n property: PropertyKeys<Q>;\n direction: \"asc\" | \"desc\";\n}> {\n return sorting.map(({ id, desc }) => ({\n property: id as PropertyKeys<Q>,\n direction: desc ? \"desc\" : \"asc\",\n }));\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA,SAASA,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AA2BtD,OAAO,MAAMC,eAAe,GAAGA,CAO7B;EACAC,OAAO;EACPC,cAAc;EACdC;AAC8C,CAAC,KAA6B;EAC5E;EACA,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGN,QAAQ,CAAe,MACnEG,cAAc,GAAGI,4BAA4B,CAACJ,cAAc,CAAC,GAAG,EAClE,CAAC;EAED,MAAMK,YAAY,GAAGN,OAAO,KAAKO,SAAS;;EAE1C;EACA;EACA;EACA,MAAMC,YAA0B,GAAGX,OAAO,CACxC,MAAOG,OAAO,GAAGK,4BAA4B,CAACL,OAAO,CAAC,GAAGG,eAAgB,EACzE,CAACH,OAAO,EAAEG,eAAe,CAC3B,CAAC;EAED,MAAMM,eAAyC,GAAGb,WAAW,CAC1Dc,OAAO,IAAK;IACX,MAAMC,UAAU,GAAG,OAAOD,OAAO,KAAK,UAAU,GAC5CA,OAAO,CAACF,YAAY,CAAC,GACrBE,OAAO;;IAEX;IACA,IAAI,CAACJ,YAAY,EAAE;MACjBF,kBAAkB,CAACO,UAAU,CAAC;IAChC;IAEA,IAAIT,gBAAgB,EAAE;MACpB,MAAMU,UAAU,GAAGC,4BAA4B,CAAIF,UAAU,CAAC;MAC9DT,gBAAgB,CAACU,UAAU,CAAC;IAC9B;EACF,CAAC,EACD,CAACN,YAAY,EAAEE,YAAY,EAAEN,gBAAgB,CAC/C,CAAC;EAED,OAAO;IAAEY,OAAO,EAAEN,YAAY;IAAEC;EAAgB,CAAC;AACnD,CAAC;AAED,SAASJ,4BAA4BA,CACnCL,OAGE,EACY;EACd,OAAOA,OAAO,CAACe,GAAG,CAAC,CAAC;IAAEC,QAAQ;IAAEC;EAAU,CAAC,MAAM;IAC/CC,EAAE,EAAEF,QAAQ;IACZG,IAAI,EAAEF,SAAS,KAAK;EACtB,CAAC,CAAC,CAAC;AACL;AAEA,SAASJ,4BAA4BA,CACnCC,OAAqB,EAIpB;EACD,OAAOA,OAAO,CAACC,GAAG,CAAC,CAAC;IAAEG,EAAE;IAAEC;EAAK,CAAC,MAAM;IACpCH,QAAQ,EAAEE,EAAqB;IAC/BD,SAAS,EAAEE,IAAI,GAAG,MAAM,GAAG;EAC7B,CAAC,CAAC,CAAC;AACL","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getRowId.js","names":["getRowId","row","getRowIdFromPrimaryKey","$primaryKey","primaryKey","toString"],"sources":["getRowId.ts"],"sourcesContent":["/*\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\nimport type {\n ObjectTypeDefinition,\n Osdk,\n PrimaryKeyType,\n PropertyKeys,\n SimplePropertyDef,\n} from \"@osdk/api\";\n\nexport const getRowId = <\n Q extends ObjectTypeDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<\n string,\n never\n >,\n>(\n row: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>,\n): string => {\n return getRowIdFromPrimaryKey(row.$primaryKey);\n};\n\nexport const getRowIdFromPrimaryKey = <Q extends ObjectTypeDefinition>(\n primaryKey: PrimaryKeyType<Q>,\n): string => primaryKey.toString();\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA,OAAO,MAAMA,QAAQ,GAOnBC,GAAkE,IACvD;EACX,OAAOC,sBAAsB,CAACD,GAAG,CAACE,WAAW,CAAC;AAChD,CAAC;AAED,OAAO,MAAMD,sBAAsB,GACjCE,UAA6B,IAClBA,UAAU,CAACC,QAAQ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"getRowId.js","names":["getRowId","row","getRowIdFromPrimaryKey","$primaryKey","primaryKey","toString"],"sources":["getRowId.ts"],"sourcesContent":["/*\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\nimport type {\n ObjectOrInterfaceDefinition,\n Osdk,\n PrimaryKeyType,\n PropertyKeys,\n SimplePropertyDef,\n} from \"@osdk/api\";\n\nexport const getRowId = <\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<\n string,\n never\n >,\n>(\n row: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>,\n): string => {\n return getRowIdFromPrimaryKey(row.$primaryKey);\n};\n\nexport const getRowIdFromPrimaryKey = <Q extends ObjectOrInterfaceDefinition>(\n primaryKey: PrimaryKeyType<Q>,\n): string => primaryKey.toString();\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA,OAAO,MAAMA,QAAQ,GAOnBC,GAAkE,IACvD;EACX,OAAOC,sBAAsB,CAACD,GAAG,CAACE,WAAW,CAAC;AAChD,CAAC;AAED,OAAO,MAAMD,sBAAsB,GACjCE,UAA6B,IAClBA,UAAU,CAACC,QAAQ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export declare function LoadingCell({ width }: {
3
+ width: number
4
+ }): React.ReactElement;
@@ -0,0 +1 @@
1
+ {"mappings":"AAiBA,OAAO,WAAW,OAAQ;AAI1B,OAAO,iBAAS,YAAY,EAAE,OAA0B,EAAjB;CAAE;AAAe,IAAG,MAAM","names":[],"sources":["../../../src/object-table/LoadingCell.tsx"],"version":3,"file":"LoadingCell.d.ts"}
@@ -0,0 +1,11 @@
1
+ import type { HeaderGroup, RowData } from "@tanstack/react-table";
2
+ import React from "react";
3
+ interface LoadingRowProps<TData extends RowData> {
4
+ headers: HeaderGroup<TData>["headers"];
5
+ columnCount: number;
6
+ translateY: number;
7
+ rowHeight?: number;
8
+ columnWidth?: number;
9
+ }
10
+ export declare function LoadingRow<TData extends RowData>({ headers, columnCount, translateY, rowHeight, columnWidth }: LoadingRowProps<TData>): React.ReactElement;
11
+ export {};
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,aAAa,eAAe,uBAAwB;AAClE,OAAO,WAAW,OAAQ;UAIhB,gBAAgB,cAAc,SAAS;CAC/C,SAAS,YAAY,OAAO;CAC5B;CACA;CACA;CACA;AACD;AAED,OAAO,iBAAS,WAAW,cAAc,SAAS,EAChD,SACA,aACA,YACA,WACA,aACuB,EAAtB,gBAAgB,SAAS,MAAM","names":[],"sources":["../../../src/object-table/LoadingRow.tsx"],"version":3,"file":"LoadingRow.d.ts"}
@@ -0,0 +1,11 @@
1
+ import type { HeaderGroup, RowData, Table } from "@tanstack/react-table";
2
+ import React from "react";
3
+ interface LoadingStateTableProps<TData extends RowData> {
4
+ table: Table<TData>;
5
+ tableContainerRef: React.RefObject<HTMLDivElement>;
6
+ headerGroups: Array<HeaderGroup<TData>>;
7
+ rowHeight?: number;
8
+ columnWidth?: number;
9
+ }
10
+ export declare function LoadingStateTable<TData extends RowData>({ table, tableContainerRef, headerGroups, rowHeight, columnWidth }: LoadingStateTableProps<TData>): React.ReactElement;
11
+ export {};
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,aAAa,SAAS,aAAa,uBAAwB;AAEzE,OAAO,WAA4C,OAAQ;UAOjD,uBAAuB,cAAc,SAAS;CACtD,OAAO,MAAM;CACb,mBAAmB,MAAM,UAAU;CACnC,cAAc,MAAM,YAAY;CAChC;CACA;AACD;AAID,OAAO,iBAAS,kBAAkB,cAAc,SAAS,EACvD,OACA,mBACA,cACA,WACA,aAC8B,EAA7B,uBAAuB,SAAS,MAAM","names":[],"sources":["../../../src/object-table/LoadingStateTable.tsx"],"version":3,"file":"LoadingStateTable.d.ts"}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ interface NonIdealStateProps {
3
+ message: string;
4
+ }
5
+ export declare function NonIdealState({ message }: NonIdealStateProps): React.ReactElement;
6
+ export {};
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,OAAO,WAAW,OAAQ;UAGhB,mBAAmB;CAC3B;AACD;AAED,OAAO,iBAAS,cACd,EAAE,SAA6B,EAAlB,qBACZ,MAAM","names":[],"sources":["../../../src/object-table/NonIdealState.tsx"],"version":3,"file":"NonIdealState.d.ts"}
@@ -1,4 +1,4 @@
1
- import type { ObjectTypeDefinition, QueryDefinition, SimplePropertyDef } from "@osdk/api";
1
+ import type { ObjectOrInterfaceDefinition, QueryDefinition, SimplePropertyDef } from "@osdk/api";
2
2
  import React from "react";
3
3
  import type { ObjectTableProps } from "./ObjectTableApi.js";
4
4
  /**
@@ -6,11 +6,11 @@ import type { ObjectTableProps } from "./ObjectTableApi.js";
6
6
  *
7
7
  * @example
8
8
  * ```tsx
9
- * <ObjectTable objectSet={myObjectSet} objectType={MyObjectType} />
9
+ * <ObjectTable objectType={MyObjectType} />
10
10
  * ```
11
11
  */
12
12
  export declare function ObjectTable<
13
- Q extends ObjectTypeDefinition,
13
+ Q extends ObjectOrInterfaceDefinition,
14
14
  RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,
15
15
  FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>
16
- >({ objectSet, objectType, columnDefinitions, filter, orderBy, defaultOrderBy, onOrderByChanged, onColumnsPinnedChanged, onRowSelection, renderCellContextMenu, selectionMode, selectedRows,...props }: ObjectTableProps<Q, RDPs, FunctionColumns>): React.ReactElement;
16
+ >({ objectType, columnDefinitions, filter, orderBy, defaultOrderBy, onOrderByChanged, onColumnsPinnedChanged, onRowSelection, renderCellContextMenu, selectionMode, selectedRows,...props }: ObjectTableProps<Q, RDPs, FunctionColumns>): React.ReactElement;
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,sBAGA,iBACA,yBACK,WAAY;AAGnB,OAAO,WAA+C,OAAQ;AAQ9D,cAAc,wBAAwB,qBAAsB;;;;;;;;;AAa5D,OAAO,iBAAS;CACd,UAAU;CACV,aAAa,eAAe,qBAAqB;CAIjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAI9D,EACA,WACA,YACA,mBACA,QACA,SACA,gBACA,kBACA,wBACA,gBACA,uBACA,eACA,aACA,GAAG,OACwC,EAA1C,iBAAiB,GAAG,MAAM,mBAAmB,MAAM","names":[],"sources":["../../../src/object-table/ObjectTable.tsx"],"version":3,"file":"ObjectTable.d.ts"}
1
+ {"mappings":"AAgBA,cACE,6BAGA,iBACA,yBACK,WAAY;AAGnB,OAAO,WAA+C,OAAQ;AAQ9D,cAAc,wBAAwB,qBAAsB;;;;;;;;;AAa5D,OAAO,iBAAS;CACd,UAAU;CACV,aAAa,eAAe,qBAAqB;CAIjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAI9D,EACA,YACA,mBACA,QACA,SACA,gBACA,kBACA,wBACA,gBACA,uBACA,eACA,aACA,GAAG,OACwC,EAA1C,iBAAiB,GAAG,MAAM,mBAAmB,MAAM","names":[],"sources":["../../../src/object-table/ObjectTable.tsx"],"version":3,"file":"ObjectTable.d.ts"}
@@ -1,7 +1,7 @@
1
- import type { DerivedProperty, ObjectSet, ObjectTypeDefinition, Osdk, PrimaryKeyType, PropertyKeys, QueryDefinition, SimplePropertyDef, WhereClause } from "@osdk/api";
1
+ import type { DerivedProperty, ObjectOrInterfaceDefinition, Osdk, PrimaryKeyType, PropertyKeys, QueryDefinition, SimplePropertyDef, WhereClause } from "@osdk/api";
2
2
  import type * as React from "react";
3
3
  export type ColumnDefinition<
4
- Q extends ObjectTypeDefinition,
4
+ Q extends ObjectOrInterfaceDefinition,
5
5
  RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,
6
6
  FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>
7
7
  > = {
@@ -24,7 +24,7 @@ export type ColumnDefinition<
24
24
  renderHeader?: () => React.ReactNode
25
25
  };
26
26
  export type ColumnDefinitionLocator<
27
- Q extends ObjectTypeDefinition,
27
+ Q extends ObjectOrInterfaceDefinition,
28
28
  RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,
29
29
  FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>
30
30
  > = {
@@ -39,14 +39,10 @@ export type ColumnDefinitionLocator<
39
39
  creator: DerivedProperty.Creator<Q, RDPs[keyof RDPs]>
40
40
  };
41
41
  export interface ObjectTableProps<
42
- Q extends ObjectTypeDefinition,
42
+ Q extends ObjectOrInterfaceDefinition,
43
43
  RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,
44
44
  FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>
45
45
  > {
46
- /**
47
- * The set of objects to show in the table
48
- */
49
- objectSet: ObjectSet<Q>;
50
46
  /**
51
47
  * The object type of the object
52
48
  */
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,iBACA,WACA,sBACA,MACA,gBACA,cACA,iBACA,mBACA,mBACK,WAAY;AACnB,iBAAiB,WAAW,OAAQ;AAEpC,YAAY;CACV,UAAU;CACV,aAAa,eAAe,qBAAqB;CAIjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;IAI5D;CACF,SAAS,wBAAwB,GAAG,MAAM;;;;CAK1C;;;;CAKA,SAAS,SAAS,UAAU;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA,cACEA,QAAQ,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI,OAChEC,SAAS,wBAAwB,GAAG,MAAM,qBACvC,MAAM;CACX,qBAAqB,MAAM;AAC5B;AAED,YAAY;CACV,UAAU;CACV,aAAa,eAAe,qBAAqB;CAIjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;IAK5D;CACA,MAAM;CACN,IAAI,aAAa;AAClB,IACC;CACA,MAAM;CACN,UAAU;AACX,IACC;CACA,MAAM;CACN,UAAU;CACV,SAAS,gBAAgB,QAAQ,GAAG,WAAW;AAChD;AAEH,iBAAiB;CACf,UAAU;CACV,aAAa,eAAe,qBAAqB;CAIjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAI9D;;;;CAIA,WAAW,UAAU;;;;CAKrB,YAAY;;;;;;CAOZ,oBAAoB,MAAM,iBAAiB,GAAG,MAAM;;;;;;CAOpD;;;;;CAMA,SAAS,YAAY,GAAG;;;;;;;CAQxB,mBAAmBC,UAAU,YAAY,GAAG;;;;;;CAO5C;;;;;;CAOA,iBAAiB,MAAM;EACrB,UAAU,aAAa;EACvB,WAAW,QAAQ;CACpB;;;;;;CAOD,UAAU,MAAM;EACd,UAAU,aAAa;EACvB,WAAW,QAAQ;CACpB;;;;;;;CAQD,oBACEC,YAAY,MAAM;EAChB,UAAU,aAAa;EACvB,WAAW,QAAQ;CACpB;;;;;;;;CAUH,6BACEC,WAAW,MAAM;EACf,UAAU,aAAa,WAAW,aAAa;EAC/C;CACD;;;;;;;;CAUH,0BACEC,WAAW,MAAM;EACf,UAAU,aAAa,WAAW,aAAa;EAC/C,QAAQ,SAAS,UAAU;CAC5B;;;;;;;CASH,kBACEC,UAAU,aAAa,WAAW,aAAa,iBAC/CC;;;;;;CAQF,cACEP,QAAQ,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI;;;;;;;;;CAWlE,gBAAgB,WAAW,aAAa;;;;;CAMxC,eAAe,eAAe;;;;;;;CAS9B,kBAAkBQ,gBAAgB,eAAe;;;;CAKjD,yBACEC,KAAK,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI,OAC7DC,uBACG,MAAM;;;;;;CAOX;CAEA;AACD","names":["object: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>","locator: ColumnDefinitionLocator<Q, RDPs, FunctionColumns>","newWhere: WhereClause<Q, RDPs>","newOrderBy: Array<{\n property: PropertyKeys<Q>;\n direction: \"asc\" | \"desc\";\n }>","newStates: Array<{\n columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns;\n isVisible: boolean;\n }>","newStates: Array<{\n columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns;\n pinned: \"left\" | \"right\" | \"none\";\n }>","columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns","newWidth: number","selectedRowIds: PrimaryKeyType<Q>[]","row: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>","cellValue: unknown"],"sources":["../../../src/object-table/ObjectTableApi.ts"],"version":3,"file":"ObjectTableApi.d.ts"}
1
+ {"mappings":"AAgBA,cACE,iBACA,6BACA,MACA,gBACA,cACA,iBACA,mBACA,mBACK,WAAY;AACnB,iBAAiB,WAAW,OAAQ;AAEpC,YAAY;CACV,UAAU;CACV,aAAa,eAAe,qBAAqB;CACjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;IAI5D;CACF,SAAS,wBAAwB,GAAG,MAAM;;;;CAK1C;;;;CAKA,SAAS,SAAS,UAAU;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA,cACEA,QAAQ,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI,OAChEC,SAAS,wBAAwB,GAAG,MAAM,qBACvC,MAAM;CACX,qBAAqB,MAAM;AAC5B;AAED,YAAY;CACV,UAAU;CACV,aAAa,eAAe,qBAAqB;CACjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;IAK5D;CACA,MAAM;CACN,IAAI,aAAa;AAClB,IACC;CACA,MAAM;CACN,UAAU;AACX,IACC;CACA,MAAM;CACN,UAAU;CACV,SAAS,gBAAgB,QAAQ,GAAG,WAAW;AAChD;AAEH,iBAAiB;CACf,UAAU;CACV,aAAa,eAAe,qBAAqB;CACjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAI9D;;;;CAIA,YAAY;;;;;;CAOZ,oBAAoB,MAAM,iBAAiB,GAAG,MAAM;;;;;;CAOpD;;;;;CAMA,SAAS,YAAY,GAAG;;;;;;;CAQxB,mBAAmBC,UAAU,YAAY,GAAG;;;;;;CAO5C;;;;;;CAOA,iBAAiB,MAAM;EACrB,UAAU,aAAa;EACvB,WAAW,QAAQ;CACpB;;;;;;CAOD,UAAU,MAAM;EACd,UAAU,aAAa;EACvB,WAAW,QAAQ;CACpB;;;;;;;CAQD,oBACEC,YAAY,MAAM;EAChB,UAAU,aAAa;EACvB,WAAW,QAAQ;CACpB;;;;;;;;CAUH,6BACEC,WAAW,MAAM;EACf,UAAU,aAAa,WAAW,aAAa;EAC/C;CACD;;;;;;;;CAUH,0BACEC,WAAW,MAAM;EACf,UAAU,aAAa,WAAW,aAAa;EAC/C,QAAQ,SAAS,UAAU;CAC5B;;;;;;;CASH,kBACEC,UAAU,aAAa,WAAW,aAAa,iBAC/CC;;;;;;CAQF,cACEP,QAAQ,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI;;;;;;;;;CAWlE,gBAAgB,WAAW,aAAa;;;;;CAMxC,eAAe,eAAe;;;;;;;CAS9B,kBAAkBQ,gBAAgB,eAAe;;;;CAKjD,yBACEC,KAAK,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI,OAC7DC,uBACG,MAAM;;;;;;CAOX;CAEA;AACD","names":["object: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>","locator: ColumnDefinitionLocator<Q, RDPs, FunctionColumns>","newWhere: WhereClause<Q, RDPs>","newOrderBy: Array<{\n property: PropertyKeys<Q>;\n direction: \"asc\" | \"desc\";\n }>","newStates: Array<{\n columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns;\n isVisible: boolean;\n }>","newStates: Array<{\n columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns;\n pinned: \"left\" | \"right\" | \"none\";\n }>","columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns","newWidth: number","selectedRowIds: PrimaryKeyType<Q>[]","row: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>","cellValue: unknown"],"sources":["../../../src/object-table/ObjectTableApi.ts"],"version":3,"file":"ObjectTableApi.d.ts"}
@@ -8,5 +8,6 @@ export interface BaseTableProps<TData extends RowData> {
8
8
  rowHeight?: number;
9
9
  renderCellContextMenu?: (row: TData, cell: Cell<TData, unknown>) => React.ReactNode;
10
10
  className?: string;
11
+ error?: Error;
11
12
  }
12
- export declare function BaseTable<TData extends RowData>({ table, isLoading, fetchNextPage, onRowClick, rowHeight, renderCellContextMenu, className }: BaseTableProps<TData>): ReactElement;
13
+ export declare function BaseTable<TData extends RowData>({ table, isLoading, fetchNextPage, onRowClick, rowHeight, renderCellContextMenu, className, error }: BaseTableProps<TData>): ReactElement;
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAAc,MAAM,SAAS,aAAa,uBAAwB;AAElE,OAAO,cAAc,oBAAyC,OAAQ;AAKtE,iBAAiB,eAAe,cAAc,SAAS;CACrD,OAAO,MAAM;CACb;CACA,sBAAsB;CACtB,cAAcA,KAAK;CACnB;CACA,yBACEA,KAAK,OACLC,MAAM,KAAK,oBACR,MAAM;CACX;AACD;AAED,OAAO,iBAAS,UAAU,cAAc,SACtC,EACE,OACA,WACA,eACA,YACA,WACA,uBACA,WACsB,EAArB,eAAe,SACjB","names":["row: TData","cell: Cell<TData, unknown>"],"sources":["../../../src/object-table/Table.tsx"],"version":3,"file":"Table.d.ts"}
1
+ {"mappings":"AAgBA,cAAc,MAAM,SAAS,aAAa,uBAAwB;AAElE,OAAO,cACA,oBAKA,OAAQ;AAOf,iBAAiB,eAAe,cAAc,SAAS;CACrD,OAAO,MAAM;CACb;CACA,sBAAsB;CACtB,cAAcA,KAAK;CACnB;CACA,yBACEA,KAAK,OACLC,MAAM,KAAK,oBACR,MAAM;CACX;CACA,QAAQ;AACT;AAED,OAAO,iBAAS,UAAU,cAAc,SACtC,EACE,OACA,WACA,eACA,YACA,WACA,uBACA,WACA,OACsB,EAArB,eAAe,SACjB","names":["row: TData","cell: Cell<TData, unknown>"],"sources":["../../../src/object-table/Table.tsx"],"version":3,"file":"Table.d.ts"}
@@ -1,4 +1,4 @@
1
- import type { Cell, Row, RowData } from "@tanstack/react-table";
1
+ import type { Cell, HeaderGroup, Row, RowData } from "@tanstack/react-table";
2
2
  import React from "react";
3
3
  interface TableBodyProps<TData extends RowData> {
4
4
  rows: Array<Row<TData>>;
@@ -6,6 +6,8 @@ interface TableBodyProps<TData extends RowData> {
6
6
  onRowClick?: (row: TData) => void;
7
7
  rowHeight?: number;
8
8
  renderCellContextMenu?: (row: TData, cell: Cell<TData, unknown>) => React.ReactNode;
9
+ isLoadingMore?: boolean;
10
+ headerGroups?: Array<HeaderGroup<TData>>;
9
11
  }
10
- export declare function TableBody<TData extends RowData>({ rows, tableContainerRef, onRowClick, renderCellContextMenu, rowHeight }: TableBodyProps<TData>): React.ReactElement;
12
+ export declare function TableBody<TData extends RowData>({ rows, tableContainerRef, onRowClick, renderCellContextMenu, rowHeight, isLoadingMore, headerGroups }: TableBodyProps<TData>): React.ReactElement;
11
13
  export {};
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAAc,MAAM,KAAK,eAAe,uBAAwB;AAEhE,OAAO,WAAgC,OAAQ;UAIrC,eAAe,cAAc,SAAS;CAC9C,MAAM,MAAM,IAAI;CAChB,mBAAmB,MAAM,UAAU;CACnC,cAAcA,KAAK;CACnB;CACA,yBACEA,KAAK,OACLC,MAAM,KAAK,oBACR,MAAM;AACZ;AAED,OAAO,iBAAS,UAAU,cAAc,SAAS,EAC/C,MACA,mBACA,YACA,uBACA,WACsB,EAArB,eAAe,SAAS,MAAM","names":["row: TData","cell: Cell<TData, unknown>"],"sources":["../../../src/object-table/TableBody.tsx"],"version":3,"file":"TableBody.d.ts"}
1
+ {"mappings":"AAgBA,cAAc,MAAM,aAAa,KAAK,eAAe,uBAAwB;AAE7E,OAAO,WAAgC,OAAQ;UAKrC,eAAe,cAAc,SAAS;CAC9C,MAAM,MAAM,IAAI;CAChB,mBAAmB,MAAM,UAAU;CACnC,cAAcA,KAAK;CACnB;CACA,yBACEA,KAAK,OACLC,MAAM,KAAK,oBACR,MAAM;CACX;CACA,eAAe,MAAM,YAAY;AAClC;AAED,OAAO,iBAAS,UAAU,cAAc,SAAS,EAC/C,MACA,mBACA,YACA,uBACA,WACA,eACA,cACsB,EAArB,eAAe,SAAS,MAAM","names":["row: TData","cell: Cell<TData, unknown>"],"sources":["../../../src/object-table/TableBody.tsx"],"version":3,"file":"TableBody.d.ts"}
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAA0B,aAAa,eAAe,uBAAwB;AAC9E,OAAO,WAAW,OAAQ;UAGhB,wBAAwB,cAAc,SAAS;CACvD,QAAQ,OAAO;AAChB;AAED,OAAO,iBAAS,mBAAmB,cAAc,SAC/C,EAAE,QAAwC,EAA9B,wBAAwB,SACnC,MAAM","names":[],"sources":["../../../src/object-table/TableHeaderContent.tsx"],"version":3,"file":"TableHeaderContent.d.ts"}
1
+ {"mappings":"AAgBA,cAA0B,aAAa,eAAe,uBAAwB;AAE9E,OAAO,WAAW,OAAQ;UAGhB,wBAAwB,cAAc,SAAS;CACvD,QAAQ,OAAO;AAChB;AAED,OAAO,iBAAS,mBAAmB,cAAc,SAC/C,EAAE,QAAwC,EAA9B,wBAAwB,SACnC,MAAM","names":[],"sources":["../../../src/object-table/TableHeaderContent.tsx"],"version":3,"file":"TableHeaderContent.d.ts"}
@@ -1,8 +1,8 @@
1
- import type { ObjectTypeDefinition, Osdk, PropertyKeys, QueryDefinition, SimplePropertyDef } from "@osdk/api";
1
+ import type { ObjectOrInterfaceDefinition, Osdk, PropertyKeys, QueryDefinition, SimplePropertyDef } from "@osdk/api";
2
2
  import type { AccessorColumnDef } from "@tanstack/react-table";
3
3
  import type { ColumnDefinition } from "../ObjectTableApi.js";
4
4
  interface UseColumnDefsResult<
5
- Q extends ObjectTypeDefinition,
5
+ Q extends ObjectOrInterfaceDefinition,
6
6
  RDPs extends Record<string, SimplePropertyDef> = Record<string, never>
7
7
  > {
8
8
  columns: AccessorColumnDef<Osdk.Instance<Q, "$allBaseProperties", PropertyKeys<Q>, RDPs>>[];
@@ -13,7 +13,7 @@ interface UseColumnDefsResult<
13
13
  * Hook which builds column definitions for tanstack-table given the objectSet
14
14
  */
15
15
  export declare function useColumnDefs<
16
- Q extends ObjectTypeDefinition,
16
+ Q extends ObjectOrInterfaceDefinition,
17
17
  RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,
18
18
  FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>
19
19
  >(objectType: Q, columnDefinitions?: Array<ColumnDefinition<Q, RDPs, FunctionColumns>>): UseColumnDefsResult<Q, RDPs>;
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAEE,sBACA,MACA,cACA,iBACA,yBACK,WAAY;AAEnB,cAAc,yBAAyB,uBAAwB;AAE/D,cAAc,wBAAwB,sBAAuB;UAEnD;CACR,UAAU;CACV,aAAa,eAAe,qBAAqB;EAIjD;CACA,SAAS,kBACP,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI;CAG1D;CAEA;AACD;;;;AAKD,OAAO,iBAAS;CACd,UAAU;CACV,aAAa,eAAe,qBAAqB;CAIjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAK9DA,YAAY,GACZC,oBAAoB,MAAM,iBAAiB,GAAG,MAAM,oBACnD,oBAAoB,GAAG","names":["objectType: Q","columnDefinitions?: Array<ColumnDefinition<Q, RDPs, FunctionColumns>>"],"sources":["../../../../src/object-table/hooks/useColumnDefs.ts"],"version":3,"file":"useColumnDefs.d.ts"}
1
+ {"mappings":"AAgBA,cAEE,6BACA,MACA,cACA,iBACA,yBACK,WAAY;AAEnB,cAAc,yBAAyB,uBAAwB;AAE/D,cAAc,wBAAwB,sBAAuB;UAEnD;CACR,UAAU;CACV,aAAa,eAAe,qBAAqB;EACjD;CACA,SAAS,kBACP,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI;CAG1D;CAEA;AACD;;;;AAKD,OAAO,iBAAS;CACd,UAAU;CACV,aAAa,eAAe,qBAAqB;CAIjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAK9DA,YAAY,GACZC,oBAAoB,MAAM,iBAAiB,GAAG,MAAM,oBACnD,oBAAoB,GAAG","names":["objectType: Q","columnDefinitions?: Array<ColumnDefinition<Q, RDPs, FunctionColumns>>"],"sources":["../../../../src/object-table/hooks/useColumnDefs.ts"],"version":3,"file":"useColumnDefs.d.ts"}
@@ -1,8 +1,8 @@
1
- import type { ObjectTypeDefinition, QueryDefinition, SimplePropertyDef } from "@osdk/api";
1
+ import type { ObjectOrInterfaceDefinition, QueryDefinition, SimplePropertyDef } from "@osdk/api";
2
2
  import type { ColumnPinningState, OnChangeFn } from "@tanstack/react-table";
3
3
  import type { ObjectTableProps } from "../ObjectTableApi.js";
4
4
  interface UseColumnPinningProps<
5
- Q extends ObjectTypeDefinition,
5
+ Q extends ObjectOrInterfaceDefinition,
6
6
  RDPs extends Record<string, SimplePropertyDef> = {},
7
7
  FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>
8
8
  > {
@@ -15,7 +15,7 @@ interface UseColumnPinningResults {
15
15
  onColumnPinningChange: OnChangeFn<ColumnPinningState>;
16
16
  }
17
17
  export declare const useColumnPinning: <
18
- Q extends ObjectTypeDefinition,
18
+ Q extends ObjectOrInterfaceDefinition,
19
19
  RDPs extends Record<string, SimplePropertyDef> = {},
20
20
  FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>
21
21
  >({ columnDefinitions, hasSelectionColumn, onColumnsPinnedChanged }: UseColumnPinningProps<Q, RDPs, FunctionColumns>) => UseColumnPinningResults;
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,sBACA,iBACA,yBACK,WAAY;AACnB,cAAc,oBAAoB,kBAAkB,uBAAwB;AAE5E,cAAc,wBAAwB,sBAAuB;UAGnD;CACR,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;CACnD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAI9D;CACA,mBAAmB,iBACjB,GACA,MACA,iBACA;CAEF;CAEA,yBAAyB,iBACvB,GACA,MACA,iBACA;AACH;UAES,wBAAwB;CAChC,eAAe;CACf,uBAAuB,WAAW;AACnC;AAED,OAAO,cAAM;CACX,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;CACnD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAI9D,EACA,mBACA,oBACA,wBAKD,EAJE,sBACD,GACA,MACA,qBACE","names":[],"sources":["../../../../src/object-table/hooks/useColumnPinning.ts"],"version":3,"file":"useColumnPinning.d.ts"}
1
+ {"mappings":"AAgBA,cACE,6BACA,iBACA,yBACK,WAAY;AACnB,cAAc,oBAAoB,kBAAkB,uBAAwB;AAE5E,cAAc,wBAAwB,sBAAuB;UAGnD;CACR,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;CACnD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAI9D;CACA,mBAAmB,iBACjB,GACA,MACA,iBACA;CAEF;CAEA,yBAAyB,iBACvB,GACA,MACA,iBACA;AACH;UAES,wBAAwB;CAChC,eAAe;CACf,uBAAuB,WAAW;AACnC;AAED,OAAO,cAAM;CACX,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;CACnD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAI9D,EACA,mBACA,oBACA,wBAKD,EAJE,sBACD,GACA,MACA,qBACE","names":[],"sources":["../../../../src/object-table/hooks/useColumnPinning.ts"],"version":3,"file":"useColumnPinning.d.ts"}
@@ -1,15 +1,15 @@
1
- import type { ObjectTypeDefinition, QueryDefinition, SimplePropertyDef } from "@osdk/api";
1
+ import type { ObjectOrInterfaceDefinition, QueryDefinition, SimplePropertyDef } from "@osdk/api";
2
2
  import type { VisibilityState } from "@tanstack/react-table";
3
3
  import type { ObjectTableProps } from "../ObjectTableApi.js";
4
4
  interface UseColumnVisibilityProps<
5
- Q extends ObjectTypeDefinition,
5
+ Q extends ObjectOrInterfaceDefinition,
6
6
  RDPs extends Record<string, SimplePropertyDef> = {},
7
7
  FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>
8
8
  > {
9
9
  columnDefinitions: ObjectTableProps<Q, RDPs, FunctionColumns>["columnDefinitions"];
10
10
  }
11
11
  export declare const useColumnVisibility: <
12
- Q extends ObjectTypeDefinition,
12
+ Q extends ObjectOrInterfaceDefinition,
13
13
  RDPs extends Record<string, SimplePropertyDef> = {},
14
14
  FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>
15
15
  >({ columnDefinitions }: UseColumnVisibilityProps<Q, RDPs, FunctionColumns>) => VisibilityState | undefined;
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,sBACA,iBACA,yBACK,WAAY;AACnB,cAAc,uBAAuB,uBAAwB;AAE7D,cAAc,wBAAwB,sBAAuB;UAEnD;CACR,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;CACnD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAI9D;CACA,mBAAmB,iBACjB,GACA,MACA,iBACA;AACH;AAED,OAAO,cAAM;CACX,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;CACnD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAK9D,EAAE,mBAID,EAJsB,yBACrB,GACA,MACA,qBAED","names":[],"sources":["../../../../src/object-table/hooks/useColumnVisibility.ts"],"version":3,"file":"useColumnVisibility.d.ts"}
1
+ {"mappings":"AAgBA,cACE,6BACA,iBACA,yBACK,WAAY;AACnB,cAAc,uBAAuB,uBAAwB;AAE7D,cAAc,wBAAwB,sBAAuB;UAEnD;CACR,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;CACnD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAI9D;CACA,mBAAmB,iBACjB,GACA,MACA,iBACA;AACH;AAED,OAAO,cAAM;CACX,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;CACnD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAK9D,EAAE,mBAID,EAJsB,yBACrB,GACA,MACA,qBAED","names":[],"sources":["../../../../src/object-table/hooks/useColumnVisibility.ts"],"version":3,"file":"useColumnVisibility.d.ts"}
@@ -1,14 +1,14 @@
1
- import type { ObjectSet, ObjectTypeDefinition, QueryDefinition, SimplePropertyDef, WhereClause } from "@osdk/api";
2
- import { useObjectSet } from "@osdk/react/experimental";
1
+ import type { ObjectOrInterfaceDefinition, QueryDefinition, SimplePropertyDef, WhereClause } from "@osdk/api";
2
+ import type { UseOsdkListResult } from "@osdk/react/experimental";
3
3
  import type { SortingState } from "@tanstack/react-table";
4
4
  import type { ColumnDefinition } from "../ObjectTableApi.js";
5
5
  /**
6
- * This hook is a wrapper around useObjectSet
6
+ * This hook is a wrapper around useOsdkObjects
7
7
  * It extracts RDP locators from columnDefinitions and calls useObjectSet + withProperties
8
8
  * to return data containing the derived properties.
9
9
  */
10
10
  export declare function useObjectTableData<
11
- Q extends ObjectTypeDefinition,
12
- RDPs extends Record<string, SimplePropertyDef>,
11
+ Q extends ObjectOrInterfaceDefinition,
12
+ RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,
13
13
  FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>
14
- >(objectSet: ObjectSet<Q>, columnDefinitions?: Array<ColumnDefinition<Q, RDPs, FunctionColumns>>, filter?: WhereClause<Q, RDPs>, sorting?: SortingState): ReturnType<typeof useObjectSet<Q, never, RDPs>>;
14
+ >(objectOrInterfaceType: Q, columnDefinitions?: Array<ColumnDefinition<Q, RDPs, FunctionColumns>>, filter?: WhereClause<Q, RDPs>, sorting?: SortingState): UseOsdkListResult<Q, RDPs>;
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAEE,WACA,sBAEA,iBACA,mBACA,mBACK,WAAY;AACnB,SAAS,oBAAoB,0BAA2B;AACxD,cAAc,oBAAoB,uBAAwB;AAE1D,cAAc,wBAAwB,sBAAuB;;;;;;AAU7D,OAAO,iBAAS;CACd,UAAU;CACV,aAAa,eAAe;CAC5B,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAK9DA,WAAW,UAAU,IACrBC,oBAAoB,MAAM,iBAAiB,GAAG,MAAM,mBACpDC,SAAS,YAAY,GAAG,OACxBC,UAAU,eACT,kBAAkB,aAAa,UAAU","names":["objectSet: ObjectSet<Q>","columnDefinitions?: Array<ColumnDefinition<Q, RDPs, FunctionColumns>>","filter?: WhereClause<Q, RDPs>","sorting?: SortingState"],"sources":["../../../../src/object-table/hooks/useObjectTableData.ts"],"version":3,"file":"useObjectTableData.d.ts"}
1
+ {"mappings":"AAgBA,cAEE,6BAEA,iBACA,mBACA,mBACK,WAAY;AACnB,cAAc,yBAAyB,0BAA2B;AAElE,cAAc,oBAAoB,uBAAwB;AAE1D,cAAc,wBAAwB,sBAAuB;;;;;;AAS7D,OAAO,iBAAS;CACd,UAAU;CACV,aAAa,eAAe,qBAAqB;CAIjD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAK9DA,uBAAuB,GACvBC,oBAAoB,MAAM,iBAAiB,GAAG,MAAM,mBACpDC,SAAS,YAAY,GAAG,OACxBC,UAAU,eACT,kBAAkB,GAAG","names":["objectOrInterfaceType: Q","columnDefinitions?: Array<ColumnDefinition<Q, RDPs, FunctionColumns>>","filter?: WhereClause<Q, RDPs>","sorting?: SortingState"],"sources":["../../../../src/object-table/hooks/useObjectTableData.ts"],"version":3,"file":"useObjectTableData.d.ts"}
@@ -1,7 +1,7 @@
1
- import type { ObjectTypeDefinition, Osdk, PrimaryKeyType } from "@osdk/api";
1
+ import type { ObjectOrInterfaceDefinition, Osdk, PrimaryKeyType } from "@osdk/api";
2
2
  import type { RowSelectionState } from "@tanstack/react-table";
3
3
  export interface UseRowSelectionProps<
4
- Q extends ObjectTypeDefinition,
4
+ Q extends ObjectOrInterfaceDefinition,
5
5
  RDPs extends Record<string, any> = Record<string, never>
6
6
  > {
7
7
  selectionMode?: "single" | "multiple" | "none";
@@ -17,6 +17,6 @@ export interface UseRowSelectionResult {
17
17
  onToggleRow: (rowId: string, rowIndex: number, isShiftClick?: boolean) => void;
18
18
  }
19
19
  export declare function useRowSelection<
20
- Q extends ObjectTypeDefinition,
20
+ Q extends ObjectOrInterfaceDefinition,
21
21
  RDPs extends Record<string, any> = Record<string, never>
22
22
  >({ selectionMode, selectedRows, onRowSelection, data }: UseRowSelectionProps<Q, RDPs>): UseRowSelectionResult;
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAAc,sBAAsB,MAAM,sBAAsB,WAAY;AAC5E,cAAc,yBAAyB,uBAAwB;AAI/D,iBAAiB;CACf,UAAU;CACV,aAAa,sBAAsB;EACnC;CACA,gBAAgB,WAAW,aAAa;CACxC,eAAe,eAAe;CAC9B,kBAAkBA,gBAAgB,eAAe;CACjD,MAAM,MAAM,KAAK,SAAS,GAAG,2BAA2B;AACzD;AAED,iBAAiB,sBAAsB;CACrC,cAAc;CACd;CACA;CACA;CACA,cACEC,eACAC,kBACAC;AAEH;AAED,OAAO,iBAAS;CACd,UAAU;CACV,aAAa,sBAAsB;EACnC,EACA,eACA,cACA,gBACA,MAC8B,EAA7B,qBAAqB,GAAG,QAAQ","names":["selectedRowIds: PrimaryKeyType<Q>[]","rowId: string","rowIndex: number","isShiftClick?: boolean"],"sources":["../../../../src/object-table/hooks/useRowSelection.ts"],"version":3,"file":"useRowSelection.d.ts"}
1
+ {"mappings":"AAgBA,cACE,6BACA,MACA,sBACK,WAAY;AACnB,cAAc,yBAAyB,uBAAwB;AAI/D,iBAAiB;CACf,UAAU;CACV,aAAa,sBAAsB;EACnC;CACA,gBAAgB,WAAW,aAAa;CACxC,eAAe,eAAe;CAC9B,kBAAkBA,gBAAgB,eAAe;CACjD,MAAM,MAAM,KAAK,SAAS,GAAG,2BAA2B;AACzD;AAED,iBAAiB,sBAAsB;CACrC,cAAc;CACd;CACA;CACA;CACA,cACEC,eACAC,kBACAC;AAEH;AAED,OAAO,iBAAS;CACd,UAAU;CACV,aAAa,sBAAsB;EACnC,EACA,eACA,cACA,gBACA,MAC8B,EAA7B,qBAAqB,GAAG,QAAQ","names":["selectedRowIds: PrimaryKeyType<Q>[]","rowId: string","rowIndex: number","isShiftClick?: boolean"],"sources":["../../../../src/object-table/hooks/useRowSelection.ts"],"version":3,"file":"useRowSelection.d.ts"}
@@ -1,4 +1,4 @@
1
- import type { ObjectTypeDefinition, Osdk, PropertyKeys, SimplePropertyDef } from "@osdk/api";
1
+ import type { ObjectOrInterfaceDefinition, Osdk, PropertyKeys, SimplePropertyDef } from "@osdk/api";
2
2
  import type { ColumnDef } from "@tanstack/react-table";
3
3
  interface UseSelectionColumnProps {
4
4
  selectionMode?: "single" | "multiple" | "none";
@@ -8,7 +8,7 @@ interface UseSelectionColumnProps {
8
8
  onToggleRow: (id: string, rowIndex: number, isShiftClick: boolean) => void;
9
9
  }
10
10
  export declare const useSelectionColumn: <
11
- Q extends ObjectTypeDefinition,
11
+ Q extends ObjectOrInterfaceDefinition,
12
12
  RDPs extends Record<string, SimplePropertyDef> = Record<string, never>
13
13
  >({ selectionMode, isAllSelected, hasSelection, onToggleAll, onToggleRow }: UseSelectionColumnProps) => ColumnDef<Osdk.Instance<Q, "$allBaseProperties", PropertyKeys<Q>, RDPs>> | null;
14
14
  export {};
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,sBACA,MACA,cACA,yBACK,WAAY;AACnB,cAAc,iBAAiB,uBAAwB;UAK7C,wBAAwB;CAChC,gBAAgB,WAAW,aAAa;CACxC;CACA;CACA;CACA,cAAcA,YAAYC,kBAAkBC;AAC7C;AAED,OAAO,cAAM;CACX,UAAU;CACV,aAAa,eAAe,qBAAqB;EAIjD,EACA,eACA,eACA,cACA,aACA,aACwB,EAAvB,4BACC,UACA,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI","names":["id: string","rowIndex: number","isShiftClick: boolean"],"sources":["../../../../src/object-table/hooks/useSelectionColumn.tsx"],"version":3,"file":"useSelectionColumn.d.ts"}
1
+ {"mappings":"AAgBA,cACE,6BACA,MACA,cACA,yBACK,WAAY;AACnB,cAAc,iBAAiB,uBAAwB;UAK7C,wBAAwB;CAChC,gBAAgB,WAAW,aAAa;CACxC;CACA;CACA;CACA,cAAcA,YAAYC,kBAAkBC;AAC7C;AAED,OAAO,cAAM;CACX,UAAU;CACV,aAAa,eAAe,qBAAqB;EAIjD,EACA,eACA,eACA,cACA,aACA,aACwB,EAAvB,4BACC,UACA,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI","names":["id: string","rowIndex: number","isShiftClick: boolean"],"sources":["../../../../src/object-table/hooks/useSelectionColumn.tsx"],"version":3,"file":"useSelectionColumn.d.ts"}
@@ -1,8 +1,8 @@
1
- import type { ObjectTypeDefinition, QueryDefinition, SimplePropertyDef } from "@osdk/api";
1
+ import type { ObjectOrInterfaceDefinition, QueryDefinition, SimplePropertyDef } from "@osdk/api";
2
2
  import type { OnChangeFn, SortingState } from "@tanstack/react-table";
3
3
  import type { ObjectTableProps } from "../ObjectTableApi.js";
4
4
  interface UseTableSortingProps<
5
- Q extends ObjectTypeDefinition,
5
+ Q extends ObjectOrInterfaceDefinition,
6
6
  RDPs extends Record<string, SimplePropertyDef> = {},
7
7
  FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>
8
8
  > {
@@ -15,7 +15,7 @@ interface UseTableSortingResults {
15
15
  onSortingChange: OnChangeFn<SortingState>;
16
16
  }
17
17
  export declare const useTableSorting: <
18
- Q extends ObjectTypeDefinition,
18
+ Q extends ObjectOrInterfaceDefinition,
19
19
  RDPs extends Record<string, SimplePropertyDef> = {},
20
20
  FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>
21
21
  >({ orderBy, defaultOrderBy, onOrderByChanged }: UseTableSortingProps<Q, RDPs, FunctionColumns>) => UseTableSortingResults;
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,sBAEA,iBACA,yBACK,WAAY;AACnB,cAAc,YAAY,oBAAoB,uBAAwB;AAEtE,cAAc,wBAAwB,sBAAuB;UAEnD;CACR,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;CACnD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAI9D;CACA,UAAU,iBAAiB,GAAG,MAAM,iBAAiB;CAErD,iBAAiB,iBAAiB,GAAG,MAAM,iBAAiB;CAE5D,mBAAmB,iBACjB,GACA,MACA,iBACA;AACH;UAES,uBAAuB;CAC/B,SAAS;CACT,iBAAiB,WAAW;AAC7B;AAED,OAAO,cAAM;CACX,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;CACnD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAI9D,EACA,SACA,gBACA,kBAC+C,EAA9C,qBAAqB,GAAG,MAAM,qBAAmB","names":[],"sources":["../../../../src/object-table/hooks/useTableSorting.ts"],"version":3,"file":"useTableSorting.d.ts"}
1
+ {"mappings":"AAgBA,cACE,6BAEA,iBACA,yBACK,WAAY;AACnB,cAAc,YAAY,oBAAoB,uBAAwB;AAEtE,cAAc,wBAAwB,sBAAuB;UAEnD;CACR,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;CACnD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAI9D;CACA,UAAU,iBAAiB,GAAG,MAAM,iBAAiB;CAErD,iBAAiB,iBAAiB,GAAG,MAAM,iBAAiB;CAE5D,mBAAmB,iBACjB,GACA,MACA,iBACA;AACH;UAES,uBAAuB;CAC/B,SAAS;CACT,iBAAiB,WAAW;AAC7B;AAED,OAAO,cAAM;CACX,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;CACnD,wBAAwB,eAAe,gBAAgB,CAAE,MAAK;EAI9D,EACA,SACA,gBACA,kBAC+C,EAA9C,qBAAqB,GAAG,MAAM,qBAAmB","names":[],"sources":["../../../../src/object-table/hooks/useTableSorting.ts"],"version":3,"file":"useTableSorting.d.ts"}
@@ -1,6 +1,6 @@
1
- import type { ObjectTypeDefinition, Osdk, PrimaryKeyType, PropertyKeys, SimplePropertyDef } from "@osdk/api";
1
+ import type { ObjectOrInterfaceDefinition, Osdk, PrimaryKeyType, PropertyKeys, SimplePropertyDef } from "@osdk/api";
2
2
  export declare const getRowId: <
3
- Q extends ObjectTypeDefinition,
3
+ Q extends ObjectOrInterfaceDefinition,
4
4
  RDPs extends Record<string, SimplePropertyDef> = Record<string, never>
5
5
  >(row: Osdk.Instance<Q, "$allBaseProperties", PropertyKeys<Q>, RDPs>) => string;
6
- export declare const getRowIdFromPrimaryKey: <Q extends ObjectTypeDefinition>(primaryKey: PrimaryKeyType<Q>) => string;
6
+ export declare const getRowIdFromPrimaryKey: <Q extends ObjectOrInterfaceDefinition>(primaryKey: PrimaryKeyType<Q>) => string;
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,sBACA,MACA,gBACA,cACA,yBACK,WAAY;AAEnB,OAAO,cAAM;CACX,UAAU;CACV,aAAa,eAAe,qBAAqB;EAKjDA,KAAK,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI;AAK/D,OAAO,cAAM,yBAA0B,UAAU,sBAC/CC,YAAY,eAAe","names":["row: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>","primaryKey: PrimaryKeyType<Q>"],"sources":["../../../../src/object-table/utils/getRowId.ts"],"version":3,"file":"getRowId.d.ts"}
1
+ {"mappings":"AAgBA,cACE,6BACA,MACA,gBACA,cACA,yBACK,WAAY;AAEnB,OAAO,cAAM;CACX,UAAU;CACV,aAAa,eAAe,qBAAqB;EAKjDA,KAAK,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI;AAK/D,OAAO,cAAM,yBAA0B,UAAU,6BAC/CC,YAAY,eAAe","names":["row: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>","primaryKey: PrimaryKeyType<Q>"],"sources":["../../../../src/object-table/utils/getRowId.ts"],"version":3,"file":"getRowId.d.ts"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osdk/react-components",
3
- "version": "0.1.0-beta.6",
3
+ "version": "0.2.0-beta.1",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -58,11 +58,11 @@
58
58
  "p-defer": "^4.0.1",
59
59
  "react": "^18.3.1",
60
60
  "typescript": "~5.5.4",
61
- "@osdk/monorepo.api-extractor": "~0.6.0-beta.1",
62
- "@osdk/client": "2.7.0-beta.14",
63
- "@osdk/monorepo.tsconfig": "~0.6.0-beta.1",
64
- "@osdk/api": "2.7.0-beta.14",
65
- "@osdk/react": "0.9.0-beta.10"
61
+ "@osdk/api": "2.8.0-beta.1",
62
+ "@osdk/client": "2.8.0-beta.1",
63
+ "@osdk/monorepo.api-extractor": "~0.7.0-beta.1",
64
+ "@osdk/monorepo.tsconfig": "~0.7.0-beta.1",
65
+ "@osdk/react": "0.10.0-beta.1"
66
66
  },
67
67
  "publishConfig": {
68
68
  "access": "public"