@osdk/react-components 0.60.0 → 0.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/browser/filter-list/FilterListApi.js.map +1 -1
  3. package/build/browser/filter-list/hooks/useFilterListState.js +15 -2
  4. package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -1
  5. package/build/browser/util/UserAgent.js +1 -1
  6. package/build/cjs/chunk-2L52ISL4.cjs +11 -0
  7. package/build/cjs/{chunk-AIQ7KF4M.cjs.map → chunk-2L52ISL4.cjs.map} +1 -1
  8. package/build/cjs/{chunk-RRIUU6RR.cjs → chunk-3CGO6BJA.cjs} +8 -8
  9. package/build/cjs/{chunk-RRIUU6RR.cjs.map → chunk-3CGO6BJA.cjs.map} +1 -1
  10. package/build/cjs/{chunk-KCM63FLA.cjs → chunk-3SBGGTFL.cjs} +4 -4
  11. package/build/cjs/{chunk-KCM63FLA.cjs.map → chunk-3SBGGTFL.cjs.map} +1 -1
  12. package/build/cjs/{chunk-QB6PFRJW.cjs → chunk-4N5G4SGE.cjs} +4 -4
  13. package/build/cjs/{chunk-QB6PFRJW.cjs.map → chunk-4N5G4SGE.cjs.map} +1 -1
  14. package/build/cjs/chunk-57GL4OIU.cjs +12 -0
  15. package/build/cjs/{chunk-CDS3AINF.cjs.map → chunk-57GL4OIU.cjs.map} +1 -1
  16. package/build/cjs/{chunk-AHUBRJTM.cjs → chunk-7R2QPKDB.cjs} +4 -4
  17. package/build/cjs/{chunk-AHUBRJTM.cjs.map → chunk-7R2QPKDB.cjs.map} +1 -1
  18. package/build/cjs/chunk-ACHOHMXA.cjs +11 -0
  19. package/build/cjs/{chunk-2OMAFA4E.cjs.map → chunk-ACHOHMXA.cjs.map} +1 -1
  20. package/build/cjs/chunk-BOUML6UZ.cjs +34 -0
  21. package/build/cjs/{chunk-F2ABEL3W.cjs.map → chunk-BOUML6UZ.cjs.map} +1 -1
  22. package/build/cjs/{chunk-N3OQQ7O2.cjs → chunk-CHPLIOOB.cjs} +4 -4
  23. package/build/cjs/{chunk-N3OQQ7O2.cjs.map → chunk-CHPLIOOB.cjs.map} +1 -1
  24. package/build/cjs/{chunk-ARAI6NC3.cjs → chunk-DIFKL7BU.cjs} +4 -4
  25. package/build/cjs/{chunk-ARAI6NC3.cjs.map → chunk-DIFKL7BU.cjs.map} +1 -1
  26. package/build/cjs/{chunk-SSUE2MSG.cjs → chunk-DTRPRRNF.cjs} +4 -4
  27. package/build/cjs/{chunk-SSUE2MSG.cjs.map → chunk-DTRPRRNF.cjs.map} +1 -1
  28. package/build/cjs/{chunk-G2BO6HXZ.cjs → chunk-HMCDTUEW.cjs} +4 -4
  29. package/build/cjs/{chunk-G2BO6HXZ.cjs.map → chunk-HMCDTUEW.cjs.map} +1 -1
  30. package/build/cjs/{chunk-AH6MXN5I.cjs → chunk-IZ74MWVK.cjs} +4 -4
  31. package/build/cjs/{chunk-AH6MXN5I.cjs.map → chunk-IZ74MWVK.cjs.map} +1 -1
  32. package/build/cjs/chunk-K4EZHHG5.cjs +11 -0
  33. package/build/cjs/{chunk-BDJOLFRZ.cjs.map → chunk-K4EZHHG5.cjs.map} +1 -1
  34. package/build/cjs/chunk-L4LPGT2S.cjs +11 -0
  35. package/build/cjs/{chunk-BZSTIG6Z.cjs.map → chunk-L4LPGT2S.cjs.map} +1 -1
  36. package/build/cjs/chunk-LNOI7H2O.cjs +11 -0
  37. package/build/cjs/{chunk-W6YOJGYN.cjs.map → chunk-LNOI7H2O.cjs.map} +1 -1
  38. package/build/cjs/chunk-MWNYJFG6.cjs +12 -0
  39. package/build/cjs/{chunk-3XZEEYCH.cjs.map → chunk-MWNYJFG6.cjs.map} +1 -1
  40. package/build/cjs/{chunk-6OY2PXVD.cjs → chunk-N6FIHXUT.cjs} +5 -5
  41. package/build/cjs/{chunk-6OY2PXVD.cjs.map → chunk-N6FIHXUT.cjs.map} +1 -1
  42. package/build/cjs/{chunk-QUIU2R3K.cjs → chunk-NBECY2US.cjs} +3 -3
  43. package/build/cjs/{chunk-QUIU2R3K.cjs.map → chunk-NBECY2US.cjs.map} +1 -1
  44. package/build/cjs/{chunk-FNTWVHEV.cjs → chunk-NTBCTN2U.cjs} +18 -5
  45. package/build/cjs/chunk-NTBCTN2U.cjs.map +1 -0
  46. package/build/cjs/{chunk-PGRRA4BL.cjs → chunk-NUK5FOSF.cjs} +4 -4
  47. package/build/cjs/{chunk-PGRRA4BL.cjs.map → chunk-NUK5FOSF.cjs.map} +1 -1
  48. package/build/cjs/{chunk-NL4CBWG2.cjs → chunk-QCVVEZ4E.cjs} +5 -5
  49. package/build/cjs/{chunk-NL4CBWG2.cjs.map → chunk-QCVVEZ4E.cjs.map} +1 -1
  50. package/build/cjs/{chunk-YQQTH5L6.cjs → chunk-RJXOGQTP.cjs} +4 -4
  51. package/build/cjs/{chunk-YQQTH5L6.cjs.map → chunk-RJXOGQTP.cjs.map} +1 -1
  52. package/build/cjs/chunk-ROVEY2XZ.cjs +11 -0
  53. package/build/cjs/{chunk-KCAVAISN.cjs.map → chunk-ROVEY2XZ.cjs.map} +1 -1
  54. package/build/cjs/chunk-WL56Z5NS.cjs +48 -0
  55. package/build/cjs/{chunk-TZLL7BKE.cjs.map → chunk-WL56Z5NS.cjs.map} +1 -1
  56. package/build/cjs/{chunk-IOXGHPSW.cjs → chunk-YHMDFD5J.cjs} +4 -4
  57. package/build/cjs/{chunk-IOXGHPSW.cjs.map → chunk-YHMDFD5J.cjs.map} +1 -1
  58. package/build/cjs/{filter-list-DiC8K42a.d.cts → filter-list-CSsx52WJ.d.cts} +4 -0
  59. package/build/cjs/public/action-form.cjs +4 -4
  60. package/build/cjs/public/document-viewer.cjs +4 -4
  61. package/build/cjs/public/email-viewer.cjs +3 -3
  62. package/build/cjs/public/experimental/action-form.cjs +5 -5
  63. package/build/cjs/public/experimental/cbac-picker.cjs +11 -11
  64. package/build/cjs/public/experimental/document-viewer.cjs +5 -5
  65. package/build/cjs/public/experimental/email-viewer.cjs +5 -5
  66. package/build/cjs/public/experimental/filter-list.cjs +16 -16
  67. package/build/cjs/public/experimental/filter-list.d.cts +1 -1
  68. package/build/cjs/public/experimental/image-viewer.cjs +5 -5
  69. package/build/cjs/public/experimental/markdown-renderer.cjs +7 -7
  70. package/build/cjs/public/experimental/object-table.cjs +23 -23
  71. package/build/cjs/public/experimental/pdf-viewer.cjs +25 -25
  72. package/build/cjs/public/experimental/spreadsheet-viewer.cjs +5 -5
  73. package/build/cjs/public/experimental/tiff-renderer.cjs +7 -7
  74. package/build/cjs/public/experimental/video-viewer.cjs +5 -5
  75. package/build/cjs/public/experimental/xml-viewer.cjs +5 -5
  76. package/build/cjs/public/experimental.cjs +112 -112
  77. package/build/cjs/public/experimental.d.cts +1 -1
  78. package/build/cjs/public/filter-list.cjs +15 -15
  79. package/build/cjs/public/filter-list.d.cts +1 -1
  80. package/build/cjs/public/image-viewer.cjs +3 -3
  81. package/build/cjs/public/markdown-viewer.cjs +3 -3
  82. package/build/cjs/public/object-table.cjs +22 -22
  83. package/build/cjs/public/pdf-viewer.cjs +7 -7
  84. package/build/cjs/public/spreadsheet-viewer.cjs +3 -3
  85. package/build/cjs/public/tiff-viewer.cjs +3 -3
  86. package/build/cjs/public/video-viewer.cjs +3 -3
  87. package/build/cjs/public/xml-viewer.cjs +3 -3
  88. package/build/esm/filter-list/FilterListApi.js.map +1 -1
  89. package/build/esm/filter-list/hooks/useFilterListState.js +15 -2
  90. package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -1
  91. package/build/esm/util/UserAgent.js +1 -1
  92. package/build/types/filter-list/FilterListApi.d.ts +2 -0
  93. package/build/types/filter-list/FilterListApi.d.ts.map +1 -1
  94. package/package.json +3 -3
  95. package/build/cjs/chunk-2OMAFA4E.cjs +0 -11
  96. package/build/cjs/chunk-3XZEEYCH.cjs +0 -12
  97. package/build/cjs/chunk-AIQ7KF4M.cjs +0 -11
  98. package/build/cjs/chunk-BDJOLFRZ.cjs +0 -11
  99. package/build/cjs/chunk-BZSTIG6Z.cjs +0 -11
  100. package/build/cjs/chunk-CDS3AINF.cjs +0 -12
  101. package/build/cjs/chunk-F2ABEL3W.cjs +0 -34
  102. package/build/cjs/chunk-FNTWVHEV.cjs.map +0 -1
  103. package/build/cjs/chunk-KCAVAISN.cjs +0 -11
  104. package/build/cjs/chunk-TZLL7BKE.cjs +0 -48
  105. package/build/cjs/chunk-W6YOJGYN.cjs +0 -11
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @osdk/react-components
2
2
 
3
+ ## 0.61.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 119ff0d: Fire onFilterListChanged when the objectSet prop changes so consumers receive an up-to-date filteredObjectSet
8
+
3
9
  ## 0.60.0
4
10
 
5
11
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"FilterListApi.js","names":[],"sources":["FilterListApi.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n LinkNames,\n ObjectSet,\n ObjectTypeDefinition,\n WhereClause,\n} from \"@osdk/api\";\nimport type React from \"react\";\nimport type { ReactNode } from \"react\";\n\nimport type {\n FilterState,\n PropertyFilterDefinition,\n} from \"./FilterListItemApi.js\";\nimport type { CustomFilterDefinition } from \"./types/CustomRendererTypes.js\";\nimport type { KeywordSearchFilterDefinition } from \"./types/KeywordSearchTypes.js\";\nimport type {\n HasLinkFilterDefinition,\n LinkedPropertyFilterDefinition,\n} from \"./types/LinkedFilterTypes.js\";\nimport type { StaticValuesFilterDefinition } from \"./types/StaticValuesTypes.js\";\n\n/**\n * Distributes LinkedPropertyFilterDefinition over each link name individually,\n * so that LinkedQ/LinkedK/LinkedC defaults resolve correctly per link.\n */\ntype DistributeLinkedProperty<\n Q extends ObjectTypeDefinition,\n L extends LinkNames<Q>,\n> = L extends LinkNames<Q> ? LinkedPropertyFilterDefinition<Q, L> : never;\n\n/**\n * Union type of all filter definition types\n */\nexport type FilterDefinitionUnion<Q extends ObjectTypeDefinition> =\n | PropertyFilterDefinition<Q>\n | HasLinkFilterDefinition<Q>\n | DistributeLinkedProperty<Q, LinkNames<Q>>\n | KeywordSearchFilterDefinition<Q>\n | CustomFilterDefinition<Q>\n | StaticValuesFilterDefinition<Q>;\n\n/**\n * The filter state after a change, in one payload.\n */\nexport interface FilterChangeSnapshot<Q extends ObjectTypeDefinition> {\n /**\n * The combined clause for all active filters.\n *\n * `HAS_LINK` and `LINKED_PROPERTY` filters are not represented in the clause —\n * read `filteredObjectSet` for those.\n */\n filterClause: WhereClause<Q>;\n\n /**\n * The `objectSet` prop filtered by all active filters, including `HAS_LINK`\n * and `LINKED_PROPERTY`, or `undefined` when no `objectSet` was supplied.\n */\n filteredObjectSet: ObjectSet<Q> | undefined;\n}\n\n/**\n * What the user did to the filter state.\n */\nexport type FilterChangeReason =\n /** A filter's state was set — selected values changed, include/exclude mode toggled, or filter cleared. */\n | { type: \"FILTER_STATE_CHANGED\"; filterKey: string; newState: FilterState }\n /** A filter was removed from the list. */\n | { type: \"FILTER_REMOVED\"; filterKey: string }\n /** Every filter was restored to the state it mounted with. */\n | { type: \"FILTER_LIST_RESET\" }\n /** The list mounted, reporting the state it started with. */\n | { type: \"FILTER_LIST_INITIALIZED\" };\n\n/**\n * The payload delivered to `onFilterListChanged`.\n */\nexport interface FilterChangeEvent<Q extends ObjectTypeDefinition> {\n /** The filter state the change produced. */\n snapshot: FilterChangeSnapshot<Q>;\n /** What changed. */\n reason: FilterChangeReason;\n}\n\nexport interface FilterListProps<Q extends ObjectTypeDefinition> {\n /**\n * The object type definition for the objects being filtered.\n * Used for metadata resolution (property types, display names).\n */\n objectType: Q;\n\n /**\n * Optional object set to scope aggregation queries. When omitted,\n * aggregations run against the full object type.\n *\n * Required for `HAS_LINK` and `LINKED_PROPERTY` filters to work.\n */\n objectSet?: ObjectSet<Q>;\n\n /**\n * The definition for all supported filter items in the list\n * If not supplied, all filterable properties will be available\n */\n filterDefinitions?: Array<FilterDefinitionUnion<Q>>;\n\n /**\n * Seeds filter states from external storage, keyed by `getFilterKey`.\n * Applied over the per-definition `defaultFilterState` seeds on mount, and\n * FilterList owns the states from then on. Also the state the reset button\n * restores to.\n * Use `onFilterStateChanged` to persist changes back out.\n *\n * @default undefined (filters seed from their definitions alone)\n */\n defaultFilterStates?: Map<string, FilterState>;\n\n /**\n * @deprecated Rename to `defaultFilterStates`.\n */\n initialFilterStates?: Map<string, FilterState>;\n\n /**\n * Called on filter init and when filter state changes.\n *\n * @param event `snapshot` carries the filter state the change produced;\n * `reason` carries what changed.\n */\n onFilterListChanged?: (event: FilterChangeEvent<Q>) => void;\n\n /**\n * Called whenever the filter clause changes. FilterList owns filter state;\n * this is how you read it out, e.g. to feed an `ObjectTable`'s `filter`.\n *\n * `HAS_LINK` and `LINKED_PROPERTY` filters are not represented in the clause\n * — use `onEffectiveObjectSet` for those.\n *\n * @param newClause The updated filter clause\n * @deprecated Use `onFilterListChanged`, whose `snapshot` reports the clause\n * alongside the filtered `ObjectSet`.\n */\n onFilterClauseChanged?: (newClause: WhereClause<Q>) => void;\n\n /**\n * Called when filter state changes\n *\n * @param definition The filter definition whose state changed\n * @param newState The updated filter state\n * @deprecated Use `onFilterListChanged`, which reports every set / clear / reset\n * with an `event` describing what changed.\n */\n onFilterStateChanged?: (\n definition: FilterDefinitionUnion<Q>,\n newState: FilterState,\n ) => void;\n\n /**\n * Called with the filtered `ObjectSet` whenever filters change. Requires\n * `objectSet` to be set. `HAS_LINK` and `LINKED_PROPERTY` filters apply only\n * here, never through the filter clause.\n *\n * @deprecated Use `onFilterListChanged`, whose `snapshot.filteredObjectSet`\n * reports the same filtered set alongside the clause.\n */\n onEffectiveObjectSet?: (objectSet: ObjectSet<Q>) => void;\n\n /**\n * Controls how filter visibility (add/remove) is managed.\n *\n * - `\"uncontrolled\"` (default): FilterList manages visibility internally.\n * An \"Add filter\" popover is rendered for filters with `isVisible: false`,\n * and each visible filter shows a remove button.\n * - `\"controlled\"`: The consumer manages which filters are visible via\n * `filterDefinitions`. Filters with `isVisible: false` are excluded from\n * the rendered list.\n *\n * @default \"uncontrolled\"\n * @deprecated Going away; visibility will always be managed internally.\n * Seed it with `isVisible` on each `filterDefinitions` entry and observe\n * changes with `onFilterVisibilityChange`.\n */\n addFilterMode?: \"controlled\" | \"uncontrolled\";\n\n /**\n * Custom render function for the \"Add filter\" button. Customizes the trigger\n * element for the built-in add-filter popover; the popover behavior is\n * handled automatically.\n */\n renderAddFilterButton?: () => React.ReactNode;\n\n /**\n * Called after a filter is shown from the built-in \"Add filter\" popover.\n *\n * @param filterKey The key of the added filter\n * @param newDefinitions Deprecated. The `filterDefinitions` you passed in,\n * unchanged — not the post-add state. Use `onFilterVisibilityChange`.\n */\n onFilterAdded?: (\n filterKey: string,\n /** @deprecated Use `onFilterVisibilityChange`. */\n /* eslint-disable-next-line @typescript-eslint/no-deprecated */\n newDefinitions: Array<FilterDefinitionUnion<Q>>,\n ) => void;\n\n /**\n * Called after a filter's remove button is clicked, once the filter is\n * hidden and its state cleared.\n *\n * @param filterKey The key of the removed filter\n */\n onFilterRemoved?: (filterKey: string) => void;\n\n /**\n * Enable drag-and-drop reordering of filters. When `true`, drag handles are\n * rendered and filters can be reordered.\n *\n * Reorder state is managed internally; persist `onFilterVisibilityChange` to\n * track order across remounts.\n *\n * @default false\n */\n enableSorting?: boolean;\n\n /**\n * Called when filter visibility or ordering changes, i.e. when filters are\n * reordered, added or removed via the built-in show/remove controls, or\n * reset.\n *\n * Visible filters come first, in display order, followed by the hidden ones.\n * Persist this array and feed it back as the order and `isVisible` of\n * `filterDefinitions` to make reordering survive a remount.\n *\n * @param newStates The filters in current display order with their visibility state\n */\n onFilterVisibilityChange?: (\n newStates: Array<{\n filterKey: string;\n isVisible: boolean;\n }>,\n ) => void;\n\n /**\n * Whether the collapse/expand control is available. When `false` the panel is\n * always expanded, no collapse control is rendered, and `collapsed` /\n * `defaultCollapsed` are ignored.\n * @default true\n */\n enableCollapse?: boolean;\n\n /**\n * Controlled mode. When supplied, this prop is the source of truth for\n * whether the panel is collapsed and the component keeps no internal state;\n * re-render with a new value in response to `onCollapsedChange`.\n *\n * If both `collapsed` and `defaultCollapsed` are provided, `collapsed` takes\n * precedence. Ignored when `enableCollapse` is `false`.\n */\n collapsed?: boolean;\n\n /**\n * Uncontrolled mode. Seeds the panel's internal collapsed state; the\n * component continues to own the state after mount, so later changes to this\n * prop are ignored.\n *\n * If both `collapsed` and `defaultCollapsed` are provided, `collapsed` takes\n * precedence. Ignored when `enableCollapse` is `false`.\n * @default false\n */\n defaultCollapsed?: boolean;\n\n /**\n * Called whenever the collapsed state changes.\n *\n * @param collapsed The new collapsed state\n */\n onCollapsedChange?: (collapsed: boolean) => void;\n\n /**\n * Show reset filters button in header\n */\n showResetButton?: boolean;\n\n /**\n * Called when reset button is clicked\n */\n onReset?: () => void;\n\n /**\n * Optional title to display in the filter list header\n */\n title?: ReactNode;\n\n /**\n * Optional icon to display next to the title\n */\n titleIcon?: React.ReactNode;\n\n /**\n * Show count of active filters in header\n */\n showActiveFilterCount?: boolean;\n\n /**\n * When `true`, facets render greyed-out count=0 rows for values present in\n * the unfiltered data but excluded by other active filters.\n * @default false\n */\n showFilteredOutValues?: boolean;\n\n /**\n * Additional CSS class name\n */\n className?: string;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"FilterListApi.js","names":[],"sources":["FilterListApi.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n LinkNames,\n ObjectSet,\n ObjectTypeDefinition,\n WhereClause,\n} from \"@osdk/api\";\nimport type React from \"react\";\nimport type { ReactNode } from \"react\";\n\nimport type {\n FilterState,\n PropertyFilterDefinition,\n} from \"./FilterListItemApi.js\";\nimport type { CustomFilterDefinition } from \"./types/CustomRendererTypes.js\";\nimport type { KeywordSearchFilterDefinition } from \"./types/KeywordSearchTypes.js\";\nimport type {\n HasLinkFilterDefinition,\n LinkedPropertyFilterDefinition,\n} from \"./types/LinkedFilterTypes.js\";\nimport type { StaticValuesFilterDefinition } from \"./types/StaticValuesTypes.js\";\n\n/**\n * Distributes LinkedPropertyFilterDefinition over each link name individually,\n * so that LinkedQ/LinkedK/LinkedC defaults resolve correctly per link.\n */\ntype DistributeLinkedProperty<\n Q extends ObjectTypeDefinition,\n L extends LinkNames<Q>,\n> = L extends LinkNames<Q> ? LinkedPropertyFilterDefinition<Q, L> : never;\n\n/**\n * Union type of all filter definition types\n */\nexport type FilterDefinitionUnion<Q extends ObjectTypeDefinition> =\n | PropertyFilterDefinition<Q>\n | HasLinkFilterDefinition<Q>\n | DistributeLinkedProperty<Q, LinkNames<Q>>\n | KeywordSearchFilterDefinition<Q>\n | CustomFilterDefinition<Q>\n | StaticValuesFilterDefinition<Q>;\n\n/**\n * The filter state after a change, in one payload.\n */\nexport interface FilterChangeSnapshot<Q extends ObjectTypeDefinition> {\n /**\n * The combined clause for all active filters.\n *\n * `HAS_LINK` and `LINKED_PROPERTY` filters are not represented in the clause —\n * read `filteredObjectSet` for those.\n */\n filterClause: WhereClause<Q>;\n\n /**\n * The `objectSet` prop filtered by all active filters, including `HAS_LINK`\n * and `LINKED_PROPERTY`, or `undefined` when no `objectSet` was supplied.\n */\n filteredObjectSet: ObjectSet<Q> | undefined;\n}\n\n/**\n * What the user did to the filter state.\n */\nexport type FilterChangeReason =\n /** A filter's state was set — selected values changed, include/exclude mode toggled, or filter cleared. */\n | { type: \"FILTER_STATE_CHANGED\"; filterKey: string; newState: FilterState }\n /** A filter was removed from the list. */\n | { type: \"FILTER_REMOVED\"; filterKey: string }\n /** Every filter was restored to the state it mounted with. */\n | { type: \"FILTER_LIST_RESET\" }\n /** The list mounted, reporting the state it started with. */\n | { type: \"FILTER_LIST_INITIALIZED\" }\n /** The `objectSet` prop changed; the snapshot reflects the new base with all active filters re-applied. */\n | { type: \"OBJECT_SET_CHANGED\" };\n\n/**\n * The payload delivered to `onFilterListChanged`.\n */\nexport interface FilterChangeEvent<Q extends ObjectTypeDefinition> {\n /** The filter state the change produced. */\n snapshot: FilterChangeSnapshot<Q>;\n /** What changed. */\n reason: FilterChangeReason;\n}\n\nexport interface FilterListProps<Q extends ObjectTypeDefinition> {\n /**\n * The object type definition for the objects being filtered.\n * Used for metadata resolution (property types, display names).\n */\n objectType: Q;\n\n /**\n * Optional object set to scope aggregation queries. When omitted,\n * aggregations run against the full object type.\n *\n * Required for `HAS_LINK` and `LINKED_PROPERTY` filters to work.\n */\n objectSet?: ObjectSet<Q>;\n\n /**\n * The definition for all supported filter items in the list\n * If not supplied, all filterable properties will be available\n */\n filterDefinitions?: Array<FilterDefinitionUnion<Q>>;\n\n /**\n * Seeds filter states from external storage, keyed by `getFilterKey`.\n * Applied over the per-definition `defaultFilterState` seeds on mount, and\n * FilterList owns the states from then on. Also the state the reset button\n * restores to.\n * Use `onFilterStateChanged` to persist changes back out.\n *\n * @default undefined (filters seed from their definitions alone)\n */\n defaultFilterStates?: Map<string, FilterState>;\n\n /**\n * @deprecated Rename to `defaultFilterStates`.\n */\n initialFilterStates?: Map<string, FilterState>;\n\n /**\n * Called on filter init and when filter state changes.\n *\n * @param event `snapshot` carries the filter state the change produced;\n * `reason` carries what changed.\n */\n onFilterListChanged?: (event: FilterChangeEvent<Q>) => void;\n\n /**\n * Called whenever the filter clause changes. FilterList owns filter state;\n * this is how you read it out, e.g. to feed an `ObjectTable`'s `filter`.\n *\n * `HAS_LINK` and `LINKED_PROPERTY` filters are not represented in the clause\n * — use `onEffectiveObjectSet` for those.\n *\n * @param newClause The updated filter clause\n * @deprecated Use `onFilterListChanged`, whose `snapshot` reports the clause\n * alongside the filtered `ObjectSet`.\n */\n onFilterClauseChanged?: (newClause: WhereClause<Q>) => void;\n\n /**\n * Called when filter state changes\n *\n * @param definition The filter definition whose state changed\n * @param newState The updated filter state\n * @deprecated Use `onFilterListChanged`, which reports every set / clear / reset\n * with an `event` describing what changed.\n */\n onFilterStateChanged?: (\n definition: FilterDefinitionUnion<Q>,\n newState: FilterState,\n ) => void;\n\n /**\n * Called with the filtered `ObjectSet` whenever filters change. Requires\n * `objectSet` to be set. `HAS_LINK` and `LINKED_PROPERTY` filters apply only\n * here, never through the filter clause.\n *\n * @deprecated Use `onFilterListChanged`, whose `snapshot.filteredObjectSet`\n * reports the same filtered set alongside the clause.\n */\n onEffectiveObjectSet?: (objectSet: ObjectSet<Q>) => void;\n\n /**\n * Controls how filter visibility (add/remove) is managed.\n *\n * - `\"uncontrolled\"` (default): FilterList manages visibility internally.\n * An \"Add filter\" popover is rendered for filters with `isVisible: false`,\n * and each visible filter shows a remove button.\n * - `\"controlled\"`: The consumer manages which filters are visible via\n * `filterDefinitions`. Filters with `isVisible: false` are excluded from\n * the rendered list.\n *\n * @default \"uncontrolled\"\n * @deprecated Going away; visibility will always be managed internally.\n * Seed it with `isVisible` on each `filterDefinitions` entry and observe\n * changes with `onFilterVisibilityChange`.\n */\n addFilterMode?: \"controlled\" | \"uncontrolled\";\n\n /**\n * Custom render function for the \"Add filter\" button. Customizes the trigger\n * element for the built-in add-filter popover; the popover behavior is\n * handled automatically.\n */\n renderAddFilterButton?: () => React.ReactNode;\n\n /**\n * Called after a filter is shown from the built-in \"Add filter\" popover.\n *\n * @param filterKey The key of the added filter\n * @param newDefinitions Deprecated. The `filterDefinitions` you passed in,\n * unchanged — not the post-add state. Use `onFilterVisibilityChange`.\n */\n onFilterAdded?: (\n filterKey: string,\n /** @deprecated Use `onFilterVisibilityChange`. */\n /* eslint-disable-next-line @typescript-eslint/no-deprecated */\n newDefinitions: Array<FilterDefinitionUnion<Q>>,\n ) => void;\n\n /**\n * Called after a filter's remove button is clicked, once the filter is\n * hidden and its state cleared.\n *\n * @param filterKey The key of the removed filter\n */\n onFilterRemoved?: (filterKey: string) => void;\n\n /**\n * Enable drag-and-drop reordering of filters. When `true`, drag handles are\n * rendered and filters can be reordered.\n *\n * Reorder state is managed internally; persist `onFilterVisibilityChange` to\n * track order across remounts.\n *\n * @default false\n */\n enableSorting?: boolean;\n\n /**\n * Called when filter visibility or ordering changes, i.e. when filters are\n * reordered, added or removed via the built-in show/remove controls, or\n * reset.\n *\n * Visible filters come first, in display order, followed by the hidden ones.\n * Persist this array and feed it back as the order and `isVisible` of\n * `filterDefinitions` to make reordering survive a remount.\n *\n * @param newStates The filters in current display order with their visibility state\n */\n onFilterVisibilityChange?: (\n newStates: Array<{\n filterKey: string;\n isVisible: boolean;\n }>,\n ) => void;\n\n /**\n * Whether the collapse/expand control is available. When `false` the panel is\n * always expanded, no collapse control is rendered, and `collapsed` /\n * `defaultCollapsed` are ignored.\n * @default true\n */\n enableCollapse?: boolean;\n\n /**\n * Controlled mode. When supplied, this prop is the source of truth for\n * whether the panel is collapsed and the component keeps no internal state;\n * re-render with a new value in response to `onCollapsedChange`.\n *\n * If both `collapsed` and `defaultCollapsed` are provided, `collapsed` takes\n * precedence. Ignored when `enableCollapse` is `false`.\n */\n collapsed?: boolean;\n\n /**\n * Uncontrolled mode. Seeds the panel's internal collapsed state; the\n * component continues to own the state after mount, so later changes to this\n * prop are ignored.\n *\n * If both `collapsed` and `defaultCollapsed` are provided, `collapsed` takes\n * precedence. Ignored when `enableCollapse` is `false`.\n * @default false\n */\n defaultCollapsed?: boolean;\n\n /**\n * Called whenever the collapsed state changes.\n *\n * @param collapsed The new collapsed state\n */\n onCollapsedChange?: (collapsed: boolean) => void;\n\n /**\n * Show reset filters button in header\n */\n showResetButton?: boolean;\n\n /**\n * Called when reset button is clicked\n */\n onReset?: () => void;\n\n /**\n * Optional title to display in the filter list header\n */\n title?: ReactNode;\n\n /**\n * Optional icon to display next to the title\n */\n titleIcon?: React.ReactNode;\n\n /**\n * Show count of active filters in header\n */\n showActiveFilterCount?: boolean;\n\n /**\n * When `true`, facets render greyed-out count=0 rows for values present in\n * the unfiltered data but excluded by other active filters.\n * @default false\n */\n showFilteredOutValues?: boolean;\n\n /**\n * Additional CSS class name\n */\n className?: string;\n}\n"],"mappings":"","ignoreList":[]}
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { useOsdkMetadata } from "@osdk/react";
17
+ import { useOsdkMetadata, useStableObjectSet } from "@osdk/react";
18
18
  import { isEqual } from "lodash-es";
19
19
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
20
20
  import { buildWhereClause, getActiveLinkedFilters } from "../utils/filterStateToWhereClause.js";
@@ -48,7 +48,7 @@ function deriveSnapshot(definitions, filterStates, propertyTypes, objectSet) {
48
48
  export function useFilterListState(props) {
49
49
  const {
50
50
  objectType,
51
- objectSet,
51
+ objectSet: objectSetProp,
52
52
  filterDefinitions,
53
53
  // eslint-disable-next-line @typescript-eslint/no-deprecated -- back-compat callback still supported
54
54
  onFilterStateChanged,
@@ -62,6 +62,7 @@ export function useFilterListState(props) {
62
62
  initialFilterStates
63
63
  } = props;
64
64
  const seededFilterStates = defaultFilterStates ?? initialFilterStates;
65
+ const objectSet = useStableObjectSet(objectSetProp);
65
66
  const {
66
67
  metadata,
67
68
  loading: metadataLoading
@@ -175,6 +176,7 @@ export function useFilterListState(props) {
175
176
  effectiveObjectSet
176
177
  } = useMemo(() => deriveSnapshot(filterDefinitions, filterStates, propertyTypes, objectSet), [filterDefinitions, filterStates, propertyTypes, objectSet]);
177
178
  const hasEmittedInit = useRef(false);
179
+ const prevObjectSetRef = useRef(objectSet);
178
180
  useEffect(() => {
179
181
  // We need to wait until metadata is loaded because we need
180
182
  // metadata to construct the filter clause
@@ -182,10 +184,21 @@ export function useFilterListState(props) {
182
184
  return;
183
185
  }
184
186
  hasEmittedInit.current = true;
187
+ prevObjectSetRef.current = objectSetRef.current; // Already reported by init
185
188
  emitFilterListChanged(filterStatesRef.current, {
186
189
  type: "FILTER_LIST_INITIALIZED"
187
190
  });
188
191
  }, [metadataLoading, emitFilterListChanged]);
192
+ useEffect(() => {
193
+ if (!hasEmittedInit.current || prevObjectSetRef.current === objectSet) {
194
+ prevObjectSetRef.current = objectSet;
195
+ return;
196
+ }
197
+ prevObjectSetRef.current = objectSet;
198
+ emitFilterListChanged(filterStatesRef.current, {
199
+ type: "OBJECT_SET_CHANGED"
200
+ });
201
+ }, [objectSet, emitFilterListChanged]);
189
202
  useEffect(() => {
190
203
  onFilterClauseChangedRef.current?.(whereClause);
191
204
  }, [whereClause]);
@@ -1 +1 @@
1
- {"version":3,"file":"useFilterListState.js","names":["useOsdkMetadata","isEqual","useCallback","useEffect","useMemo","useRef","useState","buildWhereClause","getActiveLinkedFilters","filterHasActiveState","getFilterKey","getSeedFilterState","narrowObjectSet","useStableMapEntries","buildInitialStates","definitions","states","Map","definition","state","set","deriveSnapshot","filterStates","propertyTypes","objectSet","whereClause","linkedFilters","effectiveObjectSet","undefined","useFilterListState","props","objectType","filterDefinitions","onFilterStateChanged","onFilterListChanged","onFilterClauseChanged","onEffectiveObjectSet","defaultFilterStates","initialFilterStates","seededFilterStates","metadata","loading","metadataLoading","onFilterStateChangedRef","current","onFilterClauseChangedRef","onEffectiveObjectSetRef","onFilterListChangedRef","filterDefinitionsRef","objectSetRef","map","properties","key","prop","Object","entries","type","multiplicity","propertyTypesRef","emitFilterListChanged","reason","onChange","snapshot","filterClause","filteredObjectSet","initialFilterStatesSnapshot","setFilterStates","filterStatesRef","applyChange","transition","next","setFilterState","filterKey","find","candidate","previous","newState","clearFilterState","has","delete","reset","hasEmittedInit","perFilterWhereClauses","perFilterLinkedFilters","activeFilterCount","count","get","clause","toWhereClause","keys","length","hasChangesFromInitial"],"sources":["useFilterListState.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectSet, ObjectTypeDefinition, WhereClause } from \"@osdk/api\";\nimport { useOsdkMetadata } from \"@osdk/react\";\nimport { isEqual } from \"lodash-es\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport type {\n FilterChangeReason,\n FilterDefinitionUnion,\n FilterListProps,\n} from \"../FilterListApi.js\";\nimport type { FilterState } from \"../FilterListItemApi.js\";\nimport type { LinkedFilter } from \"../types/LinkedFilterTypes.js\";\nimport {\n buildWhereClause,\n getActiveLinkedFilters,\n type PropertyTypeInfo,\n} from \"../utils/filterStateToWhereClause.js\";\nimport { filterHasActiveState } from \"../utils/filterValues.js\";\nimport { getFilterKey } from \"../utils/getFilterKey.js\";\nimport { getSeedFilterState } from \"../utils/getSeedFilterState.js\";\nimport { narrowObjectSet } from \"../utils/narrowObjectSet.js\";\nimport { useStableMapEntries } from \"./useStableMapEntries.js\";\n\nexport interface UseFilterListStateResult<Q extends ObjectTypeDefinition> {\n filterStates: Map<string, FilterState>;\n setFilterState: (filterKey: string, state: FilterState) => void;\n clearFilterState: (filterKey: string) => void;\n /** Direct (non-link-traversing) filters combined into a `WhereClause<Q>`. */\n whereClause: WhereClause<Q>;\n /** Active HAS_LINK and LINKED_PROPERTY records */\n linkedFilters: ReadonlyArray<LinkedFilter<Q>>;\n /** Per-filter excluding-self where clauses keyed by `getFilterKey`. */\n perFilterWhereClauses: Map<string, WhereClause<Q>>;\n /** Per-filter excluding-self linked filters keyed by `getFilterKey`. */\n perFilterLinkedFilters: Map<string, ReadonlyArray<LinkedFilter<Q>>>;\n activeFilterCount: number;\n hasChangesFromInitial: boolean;\n reset: () => void;\n}\n\nfunction buildInitialStates<Q extends ObjectTypeDefinition>(\n definitions: FilterListProps<Q>[\"filterDefinitions\"],\n): Map<string, FilterState> {\n const states = new Map<string, FilterState>();\n\n if (!definitions) {\n return states;\n }\n\n for (const definition of definitions) {\n const state = getSeedFilterState(definition);\n if (state) {\n states.set(getFilterKey(definition), state);\n }\n }\n\n return states;\n}\n\ninterface FilterSnapshot<Q extends ObjectTypeDefinition> {\n whereClause: WhereClause<Q>;\n linkedFilters: ReadonlyArray<LinkedFilter<Q>>;\n effectiveObjectSet: ObjectSet<Q> | undefined;\n}\n\nfunction deriveSnapshot<Q extends ObjectTypeDefinition>(\n definitions: Array<FilterDefinitionUnion<Q>> | undefined,\n filterStates: Map<string, FilterState>,\n propertyTypes: Map<string, PropertyTypeInfo>,\n objectSet: ObjectSet<Q> | undefined,\n): FilterSnapshot<Q> {\n const whereClause = buildWhereClause(\n definitions,\n filterStates,\n propertyTypes,\n );\n const linkedFilters = getActiveLinkedFilters(definitions, filterStates);\n return {\n whereClause,\n linkedFilters,\n effectiveObjectSet:\n objectSet == null\n ? undefined\n : narrowObjectSet(objectSet, whereClause, linkedFilters),\n };\n}\n\nexport function useFilterListState<Q extends ObjectTypeDefinition>(\n props: FilterListProps<Q>,\n): UseFilterListStateResult<Q> {\n const {\n objectType,\n objectSet,\n filterDefinitions,\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- back-compat callback still supported\n onFilterStateChanged,\n onFilterListChanged,\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- back-compat callback still supported\n onFilterClauseChanged,\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- back-compat callback still supported\n onEffectiveObjectSet,\n defaultFilterStates,\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- back-compat fallback for the pre-rename prop\n initialFilterStates,\n } = props;\n const seededFilterStates = defaultFilterStates ?? initialFilterStates;\n const { metadata, loading: metadataLoading } = useOsdkMetadata(objectType);\n\n const onFilterStateChangedRef = useRef(onFilterStateChanged);\n onFilterStateChangedRef.current = onFilterStateChanged;\n const onFilterClauseChangedRef = useRef(onFilterClauseChanged);\n onFilterClauseChangedRef.current = onFilterClauseChanged;\n const onEffectiveObjectSetRef = useRef(onEffectiveObjectSet);\n onEffectiveObjectSetRef.current = onEffectiveObjectSet;\n const onFilterListChangedRef = useRef(onFilterListChanged);\n onFilterListChangedRef.current = onFilterListChanged;\n const filterDefinitionsRef = useRef(filterDefinitions);\n filterDefinitionsRef.current = filterDefinitions;\n const objectSetRef = useRef(objectSet);\n objectSetRef.current = objectSet;\n\n const propertyTypes = useMemo(() => {\n const map = new Map<string, PropertyTypeInfo>();\n if (metadata?.properties) {\n for (const [key, prop] of Object.entries(metadata.properties)) {\n if (typeof prop.type === \"string\") {\n map.set(key, {\n type: prop.type,\n multiplicity: prop.multiplicity === true,\n });\n }\n }\n }\n return map;\n }, [metadata?.properties]);\n const propertyTypesRef = useRef(propertyTypes);\n propertyTypesRef.current = propertyTypes;\n\n const emitFilterListChanged = useCallback(\n (states: Map<string, FilterState>, reason: FilterChangeReason) => {\n const onChange = onFilterListChangedRef.current;\n if (onChange == null) {\n return;\n }\n const snapshot = deriveSnapshot(\n filterDefinitionsRef.current,\n states,\n propertyTypesRef.current,\n objectSetRef.current,\n );\n onChange({\n snapshot: {\n filterClause: snapshot.whereClause,\n filteredObjectSet: snapshot.effectiveObjectSet,\n },\n reason,\n });\n },\n [],\n );\n\n // Captured once on first render to provide a stable baseline for the reset\n // button's enabled state. `useState`'s lazy initializer pins the value for\n // the lifetime of the component (unlike `useMemo`, which React may discard).\n const [initialFilterStatesSnapshot] = useState<Map<string, FilterState>>(\n () => {\n const snapshot = buildInitialStates(filterDefinitions);\n if (seededFilterStates) {\n for (const [key, state] of seededFilterStates) {\n snapshot.set(key, state);\n }\n }\n return snapshot;\n },\n );\n\n const [filterStates, setFilterStates] = useState<Map<string, FilterState>>(\n () => new Map(initialFilterStatesSnapshot),\n );\n\n // Back-to-back writes can occur before React commits, so each transition must\n // build on the latest eagerly computed state rather than the render snapshot.\n const filterStatesRef = useRef(filterStates);\n filterStatesRef.current = filterStates;\n\n const applyChange = useCallback(\n (\n transition: (\n previous: Map<string, FilterState>,\n ) => Map<string, FilterState> | undefined,\n reason: FilterChangeReason,\n ) => {\n const next = transition(filterStatesRef.current);\n if (next === undefined) {\n return;\n }\n filterStatesRef.current = next;\n setFilterStates(next);\n emitFilterListChanged(next, reason);\n },\n [emitFilterListChanged],\n );\n\n const setFilterState = useCallback(\n (filterKey: string, state: FilterState) => {\n const definition = filterDefinitionsRef.current?.find(\n (candidate) => getFilterKey(candidate) === filterKey,\n );\n if (definition) {\n onFilterStateChangedRef.current?.(definition, state);\n }\n applyChange(\n (previous) => {\n const next = new Map(previous);\n next.set(filterKey, state);\n return next;\n },\n { type: \"FILTER_STATE_CHANGED\", filterKey, newState: state },\n );\n },\n [applyChange],\n );\n\n const clearFilterState = useCallback(\n (filterKey: string) => {\n applyChange(\n (previous) => {\n if (!previous.has(filterKey)) {\n return;\n }\n const next = new Map(previous);\n next.delete(filterKey);\n return next;\n },\n { type: \"FILTER_REMOVED\", filterKey },\n );\n },\n [applyChange],\n );\n\n const reset = useCallback(() => {\n applyChange(() => new Map(initialFilterStatesSnapshot), {\n type: \"FILTER_LIST_RESET\",\n });\n }, [applyChange, initialFilterStatesSnapshot]);\n\n const { whereClause, linkedFilters, effectiveObjectSet } = useMemo(\n () =>\n deriveSnapshot(filterDefinitions, filterStates, propertyTypes, objectSet),\n [filterDefinitions, filterStates, propertyTypes, objectSet],\n );\n\n const hasEmittedInit = useRef(false);\n useEffect(() => {\n // We need to wait until metadata is loaded because we need\n // metadata to construct the filter clause\n if (hasEmittedInit.current || metadataLoading) {\n return;\n }\n hasEmittedInit.current = true;\n emitFilterListChanged(filterStatesRef.current, {\n type: \"FILTER_LIST_INITIALIZED\",\n });\n }, [metadataLoading, emitFilterListChanged]);\n\n useEffect(() => {\n onFilterClauseChangedRef.current?.(whereClause);\n }, [whereClause]);\n\n useEffect(() => {\n if (effectiveObjectSet == null) {\n return;\n }\n onEffectiveObjectSetRef.current?.(effectiveObjectSet);\n }, [effectiveObjectSet]);\n\n const perFilterWhereClauses = useStableMapEntries(\n useMemo(() => {\n const map = new Map<string, WhereClause<Q>>();\n for (const definition of filterDefinitions ?? []) {\n const key = getFilterKey(definition);\n map.set(\n key,\n buildWhereClause(filterDefinitions, filterStates, propertyTypes, key),\n );\n }\n return map;\n }, [filterDefinitions, filterStates, propertyTypes]),\n );\n\n const perFilterLinkedFilters = useStableMapEntries(\n useMemo(() => {\n const map = new Map<string, ReadonlyArray<LinkedFilter<Q>>>();\n for (const definition of filterDefinitions ?? []) {\n const key = getFilterKey(definition);\n map.set(\n key,\n getActiveLinkedFilters(filterDefinitions, filterStates, key),\n );\n }\n return map;\n }, [filterDefinitions, filterStates]),\n );\n\n const activeFilterCount = useMemo(() => {\n let count = 0;\n for (const definition of filterDefinitions ?? []) {\n const state = filterStates.get(getFilterKey(definition));\n if (state == null) {\n continue;\n }\n // A custom filter's state is opaque, so `filterHasActiveState` can only\n // say \"some state exists\". Only its own `toWhereClause` knows whether\n // that state filters anything, so match what `buildWhereClause` keeps.\n if (definition.type === \"CUSTOM\") {\n if (state.type === \"custom\") {\n const clause = definition.toWhereClause(state);\n if (clause != null && Object.keys(clause).length > 0) {\n count++;\n }\n }\n continue;\n }\n if (filterHasActiveState(state)) {\n count++;\n }\n }\n return count;\n }, [filterDefinitions, filterStates]);\n\n const hasChangesFromInitial = useMemo(\n () => !isEqual(filterStates, initialFilterStatesSnapshot),\n [filterStates, initialFilterStatesSnapshot],\n );\n\n return useMemo(\n () => ({\n filterStates,\n setFilterState,\n clearFilterState,\n whereClause,\n linkedFilters,\n perFilterWhereClauses,\n perFilterLinkedFilters,\n activeFilterCount,\n hasChangesFromInitial,\n reset,\n }),\n [\n filterStates,\n setFilterState,\n clearFilterState,\n whereClause,\n linkedFilters,\n perFilterWhereClauses,\n perFilterLinkedFilters,\n activeFilterCount,\n hasChangesFromInitial,\n reset,\n ],\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useFilterListState.js","names":["useOsdkMetadata","useStableObjectSet","isEqual","useCallback","useEffect","useMemo","useRef","useState","buildWhereClause","getActiveLinkedFilters","filterHasActiveState","getFilterKey","getSeedFilterState","narrowObjectSet","useStableMapEntries","buildInitialStates","definitions","states","Map","definition","state","set","deriveSnapshot","filterStates","propertyTypes","objectSet","whereClause","linkedFilters","effectiveObjectSet","undefined","useFilterListState","props","objectType","objectSetProp","filterDefinitions","onFilterStateChanged","onFilterListChanged","onFilterClauseChanged","onEffectiveObjectSet","defaultFilterStates","initialFilterStates","seededFilterStates","metadata","loading","metadataLoading","onFilterStateChangedRef","current","onFilterClauseChangedRef","onEffectiveObjectSetRef","onFilterListChangedRef","filterDefinitionsRef","objectSetRef","map","properties","key","prop","Object","entries","type","multiplicity","propertyTypesRef","emitFilterListChanged","reason","onChange","snapshot","filterClause","filteredObjectSet","initialFilterStatesSnapshot","setFilterStates","filterStatesRef","applyChange","transition","next","setFilterState","filterKey","find","candidate","previous","newState","clearFilterState","has","delete","reset","hasEmittedInit","prevObjectSetRef","perFilterWhereClauses","perFilterLinkedFilters","activeFilterCount","count","get","clause","toWhereClause","keys","length","hasChangesFromInitial"],"sources":["useFilterListState.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectSet, ObjectTypeDefinition, WhereClause } from \"@osdk/api\";\nimport { useOsdkMetadata, useStableObjectSet } from \"@osdk/react\";\nimport { isEqual } from \"lodash-es\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport type {\n FilterChangeReason,\n FilterDefinitionUnion,\n FilterListProps,\n} from \"../FilterListApi.js\";\nimport type { FilterState } from \"../FilterListItemApi.js\";\nimport type { LinkedFilter } from \"../types/LinkedFilterTypes.js\";\nimport {\n buildWhereClause,\n getActiveLinkedFilters,\n type PropertyTypeInfo,\n} from \"../utils/filterStateToWhereClause.js\";\nimport { filterHasActiveState } from \"../utils/filterValues.js\";\nimport { getFilterKey } from \"../utils/getFilterKey.js\";\nimport { getSeedFilterState } from \"../utils/getSeedFilterState.js\";\nimport { narrowObjectSet } from \"../utils/narrowObjectSet.js\";\nimport { useStableMapEntries } from \"./useStableMapEntries.js\";\n\nexport interface UseFilterListStateResult<Q extends ObjectTypeDefinition> {\n filterStates: Map<string, FilterState>;\n setFilterState: (filterKey: string, state: FilterState) => void;\n clearFilterState: (filterKey: string) => void;\n /** Direct (non-link-traversing) filters combined into a `WhereClause<Q>`. */\n whereClause: WhereClause<Q>;\n /** Active HAS_LINK and LINKED_PROPERTY records */\n linkedFilters: ReadonlyArray<LinkedFilter<Q>>;\n /** Per-filter excluding-self where clauses keyed by `getFilterKey`. */\n perFilterWhereClauses: Map<string, WhereClause<Q>>;\n /** Per-filter excluding-self linked filters keyed by `getFilterKey`. */\n perFilterLinkedFilters: Map<string, ReadonlyArray<LinkedFilter<Q>>>;\n activeFilterCount: number;\n hasChangesFromInitial: boolean;\n reset: () => void;\n}\n\nfunction buildInitialStates<Q extends ObjectTypeDefinition>(\n definitions: FilterListProps<Q>[\"filterDefinitions\"],\n): Map<string, FilterState> {\n const states = new Map<string, FilterState>();\n\n if (!definitions) {\n return states;\n }\n\n for (const definition of definitions) {\n const state = getSeedFilterState(definition);\n if (state) {\n states.set(getFilterKey(definition), state);\n }\n }\n\n return states;\n}\n\ninterface FilterSnapshot<Q extends ObjectTypeDefinition> {\n whereClause: WhereClause<Q>;\n linkedFilters: ReadonlyArray<LinkedFilter<Q>>;\n effectiveObjectSet: ObjectSet<Q> | undefined;\n}\n\nfunction deriveSnapshot<Q extends ObjectTypeDefinition>(\n definitions: Array<FilterDefinitionUnion<Q>> | undefined,\n filterStates: Map<string, FilterState>,\n propertyTypes: Map<string, PropertyTypeInfo>,\n objectSet: ObjectSet<Q> | undefined,\n): FilterSnapshot<Q> {\n const whereClause = buildWhereClause(\n definitions,\n filterStates,\n propertyTypes,\n );\n const linkedFilters = getActiveLinkedFilters(definitions, filterStates);\n return {\n whereClause,\n linkedFilters,\n effectiveObjectSet:\n objectSet == null\n ? undefined\n : narrowObjectSet(objectSet, whereClause, linkedFilters),\n };\n}\n\nexport function useFilterListState<Q extends ObjectTypeDefinition>(\n props: FilterListProps<Q>,\n): UseFilterListStateResult<Q> {\n const {\n objectType,\n objectSet: objectSetProp,\n filterDefinitions,\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- back-compat callback still supported\n onFilterStateChanged,\n onFilterListChanged,\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- back-compat callback still supported\n onFilterClauseChanged,\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- back-compat callback still supported\n onEffectiveObjectSet,\n defaultFilterStates,\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- back-compat fallback for the pre-rename prop\n initialFilterStates,\n } = props;\n const seededFilterStates = defaultFilterStates ?? initialFilterStates;\n const objectSet = useStableObjectSet(objectSetProp);\n const { metadata, loading: metadataLoading } = useOsdkMetadata(objectType);\n\n const onFilterStateChangedRef = useRef(onFilterStateChanged);\n onFilterStateChangedRef.current = onFilterStateChanged;\n const onFilterClauseChangedRef = useRef(onFilterClauseChanged);\n onFilterClauseChangedRef.current = onFilterClauseChanged;\n const onEffectiveObjectSetRef = useRef(onEffectiveObjectSet);\n onEffectiveObjectSetRef.current = onEffectiveObjectSet;\n const onFilterListChangedRef = useRef(onFilterListChanged);\n onFilterListChangedRef.current = onFilterListChanged;\n const filterDefinitionsRef = useRef(filterDefinitions);\n filterDefinitionsRef.current = filterDefinitions;\n const objectSetRef = useRef(objectSet);\n objectSetRef.current = objectSet;\n\n const propertyTypes = useMemo(() => {\n const map = new Map<string, PropertyTypeInfo>();\n if (metadata?.properties) {\n for (const [key, prop] of Object.entries(metadata.properties)) {\n if (typeof prop.type === \"string\") {\n map.set(key, {\n type: prop.type,\n multiplicity: prop.multiplicity === true,\n });\n }\n }\n }\n return map;\n }, [metadata?.properties]);\n const propertyTypesRef = useRef(propertyTypes);\n propertyTypesRef.current = propertyTypes;\n\n const emitFilterListChanged = useCallback(\n (states: Map<string, FilterState>, reason: FilterChangeReason) => {\n const onChange = onFilterListChangedRef.current;\n if (onChange == null) {\n return;\n }\n const snapshot = deriveSnapshot(\n filterDefinitionsRef.current,\n states,\n propertyTypesRef.current,\n objectSetRef.current,\n );\n onChange({\n snapshot: {\n filterClause: snapshot.whereClause,\n filteredObjectSet: snapshot.effectiveObjectSet,\n },\n reason,\n });\n },\n [],\n );\n\n // Captured once on first render to provide a stable baseline for the reset\n // button's enabled state. `useState`'s lazy initializer pins the value for\n // the lifetime of the component (unlike `useMemo`, which React may discard).\n const [initialFilterStatesSnapshot] = useState<Map<string, FilterState>>(\n () => {\n const snapshot = buildInitialStates(filterDefinitions);\n if (seededFilterStates) {\n for (const [key, state] of seededFilterStates) {\n snapshot.set(key, state);\n }\n }\n return snapshot;\n },\n );\n\n const [filterStates, setFilterStates] = useState<Map<string, FilterState>>(\n () => new Map(initialFilterStatesSnapshot),\n );\n\n // Back-to-back writes can occur before React commits, so each transition must\n // build on the latest eagerly computed state rather than the render snapshot.\n const filterStatesRef = useRef(filterStates);\n filterStatesRef.current = filterStates;\n\n const applyChange = useCallback(\n (\n transition: (\n previous: Map<string, FilterState>,\n ) => Map<string, FilterState> | undefined,\n reason: FilterChangeReason,\n ) => {\n const next = transition(filterStatesRef.current);\n if (next === undefined) {\n return;\n }\n filterStatesRef.current = next;\n setFilterStates(next);\n emitFilterListChanged(next, reason);\n },\n [emitFilterListChanged],\n );\n\n const setFilterState = useCallback(\n (filterKey: string, state: FilterState) => {\n const definition = filterDefinitionsRef.current?.find(\n (candidate) => getFilterKey(candidate) === filterKey,\n );\n if (definition) {\n onFilterStateChangedRef.current?.(definition, state);\n }\n applyChange(\n (previous) => {\n const next = new Map(previous);\n next.set(filterKey, state);\n return next;\n },\n { type: \"FILTER_STATE_CHANGED\", filterKey, newState: state },\n );\n },\n [applyChange],\n );\n\n const clearFilterState = useCallback(\n (filterKey: string) => {\n applyChange(\n (previous) => {\n if (!previous.has(filterKey)) {\n return;\n }\n const next = new Map(previous);\n next.delete(filterKey);\n return next;\n },\n { type: \"FILTER_REMOVED\", filterKey },\n );\n },\n [applyChange],\n );\n\n const reset = useCallback(() => {\n applyChange(() => new Map(initialFilterStatesSnapshot), {\n type: \"FILTER_LIST_RESET\",\n });\n }, [applyChange, initialFilterStatesSnapshot]);\n\n const { whereClause, linkedFilters, effectiveObjectSet } = useMemo(\n () =>\n deriveSnapshot(filterDefinitions, filterStates, propertyTypes, objectSet),\n [filterDefinitions, filterStates, propertyTypes, objectSet],\n );\n\n const hasEmittedInit = useRef(false);\n const prevObjectSetRef = useRef(objectSet);\n useEffect(() => {\n // We need to wait until metadata is loaded because we need\n // metadata to construct the filter clause\n if (hasEmittedInit.current || metadataLoading) {\n return;\n }\n hasEmittedInit.current = true;\n prevObjectSetRef.current = objectSetRef.current; // Already reported by init\n emitFilterListChanged(filterStatesRef.current, {\n type: \"FILTER_LIST_INITIALIZED\",\n });\n }, [metadataLoading, emitFilterListChanged]);\n useEffect(() => {\n if (!hasEmittedInit.current || prevObjectSetRef.current === objectSet) {\n prevObjectSetRef.current = objectSet;\n return;\n }\n prevObjectSetRef.current = objectSet;\n emitFilterListChanged(filterStatesRef.current, {\n type: \"OBJECT_SET_CHANGED\",\n });\n }, [objectSet, emitFilterListChanged]);\n\n useEffect(() => {\n onFilterClauseChangedRef.current?.(whereClause);\n }, [whereClause]);\n\n useEffect(() => {\n if (effectiveObjectSet == null) {\n return;\n }\n onEffectiveObjectSetRef.current?.(effectiveObjectSet);\n }, [effectiveObjectSet]);\n\n const perFilterWhereClauses = useStableMapEntries(\n useMemo(() => {\n const map = new Map<string, WhereClause<Q>>();\n for (const definition of filterDefinitions ?? []) {\n const key = getFilterKey(definition);\n map.set(\n key,\n buildWhereClause(filterDefinitions, filterStates, propertyTypes, key),\n );\n }\n return map;\n }, [filterDefinitions, filterStates, propertyTypes]),\n );\n\n const perFilterLinkedFilters = useStableMapEntries(\n useMemo(() => {\n const map = new Map<string, ReadonlyArray<LinkedFilter<Q>>>();\n for (const definition of filterDefinitions ?? []) {\n const key = getFilterKey(definition);\n map.set(\n key,\n getActiveLinkedFilters(filterDefinitions, filterStates, key),\n );\n }\n return map;\n }, [filterDefinitions, filterStates]),\n );\n\n const activeFilterCount = useMemo(() => {\n let count = 0;\n for (const definition of filterDefinitions ?? []) {\n const state = filterStates.get(getFilterKey(definition));\n if (state == null) {\n continue;\n }\n // A custom filter's state is opaque, so `filterHasActiveState` can only\n // say \"some state exists\". Only its own `toWhereClause` knows whether\n // that state filters anything, so match what `buildWhereClause` keeps.\n if (definition.type === \"CUSTOM\") {\n if (state.type === \"custom\") {\n const clause = definition.toWhereClause(state);\n if (clause != null && Object.keys(clause).length > 0) {\n count++;\n }\n }\n continue;\n }\n if (filterHasActiveState(state)) {\n count++;\n }\n }\n return count;\n }, [filterDefinitions, filterStates]);\n\n const hasChangesFromInitial = useMemo(\n () => !isEqual(filterStates, initialFilterStatesSnapshot),\n [filterStates, initialFilterStatesSnapshot],\n );\n\n return useMemo(\n () => ({\n filterStates,\n setFilterState,\n clearFilterState,\n whereClause,\n linkedFilters,\n perFilterWhereClauses,\n perFilterLinkedFilters,\n activeFilterCount,\n hasChangesFromInitial,\n reset,\n }),\n [\n filterStates,\n setFilterState,\n clearFilterState,\n whereClause,\n linkedFilters,\n perFilterWhereClauses,\n perFilterLinkedFilters,\n activeFilterCount,\n hasChangesFromInitial,\n reset,\n ],\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.60.0"}`;
17
+ const PACKAGE_USER_AGENT = `osdk-react-components/${"0.61.0"}`;
18
18
  export function componentUserAgent(componentName) {
19
19
  return `${PACKAGE_USER_AGENT}/${componentName}`;
20
20
  }
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ var chunkRVZE7LPI_cjs = require('./chunk-RVZE7LPI.cjs');
4
+ var chunkNBECY2US_cjs = require('./chunk-NBECY2US.cjs');
5
+
6
+ // src/public/xml-viewer.ts
7
+ var XmlViewer2 = chunkNBECY2US_cjs.withOsdkMetrics(chunkRVZE7LPI_cjs.XmlViewer, "XmlViewer");
8
+
9
+ exports.XmlViewer = XmlViewer2;
10
+ //# sourceMappingURL=chunk-2L52ISL4.cjs.map
11
+ //# sourceMappingURL=chunk-2L52ISL4.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/public/xml-viewer.ts"],"names":["XmlViewer","withOsdkMetrics"],"mappings":";;;;;;AAqBO,IAAMA,UAAAA,GAAYC,iCAAA,CAAgBD,2BAAA,EAAY,WAAW","file":"chunk-AIQ7KF4M.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// BaseXmlViewer\nexport { BaseXmlViewer } from \"../xml-viewer/BaseXmlViewer.js\";\n// XmlViewer (Media wrapper)\nimport { withOsdkMetrics } from \"../util/withOsdkMetrics.js\";\nimport { XmlViewer as _XmlViewer } from \"../xml-viewer/XmlViewer.js\";\nexport const XmlViewer = withOsdkMetrics(_XmlViewer, \"XmlViewer\");"]}
1
+ {"version":3,"sources":["../../src/public/xml-viewer.ts"],"names":["XmlViewer","withOsdkMetrics"],"mappings":";;;;;;AAqBO,IAAMA,UAAAA,GAAYC,iCAAA,CAAgBD,2BAAA,EAAY,WAAW","file":"chunk-2L52ISL4.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// BaseXmlViewer\nexport { BaseXmlViewer } from \"../xml-viewer/BaseXmlViewer.js\";\n// XmlViewer (Media wrapper)\nimport { withOsdkMetrics } from \"../util/withOsdkMetrics.js\";\nimport { XmlViewer as _XmlViewer } from \"../xml-viewer/XmlViewer.js\";\nexport const XmlViewer = withOsdkMetrics(_XmlViewer, \"XmlViewer\");"]}
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunkIOXGHPSW_cjs = require('./chunk-IOXGHPSW.cjs');
3
+ var chunkYHMDFD5J_cjs = require('./chunk-YHMDFD5J.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 = chunkIOXGHPSW_cjs.PdfViewerContent;
9
+ var PdfViewerContent2 = chunkYHMDFD5J_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 = chunkIOXGHPSW_cjs.PdfViewerProvider;
24
- var usePdfViewerContext2 = chunkIOXGHPSW_cjs.usePdfViewerContext;
25
- var usePdfViewerInstance2 = chunkIOXGHPSW_cjs.usePdfViewerInstance;
23
+ var PdfViewerProvider2 = chunkYHMDFD5J_cjs.PdfViewerProvider;
24
+ var usePdfViewerContext2 = chunkYHMDFD5J_cjs.usePdfViewerContext;
25
+ var usePdfViewerInstance2 = chunkYHMDFD5J_cjs.usePdfViewerInstance;
26
26
  var usePdfViewerCore2 = chunk4KHF42ZL_cjs.usePdfViewerCore;
27
27
  var usePdfViewerState2 = chunk4KHF42ZL_cjs.usePdfViewerState;
28
- var PdfViewer2 = chunkIOXGHPSW_cjs.PdfViewer;
28
+ var PdfViewer2 = chunkYHMDFD5J_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-RRIUU6RR.cjs.map
53
- //# sourceMappingURL=chunk-RRIUU6RR.cjs.map
52
+ //# sourceMappingURL=chunk-3CGO6BJA.cjs.map
53
+ //# sourceMappingURL=chunk-3CGO6BJA.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-RRIUU6RR.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. */"]}
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-3CGO6BJA.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. */"]}
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunk2OMAFA4E_cjs = require('./chunk-2OMAFA4E.cjs');
3
+ var chunkACHOHMXA_cjs = require('./chunk-ACHOHMXA.cjs');
4
4
  var chunkPA7IYPBX_cjs = require('./chunk-PA7IYPBX.cjs');
5
5
 
6
6
  // src/public/experimental/email-viewer.ts
7
7
  var BaseEmailViewer2 = chunkPA7IYPBX_cjs.BaseEmailViewer;
8
- var EmailViewer2 = chunk2OMAFA4E_cjs.EmailViewer;
8
+ var EmailViewer2 = chunkACHOHMXA_cjs.EmailViewer;
9
9
 
10
10
  exports.BaseEmailViewer = BaseEmailViewer2;
11
11
  exports.EmailViewer = EmailViewer2;
12
- //# sourceMappingURL=chunk-KCM63FLA.cjs.map
13
- //# sourceMappingURL=chunk-KCM63FLA.cjs.map
12
+ //# sourceMappingURL=chunk-3SBGGTFL.cjs.map
13
+ //# sourceMappingURL=chunk-3SBGGTFL.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/public/experimental/email-viewer.ts"],"names":["BaseEmailViewer","EmailViewer"],"mappings":";;;;;;AAmBO,IAAMA,gBAAAA,GAAyBA;AAW/B,IAAMC,YAAAA,GAAqBA","file":"chunk-KCM63FLA.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 \"../email-viewer.js\";\n\n/** @deprecated Import from `@osdk/react-components/email-viewer` instead. */\nexport const BaseEmailViewer = Stable.BaseEmailViewer;\n\n/** @deprecated Import from `@osdk/react-components/email-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/email-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/email-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/email-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/email-viewer` instead. */\nexport const EmailViewer = Stable.EmailViewer;"]}
1
+ {"version":3,"sources":["../../src/public/experimental/email-viewer.ts"],"names":["BaseEmailViewer","EmailViewer"],"mappings":";;;;;;AAmBO,IAAMA,gBAAAA,GAAyBA;AAW/B,IAAMC,YAAAA,GAAqBA","file":"chunk-3SBGGTFL.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 \"../email-viewer.js\";\n\n/** @deprecated Import from `@osdk/react-components/email-viewer` instead. */\nexport const BaseEmailViewer = Stable.BaseEmailViewer;\n\n/** @deprecated Import from `@osdk/react-components/email-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/email-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/email-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/email-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/email-viewer` instead. */\nexport const EmailViewer = Stable.EmailViewer;"]}
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunkYQQTH5L6_cjs = require('./chunk-YQQTH5L6.cjs');
3
+ var chunkRJXOGQTP_cjs = require('./chunk-RJXOGQTP.cjs');
4
4
  var chunkVWHXC6MQ_cjs = require('./chunk-VWHXC6MQ.cjs');
5
5
 
6
6
  // src/public/experimental/spreadsheet-viewer.ts
7
7
  var BaseSpreadsheetViewer2 = chunkVWHXC6MQ_cjs.BaseSpreadsheetViewer;
8
- var SpreadsheetViewer2 = chunkYQQTH5L6_cjs.SpreadsheetViewer;
8
+ var SpreadsheetViewer2 = chunkRJXOGQTP_cjs.SpreadsheetViewer;
9
9
 
10
10
  exports.BaseSpreadsheetViewer = BaseSpreadsheetViewer2;
11
11
  exports.SpreadsheetViewer = SpreadsheetViewer2;
12
- //# sourceMappingURL=chunk-QB6PFRJW.cjs.map
13
- //# sourceMappingURL=chunk-QB6PFRJW.cjs.map
12
+ //# sourceMappingURL=chunk-4N5G4SGE.cjs.map
13
+ //# sourceMappingURL=chunk-4N5G4SGE.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/public/experimental/spreadsheet-viewer.ts"],"names":["BaseSpreadsheetViewer","SpreadsheetViewer"],"mappings":";;;;;;AAmBO,IAAMA,sBAAAA,GAA+BA;AAWrC,IAAMC,kBAAAA,GAA2BA","file":"chunk-QB6PFRJW.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 \"../spreadsheet-viewer.js\";\n\n/** @deprecated Import from `@osdk/react-components/spreadsheet-viewer` instead. */\nexport const BaseSpreadsheetViewer = Stable.BaseSpreadsheetViewer;\n\n/** @deprecated Import from `@osdk/react-components/spreadsheet-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/spreadsheet-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/spreadsheet-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/spreadsheet-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/spreadsheet-viewer` instead. */\nexport const SpreadsheetViewer = Stable.SpreadsheetViewer;"]}
1
+ {"version":3,"sources":["../../src/public/experimental/spreadsheet-viewer.ts"],"names":["BaseSpreadsheetViewer","SpreadsheetViewer"],"mappings":";;;;;;AAmBO,IAAMA,sBAAAA,GAA+BA;AAWrC,IAAMC,kBAAAA,GAA2BA","file":"chunk-4N5G4SGE.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 \"../spreadsheet-viewer.js\";\n\n/** @deprecated Import from `@osdk/react-components/spreadsheet-viewer` instead. */\nexport const BaseSpreadsheetViewer = Stable.BaseSpreadsheetViewer;\n\n/** @deprecated Import from `@osdk/react-components/spreadsheet-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/spreadsheet-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/spreadsheet-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/spreadsheet-viewer` instead. */\n\n/** @deprecated Import from `@osdk/react-components/spreadsheet-viewer` instead. */\nexport const SpreadsheetViewer = Stable.SpreadsheetViewer;"]}
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var chunkNUK5FOSF_cjs = require('./chunk-NUK5FOSF.cjs');
4
+
5
+ // src/public/experimental/document-viewer.ts
6
+ var DocumentViewer2 = chunkNUK5FOSF_cjs.DocumentViewer;
7
+ var ViewerType2 = chunkNUK5FOSF_cjs.ViewerType;
8
+
9
+ exports.DocumentViewer = DocumentViewer2;
10
+ exports.ViewerType = ViewerType2;
11
+ //# sourceMappingURL=chunk-57GL4OIU.cjs.map
12
+ //# sourceMappingURL=chunk-57GL4OIU.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-CDS3AINF.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. */"]}
1
+ {"version":3,"sources":["../../src/public/experimental/document-viewer.ts"],"names":["DocumentViewer","ViewerType"],"mappings":";;;;;AAmBO,IAAMA,eAAAA,GAAwBA;AAK9B,IAAMC,WAAAA,GAAoBA","file":"chunk-57GL4OIU.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. */"]}
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunkAIQ7KF4M_cjs = require('./chunk-AIQ7KF4M.cjs');
3
+ var chunk2L52ISL4_cjs = require('./chunk-2L52ISL4.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 = chunkAIQ7KF4M_cjs.XmlViewer;
8
+ var XmlViewer2 = chunk2L52ISL4_cjs.XmlViewer;
9
9
 
10
10
  exports.BaseXmlViewer = BaseXmlViewer2;
11
11
  exports.XmlViewer = XmlViewer2;
12
- //# sourceMappingURL=chunk-AHUBRJTM.cjs.map
13
- //# sourceMappingURL=chunk-AHUBRJTM.cjs.map
12
+ //# sourceMappingURL=chunk-7R2QPKDB.cjs.map
13
+ //# sourceMappingURL=chunk-7R2QPKDB.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-AHUBRJTM.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;"]}
1
+ {"version":3,"sources":["../../src/public/experimental/xml-viewer.ts"],"names":["BaseXmlViewer","XmlViewer"],"mappings":";;;;;;AAmBO,IAAMA,cAAAA,GAAuBA;AAO7B,IAAMC,UAAAA,GAAmBA","file":"chunk-7R2QPKDB.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 chunkNBECY2US_cjs = require('./chunk-NBECY2US.cjs');
5
+
6
+ // src/public/email-viewer.ts
7
+ var EmailViewer2 = chunkNBECY2US_cjs.withOsdkMetrics(chunkPA7IYPBX_cjs.EmailViewer, "EmailViewer");
8
+
9
+ exports.EmailViewer = EmailViewer2;
10
+ //# sourceMappingURL=chunk-ACHOHMXA.cjs.map
11
+ //# sourceMappingURL=chunk-ACHOHMXA.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-2OMAFA4E.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
+ {"version":3,"sources":["../../src/public/email-viewer.ts"],"names":["EmailViewer","withOsdkMetrics"],"mappings":";;;;;;AAqBO,IAAMA,YAAAA,GAAcC,iCAAA,CAAgBD,6BAAA,EAAc,aAAa","file":"chunk-ACHOHMXA.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\");"]}
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var chunkNTBCTN2U_cjs = require('./chunk-NTBCTN2U.cjs');
4
+
5
+ // src/public/experimental/filter-list.ts
6
+ var BaseFilterList2 = chunkNTBCTN2U_cjs.BaseFilterList;
7
+ var FilterList2 = chunkNTBCTN2U_cjs.FilterList;
8
+ var deserializeFilterStates2 = chunkNTBCTN2U_cjs.deserializeFilterStates;
9
+ var serializeFilterStates2 = chunkNTBCTN2U_cjs.serializeFilterStates;
10
+ var FilterPopover2 = chunkNTBCTN2U_cjs.FilterPopover;
11
+ var FilterInput2 = chunkNTBCTN2U_cjs.FilterInput;
12
+ var useFilterListState2 = chunkNTBCTN2U_cjs.useFilterListState;
13
+ var filterHasActiveState2 = chunkNTBCTN2U_cjs.filterHasActiveState;
14
+ var NO_VALUE2 = chunkNTBCTN2U_cjs.NO_VALUE;
15
+ var getFilterKey2 = chunkNTBCTN2U_cjs.getFilterKey;
16
+ var getFilterLabel2 = chunkNTBCTN2U_cjs.getFilterLabel;
17
+ var summarizeFilterValue2 = chunkNTBCTN2U_cjs.summarizeFilterValue;
18
+ var narrowObjectSet2 = chunkNTBCTN2U_cjs.narrowObjectSet;
19
+
20
+ exports.BaseFilterList = BaseFilterList2;
21
+ exports.FilterInput = FilterInput2;
22
+ exports.FilterList = FilterList2;
23
+ exports.FilterPopover = FilterPopover2;
24
+ exports.NO_VALUE = NO_VALUE2;
25
+ exports.deserializeFilterStates = deserializeFilterStates2;
26
+ exports.filterHasActiveState = filterHasActiveState2;
27
+ exports.getFilterKey = getFilterKey2;
28
+ exports.getFilterLabel = getFilterLabel2;
29
+ exports.narrowObjectSet = narrowObjectSet2;
30
+ exports.serializeFilterStates = serializeFilterStates2;
31
+ exports.summarizeFilterValue = summarizeFilterValue2;
32
+ exports.useFilterListState = useFilterListState2;
33
+ //# sourceMappingURL=chunk-BOUML6UZ.cjs.map
34
+ //# sourceMappingURL=chunk-BOUML6UZ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/public/experimental/filter-list.ts"],"names":["BaseFilterList","FilterList","deserializeFilterStates","serializeFilterStates","FilterPopover","FilterInput","useFilterListState","filterHasActiveState","NO_VALUE","getFilterKey","getFilterLabel","summarizeFilterValue","narrowObjectSet"],"mappings":";;;;;AAmBO,IAAMA,eAAAA,GAAwBA;AAO9B,IAAMC,WAAAA,GAAoBA;AAyB1B,IAAMC,wBAAAA,GAAiCA;AAGvC,IAAMC,sBAAAA,GAA+BA;AAGrC,IAAMC,cAAAA,GAAuBA;AAK7B,IAAMC,YAAAA,GAAqBA;AAK3B,IAAMC,mBAAAA,GAA4BA;AAKlC,IAAMC,qBAAAA,GAA8BA;AAGpC,IAAMC,SAAAA,GAAkBA;AAGxB,IAAMC,aAAAA,GAAsBA;AAG5B,IAAMC,eAAAA,GAAwBA;AAG9B,IAAMC,qBAAAA,GAA8BA;AAKpC,IAAMC,gBAAAA,GAAyBA","file":"chunk-F2ABEL3W.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 \"../filter-list.js\";\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const BaseFilterList = Stable.BaseFilterList;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const FilterList = Stable.FilterList;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const deserializeFilterStates = Stable.deserializeFilterStates;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const serializeFilterStates = Stable.serializeFilterStates;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const FilterPopover = Stable.FilterPopover;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const FilterInput = Stable.FilterInput;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const useFilterListState = Stable.useFilterListState;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const filterHasActiveState = Stable.filterHasActiveState;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const NO_VALUE = Stable.NO_VALUE;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const getFilterKey = Stable.getFilterKey;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const getFilterLabel = Stable.getFilterLabel;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const summarizeFilterValue = Stable.summarizeFilterValue;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const narrowObjectSet = Stable.narrowObjectSet;"]}
1
+ {"version":3,"sources":["../../src/public/experimental/filter-list.ts"],"names":["BaseFilterList","FilterList","deserializeFilterStates","serializeFilterStates","FilterPopover","FilterInput","useFilterListState","filterHasActiveState","NO_VALUE","getFilterKey","getFilterLabel","summarizeFilterValue","narrowObjectSet"],"mappings":";;;;;AAmBO,IAAMA,eAAAA,GAAwBA;AAO9B,IAAMC,WAAAA,GAAoBA;AAyB1B,IAAMC,wBAAAA,GAAiCA;AAGvC,IAAMC,sBAAAA,GAA+BA;AAGrC,IAAMC,cAAAA,GAAuBA;AAK7B,IAAMC,YAAAA,GAAqBA;AAK3B,IAAMC,mBAAAA,GAA4BA;AAKlC,IAAMC,qBAAAA,GAA8BA;AAGpC,IAAMC,SAAAA,GAAkBA;AAGxB,IAAMC,aAAAA,GAAsBA;AAG5B,IAAMC,eAAAA,GAAwBA;AAG9B,IAAMC,qBAAAA,GAA8BA;AAKpC,IAAMC,gBAAAA,GAAyBA","file":"chunk-BOUML6UZ.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 \"../filter-list.js\";\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const BaseFilterList = Stable.BaseFilterList;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const FilterList = Stable.FilterList;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const deserializeFilterStates = Stable.deserializeFilterStates;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const serializeFilterStates = Stable.serializeFilterStates;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const FilterPopover = Stable.FilterPopover;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const FilterInput = Stable.FilterInput;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const useFilterListState = Stable.useFilterListState;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const filterHasActiveState = Stable.filterHasActiveState;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const NO_VALUE = Stable.NO_VALUE;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const getFilterKey = Stable.getFilterKey;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const getFilterLabel = Stable.getFilterLabel;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const summarizeFilterValue = Stable.summarizeFilterValue;\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\n\n/** @deprecated Import from `@osdk/react-components/filter-list` instead. */\nexport const narrowObjectSet = Stable.narrowObjectSet;"]}
@@ -10,7 +10,7 @@ var chunk62TDTOSI_cjs = require('./chunk-62TDTOSI.cjs');
10
10
  var chunkYE4F6HIR_cjs = require('./chunk-YE4F6HIR.cjs');
11
11
  var chunk7LXS66DW_cjs = require('./chunk-7LXS66DW.cjs');
12
12
  var chunkQP2LHBCZ_cjs = require('./chunk-QP2LHBCZ.cjs');
13
- var chunkQUIU2R3K_cjs = require('./chunk-QUIU2R3K.cjs');
13
+ var chunkNBECY2US_cjs = require('./chunk-NBECY2US.cjs');
14
14
  var reactTable = require('@tanstack/react-table');
15
15
  var React21 = require('react');
16
16
  var react = require('@osdk/react');
@@ -3396,7 +3396,7 @@ function ObjectTable({
3396
3396
  }
3397
3397
 
3398
3398
  // src/public/object-table.ts
3399
- var ObjectTable2 = chunkQUIU2R3K_cjs.withOsdkMetrics(ObjectTable, "ObjectTable");
3399
+ var ObjectTable2 = chunkNBECY2US_cjs.withOsdkMetrics(ObjectTable, "ObjectTable");
3400
3400
 
3401
3401
  exports.BaseTable = BaseTable;
3402
3402
  exports.ColumnConfigDialog = ColumnConfigDialog;
@@ -3418,5 +3418,5 @@ exports.useObjectTableSnapshot = useObjectTableSnapshot;
3418
3418
  exports.useRowSelection = useRowSelection;
3419
3419
  exports.useSelectionColumn = useSelectionColumn;
3420
3420
  exports.useTableSorting = useTableSorting;
3421
- //# sourceMappingURL=chunk-N3OQQ7O2.cjs.map
3422
- //# sourceMappingURL=chunk-N3OQQ7O2.cjs.map
3421
+ //# sourceMappingURL=chunk-CHPLIOOB.cjs.map
3422
+ //# sourceMappingURL=chunk-CHPLIOOB.cjs.map