@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.
Files changed (55) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/build/browser/object-table/hooks/useRowSelection.js +8 -3
  3. package/build/browser/object-table/hooks/useRowSelection.js.map +1 -1
  4. package/build/browser/util/UserAgent.js +1 -1
  5. package/build/browser/util/UserAgent.js.map +1 -1
  6. package/build/cjs/{chunk-XZI3NYBD.cjs → chunk-7BT4B462.cjs} +4 -4
  7. package/build/cjs/{chunk-XZI3NYBD.cjs.map → chunk-7BT4B462.cjs.map} +1 -1
  8. package/build/cjs/{chunk-B6AIDSEZ.cjs → chunk-DBOYBVEH.cjs} +4 -4
  9. package/build/cjs/{chunk-B6AIDSEZ.cjs.map → chunk-DBOYBVEH.cjs.map} +1 -1
  10. package/build/cjs/{chunk-5OTHYCAN.cjs → chunk-E5JC7RPV.cjs} +4 -4
  11. package/build/cjs/{chunk-5OTHYCAN.cjs.map → chunk-E5JC7RPV.cjs.map} +1 -1
  12. package/build/cjs/{chunk-XUVWBVTL.cjs → chunk-E7WT47EF.cjs} +6 -6
  13. package/build/cjs/{chunk-XUVWBVTL.cjs.map → chunk-E7WT47EF.cjs.map} +1 -1
  14. package/build/cjs/{chunk-6JJVLART.cjs → chunk-EGKE5NBL.cjs} +4 -4
  15. package/build/cjs/{chunk-6JJVLART.cjs.map → chunk-EGKE5NBL.cjs.map} +1 -1
  16. package/build/cjs/chunk-KFQLART7.cjs +11 -0
  17. package/build/cjs/{chunk-QWVW5PEX.cjs.map → chunk-KFQLART7.cjs.map} +1 -1
  18. package/build/cjs/{chunk-WWOD2EMG.cjs → chunk-MWZIUNIX.cjs} +4 -4
  19. package/build/cjs/{chunk-WWOD2EMG.cjs.map → chunk-MWZIUNIX.cjs.map} +1 -1
  20. package/build/cjs/chunk-RVXDWSFX.cjs +11 -0
  21. package/build/cjs/{chunk-RVEV2776.cjs.map → chunk-RVXDWSFX.cjs.map} +1 -1
  22. package/build/cjs/{chunk-O3L7F3SI.cjs → chunk-VJ7IFTRC.cjs} +3 -3
  23. package/build/cjs/chunk-VJ7IFTRC.cjs.map +1 -0
  24. package/build/cjs/chunk-VRM4VZNR.cjs +11 -0
  25. package/build/cjs/{chunk-SBENFO5U.cjs.map → chunk-VRM4VZNR.cjs.map} +1 -1
  26. package/build/cjs/chunk-XOWPWEC5.cjs +11 -0
  27. package/build/cjs/{chunk-A3TEU5AA.cjs.map → chunk-XOWPWEC5.cjs.map} +1 -1
  28. package/build/cjs/{chunk-V3TF4PWW.cjs → chunk-YKBC2AR2.cjs} +4 -4
  29. package/build/cjs/{chunk-V3TF4PWW.cjs.map → chunk-YKBC2AR2.cjs.map} +1 -1
  30. package/build/cjs/chunk-Z7E6N3RA.cjs +11 -0
  31. package/build/cjs/{chunk-AJQTGMS6.cjs.map → chunk-Z7E6N3RA.cjs.map} +1 -1
  32. package/build/cjs/public/experimental/action-form.cjs +4 -4
  33. package/build/cjs/public/experimental/document-viewer.cjs +4 -4
  34. package/build/cjs/public/experimental/email-viewer.cjs +3 -3
  35. package/build/cjs/public/experimental/excel-viewer.cjs +3 -3
  36. package/build/cjs/public/experimental/filter-list.cjs +14 -14
  37. package/build/cjs/public/experimental/image-viewer.cjs +3 -3
  38. package/build/cjs/public/experimental/markdown-renderer.cjs +3 -3
  39. package/build/cjs/public/experimental/object-table.cjs +8 -8
  40. package/build/cjs/public/experimental/pdf-viewer.cjs +7 -7
  41. package/build/cjs/public/experimental/tiff-renderer.cjs +3 -3
  42. package/build/cjs/public/experimental/video-viewer.cjs +3 -3
  43. package/build/cjs/public/experimental/xml-viewer.cjs +3 -3
  44. package/build/cjs/public/experimental.cjs +47 -47
  45. package/build/esm/object-table/hooks/useRowSelection.js +8 -3
  46. package/build/esm/object-table/hooks/useRowSelection.js.map +1 -1
  47. package/build/esm/util/UserAgent.js +1 -1
  48. package/build/esm/util/UserAgent.js.map +1 -1
  49. package/package.json +7 -7
  50. package/build/cjs/chunk-A3TEU5AA.cjs +0 -11
  51. package/build/cjs/chunk-AJQTGMS6.cjs +0 -11
  52. package/build/cjs/chunk-O3L7F3SI.cjs.map +0 -1
  53. package/build/cjs/chunk-QWVW5PEX.cjs +0 -11
  54. package/build/cjs/chunk-RVEV2776.cjs +0 -11
  55. 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
- const newIsAllSelected = !isAllSelected;
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, isAllSelected, isControlled, fireSelectionCallbacks]);
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: isAllSelected || selectedCount > 0,
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.0"}`;
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,mCAAsD;AAExD,OAAO,SAASC,kBAAkBA,CAACC,aAAqB,EAAU;EAChE,OAAO,GAAGF,kBAAkB,IAAIE,aAAa,EAAE;AACjD","ignoreList":[]}
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 chunkO3L7F3SI_cjs = require('./chunk-O3L7F3SI.cjs');
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 = chunkO3L7F3SI_cjs.withOsdkMetrics(chunkFWZS3WQ4_cjs.PdfViewer, "PdfViewer");
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-XZI3NYBD.cjs.map
190
- //# sourceMappingURL=chunk-XZI3NYBD.cjs.map
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 chunkO3L7F3SI_cjs = require('./chunk-O3L7F3SI.cjs');
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 = chunkO3L7F3SI_cjs.withOsdkMetrics(FilterList, "FilterList");
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-B6AIDSEZ.cjs.map
5337
- //# sourceMappingURL=chunk-B6AIDSEZ.cjs.map
5336
+ //# sourceMappingURL=chunk-DBOYBVEH.cjs.map
5337
+ //# sourceMappingURL=chunk-DBOYBVEH.cjs.map