@osdk/react-components 0.45.0 → 0.46.0

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 (161) hide show
  1. package/AGENTS.md +29 -29
  2. package/CHANGELOG.md +6 -0
  3. package/README.md +14 -14
  4. package/build/browser/document-viewer/DocumentViewer.js +6 -6
  5. package/build/browser/document-viewer/DocumentViewer.js.map +1 -1
  6. package/build/browser/document-viewer/DocumentViewerApi.js +1 -1
  7. package/build/browser/document-viewer/DocumentViewerApi.js.map +1 -1
  8. package/build/browser/object-table/ObjectTableApi.js.map +1 -1
  9. package/build/browser/public/experimental/{excel-viewer.js → spreadsheet-viewer.js} +6 -6
  10. package/build/browser/public/experimental/spreadsheet-viewer.js.map +1 -0
  11. package/build/browser/public/experimental.js +1 -1
  12. package/build/browser/public/experimental.js.map +1 -1
  13. package/build/{esm/excel-viewer/BaseExcelViewer.js → browser/spreadsheet-viewer/BaseSpreadsheetViewer.js} +3 -3
  14. package/build/browser/spreadsheet-viewer/BaseSpreadsheetViewer.js.map +1 -0
  15. package/build/{esm/excel-viewer/BaseExcelViewer.module.css → browser/spreadsheet-viewer/BaseSpreadsheetViewer.module.css} +33 -33
  16. package/build/browser/spreadsheet-viewer/BaseSpreadsheetViewer.module.css.js +20 -0
  17. package/build/browser/{excel-viewer/ExcelViewer.js → spreadsheet-viewer/SpreadsheetViewer.js} +7 -7
  18. package/build/browser/spreadsheet-viewer/SpreadsheetViewer.js.map +1 -0
  19. package/build/browser/spreadsheet-viewer/SpreadsheetViewerApi.js +2 -0
  20. package/build/browser/spreadsheet-viewer/SpreadsheetViewerApi.js.map +1 -0
  21. package/build/browser/spreadsheet-viewer/parseSpreadsheet.js.map +1 -0
  22. package/build/browser/styles.css +199 -197
  23. package/build/browser/tokens/component-tokens/spreadsheet-viewer.css +25 -0
  24. package/build/browser/tokens.css +1 -1
  25. package/build/browser/util/UserAgent.js +1 -1
  26. package/build/cjs/{ExcelViewerApi-D8tqiUvS.d.cts → SpreadsheetViewerApi-C4-gqkkY.d.cts} +4 -4
  27. package/build/cjs/{chunk-MG7UDVZR.cjs → chunk-2CKESSXH.cjs} +11 -11
  28. package/build/cjs/chunk-2CKESSXH.cjs.map +1 -0
  29. package/build/cjs/{chunk-GKDO6NU7.cjs → chunk-3C5JRKBJ.cjs} +30 -30
  30. package/build/cjs/chunk-3C5JRKBJ.cjs.map +1 -0
  31. package/build/cjs/{chunk-EIOTTIUV.cjs → chunk-A4PDCZUY.cjs} +4 -4
  32. package/build/cjs/{chunk-EIOTTIUV.cjs.map → chunk-A4PDCZUY.cjs.map} +1 -1
  33. package/build/cjs/{chunk-QQXBGYWP.cjs → chunk-AEQDZPU3.cjs} +4 -4
  34. package/build/cjs/{chunk-QQXBGYWP.cjs.map → chunk-AEQDZPU3.cjs.map} +1 -1
  35. package/build/cjs/{chunk-TVK2XLNJ.cjs → chunk-BLPXZKVC.cjs} +3 -3
  36. package/build/cjs/{chunk-TVK2XLNJ.cjs.map → chunk-BLPXZKVC.cjs.map} +1 -1
  37. package/build/cjs/chunk-D2NDALCM.cjs +11 -0
  38. package/build/cjs/chunk-D2NDALCM.cjs.map +1 -0
  39. package/build/cjs/chunk-I3KITN2A.cjs +11 -0
  40. package/build/cjs/{chunk-YCSU5IMD.cjs.map → chunk-I3KITN2A.cjs.map} +1 -1
  41. package/build/cjs/{chunk-T6SDOLIX.cjs → chunk-KGJWCRXE.cjs} +4 -4
  42. package/build/cjs/{chunk-T6SDOLIX.cjs.map → chunk-KGJWCRXE.cjs.map} +1 -1
  43. package/build/cjs/chunk-L4MQGDXA.cjs +11 -0
  44. package/build/cjs/{chunk-4VNSLY36.cjs.map → chunk-L4MQGDXA.cjs.map} +1 -1
  45. package/build/cjs/chunk-LS44RU72.cjs +11 -0
  46. package/build/cjs/{chunk-AU6YJLRT.cjs.map → chunk-LS44RU72.cjs.map} +1 -1
  47. package/build/cjs/{chunk-NER4ODIR.cjs → chunk-NK5S5G7V.cjs} +4 -4
  48. package/build/cjs/{chunk-NER4ODIR.cjs.map → chunk-NK5S5G7V.cjs.map} +1 -1
  49. package/build/cjs/chunk-T65VAHZ3.cjs +11 -0
  50. package/build/cjs/{chunk-KSCR5PCE.cjs.map → chunk-T65VAHZ3.cjs.map} +1 -1
  51. package/build/cjs/{chunk-WALOYQVH.cjs → chunk-UNK7YFKE.cjs} +4 -4
  52. package/build/cjs/{chunk-WALOYQVH.cjs.map → chunk-UNK7YFKE.cjs.map} +1 -1
  53. package/build/cjs/{chunk-7NPZBKYH.cjs → chunk-VMFLHUR7.cjs} +4 -4
  54. package/build/cjs/{chunk-7NPZBKYH.cjs.map → chunk-VMFLHUR7.cjs.map} +1 -1
  55. package/build/cjs/{chunk-KKRHM5JK.cjs → chunk-WMGFXPN6.cjs} +4 -4
  56. package/build/cjs/{chunk-KKRHM5JK.cjs.map → chunk-WMGFXPN6.cjs.map} +1 -1
  57. package/build/cjs/public/experimental/action-form.cjs +4 -4
  58. package/build/cjs/public/experimental/cbac-picker.cjs +11 -11
  59. package/build/cjs/public/experimental/document-viewer.cjs +5 -5
  60. package/build/cjs/public/experimental/document-viewer.css +122 -122
  61. package/build/cjs/public/experimental/document-viewer.css.map +1 -1
  62. package/build/cjs/public/experimental/document-viewer.d.cts +5 -5
  63. package/build/cjs/public/experimental/email-viewer.cjs +3 -3
  64. package/build/cjs/public/experimental/filter-list.cjs +15 -15
  65. package/build/cjs/public/experimental/image-viewer.cjs +3 -3
  66. package/build/cjs/public/experimental/markdown-renderer.cjs +3 -3
  67. package/build/cjs/public/experimental/object-table.cjs +21 -21
  68. package/build/cjs/public/experimental/object-table.d.cts +1 -1
  69. package/build/cjs/public/experimental/pdf-viewer.cjs +7 -7
  70. package/build/cjs/public/experimental/spreadsheet-viewer.cjs +20 -0
  71. package/build/cjs/public/experimental/spreadsheet-viewer.cjs.map +1 -0
  72. package/build/cjs/public/experimental/spreadsheet-viewer.css +122 -0
  73. package/build/cjs/public/experimental/spreadsheet-viewer.css.map +1 -0
  74. package/build/cjs/public/experimental/spreadsheet-viewer.d.cts +12 -0
  75. package/build/cjs/public/experimental/tiff-renderer.cjs +3 -3
  76. package/build/cjs/public/experimental/video-viewer.cjs +3 -3
  77. package/build/cjs/public/experimental/xml-viewer.cjs +3 -3
  78. package/build/cjs/public/experimental.cjs +79 -79
  79. package/build/cjs/public/experimental.css +122 -122
  80. package/build/cjs/public/experimental.css.map +1 -1
  81. package/build/cjs/public/experimental.d.cts +2 -2
  82. package/build/esm/document-viewer/DocumentViewer.js +6 -6
  83. package/build/esm/document-viewer/DocumentViewer.js.map +1 -1
  84. package/build/esm/document-viewer/DocumentViewerApi.js +1 -1
  85. package/build/esm/document-viewer/DocumentViewerApi.js.map +1 -1
  86. package/build/esm/object-table/ObjectTableApi.js.map +1 -1
  87. package/build/esm/public/experimental/{excel-viewer.js → spreadsheet-viewer.js} +6 -6
  88. package/build/esm/public/experimental/spreadsheet-viewer.js.map +1 -0
  89. package/build/esm/public/experimental.js +1 -1
  90. package/build/esm/public/experimental.js.map +1 -1
  91. package/build/{browser/excel-viewer/BaseExcelViewer.js → esm/spreadsheet-viewer/BaseSpreadsheetViewer.js} +3 -3
  92. package/build/esm/spreadsheet-viewer/BaseSpreadsheetViewer.js.map +1 -0
  93. package/build/{browser/excel-viewer/BaseExcelViewer.module.css → esm/spreadsheet-viewer/BaseSpreadsheetViewer.module.css} +33 -33
  94. package/build/esm/{excel-viewer/ExcelViewer.js → spreadsheet-viewer/SpreadsheetViewer.js} +7 -7
  95. package/build/esm/spreadsheet-viewer/SpreadsheetViewer.js.map +1 -0
  96. package/build/esm/spreadsheet-viewer/SpreadsheetViewerApi.js +2 -0
  97. package/build/esm/spreadsheet-viewer/SpreadsheetViewerApi.js.map +1 -0
  98. package/build/esm/spreadsheet-viewer/parseSpreadsheet.js.map +1 -0
  99. package/build/esm/tokens/component-tokens/spreadsheet-viewer.css +25 -0
  100. package/build/esm/tokens.css +1 -1
  101. package/build/esm/util/UserAgent.js +1 -1
  102. package/build/types/document-viewer/DocumentViewer.d.ts +1 -1
  103. package/build/types/document-viewer/DocumentViewer.d.ts.map +1 -1
  104. package/build/types/document-viewer/DocumentViewerApi.d.ts +4 -4
  105. package/build/types/document-viewer/DocumentViewerApi.d.ts.map +1 -1
  106. package/build/types/object-table/ObjectTableApi.d.ts +1 -1
  107. package/build/types/public/experimental/spreadsheet-viewer.d.ts +4 -0
  108. package/build/types/public/experimental/spreadsheet-viewer.d.ts.map +1 -0
  109. package/build/types/public/experimental.d.ts +1 -1
  110. package/build/types/spreadsheet-viewer/BaseSpreadsheetViewer.d.ts +3 -0
  111. package/build/types/spreadsheet-viewer/BaseSpreadsheetViewer.d.ts.map +1 -0
  112. package/build/types/spreadsheet-viewer/SpreadsheetViewer.d.ts +3 -0
  113. package/build/types/spreadsheet-viewer/SpreadsheetViewer.d.ts.map +1 -0
  114. package/build/types/{excel-viewer/ExcelViewerApi.d.ts → spreadsheet-viewer/SpreadsheetViewerApi.d.ts} +3 -3
  115. package/build/types/spreadsheet-viewer/SpreadsheetViewerApi.d.ts.map +1 -0
  116. package/build/types/{excel-viewer → spreadsheet-viewer}/parseSpreadsheet.d.ts +1 -1
  117. package/build/types/spreadsheet-viewer/parseSpreadsheet.d.ts.map +1 -0
  118. package/docs/CSSVariables.md +25 -25
  119. package/docs/DocumentViewer.md +25 -25
  120. package/docs/ObjectTable.md +1 -1
  121. package/docs/{ExcelViewer.md → SpreadsheetViewer.md} +26 -24
  122. package/docs/Welcome.md +7 -7
  123. package/package.json +13 -13
  124. package/build/browser/excel-viewer/BaseExcelViewer.js.map +0 -1
  125. package/build/browser/excel-viewer/BaseExcelViewer.module.css.js +0 -20
  126. package/build/browser/excel-viewer/ExcelViewer.js.map +0 -1
  127. package/build/browser/excel-viewer/ExcelViewerApi.js +0 -2
  128. package/build/browser/excel-viewer/ExcelViewerApi.js.map +0 -1
  129. package/build/browser/excel-viewer/parseSpreadsheet.js.map +0 -1
  130. package/build/browser/public/experimental/excel-viewer.js.map +0 -1
  131. package/build/browser/tokens/component-tokens/excel-viewer.css +0 -23
  132. package/build/cjs/chunk-4VNSLY36.cjs +0 -11
  133. package/build/cjs/chunk-AU6YJLRT.cjs +0 -11
  134. package/build/cjs/chunk-GKDO6NU7.cjs.map +0 -1
  135. package/build/cjs/chunk-J4HBV3P2.cjs +0 -11
  136. package/build/cjs/chunk-J4HBV3P2.cjs.map +0 -1
  137. package/build/cjs/chunk-KSCR5PCE.cjs +0 -11
  138. package/build/cjs/chunk-MG7UDVZR.cjs.map +0 -1
  139. package/build/cjs/chunk-YCSU5IMD.cjs +0 -11
  140. package/build/cjs/public/experimental/excel-viewer.cjs +0 -20
  141. package/build/cjs/public/experimental/excel-viewer.cjs.map +0 -1
  142. package/build/cjs/public/experimental/excel-viewer.css +0 -122
  143. package/build/cjs/public/experimental/excel-viewer.css.map +0 -1
  144. package/build/cjs/public/experimental/excel-viewer.d.cts +0 -12
  145. package/build/esm/excel-viewer/BaseExcelViewer.js.map +0 -1
  146. package/build/esm/excel-viewer/ExcelViewer.js.map +0 -1
  147. package/build/esm/excel-viewer/ExcelViewerApi.js +0 -2
  148. package/build/esm/excel-viewer/ExcelViewerApi.js.map +0 -1
  149. package/build/esm/excel-viewer/parseSpreadsheet.js.map +0 -1
  150. package/build/esm/public/experimental/excel-viewer.js.map +0 -1
  151. package/build/esm/tokens/component-tokens/excel-viewer.css +0 -23
  152. package/build/types/excel-viewer/BaseExcelViewer.d.ts +0 -3
  153. package/build/types/excel-viewer/BaseExcelViewer.d.ts.map +0 -1
  154. package/build/types/excel-viewer/ExcelViewer.d.ts +0 -3
  155. package/build/types/excel-viewer/ExcelViewer.d.ts.map +0 -1
  156. package/build/types/excel-viewer/ExcelViewerApi.d.ts.map +0 -1
  157. package/build/types/excel-viewer/parseSpreadsheet.d.ts.map +0 -1
  158. package/build/types/public/experimental/excel-viewer.d.ts +0 -4
  159. package/build/types/public/experimental/excel-viewer.d.ts.map +0 -1
  160. /package/build/browser/{excel-viewer → spreadsheet-viewer}/parseSpreadsheet.js +0 -0
  161. /package/build/esm/{excel-viewer → spreadsheet-viewer}/parseSpreadsheet.js +0 -0
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- const PACKAGE_USER_AGENT = `osdk-react-components/${"0.45.0"}`;
17
+ const PACKAGE_USER_AGENT = `osdk-react-components/${"0.46.0"}`;
18
18
  export function componentUserAgent(componentName) {
19
19
  return `${PACKAGE_USER_AGENT}/${componentName}`;
20
20
  }
@@ -10,16 +10,16 @@ interface ParsedSpreadsheet {
10
10
  /** All sheets in the workbook */
11
11
  sheets: readonly SheetData[];
12
12
  }
13
- interface BaseExcelViewerProps {
13
+ interface BaseSpreadsheetViewerProps {
14
14
  /** Parsed spreadsheet data */
15
15
  spreadsheet: ParsedSpreadsheet;
16
16
  /** Additional CSS class name for the root element
17
17
  * @default undefined */
18
18
  className?: string;
19
19
  }
20
- interface ExcelViewerMediaProps extends Omit<BaseExcelViewerProps, "spreadsheet"> {
21
- /** The Media object to fetch Excel contents from */
20
+ interface SpreadsheetViewerMediaProps extends Omit<BaseSpreadsheetViewerProps, "spreadsheet"> {
21
+ /** The Media object to fetch spreadsheet contents from */
22
22
  media: Media;
23
23
  }
24
24
 
25
- export type { BaseExcelViewerProps as B, ExcelViewerMediaProps as E, ParsedSpreadsheet as P, SheetData as S };
25
+ export type { BaseSpreadsheetViewerProps as B, ParsedSpreadsheet as P, SheetData as S, SpreadsheetViewerMediaProps as a };
@@ -2,14 +2,14 @@
2
2
 
3
3
  var chunkKHMOMROL_cjs = require('./chunk-KHMOMROL.cjs');
4
4
  var chunkRVZE7LPI_cjs = require('./chunk-RVZE7LPI.cjs');
5
- var chunkGKDO6NU7_cjs = require('./chunk-GKDO6NU7.cjs');
6
5
  var chunkVOROB7KJ_cjs = require('./chunk-VOROB7KJ.cjs');
7
6
  var chunkP55Q2MCT_cjs = require('./chunk-P55Q2MCT.cjs');
8
7
  var chunkXJDMSVW4_cjs = require('./chunk-XJDMSVW4.cjs');
8
+ var chunk3C5JRKBJ_cjs = require('./chunk-3C5JRKBJ.cjs');
9
9
  var chunkLB3IHFAB_cjs = require('./chunk-LB3IHFAB.cjs');
10
10
  var chunkUCTQICPR_cjs = require('./chunk-UCTQICPR.cjs');
11
11
  var chunkOISZU73V_cjs = require('./chunk-OISZU73V.cjs');
12
- var chunkTVK2XLNJ_cjs = require('./chunk-TVK2XLNJ.cjs');
12
+ var chunkBLPXZKVC_cjs = require('./chunk-BLPXZKVC.cjs');
13
13
  var icons = require('@blueprintjs/icons');
14
14
  var classnames = require('classnames');
15
15
  var React2 = require('react');
@@ -48,7 +48,7 @@ var ViewerType = /* @__PURE__ */ (function(ViewerType2) {
48
48
  ViewerType2["Image"] = "image";
49
49
  ViewerType2["Video"] = "video";
50
50
  ViewerType2["Markdown"] = "markdown";
51
- ViewerType2["Excel"] = "excel";
51
+ ViewerType2["Spreadsheet"] = "spreadsheet";
52
52
  ViewerType2["Email"] = "email";
53
53
  ViewerType2["Xml"] = "xml";
54
54
  ViewerType2["Unsupported"] = "unsupported";
@@ -218,7 +218,7 @@ function getViewerType(mimeType, fileName) {
218
218
  return ViewerType.Markdown;
219
219
  }
220
220
  if (mimeType === "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") {
221
- return ViewerType.Excel;
221
+ return ViewerType.Spreadsheet;
222
222
  }
223
223
  if (mimeType === "message/rfc822") {
224
224
  return ViewerType.Email;
@@ -237,7 +237,7 @@ function DocumentViewer({
237
237
  videoViewerProps,
238
238
  tiffRendererProps,
239
239
  markdownRendererProps,
240
- excelViewerProps,
240
+ spreadsheetViewerProps,
241
241
  emailViewerProps,
242
242
  xmlViewerProps,
243
243
  fileName,
@@ -281,11 +281,11 @@ function DocumentViewer({
281
281
  media,
282
282
  className: rootClassName
283
283
  }, markdownRendererProps));
284
- case ViewerType.Excel:
285
- return /* @__PURE__ */ React2__default.default.createElement(chunkGKDO6NU7_cjs.ExcelViewer, _extends2({
284
+ case ViewerType.Spreadsheet:
285
+ return /* @__PURE__ */ React2__default.default.createElement(chunk3C5JRKBJ_cjs.SpreadsheetViewer, _extends2({
286
286
  media,
287
287
  className: rootClassName
288
- }, excelViewerProps));
288
+ }, spreadsheetViewerProps));
289
289
  case ViewerType.Email:
290
290
  return /* @__PURE__ */ React2__default.default.createElement(chunkOISZU73V_cjs.EmailViewer, _extends2({
291
291
  media,
@@ -310,9 +310,9 @@ function DocumentViewer({
310
310
  }
311
311
 
312
312
  // src/public/experimental/document-viewer.ts
313
- var DocumentViewer2 = chunkTVK2XLNJ_cjs.withOsdkMetrics(DocumentViewer, "DocumentViewer");
313
+ var DocumentViewer2 = chunkBLPXZKVC_cjs.withOsdkMetrics(DocumentViewer, "DocumentViewer");
314
314
 
315
315
  exports.DocumentViewer = DocumentViewer2;
316
316
  exports.ViewerType = ViewerType;
317
- //# sourceMappingURL=chunk-MG7UDVZR.cjs.map
318
- //# sourceMappingURL=chunk-MG7UDVZR.cjs.map
317
+ //# sourceMappingURL=chunk-2CKESSXH.cjs.map
318
+ //# sourceMappingURL=chunk-2CKESSXH.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/document-viewer/DocumentViewerApi.ts","../../src/document-viewer/hooks/useTiffToPdf.ts","../../src/document-viewer/DocumentViewer.module.css","../../src/document-viewer/TiffDocumentViewer.tsx","../../src/document-viewer/DocumentViewer.tsx","../../src/public/experimental/document-viewer.ts"],"names":["ViewerType","useOsdkClient","useState","useRef","useEffect","UTIF","__EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait","React","Spin","BasePdfViewer","TiffViewerMedia","_extends","useMemo","classnames","PdfViewer","ImageViewer","VideoViewer","MarkdownViewerMedia","SpreadsheetViewer","EmailViewer","XmlViewer","DocumentIcon","assertUnreachable","DocumentViewer","withOsdkMetrics"],"mappings":"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","file":"chunk-2CKESSXH.cjs","sourcesContent":["/*\n * Copyright 2026 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\nexport let ViewerType = /*#__PURE__*/function (ViewerType) {\n ViewerType[\"Pdf\"] = \"pdf\";\n ViewerType[\"Tiff\"] = \"tiff\";\n ViewerType[\"Image\"] = \"image\";\n ViewerType[\"Video\"] = \"video\";\n ViewerType[\"Markdown\"] = \"markdown\";\n ViewerType[\"Spreadsheet\"] = \"spreadsheet\";\n ViewerType[\"Email\"] = \"email\";\n ViewerType[\"Xml\"] = \"xml\";\n ViewerType[\"Unsupported\"] = \"unsupported\";\n return ViewerType;\n}({});","/*\n * Copyright 2026 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/* cspell:words ifds */\n\nimport { __EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait } from \"@osdk/api/unstable\";\nimport { useOsdkClient } from \"@osdk/react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport * as UTIF from \"utif\";\nimport { ViewerType } from \"../DocumentViewerApi.js\";\nconst DISABLED_RESULT = {\n viewerType: ViewerType.Tiff,\n pdfData: undefined,\n loading: false,\n error: undefined\n};\n\n/**\n * Detects multi-page TIFFs and converts them to PDF via the MIO transform API.\n * Single-page TIFFs are left for the TiffRenderer to handle.\n *\n * @param media - The OSDK Media object (must be a TIFF)\n * @param enabled - Whether to attempt multi-page detection and conversion\n */\nexport function useTiffToPdf(media, enabled) {\n const client = useOsdkClient();\n const [result, setResult] = useState(DISABLED_RESULT);\n const mediaRef = useRef(media);\n mediaRef.current = media;\n useEffect(() => {\n if (!enabled) {\n setResult(DISABLED_RESULT);\n return;\n }\n let cancelled = false;\n setResult({\n viewerType: ViewerType.Tiff,\n pdfData: undefined,\n loading: true,\n error: undefined\n });\n async function detectAndTransform() {\n const currentMedia = mediaRef.current;\n\n // Step 1: Fetch TIFF bytes and count pages\n const response = await currentMedia.fetchContents();\n const buffer = await response.arrayBuffer();\n if (cancelled) return;\n const ifds = UTIF.decode(buffer);\n const pageCount = ifds.length;\n if (pageCount <= 1) {\n // Single-page TIFF — use TiffRenderer\n if (!cancelled) {\n setResult({\n viewerType: ViewerType.Tiff,\n pdfData: undefined,\n loading: false,\n error: undefined\n });\n }\n return;\n }\n\n // Step 2: Multi-page TIFF — convert to PDF via MIO transform\n const mediaReference = currentMedia.getMediaReference();\n const pdfResponse = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait).transformAndWait({\n mediaReference,\n transformation: {\n $imageToDocument: {\n $operation: {\n $createPdf: {}\n }\n }\n }\n });\n if (cancelled) return;\n const pdfBuffer = await pdfResponse.arrayBuffer();\n if (!cancelled) {\n setResult({\n viewerType: ViewerType.Pdf,\n pdfData: pdfBuffer,\n loading: false,\n error: undefined\n });\n }\n }\n detectAndTransform().catch(err => {\n if (!cancelled) {\n // eslint-disable-next-line no-console\n console.warn(\"TIFF to PDF conversion failed, falling back to TIFF renderer:\", err);\n setResult({\n viewerType: ViewerType.Tiff,\n pdfData: undefined,\n loading: false,\n error: err instanceof Error ? err : new Error(String(err))\n });\n }\n });\n return () => {\n cancelled = true;\n };\n }, [media, enabled, client]);\n return result;\n}",".container {\n display: flex;\n width: 100%;\n height: 100%;\n background-color: var(--osdk-document-viewer-bg);\n border: var(--osdk-document-viewer-border);\n border-radius: var(--osdk-surface-border-radius);\n overflow: hidden;\n}\n\n.unsupportedContainer {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--osdk-surface-spacing);\n width: 100%;\n height: 100%;\n font-family: var(--osdk-typography-family-default);\n font-size: var(--osdk-typography-size-body-medium);\n color: var(--osdk-typography-color-muted);\n}\n\n.unsupportedIcon {\n flex-shrink: 0;\n}\n\n.loadingContainer {\n composes: loadingContainer from \"../shared/LoadingError.module.css\";\n width: 100%;\n}\n\n.spinnerIcon {\n composes: spinnerIcon from \"../shared/LoadingError.module.css\";\n}\n","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n/*\n * Copyright 2026 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 { Spin } from \"@blueprintjs/icons\";\nimport React from \"react\";\nimport { TiffViewerMedia } from \"../images/tiff-renderer/TiffViewerMedia.js\";\nimport { BasePdfViewer } from \"../pdf-viewer/PdfViewer.js\";\nimport { ViewerType } from \"./DocumentViewerApi.js\";\nimport { useTiffToPdf } from \"./hooks/useTiffToPdf.js\";\nimport styles from \"./DocumentViewer.module.css\";\nexport function TiffDocumentViewer({\n media,\n className,\n enableTiffToPdf,\n tiffRendererProps,\n pdfViewerProps\n}) {\n const {\n viewerType,\n pdfData,\n loading\n } = useTiffToPdf(media, enableTiffToPdf);\n if (loading) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.loadingContainer\n }, /*#__PURE__*/React.createElement(Spin, {\n className: styles.spinnerIcon\n }), \"Converting document\\u2026\"));\n }\n if (viewerType === ViewerType.Pdf && pdfData != null) {\n return /*#__PURE__*/React.createElement(BasePdfViewer, _extends({\n src: pdfData,\n className: className\n }, pdfViewerProps));\n }\n return /*#__PURE__*/React.createElement(TiffViewerMedia, _extends({\n media: media,\n className: className\n }, tiffRendererProps));\n}","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n/*\n * Copyright 2026 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/* cspell:words openxmlformats officedocument wordprocessingml spreadsheetml */\n\nimport { Document as DocumentIcon } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React, { useMemo } from \"react\";\nimport { EmailViewer } from \"../email-viewer/EmailViewer.js\";\nimport { ImageViewer } from \"../images/image-viewer/ImageViewer.js\";\nimport { TiffViewerMedia } from \"../images/tiff-renderer/TiffViewerMedia.js\";\nimport { MarkdownViewerMedia } from \"../markdown-renderer/MarkdownViewerMedia.js\";\nimport { PdfViewer } from \"../pdf-viewer/PdfRenderer.js\";\nimport { assertUnreachable } from \"../shared/assertUnreachable.js\";\nimport { SpreadsheetViewer } from \"../spreadsheet-viewer/SpreadsheetViewer.js\";\nimport { VideoViewer } from \"../video-viewer/VideoViewer.js\";\nimport { XmlViewer } from \"../xml-viewer/XmlViewer.js\";\nimport { ViewerType } from \"./DocumentViewerApi.js\";\nimport { TiffDocumentViewer } from \"./TiffDocumentViewer.js\";\nimport styles from \"./DocumentViewer.module.css\";\nconst IMAGE_MIME_TYPES = new Set([\"image/png\", \"image/jpeg\", \"image/gif\", \"image/svg+xml\", \"image/webp\", \"image/bmp\"]);\nconst MARKDOWN_MIME_TYPES = new Set([\"text/markdown\", \"text/x-markdown\"]);\nconst XML_MIME_TYPES = new Set([\"application/xml\", \"text/xml\"]);\nfunction isTiffFile(mimeType, fileName) {\n if (mimeType === \"image/tiff\") {\n return true;\n }\n const lowered = fileName?.toLowerCase();\n return lowered?.endsWith(\".tif\") === true || lowered?.endsWith(\".tiff\") === true;\n}\nfunction getViewerType(mimeType, fileName) {\n if (mimeType === \"application/pdf\") {\n return ViewerType.Pdf;\n }\n if (isTiffFile(mimeType, fileName)) {\n return ViewerType.Tiff;\n }\n if (IMAGE_MIME_TYPES.has(mimeType)) {\n return ViewerType.Image;\n }\n if (mimeType.startsWith(\"video/\")) {\n return ViewerType.Video;\n }\n if (MARKDOWN_MIME_TYPES.has(mimeType)) {\n return ViewerType.Markdown;\n }\n if (mimeType === \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\") {\n return ViewerType.Spreadsheet;\n }\n if (mimeType === \"message/rfc822\") {\n return ViewerType.Email;\n }\n if (XML_MIME_TYPES.has(mimeType)) {\n return ViewerType.Xml;\n }\n return ViewerType.Unsupported;\n}\nexport function DocumentViewer({\n media,\n className,\n mimeTypeOverride,\n pdfViewerProps,\n imageViewerProps,\n videoViewerProps,\n tiffRendererProps,\n markdownRendererProps,\n spreadsheetViewerProps,\n emailViewerProps,\n xmlViewerProps,\n fileName,\n enableTiffToPdf = false\n}) {\n const mimeType = mimeTypeOverride ?? media.getMediaReference().mimeType;\n const viewerType = useMemo(() => getViewerType(mimeType, fileName), [mimeType, fileName]);\n const rootClassName = classnames(styles.container, className);\n switch (viewerType) {\n case ViewerType.Pdf:\n return /*#__PURE__*/React.createElement(PdfViewer, _extends({\n media: media,\n className: rootClassName\n }, pdfViewerProps));\n case ViewerType.Tiff:\n if (enableTiffToPdf) {\n return /*#__PURE__*/React.createElement(TiffDocumentViewer, {\n media: media,\n className: rootClassName,\n enableTiffToPdf: enableTiffToPdf,\n tiffRendererProps: tiffRendererProps,\n pdfViewerProps: pdfViewerProps\n });\n }\n return /*#__PURE__*/React.createElement(TiffViewerMedia, _extends({\n media: media,\n className: rootClassName\n }, tiffRendererProps));\n case ViewerType.Image:\n return /*#__PURE__*/React.createElement(ImageViewer, _extends({\n media: media,\n className: rootClassName\n }, imageViewerProps));\n case ViewerType.Video:\n return /*#__PURE__*/React.createElement(VideoViewer, _extends({\n media: media,\n className: rootClassName\n }, videoViewerProps));\n case ViewerType.Markdown:\n return /*#__PURE__*/React.createElement(MarkdownViewerMedia, _extends({\n media: media,\n className: rootClassName\n }, markdownRendererProps));\n case ViewerType.Spreadsheet:\n return /*#__PURE__*/React.createElement(SpreadsheetViewer, _extends({\n media: media,\n className: rootClassName\n }, spreadsheetViewerProps));\n case ViewerType.Email:\n return /*#__PURE__*/React.createElement(EmailViewer, _extends({\n media: media,\n className: rootClassName\n }, emailViewerProps));\n case ViewerType.Xml:\n return /*#__PURE__*/React.createElement(XmlViewer, _extends({\n media: media,\n className: rootClassName\n }, xmlViewerProps));\n case ViewerType.Unsupported:\n return /*#__PURE__*/React.createElement(\"div\", {\n className: rootClassName\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.unsupportedContainer\n }, /*#__PURE__*/React.createElement(DocumentIcon, {\n className: styles.unsupportedIcon\n }), \"Unsupported file type: \", mimeType));\n default:\n assertUnreachable(viewerType);\n }\n}","/*\n * Copyright 2026 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// DocumentViewer\nimport { DocumentViewer as _DocumentViewer } from \"../../document-viewer/DocumentViewer.js\";\nimport { withOsdkMetrics } from \"../../util/withOsdkMetrics.js\";\nexport const DocumentViewer = withOsdkMetrics(_DocumentViewer, \"DocumentViewer\");\nexport { ViewerType } from \"../../document-viewer/DocumentViewerApi.js\";"]}
@@ -11,10 +11,10 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
11
  var classnames__default = /*#__PURE__*/_interopDefault(classnames);
12
12
  var React__default = /*#__PURE__*/_interopDefault(React);
13
13
 
14
- // src/excel-viewer/BaseExcelViewer.module.css
15
- var BaseExcelViewer_default = {};
14
+ // src/spreadsheet-viewer/BaseSpreadsheetViewer.module.css
15
+ var BaseSpreadsheetViewer_default = {};
16
16
 
17
- // src/excel-viewer/BaseExcelViewer.tsx
17
+ // src/spreadsheet-viewer/BaseSpreadsheetViewer.tsx
18
18
  function columnIndexToLetter(index) {
19
19
  let letter = "";
20
20
  let num = index;
@@ -31,38 +31,38 @@ var SheetTable = /* @__PURE__ */ React__default.default.memo(({
31
31
  const maxCols = React.useMemo(() => sheet.rows.reduce((max, row) => Math.max(max, row.length), 0), [sheet.rows]);
32
32
  if (sheet.rows.length === 0) {
33
33
  return /* @__PURE__ */ React__default.default.createElement("div", {
34
- className: BaseExcelViewer_default.emptySheet
34
+ className: BaseSpreadsheetViewer_default.emptySheet
35
35
  }, "Empty sheet");
36
36
  }
37
37
  return /* @__PURE__ */ React__default.default.createElement("div", {
38
- className: BaseExcelViewer_default.tableContainer
38
+ className: BaseSpreadsheetViewer_default.tableContainer
39
39
  }, /* @__PURE__ */ React__default.default.createElement("table", {
40
- className: BaseExcelViewer_default.table
40
+ className: BaseSpreadsheetViewer_default.table
41
41
  }, /* @__PURE__ */ React__default.default.createElement("thead", null, /* @__PURE__ */ React__default.default.createElement("tr", null, /* @__PURE__ */ React__default.default.createElement("th", {
42
- className: BaseExcelViewer_default.cornerCell
42
+ className: BaseSpreadsheetViewer_default.cornerCell
43
43
  }), Array.from({
44
44
  length: maxCols
45
45
  }, (_, i) => /* @__PURE__ */ React__default.default.createElement("th", {
46
46
  key: i,
47
- className: BaseExcelViewer_default.columnHeader
47
+ className: BaseSpreadsheetViewer_default.columnHeader
48
48
  }, columnIndexToLetter(i))))), /* @__PURE__ */ React__default.default.createElement("tbody", null, sheet.rows.map((row, rowIndex) => /* @__PURE__ */ React__default.default.createElement("tr", {
49
49
  key: rowIndex
50
50
  }, /* @__PURE__ */ React__default.default.createElement("td", {
51
- className: BaseExcelViewer_default.rowHeader
51
+ className: BaseSpreadsheetViewer_default.rowHeader
52
52
  }, rowIndex + 1), Array.from({
53
53
  length: maxCols
54
54
  }, (_, cellIndex) => /* @__PURE__ */ React__default.default.createElement("td", {
55
55
  key: cellIndex,
56
- className: BaseExcelViewer_default.cell
56
+ className: BaseSpreadsheetViewer_default.cell
57
57
  }, row[cellIndex] ?? "")))))));
58
58
  });
59
59
  SheetTable.displayName = "SheetTable";
60
- function BaseExcelViewer({
60
+ function BaseSpreadsheetViewer({
61
61
  spreadsheet,
62
62
  className
63
63
  }) {
64
64
  const [activeSheetIndex, setActiveSheetIndex] = React.useState(0);
65
- const rootClassName = classnames__default.default(BaseExcelViewer_default.container, className);
65
+ const rootClassName = classnames__default.default(BaseSpreadsheetViewer_default.container, className);
66
66
  const safeIndex = Math.min(activeSheetIndex, Math.max(0, spreadsheet.sheets.length - 1));
67
67
  const activeSheet = React.useMemo(() => spreadsheet.sheets[safeIndex], [spreadsheet.sheets, safeIndex]);
68
68
  const handleTabClick = React.useCallback((index) => {
@@ -73,13 +73,13 @@ function BaseExcelViewer({
73
73
  }, activeSheet != null ? /* @__PURE__ */ React__default.default.createElement(SheetTable, {
74
74
  sheet: activeSheet
75
75
  }) : /* @__PURE__ */ React__default.default.createElement("div", {
76
- className: BaseExcelViewer_default.emptySheet
76
+ className: BaseSpreadsheetViewer_default.emptySheet
77
77
  }, "No sheets"), spreadsheet.sheets.length > 1 && /* @__PURE__ */ React__default.default.createElement("div", {
78
- className: BaseExcelViewer_default.tabBar
78
+ className: BaseSpreadsheetViewer_default.tabBar
79
79
  }, spreadsheet.sheets.map((sheet, index) => /* @__PURE__ */ React__default.default.createElement("button", {
80
80
  key: sheet.name,
81
- className: classnames__default.default(BaseExcelViewer_default.tab, {
82
- [BaseExcelViewer_default.tabActive]: index === safeIndex
81
+ className: classnames__default.default(BaseSpreadsheetViewer_default.tab, {
82
+ [BaseSpreadsheetViewer_default.tabActive]: index === safeIndex
83
83
  }),
84
84
  onClick: () => handleTabClick(index),
85
85
  type: "button"
@@ -107,7 +107,7 @@ async function parseSpreadsheetFromResponse(response) {
107
107
  };
108
108
  }
109
109
 
110
- // src/excel-viewer/ExcelViewer.tsx
110
+ // src/spreadsheet-viewer/SpreadsheetViewer.tsx
111
111
  function _extends() {
112
112
  return _extends = Object.assign ? Object.assign.bind() : function(n) {
113
113
  for (var e = 1; e < arguments.length; e++) {
@@ -117,33 +117,33 @@ function _extends() {
117
117
  return n;
118
118
  }, _extends.apply(null, arguments);
119
119
  }
120
- function ExcelViewer({
120
+ function SpreadsheetViewer({
121
121
  media,
122
122
  className,
123
- ...excelViewerProps
123
+ ...spreadsheetViewerProps
124
124
  }) {
125
125
  const {
126
126
  data: spreadsheet,
127
127
  loading,
128
128
  error
129
129
  } = chunkMVQKV5BJ_cjs.useMediaContents(media, React.useCallback(parseSpreadsheetFromResponse, []));
130
- const rootClassName = classnames__default.default(BaseExcelViewer_default.container, className);
130
+ const rootClassName = classnames__default.default(BaseSpreadsheetViewer_default.container, className);
131
131
  return /* @__PURE__ */ React__default.default.createElement("div", {
132
132
  className: rootClassName
133
133
  }, loading && /* @__PURE__ */ React__default.default.createElement("div", {
134
- className: BaseExcelViewer_default.loadingContainer
134
+ className: BaseSpreadsheetViewer_default.loadingContainer
135
135
  }, /* @__PURE__ */ React__default.default.createElement(icons.Spin, {
136
- className: BaseExcelViewer_default.spinnerIcon
136
+ className: BaseSpreadsheetViewer_default.spinnerIcon
137
137
  }), "Loading\u2026"), error != null && /* @__PURE__ */ React__default.default.createElement("div", {
138
- className: BaseExcelViewer_default.errorContainer
138
+ className: BaseSpreadsheetViewer_default.errorContainer
139
139
  }, /* @__PURE__ */ React__default.default.createElement(icons.Error, {
140
- className: BaseExcelViewer_default.errorIcon
141
- }), "Failed to load spreadsheet: ", error.message), spreadsheet != null && /* @__PURE__ */ React__default.default.createElement(BaseExcelViewer, _extends({
140
+ className: BaseSpreadsheetViewer_default.errorIcon
141
+ }), "Failed to load spreadsheet: ", error.message), spreadsheet != null && /* @__PURE__ */ React__default.default.createElement(BaseSpreadsheetViewer, _extends({
142
142
  spreadsheet
143
- }, excelViewerProps)));
143
+ }, spreadsheetViewerProps)));
144
144
  }
145
145
 
146
- exports.BaseExcelViewer = BaseExcelViewer;
147
- exports.ExcelViewer = ExcelViewer;
148
- //# sourceMappingURL=chunk-GKDO6NU7.cjs.map
149
- //# sourceMappingURL=chunk-GKDO6NU7.cjs.map
146
+ exports.BaseSpreadsheetViewer = BaseSpreadsheetViewer;
147
+ exports.SpreadsheetViewer = SpreadsheetViewer;
148
+ //# sourceMappingURL=chunk-3C5JRKBJ.cjs.map
149
+ //# sourceMappingURL=chunk-3C5JRKBJ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/spreadsheet-viewer/BaseSpreadsheetViewer.module.css","../../src/spreadsheet-viewer/BaseSpreadsheetViewer.tsx","../../src/spreadsheet-viewer/parseSpreadsheet.ts","../../src/spreadsheet-viewer/SpreadsheetViewer.tsx"],"names":["React","useMemo","useState","classnames","useCallback","read","utils","useMediaContents","Spin","ErrorIcon"],"mappings":"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","file":"chunk-3C5JRKBJ.cjs","sourcesContent":[".container {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n background-color: var(--osdk-spreadsheet-viewer-bg);\n border: var(--osdk-spreadsheet-viewer-border);\n border-radius: var(--osdk-surface-border-radius);\n overflow: hidden;\n}\n\n.tableContainer {\n flex: 1;\n overflow: auto;\n}\n\n.table {\n border-collapse: collapse;\n width: max-content;\n min-width: 100%;\n font-family: var(--osdk-typography-family-default);\n font-size: var(--osdk-typography-size-body-small);\n border-spacing: 0;\n}\n\n/* Column letter headers (A, B, C...) */\n.columnHeader {\n background-color: var(--osdk-spreadsheet-viewer-header-bg);\n border: 1px solid var(--osdk-spreadsheet-viewer-cell-border);\n padding: var(--osdk-spreadsheet-viewer-cell-padding);\n text-align: center;\n font-weight: var(--osdk-typography-weight-default);\n color: var(--osdk-spreadsheet-viewer-header-color);\n position: sticky;\n top: 0;\n z-index: 2;\n min-width: var(--osdk-spreadsheet-viewer-col-min-width);\n user-select: none;\n}\n\n/* Top-left corner cell */\n.cornerCell {\n background-color: var(--osdk-spreadsheet-viewer-header-bg);\n border: 1px solid var(--osdk-spreadsheet-viewer-cell-border);\n position: sticky;\n top: 0;\n left: 0;\n z-index: 3;\n min-width: var(--osdk-spreadsheet-viewer-row-header-width);\n width: var(--osdk-spreadsheet-viewer-row-header-width);\n}\n\n/* Row number headers (1, 2, 3...) */\n.rowHeader {\n background-color: var(--osdk-spreadsheet-viewer-header-bg);\n border: 1px solid var(--osdk-spreadsheet-viewer-cell-border);\n padding: var(--osdk-spreadsheet-viewer-cell-padding);\n text-align: center;\n font-weight: var(--osdk-typography-weight-default);\n color: var(--osdk-spreadsheet-viewer-header-color);\n position: sticky;\n left: 0;\n z-index: 1;\n min-width: var(--osdk-spreadsheet-viewer-row-header-width);\n width: var(--osdk-spreadsheet-viewer-row-header-width);\n user-select: none;\n}\n\n/* Data cells */\n.cell {\n border: 1px solid var(--osdk-spreadsheet-viewer-cell-border);\n padding: var(--osdk-spreadsheet-viewer-cell-padding);\n white-space: nowrap;\n min-width: var(--osdk-spreadsheet-viewer-col-min-width);\n}\n\n/* Sheet tabs bar */\n.tabBar {\n display: flex;\n align-items: flex-end;\n gap: var(--osdk-spreadsheet-viewer-tab-gap);\n border-top: var(--osdk-spreadsheet-viewer-tab-border);\n background-color: var(--osdk-spreadsheet-viewer-tab-bg);\n flex-shrink: 0;\n overflow-x: auto;\n padding: var(--osdk-spreadsheet-viewer-tab-bar-padding)\n var(--osdk-spreadsheet-viewer-tab-bar-padding) 0;\n}\n\n.tab {\n padding: var(--osdk-spreadsheet-viewer-tab-padding);\n border: var(--osdk-spreadsheet-viewer-tab-border);\n border-bottom: none;\n border-radius: var(--osdk-spreadsheet-viewer-tab-border-radius)\n var(--osdk-spreadsheet-viewer-tab-border-radius) 0 0;\n background-color: var(--osdk-spreadsheet-viewer-tab-bg);\n font-family: var(--osdk-typography-family-default);\n font-size: var(--osdk-typography-size-body-x-small);\n color: var(--osdk-typography-color-muted);\n cursor: pointer;\n white-space: nowrap;\n position: relative;\n top: 1px;\n}\n\n.tab:hover {\n background-color: var(--osdk-spreadsheet-viewer-tab-hover-bg);\n color: var(--osdk-typography-color-default-rest);\n}\n\n.tabActive {\n background-color: var(--osdk-spreadsheet-viewer-tab-active-bg);\n color: var(--osdk-typography-color-default-rest);\n font-weight: var(--osdk-typography-weight-bold);\n border-bottom: 1px solid var(--osdk-spreadsheet-viewer-tab-active-bg);\n}\n\n.emptySheet {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n font-family: var(--osdk-typography-family-default);\n font-size: var(--osdk-typography-size-body-medium);\n color: var(--osdk-typography-color-muted);\n}\n\n.loadingContainer {\n composes: loadingContainer from \"../shared/LoadingError.module.css\";\n}\n\n.errorContainer {\n composes: errorContainer from \"../shared/LoadingError.module.css\";\n}\n\n.spinnerIcon {\n composes: spinnerIcon from \"../shared/LoadingError.module.css\";\n}\n\n.errorIcon {\n composes: errorIcon from \"../shared/LoadingError.module.css\";\n}\n","/*\n * Copyright 2026 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 classnames from \"classnames\";\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport styles from \"./BaseSpreadsheetViewer.module.css\";\n\n/**\n * Converts a 0-based column index to a spreadsheet column letter (0=A, 1=B, ..., 25=Z, 26=AA).\n */\nfunction columnIndexToLetter(index) {\n let letter = \"\";\n let num = index;\n do {\n const remainder = num % 26;\n letter = String.fromCharCode(65 + remainder) + letter;\n num = Math.floor(num / 26) - 1;\n } while (num >= 0);\n return letter;\n}\nconst SheetTable = /*#__PURE__*/React.memo(({\n sheet\n}) => {\n const maxCols = useMemo(() => sheet.rows.reduce((max, row) => Math.max(max, row.length), 0), [sheet.rows]);\n if (sheet.rows.length === 0) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: styles.emptySheet\n }, \"Empty sheet\");\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: styles.tableContainer\n }, /*#__PURE__*/React.createElement(\"table\", {\n className: styles.table\n }, /*#__PURE__*/React.createElement(\"thead\", null, /*#__PURE__*/React.createElement(\"tr\", null, /*#__PURE__*/React.createElement(\"th\", {\n className: styles.cornerCell\n }), Array.from({\n length: maxCols\n }, (_, i) => /*#__PURE__*/React.createElement(\"th\", {\n key: i,\n className: styles.columnHeader\n }, columnIndexToLetter(i))))), /*#__PURE__*/React.createElement(\"tbody\", null, sheet.rows.map((row, rowIndex) => /*#__PURE__*/React.createElement(\"tr\", {\n key: rowIndex\n }, /*#__PURE__*/React.createElement(\"td\", {\n className: styles.rowHeader\n }, rowIndex + 1), Array.from({\n length: maxCols\n }, (_, cellIndex) => /*#__PURE__*/React.createElement(\"td\", {\n key: cellIndex,\n className: styles.cell\n }, row[cellIndex] ?? \"\")))))));\n});\nSheetTable.displayName = \"SheetTable\";\nexport function BaseSpreadsheetViewer({\n spreadsheet,\n className\n}) {\n const [activeSheetIndex, setActiveSheetIndex] = useState(0);\n const rootClassName = classnames(styles.container, className);\n const safeIndex = Math.min(activeSheetIndex, Math.max(0, spreadsheet.sheets.length - 1));\n const activeSheet = useMemo(() => spreadsheet.sheets[safeIndex], [spreadsheet.sheets, safeIndex]);\n const handleTabClick = useCallback(index => {\n setActiveSheetIndex(index);\n }, []);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: rootClassName\n }, activeSheet != null ? /*#__PURE__*/React.createElement(SheetTable, {\n sheet: activeSheet\n }) : /*#__PURE__*/React.createElement(\"div\", {\n className: styles.emptySheet\n }, \"No sheets\"), spreadsheet.sheets.length > 1 && /*#__PURE__*/React.createElement(\"div\", {\n className: styles.tabBar\n }, spreadsheet.sheets.map((sheet, index) => /*#__PURE__*/React.createElement(\"button\", {\n key: sheet.name,\n className: classnames(styles.tab, {\n [styles.tabActive]: index === safeIndex\n }),\n onClick: () => handleTabClick(index),\n type: \"button\"\n }, sheet.name))));\n}","/*\n * Copyright 2026 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/* cspell:words defval */\n\nimport { read, utils } from \"xlsx-republish\";\nexport async function parseSpreadsheetFromResponse(response) {\n const buffer = await response.arrayBuffer();\n const workbook = read(buffer, {\n type: \"array\"\n });\n const sheets = workbook.SheetNames.map(name => {\n const sheet = workbook.Sheets[name];\n const rows = sheet != null ? utils.sheet_to_json(sheet, {\n header: 1,\n defval: \"\",\n raw: false\n }) : [];\n return {\n name,\n rows\n };\n });\n return {\n sheets\n };\n}","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n/*\n * Copyright 2026 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 React, { useCallback } from \"react\";\nimport { useMediaContents } from \"../shared/hooks/useMediaContents.js\";\nimport { BaseSpreadsheetViewer } from \"./BaseSpreadsheetViewer.js\";\nimport { parseSpreadsheetFromResponse } from \"./parseSpreadsheet.js\";\nimport styles from \"./BaseSpreadsheetViewer.module.css\";\nexport function SpreadsheetViewer({\n media,\n className,\n ...spreadsheetViewerProps\n}) {\n const {\n data: spreadsheet,\n loading,\n error\n } = useMediaContents(media, useCallback(parseSpreadsheetFromResponse, []));\n const rootClassName = classnames(styles.container, className);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: rootClassName\n }, loading && /*#__PURE__*/React.createElement(\"div\", {\n className: styles.loadingContainer\n }, /*#__PURE__*/React.createElement(Spin, {\n className: styles.spinnerIcon\n }), \"Loading\\u2026\"), error != null && /*#__PURE__*/React.createElement(\"div\", {\n className: styles.errorContainer\n }, /*#__PURE__*/React.createElement(ErrorIcon, {\n className: styles.errorIcon\n }), \"Failed to load spreadsheet: \", error.message), spreadsheet != null && /*#__PURE__*/React.createElement(BaseSpreadsheetViewer, _extends({\n spreadsheet: spreadsheet\n }, spreadsheetViewerProps)));\n}"]}
@@ -5,7 +5,7 @@ var chunkC6IPNPMZ_cjs = require('./chunk-C6IPNPMZ.cjs');
5
5
  var chunkHNBSGCSZ_cjs = require('./chunk-HNBSGCSZ.cjs');
6
6
  var chunk7LXS66DW_cjs = require('./chunk-7LXS66DW.cjs');
7
7
  var chunkQP2LHBCZ_cjs = require('./chunk-QP2LHBCZ.cjs');
8
- var chunkTVK2XLNJ_cjs = require('./chunk-TVK2XLNJ.cjs');
8
+ var chunkBLPXZKVC_cjs = require('./chunk-BLPXZKVC.cjs');
9
9
  var platformApis = require('@osdk/react/platform-apis');
10
10
  var React = require('react');
11
11
  var popover = require('@base-ui/react/popover');
@@ -1059,7 +1059,7 @@ function CbacPicker({
1059
1059
  }
1060
1060
 
1061
1061
  // src/public/experimental/cbac-picker.ts
1062
- var CbacPicker2 = chunkTVK2XLNJ_cjs.withOsdkMetrics(CbacPicker, "CbacPicker");
1062
+ var CbacPicker2 = chunkBLPXZKVC_cjs.withOsdkMetrics(CbacPicker, "CbacPicker");
1063
1063
 
1064
1064
  exports.BaseCbacPicker = BaseCbacPicker;
1065
1065
  exports.BaseCbacPickerDialog = BaseCbacPickerDialog;
@@ -1070,5 +1070,5 @@ exports.MaxClassificationField = MaxClassificationField;
1070
1070
  exports.computeMarkingStates = computeMarkingStates;
1071
1071
  exports.groupMarkingsByCategory = groupMarkingsByCategory2;
1072
1072
  exports.toggleMarking = toggleMarking;
1073
- //# sourceMappingURL=chunk-EIOTTIUV.cjs.map
1074
- //# sourceMappingURL=chunk-EIOTTIUV.cjs.map
1073
+ //# sourceMappingURL=chunk-A4PDCZUY.cjs.map
1074
+ //# sourceMappingURL=chunk-A4PDCZUY.cjs.map