@osdk/react-components 0.42.0 → 0.42.1-main-5e9775e35f08448943af9d8836b5e051f13f84fa

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/browser/filter-list/base/inputs/ListogramInput.js +16 -10
  3. package/build/browser/filter-list/base/inputs/ListogramInput.js.map +1 -1
  4. package/build/browser/util/UserAgent.js +1 -1
  5. package/build/browser/util/UserAgent.js.map +1 -1
  6. package/build/cjs/{chunk-624IRN3R.cjs → chunk-2WRFKGHE.cjs} +4 -4
  7. package/build/cjs/{chunk-624IRN3R.cjs.map → chunk-2WRFKGHE.cjs.map} +1 -1
  8. package/build/cjs/{chunk-4GV4VKZC.cjs → chunk-BDFSELFY.cjs} +4 -4
  9. package/build/cjs/{chunk-4GV4VKZC.cjs.map → chunk-BDFSELFY.cjs.map} +1 -1
  10. package/build/cjs/{chunk-3KJOYT3V.cjs → chunk-DFHVAXNG.cjs} +4 -4
  11. package/build/cjs/{chunk-3KJOYT3V.cjs.map → chunk-DFHVAXNG.cjs.map} +1 -1
  12. package/build/cjs/{chunk-KN2J2YUI.cjs → chunk-FXY2CMFQ.cjs} +4 -4
  13. package/build/cjs/{chunk-KN2J2YUI.cjs.map → chunk-FXY2CMFQ.cjs.map} +1 -1
  14. package/build/cjs/chunk-H6TMMBW7.cjs +11 -0
  15. package/build/cjs/{chunk-FG2HAGFV.cjs.map → chunk-H6TMMBW7.cjs.map} +1 -1
  16. package/build/cjs/chunk-II6UVJTZ.cjs +11 -0
  17. package/build/cjs/{chunk-LVMML6YM.cjs.map → chunk-II6UVJTZ.cjs.map} +1 -1
  18. package/build/cjs/chunk-NFGQISEH.cjs +11 -0
  19. package/build/cjs/{chunk-INWJQEGM.cjs.map → chunk-NFGQISEH.cjs.map} +1 -1
  20. package/build/cjs/{chunk-LBKU7GZF.cjs → chunk-NTISLBMT.cjs} +4 -4
  21. package/build/cjs/{chunk-LBKU7GZF.cjs.map → chunk-NTISLBMT.cjs.map} +1 -1
  22. package/build/cjs/{chunk-S4RAHNE4.cjs → chunk-NXZF76VV.cjs} +4 -4
  23. package/build/cjs/{chunk-S4RAHNE4.cjs.map → chunk-NXZF76VV.cjs.map} +1 -1
  24. package/build/cjs/{chunk-BS33YD7D.cjs → chunk-PAM5ZN2T.cjs} +3 -3
  25. package/build/cjs/chunk-PAM5ZN2T.cjs.map +1 -0
  26. package/build/cjs/{chunk-2XHTCEJ5.cjs → chunk-TITCDUJW.cjs} +13 -14
  27. package/build/cjs/chunk-TITCDUJW.cjs.map +1 -0
  28. package/build/cjs/chunk-TLWCP4HR.cjs +11 -0
  29. package/build/cjs/{chunk-CSJSSIXY.cjs.map → chunk-TLWCP4HR.cjs.map} +1 -1
  30. package/build/cjs/{chunk-R4FYBJIX.cjs → chunk-TTDMUMBO.cjs} +4 -4
  31. package/build/cjs/{chunk-R4FYBJIX.cjs.map → chunk-TTDMUMBO.cjs.map} +1 -1
  32. package/build/cjs/chunk-YX34GJRC.cjs +11 -0
  33. package/build/cjs/{chunk-EBETL5JH.cjs.map → chunk-YX34GJRC.cjs.map} +1 -1
  34. package/build/cjs/public/experimental/action-form.cjs +4 -4
  35. package/build/cjs/public/experimental/cbac-picker.cjs +11 -11
  36. package/build/cjs/public/experimental/document-viewer.cjs +4 -4
  37. package/build/cjs/public/experimental/email-viewer.cjs +3 -3
  38. package/build/cjs/public/experimental/excel-viewer.cjs +3 -3
  39. package/build/cjs/public/experimental/filter-list.cjs +15 -15
  40. package/build/cjs/public/experimental/image-viewer.cjs +3 -3
  41. package/build/cjs/public/experimental/markdown-renderer.cjs +3 -3
  42. package/build/cjs/public/experimental/object-table.cjs +21 -21
  43. package/build/cjs/public/experimental/pdf-viewer.cjs +7 -7
  44. package/build/cjs/public/experimental/tiff-renderer.cjs +3 -3
  45. package/build/cjs/public/experimental/video-viewer.cjs +3 -3
  46. package/build/cjs/public/experimental/xml-viewer.cjs +3 -3
  47. package/build/cjs/public/experimental.cjs +71 -71
  48. package/build/esm/filter-list/base/inputs/ListogramInput.js +16 -10
  49. package/build/esm/filter-list/base/inputs/ListogramInput.js.map +1 -1
  50. package/build/esm/util/UserAgent.js +1 -1
  51. package/build/esm/util/UserAgent.js.map +1 -1
  52. package/build/types/filter-list/base/inputs/ListogramInput.d.ts.map +1 -1
  53. package/package.json +4 -4
  54. package/build/cjs/chunk-2XHTCEJ5.cjs.map +0 -1
  55. package/build/cjs/chunk-BS33YD7D.cjs.map +0 -1
  56. package/build/cjs/chunk-CSJSSIXY.cjs +0 -11
  57. package/build/cjs/chunk-EBETL5JH.cjs +0 -11
  58. package/build/cjs/chunk-FG2HAGFV.cjs +0 -11
  59. package/build/cjs/chunk-INWJQEGM.cjs +0 -11
  60. package/build/cjs/chunk-LVMML6YM.cjs +0 -11
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @osdk/react-components
2
2
 
3
+ ## 0.42.1-main-5e9775e35f08448943af9d8836b5e051f13f84fa
4
+
5
+ ### Patch Changes
6
+
7
+ - 5e9775e: Stop listogram filter rows reordering when a checkbox is toggled; render values in natural count/value order and append below-fold selections at the tail in the collapsed view.
8
+
3
9
  ## 0.42.0
4
10
 
5
11
  ### Minor Changes
@@ -62,16 +62,22 @@ function ListogramInputInner({
62
62
  }
63
63
  return stableValues;
64
64
  }, [stableValues, searchQuery, renderValue]);
65
- const sortedValues = useMemo(() => {
66
- const selected = filteredValues.filter(v => selectedSet.has(v.value));
67
- const unselected = filteredValues.filter(v => !selectedSet.has(v.value));
68
- return [...selected, ...unselected];
69
- }, [filteredValues, selectedSet]);
65
+
66
+ // Render in natural count/value order regardless of selection — toggling a
67
+ // checkbox must never reorder rows. In the collapsed view we still keep
68
+ // below-fold selected values visible by appending them at the tail (matching
69
+ // Foundry Workshop's listogram), without hoisting them or displacing the
70
+ // head. Unchecking a below-fold row drops it from the tail; "View all"
71
+ // reveals it again.
70
72
  const displayValues = useMemo(() => {
71
- if (isExpanded || !maxVisibleItems) return sortedValues;
72
- return sortedValues.slice(0, maxVisibleItems);
73
- }, [sortedValues, maxVisibleItems, isExpanded]);
74
- const hasMore = maxVisibleItems != null && sortedValues.length > maxVisibleItems;
73
+ if (isExpanded || maxVisibleItems == null) return filteredValues;
74
+ const head = filteredValues.slice(0, maxVisibleItems);
75
+ const belowFoldSelected = filteredValues.slice(maxVisibleItems).filter(({
76
+ value
77
+ }) => selectedSet.has(value));
78
+ return [...head, ...belowFoldSelected];
79
+ }, [filteredValues, maxVisibleItems, isExpanded, selectedSet]);
80
+ const hasMore = maxVisibleItems != null && filteredValues.length > maxVisibleItems;
75
81
  return /*#__PURE__*/React.createElement("div", {
76
82
  className: classnames(styles.listogram, className),
77
83
  style: style,
@@ -135,7 +141,7 @@ function ListogramInputInner({
135
141
  // eslint-disable-next-line react/jsx-no-bind
136
142
  ,
137
143
  onClick: () => setIsExpanded(true)
138
- }, "View all (", sortedValues.length, ")")));
144
+ }, "View all (", filteredValues.length, ")")));
139
145
  }
140
146
  export const ListogramInput = /*#__PURE__*/memo(ListogramInputInner);
141
147
  //# sourceMappingURL=ListogramInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListogramInput.js","names":["Button","classnames","React","memo","useCallback","useMemo","useState","Checkbox","filterValuesBySearch","isNoValue","formatCompactCount","ListogramSkeleton","OptionLabel","useStableData","styles","sharedStyles","ListogramInputInner","values","maxCount","isLoading","error","selectedValues","onChange","colorMap","displayMode","showCount","isExcluding","showFilteredOutValues","className","style","maxVisibleItems","searchQuery","renderValue","isExpanded","setIsExpanded","stableValues","selectedSet","Set","toggleValue","value","has","filter","v","filteredValues","rendered","sortedValues","selected","unselected","displayValues","slice","hasMore","length","createElement","listogram","errorMessage","message","emptyMessage","container","map","count","percentage","perRowColor","isEmpty","isFilteredOut","key","row","undefined","onClick","checkbox","e","stopPropagation","checked","onCheckedChange","label","noValueLabel","title","toLocaleString","bar","barFill","type","viewAllButton","ListogramInput"],"sources":["ListogramInput.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 { Button } from \"@base-ui/react/button\";\nimport classnames from \"classnames\";\nimport React, { memo, useCallback, useMemo, useState } from \"react\";\n\nimport { Checkbox } from \"../../../base-components/checkbox/Checkbox.js\";\nimport type { PropertyAggregationValue } from \"../../types/AggregationTypes.js\";\nimport { filterValuesBySearch, isNoValue } from \"../../utils/filterValues.js\";\nimport { formatCompactCount } from \"./formatCompactCount.js\";\nimport { ListogramSkeleton } from \"./ListogramSkeleton.js\";\nimport { OptionLabel } from \"./OptionLabel.js\";\nimport { useStableData } from \"./useStableData.js\";\n\nimport styles from \"./ListogramInput.module.css\";\nimport sharedStyles from \"./shared.module.css\";\n\nexport type ListogramDisplayMode = \"full\" | \"count\" | \"minimal\";\n\ninterface ListogramInputProps {\n values: PropertyAggregationValue[];\n maxCount: number;\n isLoading: boolean;\n error: Error | null;\n selectedValues: string[];\n onChange: (values: string[]) => void;\n colorMap?: Record<string, string>;\n displayMode?: ListogramDisplayMode;\n showCount?: boolean;\n isExcluding?: boolean;\n showFilteredOutValues?: boolean;\n className?: string;\n style?: React.CSSProperties;\n maxVisibleItems?: number;\n searchQuery?: string;\n renderValue?: (value: string) => React.ReactNode;\n}\n\nfunction ListogramInputInner({\n values,\n maxCount,\n isLoading,\n error,\n selectedValues,\n onChange,\n colorMap,\n displayMode = \"full\",\n showCount = true,\n isExcluding,\n showFilteredOutValues = true,\n className,\n style,\n maxVisibleItems,\n searchQuery,\n renderValue,\n}: ListogramInputProps): React.ReactElement {\n const [isExpanded, setIsExpanded] = useState(false);\n\n const stableValues = useStableData(values, isLoading);\n\n const selectedSet = useMemo(() => new Set(selectedValues), [selectedValues]);\n\n const toggleValue = useCallback(\n (value: string) => {\n if (selectedSet.has(value)) {\n onChange(selectedValues.filter((v) => v !== value));\n } else {\n onChange([...selectedValues, value]);\n }\n },\n [selectedValues, selectedSet, onChange]\n );\n\n const filteredValues = useMemo(() => {\n if (searchQuery) {\n return filterValuesBySearch(stableValues, searchQuery, (v) => {\n const rendered = renderValue?.(v.value);\n return typeof rendered === \"string\" ? rendered : v.value;\n });\n }\n return stableValues;\n }, [stableValues, searchQuery, renderValue]);\n\n const sortedValues = useMemo(() => {\n const selected = filteredValues.filter((v) => selectedSet.has(v.value));\n const unselected = filteredValues.filter((v) => !selectedSet.has(v.value));\n return [...selected, ...unselected];\n }, [filteredValues, selectedSet]);\n\n const displayValues = useMemo(() => {\n if (isExpanded || !maxVisibleItems) return sortedValues;\n return sortedValues.slice(0, maxVisibleItems);\n }, [sortedValues, maxVisibleItems, isExpanded]);\n\n const hasMore =\n maxVisibleItems != null && sortedValues.length > maxVisibleItems;\n\n return (\n <div\n className={classnames(styles.listogram, className)}\n style={style}\n data-loading={isLoading && filteredValues.length > 0}\n >\n {error && (\n <div className={sharedStyles.errorMessage}>\n Error loading values: {error.message}\n </div>\n )}\n\n {!error && filteredValues.length === 0 && isLoading && (\n <ListogramSkeleton />\n )}\n {!error && filteredValues.length === 0 && !isLoading && (\n <div className={sharedStyles.emptyMessage}>No values available</div>\n )}\n\n {filteredValues.length > 0 && (\n <div className={styles.container}>\n {displayValues.map(({ value, count }) => {\n const percentage = maxCount > 0 ? (count / maxCount) * 100 : 0;\n const perRowColor = colorMap?.[value];\n const isEmpty = isNoValue(value) || value === \"\";\n\n const isFilteredOut =\n showFilteredOutValues && count === 0 && !selectedSet.has(value);\n return (\n <Button\n key={value}\n className={styles.row}\n data-empty={isEmpty || undefined}\n data-filtered-out={isFilteredOut || undefined}\n // eslint-disable-next-line react/jsx-no-bind\n onClick={() => toggleValue(value)}\n aria-pressed={selectedSet.has(value)}\n style={\n perRowColor || percentage > 0\n ? ({\n \"--osdk-filter-listogram-bar-fill-scale\":\n percentage / 100,\n ...(perRowColor\n ? {\n \"--osdk-filter-listogram-row-bar-color\":\n perRowColor,\n }\n : undefined),\n } as React.CSSProperties)\n : undefined\n }\n >\n <span\n className={styles.checkbox}\n onClick={(e) => e.stopPropagation()}\n >\n <Checkbox\n checked={selectedSet.has(value)}\n // eslint-disable-next-line react/jsx-no-bind\n onCheckedChange={() => toggleValue(value)}\n isExcluding={isExcluding}\n />\n </span>\n <span\n className={styles.label}\n data-excluding={\n (isExcluding && selectedSet.has(value)) || undefined\n }\n >\n <OptionLabel\n value={value}\n renderValue={renderValue}\n className={styles.noValueLabel}\n />\n </span>\n {showCount && displayMode !== \"minimal\" && (\n <span className={styles.count} title={count.toLocaleString()}>\n {formatCompactCount(count)}\n </span>\n )}\n {displayMode === \"full\" && (\n <span className={styles.bar}>\n <span className={styles.barFill} />\n </span>\n )}\n </Button>\n );\n })}\n\n {hasMore && !isExpanded && (\n <Button\n type=\"button\"\n className={styles.viewAllButton}\n // eslint-disable-next-line react/jsx-no-bind\n onClick={() => setIsExpanded(true)}\n >\n View all ({sortedValues.length})\n </Button>\n )}\n </div>\n )}\n </div>\n );\n}\n\nexport const ListogramInput = memo(\n ListogramInputInner\n) as typeof ListogramInputInner;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ListogramInput.js","names":["Button","classnames","React","memo","useCallback","useMemo","useState","Checkbox","filterValuesBySearch","isNoValue","formatCompactCount","ListogramSkeleton","OptionLabel","useStableData","styles","sharedStyles","ListogramInputInner","values","maxCount","isLoading","error","selectedValues","onChange","colorMap","displayMode","showCount","isExcluding","showFilteredOutValues","className","style","maxVisibleItems","searchQuery","renderValue","isExpanded","setIsExpanded","stableValues","selectedSet","Set","toggleValue","value","has","filter","v","filteredValues","rendered","displayValues","head","slice","belowFoldSelected","hasMore","length","createElement","listogram","errorMessage","message","emptyMessage","container","map","count","percentage","perRowColor","isEmpty","isFilteredOut","key","row","undefined","onClick","checkbox","e","stopPropagation","checked","onCheckedChange","label","noValueLabel","title","toLocaleString","bar","barFill","type","viewAllButton","ListogramInput"],"sources":["ListogramInput.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 { Button } from \"@base-ui/react/button\";\nimport classnames from \"classnames\";\nimport React, { memo, useCallback, useMemo, useState } from \"react\";\n\nimport { Checkbox } from \"../../../base-components/checkbox/Checkbox.js\";\nimport type { PropertyAggregationValue } from \"../../types/AggregationTypes.js\";\nimport { filterValuesBySearch, isNoValue } from \"../../utils/filterValues.js\";\nimport { formatCompactCount } from \"./formatCompactCount.js\";\nimport { ListogramSkeleton } from \"./ListogramSkeleton.js\";\nimport { OptionLabel } from \"./OptionLabel.js\";\nimport { useStableData } from \"./useStableData.js\";\n\nimport styles from \"./ListogramInput.module.css\";\nimport sharedStyles from \"./shared.module.css\";\n\nexport type ListogramDisplayMode = \"full\" | \"count\" | \"minimal\";\n\ninterface ListogramInputProps {\n values: PropertyAggregationValue[];\n maxCount: number;\n isLoading: boolean;\n error: Error | null;\n selectedValues: string[];\n onChange: (values: string[]) => void;\n colorMap?: Record<string, string>;\n displayMode?: ListogramDisplayMode;\n showCount?: boolean;\n isExcluding?: boolean;\n showFilteredOutValues?: boolean;\n className?: string;\n style?: React.CSSProperties;\n maxVisibleItems?: number;\n searchQuery?: string;\n renderValue?: (value: string) => React.ReactNode;\n}\n\nfunction ListogramInputInner({\n values,\n maxCount,\n isLoading,\n error,\n selectedValues,\n onChange,\n colorMap,\n displayMode = \"full\",\n showCount = true,\n isExcluding,\n showFilteredOutValues = true,\n className,\n style,\n maxVisibleItems,\n searchQuery,\n renderValue,\n}: ListogramInputProps): React.ReactElement {\n const [isExpanded, setIsExpanded] = useState(false);\n\n const stableValues = useStableData(values, isLoading);\n\n const selectedSet = useMemo(() => new Set(selectedValues), [selectedValues]);\n\n const toggleValue = useCallback(\n (value: string) => {\n if (selectedSet.has(value)) {\n onChange(selectedValues.filter((v) => v !== value));\n } else {\n onChange([...selectedValues, value]);\n }\n },\n [selectedValues, selectedSet, onChange]\n );\n\n const filteredValues = useMemo(() => {\n if (searchQuery) {\n return filterValuesBySearch(stableValues, searchQuery, (v) => {\n const rendered = renderValue?.(v.value);\n return typeof rendered === \"string\" ? rendered : v.value;\n });\n }\n return stableValues;\n }, [stableValues, searchQuery, renderValue]);\n\n // Render in natural count/value order regardless of selection — toggling a\n // checkbox must never reorder rows. In the collapsed view we still keep\n // below-fold selected values visible by appending them at the tail (matching\n // Foundry Workshop's listogram), without hoisting them or displacing the\n // head. Unchecking a below-fold row drops it from the tail; \"View all\"\n // reveals it again.\n const displayValues = useMemo(() => {\n if (isExpanded || maxVisibleItems == null) return filteredValues;\n const head = filteredValues.slice(0, maxVisibleItems);\n const belowFoldSelected = filteredValues\n .slice(maxVisibleItems)\n .filter(({ value }) => selectedSet.has(value));\n return [...head, ...belowFoldSelected];\n }, [filteredValues, maxVisibleItems, isExpanded, selectedSet]);\n\n const hasMore =\n maxVisibleItems != null && filteredValues.length > maxVisibleItems;\n\n return (\n <div\n className={classnames(styles.listogram, className)}\n style={style}\n data-loading={isLoading && filteredValues.length > 0}\n >\n {error && (\n <div className={sharedStyles.errorMessage}>\n Error loading values: {error.message}\n </div>\n )}\n\n {!error && filteredValues.length === 0 && isLoading && (\n <ListogramSkeleton />\n )}\n {!error && filteredValues.length === 0 && !isLoading && (\n <div className={sharedStyles.emptyMessage}>No values available</div>\n )}\n\n {filteredValues.length > 0 && (\n <div className={styles.container}>\n {displayValues.map(({ value, count }) => {\n const percentage = maxCount > 0 ? (count / maxCount) * 100 : 0;\n const perRowColor = colorMap?.[value];\n const isEmpty = isNoValue(value) || value === \"\";\n\n const isFilteredOut =\n showFilteredOutValues && count === 0 && !selectedSet.has(value);\n return (\n <Button\n key={value}\n className={styles.row}\n data-empty={isEmpty || undefined}\n data-filtered-out={isFilteredOut || undefined}\n // eslint-disable-next-line react/jsx-no-bind\n onClick={() => toggleValue(value)}\n aria-pressed={selectedSet.has(value)}\n style={\n perRowColor || percentage > 0\n ? ({\n \"--osdk-filter-listogram-bar-fill-scale\":\n percentage / 100,\n ...(perRowColor\n ? {\n \"--osdk-filter-listogram-row-bar-color\":\n perRowColor,\n }\n : undefined),\n } as React.CSSProperties)\n : undefined\n }\n >\n <span\n className={styles.checkbox}\n onClick={(e) => e.stopPropagation()}\n >\n <Checkbox\n checked={selectedSet.has(value)}\n // eslint-disable-next-line react/jsx-no-bind\n onCheckedChange={() => toggleValue(value)}\n isExcluding={isExcluding}\n />\n </span>\n <span\n className={styles.label}\n data-excluding={\n (isExcluding && selectedSet.has(value)) || undefined\n }\n >\n <OptionLabel\n value={value}\n renderValue={renderValue}\n className={styles.noValueLabel}\n />\n </span>\n {showCount && displayMode !== \"minimal\" && (\n <span className={styles.count} title={count.toLocaleString()}>\n {formatCompactCount(count)}\n </span>\n )}\n {displayMode === \"full\" && (\n <span className={styles.bar}>\n <span className={styles.barFill} />\n </span>\n )}\n </Button>\n );\n })}\n\n {hasMore && !isExpanded && (\n <Button\n type=\"button\"\n className={styles.viewAllButton}\n // eslint-disable-next-line react/jsx-no-bind\n onClick={() => setIsExpanded(true)}\n >\n View all ({filteredValues.length})\n </Button>\n )}\n </div>\n )}\n </div>\n );\n}\n\nexport const ListogramInput = memo(\n ListogramInputInner\n) as typeof ListogramInputInner;\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.42.0"}`;
17
+ const PACKAGE_USER_AGENT = `osdk-react-components/${"0.42.1-main-5e9775e35f08448943af9d8836b5e051f13f84fa"}`;
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,mCAAsD;AAEjF,OAAO,SAASC,kBAAkBA,CAACC,aAAqB,EAAU;EAChE,OAAO,GAAGF,kBAAkB,IAAIE,aAAa,EAAE;AACjD","ignoreList":[]}
1
+ {"version":3,"file":"UserAgent.js","names":["PACKAGE_USER_AGENT","componentUserAgent","componentName"],"sources":["UserAgent.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst PACKAGE_USER_AGENT = `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,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkLB3IHFAB_cjs = require('./chunk-LB3IHFAB.cjs');
4
- var chunkBS33YD7D_cjs = require('./chunk-BS33YD7D.cjs');
4
+ var chunkPAM5ZN2T_cjs = require('./chunk-PAM5ZN2T.cjs');
5
5
 
6
6
  // src/public/experimental/tiff-renderer.ts
7
- var TiffViewerMedia2 = chunkBS33YD7D_cjs.withOsdkMetrics(chunkLB3IHFAB_cjs.TiffViewerMedia, "TiffViewerMedia");
7
+ var TiffViewerMedia2 = chunkPAM5ZN2T_cjs.withOsdkMetrics(chunkLB3IHFAB_cjs.TiffViewerMedia, "TiffViewerMedia");
8
8
 
9
9
  exports.TiffViewerMedia = TiffViewerMedia2;
10
- //# sourceMappingURL=chunk-624IRN3R.cjs.map
11
- //# sourceMappingURL=chunk-624IRN3R.cjs.map
10
+ //# sourceMappingURL=chunk-2WRFKGHE.cjs.map
11
+ //# sourceMappingURL=chunk-2WRFKGHE.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/public/experimental/tiff-renderer.ts"],"names":["TiffViewerMedia","withOsdkMetrics"],"mappings":";;;;;;AAqBO,IAAMA,gBAAAA,GAAkBC,iCAAA,CAAgBD,iCAAA,EAAkB,iBAAiB","file":"chunk-624IRN3R.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\n// TiffRenderer\nexport { TiffRenderer } from \"../../images/tiff-renderer/TiffRenderer.js\";\n// TiffViewerMedia (Media wrapper)\nimport { TiffViewerMedia as _TiffViewerMedia } from \"../../images/tiff-renderer/TiffViewerMedia.js\";\nimport { withOsdkMetrics } from \"../../util/withOsdkMetrics.js\";\nexport const TiffViewerMedia = withOsdkMetrics(_TiffViewerMedia, \"TiffViewerMedia\");"]}
1
+ {"version":3,"sources":["../../src/public/experimental/tiff-renderer.ts"],"names":["TiffViewerMedia","withOsdkMetrics"],"mappings":";;;;;;AAqBO,IAAMA,gBAAAA,GAAkBC,iCAAA,CAAgBD,iCAAA,EAAkB,iBAAiB","file":"chunk-2WRFKGHE.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\n// TiffRenderer\nexport { TiffRenderer } from \"../../images/tiff-renderer/TiffRenderer.js\";\n// TiffViewerMedia (Media wrapper)\nimport { TiffViewerMedia as _TiffViewerMedia } from \"../../images/tiff-renderer/TiffViewerMedia.js\";\nimport { withOsdkMetrics } from \"../../util/withOsdkMetrics.js\";\nexport const TiffViewerMedia = withOsdkMetrics(_TiffViewerMedia, \"TiffViewerMedia\");"]}
@@ -9,7 +9,7 @@ var chunkXJDMSVW4_cjs = require('./chunk-XJDMSVW4.cjs');
9
9
  var chunkLB3IHFAB_cjs = require('./chunk-LB3IHFAB.cjs');
10
10
  var chunkUCTQICPR_cjs = require('./chunk-UCTQICPR.cjs');
11
11
  var chunkOISZU73V_cjs = require('./chunk-OISZU73V.cjs');
12
- var chunkBS33YD7D_cjs = require('./chunk-BS33YD7D.cjs');
12
+ var chunkPAM5ZN2T_cjs = require('./chunk-PAM5ZN2T.cjs');
13
13
  var icons = require('@blueprintjs/icons');
14
14
  var classnames = require('classnames');
15
15
  var React2 = require('react');
@@ -310,9 +310,9 @@ function DocumentViewer({
310
310
  }
311
311
 
312
312
  // src/public/experimental/document-viewer.ts
313
- var DocumentViewer2 = chunkBS33YD7D_cjs.withOsdkMetrics(DocumentViewer, "DocumentViewer");
313
+ var DocumentViewer2 = chunkPAM5ZN2T_cjs.withOsdkMetrics(DocumentViewer, "DocumentViewer");
314
314
 
315
315
  exports.DocumentViewer = DocumentViewer2;
316
316
  exports.ViewerType = ViewerType;
317
- //# sourceMappingURL=chunk-4GV4VKZC.cjs.map
318
- //# sourceMappingURL=chunk-4GV4VKZC.cjs.map
317
+ //# sourceMappingURL=chunk-BDFSELFY.cjs.map
318
+ //# sourceMappingURL=chunk-BDFSELFY.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/experimental/document-viewer.ts"],"names":["ViewerType","useOsdkClient","useState","useRef","useEffect","UTIF","__EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait","React","Spin","BasePdfViewer","TiffViewerMedia","_extends","useMemo","classnames","PdfViewer","ImageViewer","VideoViewer","MarkdownViewerMedia","ExcelViewer","EmailViewer","XmlViewer","DocumentIcon","assertUnreachable","DocumentViewer","withOsdkMetrics"],"mappings":"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","file":"chunk-4GV4VKZC.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[\"Excel\"] = \"excel\";\n ViewerType[\"Email\"] = \"email\";\n ViewerType[\"Xml\"] = \"xml\";\n ViewerType[\"Unsupported\"] = \"unsupported\";\n return ViewerType;\n}({});","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* cspell:words ifds */\n\nimport { __EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait } from \"@osdk/api/unstable\";\nimport { useOsdkClient } from \"@osdk/react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport * as UTIF from \"utif\";\nimport { ViewerType } from \"../DocumentViewerApi.js\";\nconst DISABLED_RESULT = {\n viewerType: ViewerType.Tiff,\n pdfData: undefined,\n loading: false,\n error: undefined\n};\n\n/**\n * Detects multi-page TIFFs and converts them to PDF via the MIO transform API.\n * Single-page TIFFs are left for the TiffRenderer to handle.\n *\n * @param media - The OSDK Media object (must be a TIFF)\n * @param enabled - Whether to attempt multi-page detection and conversion\n */\nexport function useTiffToPdf(media, enabled) {\n const client = useOsdkClient();\n const [result, setResult] = useState(DISABLED_RESULT);\n const mediaRef = useRef(media);\n mediaRef.current = media;\n useEffect(() => {\n if (!enabled) {\n setResult(DISABLED_RESULT);\n return;\n }\n let cancelled = false;\n setResult({\n viewerType: ViewerType.Tiff,\n pdfData: undefined,\n loading: true,\n error: undefined\n });\n async function detectAndTransform() {\n const currentMedia = mediaRef.current;\n\n // Step 1: Fetch TIFF bytes and count pages\n const response = await currentMedia.fetchContents();\n const buffer = await response.arrayBuffer();\n if (cancelled) return;\n const ifds = UTIF.decode(buffer);\n const pageCount = ifds.length;\n if (pageCount <= 1) {\n // Single-page TIFF — use TiffRenderer\n if (!cancelled) {\n setResult({\n viewerType: ViewerType.Tiff,\n pdfData: undefined,\n loading: false,\n error: undefined\n });\n }\n return;\n }\n\n // Step 2: Multi-page TIFF — convert to PDF via MIO transform\n const mediaReference = currentMedia.getMediaReference();\n const pdfResponse = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait).transformAndWait({\n mediaReference,\n transformation: {\n $imageToDocument: {\n $operation: {\n $createPdf: {}\n }\n }\n }\n });\n if (cancelled) return;\n const pdfBuffer = await pdfResponse.arrayBuffer();\n if (!cancelled) {\n setResult({\n viewerType: ViewerType.Pdf,\n pdfData: pdfBuffer,\n loading: false,\n error: undefined\n });\n }\n }\n detectAndTransform().catch(err => {\n if (!cancelled) {\n // eslint-disable-next-line no-console\n console.warn(\"TIFF to PDF conversion failed, falling back to TIFF renderer:\", err);\n setResult({\n viewerType: ViewerType.Tiff,\n pdfData: undefined,\n loading: false,\n error: err instanceof Error ? err : new Error(String(err))\n });\n }\n });\n return () => {\n cancelled = true;\n };\n }, [media, enabled, client]);\n return result;\n}",".container {\n display: flex;\n width: 100%;\n height: 100%;\n background-color: var(--osdk-document-viewer-bg);\n border: var(--osdk-document-viewer-border);\n border-radius: var(--osdk-surface-border-radius);\n overflow: hidden;\n}\n\n.unsupportedContainer {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--osdk-surface-spacing);\n width: 100%;\n height: 100%;\n font-family: var(--osdk-typography-family-default);\n font-size: var(--osdk-typography-size-body-medium);\n color: var(--osdk-typography-color-muted);\n}\n\n.unsupportedIcon {\n flex-shrink: 0;\n}\n\n.loadingContainer {\n composes: loadingContainer from \"../shared/LoadingError.module.css\";\n width: 100%;\n}\n\n.spinnerIcon {\n composes: spinnerIcon from \"../shared/LoadingError.module.css\";\n}\n","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Spin } from \"@blueprintjs/icons\";\nimport React from \"react\";\nimport { TiffViewerMedia } from \"../images/tiff-renderer/TiffViewerMedia.js\";\nimport { BasePdfViewer } from \"../pdf-viewer/PdfViewer.js\";\nimport { ViewerType } from \"./DocumentViewerApi.js\";\nimport { useTiffToPdf } from \"./hooks/useTiffToPdf.js\";\nimport styles from \"./DocumentViewer.module.css\";\nexport function TiffDocumentViewer({\n media,\n className,\n enableTiffToPdf,\n tiffRendererProps,\n pdfViewerProps\n}) {\n const {\n viewerType,\n pdfData,\n loading\n } = useTiffToPdf(media, enableTiffToPdf);\n if (loading) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.loadingContainer\n }, /*#__PURE__*/React.createElement(Spin, {\n className: styles.spinnerIcon\n }), \"Converting document\\u2026\"));\n }\n if (viewerType === ViewerType.Pdf && pdfData != null) {\n return /*#__PURE__*/React.createElement(BasePdfViewer, _extends({\n src: pdfData,\n className: className\n }, pdfViewerProps));\n }\n return /*#__PURE__*/React.createElement(TiffViewerMedia, _extends({\n media: media,\n className: className\n }, tiffRendererProps));\n}","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* cspell:words openxmlformats officedocument wordprocessingml spreadsheetml */\n\nimport { Document as DocumentIcon } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React, { useMemo } from \"react\";\nimport { EmailViewer } from \"../email-viewer/EmailViewer.js\";\nimport { ExcelViewer } from \"../excel-viewer/ExcelViewer.js\";\nimport { ImageViewer } from \"../images/image-viewer/ImageViewer.js\";\nimport { TiffViewerMedia } from \"../images/tiff-renderer/TiffViewerMedia.js\";\nimport { MarkdownViewerMedia } from \"../markdown-renderer/MarkdownViewerMedia.js\";\nimport { PdfViewer } from \"../pdf-viewer/PdfRenderer.js\";\nimport { assertUnreachable } from \"../shared/assertUnreachable.js\";\nimport { 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.Excel;\n }\n if (mimeType === \"message/rfc822\") {\n return ViewerType.Email;\n }\n if (XML_MIME_TYPES.has(mimeType)) {\n return ViewerType.Xml;\n }\n return ViewerType.Unsupported;\n}\nexport function DocumentViewer({\n media,\n className,\n mimeTypeOverride,\n pdfViewerProps,\n imageViewerProps,\n videoViewerProps,\n tiffRendererProps,\n markdownRendererProps,\n excelViewerProps,\n emailViewerProps,\n xmlViewerProps,\n fileName,\n enableTiffToPdf = false\n}) {\n const mimeType = mimeTypeOverride ?? media.getMediaReference().mimeType;\n const viewerType = useMemo(() => getViewerType(mimeType, fileName), [mimeType, fileName]);\n const rootClassName = classnames(styles.container, className);\n switch (viewerType) {\n case ViewerType.Pdf:\n return /*#__PURE__*/React.createElement(PdfViewer, _extends({\n media: media,\n className: rootClassName\n }, pdfViewerProps));\n case ViewerType.Tiff:\n if (enableTiffToPdf) {\n return /*#__PURE__*/React.createElement(TiffDocumentViewer, {\n media: media,\n className: rootClassName,\n enableTiffToPdf: enableTiffToPdf,\n tiffRendererProps: tiffRendererProps,\n pdfViewerProps: pdfViewerProps\n });\n }\n return /*#__PURE__*/React.createElement(TiffViewerMedia, _extends({\n media: media,\n className: rootClassName\n }, tiffRendererProps));\n case ViewerType.Image:\n return /*#__PURE__*/React.createElement(ImageViewer, _extends({\n media: media,\n className: rootClassName\n }, imageViewerProps));\n case ViewerType.Video:\n return /*#__PURE__*/React.createElement(VideoViewer, _extends({\n media: media,\n className: rootClassName\n }, videoViewerProps));\n case ViewerType.Markdown:\n return /*#__PURE__*/React.createElement(MarkdownViewerMedia, _extends({\n media: media,\n className: rootClassName\n }, markdownRendererProps));\n case ViewerType.Excel:\n return /*#__PURE__*/React.createElement(ExcelViewer, _extends({\n media: media,\n className: rootClassName\n }, excelViewerProps));\n case ViewerType.Email:\n return /*#__PURE__*/React.createElement(EmailViewer, _extends({\n media: media,\n className: rootClassName\n }, emailViewerProps));\n case ViewerType.Xml:\n return /*#__PURE__*/React.createElement(XmlViewer, _extends({\n media: media,\n className: rootClassName\n }, xmlViewerProps));\n case ViewerType.Unsupported:\n return /*#__PURE__*/React.createElement(\"div\", {\n className: rootClassName\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.unsupportedContainer\n }, /*#__PURE__*/React.createElement(DocumentIcon, {\n className: styles.unsupportedIcon\n }), \"Unsupported file type: \", mimeType));\n default:\n assertUnreachable(viewerType);\n }\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// DocumentViewer\nimport { DocumentViewer as _DocumentViewer } from \"../../document-viewer/DocumentViewer.js\";\nimport { withOsdkMetrics } from \"../../util/withOsdkMetrics.js\";\nexport const DocumentViewer = withOsdkMetrics(_DocumentViewer, \"DocumentViewer\");\nexport { ViewerType } from \"../../document-viewer/DocumentViewerApi.js\";"]}
1
+ {"version":3,"sources":["../../src/document-viewer/DocumentViewerApi.ts","../../src/document-viewer/hooks/useTiffToPdf.ts","../../src/document-viewer/DocumentViewer.module.css","../../src/document-viewer/TiffDocumentViewer.tsx","../../src/document-viewer/DocumentViewer.tsx","../../src/public/experimental/document-viewer.ts"],"names":["ViewerType","useOsdkClient","useState","useRef","useEffect","UTIF","__EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait","React","Spin","BasePdfViewer","TiffViewerMedia","_extends","useMemo","classnames","PdfViewer","ImageViewer","VideoViewer","MarkdownViewerMedia","ExcelViewer","EmailViewer","XmlViewer","DocumentIcon","assertUnreachable","DocumentViewer","withOsdkMetrics"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBO,IAAI,UAAA,6BAAoCA,WAAAA,EAAY;AACzD,EAAAA,WAAAA,CAAW,KAAK,CAAA,GAAI,KAAA;AACpB,EAAAA,WAAAA,CAAW,MAAM,CAAA,GAAI,MAAA;AACrB,EAAAA,WAAAA,CAAW,OAAO,CAAA,GAAI,OAAA;AACtB,EAAAA,WAAAA,CAAW,OAAO,CAAA,GAAI,OAAA;AACtB,EAAAA,WAAAA,CAAW,UAAU,CAAA,GAAI,UAAA;AACzB,EAAAA,WAAAA,CAAW,OAAO,CAAA,GAAI,OAAA;AACtB,EAAAA,WAAAA,CAAW,OAAO,CAAA,GAAI,OAAA;AACtB,EAAAA,WAAAA,CAAW,KAAK,CAAA,GAAI,KAAA;AACpB,EAAAA,WAAAA,CAAW,aAAa,CAAA,GAAI,aAAA;AAC5B,EAAA,OAAOA,WAAAA;AACT,CAAA,EAAE,EAAE;ACJJ,IAAM,eAAA,GAAkB;AAAA,EACtB,YAAY,UAAA,CAAW,IAAA;AAAA,EACvB,OAAA,EAAS,MAAA;AAAA,EACT,OAAA,EAAS,KAAA;AAAA,EACT,KAAA,EAAO;AACT,CAAA;AASO,SAAS,YAAA,CAAa,OAAO,OAAA,EAAS;AAC3C,EAAA,MAAM,SAASC,mBAAA,EAAc;AAC7B,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIC,gBAAS,eAAe,CAAA;AACpD,EAAA,MAAM,QAAA,GAAWC,cAAO,KAAK,CAAA;AAC7B,EAAA,QAAA,CAAS,OAAA,GAAU,KAAA;AACnB,EAAAC,gBAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,SAAA,CAAU,eAAe,CAAA;AACzB,MAAA;AAAA,IACF;AACA,IAAA,IAAI,SAAA,GAAY,KAAA;AAChB,IAAA,SAAA,CAAU;AAAA,MACR,YAAY,UAAA,CAAW,IAAA;AAAA,MACvB,OAAA,EAAS,MAAA;AAAA,MACT,OAAA,EAAS,IAAA;AAAA,MACT,KAAA,EAAO;AAAA,KACR,CAAA;AACD,IAAA,eAAe,kBAAA,GAAqB;AAClC,MAAA,MAAM,eAAe,QAAA,CAAS,OAAA;AAG9B,MAAA,MAAM,QAAA,GAAW,MAAM,YAAA,CAAa,aAAA,EAAc;AAClD,MAAA,MAAM,MAAA,GAAS,MAAM,QAAA,CAAS,WAAA,EAAY;AAC1C,MAAA,IAAI,SAAA,EAAW;AACf,MAAA,MAAM,IAAA,GAAYC,uBAAO,MAAM,CAAA;AAC/B,MAAA,MAAM,YAAY,IAAA,CAAK,MAAA;AACvB,MAAA,IAAI,aAAa,CAAA,EAAG;AAElB,QAAA,IAAI,CAAC,SAAA,EAAW;AACd,UAAA,SAAA,CAAU;AAAA,YACR,YAAY,UAAA,CAAW,IAAA;AAAA,YACvB,OAAA,EAAS,MAAA;AAAA,YACT,OAAA,EAAS,KAAA;AAAA,YACT,KAAA,EAAO;AAAA,WACR,CAAA;AAAA,QACH;AACA,QAAA;AAAA,MACF;AAGA,MAAA,MAAM,cAAA,GAAiB,aAAa,iBAAA,EAAkB;AACtD,MAAA,MAAM,WAAA,GAAc,MAAM,MAAA,CAAOC,4DAAmD,EAAE,gBAAA,CAAiB;AAAA,QACrG,cAAA;AAAA,QACA,cAAA,EAAgB;AAAA,UACd,gBAAA,EAAkB;AAAA,YAChB,UAAA,EAAY;AAAA,cACV,YAAY;AAAC;AACf;AACF;AACF,OACD,CAAA;AACD,MAAA,IAAI,SAAA,EAAW;AACf,MAAA,MAAM,SAAA,GAAY,MAAM,WAAA,CAAY,WAAA,EAAY;AAChD,MAAA,IAAI,CAAC,SAAA,EAAW;AACd,QAAA,SAAA,CAAU;AAAA,UACR,YAAY,UAAA,CAAW,GAAA;AAAA,UACvB,OAAA,EAAS,SAAA;AAAA,UACT,OAAA,EAAS,KAAA;AAAA,UACT,KAAA,EAAO;AAAA,SACR,CAAA;AAAA,MACH;AAAA,IACF;AACA,IAAA,kBAAA,EAAmB,CAAE,MAAM,CAAA,GAAA,KAAO;AAChC,MAAA,IAAI,CAAC,SAAA,EAAW;AAEd,QAAA,OAAA,CAAQ,IAAA,CAAK,iEAAiE,GAAG,CAAA;AACjF,QAAA,SAAA,CAAU;AAAA,UACR,YAAY,UAAA,CAAW,IAAA;AAAA,UACvB,OAAA,EAAS,MAAA;AAAA,UACT,OAAA,EAAS,KAAA;AAAA,UACT,KAAA,EAAO,eAAe,KAAA,GAAQ,GAAA,GAAM,IAAI,KAAA,CAAM,MAAA,CAAO,GAAG,CAAC;AAAA,SAC1D,CAAA;AAAA,MACH;AAAA,IACF,CAAC,CAAA;AACD,IAAA,OAAO,MAAM;AACX,MAAA,SAAA,GAAY,IAAA;AAAA,IACd,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,KAAA,EAAO,OAAA,EAAS,MAAM,CAAC,CAAA;AAC3B,EAAA,OAAO,MAAA;AACT;;;ACpHA,IAAA,sBAAA,GAAA,EAAA;;;ACAA,SAAS,QAAA,GAAW;AAAE,EAAA,OAAO,QAAA,GAAW,OAAO,MAAA,GAAS,MAAA,CAAO,OAAO,IAAA,EAAK,GAAI,SAAU,CAAA,EAAG;AAAE,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,SAAA,CAAU,QAAQ,CAAA,EAAA,EAAK;AAAE,MAAA,IAAI,CAAA,GAAI,UAAU,CAAC,CAAA;AAAG,MAAA,KAAA,IAAS,CAAA,IAAK,CAAA,EAAG,CAAC,IAAI,cAAA,CAAe,IAAA,CAAK,CAAA,EAAG,CAAC,CAAA,KAAM,CAAA,CAAE,CAAC,CAAA,GAAI,EAAE,CAAC,CAAA,CAAA;AAAA,IAAI;AAAE,IAAA,OAAO,CAAA;AAAA,EAAG,CAAA,EAAG,QAAA,CAAS,KAAA,CAAM,IAAA,EAAM,SAAS,CAAA;AAAG;AAwB5Q,SAAS,kBAAA,CAAmB;AAAA,EACjC,KAAA;AAAA,EACA,SAAA;AAAA,EACA,eAAA;AAAA,EACA,iBAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM;AAAA,IACJ,UAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF,GAAI,YAAA,CAAa,KAAA,EAAO,eAAe,CAAA;AACvC,EAAA,IAAI,OAAA,EAAS;AACX,IAAA,uBAAoBC,uBAAA,CAAM,cAAc,KAAA,EAAO;AAAA,MAC7C;AAAA,KACF,kBAAgBA,uBAAA,CAAM,aAAA,CAAc,KAAA,EAAO;AAAA,MACzC,WAAW,sBAAA,CAAO;AAAA,KACpB,kBAAgBA,uBAAA,CAAM,aAAA,CAAcC,UAAA,EAAM;AAAA,MACxC,WAAW,sBAAA,CAAO;AAAA,KACnB,CAAA,EAAG,2BAA2B,CAAC,CAAA;AAAA,EAClC;AACA,EAAA,IAAI,UAAA,KAAe,UAAA,CAAW,GAAA,IAAO,OAAA,IAAW,IAAA,EAAM;AACpD,IAAA,uBAAoBD,uBAAA,CAAM,aAAA,CAAcE,+BAAA,EAAe,QAAA,CAAS;AAAA,MAC9D,GAAA,EAAK,OAAA;AAAA,MACL;AAAA,KACF,EAAG,cAAc,CAAC,CAAA;AAAA,EACpB;AACA,EAAA,uBAAoBF,uBAAA,CAAM,aAAA,CAAcG,iCAAA,EAAiB,QAAA,CAAS;AAAA,IAChE,KAAA;AAAA,IACA;AAAA,GACF,EAAG,iBAAiB,CAAC,CAAA;AACvB;;;ACvDA,SAASC,SAAAA,GAAW;AAAE,EAAA,OAAOA,SAAAA,GAAW,OAAO,MAAA,GAAS,MAAA,CAAO,OAAO,IAAA,EAAK,GAAI,SAAU,CAAA,EAAG;AAAE,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,SAAA,CAAU,QAAQ,CAAA,EAAA,EAAK;AAAE,MAAA,IAAI,CAAA,GAAI,UAAU,CAAC,CAAA;AAAG,MAAA,KAAA,IAAS,CAAA,IAAK,CAAA,EAAG,CAAC,IAAI,cAAA,CAAe,IAAA,CAAK,CAAA,EAAG,CAAC,CAAA,KAAM,CAAA,CAAE,CAAC,CAAA,GAAI,EAAE,CAAC,CAAA,CAAA;AAAA,IAAI;AAAE,IAAA,OAAO,CAAA;AAAA,EAAG,CAAA,EAAGA,SAAAA,CAAS,KAAA,CAAM,IAAA,EAAM,SAAS,CAAA;AAAG;AAkCnR,IAAM,gBAAA,mBAAmB,IAAI,GAAA,CAAI,CAAC,WAAA,EAAa,cAAc,WAAA,EAAa,eAAA,EAAiB,YAAA,EAAc,WAAW,CAAC,CAAA;AACrH,IAAM,sCAAsB,IAAI,GAAA,CAAI,CAAC,eAAA,EAAiB,iBAAiB,CAAC,CAAA;AACxE,IAAM,iCAAiB,IAAI,GAAA,CAAI,CAAC,iBAAA,EAAmB,UAAU,CAAC,CAAA;AAC9D,SAAS,UAAA,CAAW,UAAU,QAAA,EAAU;AACtC,EAAA,IAAI,aAAa,YAAA,EAAc;AAC7B,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,MAAM,OAAA,GAAU,UAAU,WAAA,EAAY;AACtC,EAAA,OAAO,OAAA,EAAS,SAAS,MAAM,CAAA,KAAM,QAAQ,OAAA,EAAS,QAAA,CAAS,OAAO,CAAA,KAAM,IAAA;AAC9E;AACA,SAAS,aAAA,CAAc,UAAU,QAAA,EAAU;AACzC,EAAA,IAAI,aAAa,iBAAA,EAAmB;AAClC,IAAA,OAAO,UAAA,CAAW,GAAA;AAAA,EACpB;AACA,EAAA,IAAI,UAAA,CAAW,QAAA,EAAU,QAAQ,CAAA,EAAG;AAClC,IAAA,OAAO,UAAA,CAAW,IAAA;AAAA,EACpB;AACA,EAAA,IAAI,gBAAA,CAAiB,GAAA,CAAI,QAAQ,CAAA,EAAG;AAClC,IAAA,OAAO,UAAA,CAAW,KAAA;AAAA,EACpB;AACA,EAAA,IAAI,QAAA,CAAS,UAAA,CAAW,QAAQ,CAAA,EAAG;AACjC,IAAA,OAAO,UAAA,CAAW,KAAA;AAAA,EACpB;AACA,EAAA,IAAI,mBAAA,CAAoB,GAAA,CAAI,QAAQ,CAAA,EAAG;AACrC,IAAA,OAAO,UAAA,CAAW,QAAA;AAAA,EACpB;AACA,EAAA,IAAI,aAAa,mEAAA,EAAqE;AACpF,IAAA,OAAO,UAAA,CAAW,KAAA;AAAA,EACpB;AACA,EAAA,IAAI,aAAa,gBAAA,EAAkB;AACjC,IAAA,OAAO,UAAA,CAAW,KAAA;AAAA,EACpB;AACA,EAAA,IAAI,cAAA,CAAe,GAAA,CAAI,QAAQ,CAAA,EAAG;AAChC,IAAA,OAAO,UAAA,CAAW,GAAA;AAAA,EACpB;AACA,EAAA,OAAO,UAAA,CAAW,WAAA;AACpB;AACO,SAAS,cAAA,CAAe;AAAA,EAC7B,KAAA;AAAA,EACA,SAAA;AAAA,EACA,gBAAA;AAAA,EACA,cAAA;AAAA,EACA,gBAAA;AAAA,EACA,gBAAA;AAAA,EACA,iBAAA;AAAA,EACA,qBAAA;AAAA,EACA,gBAAA;AAAA,EACA,gBAAA;AAAA,EACA,cAAA;AAAA,EACA,QAAA;AAAA,EACA,eAAA,GAAkB;AACpB,CAAA,EAAG;AACD,EAAA,MAAM,QAAA,GAAW,gBAAA,IAAoB,KAAA,CAAM,iBAAA,EAAkB,CAAE,QAAA;AAC/D,EAAA,MAAM,UAAA,GAAaC,cAAA,CAAQ,MAAM,aAAA,CAAc,QAAA,EAAU,QAAQ,CAAA,EAAG,CAAC,QAAA,EAAU,QAAQ,CAAC,CAAA;AACxF,EAAA,MAAM,aAAA,GAAgBC,2BAAA,CAAW,sBAAA,CAAO,SAAA,EAAW,SAAS,CAAA;AAC5D,EAAA,QAAQ,UAAA;AAAY,IAClB,KAAK,UAAA,CAAW,GAAA;AACd,MAAA,uBAAoBN,uBAAAA,CAAM,aAAA,CAAcO,2BAAA,EAAWH,SAAAA,CAAS;AAAA,QAC1D,KAAA;AAAA,QACA,SAAA,EAAW;AAAA,OACb,EAAG,cAAc,CAAC,CAAA;AAAA,IACpB,KAAK,UAAA,CAAW,IAAA;AACd,MAAA,IAAI,eAAA,EAAiB;AACnB,QAAA,uBAAoBJ,uBAAAA,CAAM,aAAA,CAAc,kBAAA,EAAoB;AAAA,UAC1D,KAAA;AAAA,UACA,SAAA,EAAW,aAAA;AAAA,UACX,eAAA;AAAA,UACA,iBAAA;AAAA,UACA;AAAA,SACD,CAAA;AAAA,MACH;AACA,MAAA,uBAAoBA,uBAAAA,CAAM,aAAA,CAAcG,iCAAA,EAAiBC,SAAAA,CAAS;AAAA,QAChE,KAAA;AAAA,QACA,SAAA,EAAW;AAAA,OACb,EAAG,iBAAiB,CAAC,CAAA;AAAA,IACvB,KAAK,UAAA,CAAW,KAAA;AACd,MAAA,uBAAoBJ,uBAAAA,CAAM,aAAA,CAAcQ,6BAAA,EAAaJ,SAAAA,CAAS;AAAA,QAC5D,KAAA;AAAA,QACA,SAAA,EAAW;AAAA,OACb,EAAG,gBAAgB,CAAC,CAAA;AAAA,IACtB,KAAK,UAAA,CAAW,KAAA;AACd,MAAA,uBAAoBJ,uBAAAA,CAAM,aAAA,CAAcS,6BAAA,EAAaL,SAAAA,CAAS;AAAA,QAC5D,KAAA;AAAA,QACA,SAAA,EAAW;AAAA,OACb,EAAG,gBAAgB,CAAC,CAAA;AAAA,IACtB,KAAK,UAAA,CAAW,QAAA;AACd,MAAA,uBAAoBJ,uBAAAA,CAAM,aAAA,CAAcU,qCAAA,EAAqBN,SAAAA,CAAS;AAAA,QACpE,KAAA;AAAA,QACA,SAAA,EAAW;AAAA,OACb,EAAG,qBAAqB,CAAC,CAAA;AAAA,IAC3B,KAAK,UAAA,CAAW,KAAA;AACd,MAAA,uBAAoBJ,uBAAAA,CAAM,aAAA,CAAcW,6BAAA,EAAaP,SAAAA,CAAS;AAAA,QAC5D,KAAA;AAAA,QACA,SAAA,EAAW;AAAA,OACb,EAAG,gBAAgB,CAAC,CAAA;AAAA,IACtB,KAAK,UAAA,CAAW,KAAA;AACd,MAAA,uBAAoBJ,uBAAAA,CAAM,aAAA,CAAcY,6BAAA,EAAaR,SAAAA,CAAS;AAAA,QAC5D,KAAA;AAAA,QACA,SAAA,EAAW;AAAA,OACb,EAAG,gBAAgB,CAAC,CAAA;AAAA,IACtB,KAAK,UAAA,CAAW,GAAA;AACd,MAAA,uBAAoBJ,uBAAAA,CAAM,aAAA,CAAca,2BAAA,EAAWT,SAAAA,CAAS;AAAA,QAC1D,KAAA;AAAA,QACA,SAAA,EAAW;AAAA,OACb,EAAG,cAAc,CAAC,CAAA;AAAA,IACpB,KAAK,UAAA,CAAW,WAAA;AACd,MAAA,uBAAoBJ,uBAAAA,CAAM,aAAA,CAAc,KAAA,EAAO;AAAA,QAC7C,SAAA,EAAW;AAAA,OACb,kBAAgBA,uBAAAA,CAAM,aAAA,CAAc,KAAA,EAAO;AAAA,QACzC,WAAW,sBAAA,CAAO;AAAA,OACpB,kBAAgBA,uBAAAA,CAAM,aAAA,CAAcc,cAAA,EAAc;AAAA,QAChD,WAAW,sBAAA,CAAO;AAAA,OACnB,CAAA,EAAG,yBAAA,EAA2B,QAAQ,CAAC,CAAA;AAAA,IAC1C;AACE,MAAAC,mCAAA,CAAkB,UAAU,CAAA;AAAA;AAElC;;;ACnIO,IAAMC,eAAAA,GAAiBC,iCAAA,CAAgB,cAAA,EAAiB,gBAAgB","file":"chunk-BDFSELFY.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[\"Excel\"] = \"excel\";\n ViewerType[\"Email\"] = \"email\";\n ViewerType[\"Xml\"] = \"xml\";\n ViewerType[\"Unsupported\"] = \"unsupported\";\n return ViewerType;\n}({});","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* cspell:words ifds */\n\nimport { __EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait } from \"@osdk/api/unstable\";\nimport { useOsdkClient } from \"@osdk/react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport * as UTIF from \"utif\";\nimport { ViewerType } from \"../DocumentViewerApi.js\";\nconst DISABLED_RESULT = {\n viewerType: ViewerType.Tiff,\n pdfData: undefined,\n loading: false,\n error: undefined\n};\n\n/**\n * Detects multi-page TIFFs and converts them to PDF via the MIO transform API.\n * Single-page TIFFs are left for the TiffRenderer to handle.\n *\n * @param media - The OSDK Media object (must be a TIFF)\n * @param enabled - Whether to attempt multi-page detection and conversion\n */\nexport function useTiffToPdf(media, enabled) {\n const client = useOsdkClient();\n const [result, setResult] = useState(DISABLED_RESULT);\n const mediaRef = useRef(media);\n mediaRef.current = media;\n useEffect(() => {\n if (!enabled) {\n setResult(DISABLED_RESULT);\n return;\n }\n let cancelled = false;\n setResult({\n viewerType: ViewerType.Tiff,\n pdfData: undefined,\n loading: true,\n error: undefined\n });\n async function detectAndTransform() {\n const currentMedia = mediaRef.current;\n\n // Step 1: Fetch TIFF bytes and count pages\n const response = await currentMedia.fetchContents();\n const buffer = await response.arrayBuffer();\n if (cancelled) return;\n const ifds = UTIF.decode(buffer);\n const pageCount = ifds.length;\n if (pageCount <= 1) {\n // Single-page TIFF — use TiffRenderer\n if (!cancelled) {\n setResult({\n viewerType: ViewerType.Tiff,\n pdfData: undefined,\n loading: false,\n error: undefined\n });\n }\n return;\n }\n\n // Step 2: Multi-page TIFF — convert to PDF via MIO transform\n const mediaReference = currentMedia.getMediaReference();\n const pdfResponse = await client(__EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait).transformAndWait({\n mediaReference,\n transformation: {\n $imageToDocument: {\n $operation: {\n $createPdf: {}\n }\n }\n }\n });\n if (cancelled) return;\n const pdfBuffer = await pdfResponse.arrayBuffer();\n if (!cancelled) {\n setResult({\n viewerType: ViewerType.Pdf,\n pdfData: pdfBuffer,\n loading: false,\n error: undefined\n });\n }\n }\n detectAndTransform().catch(err => {\n if (!cancelled) {\n // eslint-disable-next-line no-console\n console.warn(\"TIFF to PDF conversion failed, falling back to TIFF renderer:\", err);\n setResult({\n viewerType: ViewerType.Tiff,\n pdfData: undefined,\n loading: false,\n error: err instanceof Error ? err : new Error(String(err))\n });\n }\n });\n return () => {\n cancelled = true;\n };\n }, [media, enabled, client]);\n return result;\n}",".container {\n display: flex;\n width: 100%;\n height: 100%;\n background-color: var(--osdk-document-viewer-bg);\n border: var(--osdk-document-viewer-border);\n border-radius: var(--osdk-surface-border-radius);\n overflow: hidden;\n}\n\n.unsupportedContainer {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--osdk-surface-spacing);\n width: 100%;\n height: 100%;\n font-family: var(--osdk-typography-family-default);\n font-size: var(--osdk-typography-size-body-medium);\n color: var(--osdk-typography-color-muted);\n}\n\n.unsupportedIcon {\n flex-shrink: 0;\n}\n\n.loadingContainer {\n composes: loadingContainer from \"../shared/LoadingError.module.css\";\n width: 100%;\n}\n\n.spinnerIcon {\n composes: spinnerIcon from \"../shared/LoadingError.module.css\";\n}\n","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Spin } from \"@blueprintjs/icons\";\nimport React from \"react\";\nimport { TiffViewerMedia } from \"../images/tiff-renderer/TiffViewerMedia.js\";\nimport { BasePdfViewer } from \"../pdf-viewer/PdfViewer.js\";\nimport { ViewerType } from \"./DocumentViewerApi.js\";\nimport { useTiffToPdf } from \"./hooks/useTiffToPdf.js\";\nimport styles from \"./DocumentViewer.module.css\";\nexport function TiffDocumentViewer({\n media,\n className,\n enableTiffToPdf,\n tiffRendererProps,\n pdfViewerProps\n}) {\n const {\n viewerType,\n pdfData,\n loading\n } = useTiffToPdf(media, enableTiffToPdf);\n if (loading) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.loadingContainer\n }, /*#__PURE__*/React.createElement(Spin, {\n className: styles.spinnerIcon\n }), \"Converting document\\u2026\"));\n }\n if (viewerType === ViewerType.Pdf && pdfData != null) {\n return /*#__PURE__*/React.createElement(BasePdfViewer, _extends({\n src: pdfData,\n className: className\n }, pdfViewerProps));\n }\n return /*#__PURE__*/React.createElement(TiffViewerMedia, _extends({\n media: media,\n className: className\n }, tiffRendererProps));\n}","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* cspell:words openxmlformats officedocument wordprocessingml spreadsheetml */\n\nimport { Document as DocumentIcon } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React, { useMemo } from \"react\";\nimport { EmailViewer } from \"../email-viewer/EmailViewer.js\";\nimport { ExcelViewer } from \"../excel-viewer/ExcelViewer.js\";\nimport { ImageViewer } from \"../images/image-viewer/ImageViewer.js\";\nimport { TiffViewerMedia } from \"../images/tiff-renderer/TiffViewerMedia.js\";\nimport { MarkdownViewerMedia } from \"../markdown-renderer/MarkdownViewerMedia.js\";\nimport { PdfViewer } from \"../pdf-viewer/PdfRenderer.js\";\nimport { assertUnreachable } from \"../shared/assertUnreachable.js\";\nimport { 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.Excel;\n }\n if (mimeType === \"message/rfc822\") {\n return ViewerType.Email;\n }\n if (XML_MIME_TYPES.has(mimeType)) {\n return ViewerType.Xml;\n }\n return ViewerType.Unsupported;\n}\nexport function DocumentViewer({\n media,\n className,\n mimeTypeOverride,\n pdfViewerProps,\n imageViewerProps,\n videoViewerProps,\n tiffRendererProps,\n markdownRendererProps,\n excelViewerProps,\n emailViewerProps,\n xmlViewerProps,\n fileName,\n enableTiffToPdf = false\n}) {\n const mimeType = mimeTypeOverride ?? media.getMediaReference().mimeType;\n const viewerType = useMemo(() => getViewerType(mimeType, fileName), [mimeType, fileName]);\n const rootClassName = classnames(styles.container, className);\n switch (viewerType) {\n case ViewerType.Pdf:\n return /*#__PURE__*/React.createElement(PdfViewer, _extends({\n media: media,\n className: rootClassName\n }, pdfViewerProps));\n case ViewerType.Tiff:\n if (enableTiffToPdf) {\n return /*#__PURE__*/React.createElement(TiffDocumentViewer, {\n media: media,\n className: rootClassName,\n enableTiffToPdf: enableTiffToPdf,\n tiffRendererProps: tiffRendererProps,\n pdfViewerProps: pdfViewerProps\n });\n }\n return /*#__PURE__*/React.createElement(TiffViewerMedia, _extends({\n media: media,\n className: rootClassName\n }, tiffRendererProps));\n case ViewerType.Image:\n return /*#__PURE__*/React.createElement(ImageViewer, _extends({\n media: media,\n className: rootClassName\n }, imageViewerProps));\n case ViewerType.Video:\n return /*#__PURE__*/React.createElement(VideoViewer, _extends({\n media: media,\n className: rootClassName\n }, videoViewerProps));\n case ViewerType.Markdown:\n return /*#__PURE__*/React.createElement(MarkdownViewerMedia, _extends({\n media: media,\n className: rootClassName\n }, markdownRendererProps));\n case ViewerType.Excel:\n return /*#__PURE__*/React.createElement(ExcelViewer, _extends({\n media: media,\n className: rootClassName\n }, excelViewerProps));\n case ViewerType.Email:\n return /*#__PURE__*/React.createElement(EmailViewer, _extends({\n media: media,\n className: rootClassName\n }, emailViewerProps));\n case ViewerType.Xml:\n return /*#__PURE__*/React.createElement(XmlViewer, _extends({\n media: media,\n className: rootClassName\n }, xmlViewerProps));\n case ViewerType.Unsupported:\n return /*#__PURE__*/React.createElement(\"div\", {\n className: rootClassName\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.unsupportedContainer\n }, /*#__PURE__*/React.createElement(DocumentIcon, {\n className: styles.unsupportedIcon\n }), \"Unsupported file type: \", mimeType));\n default:\n assertUnreachable(viewerType);\n }\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// DocumentViewer\nimport { DocumentViewer as _DocumentViewer } from \"../../document-viewer/DocumentViewer.js\";\nimport { withOsdkMetrics } from \"../../util/withOsdkMetrics.js\";\nexport const DocumentViewer = withOsdkMetrics(_DocumentViewer, \"DocumentViewer\");\nexport { ViewerType } from \"../../document-viewer/DocumentViewerApi.js\";"]}
@@ -7,7 +7,7 @@ var chunkHNBSGCSZ_cjs = require('./chunk-HNBSGCSZ.cjs');
7
7
  var chunk7LXS66DW_cjs = require('./chunk-7LXS66DW.cjs');
8
8
  var chunkQP2LHBCZ_cjs = require('./chunk-QP2LHBCZ.cjs');
9
9
  var chunkUCTQICPR_cjs = require('./chunk-UCTQICPR.cjs');
10
- var chunkBS33YD7D_cjs = require('./chunk-BS33YD7D.cjs');
10
+ var chunkPAM5ZN2T_cjs = require('./chunk-PAM5ZN2T.cjs');
11
11
  var react = require('@osdk/react');
12
12
  var React17 = require('react');
13
13
  var icons = require('@blueprintjs/icons');
@@ -1853,9 +1853,9 @@ var ActionForm = chunkASBETQHB_cjs.typedReactMemo(function ActionFormFn({
1853
1853
  ActionForm.displayName = "ActionForm";
1854
1854
 
1855
1855
  // src/public/experimental/action-form.ts
1856
- var ActionForm2 = chunkBS33YD7D_cjs.withOsdkMetrics(ActionForm, "ActionForm");
1856
+ var ActionForm2 = chunkPAM5ZN2T_cjs.withOsdkMetrics(ActionForm, "ActionForm");
1857
1857
 
1858
1858
  exports.ActionForm = ActionForm2;
1859
1859
  exports.BaseForm = BaseForm;
1860
- //# sourceMappingURL=chunk-3KJOYT3V.cjs.map
1861
- //# sourceMappingURL=chunk-3KJOYT3V.cjs.map
1860
+ //# sourceMappingURL=chunk-DFHVAXNG.cjs.map
1861
+ //# sourceMappingURL=chunk-DFHVAXNG.cjs.map