@osdk/react-components 0.22.0 → 0.22.1-main-5b87e4a6ad7419b947496b179de1f976acbc9402
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 +10 -0
- package/build/browser/object-table/hooks/useRowSelection.js +8 -3
- package/build/browser/object-table/hooks/useRowSelection.js.map +1 -1
- package/build/browser/util/UserAgent.js +1 -1
- package/build/browser/util/UserAgent.js.map +1 -1
- package/build/cjs/{chunk-XZI3NYBD.cjs → chunk-7BT4B462.cjs} +4 -4
- package/build/cjs/{chunk-XZI3NYBD.cjs.map → chunk-7BT4B462.cjs.map} +1 -1
- package/build/cjs/{chunk-B6AIDSEZ.cjs → chunk-DBOYBVEH.cjs} +4 -4
- package/build/cjs/{chunk-B6AIDSEZ.cjs.map → chunk-DBOYBVEH.cjs.map} +1 -1
- package/build/cjs/{chunk-5OTHYCAN.cjs → chunk-E5JC7RPV.cjs} +4 -4
- package/build/cjs/{chunk-5OTHYCAN.cjs.map → chunk-E5JC7RPV.cjs.map} +1 -1
- package/build/cjs/{chunk-XUVWBVTL.cjs → chunk-E7WT47EF.cjs} +6 -6
- package/build/cjs/{chunk-XUVWBVTL.cjs.map → chunk-E7WT47EF.cjs.map} +1 -1
- package/build/cjs/{chunk-6JJVLART.cjs → chunk-EGKE5NBL.cjs} +4 -4
- package/build/cjs/{chunk-6JJVLART.cjs.map → chunk-EGKE5NBL.cjs.map} +1 -1
- package/build/cjs/chunk-KFQLART7.cjs +11 -0
- package/build/cjs/{chunk-QWVW5PEX.cjs.map → chunk-KFQLART7.cjs.map} +1 -1
- package/build/cjs/{chunk-WWOD2EMG.cjs → chunk-MWZIUNIX.cjs} +4 -4
- package/build/cjs/{chunk-WWOD2EMG.cjs.map → chunk-MWZIUNIX.cjs.map} +1 -1
- package/build/cjs/chunk-RVXDWSFX.cjs +11 -0
- package/build/cjs/{chunk-RVEV2776.cjs.map → chunk-RVXDWSFX.cjs.map} +1 -1
- package/build/cjs/{chunk-O3L7F3SI.cjs → chunk-VJ7IFTRC.cjs} +3 -3
- package/build/cjs/chunk-VJ7IFTRC.cjs.map +1 -0
- package/build/cjs/chunk-VRM4VZNR.cjs +11 -0
- package/build/cjs/{chunk-SBENFO5U.cjs.map → chunk-VRM4VZNR.cjs.map} +1 -1
- package/build/cjs/chunk-XOWPWEC5.cjs +11 -0
- package/build/cjs/{chunk-A3TEU5AA.cjs.map → chunk-XOWPWEC5.cjs.map} +1 -1
- package/build/cjs/{chunk-V3TF4PWW.cjs → chunk-YKBC2AR2.cjs} +4 -4
- package/build/cjs/{chunk-V3TF4PWW.cjs.map → chunk-YKBC2AR2.cjs.map} +1 -1
- package/build/cjs/chunk-Z7E6N3RA.cjs +11 -0
- package/build/cjs/{chunk-AJQTGMS6.cjs.map → chunk-Z7E6N3RA.cjs.map} +1 -1
- package/build/cjs/public/experimental/action-form.cjs +4 -4
- package/build/cjs/public/experimental/document-viewer.cjs +4 -4
- package/build/cjs/public/experimental/email-viewer.cjs +3 -3
- package/build/cjs/public/experimental/excel-viewer.cjs +3 -3
- package/build/cjs/public/experimental/filter-list.cjs +14 -14
- package/build/cjs/public/experimental/image-viewer.cjs +3 -3
- package/build/cjs/public/experimental/markdown-renderer.cjs +3 -3
- package/build/cjs/public/experimental/object-table.cjs +8 -8
- package/build/cjs/public/experimental/pdf-viewer.cjs +7 -7
- package/build/cjs/public/experimental/tiff-renderer.cjs +3 -3
- package/build/cjs/public/experimental/video-viewer.cjs +3 -3
- package/build/cjs/public/experimental/xml-viewer.cjs +3 -3
- package/build/cjs/public/experimental.cjs +47 -47
- package/build/esm/object-table/hooks/useRowSelection.js +8 -3
- package/build/esm/object-table/hooks/useRowSelection.js.map +1 -1
- package/build/esm/util/UserAgent.js +1 -1
- package/build/esm/util/UserAgent.js.map +1 -1
- package/package.json +7 -7
- package/build/cjs/chunk-A3TEU5AA.cjs +0 -11
- package/build/cjs/chunk-AJQTGMS6.cjs +0 -11
- package/build/cjs/chunk-O3L7F3SI.cjs.map +0 -1
- package/build/cjs/chunk-QWVW5PEX.cjs +0 -11
- package/build/cjs/chunk-RVEV2776.cjs +0 -11
- package/build/cjs/chunk-SBENFO5U.cjs +0 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @osdk/react-components
|
|
2
2
|
|
|
3
|
+
## 0.22.1-main-5b87e4a6ad7419b947496b179de1f976acbc9402
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 5b87e4a: ObjectTable: clicking the header select-all checkbox now deselects all rows whenever any rows are selected (including the indeterminate state). Previously a partial selection promoted to "select all" on click, requiring a second click to clear.
|
|
8
|
+
- Updated dependencies [90f7fb6]
|
|
9
|
+
- @osdk/react@2.25.1-main-5b87e4a6ad7419b947496b179de1f976acbc9402
|
|
10
|
+
- @osdk/api@2.25.1-main-5b87e4a6ad7419b947496b179de1f976acbc9402
|
|
11
|
+
- @osdk/client@2.25.1-main-5b87e4a6ad7419b947496b179de1f976acbc9402
|
|
12
|
+
|
|
3
13
|
## 0.22.0
|
|
4
14
|
|
|
5
15
|
### Minor Changes
|
|
@@ -54,6 +54,8 @@ export function useRowSelection({
|
|
|
54
54
|
const selectedCount = useMemo(() => Object.values(rowSelectionState).filter(Boolean).length, [rowSelectionState]);
|
|
55
55
|
const totalCount = data?.length ?? 0;
|
|
56
56
|
const isAllSelected = deriveIsAllSelected(isControlled, isAllSelectedProp, internalIsAllSelected, selectedCount, totalCount);
|
|
57
|
+
const hasSelection = isAllSelected || selectedCount > 0;
|
|
58
|
+
|
|
57
59
|
// Dedupes refires when "select all" is active and data grows.
|
|
58
60
|
const lastFiredAllSelectedIdsRef = useRef(null);
|
|
59
61
|
const fireSelectionCallbacks = useEventCallback((ids, isSelectAll) => {
|
|
@@ -69,7 +71,10 @@ export function useRowSelection({
|
|
|
69
71
|
});
|
|
70
72
|
const onToggleAll = useCallback(() => {
|
|
71
73
|
if (!enableRowSelection || !data) return;
|
|
72
|
-
|
|
74
|
+
|
|
75
|
+
// Any existing selection (full or partial/indeterminate) clears on click;
|
|
76
|
+
// only an empty selection promotes to "select all".
|
|
77
|
+
const newIsAllSelected = !hasSelection;
|
|
73
78
|
const newSelectedRows = newIsAllSelected ? data.map(item => item.$primaryKey) : [];
|
|
74
79
|
if (!isControlled) {
|
|
75
80
|
setInternalIsAllSelected(newIsAllSelected);
|
|
@@ -77,7 +82,7 @@ export function useRowSelection({
|
|
|
77
82
|
}
|
|
78
83
|
lastFiredAllSelectedIdsRef.current = newIsAllSelected ? JSON.stringify(newSelectedRows) : null;
|
|
79
84
|
fireSelectionCallbacks(newSelectedRows, newIsAllSelected);
|
|
80
|
-
}, [enableRowSelection, data,
|
|
85
|
+
}, [enableRowSelection, data, hasSelection, isControlled, fireSelectionCallbacks]);
|
|
81
86
|
const onToggleRow = useCallback((rowId, rowIndex, isShiftClick = false) => {
|
|
82
87
|
if (!enableRowSelection || !data) return;
|
|
83
88
|
let newSelectedRows;
|
|
@@ -140,7 +145,7 @@ export function useRowSelection({
|
|
|
140
145
|
rowSelection: rowSelectionState,
|
|
141
146
|
isAllSelected,
|
|
142
147
|
enableRowSelection,
|
|
143
|
-
hasSelection
|
|
148
|
+
hasSelection,
|
|
144
149
|
onToggleAll,
|
|
145
150
|
onToggleRow
|
|
146
151
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRowSelection.js","names":["useCallback","useEffect","useMemo","useRef","useState","useEventCallback","getRowId","getRowIdFromPrimaryKey","useRowSelection","selectionMode","selectedRows","isAllSelected","isAllSelectedProp","onRowSelection","onRowSelectionChanged","data","internalRowSelection","setInternalRowSelection","internalIsAllSelected","setInternalIsAllSelected","lastSelectedRowIndex","setLastSelectedRowIndex","isControlled","undefined","enableRowSelection","rowSelectionState","selectedRowIds","map","item","$primaryKey","getRowSelectionState","selectedCount","Object","values","filter","Boolean","length","totalCount","deriveIsAllSelected","lastFiredAllSelectedIdsRef","fireSelectionCallbacks","ids","isSelectAll","selectedKeySet","Set","id","String","instances","has","onToggleAll","newIsAllSelected","newSelectedRows","current","JSON","stringify","onToggleRow","rowId","rowIndex","isShiftClick","getSingleSelectionRows","getRangeSelectionRows","getMultipleSelectionRows","isCurrentlySelected","serializedIds","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 PropertyKeys,\n SimplePropertyDef,\n} from \"@osdk/api\";\nimport type { RowSelectionState } from \"@tanstack/react-table\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useEventCallback } from \"../../shared/hooks/useEventCallback.js\";\nimport { getRowId, getRowIdFromPrimaryKey } from \"../utils/getRowId.js\";\n\n/**\n * Payload delivered by {@link UseRowSelectionProps.onRowSelectionChanged}.\n * Mirrors the OSDK-level `RowSelectionChange` but without the `objectSet`\n * field, which requires OSDK context and is composed in `ObjectTable`.\n */\nexport interface UseRowSelectionChange<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n> {\n selectedRows: Osdk.Instance<\n Q,\n \"$allBaseProperties\",\n PropertyKeys<Q>,\n RDPs\n >[];\n isSelectAll: boolean;\n}\n\nexport interface UseRowSelectionProps<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n> {\n selectionMode?: \"single\" | \"multiple\" | \"none\";\n selectedRows?: PrimaryKeyType<Q>[];\n isAllSelected?: boolean;\n /**\n * @deprecated Use {@link onRowSelectionChanged} instead.\n */\n onRowSelection?: (\n selectedRowIds: PrimaryKeyType<Q>[],\n isSelectAll: boolean,\n ) => void;\n onRowSelectionChanged?: (\n change: UseRowSelectionChange<Q, RDPs>,\n ) => void;\n data:\n | Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>>\n | undefined;\n}\n\nexport interface UseRowSelectionResult {\n rowSelection: RowSelectionState;\n isAllSelected: boolean;\n hasSelection: boolean;\n enableRowSelection: 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, SimplePropertyDef> = Record<string, never>,\n>({\n selectionMode = \"none\",\n selectedRows,\n isAllSelected: isAllSelectedProp,\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- intentional pass-through to fire alongside onRowSelectionChanged for backwards compatibility\n onRowSelection,\n onRowSelectionChanged,\n data,\n}: UseRowSelectionProps<Q, RDPs>): UseRowSelectionResult {\n const [internalRowSelection, setInternalRowSelection] = useState<\n RowSelectionState\n >({});\n\n // When true, newly fetched rows are auto-selected (uncontrolled mode only).\n const [internalIsAllSelected, setInternalIsAllSelected] = useState(false);\n\n const [lastSelectedRowIndex, setLastSelectedRowIndex] = useState<\n number | null\n >(null);\n\n const isControlled = selectedRows !== undefined;\n const enableRowSelection = selectionMode !== \"none\";\n\n const rowSelectionState: RowSelectionState = useMemo(() => {\n if (!enableRowSelection) return {};\n if (isControlled) {\n const selectedRowIds = isAllSelectedProp\n ? (data ?? []).map(item => item.$primaryKey)\n : selectedRows;\n return getRowSelectionState(selectedRowIds);\n }\n if (internalIsAllSelected) {\n return getRowSelectionState(\n (data ?? []).map(item => item.$primaryKey),\n );\n }\n return internalRowSelection;\n }, [\n enableRowSelection,\n isControlled,\n selectedRows,\n isAllSelectedProp,\n internalIsAllSelected,\n internalRowSelection,\n data,\n ]);\n\n const selectedCount = useMemo(\n () => Object.values(rowSelectionState).filter(Boolean).length,\n [rowSelectionState],\n );\n const totalCount = data?.length ?? 0;\n const isAllSelected = deriveIsAllSelected(\n isControlled,\n isAllSelectedProp,\n internalIsAllSelected,\n selectedCount,\n totalCount,\n );\n const hasSelection = isAllSelected || selectedCount > 0;\n\n // Dedupes refires when \"select all\" is active and data grows.\n const lastFiredAllSelectedIdsRef = useRef<string | null>(null);\n\n const fireSelectionCallbacks = useEventCallback(\n (ids: PrimaryKeyType<Q>[], isSelectAll: boolean) => {\n onRowSelection?.(ids, isSelectAll);\n if (onRowSelectionChanged) {\n const currentData = data ?? [];\n const selectedKeySet = new Set(ids.map(id => String(id)));\n const instances = currentData.filter(item =>\n selectedKeySet.has(String(item.$primaryKey))\n );\n onRowSelectionChanged({\n selectedRows: instances,\n isSelectAll,\n });\n }\n },\n );\n\n const onToggleAll = useCallback(() => {\n if (!enableRowSelection || !data) return;\n\n const newIsAllSelected = !isAllSelected;\n const newSelectedRows: PrimaryKeyType<Q>[] = newIsAllSelected\n ? data.map(item => item.$primaryKey)\n : [];\n\n if (!isControlled) {\n setInternalIsAllSelected(newIsAllSelected);\n setInternalRowSelection(getRowSelectionState(newSelectedRows));\n }\n lastFiredAllSelectedIdsRef.current = newIsAllSelected\n ? JSON.stringify(newSelectedRows)\n : null;\n fireSelectionCallbacks(newSelectedRows, newIsAllSelected);\n }, [\n enableRowSelection,\n data,\n isAllSelected,\n isControlled,\n fireSelectionCallbacks,\n ]);\n\n const onToggleRow = useCallback(\n (rowId: string, rowIndex: number, isShiftClick: boolean = false) => {\n if (!enableRowSelection || !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 } else {\n if (isShiftClick && lastSelectedRowIndex != null) {\n newSelectedRows = getRangeSelectionRows(\n { rowId, rowIndex, data, lastSelectedRowIndex, rowSelectionState },\n );\n setLastSelectedRowIndex(rowIndex);\n } else {\n newSelectedRows = getMultipleSelectionRows(\n { rowId, rowIndex, data, rowSelectionState },\n );\n if (\n !isCurrentlySelected<Q, RDPs>({ rowIndex, data, rowSelectionState })\n ) {\n setLastSelectedRowIndex(rowIndex);\n }\n }\n }\n if (!isControlled) {\n setInternalIsAllSelected(false);\n setInternalRowSelection(getRowSelectionState(newSelectedRows));\n }\n lastFiredAllSelectedIdsRef.current = null;\n fireSelectionCallbacks(newSelectedRows, false);\n },\n [\n enableRowSelection,\n data,\n selectionMode,\n isControlled,\n fireSelectionCallbacks,\n rowSelectionState,\n lastSelectedRowIndex,\n ],\n );\n\n // Refire callbacks when uncontrolled \"select all\" is active and new rows arrive.\n useEffect(function syncSelectAllOnDataChange() {\n if (isControlled || !internalIsAllSelected || !data) {\n if (!internalIsAllSelected) {\n lastFiredAllSelectedIdsRef.current = null;\n }\n return;\n }\n const ids = data.map(item => item.$primaryKey);\n const serializedIds = JSON.stringify(ids);\n if (lastFiredAllSelectedIdsRef.current === serializedIds) return;\n lastFiredAllSelectedIdsRef.current = serializedIds;\n fireSelectionCallbacks(ids, true);\n }, [isControlled, internalIsAllSelected, data, fireSelectionCallbacks]);\n\n return {\n rowSelection: rowSelectionState,\n isAllSelected,\n enableRowSelection,\n hasSelection,\n onToggleAll,\n onToggleRow,\n };\n}\n\ninterface GetSelectedRowsProps<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n> {\n rowId: string;\n rowIndex: number;\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>>;\n rowSelectionState: RowSelectionState;\n lastSelectedRowIndex?: number;\n}\n\nfunction getSingleSelectionRows<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n { rowId, rowIndex, data, rowSelectionState }: GetSelectedRowsProps<Q, RDPs>,\n): PrimaryKeyType<Q>[] {\n const primaryKey = data[rowIndex].$primaryKey;\n return rowSelectionState[rowId] ? [] : [primaryKey];\n}\n\nfunction getRangeSelectionRows<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n { lastSelectedRowIndex, rowIndex, data, rowSelectionState }:\n GetSelectedRowsProps<Q, RDPs>,\n): PrimaryKeyType<Q>[] {\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 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 isCurrentlySelected<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n { rowIndex, data, rowSelectionState }: Pick<\n GetSelectedRowsProps<Q, RDPs>,\n \"rowIndex\" | \"data\" | \"rowSelectionState\"\n >,\n): boolean {\n const primaryKey = data[rowIndex].$primaryKey;\n const currentlySelected = getSelectedPrimaryKeys(rowSelectionState, data);\n return currentlySelected.includes(primaryKey);\n}\n\nfunction getMultipleSelectionRows<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = 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 return isCurrentlySelected<Q, RDPs>({ rowIndex, data, rowSelectionState })\n ? currentlySelected.filter(i => i !== primaryKey)\n : [...currentlySelected, primaryKey];\n}\n\nfunction getRowsInRange<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>>,\n startIndex: number,\n endIndex: number,\n): Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>> {\n const start = Math.min(startIndex, endIndex);\n const end = Math.max(startIndex, endIndex);\n const rows: Array<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>\n > = [];\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\nfunction deriveIsAllSelected(\n isControlled: boolean,\n isAllSelectedProp: boolean | undefined,\n internalIsAllSelected: boolean,\n selectedCount: number,\n totalCount: number,\n): boolean {\n if (isControlled && isAllSelectedProp !== undefined) return isAllSelectedProp;\n if (!isControlled && internalIsAllSelected) return true;\n return totalCount > 0 && selectedCount === totalCount;\n}\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\nfunction getSelectedPrimaryKeys<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n selectionState: RowSelectionState,\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, 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","useEffect","useMemo","useRef","useState","useEventCallback","getRowId","getRowIdFromPrimaryKey","useRowSelection","selectionMode","selectedRows","isAllSelected","isAllSelectedProp","onRowSelection","onRowSelectionChanged","data","internalRowSelection","setInternalRowSelection","internalIsAllSelected","setInternalIsAllSelected","lastSelectedRowIndex","setLastSelectedRowIndex","isControlled","undefined","enableRowSelection","rowSelectionState","selectedRowIds","map","item","$primaryKey","getRowSelectionState","selectedCount","Object","values","filter","Boolean","length","totalCount","deriveIsAllSelected","hasSelection","lastFiredAllSelectedIdsRef","fireSelectionCallbacks","ids","isSelectAll","selectedKeySet","Set","id","String","instances","has","onToggleAll","newIsAllSelected","newSelectedRows","current","JSON","stringify","onToggleRow","rowId","rowIndex","isShiftClick","getSingleSelectionRows","getRangeSelectionRows","getMultipleSelectionRows","isCurrentlySelected","serializedIds","rowSelection","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 PropertyKeys,\n SimplePropertyDef,\n} from \"@osdk/api\";\nimport type { RowSelectionState } from \"@tanstack/react-table\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useEventCallback } from \"../../shared/hooks/useEventCallback.js\";\nimport { getRowId, getRowIdFromPrimaryKey } from \"../utils/getRowId.js\";\n\n/**\n * Payload delivered by {@link UseRowSelectionProps.onRowSelectionChanged}.\n * Mirrors the OSDK-level `RowSelectionChange` but without the `objectSet`\n * field, which requires OSDK context and is composed in `ObjectTable`.\n */\nexport interface UseRowSelectionChange<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n> {\n selectedRows: Osdk.Instance<\n Q,\n \"$allBaseProperties\",\n PropertyKeys<Q>,\n RDPs\n >[];\n isSelectAll: boolean;\n}\n\nexport interface UseRowSelectionProps<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n> {\n selectionMode?: \"single\" | \"multiple\" | \"none\";\n selectedRows?: PrimaryKeyType<Q>[];\n isAllSelected?: boolean;\n /**\n * @deprecated Use {@link onRowSelectionChanged} instead.\n */\n onRowSelection?: (\n selectedRowIds: PrimaryKeyType<Q>[],\n isSelectAll: boolean,\n ) => void;\n onRowSelectionChanged?: (\n change: UseRowSelectionChange<Q, RDPs>,\n ) => void;\n data:\n | Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>>\n | undefined;\n}\n\nexport interface UseRowSelectionResult {\n rowSelection: RowSelectionState;\n isAllSelected: boolean;\n hasSelection: boolean;\n enableRowSelection: 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, SimplePropertyDef> = Record<string, never>,\n>({\n selectionMode = \"none\",\n selectedRows,\n isAllSelected: isAllSelectedProp,\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- intentional pass-through to fire alongside onRowSelectionChanged for backwards compatibility\n onRowSelection,\n onRowSelectionChanged,\n data,\n}: UseRowSelectionProps<Q, RDPs>): UseRowSelectionResult {\n const [internalRowSelection, setInternalRowSelection] = useState<\n RowSelectionState\n >({});\n\n // When true, newly fetched rows are auto-selected (uncontrolled mode only).\n const [internalIsAllSelected, setInternalIsAllSelected] = useState(false);\n\n const [lastSelectedRowIndex, setLastSelectedRowIndex] = useState<\n number | null\n >(null);\n\n const isControlled = selectedRows !== undefined;\n const enableRowSelection = selectionMode !== \"none\";\n\n const rowSelectionState: RowSelectionState = useMemo(() => {\n if (!enableRowSelection) return {};\n if (isControlled) {\n const selectedRowIds = isAllSelectedProp\n ? (data ?? []).map(item => item.$primaryKey)\n : selectedRows;\n return getRowSelectionState(selectedRowIds);\n }\n if (internalIsAllSelected) {\n return getRowSelectionState(\n (data ?? []).map(item => item.$primaryKey),\n );\n }\n return internalRowSelection;\n }, [\n enableRowSelection,\n isControlled,\n selectedRows,\n isAllSelectedProp,\n internalIsAllSelected,\n internalRowSelection,\n data,\n ]);\n\n const selectedCount = useMemo(\n () => Object.values(rowSelectionState).filter(Boolean).length,\n [rowSelectionState],\n );\n const totalCount = data?.length ?? 0;\n const isAllSelected = deriveIsAllSelected(\n isControlled,\n isAllSelectedProp,\n internalIsAllSelected,\n selectedCount,\n totalCount,\n );\n const hasSelection = isAllSelected || selectedCount > 0;\n\n // Dedupes refires when \"select all\" is active and data grows.\n const lastFiredAllSelectedIdsRef = useRef<string | null>(null);\n\n const fireSelectionCallbacks = useEventCallback(\n (ids: PrimaryKeyType<Q>[], isSelectAll: boolean) => {\n onRowSelection?.(ids, isSelectAll);\n if (onRowSelectionChanged) {\n const currentData = data ?? [];\n const selectedKeySet = new Set(ids.map(id => String(id)));\n const instances = currentData.filter(item =>\n selectedKeySet.has(String(item.$primaryKey))\n );\n onRowSelectionChanged({\n selectedRows: instances,\n isSelectAll,\n });\n }\n },\n );\n\n const onToggleAll = useCallback(() => {\n if (!enableRowSelection || !data) return;\n\n // Any existing selection (full or partial/indeterminate) clears on click;\n // only an empty selection promotes to \"select all\".\n const newIsAllSelected = !hasSelection;\n const newSelectedRows: PrimaryKeyType<Q>[] = newIsAllSelected\n ? data.map(item => item.$primaryKey)\n : [];\n\n if (!isControlled) {\n setInternalIsAllSelected(newIsAllSelected);\n setInternalRowSelection(getRowSelectionState(newSelectedRows));\n }\n lastFiredAllSelectedIdsRef.current = newIsAllSelected\n ? JSON.stringify(newSelectedRows)\n : null;\n fireSelectionCallbacks(newSelectedRows, newIsAllSelected);\n }, [\n enableRowSelection,\n data,\n hasSelection,\n isControlled,\n fireSelectionCallbacks,\n ]);\n\n const onToggleRow = useCallback(\n (rowId: string, rowIndex: number, isShiftClick: boolean = false) => {\n if (!enableRowSelection || !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 } else {\n if (isShiftClick && lastSelectedRowIndex != null) {\n newSelectedRows = getRangeSelectionRows(\n { rowId, rowIndex, data, lastSelectedRowIndex, rowSelectionState },\n );\n setLastSelectedRowIndex(rowIndex);\n } else {\n newSelectedRows = getMultipleSelectionRows(\n { rowId, rowIndex, data, rowSelectionState },\n );\n if (\n !isCurrentlySelected<Q, RDPs>({ rowIndex, data, rowSelectionState })\n ) {\n setLastSelectedRowIndex(rowIndex);\n }\n }\n }\n if (!isControlled) {\n setInternalIsAllSelected(false);\n setInternalRowSelection(getRowSelectionState(newSelectedRows));\n }\n lastFiredAllSelectedIdsRef.current = null;\n fireSelectionCallbacks(newSelectedRows, false);\n },\n [\n enableRowSelection,\n data,\n selectionMode,\n isControlled,\n fireSelectionCallbacks,\n rowSelectionState,\n lastSelectedRowIndex,\n ],\n );\n\n // Refire callbacks when uncontrolled \"select all\" is active and new rows arrive.\n useEffect(function syncSelectAllOnDataChange() {\n if (isControlled || !internalIsAllSelected || !data) {\n if (!internalIsAllSelected) {\n lastFiredAllSelectedIdsRef.current = null;\n }\n return;\n }\n const ids = data.map(item => item.$primaryKey);\n const serializedIds = JSON.stringify(ids);\n if (lastFiredAllSelectedIdsRef.current === serializedIds) return;\n lastFiredAllSelectedIdsRef.current = serializedIds;\n fireSelectionCallbacks(ids, true);\n }, [isControlled, internalIsAllSelected, data, fireSelectionCallbacks]);\n\n return {\n rowSelection: rowSelectionState,\n isAllSelected,\n enableRowSelection,\n hasSelection,\n onToggleAll,\n onToggleRow,\n };\n}\n\ninterface GetSelectedRowsProps<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n> {\n rowId: string;\n rowIndex: number;\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>>;\n rowSelectionState: RowSelectionState;\n lastSelectedRowIndex?: number;\n}\n\nfunction getSingleSelectionRows<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n { rowId, rowIndex, data, rowSelectionState }: GetSelectedRowsProps<Q, RDPs>,\n): PrimaryKeyType<Q>[] {\n const primaryKey = data[rowIndex].$primaryKey;\n return rowSelectionState[rowId] ? [] : [primaryKey];\n}\n\nfunction getRangeSelectionRows<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n { lastSelectedRowIndex, rowIndex, data, rowSelectionState }:\n GetSelectedRowsProps<Q, RDPs>,\n): PrimaryKeyType<Q>[] {\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 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 isCurrentlySelected<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n { rowIndex, data, rowSelectionState }: Pick<\n GetSelectedRowsProps<Q, RDPs>,\n \"rowIndex\" | \"data\" | \"rowSelectionState\"\n >,\n): boolean {\n const primaryKey = data[rowIndex].$primaryKey;\n const currentlySelected = getSelectedPrimaryKeys(rowSelectionState, data);\n return currentlySelected.includes(primaryKey);\n}\n\nfunction getMultipleSelectionRows<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = 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 return isCurrentlySelected<Q, RDPs>({ rowIndex, data, rowSelectionState })\n ? currentlySelected.filter(i => i !== primaryKey)\n : [...currentlySelected, primaryKey];\n}\n\nfunction getRowsInRange<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>>,\n startIndex: number,\n endIndex: number,\n): Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>> {\n const start = Math.min(startIndex, endIndex);\n const end = Math.max(startIndex, endIndex);\n const rows: Array<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>\n > = [];\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\nfunction deriveIsAllSelected(\n isControlled: boolean,\n isAllSelectedProp: boolean | undefined,\n internalIsAllSelected: boolean,\n selectedCount: number,\n totalCount: number,\n): boolean {\n if (isControlled && isAllSelectedProp !== undefined) return isAllSelectedProp;\n if (!isControlled && internalIsAllSelected) return true;\n return totalCount > 0 && selectedCount === totalCount;\n}\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\nfunction getSelectedPrimaryKeys<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n selectionState: RowSelectionState,\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, 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":[]}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
const PACKAGE_USER_AGENT = `osdk-react-components/${"0.22.
|
|
17
|
+
const PACKAGE_USER_AGENT = `osdk-react-components/${"0.22.1-main-5b87e4a6ad7419b947496b179de1f976acbc9402"}`;
|
|
18
18
|
export function componentUserAgent(componentName) {
|
|
19
19
|
return `${PACKAGE_USER_AGENT}/${componentName}`;
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserAgent.js","names":["PACKAGE_USER_AGENT","componentUserAgent","componentName"],"sources":["UserAgent.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\nconst PACKAGE_USER_AGENT =\n `osdk-react-components/${process.env.PACKAGE_VERSION}`;\n\nexport function componentUserAgent(componentName: string): string {\n return `${PACKAGE_USER_AGENT}/${componentName}`;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,kBAAkB,GACtB,
|
|
1
|
+
{"version":3,"file":"UserAgent.js","names":["PACKAGE_USER_AGENT","componentUserAgent","componentName"],"sources":["UserAgent.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\nconst PACKAGE_USER_AGENT =\n `osdk-react-components/${process.env.PACKAGE_VERSION}`;\n\nexport function componentUserAgent(componentName: string): string {\n return `${PACKAGE_USER_AGENT}/${componentName}`;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,kBAAkB,GACtB,iFAAsD;AAExD,OAAO,SAASC,kBAAkBA,CAACC,aAAqB,EAAU;EAChE,OAAO,GAAGF,kBAAkB,IAAIE,aAAa,EAAE;AACjD","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkFWZS3WQ4_cjs = require('./chunk-FWZS3WQ4.cjs');
|
|
4
|
-
var
|
|
4
|
+
var chunkVJ7IFTRC_cjs = require('./chunk-VJ7IFTRC.cjs');
|
|
5
5
|
var icons = require('@blueprintjs/icons');
|
|
6
6
|
var classnames = require('classnames');
|
|
7
7
|
require('pdfjs-dist/web/pdf_viewer.css');
|
|
@@ -179,12 +179,12 @@ function usePdfViewerInstance(options) {
|
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
// src/public/experimental/pdf-viewer.ts
|
|
182
|
-
var PdfViewer2 =
|
|
182
|
+
var PdfViewer2 = chunkVJ7IFTRC_cjs.withOsdkMetrics(chunkFWZS3WQ4_cjs.PdfViewer, "PdfViewer");
|
|
183
183
|
|
|
184
184
|
exports.PdfViewer = PdfViewer2;
|
|
185
185
|
exports.PdfViewerContent = PdfViewerContent;
|
|
186
186
|
exports.PdfViewerProvider = PdfViewerProvider;
|
|
187
187
|
exports.usePdfViewerContext = usePdfViewerContext;
|
|
188
188
|
exports.usePdfViewerInstance = usePdfViewerInstance;
|
|
189
|
-
//# sourceMappingURL=chunk-
|
|
190
|
-
//# sourceMappingURL=chunk-
|
|
189
|
+
//# sourceMappingURL=chunk-7BT4B462.cjs.map
|
|
190
|
+
//# sourceMappingURL=chunk-7BT4B462.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/pdf-viewer/components/PdfViewerContent.tsx","../../src/pdf-viewer/PdfViewerContext.tsx","../../src/public/experimental/pdf-viewer.ts"],"names":["EMPTY_ANNOTATION_ARRAY","usePdfViewerCore","usePdfAnnotationsByPage","usePdfFormFields","useRef","useEffect","classnames","PdfViewer_default","React","Spin","ErrorIcon","PdfAnnotationOverlay","useContext","usePdfViewerState","usePdfHighlightMode","useMemo","PdfViewer","withOsdkMetrics"],"mappings":"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","file":"chunk-XZI3NYBD.cjs","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 { Error as ErrorIcon, Spin } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport \"pdfjs-dist/web/pdf_viewer.css\";\nimport React, { useEffect, useRef } from \"react\";\nimport { EMPTY_ANNOTATION_ARRAY } from \"../constants.js\";\nimport { usePdfAnnotationsByPage } from \"../hooks/usePdfAnnotationsByPage.js\";\nimport { usePdfFormFields } from \"../hooks/usePdfFormFields.js\";\nimport { usePdfViewerCore } from \"../hooks/usePdfViewerCore.js\";\nimport styles from \"../PdfViewer.module.css\";\nimport { PdfAnnotationOverlay } from \"./PdfAnnotationOverlay.js\";\nexport function PdfViewerContent({\n src,\n annotations = EMPTY_ANNOTATION_ARRAY,\n onAnnotationClick,\n initialPage = 1,\n initialScale = 1.0,\n onPageChange: onPageChangeProp,\n onScaleChange: onScaleChangeProp,\n formData,\n onFormChange,\n className\n}) {\n const viewer = usePdfViewerCore({\n src,\n initialPage,\n initialScale\n });\n const annotationsByPage = usePdfAnnotationsByPage(annotations);\n usePdfFormFields({\n pdfViewerRef: viewer.pdfViewerRef,\n eventBusRef: viewer.eventBusRef,\n document: viewer.document,\n formData,\n onFormChange\n });\n\n // Use refs for callbacks to avoid firing on initial mount\n const onPageChangeRef = useRef(onPageChangeProp);\n onPageChangeRef.current = onPageChangeProp;\n const onScaleChangeRef = useRef(onScaleChangeProp);\n onScaleChangeRef.current = onScaleChangeProp;\n const isInitialMountRef = useRef(true);\n useEffect(function notifyPageChange() {\n if (isInitialMountRef.current) {\n return;\n }\n onPageChangeRef.current?.(viewer.currentPage);\n }, [viewer.currentPage]);\n useEffect(function notifyScaleChange() {\n if (isInitialMountRef.current) {\n return;\n }\n onScaleChangeRef.current?.(viewer.scale);\n }, [viewer.scale]);\n useEffect(function clearInitialMount() {\n isInitialMountRef.current = false;\n }, []);\n const rootClassName = classnames(styles.pdfViewer, className);\n if (viewer.loading) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: rootClassName\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.loadingContainer\n }, /*#__PURE__*/React.createElement(Spin, {\n className: styles.spinnerIcon\n }), \"Loading\\u2026\"));\n }\n if (viewer.error != null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: rootClassName\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.errorContainer\n }, /*#__PURE__*/React.createElement(ErrorIcon, {\n className: styles.errorIcon\n }), \"Failed to load PDF: \", viewer.error.message));\n }\n if (viewer.document == null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: rootClassName\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.loadingContainer\n }, \"No document\"));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: rootClassName\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.scrollContainerWrapper\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: viewer.containerRef,\n className: styles.scrollContainer\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: viewer.viewerRef,\n className: \"pdfViewer\"\n }), viewer.portalTargets.map(target => {\n const pageAnnotations = annotationsByPage[target.pageNumber] ?? EMPTY_ANNOTATION_ARRAY;\n if (pageAnnotations.length === 0) {\n return null;\n }\n return /*#__PURE__*/React.createElement(PdfAnnotationOverlay, {\n key: target.pageNumber,\n target: target,\n annotations: pageAnnotations,\n onAnnotationClick: onAnnotationClick\n });\n }))));\n}","/*\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 React, { createContext, useContext, useMemo } from \"react\";\nimport { EMPTY_ANNOTATION_ARRAY } from \"./constants.js\";\nimport { usePdfAnnotationsByPage } from \"./hooks/usePdfAnnotationsByPage.js\";\nimport { usePdfFormFields } from \"./hooks/usePdfFormFields.js\";\nimport { usePdfHighlightMode } from \"./hooks/usePdfHighlightMode.js\";\nimport { usePdfViewerState } from \"./hooks/usePdfViewerState.js\";\n\n/** The shape of the value provided by {@link PdfViewerProvider}. */\n\nconst PdfViewerContext = /*#__PURE__*/createContext(null);\n/** Provides {@link PdfViewerContextValue} to descendant components. */\nexport function PdfViewerProvider({\n value,\n children\n}) {\n return /*#__PURE__*/React.createElement(PdfViewerContext.Provider, {\n value: value\n }, children);\n}\n\n/**\n * Returns the nearest {@link PdfViewerContextValue} from a {@link PdfViewerProvider}.\n * Throws if called outside a provider.\n */\nexport function usePdfViewerContext() {\n const ctx = useContext(PdfViewerContext);\n if (ctx == null) {\n throw new Error(\"usePdfViewerContext must be used within a PdfViewerProvider\");\n }\n return ctx;\n}\n\n/**\n * Consumer-facing setup hook analogous to react-hook-form's `useForm()`.\n * Accepts viewer options and returns a {@link PdfViewerContextValue} suitable\n * for passing to {@link PdfViewerProvider}.\n */\nexport function usePdfViewerInstance(options) {\n const viewer = usePdfViewerState({\n src: options.src,\n initialPage: options.initialPage,\n initialScale: options.initialScale,\n initialAutoSize: options.initialAutoSize,\n initialSidebarOpen: options.initialSidebarOpen,\n sidebarMode: options.sidebarMode,\n onDownload: options.onDownload\n });\n const {\n highlightModeActive,\n toggleHighlightMode\n } = usePdfHighlightMode({\n pdfViewerRef: viewer.pdfViewerRef,\n document: viewer.document,\n enabled: options.highlightEnabled ?? false,\n onTextHighlight: options.onTextHighlight,\n onHighlightDelete: options.onHighlightDelete\n });\n const {\n hasFormFields,\n submitFormData\n } = usePdfFormFields({\n pdfViewerRef: viewer.pdfViewerRef,\n eventBusRef: viewer.eventBusRef,\n document: viewer.document,\n formData: options.formData,\n onFormSubmit: options.onFormSubmit,\n onFormChange: options.onFormChange\n });\n const annotations = options.annotations ?? EMPTY_ANNOTATION_ARRAY;\n const annotationsByPage = usePdfAnnotationsByPage(annotations);\n const highlightEnabled = options.highlightEnabled ?? false;\n const enableDownload = options.enableDownload ?? false;\n const enableFormSave = options.onFormSubmit != null && hasFormFields;\n const {\n onAnnotationClick,\n outlineIcons\n } = options;\n return useMemo(() => ({\n ...viewer,\n highlightEnabled,\n highlightModeActive,\n toggleHighlightMode,\n hasFormFields,\n submitFormData,\n annotations,\n annotationsByPage,\n onAnnotationClick,\n enableDownload,\n enableFormSave,\n outlineIcons\n }), [viewer, highlightEnabled, highlightModeActive, toggleHighlightMode, hasFormFields, submitFormData, annotations, annotationsByPage, onAnnotationClick, enableDownload, enableFormSave, outlineIcons]);\n}","/*\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// PdfViewer\nexport { BasePdfViewer } from \"../../pdf-viewer/PdfViewer.js\";\n// PdfViewer building blocks\nexport { PdfViewerAnnotationLayer } from \"../../pdf-viewer/components/PdfViewerAnnotationLayer.js\";\nexport { PdfViewerContent } from \"../../pdf-viewer/components/PdfViewerContent.js\";\nexport { PdfViewerOutlineSidebar } from \"../../pdf-viewer/components/PdfViewerOutlineSidebar.js\";\nexport { PdfViewerSearchBar } from \"../../pdf-viewer/components/PdfViewerSearchBar.js\";\nexport { PdfViewerSidebar } from \"../../pdf-viewer/components/PdfViewerSidebar.js\";\nexport { PdfViewerToolbar } from \"../../pdf-viewer/components/PdfViewerToolbar.js\";\n\n// PdfViewer hooks — primitive\nexport { usePdfAnnotationPortals } from \"../../pdf-viewer/hooks/usePdfAnnotationPortals.js\";\nexport { usePdfAnnotationsByPage } from \"../../pdf-viewer/hooks/usePdfAnnotationsByPage.js\";\nexport { usePdfDocument } from \"../../pdf-viewer/hooks/usePdfDocument.js\";\nexport { usePdfFormFields } from \"../../pdf-viewer/hooks/usePdfFormFields.js\";\nexport { usePdfHighlightMode } from \"../../pdf-viewer/hooks/usePdfHighlightMode.js\";\nexport { usePdfOutline } from \"../../pdf-viewer/hooks/usePdfOutline.js\";\nexport { usePdfViewer } from \"../../pdf-viewer/hooks/usePdfViewer.js\";\nexport { usePdfViewerSearch } from \"../../pdf-viewer/hooks/usePdfViewerSearch.js\";\nexport { usePdfViewerSync } from \"../../pdf-viewer/hooks/usePdfViewerSync.js\";\n// PdfViewer context\nexport { PdfViewerProvider, usePdfViewerContext, usePdfViewerInstance } from \"../../pdf-viewer/PdfViewerContext.js\";\n// PdfViewer hooks — composition\nexport { usePdfViewerCore } from \"../../pdf-viewer/hooks/usePdfViewerCore.js\";\nexport { usePdfViewerState } from \"../../pdf-viewer/hooks/usePdfViewerState.js\";\n\n// PdfViewer (Media wrapper)\nimport { PdfViewer as _PdfViewer } from \"../../pdf-viewer/PdfRenderer.js\";\nimport { withOsdkMetrics } from \"../../util/withOsdkMetrics.js\";\nexport const PdfViewer = withOsdkMetrics(_PdfViewer, \"PdfViewer\");"]}
|
|
1
|
+
{"version":3,"sources":["../../src/pdf-viewer/components/PdfViewerContent.tsx","../../src/pdf-viewer/PdfViewerContext.tsx","../../src/public/experimental/pdf-viewer.ts"],"names":["EMPTY_ANNOTATION_ARRAY","usePdfViewerCore","usePdfAnnotationsByPage","usePdfFormFields","useRef","useEffect","classnames","PdfViewer_default","React","Spin","ErrorIcon","PdfAnnotationOverlay","useContext","usePdfViewerState","usePdfHighlightMode","useMemo","PdfViewer","withOsdkMetrics"],"mappings":"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","file":"chunk-7BT4B462.cjs","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 { Error as ErrorIcon, Spin } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport \"pdfjs-dist/web/pdf_viewer.css\";\nimport React, { useEffect, useRef } from \"react\";\nimport { EMPTY_ANNOTATION_ARRAY } from \"../constants.js\";\nimport { usePdfAnnotationsByPage } from \"../hooks/usePdfAnnotationsByPage.js\";\nimport { usePdfFormFields } from \"../hooks/usePdfFormFields.js\";\nimport { usePdfViewerCore } from \"../hooks/usePdfViewerCore.js\";\nimport styles from \"../PdfViewer.module.css\";\nimport { PdfAnnotationOverlay } from \"./PdfAnnotationOverlay.js\";\nexport function PdfViewerContent({\n src,\n annotations = EMPTY_ANNOTATION_ARRAY,\n onAnnotationClick,\n initialPage = 1,\n initialScale = 1.0,\n onPageChange: onPageChangeProp,\n onScaleChange: onScaleChangeProp,\n formData,\n onFormChange,\n className\n}) {\n const viewer = usePdfViewerCore({\n src,\n initialPage,\n initialScale\n });\n const annotationsByPage = usePdfAnnotationsByPage(annotations);\n usePdfFormFields({\n pdfViewerRef: viewer.pdfViewerRef,\n eventBusRef: viewer.eventBusRef,\n document: viewer.document,\n formData,\n onFormChange\n });\n\n // Use refs for callbacks to avoid firing on initial mount\n const onPageChangeRef = useRef(onPageChangeProp);\n onPageChangeRef.current = onPageChangeProp;\n const onScaleChangeRef = useRef(onScaleChangeProp);\n onScaleChangeRef.current = onScaleChangeProp;\n const isInitialMountRef = useRef(true);\n useEffect(function notifyPageChange() {\n if (isInitialMountRef.current) {\n return;\n }\n onPageChangeRef.current?.(viewer.currentPage);\n }, [viewer.currentPage]);\n useEffect(function notifyScaleChange() {\n if (isInitialMountRef.current) {\n return;\n }\n onScaleChangeRef.current?.(viewer.scale);\n }, [viewer.scale]);\n useEffect(function clearInitialMount() {\n isInitialMountRef.current = false;\n }, []);\n const rootClassName = classnames(styles.pdfViewer, className);\n if (viewer.loading) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: rootClassName\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.loadingContainer\n }, /*#__PURE__*/React.createElement(Spin, {\n className: styles.spinnerIcon\n }), \"Loading\\u2026\"));\n }\n if (viewer.error != null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: rootClassName\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.errorContainer\n }, /*#__PURE__*/React.createElement(ErrorIcon, {\n className: styles.errorIcon\n }), \"Failed to load PDF: \", viewer.error.message));\n }\n if (viewer.document == null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: rootClassName\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.loadingContainer\n }, \"No document\"));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: rootClassName\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.scrollContainerWrapper\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: viewer.containerRef,\n className: styles.scrollContainer\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: viewer.viewerRef,\n className: \"pdfViewer\"\n }), viewer.portalTargets.map(target => {\n const pageAnnotations = annotationsByPage[target.pageNumber] ?? EMPTY_ANNOTATION_ARRAY;\n if (pageAnnotations.length === 0) {\n return null;\n }\n return /*#__PURE__*/React.createElement(PdfAnnotationOverlay, {\n key: target.pageNumber,\n target: target,\n annotations: pageAnnotations,\n onAnnotationClick: onAnnotationClick\n });\n }))));\n}","/*\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 React, { createContext, useContext, useMemo } from \"react\";\nimport { EMPTY_ANNOTATION_ARRAY } from \"./constants.js\";\nimport { usePdfAnnotationsByPage } from \"./hooks/usePdfAnnotationsByPage.js\";\nimport { usePdfFormFields } from \"./hooks/usePdfFormFields.js\";\nimport { usePdfHighlightMode } from \"./hooks/usePdfHighlightMode.js\";\nimport { usePdfViewerState } from \"./hooks/usePdfViewerState.js\";\n\n/** The shape of the value provided by {@link PdfViewerProvider}. */\n\nconst PdfViewerContext = /*#__PURE__*/createContext(null);\n/** Provides {@link PdfViewerContextValue} to descendant components. */\nexport function PdfViewerProvider({\n value,\n children\n}) {\n return /*#__PURE__*/React.createElement(PdfViewerContext.Provider, {\n value: value\n }, children);\n}\n\n/**\n * Returns the nearest {@link PdfViewerContextValue} from a {@link PdfViewerProvider}.\n * Throws if called outside a provider.\n */\nexport function usePdfViewerContext() {\n const ctx = useContext(PdfViewerContext);\n if (ctx == null) {\n throw new Error(\"usePdfViewerContext must be used within a PdfViewerProvider\");\n }\n return ctx;\n}\n\n/**\n * Consumer-facing setup hook analogous to react-hook-form's `useForm()`.\n * Accepts viewer options and returns a {@link PdfViewerContextValue} suitable\n * for passing to {@link PdfViewerProvider}.\n */\nexport function usePdfViewerInstance(options) {\n const viewer = usePdfViewerState({\n src: options.src,\n initialPage: options.initialPage,\n initialScale: options.initialScale,\n initialAutoSize: options.initialAutoSize,\n initialSidebarOpen: options.initialSidebarOpen,\n sidebarMode: options.sidebarMode,\n onDownload: options.onDownload\n });\n const {\n highlightModeActive,\n toggleHighlightMode\n } = usePdfHighlightMode({\n pdfViewerRef: viewer.pdfViewerRef,\n document: viewer.document,\n enabled: options.highlightEnabled ?? false,\n onTextHighlight: options.onTextHighlight,\n onHighlightDelete: options.onHighlightDelete\n });\n const {\n hasFormFields,\n submitFormData\n } = usePdfFormFields({\n pdfViewerRef: viewer.pdfViewerRef,\n eventBusRef: viewer.eventBusRef,\n document: viewer.document,\n formData: options.formData,\n onFormSubmit: options.onFormSubmit,\n onFormChange: options.onFormChange\n });\n const annotations = options.annotations ?? EMPTY_ANNOTATION_ARRAY;\n const annotationsByPage = usePdfAnnotationsByPage(annotations);\n const highlightEnabled = options.highlightEnabled ?? false;\n const enableDownload = options.enableDownload ?? false;\n const enableFormSave = options.onFormSubmit != null && hasFormFields;\n const {\n onAnnotationClick,\n outlineIcons\n } = options;\n return useMemo(() => ({\n ...viewer,\n highlightEnabled,\n highlightModeActive,\n toggleHighlightMode,\n hasFormFields,\n submitFormData,\n annotations,\n annotationsByPage,\n onAnnotationClick,\n enableDownload,\n enableFormSave,\n outlineIcons\n }), [viewer, highlightEnabled, highlightModeActive, toggleHighlightMode, hasFormFields, submitFormData, annotations, annotationsByPage, onAnnotationClick, enableDownload, enableFormSave, outlineIcons]);\n}","/*\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// PdfViewer\nexport { BasePdfViewer } from \"../../pdf-viewer/PdfViewer.js\";\n// PdfViewer building blocks\nexport { PdfViewerAnnotationLayer } from \"../../pdf-viewer/components/PdfViewerAnnotationLayer.js\";\nexport { PdfViewerContent } from \"../../pdf-viewer/components/PdfViewerContent.js\";\nexport { PdfViewerOutlineSidebar } from \"../../pdf-viewer/components/PdfViewerOutlineSidebar.js\";\nexport { PdfViewerSearchBar } from \"../../pdf-viewer/components/PdfViewerSearchBar.js\";\nexport { PdfViewerSidebar } from \"../../pdf-viewer/components/PdfViewerSidebar.js\";\nexport { PdfViewerToolbar } from \"../../pdf-viewer/components/PdfViewerToolbar.js\";\n\n// PdfViewer hooks — primitive\nexport { usePdfAnnotationPortals } from \"../../pdf-viewer/hooks/usePdfAnnotationPortals.js\";\nexport { usePdfAnnotationsByPage } from \"../../pdf-viewer/hooks/usePdfAnnotationsByPage.js\";\nexport { usePdfDocument } from \"../../pdf-viewer/hooks/usePdfDocument.js\";\nexport { usePdfFormFields } from \"../../pdf-viewer/hooks/usePdfFormFields.js\";\nexport { usePdfHighlightMode } from \"../../pdf-viewer/hooks/usePdfHighlightMode.js\";\nexport { usePdfOutline } from \"../../pdf-viewer/hooks/usePdfOutline.js\";\nexport { usePdfViewer } from \"../../pdf-viewer/hooks/usePdfViewer.js\";\nexport { usePdfViewerSearch } from \"../../pdf-viewer/hooks/usePdfViewerSearch.js\";\nexport { usePdfViewerSync } from \"../../pdf-viewer/hooks/usePdfViewerSync.js\";\n// PdfViewer context\nexport { PdfViewerProvider, usePdfViewerContext, usePdfViewerInstance } from \"../../pdf-viewer/PdfViewerContext.js\";\n// PdfViewer hooks — composition\nexport { usePdfViewerCore } from \"../../pdf-viewer/hooks/usePdfViewerCore.js\";\nexport { usePdfViewerState } from \"../../pdf-viewer/hooks/usePdfViewerState.js\";\n\n// PdfViewer (Media wrapper)\nimport { PdfViewer as _PdfViewer } from \"../../pdf-viewer/PdfRenderer.js\";\nimport { withOsdkMetrics } from \"../../util/withOsdkMetrics.js\";\nexport const PdfViewer = withOsdkMetrics(_PdfViewer, \"PdfViewer\");"]}
|
|
@@ -6,7 +6,7 @@ var chunkE5OKIBYJ_cjs = require('./chunk-E5OKIBYJ.cjs');
|
|
|
6
6
|
var chunkNE7GRF7G_cjs = require('./chunk-NE7GRF7G.cjs');
|
|
7
7
|
var chunk7LXS66DW_cjs = require('./chunk-7LXS66DW.cjs');
|
|
8
8
|
var chunkUCTQICPR_cjs = require('./chunk-UCTQICPR.cjs');
|
|
9
|
-
var
|
|
9
|
+
var chunkVJ7IFTRC_cjs = require('./chunk-VJ7IFTRC.cjs');
|
|
10
10
|
var button = require('@base-ui/react/button');
|
|
11
11
|
var classnames3 = require('classnames');
|
|
12
12
|
var React13 = require('react');
|
|
@@ -5319,7 +5319,7 @@ function summarizeFilterValue(definition, state) {
|
|
|
5319
5319
|
}
|
|
5320
5320
|
|
|
5321
5321
|
// src/public/experimental/filter-list.ts
|
|
5322
|
-
var FilterList2 =
|
|
5322
|
+
var FilterList2 = chunkVJ7IFTRC_cjs.withOsdkMetrics(FilterList, "FilterList");
|
|
5323
5323
|
|
|
5324
5324
|
exports.BaseFilterList = BaseFilterList;
|
|
5325
5325
|
exports.FilterInput = FilterInput;
|
|
@@ -5333,5 +5333,5 @@ exports.narrowObjectSet = narrowObjectSet;
|
|
|
5333
5333
|
exports.serializeFilterStates = serializeFilterStates;
|
|
5334
5334
|
exports.summarizeFilterValue = summarizeFilterValue;
|
|
5335
5335
|
exports.useFilterListState = useFilterListState;
|
|
5336
|
-
//# sourceMappingURL=chunk-
|
|
5337
|
-
//# sourceMappingURL=chunk-
|
|
5336
|
+
//# sourceMappingURL=chunk-DBOYBVEH.cjs.map
|
|
5337
|
+
//# sourceMappingURL=chunk-DBOYBVEH.cjs.map
|