@osdk/react-components 0.61.0 → 0.61.1-main-cb903afe8d2c85db2c36af0c2d0bd8605ba808fe
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/build/browser/object-table/Table.js +1 -1
- package/build/browser/object-table/Table.js.map +1 -1
- package/build/browser/util/UserAgent.js +1 -1
- package/build/browser/util/UserAgent.js.map +1 -1
- package/build/cjs/{chunk-N6FIHXUT.cjs → chunk-37AY5JER.cjs} +5 -5
- package/build/cjs/{chunk-N6FIHXUT.cjs.map → chunk-37AY5JER.cjs.map} +1 -1
- package/build/cjs/{chunk-NUK5FOSF.cjs → chunk-3MQXIA4N.cjs} +4 -4
- package/build/cjs/{chunk-NUK5FOSF.cjs.map → chunk-3MQXIA4N.cjs.map} +1 -1
- package/build/cjs/chunk-56W3THMZ.cjs +11 -0
- package/build/cjs/{chunk-ROVEY2XZ.cjs.map → chunk-56W3THMZ.cjs.map} +1 -1
- package/build/cjs/chunk-5766NPOV.cjs +12 -0
- package/build/cjs/{chunk-57GL4OIU.cjs.map → chunk-5766NPOV.cjs.map} +1 -1
- package/build/cjs/chunk-62R6FPCN.cjs +11 -0
- package/build/cjs/{chunk-LNOI7H2O.cjs.map → chunk-62R6FPCN.cjs.map} +1 -1
- package/build/cjs/{chunk-7R2QPKDB.cjs → chunk-6GBISSP2.cjs} +4 -4
- package/build/cjs/{chunk-7R2QPKDB.cjs.map → chunk-6GBISSP2.cjs.map} +1 -1
- package/build/cjs/chunk-6V2DNZY7.cjs +11 -0
- package/build/cjs/{chunk-ACHOHMXA.cjs.map → chunk-6V2DNZY7.cjs.map} +1 -1
- package/build/cjs/{chunk-3CGO6BJA.cjs → chunk-74CEPTWM.cjs} +8 -8
- package/build/cjs/{chunk-3CGO6BJA.cjs.map → chunk-74CEPTWM.cjs.map} +1 -1
- package/build/cjs/{chunk-HMCDTUEW.cjs → chunk-7LQNKCCZ.cjs} +4 -4
- package/build/cjs/{chunk-HMCDTUEW.cjs.map → chunk-7LQNKCCZ.cjs.map} +1 -1
- package/build/cjs/chunk-7NWS5PA4.cjs +48 -0
- package/build/cjs/{chunk-WL56Z5NS.cjs.map → chunk-7NWS5PA4.cjs.map} +1 -1
- package/build/cjs/{chunk-3SBGGTFL.cjs → chunk-7TCBI5F3.cjs} +4 -4
- package/build/cjs/{chunk-3SBGGTFL.cjs.map → chunk-7TCBI5F3.cjs.map} +1 -1
- package/build/cjs/{chunk-NBECY2US.cjs → chunk-C3MJP7G2.cjs} +3 -3
- package/build/cjs/chunk-C3MJP7G2.cjs.map +1 -0
- package/build/cjs/chunk-DPNDWWGI.cjs +12 -0
- package/build/cjs/{chunk-MWNYJFG6.cjs.map → chunk-DPNDWWGI.cjs.map} +1 -1
- package/build/cjs/{chunk-NTBCTN2U.cjs → chunk-EOFGPLJM.cjs} +4 -4
- package/build/cjs/{chunk-NTBCTN2U.cjs.map → chunk-EOFGPLJM.cjs.map} +1 -1
- package/build/cjs/{chunk-YHMDFD5J.cjs → chunk-F5RWMLTV.cjs} +4 -4
- package/build/cjs/{chunk-YHMDFD5J.cjs.map → chunk-F5RWMLTV.cjs.map} +1 -1
- package/build/cjs/chunk-I2LJSSJI.cjs +34 -0
- package/build/cjs/{chunk-BOUML6UZ.cjs.map → chunk-I2LJSSJI.cjs.map} +1 -1
- package/build/cjs/chunk-K5GL4D7M.cjs +11 -0
- package/build/cjs/{chunk-K4EZHHG5.cjs.map → chunk-K5GL4D7M.cjs.map} +1 -1
- package/build/cjs/chunk-MECBYTRO.cjs +11 -0
- package/build/cjs/{chunk-2L52ISL4.cjs.map → chunk-MECBYTRO.cjs.map} +1 -1
- package/build/cjs/chunk-ONUGZ6J7.cjs +11 -0
- package/build/cjs/{chunk-L4LPGT2S.cjs.map → chunk-ONUGZ6J7.cjs.map} +1 -1
- package/build/cjs/{chunk-CHPLIOOB.cjs → chunk-P2U2QKKL.cjs} +5 -5
- package/build/cjs/chunk-P2U2QKKL.cjs.map +1 -0
- package/build/cjs/{chunk-DTRPRRNF.cjs → chunk-P4BY4YMR.cjs} +4 -4
- package/build/cjs/{chunk-DTRPRRNF.cjs.map → chunk-P4BY4YMR.cjs.map} +1 -1
- package/build/cjs/{chunk-IZ74MWVK.cjs → chunk-RKPLZQ2P.cjs} +4 -4
- package/build/cjs/{chunk-IZ74MWVK.cjs.map → chunk-RKPLZQ2P.cjs.map} +1 -1
- package/build/cjs/{chunk-DIFKL7BU.cjs → chunk-SEYZDKCF.cjs} +4 -4
- package/build/cjs/{chunk-DIFKL7BU.cjs.map → chunk-SEYZDKCF.cjs.map} +1 -1
- package/build/cjs/{chunk-QCVVEZ4E.cjs → chunk-U3CKHYDY.cjs} +5 -5
- package/build/cjs/{chunk-QCVVEZ4E.cjs.map → chunk-U3CKHYDY.cjs.map} +1 -1
- package/build/cjs/{chunk-4N5G4SGE.cjs → chunk-UDFUUQ4J.cjs} +4 -4
- package/build/cjs/{chunk-4N5G4SGE.cjs.map → chunk-UDFUUQ4J.cjs.map} +1 -1
- package/build/cjs/{chunk-RJXOGQTP.cjs → chunk-XTULLQD3.cjs} +4 -4
- package/build/cjs/{chunk-RJXOGQTP.cjs.map → chunk-XTULLQD3.cjs.map} +1 -1
- package/build/cjs/public/action-form.cjs +4 -4
- package/build/cjs/public/document-viewer.cjs +4 -4
- package/build/cjs/public/email-viewer.cjs +3 -3
- package/build/cjs/public/experimental/action-form.cjs +5 -5
- 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/email-viewer.cjs +5 -5
- package/build/cjs/public/experimental/filter-list.cjs +16 -16
- package/build/cjs/public/experimental/image-viewer.cjs +5 -5
- package/build/cjs/public/experimental/markdown-renderer.cjs +7 -7
- package/build/cjs/public/experimental/object-table.cjs +23 -23
- package/build/cjs/public/experimental/pdf-viewer.cjs +25 -25
- package/build/cjs/public/experimental/spreadsheet-viewer.cjs +5 -5
- package/build/cjs/public/experimental/tiff-renderer.cjs +7 -7
- package/build/cjs/public/experimental/video-viewer.cjs +5 -5
- package/build/cjs/public/experimental/xml-viewer.cjs +5 -5
- package/build/cjs/public/experimental.cjs +112 -112
- package/build/cjs/public/filter-list.cjs +15 -15
- package/build/cjs/public/image-viewer.cjs +3 -3
- package/build/cjs/public/markdown-viewer.cjs +3 -3
- package/build/cjs/public/object-table.cjs +22 -22
- package/build/cjs/public/pdf-viewer.cjs +7 -7
- package/build/cjs/public/spreadsheet-viewer.cjs +3 -3
- package/build/cjs/public/tiff-viewer.cjs +3 -3
- package/build/cjs/public/video-viewer.cjs +3 -3
- package/build/cjs/public/xml-viewer.cjs +3 -3
- package/build/esm/object-table/Table.js +1 -1
- package/build/esm/object-table/Table.js.map +1 -1
- package/build/esm/util/UserAgent.js +1 -1
- package/build/esm/util/UserAgent.js.map +1 -1
- package/package.json +8 -8
- package/build/cjs/chunk-2L52ISL4.cjs +0 -11
- package/build/cjs/chunk-57GL4OIU.cjs +0 -12
- package/build/cjs/chunk-ACHOHMXA.cjs +0 -11
- package/build/cjs/chunk-BOUML6UZ.cjs +0 -34
- package/build/cjs/chunk-CHPLIOOB.cjs.map +0 -1
- package/build/cjs/chunk-K4EZHHG5.cjs +0 -11
- package/build/cjs/chunk-L4LPGT2S.cjs +0 -11
- package/build/cjs/chunk-LNOI7H2O.cjs +0 -11
- package/build/cjs/chunk-MWNYJFG6.cjs +0 -12
- package/build/cjs/chunk-NBECY2US.cjs.map +0 -1
- package/build/cjs/chunk-ROVEY2XZ.cjs +0 -11
- package/build/cjs/chunk-WL56Z5NS.cjs +0 -48
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# @osdk/react-components
|
|
2
2
|
|
|
3
|
+
## 0.61.1-main-cb903afe8d2c85db2c36af0c2d0bd8605ba808fe
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- cb903af: Prevent the default and custom table empty states from rendering while the initial data is loading.
|
|
8
|
+
- Updated dependencies [2ab4d7c]
|
|
9
|
+
- Updated dependencies [bd50cd9]
|
|
10
|
+
- @osdk/api@2.76.1-main-cb903afe8d2c85db2c36af0c2d0bd8605ba808fe
|
|
11
|
+
- @osdk/client@2.76.1-main-cb903afe8d2c85db2c36af0c2d0bd8605ba808fe
|
|
12
|
+
- @osdk/react@2.76.1-main-cb903afe8d2c85db2c36af0c2d0bd8605ba808fe
|
|
13
|
+
|
|
3
14
|
## 0.61.0
|
|
4
15
|
|
|
5
16
|
### Minor Changes
|
|
@@ -162,7 +162,7 @@ function BaseTableInner({
|
|
|
162
162
|
setFocusedRowId: setFocusedRowId,
|
|
163
163
|
isInEditMode: editableConfig?.editModeState.isActive,
|
|
164
164
|
getRowAttributes: getRowAttributes
|
|
165
|
-
}))), !hasData && error == null && (renderEmptyState != null ? renderEmptyState() : /*#__PURE__*/React.createElement(NonIdealState, {
|
|
165
|
+
}))), !hasData && !isLoading && error == null && (renderEmptyState != null ? renderEmptyState() : /*#__PURE__*/React.createElement(NonIdealState, {
|
|
166
166
|
message: "No Data"
|
|
167
167
|
})), error != null && /*#__PURE__*/React.createElement(NonIdealState, {
|
|
168
168
|
message: `Error Loading Data: ${error.message}`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","names":["classNames","React","useCallback","useEffect","useRef","useState","PortalContainerProvider","useFocusedRow","LoadingStateTable","NonIdealState","TableBody","TableEditContainer","TableHeader","SCROLL_FETCH_THRESHOLD","isColumnDeclaredEditable","PortalTrackerProvider","usePortalTracker","styles","BaseTable","props","createElement","BaseTableInner","table","isLoading","fetchNextPage","onRowClick","onColumnHeaderClick","rowHeight","renderCellContextMenu","className","error","headerMenuFeatureFlags","editableConfig","getRowAttributes","showEditFooter","renderEmptyState","focusedRowId","focusedRowIdProp","onFocusedRowChanged","tableContainerRef","objectTablePortalRef","isLoadingMore","setIsLoadingMore","getRowById","id","getRow","original","setFocusedRowId","portalTracker","options","meta","fetchingRef","fetchMoreOnEndReached","containerRefElement","current","scrollHeight","scrollTop","clientHeight","handleScroll","e","currentTarget","rows","getRowModel","headerGroups","getHeaderGroups","hasData","length","hasEditableColumns","getAllColumns","some","column","columnDef","editable","handleClickOutside","event","target","contains","containsElement","document","addEventListener","removeEventListener","container","ref","osdkTableWrapper","osdkTableContainer","onScroll","Fragment","isInEditMode","editModeState","isActive","message","hasFocusedRow"],"sources":["Table.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Cell, RowData, Table } from \"@tanstack/react-table\";\nimport classNames from \"classnames\";\nimport React, {\n type ReactElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport { PortalContainerProvider } from \"../shared/PortalContainerContext.js\";\nimport { useFocusedRow } from \"./hooks/useFocusedRow.js\";\nimport { LoadingStateTable } from \"./LoadingStateTable.js\";\nimport { NonIdealState } from \"./NonIdealState.js\";\nimport { TableBody } from \"./TableBody.js\";\nimport { TableEditContainer } from \"./TableEditContainer.js\";\nimport { TableHeader } from \"./TableHeader.js\";\nimport type { HeaderMenuFeatureFlags } from \"./TableHeaderWithPopover.js\";\nimport { SCROLL_FETCH_THRESHOLD } from \"./utils/constants.js\";\nimport { isColumnDeclaredEditable } from \"./utils/editableUtils.js\";\nimport {\n PortalTrackerProvider,\n usePortalTracker,\n} from \"./utils/PortalTracker.js\";\nimport type {\n CellEditInfo,\n EditableConfig,\n EditFieldConfig,\n} from \"./utils/types.js\";\n\nimport styles from \"./Table.module.css\";\n\ndeclare module \"@tanstack/react-table\" {\n interface ColumnMeta<TData extends RowData = unknown, TValue = unknown> {\n columnName?: string;\n isAsyncColumn?: boolean;\n isVisible?: boolean;\n editable?: boolean | ((object: TData) => boolean);\n dataType?: string;\n /**\n * For columns backed by a `\"marking\"` property, the marking subtype as\n * surfaced by the platform: `\"CBAC\"` for classification-based access\n * control or `\"MANDATORY\"` for mandatory markings. Absent for\n * non-marking columns and for marking columns whose subtype isn't\n * exposed.\n */\n markingType?: \"CBAC\" | \"MANDATORY\";\n editFieldConfig?: EditFieldConfig<TData>;\n validateEdit?: (value: unknown) => Promise<string | undefined>;\n }\n interface TableMeta<TData extends RowData = unknown> {\n onCellEdit?: (cellId: string, info: CellEditInfo<TData, unknown>) => void;\n onCellValidationError?: (cellId: string, error: string) => void;\n clearCellValidationError?: (cellId: string) => void;\n cellEdits?: Record<string, CellEditInfo<TData, unknown>>;\n isInEditMode?: boolean;\n validationErrors?: Map<string, string>;\n focusedRowId?: string | null;\n }\n}\n\nexport interface BaseTableProps<TData extends RowData> {\n /**\n * The TanStack React Table instance backing the table. Build it with\n * `useReactTable` (see the `useColumnDefs` / `useObjectTableData` hooks for\n * the pieces `ObjectTable` itself feeds in).\n */\n table: Table<TData>;\n\n /**\n * Whether a fetch is in flight. While loading with no rows yet, a skeleton\n * table is rendered in place of the header and body; while loading with rows\n * already present, an extra skeleton row is appended and further\n * `fetchNextPage` calls are suppressed.\n */\n isLoading?: boolean;\n\n /**\n * Loads the next page of rows. Called when the user scrolls near the bottom\n * of the table. Omit it to disable infinite scrolling.\n */\n fetchNextPage?: () => Promise<void>;\n\n /**\n * Called when a row is clicked.\n *\n * @param row The row data of the clicked row\n */\n onRowClick?: (row: TData) => void;\n\n /**\n * Called when a column header is clicked.\n *\n * The dropdown menu trigger is excluded — clicking the chevron opens the\n * header menu instead of firing this callback.\n *\n * @param columnId The id of the clicked column\n */\n onColumnHeaderClick?: (columnId: string) => void;\n\n /**\n * The height of each row in pixels. Also drives row virtualization, so an\n * accurate value keeps scrolling smooth.\n *\n * @default 40\n */\n rowHeight?: number;\n\n /**\n * If provided, will render this context menu when right clicking on a cell\n */\n renderCellContextMenu?: (\n row: TData,\n cell: Cell<TData, unknown>,\n ) => React.ReactNode;\n\n /**\n * Toggles which items appear in the column header menu (sorting, pinning,\n * resizing, and so on). Every flag defaults to shown. See\n * {@link HeaderMenuFeatureFlags}.\n */\n headerMenuFeatureFlags?: HeaderMenuFeatureFlags;\n\n /**\n * Wiring for inline cell editing — pending edits, edit-mode state, and the\n * submit/clear/validation callbacks. Omit it to render a read-only table.\n * `useEditableTable` produces this shape. See {@link EditableConfig}.\n */\n editableConfig?: EditableConfig<TData, unknown>;\n\n /**\n * Whether to render the bottom edit footer. Defaults to `true`; the\n * footer is only rendered when the table has at least one editable\n * column (`hasEditableColumns`).\n */\n showEditFooter?: boolean;\n\n /**\n * The row ID of the row to render as visually focused. When provided, focus state is controlled by the caller.\n */\n focusedRowId?: string | null;\n\n /**\n * Fires whenever the focused row changes, in both controlled and\n * uncontrolled modes.\n */\n onFocusedRowChanged?: (row: TData | null) => void;\n\n /**\n * Render override for the empty state. Called when the table has no\n * rows and no error. When omitted, a default \"No Data\" indicator is\n * rendered.\n */\n renderEmptyState?: () => React.ReactNode;\n\n /**\n * A fetch error to surface. When set, an error message is rendered in place\n * of the empty state.\n */\n error?: Error;\n\n /**\n * Returns extra HTML attributes (typically `data-*`) to apply to each\n * row element. Use this to drive conditional row styling\n */\n getRowAttributes?: (object: TData) => Record<string, string | undefined>;\n\n /**\n * Class name applied to the table's outermost wrapper element.\n */\n className?: string;\n}\n\nexport function BaseTable<TData extends RowData>(\n props: BaseTableProps<TData>,\n): ReactElement {\n return (\n <PortalTrackerProvider>\n <BaseTableInner {...props} />\n </PortalTrackerProvider>\n );\n}\n\nfunction BaseTableInner<TData extends RowData>({\n table,\n isLoading,\n fetchNextPage,\n onRowClick,\n onColumnHeaderClick,\n rowHeight,\n renderCellContextMenu,\n className,\n error,\n headerMenuFeatureFlags,\n editableConfig,\n getRowAttributes,\n showEditFooter = true,\n renderEmptyState,\n focusedRowId: focusedRowIdProp,\n onFocusedRowChanged,\n}: BaseTableProps<TData>): ReactElement {\n const tableContainerRef = useRef<HTMLDivElement>(null);\n const objectTablePortalRef = useRef<HTMLDivElement>(null);\n const [isLoadingMore, setIsLoadingMore] = useState(false);\n\n const getRowById = useCallback(\n (id: string) => {\n try {\n return table.getRow(id, true)?.original ?? null;\n } catch {\n // table.getRow throws when the id no longer matches a row\n // (e.g. the row was removed or has not loaded yet). Treat a\n // missing row as \"no focus\" rather than crashing.\n return null;\n }\n },\n [table],\n );\n\n const { focusedRowId, setFocusedRowId } = useFocusedRow<TData>({\n focusedRowId: focusedRowIdProp,\n onFocusedRowChanged,\n getRowById,\n });\n const portalTracker = usePortalTracker();\n\n // Sync focusedRowId into table meta so cell renderers (which only\n // receive `table`) can read it without extra prop drilling.\n // Assigned synchronously so children see the current value in the\n // same render pass. This is safe because meta is a mutable bag that\n // TanStack Table never snapshots or shallow-compares.\n if (table.options.meta) {\n table.options.meta.focusedRowId = focusedRowId;\n }\n\n // Using a ref to prevent duplicate fetches from rapid scroll events while a fetch is in-flight\n const fetchingRef = useRef(false);\n\n useEffect(() => {\n if (!isLoading || fetchNextPage == null) {\n setIsLoadingMore(false);\n }\n }, [isLoading, fetchNextPage]);\n\n const fetchMoreOnEndReached = useCallback(\n async (containerRefElement?: HTMLDivElement | null) => {\n if (containerRefElement && !fetchingRef.current && !isLoadingMore) {\n const { scrollHeight, scrollTop, clientHeight } = containerRefElement;\n if (\n scrollHeight - scrollTop - clientHeight < SCROLL_FETCH_THRESHOLD &&\n !isLoading &&\n fetchNextPage != null\n ) {\n fetchingRef.current = true;\n setIsLoadingMore(true);\n try {\n await fetchNextPage();\n } finally {\n fetchingRef.current = false;\n }\n }\n }\n },\n [fetchNextPage, isLoading, isLoadingMore],\n );\n\n const handleScroll = useCallback(\n async (e: React.UIEvent<HTMLDivElement>) => {\n await fetchMoreOnEndReached(e.currentTarget);\n },\n [fetchMoreOnEndReached],\n );\n\n const rows = table.getRowModel().rows;\n const headerGroups = table.getHeaderGroups();\n const hasData = rows.length > 0;\n\n const hasEditableColumns = table\n .getAllColumns()\n .some((column) =>\n isColumnDeclaredEditable(column.columnDef.meta?.editable),\n );\n\n // Use pointerdown instead of click to detect outside interactions.\n // base-ui's Select renders a full-screen backdrop that intercepts\n // pointerdown to close the popup. By the time the click event fires,\n // the backdrop is unmounted and event.target falls through to <body>,\n // which would incorrectly trigger the outside-click handler.\n // At pointerdown time the backdrop is still in the DOM, so\n // portalTracker.containsElement correctly identifies it.\n useEffect(() => {\n const handleClickOutside = (event: PointerEvent) => {\n const target = event.target as Node;\n if (\n tableContainerRef.current &&\n !tableContainerRef.current.contains(target) &&\n !portalTracker?.containsElement(target)\n ) {\n setFocusedRowId(null);\n }\n };\n\n document.addEventListener(\"pointerdown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"pointerdown\", handleClickOutside);\n };\n }, [portalTracker, setFocusedRowId]);\n\n return (\n <PortalContainerProvider container={objectTablePortalRef}>\n <div\n ref={objectTablePortalRef}\n className={classNames(styles.osdkTableWrapper, className)}\n >\n <div\n ref={tableContainerRef}\n className={styles.osdkTableContainer}\n onScroll={handleScroll}\n >\n <table>\n {isLoading && !hasData ? (\n <LoadingStateTable\n table={table}\n headerGroups={headerGroups}\n rowHeight={rowHeight}\n tableContainerRef={tableContainerRef}\n />\n ) : (\n <>\n <TableHeader\n table={table}\n headerMenuFeatureFlags={headerMenuFeatureFlags}\n onColumnHeaderClick={onColumnHeaderClick}\n />\n <TableBody\n rows={rows}\n tableContainerRef={tableContainerRef}\n onRowClick={onRowClick}\n rowHeight={rowHeight}\n renderCellContextMenu={renderCellContextMenu}\n isLoadingMore={isLoadingMore}\n headerGroups={headerGroups}\n focusedRowId={focusedRowId}\n setFocusedRowId={setFocusedRowId}\n isInEditMode={editableConfig?.editModeState.isActive}\n getRowAttributes={getRowAttributes}\n />\n </>\n )}\n </table>\n {!hasData &&\n error == null &&\n (renderEmptyState != null ? (\n renderEmptyState()\n ) : (\n <NonIdealState message={\"No Data\"} />\n ))}\n {error != null && (\n <NonIdealState message={`Error Loading Data: ${error.message}`} />\n )}\n </div>\n {showEditFooter && hasEditableColumns && editableConfig && (\n <TableEditContainer\n editableConfig={editableConfig}\n hasFocusedRow={focusedRowId != null}\n />\n )}\n </div>\n </PortalContainerProvider>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Table.js","names":["classNames","React","useCallback","useEffect","useRef","useState","PortalContainerProvider","useFocusedRow","LoadingStateTable","NonIdealState","TableBody","TableEditContainer","TableHeader","SCROLL_FETCH_THRESHOLD","isColumnDeclaredEditable","PortalTrackerProvider","usePortalTracker","styles","BaseTable","props","createElement","BaseTableInner","table","isLoading","fetchNextPage","onRowClick","onColumnHeaderClick","rowHeight","renderCellContextMenu","className","error","headerMenuFeatureFlags","editableConfig","getRowAttributes","showEditFooter","renderEmptyState","focusedRowId","focusedRowIdProp","onFocusedRowChanged","tableContainerRef","objectTablePortalRef","isLoadingMore","setIsLoadingMore","getRowById","id","getRow","original","setFocusedRowId","portalTracker","options","meta","fetchingRef","fetchMoreOnEndReached","containerRefElement","current","scrollHeight","scrollTop","clientHeight","handleScroll","e","currentTarget","rows","getRowModel","headerGroups","getHeaderGroups","hasData","length","hasEditableColumns","getAllColumns","some","column","columnDef","editable","handleClickOutside","event","target","contains","containsElement","document","addEventListener","removeEventListener","container","ref","osdkTableWrapper","osdkTableContainer","onScroll","Fragment","isInEditMode","editModeState","isActive","message","hasFocusedRow"],"sources":["Table.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Cell, RowData, Table } from \"@tanstack/react-table\";\nimport classNames from \"classnames\";\nimport React, {\n type ReactElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport { PortalContainerProvider } from \"../shared/PortalContainerContext.js\";\nimport { useFocusedRow } from \"./hooks/useFocusedRow.js\";\nimport { LoadingStateTable } from \"./LoadingStateTable.js\";\nimport { NonIdealState } from \"./NonIdealState.js\";\nimport { TableBody } from \"./TableBody.js\";\nimport { TableEditContainer } from \"./TableEditContainer.js\";\nimport { TableHeader } from \"./TableHeader.js\";\nimport type { HeaderMenuFeatureFlags } from \"./TableHeaderWithPopover.js\";\nimport { SCROLL_FETCH_THRESHOLD } from \"./utils/constants.js\";\nimport { isColumnDeclaredEditable } from \"./utils/editableUtils.js\";\nimport {\n PortalTrackerProvider,\n usePortalTracker,\n} from \"./utils/PortalTracker.js\";\nimport type {\n CellEditInfo,\n EditableConfig,\n EditFieldConfig,\n} from \"./utils/types.js\";\n\nimport styles from \"./Table.module.css\";\n\ndeclare module \"@tanstack/react-table\" {\n interface ColumnMeta<TData extends RowData = unknown, TValue = unknown> {\n columnName?: string;\n isAsyncColumn?: boolean;\n isVisible?: boolean;\n editable?: boolean | ((object: TData) => boolean);\n dataType?: string;\n /**\n * For columns backed by a `\"marking\"` property, the marking subtype as\n * surfaced by the platform: `\"CBAC\"` for classification-based access\n * control or `\"MANDATORY\"` for mandatory markings. Absent for\n * non-marking columns and for marking columns whose subtype isn't\n * exposed.\n */\n markingType?: \"CBAC\" | \"MANDATORY\";\n editFieldConfig?: EditFieldConfig<TData>;\n validateEdit?: (value: unknown) => Promise<string | undefined>;\n }\n interface TableMeta<TData extends RowData = unknown> {\n onCellEdit?: (cellId: string, info: CellEditInfo<TData, unknown>) => void;\n onCellValidationError?: (cellId: string, error: string) => void;\n clearCellValidationError?: (cellId: string) => void;\n cellEdits?: Record<string, CellEditInfo<TData, unknown>>;\n isInEditMode?: boolean;\n validationErrors?: Map<string, string>;\n focusedRowId?: string | null;\n }\n}\n\nexport interface BaseTableProps<TData extends RowData> {\n /**\n * The TanStack React Table instance backing the table. Build it with\n * `useReactTable` (see the `useColumnDefs` / `useObjectTableData` hooks for\n * the pieces `ObjectTable` itself feeds in).\n */\n table: Table<TData>;\n\n /**\n * Whether a fetch is in flight. While loading with no rows yet, a skeleton\n * table is rendered in place of the header and body; while loading with rows\n * already present, an extra skeleton row is appended and further\n * `fetchNextPage` calls are suppressed.\n */\n isLoading?: boolean;\n\n /**\n * Loads the next page of rows. Called when the user scrolls near the bottom\n * of the table. Omit it to disable infinite scrolling.\n */\n fetchNextPage?: () => Promise<void>;\n\n /**\n * Called when a row is clicked.\n *\n * @param row The row data of the clicked row\n */\n onRowClick?: (row: TData) => void;\n\n /**\n * Called when a column header is clicked.\n *\n * The dropdown menu trigger is excluded — clicking the chevron opens the\n * header menu instead of firing this callback.\n *\n * @param columnId The id of the clicked column\n */\n onColumnHeaderClick?: (columnId: string) => void;\n\n /**\n * The height of each row in pixels. Also drives row virtualization, so an\n * accurate value keeps scrolling smooth.\n *\n * @default 40\n */\n rowHeight?: number;\n\n /**\n * If provided, will render this context menu when right clicking on a cell\n */\n renderCellContextMenu?: (\n row: TData,\n cell: Cell<TData, unknown>,\n ) => React.ReactNode;\n\n /**\n * Toggles which items appear in the column header menu (sorting, pinning,\n * resizing, and so on). Every flag defaults to shown. See\n * {@link HeaderMenuFeatureFlags}.\n */\n headerMenuFeatureFlags?: HeaderMenuFeatureFlags;\n\n /**\n * Wiring for inline cell editing — pending edits, edit-mode state, and the\n * submit/clear/validation callbacks. Omit it to render a read-only table.\n * `useEditableTable` produces this shape. See {@link EditableConfig}.\n */\n editableConfig?: EditableConfig<TData, unknown>;\n\n /**\n * Whether to render the bottom edit footer. Defaults to `true`; the\n * footer is only rendered when the table has at least one editable\n * column (`hasEditableColumns`).\n */\n showEditFooter?: boolean;\n\n /**\n * The row ID of the row to render as visually focused. When provided, focus state is controlled by the caller.\n */\n focusedRowId?: string | null;\n\n /**\n * Fires whenever the focused row changes, in both controlled and\n * uncontrolled modes.\n */\n onFocusedRowChanged?: (row: TData | null) => void;\n\n /**\n * Render override for the empty state. Called when the table has no\n * rows and no error. When omitted, a default \"No Data\" indicator is\n * rendered.\n */\n renderEmptyState?: () => React.ReactNode;\n\n /**\n * A fetch error to surface. When set, an error message is rendered in place\n * of the empty state.\n */\n error?: Error;\n\n /**\n * Returns extra HTML attributes (typically `data-*`) to apply to each\n * row element. Use this to drive conditional row styling\n */\n getRowAttributes?: (object: TData) => Record<string, string | undefined>;\n\n /**\n * Class name applied to the table's outermost wrapper element.\n */\n className?: string;\n}\n\nexport function BaseTable<TData extends RowData>(\n props: BaseTableProps<TData>,\n): ReactElement {\n return (\n <PortalTrackerProvider>\n <BaseTableInner {...props} />\n </PortalTrackerProvider>\n );\n}\n\nfunction BaseTableInner<TData extends RowData>({\n table,\n isLoading,\n fetchNextPage,\n onRowClick,\n onColumnHeaderClick,\n rowHeight,\n renderCellContextMenu,\n className,\n error,\n headerMenuFeatureFlags,\n editableConfig,\n getRowAttributes,\n showEditFooter = true,\n renderEmptyState,\n focusedRowId: focusedRowIdProp,\n onFocusedRowChanged,\n}: BaseTableProps<TData>): ReactElement {\n const tableContainerRef = useRef<HTMLDivElement>(null);\n const objectTablePortalRef = useRef<HTMLDivElement>(null);\n const [isLoadingMore, setIsLoadingMore] = useState(false);\n\n const getRowById = useCallback(\n (id: string) => {\n try {\n return table.getRow(id, true)?.original ?? null;\n } catch {\n // table.getRow throws when the id no longer matches a row\n // (e.g. the row was removed or has not loaded yet). Treat a\n // missing row as \"no focus\" rather than crashing.\n return null;\n }\n },\n [table],\n );\n\n const { focusedRowId, setFocusedRowId } = useFocusedRow<TData>({\n focusedRowId: focusedRowIdProp,\n onFocusedRowChanged,\n getRowById,\n });\n const portalTracker = usePortalTracker();\n\n // Sync focusedRowId into table meta so cell renderers (which only\n // receive `table`) can read it without extra prop drilling.\n // Assigned synchronously so children see the current value in the\n // same render pass. This is safe because meta is a mutable bag that\n // TanStack Table never snapshots or shallow-compares.\n if (table.options.meta) {\n table.options.meta.focusedRowId = focusedRowId;\n }\n\n // Using a ref to prevent duplicate fetches from rapid scroll events while a fetch is in-flight\n const fetchingRef = useRef(false);\n\n useEffect(() => {\n if (!isLoading || fetchNextPage == null) {\n setIsLoadingMore(false);\n }\n }, [isLoading, fetchNextPage]);\n\n const fetchMoreOnEndReached = useCallback(\n async (containerRefElement?: HTMLDivElement | null) => {\n if (containerRefElement && !fetchingRef.current && !isLoadingMore) {\n const { scrollHeight, scrollTop, clientHeight } = containerRefElement;\n if (\n scrollHeight - scrollTop - clientHeight < SCROLL_FETCH_THRESHOLD &&\n !isLoading &&\n fetchNextPage != null\n ) {\n fetchingRef.current = true;\n setIsLoadingMore(true);\n try {\n await fetchNextPage();\n } finally {\n fetchingRef.current = false;\n }\n }\n }\n },\n [fetchNextPage, isLoading, isLoadingMore],\n );\n\n const handleScroll = useCallback(\n async (e: React.UIEvent<HTMLDivElement>) => {\n await fetchMoreOnEndReached(e.currentTarget);\n },\n [fetchMoreOnEndReached],\n );\n\n const rows = table.getRowModel().rows;\n const headerGroups = table.getHeaderGroups();\n const hasData = rows.length > 0;\n\n const hasEditableColumns = table\n .getAllColumns()\n .some((column) =>\n isColumnDeclaredEditable(column.columnDef.meta?.editable),\n );\n\n // Use pointerdown instead of click to detect outside interactions.\n // base-ui's Select renders a full-screen backdrop that intercepts\n // pointerdown to close the popup. By the time the click event fires,\n // the backdrop is unmounted and event.target falls through to <body>,\n // which would incorrectly trigger the outside-click handler.\n // At pointerdown time the backdrop is still in the DOM, so\n // portalTracker.containsElement correctly identifies it.\n useEffect(() => {\n const handleClickOutside = (event: PointerEvent) => {\n const target = event.target as Node;\n if (\n tableContainerRef.current &&\n !tableContainerRef.current.contains(target) &&\n !portalTracker?.containsElement(target)\n ) {\n setFocusedRowId(null);\n }\n };\n\n document.addEventListener(\"pointerdown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"pointerdown\", handleClickOutside);\n };\n }, [portalTracker, setFocusedRowId]);\n\n return (\n <PortalContainerProvider container={objectTablePortalRef}>\n <div\n ref={objectTablePortalRef}\n className={classNames(styles.osdkTableWrapper, className)}\n >\n <div\n ref={tableContainerRef}\n className={styles.osdkTableContainer}\n onScroll={handleScroll}\n >\n <table>\n {isLoading && !hasData ? (\n <LoadingStateTable\n table={table}\n headerGroups={headerGroups}\n rowHeight={rowHeight}\n tableContainerRef={tableContainerRef}\n />\n ) : (\n <>\n <TableHeader\n table={table}\n headerMenuFeatureFlags={headerMenuFeatureFlags}\n onColumnHeaderClick={onColumnHeaderClick}\n />\n <TableBody\n rows={rows}\n tableContainerRef={tableContainerRef}\n onRowClick={onRowClick}\n rowHeight={rowHeight}\n renderCellContextMenu={renderCellContextMenu}\n isLoadingMore={isLoadingMore}\n headerGroups={headerGroups}\n focusedRowId={focusedRowId}\n setFocusedRowId={setFocusedRowId}\n isInEditMode={editableConfig?.editModeState.isActive}\n getRowAttributes={getRowAttributes}\n />\n </>\n )}\n </table>\n {!hasData &&\n !isLoading &&\n error == null &&\n (renderEmptyState != null ? (\n renderEmptyState()\n ) : (\n <NonIdealState message={\"No Data\"} />\n ))}\n {error != null && (\n <NonIdealState message={`Error Loading Data: ${error.message}`} />\n )}\n </div>\n {showEditFooter && hasEditableColumns && editableConfig && (\n <TableEditContainer\n editableConfig={editableConfig}\n hasFocusedRow={focusedRowId != null}\n />\n )}\n </div>\n </PortalContainerProvider>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
const PACKAGE_USER_AGENT = `osdk-react-components/${"0.61.
|
|
17
|
+
const PACKAGE_USER_AGENT = `osdk-react-components/${"0.61.1-main-cb903afe8d2c85db2c36af0c2d0bd8605ba808fe"}`;
|
|
18
18
|
export function componentUserAgent(componentName) {
|
|
19
19
|
return `${PACKAGE_USER_AGENT}/${componentName}`;
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserAgent.js","names":["PACKAGE_USER_AGENT","componentUserAgent","componentName"],"sources":["UserAgent.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst PACKAGE_USER_AGENT = `osdk-react-components/${process.env.PACKAGE_VERSION}`;\n\nexport function componentUserAgent(componentName: string): string {\n return `${PACKAGE_USER_AGENT}/${componentName}`;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"UserAgent.js","names":["PACKAGE_USER_AGENT","componentUserAgent","componentName"],"sources":["UserAgent.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst PACKAGE_USER_AGENT = `osdk-react-components/${process.env.PACKAGE_VERSION}`;\n\nexport function componentUserAgent(componentName: string): string {\n return `${PACKAGE_USER_AGENT}/${componentName}`;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,kBAAkB,GAAG,iFAAsD;AAEjF,OAAO,SAASC,kBAAkBA,CAACC,aAAqB,EAAU;EAChE,OAAO,GAAGF,kBAAkB,IAAIE,aAAa,EAAE;AACjD","ignoreList":[]}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk56W3THMZ_cjs = require('./chunk-56W3THMZ.cjs');
|
|
4
4
|
var chunkKFV264XS_cjs = require('./chunk-KFV264XS.cjs');
|
|
5
5
|
|
|
6
6
|
// src/public/experimental/markdown-renderer.ts
|
|
7
7
|
var BaseMarkdownViewer2 = chunkKFV264XS_cjs.BaseMarkdownViewer;
|
|
8
|
-
var MarkdownViewer2 =
|
|
8
|
+
var MarkdownViewer2 = chunk56W3THMZ_cjs.MarkdownViewer;
|
|
9
9
|
var MarkdownRenderer = chunkKFV264XS_cjs.BaseMarkdownViewer;
|
|
10
|
-
var MarkdownViewerMedia =
|
|
10
|
+
var MarkdownViewerMedia = chunk56W3THMZ_cjs.MarkdownViewer;
|
|
11
11
|
|
|
12
12
|
exports.BaseMarkdownViewer = BaseMarkdownViewer2;
|
|
13
13
|
exports.MarkdownRenderer = MarkdownRenderer;
|
|
14
14
|
exports.MarkdownViewer = MarkdownViewer2;
|
|
15
15
|
exports.MarkdownViewerMedia = MarkdownViewerMedia;
|
|
16
|
-
//# sourceMappingURL=chunk-
|
|
17
|
-
//# sourceMappingURL=chunk-
|
|
16
|
+
//# sourceMappingURL=chunk-37AY5JER.cjs.map
|
|
17
|
+
//# sourceMappingURL=chunk-37AY5JER.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/public/experimental/markdown-renderer.ts"],"names":["BaseMarkdownViewer","MarkdownViewer"],"mappings":";;;;;;AAmBO,IAAMA,mBAAAA,GAA4BA;AAOlC,IAAMC,eAAAA,GAAwBA;AAG9B,IAAM,gBAAA,GAA0BD;AAKhC,IAAM,mBAAA,GAA6BC","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../../src/public/experimental/markdown-renderer.ts"],"names":["BaseMarkdownViewer","MarkdownViewer"],"mappings":";;;;;;AAmBO,IAAMA,mBAAAA,GAA4BA;AAOlC,IAAMC,eAAAA,GAAwBA;AAG9B,IAAM,gBAAA,GAA0BD;AAKhC,IAAM,mBAAA,GAA6BC","file":"chunk-37AY5JER.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\nimport * as Stable from \"../markdown-viewer.js\";\n\n/** @deprecated Import from `@osdk/react-components/markdown-viewer` instead. */\nexport const BaseMarkdownViewer = Stable.BaseMarkdownViewer;\n\n/** @deprecated Import from `@osdk/react-components/markdown-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/markdown-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/markdown-viewer` instead. */\nexport const MarkdownViewer = Stable.MarkdownViewer;\n\n/** @deprecated Use `BaseMarkdownViewer` instead. */\nexport const MarkdownRenderer = Stable.BaseMarkdownViewer;\n\n/** @deprecated Use `BaseMarkdownViewerProps` instead. */\n\n/** @deprecated Use `MarkdownViewer` instead. */\nexport const MarkdownViewerMedia = Stable.MarkdownViewer;"]}
|
|
@@ -9,7 +9,7 @@ var chunkPA7IYPBX_cjs = require('./chunk-PA7IYPBX.cjs');
|
|
|
9
9
|
var chunkUCTQICPR_cjs = require('./chunk-UCTQICPR.cjs');
|
|
10
10
|
var chunkVOROB7KJ_cjs = require('./chunk-VOROB7KJ.cjs');
|
|
11
11
|
var chunkKFV264XS_cjs = require('./chunk-KFV264XS.cjs');
|
|
12
|
-
var
|
|
12
|
+
var chunkC3MJP7G2_cjs = require('./chunk-C3MJP7G2.cjs');
|
|
13
13
|
var icons = require('@blueprintjs/icons');
|
|
14
14
|
var classnames = require('classnames');
|
|
15
15
|
var React2 = require('react');
|
|
@@ -307,9 +307,9 @@ function DocumentViewer({
|
|
|
307
307
|
}
|
|
308
308
|
|
|
309
309
|
// src/public/document-viewer.ts
|
|
310
|
-
var DocumentViewer2 =
|
|
310
|
+
var DocumentViewer2 = chunkC3MJP7G2_cjs.withOsdkMetrics(DocumentViewer, "DocumentViewer");
|
|
311
311
|
|
|
312
312
|
exports.DocumentViewer = DocumentViewer2;
|
|
313
313
|
exports.ViewerType = ViewerType;
|
|
314
|
-
//# sourceMappingURL=chunk-
|
|
315
|
-
//# sourceMappingURL=chunk-
|
|
314
|
+
//# sourceMappingURL=chunk-3MQXIA4N.cjs.map
|
|
315
|
+
//# sourceMappingURL=chunk-3MQXIA4N.cjs.map
|
|
@@ -1 +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/document-viewer.ts"],"names":["ViewerType","useOsdkClient","useState","useRef","useEffect","UTIF","transformAndWait","React","Spin","BasePdfViewer","TiffViewer","_extends","useMemo","classnames","PdfViewer","ImageViewer","VideoViewer","MarkdownViewer","SpreadsheetViewer","EmailViewer","XmlViewer","DocumentIcon","assertUnreachable","DocumentViewer","withOsdkMetrics"],"mappings":"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","file":"chunk-NUK5FOSF.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 { 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 TiffViewer 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 TiffViewer\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 pdfResponse = await client(transformAndWait).transformAndWait({\n media: currentMedia,\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 { TiffViewer } from \"../images/tiff-viewer/TiffViewer.js\";\nimport { BasePdfViewer } from \"../pdf-viewer/BasePdfViewer.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 tiffViewerProps,\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(TiffViewer, _extends({\n media: media,\n className: className\n }, tiffViewerProps));\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 { TiffViewer } from \"../images/tiff-viewer/TiffViewer.js\";\nimport { MarkdownViewer } from \"../markdown-viewer/MarkdownViewer.js\";\nimport { PdfViewer } from \"../pdf-viewer/PdfViewer.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 tiffViewerProps,\n tiffRendererProps,\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\n // `tiffRendererProps` is the deprecated name for `tiffViewerProps`. Coalescing\n // (rather than merging) keeps the alias behaving exactly like its replacement\n // and avoids creating a new object identity on every render.\n const resolvedTiffViewerProps = tiffViewerProps ?? tiffRendererProps;\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 tiffViewerProps: resolvedTiffViewerProps,\n pdfViewerProps: pdfViewerProps\n });\n }\n return /*#__PURE__*/React.createElement(TiffViewer, _extends({\n media: media,\n className: rootClassName\n }, resolvedTiffViewerProps));\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(MarkdownViewer, {\n media: media,\n className: rootClassName\n });\n case ViewerType.Spreadsheet:\n return /*#__PURE__*/React.createElement(SpreadsheetViewer, {\n media: media,\n className: rootClassName\n });\n case ViewerType.Email:\n return /*#__PURE__*/React.createElement(EmailViewer, {\n media: media,\n className: rootClassName\n });\n case ViewerType.Xml:\n return /*#__PURE__*/React.createElement(XmlViewer, {\n media: media,\n className: rootClassName\n });\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\";"]}
|
|
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/document-viewer.ts"],"names":["ViewerType","useOsdkClient","useState","useRef","useEffect","UTIF","transformAndWait","React","Spin","BasePdfViewer","TiffViewer","_extends","useMemo","classnames","PdfViewer","ImageViewer","VideoViewer","MarkdownViewer","SpreadsheetViewer","EmailViewer","XmlViewer","DocumentIcon","assertUnreachable","DocumentViewer","withOsdkMetrics"],"mappings":"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","file":"chunk-3MQXIA4N.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 { 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 TiffViewer 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 TiffViewer\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 pdfResponse = await client(transformAndWait).transformAndWait({\n media: currentMedia,\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 { TiffViewer } from \"../images/tiff-viewer/TiffViewer.js\";\nimport { BasePdfViewer } from \"../pdf-viewer/BasePdfViewer.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 tiffViewerProps,\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(TiffViewer, _extends({\n media: media,\n className: className\n }, tiffViewerProps));\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 { TiffViewer } from \"../images/tiff-viewer/TiffViewer.js\";\nimport { MarkdownViewer } from \"../markdown-viewer/MarkdownViewer.js\";\nimport { PdfViewer } from \"../pdf-viewer/PdfViewer.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 tiffViewerProps,\n tiffRendererProps,\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\n // `tiffRendererProps` is the deprecated name for `tiffViewerProps`. Coalescing\n // (rather than merging) keeps the alias behaving exactly like its replacement\n // and avoids creating a new object identity on every render.\n const resolvedTiffViewerProps = tiffViewerProps ?? tiffRendererProps;\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 tiffViewerProps: resolvedTiffViewerProps,\n pdfViewerProps: pdfViewerProps\n });\n }\n return /*#__PURE__*/React.createElement(TiffViewer, _extends({\n media: media,\n className: rootClassName\n }, resolvedTiffViewerProps));\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(MarkdownViewer, {\n media: media,\n className: rootClassName\n });\n case ViewerType.Spreadsheet:\n return /*#__PURE__*/React.createElement(SpreadsheetViewer, {\n media: media,\n className: rootClassName\n });\n case ViewerType.Email:\n return /*#__PURE__*/React.createElement(EmailViewer, {\n media: media,\n className: rootClassName\n });\n case ViewerType.Xml:\n return /*#__PURE__*/React.createElement(XmlViewer, {\n media: media,\n className: rootClassName\n });\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\";"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkKFV264XS_cjs = require('./chunk-KFV264XS.cjs');
|
|
4
|
+
var chunkC3MJP7G2_cjs = require('./chunk-C3MJP7G2.cjs');
|
|
5
|
+
|
|
6
|
+
// src/public/markdown-viewer.ts
|
|
7
|
+
var MarkdownViewer2 = chunkC3MJP7G2_cjs.withOsdkMetrics(chunkKFV264XS_cjs.MarkdownViewer, "MarkdownViewer");
|
|
8
|
+
|
|
9
|
+
exports.MarkdownViewer = MarkdownViewer2;
|
|
10
|
+
//# sourceMappingURL=chunk-56W3THMZ.cjs.map
|
|
11
|
+
//# sourceMappingURL=chunk-56W3THMZ.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/public/markdown-viewer.ts"],"names":["MarkdownViewer","withOsdkMetrics"],"mappings":";;;;;;AAsBO,IAAMA,eAAAA,GAAiBC,iCAAA,CAAgBD,gCAAA,EAAiB,gBAAgB","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../../src/public/markdown-viewer.ts"],"names":["MarkdownViewer","withOsdkMetrics"],"mappings":";;;;;;AAsBO,IAAMA,eAAAA,GAAiBC,iCAAA,CAAgBD,gCAAA,EAAiB,gBAAgB","file":"chunk-56W3THMZ.cjs","sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { MarkdownViewer as _MarkdownViewer } from \"../markdown-viewer/MarkdownViewer.js\";\nimport { withOsdkMetrics } from \"../util/withOsdkMetrics.js\";\n\n// BaseMarkdownViewer\nexport { BaseMarkdownViewer } from \"../markdown-viewer/BaseMarkdownViewer.js\";\n// MarkdownViewer (Media wrapper)\nexport const MarkdownViewer = withOsdkMetrics(_MarkdownViewer, \"MarkdownViewer\");"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk3MQXIA4N_cjs = require('./chunk-3MQXIA4N.cjs');
|
|
4
|
+
|
|
5
|
+
// src/public/experimental/document-viewer.ts
|
|
6
|
+
var DocumentViewer2 = chunk3MQXIA4N_cjs.DocumentViewer;
|
|
7
|
+
var ViewerType2 = chunk3MQXIA4N_cjs.ViewerType;
|
|
8
|
+
|
|
9
|
+
exports.DocumentViewer = DocumentViewer2;
|
|
10
|
+
exports.ViewerType = ViewerType2;
|
|
11
|
+
//# sourceMappingURL=chunk-5766NPOV.cjs.map
|
|
12
|
+
//# sourceMappingURL=chunk-5766NPOV.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/public/experimental/document-viewer.ts"],"names":["DocumentViewer","ViewerType"],"mappings":";;;;;AAmBO,IAAMA,eAAAA,GAAwBA;AAK9B,IAAMC,WAAAA,GAAoBA","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../../src/public/experimental/document-viewer.ts"],"names":["DocumentViewer","ViewerType"],"mappings":";;;;;AAmBO,IAAMA,eAAAA,GAAwBA;AAK9B,IAAMC,WAAAA,GAAoBA","file":"chunk-5766NPOV.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\nimport * as Stable from \"../document-viewer.js\";\n\n/** @deprecated Import from `@osdk/react-components/document-viewer` instead. */\nexport const DocumentViewer = Stable.DocumentViewer;\n\n/** @deprecated Import from `@osdk/react-components/document-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/document-viewer` instead. */\nexport const ViewerType = Stable.ViewerType;\n\n/** @deprecated Import from `@osdk/react-components/document-viewer` instead. */"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkKHMOMROL_cjs = require('./chunk-KHMOMROL.cjs');
|
|
4
|
+
var chunkC3MJP7G2_cjs = require('./chunk-C3MJP7G2.cjs');
|
|
5
|
+
|
|
6
|
+
// src/public/video-viewer.ts
|
|
7
|
+
var VideoViewer2 = chunkC3MJP7G2_cjs.withOsdkMetrics(chunkKHMOMROL_cjs.VideoViewer, "VideoViewer");
|
|
8
|
+
|
|
9
|
+
exports.VideoViewer = VideoViewer2;
|
|
10
|
+
//# sourceMappingURL=chunk-62R6FPCN.cjs.map
|
|
11
|
+
//# sourceMappingURL=chunk-62R6FPCN.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/public/video-viewer.ts"],"names":["VideoViewer","withOsdkMetrics"],"mappings":";;;;;;AAqBO,IAAMA,YAAAA,GAAcC,iCAAA,CAAgBD,6BAAA,EAAc,aAAa","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../../src/public/video-viewer.ts"],"names":["VideoViewer","withOsdkMetrics"],"mappings":";;;;;;AAqBO,IAAMA,YAAAA,GAAcC,iCAAA,CAAgBD,6BAAA,EAAc,aAAa","file":"chunk-62R6FPCN.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\n// BaseVideoViewer\nexport { BaseVideoViewer } from \"../video-viewer/BaseVideoViewer.js\";\n// VideoViewer (Media wrapper)\nimport { withOsdkMetrics } from \"../util/withOsdkMetrics.js\";\nimport { VideoViewer as _VideoViewer } from \"../video-viewer/VideoViewer.js\";\nexport const VideoViewer = withOsdkMetrics(_VideoViewer, \"VideoViewer\");"]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkMECBYTRO_cjs = require('./chunk-MECBYTRO.cjs');
|
|
4
4
|
var chunkRVZE7LPI_cjs = require('./chunk-RVZE7LPI.cjs');
|
|
5
5
|
|
|
6
6
|
// src/public/experimental/xml-viewer.ts
|
|
7
7
|
var BaseXmlViewer2 = chunkRVZE7LPI_cjs.BaseXmlViewer;
|
|
8
|
-
var XmlViewer2 =
|
|
8
|
+
var XmlViewer2 = chunkMECBYTRO_cjs.XmlViewer;
|
|
9
9
|
|
|
10
10
|
exports.BaseXmlViewer = BaseXmlViewer2;
|
|
11
11
|
exports.XmlViewer = XmlViewer2;
|
|
12
|
-
//# sourceMappingURL=chunk-
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
12
|
+
//# sourceMappingURL=chunk-6GBISSP2.cjs.map
|
|
13
|
+
//# sourceMappingURL=chunk-6GBISSP2.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/public/experimental/xml-viewer.ts"],"names":["BaseXmlViewer","XmlViewer"],"mappings":";;;;;;AAmBO,IAAMA,cAAAA,GAAuBA;AAO7B,IAAMC,UAAAA,GAAmBA","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../../src/public/experimental/xml-viewer.ts"],"names":["BaseXmlViewer","XmlViewer"],"mappings":";;;;;;AAmBO,IAAMA,cAAAA,GAAuBA;AAO7B,IAAMC,UAAAA,GAAmBA","file":"chunk-6GBISSP2.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\nimport * as Stable from \"../xml-viewer.js\";\n\n/** @deprecated Import from `@osdk/react-components/xml-viewer` instead. */\nexport const BaseXmlViewer = Stable.BaseXmlViewer;\n\n/** @deprecated Import from `@osdk/react-components/xml-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/xml-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/xml-viewer` instead. */\nexport const XmlViewer = Stable.XmlViewer;"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkPA7IYPBX_cjs = require('./chunk-PA7IYPBX.cjs');
|
|
4
|
+
var chunkC3MJP7G2_cjs = require('./chunk-C3MJP7G2.cjs');
|
|
5
|
+
|
|
6
|
+
// src/public/email-viewer.ts
|
|
7
|
+
var EmailViewer2 = chunkC3MJP7G2_cjs.withOsdkMetrics(chunkPA7IYPBX_cjs.EmailViewer, "EmailViewer");
|
|
8
|
+
|
|
9
|
+
exports.EmailViewer = EmailViewer2;
|
|
10
|
+
//# sourceMappingURL=chunk-6V2DNZY7.cjs.map
|
|
11
|
+
//# sourceMappingURL=chunk-6V2DNZY7.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/public/email-viewer.ts"],"names":["EmailViewer","withOsdkMetrics"],"mappings":";;;;;;AAqBO,IAAMA,YAAAA,GAAcC,iCAAA,CAAgBD,6BAAA,EAAc,aAAa","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../../src/public/email-viewer.ts"],"names":["EmailViewer","withOsdkMetrics"],"mappings":";;;;;;AAqBO,IAAMA,YAAAA,GAAcC,iCAAA,CAAgBD,6BAAA,EAAc,aAAa","file":"chunk-6V2DNZY7.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\n// BaseEmailViewer\nexport { BaseEmailViewer } from \"../email-viewer/BaseEmailViewer.js\";\n// EmailViewer (Media wrapper)\nimport { EmailViewer as _EmailViewer } from \"../email-viewer/EmailViewer.js\";\nimport { withOsdkMetrics } from \"../util/withOsdkMetrics.js\";\nexport const EmailViewer = withOsdkMetrics(_EmailViewer, \"EmailViewer\");"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkF5RWMLTV_cjs = require('./chunk-F5RWMLTV.cjs');
|
|
4
4
|
var chunk4KHF42ZL_cjs = require('./chunk-4KHF42ZL.cjs');
|
|
5
5
|
|
|
6
6
|
// src/public/experimental/pdf-viewer.ts
|
|
7
7
|
var BasePdfViewer2 = chunk4KHF42ZL_cjs.BasePdfViewer;
|
|
8
8
|
var PdfViewerAnnotationLayer2 = chunk4KHF42ZL_cjs.PdfViewerAnnotationLayer;
|
|
9
|
-
var PdfViewerContent2 =
|
|
9
|
+
var PdfViewerContent2 = chunkF5RWMLTV_cjs.PdfViewerContent;
|
|
10
10
|
var PdfViewerOutlineSidebar2 = chunk4KHF42ZL_cjs.PdfViewerOutlineSidebar;
|
|
11
11
|
var PdfViewerSearchBar2 = chunk4KHF42ZL_cjs.PdfViewerSearchBar;
|
|
12
12
|
var PdfViewerSidebar2 = chunk4KHF42ZL_cjs.PdfViewerSidebar;
|
|
@@ -20,12 +20,12 @@ var usePdfOutline2 = chunk4KHF42ZL_cjs.usePdfOutline;
|
|
|
20
20
|
var usePdfViewer2 = chunk4KHF42ZL_cjs.usePdfViewer;
|
|
21
21
|
var usePdfViewerSearch2 = chunk4KHF42ZL_cjs.usePdfViewerSearch;
|
|
22
22
|
var usePdfViewerSync2 = chunk4KHF42ZL_cjs.usePdfViewerSync;
|
|
23
|
-
var PdfViewerProvider2 =
|
|
24
|
-
var usePdfViewerContext2 =
|
|
25
|
-
var usePdfViewerInstance2 =
|
|
23
|
+
var PdfViewerProvider2 = chunkF5RWMLTV_cjs.PdfViewerProvider;
|
|
24
|
+
var usePdfViewerContext2 = chunkF5RWMLTV_cjs.usePdfViewerContext;
|
|
25
|
+
var usePdfViewerInstance2 = chunkF5RWMLTV_cjs.usePdfViewerInstance;
|
|
26
26
|
var usePdfViewerCore2 = chunk4KHF42ZL_cjs.usePdfViewerCore;
|
|
27
27
|
var usePdfViewerState2 = chunk4KHF42ZL_cjs.usePdfViewerState;
|
|
28
|
-
var PdfViewer2 =
|
|
28
|
+
var PdfViewer2 = chunkF5RWMLTV_cjs.PdfViewer;
|
|
29
29
|
|
|
30
30
|
exports.BasePdfViewer = BasePdfViewer2;
|
|
31
31
|
exports.PdfViewer = PdfViewer2;
|
|
@@ -49,5 +49,5 @@ exports.usePdfViewerInstance = usePdfViewerInstance2;
|
|
|
49
49
|
exports.usePdfViewerSearch = usePdfViewerSearch2;
|
|
50
50
|
exports.usePdfViewerState = usePdfViewerState2;
|
|
51
51
|
exports.usePdfViewerSync = usePdfViewerSync2;
|
|
52
|
-
//# sourceMappingURL=chunk-
|
|
53
|
-
//# sourceMappingURL=chunk-
|
|
52
|
+
//# sourceMappingURL=chunk-74CEPTWM.cjs.map
|
|
53
|
+
//# sourceMappingURL=chunk-74CEPTWM.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/public/experimental/pdf-viewer.ts"],"names":["BasePdfViewer","PdfViewerAnnotationLayer","PdfViewerContent","PdfViewerOutlineSidebar","PdfViewerSearchBar","PdfViewerSidebar","PdfViewerToolbar","usePdfAnnotationPortals","usePdfAnnotationsByPage","usePdfDocument","usePdfFormFields","usePdfHighlightMode","usePdfOutline","usePdfViewer","usePdfViewerSearch","usePdfViewerSync","PdfViewerProvider","usePdfViewerContext","usePdfViewerInstance","usePdfViewerCore","usePdfViewerState","PdfViewer"],"mappings":";;;;;;AAmBO,IAAMA,cAAAA,GAAuBA;AAyB7B,IAAMC,yBAAAA,GAAkCA;AAKxC,IAAMC,iBAAAA,GAA0BA;AAKhC,IAAMC,wBAAAA,GAAiCA;AAKvC,IAAMC,mBAAAA,GAA4BA;AAKlC,IAAMC,iBAAAA,GAA0BA;AAKhC,IAAMC,iBAAAA,GAA0BA;AAOhC,IAAMC,wBAAAA,GAAiCA;AAGvC,IAAMC,wBAAAA,GAAiCA;AAGvC,IAAMC,eAAAA,GAAwBA;AAG9B,IAAMC,iBAAAA,GAA0BA;AAOhC,IAAMC,oBAAAA,GAA6BA;AAOnC,IAAMC,cAAAA,GAAuBA;AAG7B,IAAMC,aAAAA,GAAsBA;AAK5B,IAAMC,mBAAAA,GAA4BA;AAKlC,IAAMC,iBAAAA,GAA0BA;AAWhC,IAAMC,kBAAAA,GAA2BA;AAGjC,IAAMC,oBAAAA,GAA6BA;AAGnC,IAAMC,qBAAAA,GAA8BA;AAGpC,IAAMC,iBAAAA,GAA0BA;AAOhC,IAAMC,kBAAAA,GAA2BA;AAOjC,IAAMC,UAAAA,GAAmBA","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../../src/public/experimental/pdf-viewer.ts"],"names":["BasePdfViewer","PdfViewerAnnotationLayer","PdfViewerContent","PdfViewerOutlineSidebar","PdfViewerSearchBar","PdfViewerSidebar","PdfViewerToolbar","usePdfAnnotationPortals","usePdfAnnotationsByPage","usePdfDocument","usePdfFormFields","usePdfHighlightMode","usePdfOutline","usePdfViewer","usePdfViewerSearch","usePdfViewerSync","PdfViewerProvider","usePdfViewerContext","usePdfViewerInstance","usePdfViewerCore","usePdfViewerState","PdfViewer"],"mappings":";;;;;;AAmBO,IAAMA,cAAAA,GAAuBA;AAyB7B,IAAMC,yBAAAA,GAAkCA;AAKxC,IAAMC,iBAAAA,GAA0BA;AAKhC,IAAMC,wBAAAA,GAAiCA;AAKvC,IAAMC,mBAAAA,GAA4BA;AAKlC,IAAMC,iBAAAA,GAA0BA;AAKhC,IAAMC,iBAAAA,GAA0BA;AAOhC,IAAMC,wBAAAA,GAAiCA;AAGvC,IAAMC,wBAAAA,GAAiCA;AAGvC,IAAMC,eAAAA,GAAwBA;AAG9B,IAAMC,iBAAAA,GAA0BA;AAOhC,IAAMC,oBAAAA,GAA6BA;AAOnC,IAAMC,cAAAA,GAAuBA;AAG7B,IAAMC,aAAAA,GAAsBA;AAK5B,IAAMC,mBAAAA,GAA4BA;AAKlC,IAAMC,iBAAAA,GAA0BA;AAWhC,IAAMC,kBAAAA,GAA2BA;AAGjC,IAAMC,oBAAAA,GAA6BA;AAGnC,IAAMC,qBAAAA,GAA8BA;AAGpC,IAAMC,iBAAAA,GAA0BA;AAOhC,IAAMC,kBAAAA,GAA2BA;AAOjC,IAAMC,UAAAA,GAAmBA","file":"chunk-74CEPTWM.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\nimport * as Stable from \"../pdf-viewer.js\";\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const BasePdfViewer = Stable.BasePdfViewer;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const PdfViewerAnnotationLayer = Stable.PdfViewerAnnotationLayer;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const PdfViewerContent = Stable.PdfViewerContent;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const PdfViewerOutlineSidebar = Stable.PdfViewerOutlineSidebar;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const PdfViewerSearchBar = Stable.PdfViewerSearchBar;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const PdfViewerSidebar = Stable.PdfViewerSidebar;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const PdfViewerToolbar = Stable.PdfViewerToolbar;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const usePdfAnnotationPortals = Stable.usePdfAnnotationPortals;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const usePdfAnnotationsByPage = Stable.usePdfAnnotationsByPage;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const usePdfDocument = Stable.usePdfDocument;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const usePdfFormFields = Stable.usePdfFormFields;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const usePdfHighlightMode = Stable.usePdfHighlightMode;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const usePdfOutline = Stable.usePdfOutline;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const usePdfViewer = Stable.usePdfViewer;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const usePdfViewerSearch = Stable.usePdfViewerSearch;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const usePdfViewerSync = Stable.usePdfViewerSync;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const PdfViewerProvider = Stable.PdfViewerProvider;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const usePdfViewerContext = Stable.usePdfViewerContext;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const usePdfViewerInstance = Stable.usePdfViewerInstance;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const usePdfViewerCore = Stable.usePdfViewerCore;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const usePdfViewerState = Stable.usePdfViewerState;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */\nexport const PdfViewer = Stable.PdfViewer;\n\n/** @deprecated Import from `@osdk/react-components/pdf-viewer` instead. */"]}
|
|
@@ -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
|
|
8
|
+
var chunkC3MJP7G2_cjs = require('./chunk-C3MJP7G2.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 =
|
|
1062
|
+
var CbacPicker2 = chunkC3MJP7G2_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-
|
|
1074
|
-
//# sourceMappingURL=chunk-
|
|
1073
|
+
//# sourceMappingURL=chunk-7LQNKCCZ.cjs.map
|
|
1074
|
+
//# sourceMappingURL=chunk-7LQNKCCZ.cjs.map
|