@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.
- package/AGENTS.md +29 -29
- package/CHANGELOG.md +6 -0
- package/README.md +14 -14
- package/build/browser/document-viewer/DocumentViewer.js +6 -6
- package/build/browser/document-viewer/DocumentViewer.js.map +1 -1
- package/build/browser/document-viewer/DocumentViewerApi.js +1 -1
- package/build/browser/document-viewer/DocumentViewerApi.js.map +1 -1
- package/build/browser/object-table/ObjectTableApi.js.map +1 -1
- package/build/browser/public/experimental/{excel-viewer.js → spreadsheet-viewer.js} +6 -6
- package/build/browser/public/experimental/spreadsheet-viewer.js.map +1 -0
- package/build/browser/public/experimental.js +1 -1
- package/build/browser/public/experimental.js.map +1 -1
- package/build/{esm/excel-viewer/BaseExcelViewer.js → browser/spreadsheet-viewer/BaseSpreadsheetViewer.js} +3 -3
- package/build/browser/spreadsheet-viewer/BaseSpreadsheetViewer.js.map +1 -0
- package/build/{esm/excel-viewer/BaseExcelViewer.module.css → browser/spreadsheet-viewer/BaseSpreadsheetViewer.module.css} +33 -33
- package/build/browser/spreadsheet-viewer/BaseSpreadsheetViewer.module.css.js +20 -0
- package/build/browser/{excel-viewer/ExcelViewer.js → spreadsheet-viewer/SpreadsheetViewer.js} +7 -7
- package/build/browser/spreadsheet-viewer/SpreadsheetViewer.js.map +1 -0
- package/build/browser/spreadsheet-viewer/SpreadsheetViewerApi.js +2 -0
- package/build/browser/spreadsheet-viewer/SpreadsheetViewerApi.js.map +1 -0
- package/build/browser/spreadsheet-viewer/parseSpreadsheet.js.map +1 -0
- package/build/browser/styles.css +199 -197
- package/build/browser/tokens/component-tokens/spreadsheet-viewer.css +25 -0
- package/build/browser/tokens.css +1 -1
- package/build/browser/util/UserAgent.js +1 -1
- package/build/cjs/{ExcelViewerApi-D8tqiUvS.d.cts → SpreadsheetViewerApi-C4-gqkkY.d.cts} +4 -4
- package/build/cjs/{chunk-MG7UDVZR.cjs → chunk-2CKESSXH.cjs} +11 -11
- package/build/cjs/chunk-2CKESSXH.cjs.map +1 -0
- package/build/cjs/{chunk-GKDO6NU7.cjs → chunk-3C5JRKBJ.cjs} +30 -30
- package/build/cjs/chunk-3C5JRKBJ.cjs.map +1 -0
- package/build/cjs/{chunk-EIOTTIUV.cjs → chunk-A4PDCZUY.cjs} +4 -4
- package/build/cjs/{chunk-EIOTTIUV.cjs.map → chunk-A4PDCZUY.cjs.map} +1 -1
- package/build/cjs/{chunk-QQXBGYWP.cjs → chunk-AEQDZPU3.cjs} +4 -4
- package/build/cjs/{chunk-QQXBGYWP.cjs.map → chunk-AEQDZPU3.cjs.map} +1 -1
- package/build/cjs/{chunk-TVK2XLNJ.cjs → chunk-BLPXZKVC.cjs} +3 -3
- package/build/cjs/{chunk-TVK2XLNJ.cjs.map → chunk-BLPXZKVC.cjs.map} +1 -1
- package/build/cjs/chunk-D2NDALCM.cjs +11 -0
- package/build/cjs/chunk-D2NDALCM.cjs.map +1 -0
- package/build/cjs/chunk-I3KITN2A.cjs +11 -0
- package/build/cjs/{chunk-YCSU5IMD.cjs.map → chunk-I3KITN2A.cjs.map} +1 -1
- package/build/cjs/{chunk-T6SDOLIX.cjs → chunk-KGJWCRXE.cjs} +4 -4
- package/build/cjs/{chunk-T6SDOLIX.cjs.map → chunk-KGJWCRXE.cjs.map} +1 -1
- package/build/cjs/chunk-L4MQGDXA.cjs +11 -0
- package/build/cjs/{chunk-4VNSLY36.cjs.map → chunk-L4MQGDXA.cjs.map} +1 -1
- package/build/cjs/chunk-LS44RU72.cjs +11 -0
- package/build/cjs/{chunk-AU6YJLRT.cjs.map → chunk-LS44RU72.cjs.map} +1 -1
- package/build/cjs/{chunk-NER4ODIR.cjs → chunk-NK5S5G7V.cjs} +4 -4
- package/build/cjs/{chunk-NER4ODIR.cjs.map → chunk-NK5S5G7V.cjs.map} +1 -1
- package/build/cjs/chunk-T65VAHZ3.cjs +11 -0
- package/build/cjs/{chunk-KSCR5PCE.cjs.map → chunk-T65VAHZ3.cjs.map} +1 -1
- package/build/cjs/{chunk-WALOYQVH.cjs → chunk-UNK7YFKE.cjs} +4 -4
- package/build/cjs/{chunk-WALOYQVH.cjs.map → chunk-UNK7YFKE.cjs.map} +1 -1
- package/build/cjs/{chunk-7NPZBKYH.cjs → chunk-VMFLHUR7.cjs} +4 -4
- package/build/cjs/{chunk-7NPZBKYH.cjs.map → chunk-VMFLHUR7.cjs.map} +1 -1
- package/build/cjs/{chunk-KKRHM5JK.cjs → chunk-WMGFXPN6.cjs} +4 -4
- package/build/cjs/{chunk-KKRHM5JK.cjs.map → chunk-WMGFXPN6.cjs.map} +1 -1
- package/build/cjs/public/experimental/action-form.cjs +4 -4
- package/build/cjs/public/experimental/cbac-picker.cjs +11 -11
- package/build/cjs/public/experimental/document-viewer.cjs +5 -5
- package/build/cjs/public/experimental/document-viewer.css +122 -122
- package/build/cjs/public/experimental/document-viewer.css.map +1 -1
- package/build/cjs/public/experimental/document-viewer.d.cts +5 -5
- package/build/cjs/public/experimental/email-viewer.cjs +3 -3
- package/build/cjs/public/experimental/filter-list.cjs +15 -15
- package/build/cjs/public/experimental/image-viewer.cjs +3 -3
- package/build/cjs/public/experimental/markdown-renderer.cjs +3 -3
- package/build/cjs/public/experimental/object-table.cjs +21 -21
- package/build/cjs/public/experimental/object-table.d.cts +1 -1
- package/build/cjs/public/experimental/pdf-viewer.cjs +7 -7
- package/build/cjs/public/experimental/spreadsheet-viewer.cjs +20 -0
- package/build/cjs/public/experimental/spreadsheet-viewer.cjs.map +1 -0
- package/build/cjs/public/experimental/spreadsheet-viewer.css +122 -0
- package/build/cjs/public/experimental/spreadsheet-viewer.css.map +1 -0
- package/build/cjs/public/experimental/spreadsheet-viewer.d.cts +12 -0
- package/build/cjs/public/experimental/tiff-renderer.cjs +3 -3
- package/build/cjs/public/experimental/video-viewer.cjs +3 -3
- package/build/cjs/public/experimental/xml-viewer.cjs +3 -3
- package/build/cjs/public/experimental.cjs +79 -79
- package/build/cjs/public/experimental.css +122 -122
- package/build/cjs/public/experimental.css.map +1 -1
- package/build/cjs/public/experimental.d.cts +2 -2
- package/build/esm/document-viewer/DocumentViewer.js +6 -6
- package/build/esm/document-viewer/DocumentViewer.js.map +1 -1
- package/build/esm/document-viewer/DocumentViewerApi.js +1 -1
- package/build/esm/document-viewer/DocumentViewerApi.js.map +1 -1
- package/build/esm/object-table/ObjectTableApi.js.map +1 -1
- package/build/esm/public/experimental/{excel-viewer.js → spreadsheet-viewer.js} +6 -6
- package/build/esm/public/experimental/spreadsheet-viewer.js.map +1 -0
- package/build/esm/public/experimental.js +1 -1
- package/build/esm/public/experimental.js.map +1 -1
- package/build/{browser/excel-viewer/BaseExcelViewer.js → esm/spreadsheet-viewer/BaseSpreadsheetViewer.js} +3 -3
- package/build/esm/spreadsheet-viewer/BaseSpreadsheetViewer.js.map +1 -0
- package/build/{browser/excel-viewer/BaseExcelViewer.module.css → esm/spreadsheet-viewer/BaseSpreadsheetViewer.module.css} +33 -33
- package/build/esm/{excel-viewer/ExcelViewer.js → spreadsheet-viewer/SpreadsheetViewer.js} +7 -7
- package/build/esm/spreadsheet-viewer/SpreadsheetViewer.js.map +1 -0
- package/build/esm/spreadsheet-viewer/SpreadsheetViewerApi.js +2 -0
- package/build/esm/spreadsheet-viewer/SpreadsheetViewerApi.js.map +1 -0
- package/build/esm/spreadsheet-viewer/parseSpreadsheet.js.map +1 -0
- package/build/esm/tokens/component-tokens/spreadsheet-viewer.css +25 -0
- package/build/esm/tokens.css +1 -1
- package/build/esm/util/UserAgent.js +1 -1
- package/build/types/document-viewer/DocumentViewer.d.ts +1 -1
- package/build/types/document-viewer/DocumentViewer.d.ts.map +1 -1
- package/build/types/document-viewer/DocumentViewerApi.d.ts +4 -4
- package/build/types/document-viewer/DocumentViewerApi.d.ts.map +1 -1
- package/build/types/object-table/ObjectTableApi.d.ts +1 -1
- package/build/types/public/experimental/spreadsheet-viewer.d.ts +4 -0
- package/build/types/public/experimental/spreadsheet-viewer.d.ts.map +1 -0
- package/build/types/public/experimental.d.ts +1 -1
- package/build/types/spreadsheet-viewer/BaseSpreadsheetViewer.d.ts +3 -0
- package/build/types/spreadsheet-viewer/BaseSpreadsheetViewer.d.ts.map +1 -0
- package/build/types/spreadsheet-viewer/SpreadsheetViewer.d.ts +3 -0
- package/build/types/spreadsheet-viewer/SpreadsheetViewer.d.ts.map +1 -0
- package/build/types/{excel-viewer/ExcelViewerApi.d.ts → spreadsheet-viewer/SpreadsheetViewerApi.d.ts} +3 -3
- package/build/types/spreadsheet-viewer/SpreadsheetViewerApi.d.ts.map +1 -0
- package/build/types/{excel-viewer → spreadsheet-viewer}/parseSpreadsheet.d.ts +1 -1
- package/build/types/spreadsheet-viewer/parseSpreadsheet.d.ts.map +1 -0
- package/docs/CSSVariables.md +25 -25
- package/docs/DocumentViewer.md +25 -25
- package/docs/ObjectTable.md +1 -1
- package/docs/{ExcelViewer.md → SpreadsheetViewer.md} +26 -24
- package/docs/Welcome.md +7 -7
- package/package.json +13 -13
- package/build/browser/excel-viewer/BaseExcelViewer.js.map +0 -1
- package/build/browser/excel-viewer/BaseExcelViewer.module.css.js +0 -20
- package/build/browser/excel-viewer/ExcelViewer.js.map +0 -1
- package/build/browser/excel-viewer/ExcelViewerApi.js +0 -2
- package/build/browser/excel-viewer/ExcelViewerApi.js.map +0 -1
- package/build/browser/excel-viewer/parseSpreadsheet.js.map +0 -1
- package/build/browser/public/experimental/excel-viewer.js.map +0 -1
- package/build/browser/tokens/component-tokens/excel-viewer.css +0 -23
- package/build/cjs/chunk-4VNSLY36.cjs +0 -11
- package/build/cjs/chunk-AU6YJLRT.cjs +0 -11
- package/build/cjs/chunk-GKDO6NU7.cjs.map +0 -1
- package/build/cjs/chunk-J4HBV3P2.cjs +0 -11
- package/build/cjs/chunk-J4HBV3P2.cjs.map +0 -1
- package/build/cjs/chunk-KSCR5PCE.cjs +0 -11
- package/build/cjs/chunk-MG7UDVZR.cjs.map +0 -1
- package/build/cjs/chunk-YCSU5IMD.cjs +0 -11
- package/build/cjs/public/experimental/excel-viewer.cjs +0 -20
- package/build/cjs/public/experimental/excel-viewer.cjs.map +0 -1
- package/build/cjs/public/experimental/excel-viewer.css +0 -122
- package/build/cjs/public/experimental/excel-viewer.css.map +0 -1
- package/build/cjs/public/experimental/excel-viewer.d.cts +0 -12
- package/build/esm/excel-viewer/BaseExcelViewer.js.map +0 -1
- package/build/esm/excel-viewer/ExcelViewer.js.map +0 -1
- package/build/esm/excel-viewer/ExcelViewerApi.js +0 -2
- package/build/esm/excel-viewer/ExcelViewerApi.js.map +0 -1
- package/build/esm/excel-viewer/parseSpreadsheet.js.map +0 -1
- package/build/esm/public/experimental/excel-viewer.js.map +0 -1
- package/build/esm/tokens/component-tokens/excel-viewer.css +0 -23
- package/build/types/excel-viewer/BaseExcelViewer.d.ts +0 -3
- package/build/types/excel-viewer/BaseExcelViewer.d.ts.map +0 -1
- package/build/types/excel-viewer/ExcelViewer.d.ts +0 -3
- package/build/types/excel-viewer/ExcelViewer.d.ts.map +0 -1
- package/build/types/excel-viewer/ExcelViewerApi.d.ts.map +0 -1
- package/build/types/excel-viewer/parseSpreadsheet.d.ts.map +0 -1
- package/build/types/public/experimental/excel-viewer.d.ts +0 -4
- package/build/types/public/experimental/excel-viewer.d.ts.map +0 -1
- /package/build/browser/{excel-viewer → spreadsheet-viewer}/parseSpreadsheet.js +0 -0
- /package/build/esm/{excel-viewer → spreadsheet-viewer}/parseSpreadsheet.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseSpreadsheet.js","names":["read","utils","parseSpreadsheetFromResponse","response","buffer","arrayBuffer","workbook","type","sheets","SheetNames","map","name","sheet","Sheets","rows","sheet_to_json","header","defval","raw"],"sources":["parseSpreadsheet.ts"],"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\n/* cspell:words defval */\n\nimport { read, utils } from \"xlsx-republish\";\n\nimport type { ParsedSpreadsheet, SheetData } from \"./SpreadsheetViewerApi.js\";\n\nexport async function parseSpreadsheetFromResponse(\n response: Response,\n): Promise<ParsedSpreadsheet> {\n const buffer = await response.arrayBuffer();\n const workbook = read(buffer, { type: \"array\" });\n\n const sheets: SheetData[] = workbook.SheetNames.map((name) => {\n const sheet = workbook.Sheets[name];\n const rows: string[][] =\n sheet != null\n ? utils.sheet_to_json<string[]>(sheet, {\n header: 1,\n defval: \"\",\n raw: false,\n })\n : [];\n return { name, rows };\n });\n\n return { sheets };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAASA,IAAI,EAAEC,KAAK,QAAQ,gBAAgB;AAI5C,OAAO,eAAeC,4BAA4BA,CAChDC,QAAkB,EACU;EAC5B,MAAMC,MAAM,GAAG,MAAMD,QAAQ,CAACE,WAAW,CAAC,CAAC;EAC3C,MAAMC,QAAQ,GAAGN,IAAI,CAACI,MAAM,EAAE;IAAEG,IAAI,EAAE;EAAQ,CAAC,CAAC;EAEhD,MAAMC,MAAmB,GAAGF,QAAQ,CAACG,UAAU,CAACC,GAAG,CAAEC,IAAI,IAAK;IAC5D,MAAMC,KAAK,GAAGN,QAAQ,CAACO,MAAM,CAACF,IAAI,CAAC;IACnC,MAAMG,IAAgB,GACpBF,KAAK,IAAI,IAAI,GACTX,KAAK,CAACc,aAAa,CAAWH,KAAK,EAAE;MACnCI,MAAM,EAAE,CAAC;MACTC,MAAM,EAAE,EAAE;MACVC,GAAG,EAAE;IACP,CAAC,CAAC,GACF,EAAE;IACR,OAAO;MAAEP,IAAI;MAAEG;IAAK,CAAC;EACvB,CAAC,CAAC;EAEF,OAAO;IAAEN;EAAO,CAAC;AACnB","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
/* Spreadsheet Viewer - Container */
|
|
3
|
+
--osdk-spreadsheet-viewer-bg: var(--osdk-background-primary);
|
|
4
|
+
--osdk-spreadsheet-viewer-border: var(--osdk-surface-border);
|
|
5
|
+
|
|
6
|
+
/* Spreadsheet Viewer - Table */
|
|
7
|
+
--osdk-spreadsheet-viewer-header-bg: var(--osdk-background-secondary);
|
|
8
|
+
--osdk-spreadsheet-viewer-header-color: var(--osdk-typography-color-muted);
|
|
9
|
+
--osdk-spreadsheet-viewer-cell-border: var(
|
|
10
|
+
--osdk-surface-border-color-default
|
|
11
|
+
);
|
|
12
|
+
--osdk-spreadsheet-viewer-cell-padding: 2px 6px;
|
|
13
|
+
--osdk-spreadsheet-viewer-col-min-width: 80px;
|
|
14
|
+
--osdk-spreadsheet-viewer-row-header-width: 40px;
|
|
15
|
+
|
|
16
|
+
/* Spreadsheet Viewer - Sheet Tabs */
|
|
17
|
+
--osdk-spreadsheet-viewer-tab-bg: var(--osdk-background-secondary);
|
|
18
|
+
--osdk-spreadsheet-viewer-tab-hover-bg: var(--osdk-background-tertiary);
|
|
19
|
+
--osdk-spreadsheet-viewer-tab-active-bg: var(--osdk-background-primary);
|
|
20
|
+
--osdk-spreadsheet-viewer-tab-border: var(--osdk-surface-border);
|
|
21
|
+
--osdk-spreadsheet-viewer-tab-border-radius: 4px;
|
|
22
|
+
--osdk-spreadsheet-viewer-tab-padding: 4px 12px;
|
|
23
|
+
--osdk-spreadsheet-viewer-tab-bar-padding: 4px;
|
|
24
|
+
--osdk-spreadsheet-viewer-tab-gap: 2px;
|
|
25
|
+
}
|
package/build/esm/tokens.css
CHANGED
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
@import "./tokens/component-tokens/dialog.css";
|
|
16
16
|
@import "./tokens/component-tokens/draggable.css";
|
|
17
17
|
@import "./tokens/component-tokens/email-viewer.css";
|
|
18
|
-
@import "./tokens/component-tokens/excel-viewer.css";
|
|
19
18
|
@import "./tokens/component-tokens/file-picker.css";
|
|
20
19
|
@import "./tokens/component-tokens/filter-list.css";
|
|
21
20
|
@import "./tokens/component-tokens/form.css";
|
|
@@ -26,6 +25,7 @@
|
|
|
26
25
|
@import "./tokens/component-tokens/pdf-viewer.css";
|
|
27
26
|
@import "./tokens/component-tokens/radio.css";
|
|
28
27
|
@import "./tokens/component-tokens/select.css";
|
|
28
|
+
@import "./tokens/component-tokens/spreadsheet-viewer.css";
|
|
29
29
|
@import "./tokens/component-tokens/table.css";
|
|
30
30
|
@import "./tokens/component-tokens/timepicker.css";
|
|
31
31
|
@import "./tokens/component-tokens/tooltip.css";
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
const PACKAGE_USER_AGENT = `osdk-react-components/${"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
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { DocumentViewerProps } from "./DocumentViewerApi.js";
|
|
3
|
-
export declare function DocumentViewer({ media, className, mimeTypeOverride, pdfViewerProps, imageViewerProps, videoViewerProps, tiffRendererProps, markdownRendererProps,
|
|
3
|
+
export declare function DocumentViewer({ media, className, mimeTypeOverride, pdfViewerProps, imageViewerProps, videoViewerProps, tiffRendererProps, markdownRendererProps, spreadsheetViewerProps, emailViewerProps, xmlViewerProps, fileName, enableTiffToPdf }: DocumentViewerProps): React.ReactElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAoBA,OAAO,WAAwB,OAAQ;AAWvC,cAAc,2BAA2B,wBAAyB;AA+DlE,OAAO,iBAAS,eAAe,EAC7B,OACA,WACA,kBACA,gBACA,kBACA,kBACA,mBACA,uBACA,
|
|
1
|
+
{"mappings":"AAoBA,OAAO,WAAwB,OAAQ;AAWvC,cAAc,2BAA2B,wBAAyB;AA+DlE,OAAO,iBAAS,eAAe,EAC7B,OACA,WACA,kBACA,gBACA,kBACA,kBACA,mBACA,uBACA,wBACA,kBACA,gBACA,UACA,iBACoB,EAAnB,sBAAsB,MAAM","names":[],"sources":["../../../src/document-viewer/DocumentViewer.tsx"],"version":3,"file":"DocumentViewer.d.ts"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Media } from "@osdk/api";
|
|
2
2
|
import type { BaseEmailViewerProps } from "../email-viewer/EmailViewerApi.js";
|
|
3
|
-
import type { BaseExcelViewerProps } from "../excel-viewer/ExcelViewerApi.js";
|
|
4
3
|
import type { BaseImageViewerProps } from "../images/image-viewer/ImageViewerApi.js";
|
|
5
4
|
import type { TiffRendererProps } from "../images/tiff-renderer/types.js";
|
|
6
5
|
import type { MarkdownRendererProps } from "../markdown-renderer/MarkdownRenderer.js";
|
|
7
6
|
import type { PdfViewerProps } from "../pdf-viewer/types.js";
|
|
7
|
+
import type { BaseSpreadsheetViewerProps } from "../spreadsheet-viewer/SpreadsheetViewerApi.js";
|
|
8
8
|
import type { BaseVideoViewerProps } from "../video-viewer/VideoViewerApi.js";
|
|
9
9
|
import type { BaseXmlViewerProps } from "../xml-viewer/XmlViewerApi.js";
|
|
10
10
|
export declare enum ViewerType {
|
|
@@ -13,7 +13,7 @@ export declare enum ViewerType {
|
|
|
13
13
|
Image = "image",
|
|
14
14
|
Video = "video",
|
|
15
15
|
Markdown = "markdown",
|
|
16
|
-
|
|
16
|
+
Spreadsheet = "spreadsheet",
|
|
17
17
|
Email = "email",
|
|
18
18
|
Xml = "xml",
|
|
19
19
|
Unsupported = "unsupported"
|
|
@@ -42,9 +42,9 @@ export interface DocumentViewerProps {
|
|
|
42
42
|
/** Props forwarded to MarkdownRenderer when rendering markdown
|
|
43
43
|
* @default undefined */
|
|
44
44
|
markdownRendererProps?: Partial<Omit<MarkdownRendererProps, "content" | "className">>;
|
|
45
|
-
/** Props forwarded to
|
|
45
|
+
/** Props forwarded to BaseSpreadsheetViewer when rendering a spreadsheet
|
|
46
46
|
* @default undefined */
|
|
47
|
-
|
|
47
|
+
spreadsheetViewerProps?: Partial<Omit<BaseSpreadsheetViewerProps, "spreadsheet" | "className">>;
|
|
48
48
|
/** Props forwarded to BaseEmailViewer when rendering EML
|
|
49
49
|
* @default undefined */
|
|
50
50
|
emailViewerProps?: Partial<Omit<BaseEmailViewerProps, "email" | "className">>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cAAc,aAAa,WAAY;AAEvC,cAAc,4BAA4B,mCAAoC;AAC9E,cAAc,4BAA4B,
|
|
1
|
+
{"mappings":"AAgBA,cAAc,aAAa,WAAY;AAEvC,cAAc,4BAA4B,mCAAoC;AAC9E,cAAc,4BAA4B,0CAA2C;AACrF,cAAc,yBAAyB,kCAAmC;AAC1E,cAAc,6BAA6B,0CAA2C;AACtF,cAAc,sBAAsB,wBAAyB;AAC7D,cAAc,kCAAkC,+CAAgD;AAChG,cAAc,4BAA4B,mCAAoC;AAC9E,cAAc,0BAA0B,+BAAgC;AAExE,oBAAY,WAAW;CACrB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACD;AAED,iBAAiB,oBAAoB;;CAEnC,OAAO;;;CAGP;;;CAGA;;;CAGA,iBAAiB,QAAQ,KAAK,gBAAgB,QAAQ;;;CAGtD,mBAAmB,QAAQ,KAAK,sBAAsB,QAAQ;;;CAG9D,mBAAmB,QAAQ,KAAK,sBAAsB,QAAQ;;;CAG9D,oBAAoB,QAAQ,KAAK,mBAAmB,YAAY;;;CAGhE,wBAAwB,QACtB,KAAK,uBAAuB,YAAY;;;CAI1C,yBAAyB,QACvB,KAAK,4BAA4B,gBAAgB;;;CAInD,mBAAmB,QAAQ,KAAK,sBAAsB,UAAU;;;CAGhE,iBAAiB,QAAQ,KAAK,oBAAoB,YAAY;;;;CAI9D;;;CAGA;AACD","names":[],"sources":["../../../src/document-viewer/DocumentViewerApi.ts"],"version":3,"file":"DocumentViewerApi.d.ts"}
|
|
@@ -472,7 +472,7 @@ export interface ObjectTableHandle<
|
|
|
472
472
|
* Loads every row matching the object set and returns a format-agnostic
|
|
473
473
|
* snapshot of the table's columns, row values, and total count. The caller
|
|
474
474
|
* is responsible for turning the snapshot into a downloadable artifact
|
|
475
|
-
* (CSV,
|
|
475
|
+
* (CSV, Spreadsheet, JSON, clipboard, …).
|
|
476
476
|
*
|
|
477
477
|
* Property, derived-property, and function-backed columns are included.
|
|
478
478
|
* Function-backed cells are fetched per page during snapshot collection;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { BaseSpreadsheetViewer } from "../../spreadsheet-viewer/BaseSpreadsheetViewer.js";
|
|
2
|
+
export type { BaseSpreadsheetViewerProps, ParsedSpreadsheet, SheetData, SpreadsheetViewerMediaProps } from "../../spreadsheet-viewer/SpreadsheetViewerApi.js";
|
|
3
|
+
import { SpreadsheetViewer as _SpreadsheetViewer } from "../../spreadsheet-viewer/SpreadsheetViewer.js";
|
|
4
|
+
export declare const SpreadsheetViewer: typeof _SpreadsheetViewer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAiBA,SAAS,6BAA6B;AACtC,cACE,4BACA,mBACA,WACA,mCACK;AAGP,SAAS,qBAAqB,0BAA0B,+CAAgD;AAExG,OAAO,cAAMA,0BAA0B","names":["SpreadsheetViewer: typeof _SpreadsheetViewer"],"sources":["../../../../src/public/experimental/spreadsheet-viewer.ts"],"version":3,"file":"spreadsheet-viewer.d.ts"}
|
|
@@ -2,12 +2,12 @@ export * from "./experimental/action-form.js";
|
|
|
2
2
|
export * from "./experimental/cbac-picker.js";
|
|
3
3
|
export * from "./experimental/document-viewer.js";
|
|
4
4
|
export * from "./experimental/email-viewer.js";
|
|
5
|
-
export * from "./experimental/excel-viewer.js";
|
|
6
5
|
export * from "./experimental/filter-list.js";
|
|
7
6
|
export * from "./experimental/image-viewer.js";
|
|
8
7
|
export * from "./experimental/markdown-renderer.js";
|
|
9
8
|
export * from "./experimental/object-table.js";
|
|
10
9
|
export * from "./experimental/pdf-viewer.js";
|
|
10
|
+
export * from "./experimental/spreadsheet-viewer.js";
|
|
11
11
|
export * from "./experimental/theme.js";
|
|
12
12
|
export * from "./experimental/tiff-renderer.js";
|
|
13
13
|
export * from "./experimental/video-viewer.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAiBA,OAAO,WAA+C,OAAQ;AAE9D,cACE,kCAEK,2BAA4B;AA6DnC,OAAO,iBAAS,sBAAsB,EACpC,aACA,WAC2B,EAA1B,6BAA6B,MAAM","names":[],"sources":["../../../src/spreadsheet-viewer/BaseSpreadsheetViewer.tsx"],"version":3,"file":"BaseSpreadsheetViewer.d.ts"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAkBA,OAAO,WAA4B,OAAQ;AAK3C,cAEE,mCACK,2BAA4B;AAInC,OAAO,iBAAS,kBAAkB,EAChC,OACA,UACA,GAAG,wBACyB,EAA3B,8BAA8B,MAAM","names":[],"sources":["../../../src/spreadsheet-viewer/SpreadsheetViewer.tsx"],"version":3,"file":"SpreadsheetViewer.d.ts"}
|
|
@@ -9,14 +9,14 @@ export interface ParsedSpreadsheet {
|
|
|
9
9
|
/** All sheets in the workbook */
|
|
10
10
|
sheets: readonly SheetData[];
|
|
11
11
|
}
|
|
12
|
-
export interface
|
|
12
|
+
export interface BaseSpreadsheetViewerProps {
|
|
13
13
|
/** Parsed spreadsheet data */
|
|
14
14
|
spreadsheet: ParsedSpreadsheet;
|
|
15
15
|
/** Additional CSS class name for the root element
|
|
16
16
|
* @default undefined */
|
|
17
17
|
className?: string;
|
|
18
18
|
}
|
|
19
|
-
export interface
|
|
20
|
-
/** The Media object to fetch
|
|
19
|
+
export interface SpreadsheetViewerMediaProps extends Omit<BaseSpreadsheetViewerProps, "spreadsheet"> {
|
|
20
|
+
/** The Media object to fetch spreadsheet contents from */
|
|
21
21
|
media: Media;
|
|
22
22
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,cAAc,aAAa,WAAY;AAEvC,iBAAiB,UAAU;;CAEzB;;CAEA;AACD;AAED,iBAAiB,kBAAkB;;CAEjC,iBAAiB;AAClB;AAED,iBAAiB,2BAA2B;;CAE1C,aAAa;;;CAGb;AACD;AAED,iBAAiB,oCAAoC,KACnD,4BACA,eACA;;CAEA,OAAO;AACR","names":[],"sources":["../../../src/spreadsheet-viewer/SpreadsheetViewerApi.ts"],"version":3,"file":"SpreadsheetViewerApi.d.ts"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { ParsedSpreadsheet } from "./
|
|
1
|
+
import type { ParsedSpreadsheet } from "./SpreadsheetViewerApi.js";
|
|
2
2
|
export declare function parseSpreadsheetFromResponse(response: Response): Promise<ParsedSpreadsheet>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAoBA,cAAc,yBAAoC,2BAA4B;AAE9E,OAAO,iBAAe,6BACpBA,UAAU,WACT,QAAQ","names":["response: Response"],"sources":["../../../src/spreadsheet-viewer/parseSpreadsheet.ts"],"version":3,"file":"parseSpreadsheet.d.ts"}
|
package/docs/CSSVariables.md
CHANGED
|
@@ -43,7 +43,7 @@ Complete reference of all CSS custom properties (variables) used in `@osdk/react
|
|
|
43
43
|
- [Tooltip](#tooltip)
|
|
44
44
|
- [Document Viewer](#document-viewer)
|
|
45
45
|
- [Email Viewer](#email-viewer)
|
|
46
|
-
- [
|
|
46
|
+
- [Spreadsheet Viewer](#spreadsheet-viewer)
|
|
47
47
|
- [Image Viewer](#image-viewer)
|
|
48
48
|
- [Video Viewer](#video-viewer)
|
|
49
49
|
- [XML Viewer](#xml-viewer)
|
|
@@ -1486,40 +1486,40 @@ Styling for the email viewer.
|
|
|
1486
1486
|
| `--osdk-email-viewer-header-bg` | `var(--osdk-background-secondary)` | Header background |
|
|
1487
1487
|
| `--osdk-email-viewer-header-border` | `var(--osdk-surface-border)` | Header border |
|
|
1488
1488
|
|
|
1489
|
-
###
|
|
1489
|
+
### Spreadsheet Viewer
|
|
1490
1490
|
|
|
1491
|
-
Styling for the
|
|
1491
|
+
Styling for the spreadsheet viewer.
|
|
1492
1492
|
|
|
1493
1493
|
#### Container
|
|
1494
1494
|
|
|
1495
|
-
| Variable
|
|
1496
|
-
|
|
|
1497
|
-
| `--osdk-
|
|
1498
|
-
| `--osdk-
|
|
1495
|
+
| Variable | Default Value | Description |
|
|
1496
|
+
| ---------------------------------- | -------------------------------- | ----------------- |
|
|
1497
|
+
| `--osdk-spreadsheet-viewer-bg` | `var(--osdk-background-primary)` | Viewer background |
|
|
1498
|
+
| `--osdk-spreadsheet-viewer-border` | `var(--osdk-surface-border)` | Viewer border |
|
|
1499
1499
|
|
|
1500
1500
|
#### Table
|
|
1501
1501
|
|
|
1502
|
-
| Variable
|
|
1503
|
-
|
|
|
1504
|
-
| `--osdk-
|
|
1505
|
-
| `--osdk-
|
|
1506
|
-
| `--osdk-
|
|
1507
|
-
| `--osdk-
|
|
1508
|
-
| `--osdk-
|
|
1509
|
-
| `--osdk-
|
|
1502
|
+
| Variable | Default Value | Description |
|
|
1503
|
+
| -------------------------------------------- | ------------------------------------------ | ----------------- |
|
|
1504
|
+
| `--osdk-spreadsheet-viewer-header-bg` | `var(--osdk-background-secondary)` | Header background |
|
|
1505
|
+
| `--osdk-spreadsheet-viewer-header-color` | `var(--osdk-typography-color-muted)` | Header text color |
|
|
1506
|
+
| `--osdk-spreadsheet-viewer-cell-border` | `var(--osdk-surface-border-color-default)` | Cell border color |
|
|
1507
|
+
| `--osdk-spreadsheet-viewer-cell-padding` | `2px 6px` | Cell padding |
|
|
1508
|
+
| `--osdk-spreadsheet-viewer-col-min-width` | `80px` | Minimum col width |
|
|
1509
|
+
| `--osdk-spreadsheet-viewer-row-header-width` | `40px` | Row header width |
|
|
1510
1510
|
|
|
1511
1511
|
#### Sheet Tabs
|
|
1512
1512
|
|
|
1513
|
-
| Variable
|
|
1514
|
-
|
|
|
1515
|
-
| `--osdk-
|
|
1516
|
-
| `--osdk-
|
|
1517
|
-
| `--osdk-
|
|
1518
|
-
| `--osdk-
|
|
1519
|
-
| `--osdk-
|
|
1520
|
-
| `--osdk-
|
|
1521
|
-
| `--osdk-
|
|
1522
|
-
| `--osdk-
|
|
1513
|
+
| Variable | Default Value | Description |
|
|
1514
|
+
| --------------------------------------------- | ---------------------------------- | -------------------- |
|
|
1515
|
+
| `--osdk-spreadsheet-viewer-tab-bg` | `var(--osdk-background-secondary)` | Tab background |
|
|
1516
|
+
| `--osdk-spreadsheet-viewer-tab-hover-bg` | `var(--osdk-background-tertiary)` | Tab hover background |
|
|
1517
|
+
| `--osdk-spreadsheet-viewer-tab-active-bg` | `var(--osdk-background-primary)` | Active tab bg |
|
|
1518
|
+
| `--osdk-spreadsheet-viewer-tab-border` | `var(--osdk-surface-border)` | Tab border |
|
|
1519
|
+
| `--osdk-spreadsheet-viewer-tab-border-radius` | `4px` | Tab border radius |
|
|
1520
|
+
| `--osdk-spreadsheet-viewer-tab-padding` | `4px 12px` | Tab padding |
|
|
1521
|
+
| `--osdk-spreadsheet-viewer-tab-bar-padding` | `4px` | Tab bar padding |
|
|
1522
|
+
| `--osdk-spreadsheet-viewer-tab-gap` | `2px` | Gap between tabs |
|
|
1523
1523
|
|
|
1524
1524
|
### Image Viewer
|
|
1525
1525
|
|
package/docs/DocumentViewer.md
CHANGED
|
@@ -45,36 +45,36 @@ import { DocumentViewer } from "@osdk/react-components/experimental/document-vie
|
|
|
45
45
|
|
|
46
46
|
<!-- AUTOGEN:props START src=src/document-viewer/DocumentViewerApi.ts interface=DocumentViewerProps — generated by scripts/gen-props.mjs; run `pnpm --filter @osdk/react-components gen-props` -->
|
|
47
47
|
|
|
48
|
-
| Name
|
|
49
|
-
|
|
|
50
|
-
| `media`
|
|
51
|
-
| `className`
|
|
52
|
-
| `mimeTypeOverride`
|
|
53
|
-
| `pdfViewerProps`
|
|
54
|
-
| `imageViewerProps`
|
|
55
|
-
| `videoViewerProps`
|
|
56
|
-
| `tiffRendererProps`
|
|
57
|
-
| `markdownRendererProps`
|
|
58
|
-
| `
|
|
59
|
-
| `emailViewerProps`
|
|
60
|
-
| `xmlViewerProps`
|
|
61
|
-
| `fileName`
|
|
62
|
-
| `enableTiffToPdf`
|
|
48
|
+
| Name | Type | Description |
|
|
49
|
+
| ------------------------ | ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
50
|
+
| `media` | `Media` | **Required.** The Media object to render |
|
|
51
|
+
| `className` | `string` | Additional CSS class name for the root element Defaults to `undefined`. |
|
|
52
|
+
| `mimeTypeOverride` | `string` | Override the auto-detected MIME type Defaults to `undefined`. |
|
|
53
|
+
| `pdfViewerProps` | `Partial<Omit<PdfViewerProps, "src" \| "className">>` | Props forwarded to BasePdfViewer when rendering PDF Defaults to `undefined`. |
|
|
54
|
+
| `imageViewerProps` | `Partial<Omit<BaseImageViewerProps, "src" \| "className">>` | Props forwarded to BaseImageViewer when rendering images Defaults to `undefined`. |
|
|
55
|
+
| `videoViewerProps` | `Partial<Omit<BaseVideoViewerProps, "src" \| "className">>` | Props forwarded to BaseVideoViewer when rendering video Defaults to `undefined`. |
|
|
56
|
+
| `tiffRendererProps` | `Partial<Omit<TiffRendererProps, "content" \| "className">>` | Props forwarded to TiffRenderer when rendering TIFF Defaults to `undefined`. |
|
|
57
|
+
| `markdownRendererProps` | `Partial<Omit<MarkdownRendererProps, "content" \| "className">>` | Props forwarded to MarkdownRenderer when rendering markdown Defaults to `undefined`. |
|
|
58
|
+
| `spreadsheetViewerProps` | `Partial<Omit<BaseSpreadsheetViewerProps, "spreadsheet" \| "className">>` | Props forwarded to BaseSpreadsheetViewer when rendering a spreadsheet Defaults to `undefined`. |
|
|
59
|
+
| `emailViewerProps` | `Partial<Omit<BaseEmailViewerProps, "email" \| "className">>` | Props forwarded to BaseEmailViewer when rendering EML Defaults to `undefined`. |
|
|
60
|
+
| `xmlViewerProps` | `Partial<Omit<BaseXmlViewerProps, "content" \| "className">>` | Props forwarded to BaseXmlViewer when rendering XML Defaults to `undefined`. |
|
|
61
|
+
| `fileName` | `string` | File name hint for MIME type detection (e.g. "scan.tif"). Used to detect TIFF files when the MIME type is ambiguous (e.g. application/octet-stream). Defaults to `undefined`. |
|
|
62
|
+
| `enableTiffToPdf` | `boolean` | When true, multi-page TIFF files are converted to PDF via MIO transform API Defaults to `false`. |
|
|
63
63
|
|
|
64
64
|
<!-- AUTOGEN:props END -->
|
|
65
65
|
|
|
66
66
|
## Supported MIME types
|
|
67
67
|
|
|
68
|
-
| MIME type | Viewer
|
|
69
|
-
| ---------------------------------------------------------------------------------- |
|
|
70
|
-
| `application/pdf` | PdfViewer
|
|
71
|
-
| `image/tiff` | TiffRenderer
|
|
72
|
-
| `image/png`, `image/jpeg`, `image/gif`, `image/svg+xml`, `image/webp`, `image/bmp` | ImageViewer
|
|
73
|
-
| `video/*` | VideoViewer
|
|
74
|
-
| `text/markdown`, `text/x-markdown` | MarkdownRenderer
|
|
75
|
-
| `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet` |
|
|
76
|
-
| `message/rfc822` | EmailViewer
|
|
77
|
-
| `application/xml`, `text/xml` | XmlViewer
|
|
68
|
+
| MIME type | Viewer |
|
|
69
|
+
| ---------------------------------------------------------------------------------- | ----------------- |
|
|
70
|
+
| `application/pdf` | PdfViewer |
|
|
71
|
+
| `image/tiff` | TiffRenderer |
|
|
72
|
+
| `image/png`, `image/jpeg`, `image/gif`, `image/svg+xml`, `image/webp`, `image/bmp` | ImageViewer |
|
|
73
|
+
| `video/*` | VideoViewer |
|
|
74
|
+
| `text/markdown`, `text/x-markdown` | MarkdownRenderer |
|
|
75
|
+
| `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet` | SpreadsheetViewer |
|
|
76
|
+
| `message/rfc822` | EmailViewer |
|
|
77
|
+
| `application/xml`, `text/xml` | XmlViewer |
|
|
78
78
|
|
|
79
79
|
Unsupported MIME types — including `.doc`/`.docx` Microsoft Word documents — display a fallback message.
|
|
80
80
|
|
package/docs/ObjectTable.md
CHANGED
|
@@ -1273,7 +1273,7 @@ The ObjectTable automatically implements infinite scroll pagination, with page s
|
|
|
1273
1273
|
|
|
1274
1274
|
## Exporting Data
|
|
1275
1275
|
|
|
1276
|
-
Pass a `tableRef` to obtain an `ObjectTableHandle<Q, RDPs>`. Its `getSnapshot()` method loads **all** matching rows and returns a format-agnostic snapshot of the table's columns, rows, and total match count, so you can export to CSV,
|
|
1276
|
+
Pass a `tableRef` to obtain an `ObjectTableHandle<Q, RDPs>`. Its `getSnapshot()` method loads **all** matching rows and returns a format-agnostic snapshot of the table's columns, rows, and total match count, so you can export to CSV, JSON, the clipboard, or anywhere else. When the total row count exceeds `rowLimit` (default `10_000`), the returned promise rejects (with a string error message); otherwise every matching row is loaded.
|
|
1277
1277
|
|
|
1278
1278
|
The snapshot reflects the table's current column visibility, ordering, and pinning. Property, derived-property, and function-backed columns are all included. Custom-rendered columns have no underlying value and are omitted. Each row exposes a `getValue(columnId)` accessor; cells are the raw value, or the thrown `Error` instance if a function-backed cell failed to load (the promise still resolves with the rest of the snapshot).
|
|
1279
1279
|
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
#
|
|
1
|
+
# SpreadsheetViewer
|
|
2
2
|
|
|
3
|
-
A React component for rendering
|
|
3
|
+
A React component for rendering spreadsheets (.xlsx) as styled HTML tables with sheet tab navigation. Uses [SheetJS (xlsx)](https://github.com/SheetJS/sheetjs) for parsing.
|
|
4
4
|
|
|
5
5
|
## Import
|
|
6
6
|
|
|
7
7
|
```tsx
|
|
8
8
|
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
} from "@osdk/react-components/experimental/
|
|
9
|
+
BaseSpreadsheetViewer,
|
|
10
|
+
SpreadsheetViewer,
|
|
11
|
+
} from "@osdk/react-components/experimental/spreadsheet-viewer";
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
- **`
|
|
15
|
-
- **`
|
|
14
|
+
- **`SpreadsheetViewer`** — Primary component for OSDK usage. Accepts an OSDK `Media` object, parses the spreadsheet, and renders it.
|
|
15
|
+
- **`BaseSpreadsheetViewer`** — Lower-level component that accepts a pre-parsed `ParsedSpreadsheet` object.
|
|
16
16
|
|
|
17
17
|
## Usage
|
|
18
18
|
|
|
19
19
|
### With OSDK Media
|
|
20
20
|
|
|
21
21
|
```tsx
|
|
22
|
-
import {
|
|
22
|
+
import { SpreadsheetViewer } from "@osdk/react-components/experimental/spreadsheet-viewer";
|
|
23
23
|
|
|
24
|
-
<
|
|
24
|
+
<SpreadsheetViewer media={report.spreadsheet} />;
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
### With parsed data
|
|
28
28
|
|
|
29
29
|
```tsx
|
|
30
|
-
import {
|
|
30
|
+
import { BaseSpreadsheetViewer } from "@osdk/react-components/experimental/spreadsheet-viewer";
|
|
31
31
|
|
|
32
|
-
<
|
|
32
|
+
<BaseSpreadsheetViewer
|
|
33
33
|
spreadsheet={{
|
|
34
34
|
sheets: [
|
|
35
35
|
{
|
|
@@ -47,19 +47,19 @@ import { BaseExcelViewer } from "@osdk/react-components/experimental/excel-viewe
|
|
|
47
47
|
|
|
48
48
|
## Props
|
|
49
49
|
|
|
50
|
-
###
|
|
50
|
+
### BaseSpreadsheetViewerProps
|
|
51
51
|
|
|
52
52
|
| Prop | Type | Required | Description |
|
|
53
53
|
| ------------- | ------------------- | -------- | ------------------------------------- |
|
|
54
54
|
| `spreadsheet` | `ParsedSpreadsheet` | Yes | Parsed spreadsheet data |
|
|
55
55
|
| `className` | `string` | No | CSS class applied to the root element |
|
|
56
56
|
|
|
57
|
-
###
|
|
57
|
+
### SpreadsheetViewerMediaProps
|
|
58
58
|
|
|
59
|
-
| Prop | Type | Required | Description
|
|
60
|
-
| ----------- | -------- | -------- |
|
|
61
|
-
| `media` | `Media` | Yes | The OSDK Media object to fetch
|
|
62
|
-
| `className` | `string` | No | CSS class applied to the root element
|
|
59
|
+
| Prop | Type | Required | Description |
|
|
60
|
+
| ----------- | -------- | -------- | --------------------------------------------------- |
|
|
61
|
+
| `media` | `Media` | Yes | The OSDK Media object to fetch the spreadsheet from |
|
|
62
|
+
| `className` | `string` | No | CSS class applied to the root element |
|
|
63
63
|
|
|
64
64
|
### ParsedSpreadsheet
|
|
65
65
|
|
|
@@ -85,12 +85,14 @@ import { BaseExcelViewer } from "@osdk/react-components/experimental/excel-viewe
|
|
|
85
85
|
|
|
86
86
|
```css
|
|
87
87
|
:root {
|
|
88
|
-
--osdk-
|
|
89
|
-
--osdk-
|
|
90
|
-
--osdk-
|
|
91
|
-
--osdk-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
--osdk-
|
|
88
|
+
--osdk-spreadsheet-viewer-bg: var(--osdk-background-primary);
|
|
89
|
+
--osdk-spreadsheet-viewer-border: var(--osdk-surface-border);
|
|
90
|
+
--osdk-spreadsheet-viewer-header-bg: var(--osdk-background-secondary);
|
|
91
|
+
--osdk-spreadsheet-viewer-cell-border: var(
|
|
92
|
+
--osdk-surface-border-color-default
|
|
93
|
+
);
|
|
94
|
+
--osdk-spreadsheet-viewer-tab-bg: var(--osdk-background-secondary);
|
|
95
|
+
--osdk-spreadsheet-viewer-tab-active-bg: var(--osdk-background-primary);
|
|
96
|
+
--osdk-spreadsheet-viewer-tab-border: var(--osdk-surface-border);
|
|
95
97
|
}
|
|
96
98
|
```
|
package/docs/Welcome.md
CHANGED
|
@@ -12,13 +12,13 @@ forms, and filters.
|
|
|
12
12
|
|
|
13
13
|
## Available Components
|
|
14
14
|
|
|
15
|
-
| Component | Description
|
|
16
|
-
| ---------------- |
|
|
17
|
-
| `ObjectTable` | Displays an Object Set as a sortable, paginated table with inline editing
|
|
18
|
-
| `FilterList` | Interactive filter panel with histogram filters, date ranges, and search
|
|
19
|
-
| `ActionForm` | Auto-generated form for executing Ontology Actions
|
|
20
|
-
| `DocumentViewer` | Unified media viewer that auto-detects file type (PDF,
|
|
21
|
-
| `AipAgentChat` | Chat surface backed by Foundry LMS
|
|
15
|
+
| Component | Description |
|
|
16
|
+
| ---------------- | ----------------------------------------------------------------------------------- |
|
|
17
|
+
| `ObjectTable` | Displays an Object Set as a sortable, paginated table with inline editing |
|
|
18
|
+
| `FilterList` | Interactive filter panel with histogram filters, date ranges, and search |
|
|
19
|
+
| `ActionForm` | Auto-generated form for executing Ontology Actions |
|
|
20
|
+
| `DocumentViewer` | Unified media viewer that auto-detects file type (PDF, spreadsheets, images, video) |
|
|
21
|
+
| `AipAgentChat` | Chat surface backed by Foundry LMS |
|
|
22
22
|
|
|
23
23
|
All components are exported under `@osdk/react-components/experimental/*`
|
|
24
24
|
sub-paths (e.g. `@osdk/react-components/experimental/object-table`).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osdk/react-components",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.46.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -79,15 +79,6 @@
|
|
|
79
79
|
"require": "./build/cjs/public/experimental/email-viewer.cjs",
|
|
80
80
|
"default": "./build/browser/public/experimental/email-viewer.js"
|
|
81
81
|
},
|
|
82
|
-
"./experimental/excel-viewer": {
|
|
83
|
-
"browser": "./build/browser/public/experimental/excel-viewer.js",
|
|
84
|
-
"import": {
|
|
85
|
-
"types": "./build/types/public/experimental/excel-viewer.d.ts",
|
|
86
|
-
"default": "./build/esm/public/experimental/excel-viewer.js"
|
|
87
|
-
},
|
|
88
|
-
"require": "./build/cjs/public/experimental/excel-viewer.cjs",
|
|
89
|
-
"default": "./build/browser/public/experimental/excel-viewer.js"
|
|
90
|
-
},
|
|
91
82
|
"./experimental/filter-list": {
|
|
92
83
|
"browser": "./build/browser/public/experimental/filter-list.js",
|
|
93
84
|
"import": {
|
|
@@ -133,6 +124,15 @@
|
|
|
133
124
|
"require": "./build/cjs/public/experimental/pdf-viewer.cjs",
|
|
134
125
|
"default": "./build/browser/public/experimental/pdf-viewer.js"
|
|
135
126
|
},
|
|
127
|
+
"./experimental/spreadsheet-viewer": {
|
|
128
|
+
"browser": "./build/browser/public/experimental/spreadsheet-viewer.js",
|
|
129
|
+
"import": {
|
|
130
|
+
"types": "./build/types/public/experimental/spreadsheet-viewer.d.ts",
|
|
131
|
+
"default": "./build/esm/public/experimental/spreadsheet-viewer.js"
|
|
132
|
+
},
|
|
133
|
+
"require": "./build/cjs/public/experimental/spreadsheet-viewer.cjs",
|
|
134
|
+
"default": "./build/browser/public/experimental/spreadsheet-viewer.js"
|
|
135
|
+
},
|
|
136
136
|
"./experimental/theme": {
|
|
137
137
|
"browser": "./build/browser/public/experimental/theme.js",
|
|
138
138
|
"import": {
|
|
@@ -228,11 +228,11 @@
|
|
|
228
228
|
"react-dom": "^18.3.1",
|
|
229
229
|
"typescript": "~5.5.4",
|
|
230
230
|
"@osdk/aip-core": "0.9.0",
|
|
231
|
-
"@osdk/api": "2.53.0",
|
|
232
231
|
"@osdk/client": "2.53.0",
|
|
232
|
+
"@osdk/react": "2.53.0",
|
|
233
233
|
"@osdk/monorepo.api-extractor": "~0.7.0",
|
|
234
234
|
"@osdk/monorepo.tsconfig": "~0.7.0",
|
|
235
|
-
"@osdk/
|
|
235
|
+
"@osdk/api": "2.53.0"
|
|
236
236
|
},
|
|
237
237
|
"publishConfig": {
|
|
238
238
|
"access": "public"
|
|
@@ -257,7 +257,7 @@
|
|
|
257
257
|
],
|
|
258
258
|
"type": "module",
|
|
259
259
|
"scripts": {
|
|
260
|
-
"check-attw": "attw --pack . --exclude-entrypoints ./styles.css ./experimental/action-form ./experimental/aip-agent-chat ./experimental/cbac-picker ./experimental/document-viewer ./experimental/email-viewer ./experimental/
|
|
260
|
+
"check-attw": "attw --pack . --exclude-entrypoints ./styles.css ./experimental/action-form ./experimental/aip-agent-chat ./experimental/cbac-picker ./experimental/document-viewer ./experimental/email-viewer ./experimental/filter-list ./experimental/image-viewer ./experimental/markdown-renderer ./experimental/object-table ./experimental/pdf-viewer ./experimental/spreadsheet-viewer ./experimental/theme ./experimental/tiff-renderer ./experimental/video-viewer ./experimental/xml-viewer",
|
|
261
261
|
"check-gen-props": "node scripts/gen-props.mjs --check",
|
|
262
262
|
"check-spelling": "cspell --quiet .",
|
|
263
263
|
"clean": "rm -rf lib dist types build tsconfig.tsbuildinfo",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BaseExcelViewer.js","names":["classnames","React","useCallback","useMemo","useState","styles","columnIndexToLetter","index","letter","num","remainder","String","fromCharCode","Math","floor","SheetTable","memo","sheet","maxCols","rows","reduce","max","row","length","createElement","className","emptySheet","tableContainer","table","cornerCell","Array","from","_","i","key","columnHeader","map","rowIndex","rowHeader","cellIndex","cell","displayName","BaseExcelViewer","spreadsheet","activeSheetIndex","setActiveSheetIndex","rootClassName","container","safeIndex","min","sheets","activeSheet","handleTabClick","tabBar","name","tab","tabActive","onClick","type"],"sources":["BaseExcelViewer.tsx"],"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\nimport classnames from \"classnames\";\nimport React, { useCallback, useMemo, useState } from \"react\";\n\nimport type { BaseExcelViewerProps, SheetData } from \"./ExcelViewerApi.js\";\n\nimport styles from \"./BaseExcelViewer.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: number): string {\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}\n\nconst SheetTable: React.FunctionComponent<{ sheet: SheetData }> = React.memo(\n ({ sheet }) => {\n const maxCols = useMemo(\n () => sheet.rows.reduce((max, row) => Math.max(max, row.length), 0),\n [sheet.rows],\n );\n\n if (sheet.rows.length === 0) {\n return <div className={styles.emptySheet}>Empty sheet</div>;\n }\n\n return (\n <div className={styles.tableContainer}>\n <table className={styles.table}>\n <thead>\n <tr>\n <th className={styles.cornerCell} />\n {Array.from({ length: maxCols }, (_, i) => (\n <th key={i} className={styles.columnHeader}>\n {columnIndexToLetter(i)}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {sheet.rows.map((row, rowIndex) => (\n <tr key={rowIndex}>\n <td className={styles.rowHeader}>{rowIndex + 1}</td>\n {Array.from({ length: maxCols }, (_, cellIndex) => (\n <td key={cellIndex} className={styles.cell}>\n {row[cellIndex] ?? \"\"}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n );\n },\n);\nSheetTable.displayName = \"SheetTable\";\n\nexport function BaseExcelViewer({\n spreadsheet,\n className,\n}: BaseExcelViewerProps): React.ReactElement {\n const [activeSheetIndex, setActiveSheetIndex] = useState(0);\n const rootClassName = classnames(styles.container, className);\n\n const safeIndex = Math.min(\n activeSheetIndex,\n Math.max(0, spreadsheet.sheets.length - 1),\n );\n const activeSheet = useMemo(\n () => spreadsheet.sheets[safeIndex],\n [spreadsheet.sheets, safeIndex],\n );\n\n const handleTabClick = useCallback((index: number) => {\n setActiveSheetIndex(index);\n }, []);\n\n return (\n <div className={rootClassName}>\n {activeSheet != null ? (\n <SheetTable sheet={activeSheet} />\n ) : (\n <div className={styles.emptySheet}>No sheets</div>\n )}\n {spreadsheet.sheets.length > 1 && (\n <div className={styles.tabBar}>\n {spreadsheet.sheets.map((sheet, index) => (\n <button\n key={sheet.name}\n className={classnames(styles.tab, {\n [styles.tabActive]: index === safeIndex,\n })}\n onClick={() => handleTabClick(index)}\n type=\"button\"\n >\n {sheet.name}\n </button>\n ))}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
// CSS Module proxy for BaseExcelViewer.module.css
|
|
2
|
-
const styles = {
|
|
3
|
-
"container": "BaseExcelViewer-module__container___agvsuGcT",
|
|
4
|
-
"tableContainer": "BaseExcelViewer-module__tableContainer___G2ltbmLs",
|
|
5
|
-
"table": "BaseExcelViewer-module__table___rik9AmXW",
|
|
6
|
-
"columnHeader": "BaseExcelViewer-module__columnHeader___GNzVoKYb",
|
|
7
|
-
"cornerCell": "BaseExcelViewer-module__cornerCell___bf--4w7V",
|
|
8
|
-
"rowHeader": "BaseExcelViewer-module__rowHeader___LwAO-BKT",
|
|
9
|
-
"cell": "BaseExcelViewer-module__cell___qwidLxqb",
|
|
10
|
-
"tabBar": "BaseExcelViewer-module__tabBar___5B88ogEW",
|
|
11
|
-
"tab": "BaseExcelViewer-module__tab___diaQn1s5",
|
|
12
|
-
"tabActive": "BaseExcelViewer-module__tabActive___vAyEHXgz",
|
|
13
|
-
"emptySheet": "BaseExcelViewer-module__emptySheet___m803adgC",
|
|
14
|
-
"loadingContainer": "BaseExcelViewer-module__loadingContainer___Gd27-g3K LoadingError-module__loadingContainer___bPqIqyjp",
|
|
15
|
-
"errorContainer": "BaseExcelViewer-module__errorContainer___z8qexUdy LoadingError-module__errorContainer___xvYKZ55o",
|
|
16
|
-
"spinnerIcon": "BaseExcelViewer-module__spinnerIcon___kXDWsJIN LoadingError-module__spinnerIcon___t3TNZqEL",
|
|
17
|
-
"errorIcon": "BaseExcelViewer-module__errorIcon___iO2-BVFw LoadingError-module__errorIcon___q4oREdZx"
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export default styles;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExcelViewer.js","names":["Error","ErrorIcon","Spin","classnames","React","useCallback","useMediaContents","BaseExcelViewer","parseSpreadsheetFromResponse","styles","ExcelViewer","media","className","excelViewerProps","data","spreadsheet","loading","error","rootClassName","container","createElement","loadingContainer","spinnerIcon","errorContainer","errorIcon","message","_extends"],"sources":["ExcelViewer.tsx"],"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\nimport { Error as ErrorIcon, Spin } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React, { useCallback } from \"react\";\n\nimport { useMediaContents } from \"../shared/hooks/useMediaContents.js\";\nimport { BaseExcelViewer } from \"./BaseExcelViewer.js\";\nimport type {\n ExcelViewerMediaProps,\n ParsedSpreadsheet,\n} from \"./ExcelViewerApi.js\";\nimport { parseSpreadsheetFromResponse } from \"./parseSpreadsheet.js\";\n\nimport styles from \"./BaseExcelViewer.module.css\";\n\nexport function ExcelViewer({\n media,\n className,\n ...excelViewerProps\n}: ExcelViewerMediaProps): React.ReactElement {\n const {\n data: spreadsheet,\n loading,\n error,\n } = useMediaContents<ParsedSpreadsheet>(\n media,\n useCallback(parseSpreadsheetFromResponse, []),\n );\n\n const rootClassName = classnames(styles.container, className);\n\n return (\n <div className={rootClassName}>\n {loading && (\n <div className={styles.loadingContainer}>\n <Spin className={styles.spinnerIcon} />\n Loading…\n </div>\n )}\n {error != null && (\n <div className={styles.errorContainer}>\n <ErrorIcon className={styles.errorIcon} />\n Failed to load spreadsheet: {error.message}\n </div>\n )}\n {spreadsheet != null && (\n <BaseExcelViewer spreadsheet={spreadsheet} {...excelViewerProps} />\n )}\n </div>\n );\n}\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,KAAK,IAAIC,SAAS,EAAEC,IAAI,QAAQ,oBAAoB;AAC7D,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAE1C,SAASC,gBAAgB,QAAQ,qCAAqC;AACtE,SAASC,eAAe,QAAQ,sBAAsB;AAKtD,SAASC,4BAA4B,QAAQ,uBAAuB;AAEpE,OAAOC,MAAM,MAAM,8BAA8B;AAEjD,OAAO,SAASC,WAAWA,CAAC;EAC1BC,KAAK;EACLC,SAAS;EACT,GAAGC;AACkB,CAAC,EAAsB;EAC5C,MAAM;IACJC,IAAI,EAAEC,WAAW;IACjBC,OAAO;IACPC;EACF,CAAC,GAAGX,gBAAgB,CAClBK,KAAK,EACLN,WAAW,CAACG,4BAA4B,EAAE,EAAE,CAC9C,CAAC;EAED,MAAMU,aAAa,GAAGf,UAAU,CAACM,MAAM,CAACU,SAAS,EAAEP,SAAS,CAAC;EAE7D,oBACER,KAAA,CAAAgB,aAAA;IAAKR,SAAS,EAAEM;EAAc,GAC3BF,OAAO,iBACNZ,KAAA,CAAAgB,aAAA;IAAKR,SAAS,EAAEH,MAAM,CAACY;EAAiB,gBACtCjB,KAAA,CAAAgB,aAAA,CAAClB,IAAI;IAACU,SAAS,EAAEH,MAAM,CAACa;EAAY,CAAE,CAAC,iBAEpC,CACN,EACAL,KAAK,IAAI,IAAI,iBACZb,KAAA,CAAAgB,aAAA;IAAKR,SAAS,EAAEH,MAAM,CAACc;EAAe,gBACpCnB,KAAA,CAAAgB,aAAA,CAACnB,SAAS;IAACW,SAAS,EAAEH,MAAM,CAACe;EAAU,CAAE,CAAC,gCACd,EAACP,KAAK,CAACQ,OAChC,CACN,EACAV,WAAW,IAAI,IAAI,iBAClBX,KAAA,CAAAgB,aAAA,CAACb,eAAe,EAAAmB,QAAA;IAACX,WAAW,EAAEA;EAAY,GAAKF,gBAAgB,CAAG,CAEjE,CAAC;AAEV","ignoreList":[]}
|