@osdk/react-components 0.2.0-beta.2 → 0.2.0-beta.21

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 (976) hide show
  1. package/AGENTS.md +105 -0
  2. package/CHANGELOG.md +245 -0
  3. package/README.md +129 -24
  4. package/build/browser/action-form/ActionForm.js +113 -0
  5. package/build/browser/action-form/ActionForm.js.map +1 -0
  6. package/build/browser/action-form/ActionFormApi.js.map +1 -1
  7. package/build/browser/action-form/BaseForm.js +70 -0
  8. package/build/browser/action-form/BaseForm.js.map +1 -0
  9. package/build/browser/action-form/FormFieldApi.js.map +1 -1
  10. package/build/browser/action-form/fields/DropdownField.js +104 -0
  11. package/build/browser/action-form/fields/DropdownField.js.map +1 -0
  12. package/build/browser/action-form/fields/FieldBridge.js +45 -0
  13. package/build/browser/action-form/fields/FieldBridge.js.map +1 -0
  14. package/build/browser/action-form/fields/FormFieldRenderer.js +79 -0
  15. package/build/browser/action-form/fields/FormFieldRenderer.js.map +1 -0
  16. package/build/browser/action-form/fields/TextInputField.js +37 -0
  17. package/build/browser/action-form/fields/TextInputField.js.map +1 -0
  18. package/build/browser/action-form/utils/coerceFieldValue.js +93 -0
  19. package/build/browser/action-form/utils/coerceFieldValue.js.map +1 -0
  20. package/build/browser/action-form/utils/getDefaultFieldComponent.js +56 -0
  21. package/build/browser/action-form/utils/getDefaultFieldComponent.js.map +1 -0
  22. package/build/browser/action-form/utils/getDefaultFieldDefinitions.js +33 -0
  23. package/build/browser/action-form/utils/getDefaultFieldDefinitions.js.map +1 -0
  24. package/build/browser/base-components/action-button/ActionButton.js +31 -0
  25. package/build/browser/base-components/action-button/ActionButton.js.map +1 -0
  26. package/build/browser/base-components/action-button/ActionButton.module.css +66 -0
  27. package/build/browser/base-components/action-button/ActionButton.module.css.js +8 -0
  28. package/build/browser/base-components/checkbox/Checkbox.module.css +1 -5
  29. package/build/browser/base-components/combobox/Combobox.js +146 -0
  30. package/build/browser/base-components/combobox/Combobox.js.map +1 -0
  31. package/build/browser/base-components/combobox/Combobox.module.css +357 -0
  32. package/build/browser/base-components/combobox/Combobox.module.css.js +17 -0
  33. package/build/browser/base-components/dialog/Dialog.js +52 -0
  34. package/build/browser/base-components/dialog/Dialog.js.map +1 -0
  35. package/build/browser/base-components/dialog/Dialog.module.css +93 -0
  36. package/build/browser/base-components/dialog/Dialog.module.css.js +13 -0
  37. package/build/browser/base-components/draggable-list/DraggableList.js +157 -0
  38. package/build/browser/base-components/draggable-list/DraggableList.js.map +1 -0
  39. package/build/browser/base-components/draggable-list/DraggableList.module.css +100 -0
  40. package/build/browser/base-components/draggable-list/DraggableList.module.css.js +11 -0
  41. package/build/browser/base-components/search-bar/SearchBar.js +44 -0
  42. package/build/browser/base-components/search-bar/SearchBar.js.map +1 -0
  43. package/build/browser/base-components/search-bar/SearchBar.module.css +53 -0
  44. package/build/browser/base-components/search-bar/SearchBar.module.css.js +8 -0
  45. package/build/browser/base-components/select/Select.js +95 -0
  46. package/build/browser/base-components/select/Select.js.map +1 -0
  47. package/build/browser/base-components/select/Select.module.css +235 -0
  48. package/build/browser/base-components/select/Select.module.css.js +13 -0
  49. package/build/browser/base-components/skeleton/SkeletonBar.js +36 -0
  50. package/build/browser/base-components/skeleton/SkeletonBar.js.map +1 -0
  51. package/build/browser/base-components/skeleton/SkeletonBar.module.css +39 -0
  52. package/build/browser/base-components/skeleton/SkeletonBar.module.css.js +7 -0
  53. package/build/browser/base-components/switch/Switch.js +33 -0
  54. package/build/browser/base-components/switch/Switch.js.map +1 -0
  55. package/build/browser/base-components/switch/Switch.module.css +91 -0
  56. package/build/browser/base-components/switch/Switch.module.css.js +7 -0
  57. package/build/browser/base-components/tooltip/Tooltip.js +91 -0
  58. package/build/browser/base-components/tooltip/Tooltip.js.map +1 -0
  59. package/build/browser/base-components/tooltip/Tooltip.module.css +70 -0
  60. package/build/browser/base-components/tooltip/Tooltip.module.css.js +11 -0
  61. package/build/browser/base-components/tooltip/index.js +18 -0
  62. package/build/browser/base-components/tooltip/index.js.map +1 -0
  63. package/build/browser/filter-list/FilterInput.js +132 -0
  64. package/build/browser/filter-list/FilterInput.js.map +1 -0
  65. package/build/browser/filter-list/FilterList.js +128 -0
  66. package/build/browser/filter-list/FilterList.js.map +1 -0
  67. package/build/browser/filter-list/FilterListApi.js.map +1 -1
  68. package/build/browser/filter-list/FilterListItemApi.js.map +1 -1
  69. package/build/browser/filter-list/base/AddFilterPopover.js +45 -0
  70. package/build/browser/filter-list/base/AddFilterPopover.js.map +1 -0
  71. package/build/browser/filter-list/base/AddFilterPopover.module.css +83 -0
  72. package/build/browser/filter-list/base/AddFilterPopover.module.css.js +9 -0
  73. package/build/browser/filter-list/base/BaseFilterList.js +90 -0
  74. package/build/browser/filter-list/base/BaseFilterList.js.map +1 -0
  75. package/build/browser/filter-list/base/BaseFilterListApi.js +2 -0
  76. package/build/browser/filter-list/base/BaseFilterListApi.js.map +1 -0
  77. package/build/browser/filter-list/base/DragHandleIcon.js +51 -0
  78. package/build/browser/filter-list/base/DragHandleIcon.js.map +1 -0
  79. package/build/browser/filter-list/base/FilterIcons.js +98 -0
  80. package/build/browser/filter-list/base/FilterIcons.js.map +1 -0
  81. package/build/browser/filter-list/base/FilterList.module.css +132 -0
  82. package/build/browser/filter-list/base/FilterList.module.css.js +13 -0
  83. package/build/browser/filter-list/base/FilterListContent.js +198 -0
  84. package/build/browser/filter-list/base/FilterListContent.js.map +1 -0
  85. package/build/browser/filter-list/base/FilterListContent.module.css +33 -0
  86. package/build/browser/filter-list/base/FilterListContent.module.css.js +8 -0
  87. package/build/browser/filter-list/base/FilterListHeader.js +58 -0
  88. package/build/browser/filter-list/base/FilterListHeader.js.map +1 -0
  89. package/build/browser/filter-list/base/FilterListHeader.module.css +123 -0
  90. package/build/browser/filter-list/base/FilterListHeader.module.css.js +13 -0
  91. package/build/browser/filter-list/base/FilterListItem.js +87 -0
  92. package/build/browser/filter-list/base/FilterListItem.js.map +1 -0
  93. package/build/browser/filter-list/base/FilterListItem.module.css +126 -0
  94. package/build/browser/filter-list/base/FilterListItem.module.css.js +13 -0
  95. package/build/browser/filter-list/base/SortableFilterListItem.js +63 -0
  96. package/build/browser/filter-list/base/SortableFilterListItem.js.map +1 -0
  97. package/build/browser/filter-list/base/index.js +21 -0
  98. package/build/browser/filter-list/base/index.js.map +1 -0
  99. package/build/browser/filter-list/base/inputs/CheckboxListInput.js +83 -0
  100. package/build/browser/filter-list/base/inputs/CheckboxListInput.js.map +1 -0
  101. package/build/browser/filter-list/base/inputs/CheckboxListInput.module.css +65 -0
  102. package/build/browser/filter-list/base/inputs/CheckboxListInput.module.css.js +10 -0
  103. package/build/browser/filter-list/base/inputs/CheckboxListSkeleton.js +46 -0
  104. package/build/browser/filter-list/base/inputs/CheckboxListSkeleton.js.map +1 -0
  105. package/build/browser/filter-list/base/inputs/CheckboxListSkeleton.module.css +32 -0
  106. package/build/browser/filter-list/base/inputs/CheckboxListSkeleton.module.css.js +8 -0
  107. package/build/browser/filter-list/base/inputs/ContainsTextInput.js +85 -0
  108. package/build/browser/filter-list/base/inputs/ContainsTextInput.js.map +1 -0
  109. package/build/browser/filter-list/base/inputs/ContainsTextInput.module.css +91 -0
  110. package/build/browser/filter-list/base/inputs/ContainsTextInput.module.css.js +10 -0
  111. package/build/browser/filter-list/base/inputs/DateRangeInput.js +37 -0
  112. package/build/browser/filter-list/base/inputs/DateRangeInput.js.map +1 -0
  113. package/build/browser/filter-list/base/inputs/LinkedPropertyInput.module.css +20 -0
  114. package/build/browser/filter-list/base/inputs/LinkedPropertyInput.module.css.js +6 -0
  115. package/build/browser/filter-list/base/inputs/ListogramInput.js +103 -0
  116. package/build/browser/filter-list/base/inputs/ListogramInput.js.map +1 -0
  117. package/build/browser/filter-list/base/inputs/ListogramInput.module.css +106 -0
  118. package/build/browser/filter-list/base/inputs/ListogramInput.module.css.js +12 -0
  119. package/build/browser/filter-list/base/inputs/ListogramSkeleton.js +45 -0
  120. package/build/browser/filter-list/base/inputs/ListogramSkeleton.js.map +1 -0
  121. package/build/browser/filter-list/base/inputs/ListogramSkeleton.module.css +32 -0
  122. package/build/browser/filter-list/base/inputs/ListogramSkeleton.module.css.js +8 -0
  123. package/build/browser/filter-list/base/inputs/MultiDateInput.js +82 -0
  124. package/build/browser/filter-list/base/inputs/MultiDateInput.js.map +1 -0
  125. package/build/browser/filter-list/base/inputs/MultiDateInput.module.css +56 -0
  126. package/build/browser/filter-list/base/inputs/MultiDateInput.module.css.js +9 -0
  127. package/build/browser/filter-list/base/inputs/MultiSelectInput.js +93 -0
  128. package/build/browser/filter-list/base/inputs/MultiSelectInput.js.map +1 -0
  129. package/build/browser/filter-list/base/inputs/MultiSelectInput.module.css +38 -0
  130. package/build/browser/filter-list/base/inputs/MultiSelectInput.module.css.js +9 -0
  131. package/build/browser/filter-list/base/inputs/NullValueWrapper.js +57 -0
  132. package/build/browser/filter-list/base/inputs/NullValueWrapper.js.map +1 -0
  133. package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css +50 -0
  134. package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css.js +10 -0
  135. package/build/browser/filter-list/base/inputs/NumberRangeInput.js +48 -0
  136. package/build/browser/filter-list/base/inputs/NumberRangeInput.js.map +1 -0
  137. package/build/browser/filter-list/base/inputs/RangeInput.js +157 -0
  138. package/build/browser/filter-list/base/inputs/RangeInput.js.map +1 -0
  139. package/build/browser/filter-list/base/inputs/RangeInput.module.css +106 -0
  140. package/build/browser/filter-list/base/inputs/RangeInput.module.css.js +13 -0
  141. package/build/browser/filter-list/base/inputs/SingleDateInput.js +61 -0
  142. package/build/browser/filter-list/base/inputs/SingleDateInput.js.map +1 -0
  143. package/build/browser/filter-list/base/inputs/SingleDateInput.module.css +64 -0
  144. package/build/browser/filter-list/base/inputs/SingleDateInput.module.css.js +9 -0
  145. package/build/browser/filter-list/base/inputs/SingleSelectInput.js +88 -0
  146. package/build/browser/filter-list/base/inputs/SingleSelectInput.js.map +1 -0
  147. package/build/browser/filter-list/base/inputs/SingleSelectInput.module.css +55 -0
  148. package/build/browser/filter-list/base/inputs/SingleSelectInput.module.css.js +8 -0
  149. package/build/browser/filter-list/base/inputs/TextTagsInput.js +133 -0
  150. package/build/browser/filter-list/base/inputs/TextTagsInput.js.map +1 -0
  151. package/build/browser/filter-list/base/inputs/TextTagsInput.module.css +25 -0
  152. package/build/browser/filter-list/base/inputs/TextTagsInput.module.css.js +7 -0
  153. package/build/browser/filter-list/base/inputs/TimelineInput.js +74 -0
  154. package/build/browser/filter-list/base/inputs/TimelineInput.js.map +1 -0
  155. package/build/browser/filter-list/base/inputs/TimelineInput.module.css +75 -0
  156. package/build/browser/filter-list/base/inputs/TimelineInput.module.css.js +10 -0
  157. package/build/browser/filter-list/base/inputs/ToggleInput.js +43 -0
  158. package/build/browser/filter-list/base/inputs/ToggleInput.js.map +1 -0
  159. package/build/browser/filter-list/base/inputs/ToggleInput.module.css +34 -0
  160. package/build/browser/filter-list/base/inputs/ToggleInput.module.css.js +8 -0
  161. package/build/browser/filter-list/base/inputs/createHistogramBuckets.js +53 -0
  162. package/build/browser/filter-list/base/inputs/createHistogramBuckets.js.map +1 -0
  163. package/build/browser/filter-list/base/inputs/dateUtils.js +57 -0
  164. package/build/browser/filter-list/base/inputs/dateUtils.js.map +1 -0
  165. package/build/browser/filter-list/base/inputs/index.js +25 -0
  166. package/build/browser/filter-list/base/inputs/index.js.map +1 -0
  167. package/build/browser/filter-list/base/inputs/shared.module.css +80 -0
  168. package/build/browser/filter-list/base/inputs/shared.module.css.js +11 -0
  169. package/build/browser/filter-list/base/inputs/useStaleData.js +29 -0
  170. package/build/browser/filter-list/base/inputs/useStaleData.js.map +1 -0
  171. package/build/browser/filter-list/hooks/useFilterListState.js +158 -0
  172. package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -0
  173. package/build/browser/filter-list/hooks/useFilterVisibility.js +68 -0
  174. package/build/browser/filter-list/hooks/useFilterVisibility.js.map +1 -0
  175. package/build/browser/filter-list/hooks/usePropertyAggregation.js +92 -0
  176. package/build/browser/filter-list/hooks/usePropertyAggregation.js.map +1 -0
  177. package/build/browser/filter-list/inputs/CheckboxListFilterInput.js +56 -0
  178. package/build/browser/filter-list/inputs/CheckboxListFilterInput.js.map +1 -0
  179. package/build/browser/filter-list/inputs/ContainsTextFilterInput.js +38 -0
  180. package/build/browser/filter-list/inputs/ContainsTextFilterInput.js.map +1 -0
  181. package/build/browser/filter-list/inputs/DateRangeFilterInput.js +105 -0
  182. package/build/browser/filter-list/inputs/DateRangeFilterInput.js.map +1 -0
  183. package/build/browser/filter-list/inputs/LinkedPropertyInput.js +508 -0
  184. package/build/browser/filter-list/inputs/LinkedPropertyInput.js.map +1 -0
  185. package/build/browser/filter-list/inputs/ListogramFilterInput.js +62 -0
  186. package/build/browser/filter-list/inputs/ListogramFilterInput.js.map +1 -0
  187. package/build/browser/filter-list/inputs/MultiDateFilterInput.js +38 -0
  188. package/build/browser/filter-list/inputs/MultiDateFilterInput.js.map +1 -0
  189. package/build/browser/filter-list/inputs/MultiSelectFilterInput.js +55 -0
  190. package/build/browser/filter-list/inputs/MultiSelectFilterInput.js.map +1 -0
  191. package/build/browser/filter-list/inputs/NumberRangeFilterInput.js +105 -0
  192. package/build/browser/filter-list/inputs/NumberRangeFilterInput.js.map +1 -0
  193. package/build/browser/filter-list/inputs/PropertyFilterInput.js +129 -0
  194. package/build/browser/filter-list/inputs/PropertyFilterInput.js.map +1 -0
  195. package/build/browser/filter-list/inputs/SingleDateFilterInput.js +38 -0
  196. package/build/browser/filter-list/inputs/SingleDateFilterInput.js.map +1 -0
  197. package/build/browser/filter-list/inputs/SingleSelectFilterInput.js +55 -0
  198. package/build/browser/filter-list/inputs/SingleSelectFilterInput.js.map +1 -0
  199. package/build/browser/filter-list/inputs/TextTagsFilterInput.js +54 -0
  200. package/build/browser/filter-list/inputs/TextTagsFilterInput.js.map +1 -0
  201. package/build/browser/filter-list/inputs/TimelineFilterInput.js +49 -0
  202. package/build/browser/filter-list/inputs/TimelineFilterInput.js.map +1 -0
  203. package/build/browser/filter-list/inputs/ToggleFilterInput.js +36 -0
  204. package/build/browser/filter-list/inputs/ToggleFilterInput.js.map +1 -0
  205. package/build/browser/filter-list/types/AggregationTypes.js +2 -0
  206. package/build/browser/filter-list/types/AggregationTypes.js.map +1 -0
  207. package/build/browser/filter-list/types/CustomRendererTypes.js +2 -0
  208. package/build/browser/filter-list/types/CustomRendererTypes.js.map +1 -0
  209. package/build/browser/filter-list/types/KeywordSearchTypes.js +2 -0
  210. package/build/browser/filter-list/types/KeywordSearchTypes.js.map +1 -0
  211. package/build/browser/filter-list/types/LinkedFilterTypes.js +2 -0
  212. package/build/browser/filter-list/types/LinkedFilterTypes.js.map +1 -0
  213. package/build/browser/filter-list/types/index.js +20 -0
  214. package/build/browser/filter-list/types/index.js.map +1 -0
  215. package/build/browser/filter-list/utils/aggregationHelpers.js +44 -0
  216. package/build/browser/filter-list/utils/aggregationHelpers.js.map +1 -0
  217. package/build/browser/filter-list/utils/coerceFilterValue.js +33 -0
  218. package/build/browser/filter-list/utils/coerceFilterValue.js.map +1 -0
  219. package/build/browser/filter-list/utils/filterStateSerialization.js +42 -0
  220. package/build/browser/filter-list/utils/filterStateSerialization.js.map +1 -0
  221. package/build/browser/filter-list/utils/filterStateToWhereClause.js +375 -0
  222. package/build/browser/filter-list/utils/filterStateToWhereClause.js.map +1 -0
  223. package/build/browser/filter-list/utils/filterValues.js +81 -0
  224. package/build/browser/filter-list/utils/filterValues.js.map +1 -0
  225. package/build/browser/filter-list/utils/getFilterKey.js +34 -0
  226. package/build/browser/filter-list/utils/getFilterKey.js.map +1 -0
  227. package/build/browser/filter-list/utils/getFilterLabel.js +36 -0
  228. package/build/browser/filter-list/utils/getFilterLabel.js.map +1 -0
  229. package/build/browser/object-table/ColumnConfigDialog.js +259 -0
  230. package/build/browser/object-table/ColumnConfigDialog.js.map +1 -0
  231. package/build/browser/object-table/ColumnConfigDialog.module.css +238 -0
  232. package/build/browser/object-table/ColumnConfigDialog.module.css.js +29 -0
  233. package/build/browser/object-table/DefaultCellRenderer.js +61 -0
  234. package/build/browser/object-table/DefaultCellRenderer.js.map +1 -0
  235. package/build/browser/object-table/EditableCell.js +168 -0
  236. package/build/browser/object-table/EditableCell.js.map +1 -0
  237. package/build/browser/object-table/EditableCell.module.css +70 -0
  238. package/build/browser/object-table/EditableCell.module.css.js +11 -0
  239. package/build/browser/object-table/LoadingCell.js +6 -3
  240. package/build/browser/object-table/LoadingCell.js.map +1 -1
  241. package/build/browser/object-table/LoadingRow.js +2 -1
  242. package/build/browser/object-table/LoadingRow.js.map +1 -1
  243. package/build/browser/object-table/LoadingStateTable.js +4 -4
  244. package/build/browser/object-table/LoadingStateTable.js.map +1 -1
  245. package/build/browser/object-table/MultiColumnSortDialog.js +181 -0
  246. package/build/browser/object-table/MultiColumnSortDialog.js.map +1 -0
  247. package/build/browser/object-table/MultiColumnSortDialog.module.css +191 -0
  248. package/build/browser/object-table/MultiColumnSortDialog.module.css.js +22 -0
  249. package/build/browser/object-table/NonIdealState.module.css +2 -3
  250. package/build/browser/object-table/ObjectTable.js +69 -17
  251. package/build/browser/object-table/ObjectTable.js.map +1 -1
  252. package/build/browser/object-table/ObjectTableApi.js.map +1 -1
  253. package/build/browser/object-table/SelectionCells.js +16 -4
  254. package/build/browser/object-table/SelectionCells.js.map +1 -1
  255. package/build/browser/object-table/SortableItemsList.js +35 -0
  256. package/build/browser/object-table/SortableItemsList.js.map +1 -0
  257. package/build/browser/object-table/Table.js +29 -4
  258. package/build/browser/object-table/Table.js.map +1 -1
  259. package/build/browser/object-table/Table.module.css +18 -3
  260. package/build/browser/object-table/Table.module.css.js +1 -0
  261. package/build/browser/object-table/TableBody.js +8 -2
  262. package/build/browser/object-table/TableBody.js.map +1 -1
  263. package/build/browser/object-table/TableBody.module.css +2 -0
  264. package/build/browser/object-table/TableCell.module.css +15 -1
  265. package/build/browser/object-table/TableCell.module.css.js +2 -1
  266. package/build/browser/object-table/TableEditContainer.js +90 -0
  267. package/build/browser/object-table/TableEditContainer.js.map +1 -0
  268. package/build/browser/object-table/TableEditContainer.module.css +71 -0
  269. package/build/browser/object-table/TableEditContainer.module.css.js +13 -0
  270. package/build/browser/object-table/TableHeader.js +97 -7
  271. package/build/browser/object-table/TableHeader.js.map +1 -1
  272. package/build/browser/object-table/TableHeader.module.css +11 -3
  273. package/build/browser/object-table/TableHeader.module.css.js +1 -0
  274. package/build/browser/object-table/TableHeaderWithPopover.js +53 -22
  275. package/build/browser/object-table/TableHeaderWithPopover.js.map +1 -1
  276. package/build/browser/object-table/TableHeaderWithPopover.module.css +44 -25
  277. package/build/browser/object-table/TableHeaderWithPopover.module.css.js +3 -1
  278. package/build/browser/object-table/TableRow.js +10 -3
  279. package/build/browser/object-table/TableRow.js.map +1 -1
  280. package/build/browser/object-table/TableRow.module.css +4 -1
  281. package/build/browser/object-table/components/AsyncValueCell.js +35 -0
  282. package/build/browser/object-table/components/AsyncValueCell.js.map +1 -0
  283. package/build/browser/object-table/hooks/useColumnDefs.js +20 -4
  284. package/build/browser/object-table/hooks/useColumnDefs.js.map +1 -1
  285. package/build/browser/object-table/hooks/useColumnResize.js +45 -0
  286. package/build/browser/object-table/hooks/useColumnResize.js.map +1 -0
  287. package/build/browser/object-table/hooks/useColumnVisibility.js +52 -20
  288. package/build/browser/object-table/hooks/useColumnVisibility.js.map +1 -1
  289. package/build/browser/object-table/hooks/useEditableTable.js +85 -0
  290. package/build/browser/object-table/hooks/useEditableTable.js.map +1 -0
  291. package/build/browser/object-table/hooks/useFunctionColumnsData.js +270 -0
  292. package/build/browser/object-table/hooks/useFunctionColumnsData.js.map +1 -0
  293. package/build/browser/object-table/hooks/useObjectTableData.js +58 -7
  294. package/build/browser/object-table/hooks/useObjectTableData.js.map +1 -1
  295. package/build/browser/object-table/hooks/useRowSelection.js +40 -16
  296. package/build/browser/object-table/hooks/useRowSelection.js.map +1 -1
  297. package/build/browser/object-table/hooks/useSelectionColumn.js +15 -6
  298. package/build/browser/object-table/hooks/useSelectionColumn.js.map +1 -1
  299. package/build/browser/object-table/utils/AsyncCellData.js +30 -0
  300. package/build/browser/object-table/utils/AsyncCellData.js.map +1 -0
  301. package/build/browser/object-table/utils/constants.js +1 -0
  302. package/build/browser/object-table/utils/constants.js.map +1 -1
  303. package/build/browser/object-table/utils/getCellId.js +20 -0
  304. package/build/browser/object-table/utils/getCellId.js.map +1 -0
  305. package/build/browser/object-table/utils/types.js +2 -0
  306. package/build/browser/object-table/utils/types.js.map +1 -0
  307. package/build/browser/pdf-viewer/PdfRenderer.js +88 -0
  308. package/build/browser/pdf-viewer/PdfRenderer.js.map +1 -0
  309. package/build/browser/pdf-viewer/PdfViewer.js +197 -0
  310. package/build/browser/pdf-viewer/PdfViewer.js.map +1 -0
  311. package/build/browser/pdf-viewer/PdfViewer.module.css +95 -0
  312. package/build/browser/pdf-viewer/PdfViewer.module.css.js +16 -0
  313. package/build/browser/pdf-viewer/PdfViewerAnnotationLayer.js +74 -0
  314. package/build/browser/pdf-viewer/PdfViewerAnnotationLayer.js.map +1 -0
  315. package/build/browser/pdf-viewer/PdfViewerAnnotationLayer.module.css +65 -0
  316. package/build/browser/pdf-viewer/PdfViewerAnnotationLayer.module.css.js +11 -0
  317. package/build/browser/pdf-viewer/PdfViewerSearchBar.js +84 -0
  318. package/build/browser/pdf-viewer/PdfViewerSearchBar.js.map +1 -0
  319. package/build/browser/pdf-viewer/PdfViewerSearchBar.module.css +65 -0
  320. package/build/browser/pdf-viewer/PdfViewerSearchBar.module.css.js +10 -0
  321. package/build/browser/pdf-viewer/PdfViewerSidebar.js +74 -0
  322. package/build/browser/pdf-viewer/PdfViewerSidebar.js.map +1 -0
  323. package/build/browser/pdf-viewer/PdfViewerSidebar.module.css +46 -0
  324. package/build/browser/pdf-viewer/PdfViewerSidebar.module.css.js +11 -0
  325. package/build/browser/pdf-viewer/PdfViewerThumbnail.js +100 -0
  326. package/build/browser/pdf-viewer/PdfViewerThumbnail.js.map +1 -0
  327. package/build/browser/pdf-viewer/PdfViewerThumbnail.module.css +26 -0
  328. package/build/browser/pdf-viewer/PdfViewerThumbnail.module.css.js +8 -0
  329. package/build/browser/pdf-viewer/PdfViewerToolbar.js +167 -0
  330. package/build/browser/pdf-viewer/PdfViewerToolbar.js.map +1 -0
  331. package/build/browser/pdf-viewer/PdfViewerToolbar.module.css +86 -0
  332. package/build/browser/pdf-viewer/PdfViewerToolbar.module.css.js +12 -0
  333. package/build/browser/pdf-viewer/constants.js +43 -0
  334. package/build/browser/pdf-viewer/constants.js.map +1 -0
  335. package/build/browser/pdf-viewer/hooks/usePdfAnnotationPortals.js +54 -0
  336. package/build/browser/pdf-viewer/hooks/usePdfAnnotationPortals.js.map +1 -0
  337. package/build/browser/pdf-viewer/hooks/usePdfDocument.js +67 -0
  338. package/build/browser/pdf-viewer/hooks/usePdfDocument.js.map +1 -0
  339. package/build/browser/pdf-viewer/hooks/usePdfViewer.js +69 -0
  340. package/build/browser/pdf-viewer/hooks/usePdfViewer.js.map +1 -0
  341. package/build/browser/pdf-viewer/hooks/usePdfViewerSearch.js +106 -0
  342. package/build/browser/pdf-viewer/hooks/usePdfViewerSearch.js.map +1 -0
  343. package/build/browser/pdf-viewer/hooks/usePdfViewerSync.js +71 -0
  344. package/build/browser/pdf-viewer/hooks/usePdfViewerSync.js.map +1 -0
  345. package/build/browser/pdf-viewer/types.js +2 -0
  346. package/build/browser/pdf-viewer/types.js.map +1 -0
  347. package/build/browser/public/experimental.js +9 -0
  348. package/build/browser/public/experimental.js.map +1 -1
  349. package/build/browser/shared/ErrorBoundary.js +62 -0
  350. package/build/browser/shared/ErrorBoundary.js.map +1 -0
  351. package/build/browser/shared/ErrorBoundary.module.css +55 -0
  352. package/build/browser/shared/ErrorBoundary.module.css.js +8 -0
  353. package/build/browser/shared/assertUnreachable.js +25 -0
  354. package/build/browser/shared/assertUnreachable.js.map +1 -0
  355. package/build/browser/shared/typedMemo.js +25 -0
  356. package/build/browser/shared/typedMemo.js.map +1 -0
  357. package/build/browser/styles.css +3936 -220
  358. package/build/cjs/public/experimental.cjs +6675 -312
  359. package/build/cjs/public/experimental.cjs.map +1 -1
  360. package/build/cjs/public/experimental.css +2573 -107
  361. package/build/cjs/public/experimental.css.map +1 -1
  362. package/build/cjs/public/experimental.d.cts +673 -68
  363. package/build/esm/action-form/ActionForm.js +113 -0
  364. package/build/esm/action-form/ActionForm.js.map +1 -0
  365. package/build/esm/action-form/ActionFormApi.js.map +1 -1
  366. package/build/esm/action-form/BaseForm.js +70 -0
  367. package/build/esm/action-form/BaseForm.js.map +1 -0
  368. package/build/esm/action-form/FormFieldApi.js.map +1 -1
  369. package/build/esm/action-form/fields/DropdownField.js +104 -0
  370. package/build/esm/action-form/fields/DropdownField.js.map +1 -0
  371. package/build/esm/action-form/fields/FieldBridge.js +45 -0
  372. package/build/esm/action-form/fields/FieldBridge.js.map +1 -0
  373. package/build/esm/action-form/fields/FormFieldRenderer.js +79 -0
  374. package/build/esm/action-form/fields/FormFieldRenderer.js.map +1 -0
  375. package/build/esm/action-form/fields/TextInputField.js +37 -0
  376. package/build/esm/action-form/fields/TextInputField.js.map +1 -0
  377. package/build/esm/action-form/utils/coerceFieldValue.js +93 -0
  378. package/build/esm/action-form/utils/coerceFieldValue.js.map +1 -0
  379. package/build/esm/action-form/utils/getDefaultFieldComponent.js +56 -0
  380. package/build/esm/action-form/utils/getDefaultFieldComponent.js.map +1 -0
  381. package/build/esm/action-form/utils/getDefaultFieldDefinitions.js +33 -0
  382. package/build/esm/action-form/utils/getDefaultFieldDefinitions.js.map +1 -0
  383. package/build/esm/base-components/action-button/ActionButton.js +31 -0
  384. package/build/esm/base-components/action-button/ActionButton.js.map +1 -0
  385. package/build/esm/base-components/action-button/ActionButton.module.css +66 -0
  386. package/build/esm/base-components/checkbox/Checkbox.module.css +1 -5
  387. package/build/esm/base-components/combobox/Combobox.js +146 -0
  388. package/build/esm/base-components/combobox/Combobox.js.map +1 -0
  389. package/build/esm/base-components/combobox/Combobox.module.css +357 -0
  390. package/build/esm/base-components/dialog/Dialog.js +52 -0
  391. package/build/esm/base-components/dialog/Dialog.js.map +1 -0
  392. package/build/esm/base-components/dialog/Dialog.module.css +93 -0
  393. package/build/esm/base-components/draggable-list/DraggableList.js +157 -0
  394. package/build/esm/base-components/draggable-list/DraggableList.js.map +1 -0
  395. package/build/esm/base-components/draggable-list/DraggableList.module.css +100 -0
  396. package/build/esm/base-components/search-bar/SearchBar.js +44 -0
  397. package/build/esm/base-components/search-bar/SearchBar.js.map +1 -0
  398. package/build/esm/base-components/search-bar/SearchBar.module.css +53 -0
  399. package/build/esm/base-components/select/Select.js +95 -0
  400. package/build/esm/base-components/select/Select.js.map +1 -0
  401. package/build/esm/base-components/select/Select.module.css +235 -0
  402. package/build/esm/base-components/skeleton/SkeletonBar.js +36 -0
  403. package/build/esm/base-components/skeleton/SkeletonBar.js.map +1 -0
  404. package/build/esm/base-components/skeleton/SkeletonBar.module.css +39 -0
  405. package/build/esm/base-components/switch/Switch.js +33 -0
  406. package/build/esm/base-components/switch/Switch.js.map +1 -0
  407. package/build/esm/base-components/switch/Switch.module.css +91 -0
  408. package/build/esm/base-components/tooltip/Tooltip.js +91 -0
  409. package/build/esm/base-components/tooltip/Tooltip.js.map +1 -0
  410. package/build/esm/base-components/tooltip/Tooltip.module.css +70 -0
  411. package/build/esm/base-components/tooltip/index.js +18 -0
  412. package/build/esm/base-components/tooltip/index.js.map +1 -0
  413. package/build/esm/filter-list/FilterInput.js +132 -0
  414. package/build/esm/filter-list/FilterInput.js.map +1 -0
  415. package/build/esm/filter-list/FilterList.js +128 -0
  416. package/build/esm/filter-list/FilterList.js.map +1 -0
  417. package/build/esm/filter-list/FilterListApi.js.map +1 -1
  418. package/build/esm/filter-list/FilterListItemApi.js.map +1 -1
  419. package/build/esm/filter-list/base/AddFilterPopover.js +45 -0
  420. package/build/esm/filter-list/base/AddFilterPopover.js.map +1 -0
  421. package/build/esm/filter-list/base/AddFilterPopover.module.css +83 -0
  422. package/build/esm/filter-list/base/BaseFilterList.js +90 -0
  423. package/build/esm/filter-list/base/BaseFilterList.js.map +1 -0
  424. package/build/esm/filter-list/base/BaseFilterListApi.js +2 -0
  425. package/build/esm/filter-list/base/BaseFilterListApi.js.map +1 -0
  426. package/build/esm/filter-list/base/DragHandleIcon.js +51 -0
  427. package/build/esm/filter-list/base/DragHandleIcon.js.map +1 -0
  428. package/build/esm/filter-list/base/FilterIcons.js +98 -0
  429. package/build/esm/filter-list/base/FilterIcons.js.map +1 -0
  430. package/build/esm/filter-list/base/FilterList.module.css +132 -0
  431. package/build/esm/filter-list/base/FilterListContent.js +198 -0
  432. package/build/esm/filter-list/base/FilterListContent.js.map +1 -0
  433. package/build/esm/filter-list/base/FilterListContent.module.css +33 -0
  434. package/build/esm/filter-list/base/FilterListHeader.js +58 -0
  435. package/build/esm/filter-list/base/FilterListHeader.js.map +1 -0
  436. package/build/esm/filter-list/base/FilterListHeader.module.css +123 -0
  437. package/build/esm/filter-list/base/FilterListItem.js +87 -0
  438. package/build/esm/filter-list/base/FilterListItem.js.map +1 -0
  439. package/build/esm/filter-list/base/FilterListItem.module.css +126 -0
  440. package/build/esm/filter-list/base/SortableFilterListItem.js +63 -0
  441. package/build/esm/filter-list/base/SortableFilterListItem.js.map +1 -0
  442. package/build/esm/filter-list/base/index.js +21 -0
  443. package/build/esm/filter-list/base/index.js.map +1 -0
  444. package/build/esm/filter-list/base/inputs/CheckboxListInput.js +83 -0
  445. package/build/esm/filter-list/base/inputs/CheckboxListInput.js.map +1 -0
  446. package/build/esm/filter-list/base/inputs/CheckboxListInput.module.css +65 -0
  447. package/build/esm/filter-list/base/inputs/CheckboxListSkeleton.js +46 -0
  448. package/build/esm/filter-list/base/inputs/CheckboxListSkeleton.js.map +1 -0
  449. package/build/esm/filter-list/base/inputs/CheckboxListSkeleton.module.css +32 -0
  450. package/build/esm/filter-list/base/inputs/ContainsTextInput.js +85 -0
  451. package/build/esm/filter-list/base/inputs/ContainsTextInput.js.map +1 -0
  452. package/build/esm/filter-list/base/inputs/ContainsTextInput.module.css +91 -0
  453. package/build/esm/filter-list/base/inputs/DateRangeInput.js +37 -0
  454. package/build/esm/filter-list/base/inputs/DateRangeInput.js.map +1 -0
  455. package/build/esm/filter-list/base/inputs/LinkedPropertyInput.module.css +20 -0
  456. package/build/esm/filter-list/base/inputs/ListogramInput.js +103 -0
  457. package/build/esm/filter-list/base/inputs/ListogramInput.js.map +1 -0
  458. package/build/esm/filter-list/base/inputs/ListogramInput.module.css +106 -0
  459. package/build/esm/filter-list/base/inputs/ListogramSkeleton.js +45 -0
  460. package/build/esm/filter-list/base/inputs/ListogramSkeleton.js.map +1 -0
  461. package/build/esm/filter-list/base/inputs/ListogramSkeleton.module.css +32 -0
  462. package/build/esm/filter-list/base/inputs/MultiDateInput.js +82 -0
  463. package/build/esm/filter-list/base/inputs/MultiDateInput.js.map +1 -0
  464. package/build/esm/filter-list/base/inputs/MultiDateInput.module.css +56 -0
  465. package/build/esm/filter-list/base/inputs/MultiSelectInput.js +93 -0
  466. package/build/esm/filter-list/base/inputs/MultiSelectInput.js.map +1 -0
  467. package/build/esm/filter-list/base/inputs/MultiSelectInput.module.css +38 -0
  468. package/build/esm/filter-list/base/inputs/NullValueWrapper.js +57 -0
  469. package/build/esm/filter-list/base/inputs/NullValueWrapper.js.map +1 -0
  470. package/build/esm/filter-list/base/inputs/NullValueWrapper.module.css +50 -0
  471. package/build/esm/filter-list/base/inputs/NumberRangeInput.js +48 -0
  472. package/build/esm/filter-list/base/inputs/NumberRangeInput.js.map +1 -0
  473. package/build/esm/filter-list/base/inputs/RangeInput.js +157 -0
  474. package/build/esm/filter-list/base/inputs/RangeInput.js.map +1 -0
  475. package/build/esm/filter-list/base/inputs/RangeInput.module.css +106 -0
  476. package/build/esm/filter-list/base/inputs/SingleDateInput.js +61 -0
  477. package/build/esm/filter-list/base/inputs/SingleDateInput.js.map +1 -0
  478. package/build/esm/filter-list/base/inputs/SingleDateInput.module.css +64 -0
  479. package/build/esm/filter-list/base/inputs/SingleSelectInput.js +88 -0
  480. package/build/esm/filter-list/base/inputs/SingleSelectInput.js.map +1 -0
  481. package/build/esm/filter-list/base/inputs/SingleSelectInput.module.css +55 -0
  482. package/build/esm/filter-list/base/inputs/TextTagsInput.js +133 -0
  483. package/build/esm/filter-list/base/inputs/TextTagsInput.js.map +1 -0
  484. package/build/esm/filter-list/base/inputs/TextTagsInput.module.css +25 -0
  485. package/build/esm/filter-list/base/inputs/TimelineInput.js +74 -0
  486. package/build/esm/filter-list/base/inputs/TimelineInput.js.map +1 -0
  487. package/build/esm/filter-list/base/inputs/TimelineInput.module.css +75 -0
  488. package/build/esm/filter-list/base/inputs/ToggleInput.js +43 -0
  489. package/build/esm/filter-list/base/inputs/ToggleInput.js.map +1 -0
  490. package/build/esm/filter-list/base/inputs/ToggleInput.module.css +34 -0
  491. package/build/esm/filter-list/base/inputs/createHistogramBuckets.js +53 -0
  492. package/build/esm/filter-list/base/inputs/createHistogramBuckets.js.map +1 -0
  493. package/build/esm/filter-list/base/inputs/dateUtils.js +57 -0
  494. package/build/esm/filter-list/base/inputs/dateUtils.js.map +1 -0
  495. package/build/esm/filter-list/base/inputs/index.js +25 -0
  496. package/build/esm/filter-list/base/inputs/index.js.map +1 -0
  497. package/build/esm/filter-list/base/inputs/shared.module.css +80 -0
  498. package/build/esm/filter-list/base/inputs/useStaleData.js +29 -0
  499. package/build/esm/filter-list/base/inputs/useStaleData.js.map +1 -0
  500. package/build/esm/filter-list/hooks/useFilterListState.js +158 -0
  501. package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -0
  502. package/build/esm/filter-list/hooks/useFilterVisibility.js +68 -0
  503. package/build/esm/filter-list/hooks/useFilterVisibility.js.map +1 -0
  504. package/build/esm/filter-list/hooks/usePropertyAggregation.js +92 -0
  505. package/build/esm/filter-list/hooks/usePropertyAggregation.js.map +1 -0
  506. package/build/esm/filter-list/inputs/CheckboxListFilterInput.js +56 -0
  507. package/build/esm/filter-list/inputs/CheckboxListFilterInput.js.map +1 -0
  508. package/build/esm/filter-list/inputs/ContainsTextFilterInput.js +38 -0
  509. package/build/esm/filter-list/inputs/ContainsTextFilterInput.js.map +1 -0
  510. package/build/esm/filter-list/inputs/DateRangeFilterInput.js +105 -0
  511. package/build/esm/filter-list/inputs/DateRangeFilterInput.js.map +1 -0
  512. package/build/esm/filter-list/inputs/LinkedPropertyInput.js +508 -0
  513. package/build/esm/filter-list/inputs/LinkedPropertyInput.js.map +1 -0
  514. package/build/esm/filter-list/inputs/ListogramFilterInput.js +62 -0
  515. package/build/esm/filter-list/inputs/ListogramFilterInput.js.map +1 -0
  516. package/build/esm/filter-list/inputs/MultiDateFilterInput.js +38 -0
  517. package/build/esm/filter-list/inputs/MultiDateFilterInput.js.map +1 -0
  518. package/build/esm/filter-list/inputs/MultiSelectFilterInput.js +55 -0
  519. package/build/esm/filter-list/inputs/MultiSelectFilterInput.js.map +1 -0
  520. package/build/esm/filter-list/inputs/NumberRangeFilterInput.js +105 -0
  521. package/build/esm/filter-list/inputs/NumberRangeFilterInput.js.map +1 -0
  522. package/build/esm/filter-list/inputs/PropertyFilterInput.js +129 -0
  523. package/build/esm/filter-list/inputs/PropertyFilterInput.js.map +1 -0
  524. package/build/esm/filter-list/inputs/SingleDateFilterInput.js +38 -0
  525. package/build/esm/filter-list/inputs/SingleDateFilterInput.js.map +1 -0
  526. package/build/esm/filter-list/inputs/SingleSelectFilterInput.js +55 -0
  527. package/build/esm/filter-list/inputs/SingleSelectFilterInput.js.map +1 -0
  528. package/build/esm/filter-list/inputs/TextTagsFilterInput.js +54 -0
  529. package/build/esm/filter-list/inputs/TextTagsFilterInput.js.map +1 -0
  530. package/build/esm/filter-list/inputs/TimelineFilterInput.js +49 -0
  531. package/build/esm/filter-list/inputs/TimelineFilterInput.js.map +1 -0
  532. package/build/esm/filter-list/inputs/ToggleFilterInput.js +36 -0
  533. package/build/esm/filter-list/inputs/ToggleFilterInput.js.map +1 -0
  534. package/build/esm/filter-list/types/AggregationTypes.js +2 -0
  535. package/build/esm/filter-list/types/AggregationTypes.js.map +1 -0
  536. package/build/esm/filter-list/types/CustomRendererTypes.js +2 -0
  537. package/build/esm/filter-list/types/CustomRendererTypes.js.map +1 -0
  538. package/build/esm/filter-list/types/KeywordSearchTypes.js +2 -0
  539. package/build/esm/filter-list/types/KeywordSearchTypes.js.map +1 -0
  540. package/build/esm/filter-list/types/LinkedFilterTypes.js +2 -0
  541. package/build/esm/filter-list/types/LinkedFilterTypes.js.map +1 -0
  542. package/build/esm/filter-list/types/index.js +20 -0
  543. package/build/esm/filter-list/types/index.js.map +1 -0
  544. package/build/esm/filter-list/utils/aggregationHelpers.js +44 -0
  545. package/build/esm/filter-list/utils/aggregationHelpers.js.map +1 -0
  546. package/build/esm/filter-list/utils/coerceFilterValue.js +33 -0
  547. package/build/esm/filter-list/utils/coerceFilterValue.js.map +1 -0
  548. package/build/esm/filter-list/utils/filterStateSerialization.js +42 -0
  549. package/build/esm/filter-list/utils/filterStateSerialization.js.map +1 -0
  550. package/build/esm/filter-list/utils/filterStateToWhereClause.js +375 -0
  551. package/build/esm/filter-list/utils/filterStateToWhereClause.js.map +1 -0
  552. package/build/esm/filter-list/utils/filterValues.js +81 -0
  553. package/build/esm/filter-list/utils/filterValues.js.map +1 -0
  554. package/build/esm/filter-list/utils/getFilterKey.js +34 -0
  555. package/build/esm/filter-list/utils/getFilterKey.js.map +1 -0
  556. package/build/esm/filter-list/utils/getFilterLabel.js +36 -0
  557. package/build/esm/filter-list/utils/getFilterLabel.js.map +1 -0
  558. package/build/esm/object-table/ColumnConfigDialog.js +259 -0
  559. package/build/esm/object-table/ColumnConfigDialog.js.map +1 -0
  560. package/build/esm/object-table/ColumnConfigDialog.module.css +238 -0
  561. package/build/esm/object-table/DefaultCellRenderer.js +61 -0
  562. package/build/esm/object-table/DefaultCellRenderer.js.map +1 -0
  563. package/build/esm/object-table/EditableCell.js +168 -0
  564. package/build/esm/object-table/EditableCell.js.map +1 -0
  565. package/build/esm/object-table/EditableCell.module.css +70 -0
  566. package/build/esm/object-table/LoadingCell.js +6 -3
  567. package/build/esm/object-table/LoadingCell.js.map +1 -1
  568. package/build/esm/object-table/LoadingRow.js +2 -1
  569. package/build/esm/object-table/LoadingRow.js.map +1 -1
  570. package/build/esm/object-table/LoadingStateTable.js +4 -4
  571. package/build/esm/object-table/LoadingStateTable.js.map +1 -1
  572. package/build/esm/object-table/MultiColumnSortDialog.js +181 -0
  573. package/build/esm/object-table/MultiColumnSortDialog.js.map +1 -0
  574. package/build/esm/object-table/MultiColumnSortDialog.module.css +191 -0
  575. package/build/esm/object-table/NonIdealState.module.css +2 -3
  576. package/build/esm/object-table/ObjectTable.js +69 -17
  577. package/build/esm/object-table/ObjectTable.js.map +1 -1
  578. package/build/esm/object-table/ObjectTableApi.js.map +1 -1
  579. package/build/esm/object-table/SelectionCells.js +16 -4
  580. package/build/esm/object-table/SelectionCells.js.map +1 -1
  581. package/build/esm/object-table/SortableItemsList.js +35 -0
  582. package/build/esm/object-table/SortableItemsList.js.map +1 -0
  583. package/build/esm/object-table/Table.js +29 -4
  584. package/build/esm/object-table/Table.js.map +1 -1
  585. package/build/esm/object-table/Table.module.css +18 -3
  586. package/build/esm/object-table/TableBody.js +8 -2
  587. package/build/esm/object-table/TableBody.js.map +1 -1
  588. package/build/esm/object-table/TableBody.module.css +2 -0
  589. package/build/esm/object-table/TableCell.module.css +15 -1
  590. package/build/esm/object-table/TableEditContainer.js +90 -0
  591. package/build/esm/object-table/TableEditContainer.js.map +1 -0
  592. package/build/esm/object-table/TableEditContainer.module.css +71 -0
  593. package/build/esm/object-table/TableHeader.js +97 -7
  594. package/build/esm/object-table/TableHeader.js.map +1 -1
  595. package/build/esm/object-table/TableHeader.module.css +11 -3
  596. package/build/esm/object-table/TableHeaderWithPopover.js +53 -22
  597. package/build/esm/object-table/TableHeaderWithPopover.js.map +1 -1
  598. package/build/esm/object-table/TableHeaderWithPopover.module.css +44 -25
  599. package/build/esm/object-table/TableRow.js +10 -3
  600. package/build/esm/object-table/TableRow.js.map +1 -1
  601. package/build/esm/object-table/TableRow.module.css +4 -1
  602. package/build/esm/object-table/components/AsyncValueCell.js +35 -0
  603. package/build/esm/object-table/components/AsyncValueCell.js.map +1 -0
  604. package/build/esm/object-table/hooks/useColumnDefs.js +20 -4
  605. package/build/esm/object-table/hooks/useColumnDefs.js.map +1 -1
  606. package/build/esm/object-table/hooks/useColumnResize.js +45 -0
  607. package/build/esm/object-table/hooks/useColumnResize.js.map +1 -0
  608. package/build/esm/object-table/hooks/useColumnVisibility.js +52 -20
  609. package/build/esm/object-table/hooks/useColumnVisibility.js.map +1 -1
  610. package/build/esm/object-table/hooks/useEditableTable.js +85 -0
  611. package/build/esm/object-table/hooks/useEditableTable.js.map +1 -0
  612. package/build/esm/object-table/hooks/useFunctionColumnsData.js +270 -0
  613. package/build/esm/object-table/hooks/useFunctionColumnsData.js.map +1 -0
  614. package/build/esm/object-table/hooks/useObjectTableData.js +58 -7
  615. package/build/esm/object-table/hooks/useObjectTableData.js.map +1 -1
  616. package/build/esm/object-table/hooks/useRowSelection.js +40 -16
  617. package/build/esm/object-table/hooks/useRowSelection.js.map +1 -1
  618. package/build/esm/object-table/hooks/useSelectionColumn.js +15 -6
  619. package/build/esm/object-table/hooks/useSelectionColumn.js.map +1 -1
  620. package/build/esm/object-table/utils/AsyncCellData.js +30 -0
  621. package/build/esm/object-table/utils/AsyncCellData.js.map +1 -0
  622. package/build/esm/object-table/utils/constants.js +1 -0
  623. package/build/esm/object-table/utils/constants.js.map +1 -1
  624. package/build/esm/object-table/utils/getCellId.js +20 -0
  625. package/build/esm/object-table/utils/getCellId.js.map +1 -0
  626. package/build/esm/object-table/utils/types.js +2 -0
  627. package/build/esm/object-table/utils/types.js.map +1 -0
  628. package/build/esm/pdf-viewer/PdfRenderer.js +88 -0
  629. package/build/esm/pdf-viewer/PdfRenderer.js.map +1 -0
  630. package/build/esm/pdf-viewer/PdfViewer.js +197 -0
  631. package/build/esm/pdf-viewer/PdfViewer.js.map +1 -0
  632. package/build/esm/pdf-viewer/PdfViewer.module.css +95 -0
  633. package/build/esm/pdf-viewer/PdfViewerAnnotationLayer.js +74 -0
  634. package/build/esm/pdf-viewer/PdfViewerAnnotationLayer.js.map +1 -0
  635. package/build/esm/pdf-viewer/PdfViewerAnnotationLayer.module.css +65 -0
  636. package/build/esm/pdf-viewer/PdfViewerSearchBar.js +84 -0
  637. package/build/esm/pdf-viewer/PdfViewerSearchBar.js.map +1 -0
  638. package/build/esm/pdf-viewer/PdfViewerSearchBar.module.css +65 -0
  639. package/build/esm/pdf-viewer/PdfViewerSidebar.js +74 -0
  640. package/build/esm/pdf-viewer/PdfViewerSidebar.js.map +1 -0
  641. package/build/esm/pdf-viewer/PdfViewerSidebar.module.css +46 -0
  642. package/build/esm/pdf-viewer/PdfViewerThumbnail.js +100 -0
  643. package/build/esm/pdf-viewer/PdfViewerThumbnail.js.map +1 -0
  644. package/build/esm/pdf-viewer/PdfViewerThumbnail.module.css +26 -0
  645. package/build/esm/pdf-viewer/PdfViewerToolbar.js +167 -0
  646. package/build/esm/pdf-viewer/PdfViewerToolbar.js.map +1 -0
  647. package/build/esm/pdf-viewer/PdfViewerToolbar.module.css +86 -0
  648. package/build/esm/pdf-viewer/constants.js +43 -0
  649. package/build/esm/pdf-viewer/constants.js.map +1 -0
  650. package/build/esm/pdf-viewer/hooks/usePdfAnnotationPortals.js +54 -0
  651. package/build/esm/pdf-viewer/hooks/usePdfAnnotationPortals.js.map +1 -0
  652. package/build/esm/pdf-viewer/hooks/usePdfDocument.js +67 -0
  653. package/build/esm/pdf-viewer/hooks/usePdfDocument.js.map +1 -0
  654. package/build/esm/pdf-viewer/hooks/usePdfViewer.js +69 -0
  655. package/build/esm/pdf-viewer/hooks/usePdfViewer.js.map +1 -0
  656. package/build/esm/pdf-viewer/hooks/usePdfViewerSearch.js +106 -0
  657. package/build/esm/pdf-viewer/hooks/usePdfViewerSearch.js.map +1 -0
  658. package/build/esm/pdf-viewer/hooks/usePdfViewerSync.js +71 -0
  659. package/build/esm/pdf-viewer/hooks/usePdfViewerSync.js.map +1 -0
  660. package/build/esm/pdf-viewer/types.js +2 -0
  661. package/build/esm/pdf-viewer/types.js.map +1 -0
  662. package/build/esm/public/experimental.js +9 -0
  663. package/build/esm/public/experimental.js.map +1 -1
  664. package/build/esm/shared/ErrorBoundary.js +62 -0
  665. package/build/esm/shared/ErrorBoundary.js.map +1 -0
  666. package/build/esm/shared/ErrorBoundary.module.css +55 -0
  667. package/build/esm/shared/assertUnreachable.js +25 -0
  668. package/build/esm/shared/assertUnreachable.js.map +1 -0
  669. package/build/esm/shared/typedMemo.js +25 -0
  670. package/build/esm/shared/typedMemo.js.map +1 -0
  671. package/build/types/action-form/ActionForm.d.ts +4 -0
  672. package/build/types/action-form/ActionForm.d.ts.map +1 -0
  673. package/build/types/action-form/ActionFormApi.d.ts +48 -32
  674. package/build/types/action-form/ActionFormApi.d.ts.map +1 -1
  675. package/build/types/action-form/BaseForm.d.ts +3 -0
  676. package/build/types/action-form/BaseForm.d.ts.map +1 -0
  677. package/build/types/action-form/FormFieldApi.d.ts +93 -42
  678. package/build/types/action-form/FormFieldApi.d.ts.map +1 -1
  679. package/build/types/action-form/fields/DropdownField.d.ts +6 -0
  680. package/build/types/action-form/fields/DropdownField.d.ts.map +1 -0
  681. package/build/types/action-form/fields/FieldBridge.d.ts +9 -0
  682. package/build/types/action-form/fields/FieldBridge.d.ts.map +1 -0
  683. package/build/types/action-form/fields/FormFieldRenderer.d.ts +8 -0
  684. package/build/types/action-form/fields/FormFieldRenderer.d.ts.map +1 -0
  685. package/build/types/action-form/fields/TextInputField.d.ts +5 -0
  686. package/build/types/action-form/fields/TextInputField.d.ts.map +1 -0
  687. package/build/types/action-form/utils/coerceFieldValue.d.ts +10 -0
  688. package/build/types/action-form/utils/coerceFieldValue.d.ts.map +1 -0
  689. package/build/types/action-form/utils/getDefaultFieldComponent.d.ts +6 -0
  690. package/build/types/action-form/utils/getDefaultFieldComponent.d.ts.map +1 -0
  691. package/build/types/action-form/utils/getDefaultFieldDefinitions.d.ts +6 -0
  692. package/build/types/action-form/utils/getDefaultFieldDefinitions.d.ts.map +1 -0
  693. package/build/types/base-components/action-button/ActionButton.d.ts +5 -0
  694. package/build/types/base-components/action-button/ActionButton.d.ts.map +1 -0
  695. package/build/types/base-components/combobox/Combobox.d.ts +60 -0
  696. package/build/types/base-components/combobox/Combobox.d.ts.map +1 -0
  697. package/build/types/base-components/dialog/Dialog.d.ts +10 -0
  698. package/build/types/base-components/dialog/Dialog.d.ts.map +1 -0
  699. package/build/types/base-components/draggable-list/DraggableList.d.ts +17 -0
  700. package/build/types/base-components/draggable-list/DraggableList.d.ts.map +1 -0
  701. package/build/types/base-components/search-bar/SearchBar.d.ts +11 -0
  702. package/build/types/base-components/search-bar/SearchBar.d.ts.map +1 -0
  703. package/build/types/base-components/select/Select.d.ts +40 -0
  704. package/build/types/base-components/select/Select.d.ts.map +1 -0
  705. package/build/types/base-components/skeleton/SkeletonBar.d.ts +9 -0
  706. package/build/types/base-components/skeleton/SkeletonBar.d.ts.map +1 -0
  707. package/build/types/base-components/switch/Switch.d.ts +10 -0
  708. package/build/types/base-components/switch/Switch.d.ts.map +1 -0
  709. package/build/types/base-components/tooltip/Tooltip.d.ts +31 -0
  710. package/build/types/base-components/tooltip/Tooltip.d.ts.map +1 -0
  711. package/build/types/base-components/tooltip/index.d.ts +1 -0
  712. package/build/types/base-components/tooltip/index.d.ts.map +1 -0
  713. package/build/types/filter-list/FilterInput.d.ts +15 -0
  714. package/build/types/filter-list/FilterInput.d.ts.map +1 -0
  715. package/build/types/filter-list/FilterList.d.ts +4 -0
  716. package/build/types/filter-list/FilterList.d.ts.map +1 -0
  717. package/build/types/filter-list/FilterListApi.d.ts +106 -22
  718. package/build/types/filter-list/FilterListApi.d.ts.map +1 -1
  719. package/build/types/filter-list/FilterListItemApi.d.ts +114 -53
  720. package/build/types/filter-list/FilterListItemApi.d.ts.map +1 -1
  721. package/build/types/filter-list/base/AddFilterPopover.d.ts +12 -0
  722. package/build/types/filter-list/base/AddFilterPopover.d.ts.map +1 -0
  723. package/build/types/filter-list/base/BaseFilterList.d.ts +3 -0
  724. package/build/types/filter-list/base/BaseFilterList.d.ts.map +1 -0
  725. package/build/types/filter-list/base/BaseFilterListApi.d.ts +29 -0
  726. package/build/types/filter-list/base/BaseFilterListApi.d.ts.map +1 -0
  727. package/build/types/filter-list/base/DragHandleIcon.d.ts +2 -0
  728. package/build/types/filter-list/base/DragHandleIcon.d.ts.map +1 -0
  729. package/build/types/filter-list/base/FilterIcons.d.ts +11 -0
  730. package/build/types/filter-list/base/FilterIcons.d.ts.map +1 -0
  731. package/build/types/filter-list/base/FilterListContent.d.ts +17 -0
  732. package/build/types/filter-list/base/FilterListContent.d.ts.map +1 -0
  733. package/build/types/filter-list/base/FilterListHeader.d.ts +14 -0
  734. package/build/types/filter-list/base/FilterListHeader.d.ts.map +1 -0
  735. package/build/types/filter-list/base/FilterListItem.d.ts +20 -0
  736. package/build/types/filter-list/base/FilterListItem.d.ts.map +1 -0
  737. package/build/types/filter-list/base/SortableFilterListItem.d.ts +15 -0
  738. package/build/types/filter-list/base/SortableFilterListItem.d.ts.map +1 -0
  739. package/build/types/filter-list/base/index.d.ts +5 -0
  740. package/build/types/filter-list/base/index.d.ts.map +1 -0
  741. package/build/types/filter-list/base/inputs/CheckboxListInput.d.ts +16 -0
  742. package/build/types/filter-list/base/inputs/CheckboxListInput.d.ts.map +1 -0
  743. package/build/types/filter-list/base/inputs/CheckboxListSkeleton.d.ts +2 -0
  744. package/build/types/filter-list/base/inputs/CheckboxListSkeleton.d.ts.map +1 -0
  745. package/build/types/filter-list/base/inputs/ContainsTextInput.d.ts +13 -0
  746. package/build/types/filter-list/base/inputs/ContainsTextInput.d.ts.map +1 -0
  747. package/build/types/filter-list/base/inputs/DateRangeInput.d.ts +17 -0
  748. package/build/types/filter-list/base/inputs/DateRangeInput.d.ts.map +1 -0
  749. package/build/types/filter-list/base/inputs/ListogramInput.d.ts +20 -0
  750. package/build/types/filter-list/base/inputs/ListogramInput.d.ts.map +1 -0
  751. package/build/types/filter-list/base/inputs/ListogramSkeleton.d.ts +2 -0
  752. package/build/types/filter-list/base/inputs/ListogramSkeleton.d.ts.map +1 -0
  753. package/build/types/filter-list/base/inputs/MultiDateInput.d.ts +12 -0
  754. package/build/types/filter-list/base/inputs/MultiDateInput.d.ts.map +1 -0
  755. package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts +18 -0
  756. package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts.map +1 -0
  757. package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts +15 -0
  758. package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts.map +1 -0
  759. package/build/types/filter-list/base/inputs/NumberRangeInput.d.ts +17 -0
  760. package/build/types/filter-list/base/inputs/NumberRangeInput.d.ts.map +1 -0
  761. package/build/types/filter-list/base/inputs/RangeInput.d.ts +30 -0
  762. package/build/types/filter-list/base/inputs/RangeInput.d.ts.map +1 -0
  763. package/build/types/filter-list/base/inputs/SingleDateInput.d.ts +13 -0
  764. package/build/types/filter-list/base/inputs/SingleDateInput.d.ts.map +1 -0
  765. package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts +18 -0
  766. package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts.map +1 -0
  767. package/build/types/filter-list/base/inputs/TextTagsInput.d.ts +18 -0
  768. package/build/types/filter-list/base/inputs/TextTagsInput.d.ts.map +1 -0
  769. package/build/types/filter-list/base/inputs/TimelineInput.d.ts +11 -0
  770. package/build/types/filter-list/base/inputs/TimelineInput.d.ts.map +1 -0
  771. package/build/types/filter-list/base/inputs/ToggleInput.d.ts +10 -0
  772. package/build/types/filter-list/base/inputs/ToggleInput.d.ts.map +1 -0
  773. package/build/types/filter-list/base/inputs/createHistogramBuckets.d.ts +16 -0
  774. package/build/types/filter-list/base/inputs/createHistogramBuckets.d.ts.map +1 -0
  775. package/build/types/filter-list/base/inputs/dateUtils.d.ts +17 -0
  776. package/build/types/filter-list/base/inputs/dateUtils.d.ts.map +1 -0
  777. package/build/types/filter-list/base/inputs/index.d.ts +8 -0
  778. package/build/types/filter-list/base/inputs/index.d.ts.map +1 -0
  779. package/build/types/filter-list/base/inputs/useStaleData.d.ts +1 -0
  780. package/build/types/filter-list/base/inputs/useStaleData.d.ts.map +1 -0
  781. package/build/types/filter-list/hooks/useFilterListState.d.ts +12 -0
  782. package/build/types/filter-list/hooks/useFilterListState.d.ts.map +1 -0
  783. package/build/types/filter-list/hooks/useFilterVisibility.d.ts +8 -0
  784. package/build/types/filter-list/hooks/useFilterVisibility.d.ts.map +1 -0
  785. package/build/types/filter-list/hooks/usePropertyAggregation.d.ts +17 -0
  786. package/build/types/filter-list/hooks/usePropertyAggregation.d.ts.map +1 -0
  787. package/build/types/filter-list/inputs/CheckboxListFilterInput.d.ts +14 -0
  788. package/build/types/filter-list/inputs/CheckboxListFilterInput.d.ts.map +1 -0
  789. package/build/types/filter-list/inputs/ContainsTextFilterInput.d.ts +10 -0
  790. package/build/types/filter-list/inputs/ContainsTextFilterInput.d.ts.map +1 -0
  791. package/build/types/filter-list/inputs/DateRangeFilterInput.d.ts +12 -0
  792. package/build/types/filter-list/inputs/DateRangeFilterInput.d.ts.map +1 -0
  793. package/build/types/filter-list/inputs/LinkedPropertyInput.d.ts +21 -0
  794. package/build/types/filter-list/inputs/LinkedPropertyInput.d.ts.map +1 -0
  795. package/build/types/filter-list/inputs/ListogramFilterInput.d.ts +16 -0
  796. package/build/types/filter-list/inputs/ListogramFilterInput.d.ts.map +1 -0
  797. package/build/types/filter-list/inputs/MultiDateFilterInput.d.ts +9 -0
  798. package/build/types/filter-list/inputs/MultiDateFilterInput.d.ts.map +1 -0
  799. package/build/types/filter-list/inputs/MultiSelectFilterInput.d.ts +13 -0
  800. package/build/types/filter-list/inputs/MultiSelectFilterInput.d.ts.map +1 -0
  801. package/build/types/filter-list/inputs/NumberRangeFilterInput.d.ts +12 -0
  802. package/build/types/filter-list/inputs/NumberRangeFilterInput.d.ts.map +1 -0
  803. package/build/types/filter-list/inputs/PropertyFilterInput.d.ts +17 -0
  804. package/build/types/filter-list/inputs/PropertyFilterInput.d.ts.map +1 -0
  805. package/build/types/filter-list/inputs/SingleDateFilterInput.d.ts +9 -0
  806. package/build/types/filter-list/inputs/SingleDateFilterInput.d.ts.map +1 -0
  807. package/build/types/filter-list/inputs/SingleSelectFilterInput.d.ts +13 -0
  808. package/build/types/filter-list/inputs/SingleSelectFilterInput.d.ts.map +1 -0
  809. package/build/types/filter-list/inputs/TextTagsFilterInput.d.ts +13 -0
  810. package/build/types/filter-list/inputs/TextTagsFilterInput.d.ts.map +1 -0
  811. package/build/types/filter-list/inputs/TimelineFilterInput.d.ts +9 -0
  812. package/build/types/filter-list/inputs/TimelineFilterInput.d.ts.map +1 -0
  813. package/build/types/filter-list/inputs/ToggleFilterInput.d.ts +9 -0
  814. package/build/types/filter-list/inputs/ToggleFilterInput.d.ts.map +1 -0
  815. package/build/types/filter-list/types/AggregationTypes.d.ts +5 -0
  816. package/build/types/filter-list/types/AggregationTypes.d.ts.map +1 -0
  817. package/build/types/filter-list/types/CustomRendererTypes.d.ts +76 -0
  818. package/build/types/filter-list/types/CustomRendererTypes.d.ts.map +1 -0
  819. package/build/types/filter-list/types/KeywordSearchTypes.d.ts +56 -0
  820. package/build/types/filter-list/types/KeywordSearchTypes.d.ts.map +1 -0
  821. package/build/types/filter-list/types/LinkedFilterTypes.d.ts +70 -0
  822. package/build/types/filter-list/types/LinkedFilterTypes.d.ts.map +1 -0
  823. package/build/types/filter-list/types/index.d.ts +3 -0
  824. package/build/types/filter-list/types/index.d.ts.map +1 -0
  825. package/build/types/filter-list/utils/aggregationHelpers.d.ts +9 -0
  826. package/build/types/filter-list/utils/aggregationHelpers.d.ts.map +1 -0
  827. package/build/types/filter-list/utils/coerceFilterValue.d.ts +11 -0
  828. package/build/types/filter-list/utils/coerceFilterValue.d.ts.map +1 -0
  829. package/build/types/filter-list/utils/filterStateSerialization.d.ts +3 -0
  830. package/build/types/filter-list/utils/filterStateSerialization.d.ts.map +1 -0
  831. package/build/types/filter-list/utils/filterStateToWhereClause.d.ts +20 -0
  832. package/build/types/filter-list/utils/filterStateToWhereClause.d.ts.map +1 -0
  833. package/build/types/filter-list/utils/filterValues.d.ts +7 -0
  834. package/build/types/filter-list/utils/filterValues.d.ts.map +1 -0
  835. package/build/types/filter-list/utils/getFilterKey.d.ts +3 -0
  836. package/build/types/filter-list/utils/getFilterKey.d.ts.map +1 -0
  837. package/build/types/filter-list/utils/getFilterLabel.d.ts +3 -0
  838. package/build/types/filter-list/utils/getFilterLabel.d.ts.map +1 -0
  839. package/build/types/object-table/ColumnConfigDialog.d.ts +18 -0
  840. package/build/types/object-table/ColumnConfigDialog.d.ts.map +1 -0
  841. package/build/types/object-table/DefaultCellRenderer.d.ts +3 -0
  842. package/build/types/object-table/DefaultCellRenderer.d.ts.map +1 -0
  843. package/build/types/object-table/EditableCell.d.ts +26 -0
  844. package/build/types/object-table/EditableCell.d.ts.map +1 -0
  845. package/build/types/object-table/LoadingCell.d.ts +1 -0
  846. package/build/types/object-table/LoadingCell.d.ts.map +1 -1
  847. package/build/types/object-table/LoadingRow.d.ts.map +1 -1
  848. package/build/types/object-table/LoadingStateTable.d.ts.map +1 -1
  849. package/build/types/object-table/MultiColumnSortDialog.d.ts +15 -0
  850. package/build/types/object-table/MultiColumnSortDialog.d.ts.map +1 -0
  851. package/build/types/object-table/ObjectTable.d.ts +1 -9
  852. package/build/types/object-table/ObjectTable.d.ts.map +1 -1
  853. package/build/types/object-table/ObjectTableApi.d.ts +150 -20
  854. package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
  855. package/build/types/object-table/SortableItemsList.d.ts +13 -0
  856. package/build/types/object-table/SortableItemsList.d.ts.map +1 -0
  857. package/build/types/object-table/Table.d.ts +26 -1
  858. package/build/types/object-table/Table.d.ts.map +1 -1
  859. package/build/types/object-table/TableBody.d.ts +4 -1
  860. package/build/types/object-table/TableBody.d.ts.map +1 -1
  861. package/build/types/object-table/TableEditContainer.d.ts +9 -0
  862. package/build/types/object-table/TableEditContainer.d.ts.map +1 -0
  863. package/build/types/object-table/TableHeader.d.ts +3 -1
  864. package/build/types/object-table/TableHeader.d.ts.map +1 -1
  865. package/build/types/object-table/TableHeaderWithPopover.d.ts +30 -6
  866. package/build/types/object-table/TableHeaderWithPopover.d.ts.map +1 -1
  867. package/build/types/object-table/TableRow.d.ts +4 -1
  868. package/build/types/object-table/TableRow.d.ts.map +1 -1
  869. package/build/types/object-table/components/AsyncValueCell.d.ts +5 -0
  870. package/build/types/object-table/components/AsyncValueCell.d.ts.map +1 -0
  871. package/build/types/object-table/hooks/useColumnDefs.d.ts.map +1 -1
  872. package/build/types/object-table/hooks/useColumnResize.d.ts +10 -0
  873. package/build/types/object-table/hooks/useColumnResize.d.ts.map +1 -0
  874. package/build/types/object-table/hooks/useColumnVisibility.d.ts +18 -7
  875. package/build/types/object-table/hooks/useColumnVisibility.d.ts.map +1 -1
  876. package/build/types/object-table/hooks/useEditableTable.d.ts +17 -0
  877. package/build/types/object-table/hooks/useEditableTable.d.ts.map +1 -0
  878. package/build/types/object-table/hooks/useFunctionColumnsData.d.ts +13 -0
  879. package/build/types/object-table/hooks/useFunctionColumnsData.d.ts.map +1 -0
  880. package/build/types/object-table/hooks/useObjectTableData.d.ts +13 -5
  881. package/build/types/object-table/hooks/useObjectTableData.d.ts.map +1 -1
  882. package/build/types/object-table/hooks/useRowSelection.d.ts +8 -6
  883. package/build/types/object-table/hooks/useRowSelection.d.ts.map +1 -1
  884. package/build/types/object-table/utils/AsyncCellData.d.ts +8 -0
  885. package/build/types/object-table/utils/AsyncCellData.d.ts.map +1 -0
  886. package/build/types/object-table/utils/constants.d.ts +1 -0
  887. package/build/types/object-table/utils/constants.d.ts.map +1 -1
  888. package/build/types/object-table/utils/getCellId.d.ts +2 -0
  889. package/build/types/object-table/utils/getCellId.d.ts.map +1 -0
  890. package/build/types/object-table/utils/types.d.ts +39 -0
  891. package/build/types/object-table/utils/types.d.ts.map +1 -0
  892. package/build/types/pdf-viewer/PdfRenderer.d.ts +8 -0
  893. package/build/types/pdf-viewer/PdfRenderer.d.ts.map +1 -0
  894. package/build/types/pdf-viewer/PdfViewer.d.ts +4 -0
  895. package/build/types/pdf-viewer/PdfViewer.d.ts.map +1 -0
  896. package/build/types/pdf-viewer/PdfViewerAnnotationLayer.d.ts +10 -0
  897. package/build/types/pdf-viewer/PdfViewerAnnotationLayer.d.ts.map +1 -0
  898. package/build/types/pdf-viewer/PdfViewerSearchBar.d.ts +12 -0
  899. package/build/types/pdf-viewer/PdfViewerSearchBar.d.ts.map +1 -0
  900. package/build/types/pdf-viewer/PdfViewerSidebar.d.ts +10 -0
  901. package/build/types/pdf-viewer/PdfViewerSidebar.d.ts.map +1 -0
  902. package/build/types/pdf-viewer/PdfViewerThumbnail.d.ts +10 -0
  903. package/build/types/pdf-viewer/PdfViewerThumbnail.d.ts.map +1 -0
  904. package/build/types/pdf-viewer/PdfViewerToolbar.d.ts +14 -0
  905. package/build/types/pdf-viewer/PdfViewerToolbar.d.ts.map +1 -0
  906. package/build/types/pdf-viewer/constants.d.ts +17 -0
  907. package/build/types/pdf-viewer/constants.d.ts.map +1 -0
  908. package/build/types/pdf-viewer/hooks/usePdfAnnotationPortals.d.ts +10 -0
  909. package/build/types/pdf-viewer/hooks/usePdfAnnotationPortals.d.ts.map +1 -0
  910. package/build/types/pdf-viewer/hooks/usePdfDocument.d.ts +9 -0
  911. package/build/types/pdf-viewer/hooks/usePdfDocument.d.ts.map +1 -0
  912. package/build/types/pdf-viewer/hooks/usePdfViewer.d.ts +9 -0
  913. package/build/types/pdf-viewer/hooks/usePdfViewer.d.ts.map +1 -0
  914. package/build/types/pdf-viewer/hooks/usePdfViewerSearch.d.ts +15 -0
  915. package/build/types/pdf-viewer/hooks/usePdfViewerSearch.d.ts.map +1 -0
  916. package/build/types/pdf-viewer/hooks/usePdfViewerSync.d.ts +15 -0
  917. package/build/types/pdf-viewer/hooks/usePdfViewerSync.d.ts.map +1 -0
  918. package/build/types/pdf-viewer/types.d.ts +44 -0
  919. package/build/types/pdf-viewer/types.d.ts.map +1 -0
  920. package/build/types/public/experimental.d.ts +13 -3
  921. package/build/types/public/experimental.d.ts.map +1 -1
  922. package/build/types/shared/ErrorBoundary.d.ts +19 -0
  923. package/build/types/shared/ErrorBoundary.d.ts.map +1 -0
  924. package/build/types/shared/assertUnreachable.d.ts +6 -0
  925. package/build/types/shared/assertUnreachable.d.ts.map +1 -0
  926. package/build/types/shared/typedMemo.d.ts +6 -0
  927. package/build/types/shared/typedMemo.d.ts.map +1 -0
  928. package/package.json +13 -5
  929. package/build/browser/object-table/hooks/__tests__/useCellContextMenu.test.js +0 -147
  930. package/build/browser/object-table/hooks/__tests__/useCellContextMenu.test.js.map +0 -1
  931. package/build/browser/object-table/hooks/__tests__/useColumnDefs.test.js +0 -508
  932. package/build/browser/object-table/hooks/__tests__/useColumnDefs.test.js.map +0 -1
  933. package/build/browser/object-table/hooks/__tests__/useColumnPinning.test.js +0 -266
  934. package/build/browser/object-table/hooks/__tests__/useColumnPinning.test.js.map +0 -1
  935. package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js +0 -178
  936. package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js.map +0 -1
  937. package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js +0 -227
  938. package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js.map +0 -1
  939. package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js +0 -548
  940. package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js.map +0 -1
  941. package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js +0 -275
  942. package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js.map +0 -1
  943. package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js +0 -211
  944. package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js.map +0 -1
  945. package/build/esm/object-table/hooks/__tests__/useCellContextMenu.test.js +0 -147
  946. package/build/esm/object-table/hooks/__tests__/useCellContextMenu.test.js.map +0 -1
  947. package/build/esm/object-table/hooks/__tests__/useColumnDefs.test.js +0 -508
  948. package/build/esm/object-table/hooks/__tests__/useColumnDefs.test.js.map +0 -1
  949. package/build/esm/object-table/hooks/__tests__/useColumnPinning.test.js +0 -266
  950. package/build/esm/object-table/hooks/__tests__/useColumnPinning.test.js.map +0 -1
  951. package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js +0 -178
  952. package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js.map +0 -1
  953. package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js +0 -227
  954. package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js.map +0 -1
  955. package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js +0 -548
  956. package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js.map +0 -1
  957. package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js +0 -275
  958. package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js.map +0 -1
  959. package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js +0 -211
  960. package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js.map +0 -1
  961. package/build/types/object-table/hooks/__tests__/useCellContextMenu.test.d.ts +0 -1
  962. package/build/types/object-table/hooks/__tests__/useCellContextMenu.test.d.ts.map +0 -1
  963. package/build/types/object-table/hooks/__tests__/useColumnDefs.test.d.ts +0 -1
  964. package/build/types/object-table/hooks/__tests__/useColumnDefs.test.d.ts.map +0 -1
  965. package/build/types/object-table/hooks/__tests__/useColumnPinning.test.d.ts +0 -1
  966. package/build/types/object-table/hooks/__tests__/useColumnPinning.test.d.ts.map +0 -1
  967. package/build/types/object-table/hooks/__tests__/useColumnVisibility.test.d.ts +0 -1
  968. package/build/types/object-table/hooks/__tests__/useColumnVisibility.test.d.ts.map +0 -1
  969. package/build/types/object-table/hooks/__tests__/useObjectTableData.test.d.ts +0 -1
  970. package/build/types/object-table/hooks/__tests__/useObjectTableData.test.d.ts.map +0 -1
  971. package/build/types/object-table/hooks/__tests__/useRowSelection.test.d.ts +0 -1
  972. package/build/types/object-table/hooks/__tests__/useRowSelection.test.d.ts.map +0 -1
  973. package/build/types/object-table/hooks/__tests__/useSelectionColumn.test.d.ts +0 -1
  974. package/build/types/object-table/hooks/__tests__/useSelectionColumn.test.d.ts.map +0 -1
  975. package/build/types/object-table/hooks/__tests__/useTableSorting.test.d.ts +0 -1
  976. package/build/types/object-table/hooks/__tests__/useTableSorting.test.d.ts.map +0 -1
@@ -0,0 +1,65 @@
1
+ .searchBar {
2
+ position: absolute;
3
+ top: 0;
4
+ right: 0;
5
+ z-index: var(--osdk-surface-z-index-3);
6
+ display: flex;
7
+ align-items: center;
8
+ gap: var(--osdk-pdf-viewer-toolbar-gap);
9
+ padding: var(--osdk-surface-spacing);
10
+ background-color: var(--osdk-pdf-viewer-search-bar-bg);
11
+ border: var(--osdk-surface-border);
12
+ border-radius: var(--osdk-surface-border-radius);
13
+ box-shadow: var(--osdk-surface-shadow-2);
14
+ margin: var(--osdk-surface-spacing);
15
+ }
16
+
17
+ .searchInput {
18
+ border: var(--osdk-surface-border);
19
+ border-radius: var(--osdk-surface-border-radius);
20
+ padding: var(--osdk-surface-spacing) calc(var(--osdk-surface-spacing) * 2);
21
+ font-family: var(--osdk-typography-family-default);
22
+ font-size: var(--osdk-typography-size-body-small);
23
+ color: var(--osdk-typography-color-default-rest);
24
+ background-color: var(--osdk-background-primary);
25
+ outline: none;
26
+ min-width: 200px;
27
+ }
28
+
29
+ .searchInput:focus {
30
+ outline: var(--osdk-focus-outline);
31
+ outline-offset: var(--osdk-focus-visible-outline-offset);
32
+ }
33
+
34
+ .matchCount {
35
+ font-size: var(--osdk-typography-size-body-x-small);
36
+ color: var(--osdk-typography-color-muted);
37
+ white-space: nowrap;
38
+ }
39
+
40
+ .navButton {
41
+ display: flex;
42
+ align-items: center;
43
+ justify-content: center;
44
+ width: 24px;
45
+ height: 24px;
46
+ border: none;
47
+ background: none;
48
+ color: var(--osdk-typography-color-default-rest);
49
+ cursor: pointer;
50
+ border-radius: var(--osdk-surface-border-radius);
51
+ padding: 0;
52
+ }
53
+
54
+ .navButton:hover {
55
+ background-color: var(--osdk-surface-background-color-default-hover);
56
+ }
57
+
58
+ .navButton:focus-visible {
59
+ outline: var(--osdk-focus-outline);
60
+ outline-offset: var(--osdk-focus-visible-outline-offset);
61
+ }
62
+
63
+ .closeButton {
64
+ composes: navButton;
65
+ }
@@ -0,0 +1,10 @@
1
+ // CSS Module proxy for PdfViewerSearchBar.module.css
2
+ const styles = {
3
+ "searchBar": "PdfViewerSearchBar-module__searchBar___UR3IbGXb",
4
+ "searchInput": "PdfViewerSearchBar-module__searchInput___uGexyYcH",
5
+ "matchCount": "PdfViewerSearchBar-module__matchCount___np-TCNhQ",
6
+ "navButton": "PdfViewerSearchBar-module__navButton___WhEoIW0p",
7
+ "closeButton": "PdfViewerSearchBar-module__closeButton___Sgtlmr-- PdfViewerSearchBar-module__navButton___WhEoIW0p"
8
+ };
9
+
10
+ export default styles;
@@ -0,0 +1,74 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { useVirtualizer } from "@tanstack/react-virtual";
18
+ import React, { useEffect, useRef } from "react";
19
+ import { DEFAULT_PAGE_HEIGHT, THUMBNAIL_GAP, THUMBNAIL_SCALE } from "./constants.js";
20
+ import styles from "./PdfViewerSidebar.module.css.js";
21
+ import { PdfViewerThumbnail } from "./PdfViewerThumbnail.js";
22
+ export function PdfViewerSidebar({
23
+ document,
24
+ numPages,
25
+ currentPage,
26
+ onPageClick
27
+ }) {
28
+ const scrollContainerRef = useRef(null);
29
+ const estimatedItemHeight = Math.floor(DEFAULT_PAGE_HEIGHT * THUMBNAIL_SCALE) + THUMBNAIL_GAP + 20;
30
+ const virtualizer = useVirtualizer({
31
+ count: numPages,
32
+ getScrollElement: () => scrollContainerRef.current,
33
+ estimateSize: () => estimatedItemHeight,
34
+ overscan: 2
35
+ });
36
+
37
+ // Auto-scroll to keep the active thumbnail visible
38
+ useEffect(function () {
39
+ virtualizer.scrollToIndex(currentPage - 1, {
40
+ align: "auto"
41
+ });
42
+ }, [currentPage, virtualizer]);
43
+ return /*#__PURE__*/React.createElement("div", {
44
+ className: styles.sidebar
45
+ }, /*#__PURE__*/React.createElement("div", {
46
+ className: styles.sidebarHeader
47
+ }, "Pages"), /*#__PURE__*/React.createElement("div", {
48
+ ref: scrollContainerRef,
49
+ className: styles.scrollContainer
50
+ }, /*#__PURE__*/React.createElement("div", {
51
+ className: styles.thumbnailsContainer,
52
+ style: {
53
+ height: virtualizer.getTotalSize()
54
+ }
55
+ }, virtualizer.getVirtualItems().map(virtualItem => {
56
+ const pageNumber = virtualItem.index + 1;
57
+ return /*#__PURE__*/React.createElement("div", {
58
+ key: virtualItem.key,
59
+ className: styles.thumbnailWrapper,
60
+ style: {
61
+ top: virtualItem.start,
62
+ height: virtualItem.size
63
+ }
64
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(PdfViewerThumbnail, {
65
+ document: document,
66
+ pageNumber: pageNumber,
67
+ isActive: pageNumber === currentPage,
68
+ onClick: () => onPageClick(pageNumber)
69
+ }), /*#__PURE__*/React.createElement("div", {
70
+ className: styles.pageNumber
71
+ }, pageNumber)));
72
+ }))));
73
+ }
74
+ //# sourceMappingURL=PdfViewerSidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdfViewerSidebar.js","names":["useVirtualizer","React","useEffect","useRef","DEFAULT_PAGE_HEIGHT","THUMBNAIL_GAP","THUMBNAIL_SCALE","styles","PdfViewerThumbnail","PdfViewerSidebar","document","numPages","currentPage","onPageClick","scrollContainerRef","estimatedItemHeight","Math","floor","virtualizer","count","getScrollElement","current","estimateSize","overscan","scrollToIndex","align","createElement","className","sidebar","sidebarHeader","ref","scrollContainer","thumbnailsContainer","style","height","getTotalSize","getVirtualItems","map","virtualItem","pageNumber","index","key","thumbnailWrapper","top","start","size","isActive","onClick"],"sources":["PdfViewerSidebar.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\nimport type { PDFDocumentProxy } from \"pdfjs-dist\";\nimport React, { useEffect, useRef } from \"react\";\nimport {\n DEFAULT_PAGE_HEIGHT,\n THUMBNAIL_GAP,\n THUMBNAIL_SCALE,\n} from \"./constants.js\";\nimport styles from \"./PdfViewerSidebar.module.css\";\nimport { PdfViewerThumbnail } from \"./PdfViewerThumbnail.js\";\n\ninterface PdfViewerSidebarProps {\n document: PDFDocumentProxy;\n numPages: number;\n currentPage: number;\n onPageClick: (page: number) => void;\n}\n\nexport function PdfViewerSidebar({\n document,\n numPages,\n currentPage,\n onPageClick,\n}: PdfViewerSidebarProps): React.ReactElement {\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n const estimatedItemHeight = Math.floor(DEFAULT_PAGE_HEIGHT * THUMBNAIL_SCALE)\n + THUMBNAIL_GAP + 20;\n\n const virtualizer = useVirtualizer({\n count: numPages,\n getScrollElement: () => scrollContainerRef.current,\n estimateSize: () => estimatedItemHeight,\n overscan: 2,\n });\n\n // Auto-scroll to keep the active thumbnail visible\n useEffect(function syncActiveThumbnail() {\n virtualizer.scrollToIndex(currentPage - 1, { align: \"auto\" });\n }, [currentPage, virtualizer]);\n\n return (\n <div className={styles.sidebar}>\n <div className={styles.sidebarHeader}>Pages</div>\n <div ref={scrollContainerRef} className={styles.scrollContainer}>\n <div\n className={styles.thumbnailsContainer}\n style={{ height: virtualizer.getTotalSize() }}\n >\n {virtualizer.getVirtualItems().map((virtualItem) => {\n const pageNumber = virtualItem.index + 1;\n return (\n <div\n key={virtualItem.key}\n className={styles.thumbnailWrapper}\n style={{\n top: virtualItem.start,\n height: virtualItem.size,\n }}\n >\n <div>\n <PdfViewerThumbnail\n document={document}\n pageNumber={pageNumber}\n isActive={pageNumber === currentPage}\n onClick={() => onPageClick(pageNumber)}\n />\n <div className={styles.pageNumber}>{pageNumber}</div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,cAAc,QAAQ,yBAAyB;AAExD,OAAOC,KAAK,IAAIC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAChD,SACEC,mBAAmB,EACnBC,aAAa,EACbC,eAAe,QACV,gBAAgB;AACvB,OAAOC,MAAM,MAAM,+BAA+B;AAClD,SAASC,kBAAkB,QAAQ,yBAAyB;AAS5D,OAAO,SAASC,gBAAgBA,CAAC;EAC/BC,QAAQ;EACRC,QAAQ;EACRC,WAAW;EACXC;AACqB,CAAC,EAAsB;EAC5C,MAAMC,kBAAkB,GAAGX,MAAM,CAAiB,IAAI,CAAC;EACvD,MAAMY,mBAAmB,GAAGC,IAAI,CAACC,KAAK,CAACb,mBAAmB,GAAGE,eAAe,CAAC,GACzED,aAAa,GAAG,EAAE;EAEtB,MAAMa,WAAW,GAAGlB,cAAc,CAAC;IACjCmB,KAAK,EAAER,QAAQ;IACfS,gBAAgB,EAAEA,CAAA,KAAMN,kBAAkB,CAACO,OAAO;IAClDC,YAAY,EAAEA,CAAA,KAAMP,mBAAmB;IACvCQ,QAAQ,EAAE;EACZ,CAAC,CAAC;;EAEF;EACArB,SAAS,CAAC,YAA+B;IACvCgB,WAAW,CAACM,aAAa,CAACZ,WAAW,GAAG,CAAC,EAAE;MAAEa,KAAK,EAAE;IAAO,CAAC,CAAC;EAC/D,CAAC,EAAE,CAACb,WAAW,EAAEM,WAAW,CAAC,CAAC;EAE9B,oBACEjB,KAAA,CAAAyB,aAAA;IAAKC,SAAS,EAAEpB,MAAM,CAACqB;EAAQ,gBAC7B3B,KAAA,CAAAyB,aAAA;IAAKC,SAAS,EAAEpB,MAAM,CAACsB;EAAc,GAAC,OAAU,CAAC,eACjD5B,KAAA,CAAAyB,aAAA;IAAKI,GAAG,EAAEhB,kBAAmB;IAACa,SAAS,EAAEpB,MAAM,CAACwB;EAAgB,gBAC9D9B,KAAA,CAAAyB,aAAA;IACEC,SAAS,EAAEpB,MAAM,CAACyB,mBAAoB;IACtCC,KAAK,EAAE;MAAEC,MAAM,EAAEhB,WAAW,CAACiB,YAAY,CAAC;IAAE;EAAE,GAE7CjB,WAAW,CAACkB,eAAe,CAAC,CAAC,CAACC,GAAG,CAAEC,WAAW,IAAK;IAClD,MAAMC,UAAU,GAAGD,WAAW,CAACE,KAAK,GAAG,CAAC;IACxC,oBACEvC,KAAA,CAAAyB,aAAA;MACEe,GAAG,EAAEH,WAAW,CAACG,GAAI;MACrBd,SAAS,EAAEpB,MAAM,CAACmC,gBAAiB;MACnCT,KAAK,EAAE;QACLU,GAAG,EAAEL,WAAW,CAACM,KAAK;QACtBV,MAAM,EAAEI,WAAW,CAACO;MACtB;IAAE,gBAEF5C,KAAA,CAAAyB,aAAA,2BACEzB,KAAA,CAAAyB,aAAA,CAAClB,kBAAkB;MACjBE,QAAQ,EAAEA,QAAS;MACnB6B,UAAU,EAAEA,UAAW;MACvBO,QAAQ,EAAEP,UAAU,KAAK3B,WAAY;MACrCmC,OAAO,EAAEA,CAAA,KAAMlC,WAAW,CAAC0B,UAAU;IAAE,CACxC,CAAC,eACFtC,KAAA,CAAAyB,aAAA;MAAKC,SAAS,EAAEpB,MAAM,CAACgC;IAAW,GAAEA,UAAgB,CACjD,CACF,CAAC;EAEV,CAAC,CACE,CACF,CACF,CAAC;AAEV","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ .sidebar {
2
+ width: var(--osdk-pdf-viewer-sidebar-width);
3
+ flex-shrink: 0;
4
+ display: flex;
5
+ flex-direction: column;
6
+ background-color: var(--osdk-pdf-viewer-sidebar-bg);
7
+ border-right: 1px solid var(--osdk-pdf-viewer-sidebar-border);
8
+ overflow: hidden;
9
+ }
10
+
11
+ .sidebarHeader {
12
+ padding: var(--osdk-pdf-viewer-sidebar-thumbnail-gap);
13
+ font-family: var(--osdk-typography-family-default);
14
+ font-size: var(--osdk-typography-size-body-small);
15
+ font-weight: var(--osdk-typography-weight-semibold);
16
+ color: var(--osdk-typography-color-muted);
17
+ border-bottom: 1px solid var(--osdk-pdf-viewer-sidebar-border);
18
+ flex-shrink: 0;
19
+ }
20
+
21
+ .scrollContainer {
22
+ flex: 1;
23
+ overflow-y: auto;
24
+ }
25
+
26
+ .thumbnailsContainer {
27
+ position: relative;
28
+ }
29
+
30
+ .thumbnailWrapper {
31
+ position: absolute;
32
+ left: 0;
33
+ width: 100%;
34
+ display: flex;
35
+ justify-content: center;
36
+ padding: var(--osdk-pdf-viewer-sidebar-thumbnail-gap)
37
+ var(--osdk-pdf-viewer-sidebar-thumbnail-gap) 0;
38
+ }
39
+
40
+ .pageNumber {
41
+ text-align: center;
42
+ font-family: var(--osdk-typography-family-default);
43
+ font-size: var(--osdk-typography-size-body-small);
44
+ color: var(--osdk-typography-color-muted);
45
+ margin-top: 4px;
46
+ }
@@ -0,0 +1,11 @@
1
+ // CSS Module proxy for PdfViewerSidebar.module.css
2
+ const styles = {
3
+ "sidebar": "PdfViewerSidebar-module__sidebar___OwDEm60x",
4
+ "sidebarHeader": "PdfViewerSidebar-module__sidebarHeader___QofzhkVe",
5
+ "scrollContainer": "PdfViewerSidebar-module__scrollContainer___jZb2bkwp",
6
+ "thumbnailsContainer": "PdfViewerSidebar-module__thumbnailsContainer___2k3fin4S",
7
+ "thumbnailWrapper": "PdfViewerSidebar-module__thumbnailWrapper___3Mus5kp8",
8
+ "pageNumber": "PdfViewerSidebar-module__pageNumber___-MVkprjn"
9
+ };
10
+
11
+ export default styles;
@@ -0,0 +1,100 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import classnames from "classnames";
18
+ import React, { useCallback, useEffect, useRef, useState } from "react";
19
+ import { DEVICE_PIXEL_RATIO, THUMBNAIL_SCALE } from "./constants.js";
20
+ import styles from "./PdfViewerThumbnail.module.css.js";
21
+ export function PdfViewerThumbnail({
22
+ document,
23
+ pageNumber,
24
+ isActive,
25
+ onClick
26
+ }) {
27
+ const canvasRef = useRef(null);
28
+ const renderTaskRef = useRef(null);
29
+ const [dimensions, setDimensions] = useState(undefined);
30
+ useEffect(() => {
31
+ let cancelled = false;
32
+ void document.getPage(pageNumber).then(page => {
33
+ if (cancelled || canvasRef.current == null) {
34
+ return;
35
+ }
36
+ const viewport = page.getViewport({
37
+ scale: THUMBNAIL_SCALE
38
+ });
39
+ const canvas = canvasRef.current;
40
+ const context = canvas.getContext("2d");
41
+ if (context == null) {
42
+ return;
43
+ }
44
+ canvas.width = Math.floor(viewport.width * DEVICE_PIXEL_RATIO);
45
+ canvas.height = Math.floor(viewport.height * DEVICE_PIXEL_RATIO);
46
+ canvas.style.width = `${Math.floor(viewport.width)}px`;
47
+ canvas.style.height = `${Math.floor(viewport.height)}px`;
48
+ setDimensions({
49
+ width: Math.floor(viewport.width),
50
+ height: Math.floor(viewport.height)
51
+ });
52
+ if (renderTaskRef.current != null) {
53
+ renderTaskRef.current.cancel();
54
+ }
55
+ context.setTransform(DEVICE_PIXEL_RATIO, 0, 0, DEVICE_PIXEL_RATIO, 0, 0);
56
+ const renderTask = page.render({
57
+ canvasContext: context,
58
+ viewport
59
+ });
60
+ renderTaskRef.current = renderTask;
61
+ void renderTask.promise.catch(err => {
62
+ if (err instanceof Error && err.message.includes("cancelled")) {
63
+ return;
64
+ }
65
+ throw err;
66
+ });
67
+ });
68
+ return () => {
69
+ cancelled = true;
70
+ if (renderTaskRef.current != null) {
71
+ renderTaskRef.current.cancel();
72
+ renderTaskRef.current = null;
73
+ }
74
+ };
75
+ }, [document, pageNumber]);
76
+ const handleKeyDown = useCallback(e => {
77
+ if (e.key === "Enter" || e.key === " ") {
78
+ e.preventDefault();
79
+ onClick();
80
+ }
81
+ }, [onClick]);
82
+ const containerClassName = classnames(styles.thumbnailContainer, isActive && styles.active);
83
+ return /*#__PURE__*/React.createElement("div", {
84
+ className: containerClassName,
85
+ onClick: onClick,
86
+ onKeyDown: handleKeyDown,
87
+ role: "button",
88
+ tabIndex: 0,
89
+ "aria-label": `Page ${pageNumber}`,
90
+ "aria-current": isActive ? "page" : undefined,
91
+ style: dimensions != null ? {
92
+ width: dimensions.width,
93
+ height: dimensions.height
94
+ } : undefined
95
+ }, /*#__PURE__*/React.createElement("canvas", {
96
+ ref: canvasRef,
97
+ className: styles.canvas
98
+ }));
99
+ }
100
+ //# sourceMappingURL=PdfViewerThumbnail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdfViewerThumbnail.js","names":["classnames","React","useCallback","useEffect","useRef","useState","DEVICE_PIXEL_RATIO","THUMBNAIL_SCALE","styles","PdfViewerThumbnail","document","pageNumber","isActive","onClick","canvasRef","renderTaskRef","dimensions","setDimensions","undefined","cancelled","getPage","then","page","current","viewport","getViewport","scale","canvas","context","getContext","width","Math","floor","height","style","cancel","setTransform","renderTask","render","canvasContext","promise","catch","err","Error","message","includes","handleKeyDown","e","key","preventDefault","containerClassName","thumbnailContainer","active","createElement","className","onKeyDown","role","tabIndex","ref"],"sources":["PdfViewerThumbnail.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classnames from \"classnames\";\nimport type { PDFDocumentProxy, PDFPageProxy } from \"pdfjs-dist\";\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { DEVICE_PIXEL_RATIO, THUMBNAIL_SCALE } from \"./constants.js\";\nimport styles from \"./PdfViewerThumbnail.module.css\";\n\ninterface PdfViewerThumbnailProps {\n document: PDFDocumentProxy;\n pageNumber: number;\n isActive: boolean;\n onClick: () => void;\n}\n\nexport function PdfViewerThumbnail({\n document,\n pageNumber,\n isActive,\n onClick,\n}: PdfViewerThumbnailProps): React.ReactElement {\n const canvasRef = useRef<HTMLCanvasElement>(null);\n const renderTaskRef = useRef<ReturnType<PDFPageProxy[\"render\"]> | null>(null);\n const [dimensions, setDimensions] = useState<\n { width: number; height: number } | undefined\n >(undefined);\n\n useEffect(() => {\n let cancelled = false;\n\n void document.getPage(pageNumber).then((page) => {\n if (cancelled || canvasRef.current == null) {\n return;\n }\n\n const viewport = page.getViewport({ scale: THUMBNAIL_SCALE });\n const canvas = canvasRef.current;\n const context = canvas.getContext(\"2d\");\n if (context == null) {\n return;\n }\n\n canvas.width = Math.floor(viewport.width * DEVICE_PIXEL_RATIO);\n canvas.height = Math.floor(viewport.height * DEVICE_PIXEL_RATIO);\n canvas.style.width = `${Math.floor(viewport.width)}px`;\n canvas.style.height = `${Math.floor(viewport.height)}px`;\n\n setDimensions({\n width: Math.floor(viewport.width),\n height: Math.floor(viewport.height),\n });\n\n if (renderTaskRef.current != null) {\n renderTaskRef.current.cancel();\n }\n\n context.setTransform(\n DEVICE_PIXEL_RATIO,\n 0,\n 0,\n DEVICE_PIXEL_RATIO,\n 0,\n 0,\n );\n\n const renderTask = page.render({\n canvasContext: context,\n viewport,\n });\n renderTaskRef.current = renderTask;\n\n void renderTask.promise.catch((err: unknown) => {\n if (err instanceof Error && err.message.includes(\"cancelled\")) {\n return;\n }\n throw err;\n });\n });\n\n return () => {\n cancelled = true;\n if (renderTaskRef.current != null) {\n renderTaskRef.current.cancel();\n renderTaskRef.current = null;\n }\n };\n }, [document, pageNumber]);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n onClick();\n }\n },\n [onClick],\n );\n\n const containerClassName = classnames(\n styles.thumbnailContainer,\n isActive && styles.active,\n );\n\n return (\n <div\n className={containerClassName}\n onClick={onClick}\n onKeyDown={handleKeyDown}\n role=\"button\"\n tabIndex={0}\n aria-label={`Page ${pageNumber}`}\n aria-current={isActive ? \"page\" : undefined}\n style={dimensions != null\n ? { width: dimensions.width, height: dimensions.height }\n : undefined}\n >\n <canvas ref={canvasRef} className={styles.canvas} />\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ .thumbnailContainer {
2
+ position: relative;
3
+ cursor: pointer;
4
+ border: 2px solid transparent;
5
+ border-radius: var(--osdk-surface-border-radius);
6
+ box-shadow: var(--osdk-pdf-viewer-page-shadow);
7
+ overflow: hidden;
8
+ transition: border-color var(--osdk-emphasis-transition-duration)
9
+ var(--osdk-emphasis-ease-default);
10
+ }
11
+
12
+ .thumbnailContainer:hover {
13
+ border-color: var(--osdk-pdf-viewer-sidebar-border);
14
+ }
15
+
16
+ .active {
17
+ border-color: var(--osdk-pdf-viewer-sidebar-active-border);
18
+ }
19
+
20
+ .active:hover {
21
+ border-color: var(--osdk-pdf-viewer-sidebar-active-border);
22
+ }
23
+
24
+ .canvas {
25
+ display: block;
26
+ }
@@ -0,0 +1,8 @@
1
+ // CSS Module proxy for PdfViewerThumbnail.module.css
2
+ const styles = {
3
+ "thumbnailContainer": "PdfViewerThumbnail-module__thumbnailContainer___FW39lZQr",
4
+ "active": "PdfViewerThumbnail-module__active___IuCRxNek",
5
+ "canvas": "PdfViewerThumbnail-module__canvas___8ECvwVCZ"
6
+ };
7
+
8
+ export default styles;
@@ -0,0 +1,167 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { Input } from "@base-ui/react/input";
18
+ import { ChevronLeft, ChevronRight, Download, Menu, Minus, Plus, Search } from "@blueprintjs/icons";
19
+ import React, { useCallback, useEffect, useState } from "react";
20
+ import { MAX_SCALE, MIN_SCALE, SCALE_STEP } from "./constants.js";
21
+ import styles from "./PdfViewerToolbar.module.css.js";
22
+ export function PdfViewerToolbar({
23
+ currentPage,
24
+ numPages,
25
+ scale,
26
+ sidebarOpen,
27
+ onPageChange,
28
+ onScaleChange,
29
+ onSearchOpen,
30
+ onSidebarToggle,
31
+ onDownload
32
+ }) {
33
+ const [pageInputValue, setPageInputValue] = useState(String(currentPage));
34
+
35
+ // Sync input display when currentPage changes from scrolling
36
+ useEffect(function () {
37
+ setPageInputValue(String(currentPage));
38
+ }, [currentPage]);
39
+ const handlePrevPage = useCallback(() => {
40
+ if (currentPage > 1) {
41
+ const newPage = currentPage - 1;
42
+ onPageChange(newPage);
43
+ setPageInputValue(String(newPage));
44
+ }
45
+ }, [currentPage, onPageChange]);
46
+ const handleNextPage = useCallback(() => {
47
+ if (currentPage < numPages) {
48
+ const newPage = currentPage + 1;
49
+ onPageChange(newPage);
50
+ setPageInputValue(String(newPage));
51
+ }
52
+ }, [currentPage, numPages, onPageChange]);
53
+ const handlePageInputChange = useCallback(e => {
54
+ setPageInputValue(e.target.value);
55
+ }, []);
56
+ const handlePageInputKeyDown = useCallback(e => {
57
+ if (e.key === "Enter") {
58
+ const page = parseInt(pageInputValue, 10);
59
+ if (!isNaN(page) && page >= 1 && page <= numPages) {
60
+ onPageChange(page);
61
+ } else {
62
+ setPageInputValue(String(currentPage));
63
+ }
64
+ }
65
+ }, [pageInputValue, numPages, onPageChange, currentPage]);
66
+ const handlePageInputBlur = useCallback(() => {
67
+ setPageInputValue(String(currentPage));
68
+ }, [currentPage]);
69
+ const handleZoomIn = useCallback(() => {
70
+ const newScale = Math.min(scale + SCALE_STEP, MAX_SCALE);
71
+ onScaleChange(newScale);
72
+ }, [scale, onScaleChange]);
73
+ const handleZoomOut = useCallback(() => {
74
+ const newScale = Math.max(scale - SCALE_STEP, MIN_SCALE);
75
+ onScaleChange(newScale);
76
+ }, [scale, onScaleChange]);
77
+ const scalePercent = `${Math.round(scale * 100)}%`;
78
+ return /*#__PURE__*/React.createElement("div", {
79
+ className: styles.toolbar
80
+ }, /*#__PURE__*/React.createElement("button", {
81
+ className: styles.toolbarButton,
82
+ onClick: onSidebarToggle,
83
+ "aria-label": sidebarOpen ? "Close sidebar" : "Open sidebar",
84
+ title: sidebarOpen ? "Close sidebar" : "Open sidebar",
85
+ "aria-pressed": sidebarOpen,
86
+ type: "button"
87
+ }, /*#__PURE__*/React.createElement(Menu, {
88
+ size: 16
89
+ })), /*#__PURE__*/React.createElement("div", {
90
+ className: styles.separator
91
+ }), /*#__PURE__*/React.createElement("div", {
92
+ className: styles.toolbarGroup
93
+ }, /*#__PURE__*/React.createElement("button", {
94
+ className: styles.toolbarButton,
95
+ onClick: handlePrevPage,
96
+ disabled: currentPage <= 1,
97
+ "aria-label": "Previous page",
98
+ title: "Previous page",
99
+ type: "button"
100
+ }, /*#__PURE__*/React.createElement(ChevronLeft, {
101
+ size: 16
102
+ })), /*#__PURE__*/React.createElement(Input, {
103
+ className: styles.pageInput,
104
+ type: "text",
105
+ value: pageInputValue,
106
+ onChange: handlePageInputChange,
107
+ onKeyDown: handlePageInputKeyDown,
108
+ onBlur: handlePageInputBlur,
109
+ "aria-label": "Page number"
110
+ }), /*#__PURE__*/React.createElement("span", {
111
+ className: styles.pageCount
112
+ }, "of ", numPages), /*#__PURE__*/React.createElement("button", {
113
+ className: styles.toolbarButton,
114
+ onClick: handleNextPage,
115
+ disabled: currentPage >= numPages,
116
+ "aria-label": "Next page",
117
+ title: "Next page",
118
+ type: "button"
119
+ }, /*#__PURE__*/React.createElement(ChevronRight, {
120
+ size: 16
121
+ }))), /*#__PURE__*/React.createElement("div", {
122
+ className: styles.separator
123
+ }), /*#__PURE__*/React.createElement("div", {
124
+ className: styles.toolbarGroup
125
+ }, /*#__PURE__*/React.createElement("button", {
126
+ className: styles.toolbarButton,
127
+ onClick: handleZoomOut,
128
+ disabled: scale <= MIN_SCALE,
129
+ "aria-label": "Zoom out",
130
+ title: "Zoom out",
131
+ type: "button"
132
+ }, /*#__PURE__*/React.createElement(Minus, {
133
+ size: 16
134
+ })), /*#__PURE__*/React.createElement("span", {
135
+ className: styles.scaleDisplay
136
+ }, scalePercent), /*#__PURE__*/React.createElement("button", {
137
+ className: styles.toolbarButton,
138
+ onClick: handleZoomIn,
139
+ disabled: scale >= MAX_SCALE,
140
+ "aria-label": "Zoom in",
141
+ title: "Zoom in",
142
+ type: "button"
143
+ }, /*#__PURE__*/React.createElement(Plus, {
144
+ size: 16
145
+ }))), /*#__PURE__*/React.createElement("div", {
146
+ className: styles.separator
147
+ }), /*#__PURE__*/React.createElement("button", {
148
+ className: styles.toolbarButton,
149
+ onClick: onSearchOpen,
150
+ "aria-label": "Search",
151
+ title: "Search",
152
+ type: "button"
153
+ }, /*#__PURE__*/React.createElement(Search, {
154
+ size: 16
155
+ })), /*#__PURE__*/React.createElement("div", {
156
+ className: styles.separator
157
+ }), /*#__PURE__*/React.createElement("button", {
158
+ className: styles.toolbarButton,
159
+ onClick: onDownload,
160
+ "aria-label": "Download",
161
+ title: "Download",
162
+ type: "button"
163
+ }, /*#__PURE__*/React.createElement(Download, {
164
+ size: 16
165
+ })));
166
+ }
167
+ //# sourceMappingURL=PdfViewerToolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdfViewerToolbar.js","names":["Input","ChevronLeft","ChevronRight","Download","Menu","Minus","Plus","Search","React","useCallback","useEffect","useState","MAX_SCALE","MIN_SCALE","SCALE_STEP","styles","PdfViewerToolbar","currentPage","numPages","scale","sidebarOpen","onPageChange","onScaleChange","onSearchOpen","onSidebarToggle","onDownload","pageInputValue","setPageInputValue","String","handlePrevPage","newPage","handleNextPage","handlePageInputChange","e","target","value","handlePageInputKeyDown","key","page","parseInt","isNaN","handlePageInputBlur","handleZoomIn","newScale","Math","min","handleZoomOut","max","scalePercent","round","createElement","className","toolbar","toolbarButton","onClick","title","type","size","separator","toolbarGroup","disabled","pageInput","onChange","onKeyDown","onBlur","pageCount","scaleDisplay"],"sources":["PdfViewerToolbar.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Input } from \"@base-ui/react/input\";\nimport {\n ChevronLeft,\n ChevronRight,\n Download,\n Menu,\n Minus,\n Plus,\n Search,\n} from \"@blueprintjs/icons\";\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { MAX_SCALE, MIN_SCALE, SCALE_STEP } from \"./constants.js\";\nimport styles from \"./PdfViewerToolbar.module.css\";\n\ninterface PdfViewerToolbarProps {\n currentPage: number;\n numPages: number;\n scale: number;\n sidebarOpen: boolean;\n onPageChange: (page: number) => void;\n onScaleChange: (scale: number) => void;\n onSearchOpen: () => void;\n onSidebarToggle: () => void;\n onDownload: () => void;\n}\n\nexport function PdfViewerToolbar({\n currentPage,\n numPages,\n scale,\n sidebarOpen,\n onPageChange,\n onScaleChange,\n onSearchOpen,\n onSidebarToggle,\n onDownload,\n}: PdfViewerToolbarProps): React.ReactElement {\n const [pageInputValue, setPageInputValue] = useState(String(currentPage));\n\n // Sync input display when currentPage changes from scrolling\n useEffect(function syncPageInput() {\n setPageInputValue(String(currentPage));\n }, [currentPage]);\n\n const handlePrevPage = useCallback(() => {\n if (currentPage > 1) {\n const newPage = currentPage - 1;\n onPageChange(newPage);\n setPageInputValue(String(newPage));\n }\n }, [currentPage, onPageChange]);\n\n const handleNextPage = useCallback(() => {\n if (currentPage < numPages) {\n const newPage = currentPage + 1;\n onPageChange(newPage);\n setPageInputValue(String(newPage));\n }\n }, [currentPage, numPages, onPageChange]);\n\n const handlePageInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setPageInputValue(e.target.value);\n },\n [],\n );\n\n const handlePageInputKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\") {\n const page = parseInt(pageInputValue, 10);\n if (!isNaN(page) && page >= 1 && page <= numPages) {\n onPageChange(page);\n } else {\n setPageInputValue(String(currentPage));\n }\n }\n },\n [pageInputValue, numPages, onPageChange, currentPage],\n );\n\n const handlePageInputBlur = useCallback(() => {\n setPageInputValue(String(currentPage));\n }, [currentPage]);\n\n const handleZoomIn = useCallback(() => {\n const newScale = Math.min(scale + SCALE_STEP, MAX_SCALE);\n onScaleChange(newScale);\n }, [scale, onScaleChange]);\n\n const handleZoomOut = useCallback(() => {\n const newScale = Math.max(scale - SCALE_STEP, MIN_SCALE);\n onScaleChange(newScale);\n }, [scale, onScaleChange]);\n\n const scalePercent = `${Math.round(scale * 100)}%`;\n\n return (\n <div className={styles.toolbar}>\n <button\n className={styles.toolbarButton}\n onClick={onSidebarToggle}\n aria-label={sidebarOpen ? \"Close sidebar\" : \"Open sidebar\"}\n title={sidebarOpen ? \"Close sidebar\" : \"Open sidebar\"}\n aria-pressed={sidebarOpen}\n type=\"button\"\n >\n <Menu size={16} />\n </button>\n\n <div className={styles.separator} />\n\n <div className={styles.toolbarGroup}>\n <button\n className={styles.toolbarButton}\n onClick={handlePrevPage}\n disabled={currentPage <= 1}\n aria-label=\"Previous page\"\n title=\"Previous page\"\n type=\"button\"\n >\n <ChevronLeft size={16} />\n </button>\n <Input\n className={styles.pageInput}\n type=\"text\"\n value={pageInputValue}\n onChange={handlePageInputChange}\n onKeyDown={handlePageInputKeyDown}\n onBlur={handlePageInputBlur}\n aria-label=\"Page number\"\n />\n <span className={styles.pageCount}>of {numPages}</span>\n <button\n className={styles.toolbarButton}\n onClick={handleNextPage}\n disabled={currentPage >= numPages}\n aria-label=\"Next page\"\n title=\"Next page\"\n type=\"button\"\n >\n <ChevronRight size={16} />\n </button>\n </div>\n\n <div className={styles.separator} />\n\n <div className={styles.toolbarGroup}>\n <button\n className={styles.toolbarButton}\n onClick={handleZoomOut}\n disabled={scale <= MIN_SCALE}\n aria-label=\"Zoom out\"\n title=\"Zoom out\"\n type=\"button\"\n >\n <Minus size={16} />\n </button>\n <span className={styles.scaleDisplay}>{scalePercent}</span>\n <button\n className={styles.toolbarButton}\n onClick={handleZoomIn}\n disabled={scale >= MAX_SCALE}\n aria-label=\"Zoom in\"\n title=\"Zoom in\"\n type=\"button\"\n >\n <Plus size={16} />\n </button>\n </div>\n\n <div className={styles.separator} />\n\n <button\n className={styles.toolbarButton}\n onClick={onSearchOpen}\n aria-label=\"Search\"\n title=\"Search\"\n type=\"button\"\n >\n <Search size={16} />\n </button>\n\n <div className={styles.separator} />\n\n <button\n className={styles.toolbarButton}\n onClick={onDownload}\n aria-label=\"Download\"\n title=\"Download\"\n type=\"button\"\n >\n <Download size={16} />\n </button>\n </div>\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,KAAK,QAAQ,sBAAsB;AAC5C,SACEC,WAAW,EACXC,YAAY,EACZC,QAAQ,EACRC,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,MAAM,QACD,oBAAoB;AAC3B,OAAOC,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC/D,SAASC,SAAS,EAAEC,SAAS,EAAEC,UAAU,QAAQ,gBAAgB;AACjE,OAAOC,MAAM,MAAM,+BAA+B;AAclD,OAAO,SAASC,gBAAgBA,CAAC;EAC/BC,WAAW;EACXC,QAAQ;EACRC,KAAK;EACLC,WAAW;EACXC,YAAY;EACZC,aAAa;EACbC,YAAY;EACZC,eAAe;EACfC;AACqB,CAAC,EAAsB;EAC5C,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAGhB,QAAQ,CAACiB,MAAM,CAACX,WAAW,CAAC,CAAC;;EAEzE;EACAP,SAAS,CAAC,YAAyB;IACjCiB,iBAAiB,CAACC,MAAM,CAACX,WAAW,CAAC,CAAC;EACxC,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,MAAMY,cAAc,GAAGpB,WAAW,CAAC,MAAM;IACvC,IAAIQ,WAAW,GAAG,CAAC,EAAE;MACnB,MAAMa,OAAO,GAAGb,WAAW,GAAG,CAAC;MAC/BI,YAAY,CAACS,OAAO,CAAC;MACrBH,iBAAiB,CAACC,MAAM,CAACE,OAAO,CAAC,CAAC;IACpC;EACF,CAAC,EAAE,CAACb,WAAW,EAAEI,YAAY,CAAC,CAAC;EAE/B,MAAMU,cAAc,GAAGtB,WAAW,CAAC,MAAM;IACvC,IAAIQ,WAAW,GAAGC,QAAQ,EAAE;MAC1B,MAAMY,OAAO,GAAGb,WAAW,GAAG,CAAC;MAC/BI,YAAY,CAACS,OAAO,CAAC;MACrBH,iBAAiB,CAACC,MAAM,CAACE,OAAO,CAAC,CAAC;IACpC;EACF,CAAC,EAAE,CAACb,WAAW,EAAEC,QAAQ,EAAEG,YAAY,CAAC,CAAC;EAEzC,MAAMW,qBAAqB,GAAGvB,WAAW,CACtCwB,CAAsC,IAAK;IAC1CN,iBAAiB,CAACM,CAAC,CAACC,MAAM,CAACC,KAAK,CAAC;EACnC,CAAC,EACD,EACF,CAAC;EAED,MAAMC,sBAAsB,GAAG3B,WAAW,CACvCwB,CAAwC,IAAK;IAC5C,IAAIA,CAAC,CAACI,GAAG,KAAK,OAAO,EAAE;MACrB,MAAMC,IAAI,GAAGC,QAAQ,CAACb,cAAc,EAAE,EAAE,CAAC;MACzC,IAAI,CAACc,KAAK,CAACF,IAAI,CAAC,IAAIA,IAAI,IAAI,CAAC,IAAIA,IAAI,IAAIpB,QAAQ,EAAE;QACjDG,YAAY,CAACiB,IAAI,CAAC;MACpB,CAAC,MAAM;QACLX,iBAAiB,CAACC,MAAM,CAACX,WAAW,CAAC,CAAC;MACxC;IACF;EACF,CAAC,EACD,CAACS,cAAc,EAAER,QAAQ,EAAEG,YAAY,EAAEJ,WAAW,CACtD,CAAC;EAED,MAAMwB,mBAAmB,GAAGhC,WAAW,CAAC,MAAM;IAC5CkB,iBAAiB,CAACC,MAAM,CAACX,WAAW,CAAC,CAAC;EACxC,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,MAAMyB,YAAY,GAAGjC,WAAW,CAAC,MAAM;IACrC,MAAMkC,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAAC1B,KAAK,GAAGL,UAAU,EAAEF,SAAS,CAAC;IACxDU,aAAa,CAACqB,QAAQ,CAAC;EACzB,CAAC,EAAE,CAACxB,KAAK,EAAEG,aAAa,CAAC,CAAC;EAE1B,MAAMwB,aAAa,GAAGrC,WAAW,CAAC,MAAM;IACtC,MAAMkC,QAAQ,GAAGC,IAAI,CAACG,GAAG,CAAC5B,KAAK,GAAGL,UAAU,EAAED,SAAS,CAAC;IACxDS,aAAa,CAACqB,QAAQ,CAAC;EACzB,CAAC,EAAE,CAACxB,KAAK,EAAEG,aAAa,CAAC,CAAC;EAE1B,MAAM0B,YAAY,GAAG,GAAGJ,IAAI,CAACK,KAAK,CAAC9B,KAAK,GAAG,GAAG,CAAC,GAAG;EAElD,oBACEX,KAAA,CAAA0C,aAAA;IAAKC,SAAS,EAAEpC,MAAM,CAACqC;EAAQ,gBAC7B5C,KAAA,CAAA0C,aAAA;IACEC,SAAS,EAAEpC,MAAM,CAACsC,aAAc;IAChCC,OAAO,EAAE9B,eAAgB;IACzB,cAAYJ,WAAW,GAAG,eAAe,GAAG,cAAe;IAC3DmC,KAAK,EAAEnC,WAAW,GAAG,eAAe,GAAG,cAAe;IACtD,gBAAcA,WAAY;IAC1BoC,IAAI,EAAC;EAAQ,gBAEbhD,KAAA,CAAA0C,aAAA,CAAC9C,IAAI;IAACqD,IAAI,EAAE;EAAG,CAAE,CACX,CAAC,eAETjD,KAAA,CAAA0C,aAAA;IAAKC,SAAS,EAAEpC,MAAM,CAAC2C;EAAU,CAAE,CAAC,eAEpClD,KAAA,CAAA0C,aAAA;IAAKC,SAAS,EAAEpC,MAAM,CAAC4C;EAAa,gBAClCnD,KAAA,CAAA0C,aAAA;IACEC,SAAS,EAAEpC,MAAM,CAACsC,aAAc;IAChCC,OAAO,EAAEzB,cAAe;IACxB+B,QAAQ,EAAE3C,WAAW,IAAI,CAAE;IAC3B,cAAW,eAAe;IAC1BsC,KAAK,EAAC,eAAe;IACrBC,IAAI,EAAC;EAAQ,gBAEbhD,KAAA,CAAA0C,aAAA,CAACjD,WAAW;IAACwD,IAAI,EAAE;EAAG,CAAE,CAClB,CAAC,eACTjD,KAAA,CAAA0C,aAAA,CAAClD,KAAK;IACJmD,SAAS,EAAEpC,MAAM,CAAC8C,SAAU;IAC5BL,IAAI,EAAC,MAAM;IACXrB,KAAK,EAAET,cAAe;IACtBoC,QAAQ,EAAE9B,qBAAsB;IAChC+B,SAAS,EAAE3B,sBAAuB;IAClC4B,MAAM,EAAEvB,mBAAoB;IAC5B,cAAW;EAAa,CACzB,CAAC,eACFjC,KAAA,CAAA0C,aAAA;IAAMC,SAAS,EAAEpC,MAAM,CAACkD;EAAU,GAAC,KAAG,EAAC/C,QAAe,CAAC,eACvDV,KAAA,CAAA0C,aAAA;IACEC,SAAS,EAAEpC,MAAM,CAACsC,aAAc;IAChCC,OAAO,EAAEvB,cAAe;IACxB6B,QAAQ,EAAE3C,WAAW,IAAIC,QAAS;IAClC,cAAW,WAAW;IACtBqC,KAAK,EAAC,WAAW;IACjBC,IAAI,EAAC;EAAQ,gBAEbhD,KAAA,CAAA0C,aAAA,CAAChD,YAAY;IAACuD,IAAI,EAAE;EAAG,CAAE,CACnB,CACL,CAAC,eAENjD,KAAA,CAAA0C,aAAA;IAAKC,SAAS,EAAEpC,MAAM,CAAC2C;EAAU,CAAE,CAAC,eAEpClD,KAAA,CAAA0C,aAAA;IAAKC,SAAS,EAAEpC,MAAM,CAAC4C;EAAa,gBAClCnD,KAAA,CAAA0C,aAAA;IACEC,SAAS,EAAEpC,MAAM,CAACsC,aAAc;IAChCC,OAAO,EAAER,aAAc;IACvBc,QAAQ,EAAEzC,KAAK,IAAIN,SAAU;IAC7B,cAAW,UAAU;IACrB0C,KAAK,EAAC,UAAU;IAChBC,IAAI,EAAC;EAAQ,gBAEbhD,KAAA,CAAA0C,aAAA,CAAC7C,KAAK;IAACoD,IAAI,EAAE;EAAG,CAAE,CACZ,CAAC,eACTjD,KAAA,CAAA0C,aAAA;IAAMC,SAAS,EAAEpC,MAAM,CAACmD;EAAa,GAAElB,YAAmB,CAAC,eAC3DxC,KAAA,CAAA0C,aAAA;IACEC,SAAS,EAAEpC,MAAM,CAACsC,aAAc;IAChCC,OAAO,EAAEZ,YAAa;IACtBkB,QAAQ,EAAEzC,KAAK,IAAIP,SAAU;IAC7B,cAAW,SAAS;IACpB2C,KAAK,EAAC,SAAS;IACfC,IAAI,EAAC;EAAQ,gBAEbhD,KAAA,CAAA0C,aAAA,CAAC5C,IAAI;IAACmD,IAAI,EAAE;EAAG,CAAE,CACX,CACL,CAAC,eAENjD,KAAA,CAAA0C,aAAA;IAAKC,SAAS,EAAEpC,MAAM,CAAC2C;EAAU,CAAE,CAAC,eAEpClD,KAAA,CAAA0C,aAAA;IACEC,SAAS,EAAEpC,MAAM,CAACsC,aAAc;IAChCC,OAAO,EAAE/B,YAAa;IACtB,cAAW,QAAQ;IACnBgC,KAAK,EAAC,QAAQ;IACdC,IAAI,EAAC;EAAQ,gBAEbhD,KAAA,CAAA0C,aAAA,CAAC3C,MAAM;IAACkD,IAAI,EAAE;EAAG,CAAE,CACb,CAAC,eAETjD,KAAA,CAAA0C,aAAA;IAAKC,SAAS,EAAEpC,MAAM,CAAC2C;EAAU,CAAE,CAAC,eAEpClD,KAAA,CAAA0C,aAAA;IACEC,SAAS,EAAEpC,MAAM,CAACsC,aAAc;IAChCC,OAAO,EAAE7B,UAAW;IACpB,cAAW,UAAU;IACrB8B,KAAK,EAAC,UAAU;IAChBC,IAAI,EAAC;EAAQ,gBAEbhD,KAAA,CAAA0C,aAAA,CAAC/C,QAAQ;IAACsD,IAAI,EAAE;EAAG,CAAE,CACf,CACL,CAAC;AAEV","ignoreList":[]}
@@ -0,0 +1,86 @@
1
+ .toolbar {
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ gap: var(--osdk-pdf-viewer-toolbar-gap);
6
+ padding: var(--osdk-surface-spacing);
7
+ background-color: var(--osdk-pdf-viewer-toolbar-bg);
8
+ border-bottom: var(--osdk-pdf-viewer-toolbar-border);
9
+ color: var(--osdk-pdf-viewer-toolbar-color);
10
+ font-family: var(--osdk-typography-family-default);
11
+ font-size: var(--osdk-typography-size-body-small);
12
+ flex-shrink: 0;
13
+ }
14
+
15
+ .toolbarGroup {
16
+ display: flex;
17
+ align-items: center;
18
+ gap: var(--osdk-surface-spacing);
19
+ }
20
+
21
+ .separator {
22
+ width: 1px;
23
+ height: 20px;
24
+ background-color: var(--osdk-surface-border-color-default);
25
+ margin: 0 var(--osdk-surface-spacing);
26
+ }
27
+
28
+ .toolbarButton {
29
+ display: flex;
30
+ align-items: center;
31
+ justify-content: center;
32
+ width: 28px;
33
+ height: 28px;
34
+ border: none;
35
+ background: none;
36
+ color: var(--osdk-typography-color-default-rest);
37
+ cursor: pointer;
38
+ border-radius: var(--osdk-surface-border-radius);
39
+ padding: 0;
40
+ }
41
+
42
+ .toolbarButton:hover {
43
+ background-color: var(--osdk-surface-background-color-default-hover);
44
+ }
45
+
46
+ .toolbarButton:active {
47
+ background-color: var(--osdk-surface-background-color-default-active);
48
+ }
49
+
50
+ .toolbarButton:focus-visible {
51
+ outline: var(--osdk-focus-outline);
52
+ outline-offset: var(--osdk-focus-visible-outline-offset);
53
+ }
54
+
55
+ .toolbarButton:disabled {
56
+ opacity: 0.5;
57
+ cursor: default;
58
+ }
59
+
60
+ .pageInput {
61
+ width: 48px;
62
+ text-align: center;
63
+ border: var(--osdk-surface-border);
64
+ border-radius: var(--osdk-surface-border-radius);
65
+ padding: calc(0.5 * var(--osdk-surface-spacing)) var(--osdk-surface-spacing);
66
+ font-family: var(--osdk-typography-family-default);
67
+ font-size: var(--osdk-typography-size-body-small);
68
+ color: var(--osdk-typography-color-default-rest);
69
+ background-color: var(--osdk-background-primary);
70
+ }
71
+
72
+ .pageInput:focus {
73
+ outline: var(--osdk-focus-outline);
74
+ outline-offset: var(--osdk-focus-visible-outline-offset);
75
+ }
76
+
77
+ .pageCount {
78
+ color: var(--osdk-typography-color-muted);
79
+ }
80
+
81
+ .scaleDisplay {
82
+ font-size: var(--osdk-typography-size-body-x-small);
83
+ color: var(--osdk-typography-color-muted);
84
+ min-width: 40px;
85
+ text-align: center;
86
+ }