@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
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeader.js","names":["React","styles","TableHeaderContent","TableHeaderWithPopover","SELECTION_COLUMN_ID","getColumnPinningStyles","TableHeader","table","isResizing","getState","columnSizingInfo","isResizingColumn","createElement","className","osdkTableHeader","getHeaderGroups","map","headerGroup","key","id","osdkTableHeaderRow","headers","header","columnStyles","column","isColumnPinned","getIsPinned","isSelectColumn","osdkTableHeaderCell","style","isPlaceholder","setColumnPinning","getCanResize","osdkTableHeaderResizer","onDoubleClick","resetSize","onMouseDown","getResizeHandler","onTouchStart"],"sources":["TableHeader.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { RowData, Table } from \"@tanstack/react-table\";\nimport React from \"react\";\nimport styles from \"./TableHeader.module.css\";\nimport { TableHeaderContent } from \"./TableHeaderContent.js\";\nimport { TableHeaderWithPopover } from \"./TableHeaderWithPopover.js\";\nimport { SELECTION_COLUMN_ID } from \"./utils/constants.js\";\nimport { getColumnPinningStyles } from \"./utils/getColumnPinningStyles.js\";\n\ninterface TableHeaderProps<TData extends RowData> {\n table: Table<TData>;\n}\n\nexport function TableHeader<TData extends RowData>({\n table,\n}: TableHeaderProps<TData>): React.ReactElement {\n // TODO: If value is number type, right align header\n\n const isResizing = !!table.getState().columnSizingInfo?.isResizingColumn;\n\n return (\n <thead className={styles.osdkTableHeader} data-resizing={isResizing}>\n {table.getHeaderGroups().map((headerGroup) => (\n <tr\n key={headerGroup.id}\n className={styles.osdkTableHeaderRow}\n >\n {headerGroup.headers.map((header) => {\n const { columnStyles } = getColumnPinningStyles(header.column);\n const isColumnPinned = header.column.getIsPinned();\n const isSelectColumn = header.id === SELECTION_COLUMN_ID;\n return (\n <th\n key={header.id}\n data-pinned={header.column.getIsPinned()}\n className={styles.osdkTableHeaderCell}\n style={columnStyles}\n >\n {header.isPlaceholder\n ? null\n : isSelectColumn\n ? <TableHeaderContent header={header} />\n : (\n <TableHeaderWithPopover\n header={header}\n isColumnPinned={isColumnPinned}\n setColumnPinning={table.setColumnPinning}\n />\n )}\n {header.column.getCanResize() && (\n <div\n className={styles.osdkTableHeaderResizer}\n onDoubleClick={() => header.column.resetSize()}\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n />\n )}\n </th>\n );\n })}\n </tr>\n ))}\n </thead>\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,MAAM,MAAM,0BAA0B;AAC7C,SAASC,kBAAkB,QAAQ,yBAAyB;AAC5D,SAASC,sBAAsB,QAAQ,6BAA6B;AACpE,SAASC,mBAAmB,QAAQ,sBAAsB;AAC1D,SAASC,sBAAsB,QAAQ,mCAAmC;AAM1E,OAAO,SAASC,WAAWA,CAAwB;EACjDC;AACuB,CAAC,EAAsB;EAC9C;;EAEA,MAAMC,UAAU,GAAG,CAAC,CAACD,KAAK,CAACE,QAAQ,CAAC,CAAC,CAACC,gBAAgB,EAAEC,gBAAgB;EAExE,oBACEX,KAAA,CAAAY,aAAA;IAAOC,SAAS,EAAEZ,MAAM,CAACa,eAAgB;IAAC,iBAAeN;EAAW,GACjED,KAAK,CAACQ,eAAe,CAAC,CAAC,CAACC,GAAG,CAAEC,WAAW,iBACvCjB,KAAA,CAAAY,aAAA;IACEM,GAAG,EAAED,WAAW,CAACE,EAAG;IACpBN,SAAS,EAAEZ,MAAM,CAACmB;EAAmB,GAEpCH,WAAW,CAACI,OAAO,CAACL,GAAG,CAAEM,MAAM,IAAK;IACnC,MAAM;MAAEC;IAAa,CAAC,GAAGlB,sBAAsB,CAACiB,MAAM,CAACE,MAAM,CAAC;IAC9D,MAAMC,cAAc,GAAGH,MAAM,CAACE,MAAM,CAACE,WAAW,CAAC,CAAC;IAClD,MAAMC,cAAc,GAAGL,MAAM,CAACH,EAAE,KAAKf,mBAAmB;IACxD,oBACEJ,KAAA,CAAAY,aAAA;MACEM,GAAG,EAAEI,MAAM,CAACH,EAAG;MACf,eAAaG,MAAM,CAACE,MAAM,CAACE,WAAW,CAAC,CAAE;MACzCb,SAAS,EAAEZ,MAAM,CAAC2B,mBAAoB;MACtCC,KAAK,EAAEN;IAAa,GAEnBD,MAAM,CAACQ,aAAa,GACjB,IAAI,GACJH,cAAc,gBACd3B,KAAA,CAAAY,aAAA,CAACV,kBAAkB;MAACoB,MAAM,EAAEA;IAAO,CAAE,CAAC,gBAEtCtB,KAAA,CAAAY,aAAA,CAACT,sBAAsB;MACrBmB,MAAM,EAAEA,MAAO;MACfG,cAAc,EAAEA,cAAe;MAC/BM,gBAAgB,EAAExB,KAAK,CAACwB;IAAiB,CAC1C,CACF,EACFT,MAAM,CAACE,MAAM,CAACQ,YAAY,CAAC,CAAC,iBAC3BhC,KAAA,CAAAY,aAAA;MACEC,SAAS,EAAEZ,MAAM,CAACgC,sBAAuB;MACzCC,aAAa,EAAEA,CAAA,KAAMZ,MAAM,CAACE,MAAM,CAACW,SAAS,CAAC,CAAE;MAC/CC,WAAW,EAAEd,MAAM,CAACe,gBAAgB,CAAC,CAAE;MACvCC,YAAY,EAAEhB,MAAM,CAACe,gBAAgB,CAAC;IAAE,CACzC,CAED,CAAC;EAET,CAAC,CACC,CACL,CACI,CAAC;AAEZ","ignoreList":[]}
1
+ {"version":3,"file":"TableHeader.js","names":["classNames","React","useCallback","useMemo","useState","ColumnConfigDialog","MultiColumnSortDialog","styles","TableHeaderContent","TableHeaderWithPopover","SELECTION_COLUMN_ID","getColumnPinningStyles","getHeaderName","column","allHeaders","id","columnDef","header","find","headerDef","displayedHeader","getContext","meta","columnName","TableHeader","table","headerMenuFeatureFlags","setColumnOrder","setColumnVisibility","setSorting","currentSorting","getState","sorting","currentVisibility","columnVisibility","currentColumnOrder","columnOrder","isResizing","columnSizingInfo","isResizingColumn","configDialogOpen","setConfigDialogOpen","multiSortDialogOpen","setMultiSortDialogOpen","handleOpenColumnConfig","handleCloseColumnConfig","handleOpenMultiSort","handleCloseMultiSort","handleApplyMultiSort","sortColumns","handleApplyColumnConfig","updates","newVisibilityState","update","columnId","isVisible","map","col","columnOptions","getHeaderGroups","flatMap","headerGroup","headers","getAllColumns","filter","name","canSort","getCanSort","createElement","Fragment","className","osdkTableHeader","key","osdkTableHeaderRow","columnStyles","isColumnPinned","getIsPinned","isSelectColumn","osdkTableHeaderCell","osdkTableSelectionHeaderCell","style","isPlaceholder","featureFlags","onOpenColumnConfig","onOpenMultiSort","getCanResize","showResizeItem","osdkTableHeaderResizer","onDoubleClick","resetSize","onMouseDown","getResizeHandler","onTouchStart","length","isOpen","onClose","onApply","some"],"sources":["TableHeader.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n Column,\n Header,\n RowData,\n SortingState,\n Table,\n VisibilityState,\n} from \"@tanstack/react-table\";\nimport classNames from \"classnames\";\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport { type ColumnConfig, ColumnConfigDialog } from \"./ColumnConfigDialog.js\";\nimport { MultiColumnSortDialog } from \"./MultiColumnSortDialog.js\";\nimport styles from \"./TableHeader.module.css\";\nimport { TableHeaderContent } from \"./TableHeaderContent.js\";\nimport {\n type HeaderMenuFeatureFlags,\n TableHeaderWithPopover,\n} from \"./TableHeaderWithPopover.js\";\nimport { SELECTION_COLUMN_ID } from \"./utils/constants.js\";\nimport { getColumnPinningStyles } from \"./utils/getColumnPinningStyles.js\";\nimport type { ColumnOption } from \"./utils/types.js\";\n\ninterface TableHeaderProps<\n TData extends RowData,\n> {\n table: Table<TData>;\n headerMenuFeatureFlags?: HeaderMenuFeatureFlags;\n}\n\nconst getHeaderName = <TData,>(\n column: Column<TData, unknown>,\n allHeaders: Header<TData, unknown>[],\n) => {\n const { id, columnDef } = column;\n const header = allHeaders.find(header => header.id === id);\n const headerDef = columnDef.header;\n\n if (headerDef) {\n if (typeof headerDef === \"string\") {\n return headerDef;\n }\n // Try to get header name from the renderHeader function\n if (header) {\n const displayedHeader = headerDef(header.getContext());\n if (typeof displayedHeader === \"string\") return displayedHeader;\n }\n }\n // Fallback to use the columnName provided by user or id\n const { meta } = columnDef;\n return meta?.columnName ?? id;\n};\n\nexport function TableHeader<\n TData extends RowData,\n>({\n table,\n headerMenuFeatureFlags,\n}: TableHeaderProps<TData>): React.ReactElement {\n // TODO: If value is number type, right align header\n\n const {\n setColumnOrder,\n setColumnVisibility,\n setSorting,\n } = table;\n\n const currentSorting = table.getState().sorting;\n const currentVisibility = table.getState().columnVisibility;\n const currentColumnOrder = table.getState().columnOrder;\n\n const isResizing = !!table.getState().columnSizingInfo?.isResizingColumn;\n\n const [configDialogOpen, setConfigDialogOpen] = useState(false);\n const [multiSortDialogOpen, setMultiSortDialogOpen] = useState(false);\n\n const handleOpenColumnConfig = useCallback(() => {\n setConfigDialogOpen(true);\n }, []);\n\n const handleCloseColumnConfig = useCallback(() => {\n setConfigDialogOpen(false);\n }, []);\n\n const handleOpenMultiSort = useCallback(() => {\n setMultiSortDialogOpen(true);\n }, []);\n\n const handleCloseMultiSort = useCallback(() => {\n setMultiSortDialogOpen(false);\n }, []);\n\n const handleApplyMultiSort = useCallback(\n (sortColumns: SortingState) => {\n setMultiSortDialogOpen(false);\n setSorting?.(sortColumns);\n },\n [setSorting],\n );\n\n const handleApplyColumnConfig = useCallback(\n (updates: ColumnConfig[]) => {\n const newVisibilityState: VisibilityState = {};\n for (const update of updates) {\n newVisibilityState[update.columnId] = update.isVisible;\n }\n\n setColumnOrder(updates.map(col => col.columnId));\n setColumnVisibility(newVisibilityState);\n },\n [setColumnOrder, setColumnVisibility],\n );\n\n const columnOptions: ColumnOption[] = useMemo(() => {\n const allHeaders = table.getHeaderGroups().flatMap(headerGroup =>\n headerGroup.headers\n );\n\n return table\n .getAllColumns()\n .filter((column) => column.id !== SELECTION_COLUMN_ID)\n .map((column) => {\n return {\n id: column.id,\n name: getHeaderName(column, allHeaders),\n canSort: column.getCanSort(),\n };\n });\n }, [table]);\n\n return (\n <>\n <thead className={styles.osdkTableHeader} data-resizing={isResizing}>\n {table.getHeaderGroups().map((headerGroup) => (\n <tr\n key={headerGroup.id}\n className={styles.osdkTableHeaderRow}\n >\n {headerGroup.headers.map((header) => {\n const { columnStyles } = getColumnPinningStyles(header.column);\n const isColumnPinned = header.column.getIsPinned();\n const isSelectColumn = header.id === SELECTION_COLUMN_ID;\n return (\n <th\n key={header.id}\n data-pinned={header.column.getIsPinned()}\n className={classNames(styles.osdkTableHeaderCell, {\n [styles.osdkTableSelectionHeaderCell]: isSelectColumn,\n })}\n style={columnStyles}\n >\n {header.isPlaceholder\n ? null\n : isSelectColumn\n ? <TableHeaderContent header={header} />\n : (\n <TableHeaderWithPopover\n table={table}\n header={header}\n isColumnPinned={isColumnPinned}\n columnOptions={columnOptions}\n featureFlags={headerMenuFeatureFlags}\n onOpenColumnConfig={handleOpenColumnConfig}\n onOpenMultiSort={handleOpenMultiSort}\n />\n )}\n {header.column.getCanResize()\n && headerMenuFeatureFlags?.showResizeItem !== false && (\n <div\n className={styles.osdkTableHeaderResizer}\n onDoubleClick={() => header.column.resetSize()}\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n />\n )}\n </th>\n );\n })}\n </tr>\n ))}\n </thead>\n {!!columnOptions?.length && (\n <ColumnConfigDialog\n isOpen={configDialogOpen}\n onClose={handleCloseColumnConfig}\n columnOptions={columnOptions}\n currentVisibility={currentVisibility}\n currentColumnOrder={currentColumnOrder}\n onApply={handleApplyColumnConfig}\n />\n )}\n {columnOptions?.some(col => col.canSort) && (\n <MultiColumnSortDialog\n isOpen={multiSortDialogOpen}\n onClose={handleCloseMultiSort}\n columnOptions={columnOptions}\n currentSorting={currentSorting}\n onApply={handleApplyMultiSort}\n />\n )}\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -18,6 +18,9 @@
18
18
  display: grid;
19
19
  position: sticky;
20
20
  top: 0;
21
+ width: max-content;
22
+ min-width: 100%;
23
+ height: var(--osdk-table-header-height);
21
24
  z-index: var(--osdk-surface-z-index-1);
22
25
  background-color: var(--osdk-table-header-bg);
23
26
  }
@@ -29,6 +32,9 @@
29
32
 
30
33
  .osdkTableHeaderRow {
31
34
  display: flex;
35
+ width: max-content;
36
+ min-width: 100%;
37
+ border-bottom: var(--osdk-table-border);
32
38
  }
33
39
 
34
40
  .osdkTableHeaderCell {
@@ -57,6 +63,7 @@
57
63
  .osdkTableHeaderCell[data-pinned="right"] {
58
64
  position: sticky;
59
65
  z-index: var(--osdk-surface-z-index-2);
66
+ background-color: var(--osdk-table-header-bg);
60
67
  }
61
68
 
62
69
  /* Last left-pinned column - no left-pinned siblings after it */
@@ -71,8 +78,9 @@
71
78
  border-left: var(--osdk-table-pinned-column-border);
72
79
  }
73
80
 
74
- .osdkTableHeaderCell:has([role="checkbox"]) {
81
+ .osdkTableSelectionHeaderCell {
75
82
  justify-content: center;
83
+ padding: 0;
76
84
  }
77
85
 
78
86
  .osdkTableHeaderResizer {
@@ -87,11 +95,11 @@
87
95
  z-index: var(--osdk-surface-z-index-2);
88
96
 
89
97
  &:hover {
90
- background: var(--osdk-intent-primary-hover);
98
+ background: var(--osdk-table-resizer-color-hover);
91
99
  }
92
100
 
93
101
  &:active {
94
- background: var(--osdk-intent-primary-active);
102
+ background: var(--osdk-table-resizer-color-active);
95
103
  }
96
104
  }
97
105
 
@@ -3,6 +3,7 @@ const styles = {
3
3
  "osdkTableHeader": "TableHeader-module__osdkTableHeader___4Wzqkog9",
4
4
  "osdkTableHeaderRow": "TableHeader-module__osdkTableHeaderRow___lUjQpm91",
5
5
  "osdkTableHeaderCell": "TableHeader-module__osdkTableHeaderCell___iS9lGU8Z",
6
+ "osdkTableSelectionHeaderCell": "TableHeader-module__osdkTableSelectionHeaderCell___9Zt7O2Pz",
6
7
  "osdkTableHeaderResizer": "TableHeader-module__osdkTableHeaderResizer___qpjGLncF",
7
8
  "osdkLoadingHeaderCell": "TableHeader-module__osdkLoadingHeaderCell___gohWQuYX"
8
9
  };
@@ -15,7 +15,7 @@
15
15
  */
16
16
 
17
17
  import { Menu } from "@base-ui/react/menu";
18
- import { ChevronDown, Pin, Remove, SortAlphabetical, SortAlphabeticalDesc, Unpin, VerticalDistribution } from "@blueprintjs/icons";
18
+ import { ChevronDown, Pin, Remove, Settings, Sort, SortAlphabetical, SortAlphabeticalDesc, Unpin, VerticalDistribution } from "@blueprintjs/icons";
19
19
  import classNames from "classnames";
20
20
  import React, { useCallback, useState } from "react";
21
21
  import { TableHeaderContent } from "./TableHeaderContent.js";
@@ -37,11 +37,25 @@ function HeaderMenuItem({
37
37
  }
38
38
  export function TableHeaderWithPopover({
39
39
  header,
40
+ table,
40
41
  isColumnPinned,
41
- setColumnPinning,
42
- onSortChange,
43
- onResetSize
42
+ onResetSize,
43
+ columnOptions,
44
+ featureFlags,
45
+ onOpenColumnConfig,
46
+ onOpenMultiSort
44
47
  }) {
48
+ const {
49
+ showSortingItems = false,
50
+ showPinningItems = false,
51
+ showResizeItem = false,
52
+ showConfigItem = false
53
+ } = featureFlags ?? {};
54
+ const {
55
+ setColumnPinning,
56
+ setSorting
57
+ } = table;
58
+ const currentSorting = table.getState().sorting;
45
59
  const [isOpen, setIsOpen] = useState(false);
46
60
  const handlePinLeft = useCallback(() => {
47
61
  setColumnPinning(prev => {
@@ -61,22 +75,22 @@ export function TableHeaderWithPopover({
61
75
  }, [header.column.id, setColumnPinning]);
62
76
  const handleSortAscending = useCallback(() => {
63
77
  header.column.toggleSorting(false);
64
- onSortChange?.([{
78
+ setSorting?.([{
65
79
  id: header.column.id,
66
80
  desc: false
67
81
  }]);
68
- }, [header.column, onSortChange]);
82
+ }, [header.column, setSorting]);
69
83
  const handleSortDescending = useCallback(() => {
70
84
  header.column.toggleSorting(true);
71
- onSortChange?.([{
85
+ setSorting?.([{
72
86
  id: header.column.id,
73
87
  desc: true
74
88
  }]);
75
- }, [header.column, onSortChange]);
89
+ }, [header.column, setSorting]);
76
90
  const handleClearAllSorts = useCallback(() => {
77
91
  header.column.clearSorting();
78
- onSortChange?.([]);
79
- }, [header.column, onSortChange]);
92
+ setSorting?.([]);
93
+ }, [header.column, setSorting]);
80
94
  const handleResetSize = useCallback(() => {
81
95
  header.column.resetSize();
82
96
  if (onResetSize) {
@@ -87,9 +101,18 @@ export function TableHeaderWithPopover({
87
101
  e.preventDefault();
88
102
  setIsOpen(prev => !prev);
89
103
  }, []);
104
+ const handleOpenColumnConfig = useCallback(() => {
105
+ onOpenColumnConfig?.();
106
+ setIsOpen(false);
107
+ }, [onOpenColumnConfig]);
108
+ const handleOpenMultiSort = useCallback(() => {
109
+ onOpenMultiSort?.();
110
+ setIsOpen(false);
111
+ }, [onOpenMultiSort]);
90
112
  const isSorted = header.column.getIsSorted();
91
113
  const isSortable = header.column.getCanSort();
92
- return /*#__PURE__*/React.createElement(Menu.Root, {
114
+ const sortIndex = currentSorting?.findIndex(s => s.id === header.column.id) ?? -1;
115
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Menu.Root, {
93
116
  open: isOpen,
94
117
  onOpenChange: setIsOpen
95
118
  }, /*#__PURE__*/React.createElement("div", {
@@ -107,12 +130,12 @@ export function TableHeaderWithPopover({
107
130
  }, isSorted && /*#__PURE__*/React.createElement("div", {
108
131
  className: styles.osdkCenterContainer
109
132
  }, isSorted === "asc" ? /*#__PURE__*/React.createElement(SortAlphabetical, {
110
- className: styles.osdkHeaderIcon,
111
- color: "currentColor"
133
+ className: styles.osdkHeaderIcon
112
134
  }) : /*#__PURE__*/React.createElement(SortAlphabeticalDesc, {
113
- className: styles.osdkHeaderIcon,
114
- color: "currentColor"
115
- })), /*#__PURE__*/React.createElement(Menu.Trigger, {
135
+ className: styles.osdkHeaderIcon
136
+ }), currentSorting.length > 1 && sortIndex >= 0 && /*#__PURE__*/React.createElement("span", {
137
+ className: styles.sortIndex
138
+ }, sortIndex + 1)), (showPinningItems || showSortingItems && isSortable || showResizeItem || showConfigItem) && /*#__PURE__*/React.createElement(Menu.Trigger, {
116
139
  "aria-label": `Open header menu for column with id=${header.column.id}`,
117
140
  className: classNames(styles.osdkCenterContainer, styles.osdkHeaderPopoverTrigger)
118
141
  }, /*#__PURE__*/React.createElement(ChevronDown, {
@@ -123,16 +146,16 @@ export function TableHeaderWithPopover({
123
146
  sideOffset: 4
124
147
  }, /*#__PURE__*/React.createElement(Menu.Popup, {
125
148
  className: styles.osdkHeaderPopup
126
- }, !isColumnPinned && /*#__PURE__*/React.createElement(HeaderMenuItem, {
149
+ }, showPinningItems && !isColumnPinned && /*#__PURE__*/React.createElement(HeaderMenuItem, {
127
150
  onClick: handlePinLeft,
128
151
  icon: Pin,
129
152
  label: "Pin column"
130
- }), isColumnPinned && /*#__PURE__*/React.createElement(HeaderMenuItem, {
153
+ }), showPinningItems && isColumnPinned && /*#__PURE__*/React.createElement(HeaderMenuItem, {
131
154
  onClick: handleUnpin,
132
155
  icon: Unpin,
133
156
  label: "Unpin Column",
134
157
  active: true
135
- }), isSortable && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HeaderMenuItem, {
158
+ }), showSortingItems && isSortable && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HeaderMenuItem, {
136
159
  onClick: handleSortAscending,
137
160
  icon: SortAlphabetical,
138
161
  label: "Sort ascending",
@@ -142,14 +165,22 @@ export function TableHeaderWithPopover({
142
165
  icon: SortAlphabeticalDesc,
143
166
  label: "Sort descending",
144
167
  active: isSorted === "desc"
145
- })), !!isSorted && /*#__PURE__*/React.createElement(HeaderMenuItem, {
168
+ }), columnOptions?.some(col => col.canSort) && /*#__PURE__*/React.createElement(HeaderMenuItem, {
169
+ onClick: handleOpenMultiSort,
170
+ icon: Sort,
171
+ label: "Sort on multiple columns"
172
+ })), showSortingItems && !!currentSorting?.length && /*#__PURE__*/React.createElement(HeaderMenuItem, {
146
173
  onClick: handleClearAllSorts,
147
174
  icon: Remove,
148
175
  label: "Clear all sorts"
149
- }), /*#__PURE__*/React.createElement(HeaderMenuItem, {
176
+ }), showResizeItem && /*#__PURE__*/React.createElement(HeaderMenuItem, {
150
177
  onClick: handleResetSize,
151
178
  icon: VerticalDistribution,
152
179
  label: "Reset Column Size"
153
- }))))));
180
+ }), showConfigItem && /*#__PURE__*/React.createElement(HeaderMenuItem, {
181
+ onClick: handleOpenColumnConfig,
182
+ icon: Settings,
183
+ label: "Configure Columns"
184
+ })))))));
154
185
  }
155
186
  //# sourceMappingURL=TableHeaderWithPopover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeaderWithPopover.js","names":["Menu","ChevronDown","Pin","Remove","SortAlphabetical","SortAlphabeticalDesc","Unpin","VerticalDistribution","classNames","React","useCallback","useState","TableHeaderContent","styles","HeaderMenuItem","onClick","icon","Icon","label","active","createElement","Item","closeOnClick","className","osdkCenterContainer","osdkContentGap","osdkHeaderMenuItem","osdkHeaderActiveMenuItem","osdkHeaderIcon","color","TableHeaderWithPopover","header","isColumnPinned","setColumnPinning","onSortChange","onResetSize","isOpen","setIsOpen","handlePinLeft","prev","left","column","id","right","filter","handleUnpin","handleSortAscending","toggleSorting","desc","handleSortDescending","handleClearAllSorts","clearSorting","handleResetSize","resetSize","handleInteraction","e","preventDefault","isSorted","getIsSorted","isSortable","getCanSort","Root","open","onOpenChange","osdkHeaderContainer","onContextMenu","osdkHeaderContentLeft","osdkHeaderContentRight","Trigger","osdkHeaderPopoverTrigger","Portal","container","document","body","Positioner","sideOffset","Popup","osdkHeaderPopup","Fragment"],"sources":["TableHeaderWithPopover.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 { Menu } from \"@base-ui/react/menu\";\nimport {\n ChevronDown,\n Pin,\n Remove,\n SortAlphabetical,\n SortAlphabeticalDesc,\n Unpin,\n VerticalDistribution,\n} from \"@blueprintjs/icons\";\nimport type {\n ColumnPinningState,\n Header,\n RowData,\n SortingState,\n} from \"@tanstack/react-table\";\nimport classNames from \"classnames\";\nimport React, { useCallback, useState } from \"react\";\nimport { TableHeaderContent } from \"./TableHeaderContent.js\";\nimport styles from \"./TableHeaderWithPopover.module.css\";\n\ninterface HeaderMenuItemProps {\n onClick: () => void;\n icon: React.ComponentType<{ className?: string; color?: string }>;\n label: string;\n active?: boolean;\n}\n\nfunction HeaderMenuItem({\n onClick,\n icon: Icon,\n label,\n active = false,\n}: HeaderMenuItemProps): React.ReactElement {\n return (\n <Menu.Item\n closeOnClick\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkContentGap,\n styles.osdkHeaderMenuItem,\n active && styles.osdkHeaderActiveMenuItem,\n )}\n onClick={onClick}\n >\n <Icon className={styles.osdkHeaderIcon} color=\"currentColor\" />\n <span>{label}</span>\n </Menu.Item>\n );\n}\n\ninterface TableHeaderWithPopoverProps<TData extends RowData> {\n header: Header<TData, unknown>;\n isColumnPinned: false | \"left\" | \"right\";\n setColumnPinning: React.Dispatch<React.SetStateAction<ColumnPinningState>>;\n onSortChange?: (sorting: SortingState) => void;\n onResetSize?: () => void;\n onColumnConfig?: () => void;\n enableColumnPinningRight?: boolean;\n}\n\nexport function TableHeaderWithPopover<TData extends RowData>({\n header,\n isColumnPinned,\n setColumnPinning,\n onSortChange,\n onResetSize,\n}: TableHeaderWithPopoverProps<TData>): React.ReactElement {\n const [isOpen, setIsOpen] = useState(false);\n\n const handlePinLeft = useCallback(() => {\n setColumnPinning((prev) => {\n return {\n left: [...(prev.left || []), header.column.id],\n right: prev.right?.filter((id) => id !== header.column.id) || [],\n };\n });\n }, [header.column.id, setColumnPinning]);\n\n const handleUnpin = useCallback(() => {\n setColumnPinning((prev) => {\n return {\n left: prev.left?.filter((id) => id !== header.column.id) || [],\n right: prev.right?.filter((id) => id !== header.column.id) || [],\n };\n });\n }, [header.column.id, setColumnPinning]);\n\n const handleSortAscending = useCallback(() => {\n header.column.toggleSorting(false);\n onSortChange?.([{ id: header.column.id, desc: false }]);\n }, [header.column, onSortChange]);\n\n const handleSortDescending = useCallback(() => {\n header.column.toggleSorting(true);\n onSortChange?.([{ id: header.column.id, desc: true }]);\n }, [header.column, onSortChange]);\n\n const handleClearAllSorts = useCallback(() => {\n header.column.clearSorting();\n onSortChange?.([]);\n }, [header.column, onSortChange]);\n\n const handleResetSize = useCallback(() => {\n header.column.resetSize();\n if (onResetSize) {\n onResetSize();\n }\n }, [header.column, onResetSize]);\n\n const handleInteraction = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault();\n setIsOpen((prev) => !prev);\n },\n [],\n );\n\n const isSorted = header.column.getIsSorted();\n const isSortable = header.column.getCanSort();\n\n return (\n <Menu.Root open={isOpen} onOpenChange={setIsOpen}>\n <div\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkContentGap,\n styles.osdkHeaderContainer,\n )}\n onContextMenu={handleInteraction}\n >\n <div\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkContentGap,\n styles.osdkHeaderContentLeft,\n )}\n >\n {isColumnPinned && (\n <Pin\n className={styles.osdkHeaderIcon}\n color={\"currentColor\"}\n />\n )}\n <TableHeaderContent header={header} />\n </div>\n <div\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkContentGap,\n styles.osdkHeaderContentRight,\n )}\n >\n {isSorted && (\n <div className={styles.osdkCenterContainer}>\n {isSorted === \"asc\"\n ? (\n <SortAlphabetical\n className={styles.osdkHeaderIcon}\n color={\"currentColor\"}\n />\n )\n : (\n <SortAlphabeticalDesc\n className={styles.osdkHeaderIcon}\n color={\"currentColor\"}\n />\n )}\n </div>\n )}\n <Menu.Trigger\n aria-label={`Open header menu for column with id=${header.column.id}`}\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkHeaderPopoverTrigger,\n )}\n >\n <ChevronDown\n className={styles.osdkHeaderIcon}\n />\n </Menu.Trigger>\n </div>\n <Menu.Portal container={document.body}>\n <Menu.Positioner sideOffset={4}>\n <Menu.Popup\n className={styles.osdkHeaderPopup}\n >\n {!isColumnPinned && (\n <HeaderMenuItem\n onClick={handlePinLeft}\n icon={Pin}\n label=\"Pin column\"\n />\n )}\n\n {isColumnPinned && (\n <HeaderMenuItem\n onClick={handleUnpin}\n icon={Unpin}\n label=\"Unpin Column\"\n active={true}\n />\n )}\n {isSortable && (\n <>\n <HeaderMenuItem\n onClick={handleSortAscending}\n icon={SortAlphabetical}\n label=\"Sort ascending\"\n active={isSorted === \"asc\"}\n />\n <HeaderMenuItem\n onClick={handleSortDescending}\n icon={SortAlphabeticalDesc}\n label=\"Sort descending\"\n active={isSorted === \"desc\"}\n />\n </>\n )}\n {!!isSorted && (\n <HeaderMenuItem\n onClick={handleClearAllSorts}\n icon={Remove}\n label=\"Clear all sorts\"\n />\n )}\n <HeaderMenuItem\n onClick={handleResetSize}\n icon={VerticalDistribution}\n label=\"Reset Column Size\"\n />\n </Menu.Popup>\n </Menu.Positioner>\n </Menu.Portal>\n </div>\n </Menu.Root>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TableHeaderWithPopover.js","names":["Menu","ChevronDown","Pin","Remove","Settings","Sort","SortAlphabetical","SortAlphabeticalDesc","Unpin","VerticalDistribution","classNames","React","useCallback","useState","TableHeaderContent","styles","HeaderMenuItem","onClick","icon","Icon","label","active","createElement","Item","closeOnClick","className","osdkCenterContainer","osdkContentGap","osdkHeaderMenuItem","osdkHeaderActiveMenuItem","osdkHeaderIcon","color","TableHeaderWithPopover","header","table","isColumnPinned","onResetSize","columnOptions","featureFlags","onOpenColumnConfig","onOpenMultiSort","showSortingItems","showPinningItems","showResizeItem","showConfigItem","setColumnPinning","setSorting","currentSorting","getState","sorting","isOpen","setIsOpen","handlePinLeft","prev","left","column","id","right","filter","handleUnpin","handleSortAscending","toggleSorting","desc","handleSortDescending","handleClearAllSorts","clearSorting","handleResetSize","resetSize","handleInteraction","e","preventDefault","handleOpenColumnConfig","handleOpenMultiSort","isSorted","getIsSorted","isSortable","getCanSort","sortIndex","findIndex","s","Fragment","Root","open","onOpenChange","osdkHeaderContainer","onContextMenu","osdkHeaderContentLeft","osdkHeaderContentRight","length","Trigger","osdkHeaderPopoverTrigger","Portal","container","document","body","Positioner","sideOffset","Popup","osdkHeaderPopup","some","col","canSort"],"sources":["TableHeaderWithPopover.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 { Menu } from \"@base-ui/react/menu\";\nimport {\n ChevronDown,\n Pin,\n Remove,\n Settings,\n Sort,\n SortAlphabetical,\n SortAlphabeticalDesc,\n Unpin,\n VerticalDistribution,\n} from \"@blueprintjs/icons\";\nimport type { Header, RowData, Table } from \"@tanstack/react-table\";\nimport classNames from \"classnames\";\nimport React, { useCallback, useState } from \"react\";\nimport { TableHeaderContent } from \"./TableHeaderContent.js\";\nimport styles from \"./TableHeaderWithPopover.module.css\";\nimport type { ColumnOption } from \"./utils/types.js\";\n\ninterface HeaderMenuItemProps {\n onClick: () => void;\n icon: React.ComponentType<{ className?: string; color?: string }>;\n label: string;\n active?: boolean;\n}\n\nfunction HeaderMenuItem({\n onClick,\n icon: Icon,\n label,\n active = false,\n}: HeaderMenuItemProps): React.ReactElement {\n return (\n <Menu.Item\n closeOnClick\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkContentGap,\n styles.osdkHeaderMenuItem,\n active && styles.osdkHeaderActiveMenuItem,\n )}\n onClick={onClick}\n >\n <Icon className={styles.osdkHeaderIcon} color=\"currentColor\" />\n <span>{label}</span>\n </Menu.Item>\n );\n}\n\nexport interface HeaderMenuFeatureFlags {\n /**\n * Whether sorting menu items should be shown.\n * When false, hides \"Sort ascending\", \"Sort descending\", \"Sort on multiple columns\", and \"Clear all sorts\".\n */\n showSortingItems?: boolean;\n /**\n * Whether pinning menu items should be shown.\n * When false, hides \"Pin column\" and \"Unpin Column\".\n */\n showPinningItems?: boolean;\n /**\n * Whether resize menu item should be shown.\n * When false, hides \"Reset Column Size\".\n */\n showResizeItem?: boolean;\n /**\n * Whether column config menu item should be shown.\n * When false, hides \"Configure Columns\".\n */\n showConfigItem?: boolean;\n}\n\ninterface TableHeaderWithPopoverProps<\n TData extends RowData,\n> {\n table: Table<TData>;\n header: Header<TData, unknown>;\n isColumnPinned: false | \"left\" | \"right\";\n onResetSize?: () => void;\n columnOptions?: ColumnOption[];\n featureFlags?: HeaderMenuFeatureFlags;\n onOpenColumnConfig?: () => void;\n onOpenMultiSort?: () => void;\n}\n\nexport function TableHeaderWithPopover<\n TData extends RowData,\n>({\n header,\n table,\n isColumnPinned,\n onResetSize,\n columnOptions,\n featureFlags,\n onOpenColumnConfig,\n onOpenMultiSort,\n}: TableHeaderWithPopoverProps<TData>): React.ReactElement {\n const {\n showSortingItems = false,\n showPinningItems = false,\n showResizeItem = false,\n showConfigItem = false,\n } = featureFlags ?? {};\n\n const {\n setColumnPinning,\n setSorting,\n } = table;\n\n const currentSorting = table.getState().sorting;\n\n const [isOpen, setIsOpen] = useState(false);\n\n const handlePinLeft = useCallback(() => {\n setColumnPinning((prev) => {\n return {\n left: [...(prev.left || []), header.column.id],\n right: prev.right?.filter((id) => id !== header.column.id) || [],\n };\n });\n }, [header.column.id, setColumnPinning]);\n\n const handleUnpin = useCallback(() => {\n setColumnPinning((prev) => {\n return {\n left: prev.left?.filter((id) => id !== header.column.id) || [],\n right: prev.right?.filter((id) => id !== header.column.id) || [],\n };\n });\n }, [header.column.id, setColumnPinning]);\n\n const handleSortAscending = useCallback(() => {\n header.column.toggleSorting(false);\n setSorting?.([{ id: header.column.id, desc: false }]);\n }, [header.column, setSorting]);\n\n const handleSortDescending = useCallback(() => {\n header.column.toggleSorting(true);\n setSorting?.([{ id: header.column.id, desc: true }]);\n }, [header.column, setSorting]);\n\n const handleClearAllSorts = useCallback(() => {\n header.column.clearSorting();\n setSorting?.([]);\n }, [header.column, setSorting]);\n\n const handleResetSize = useCallback(() => {\n header.column.resetSize();\n if (onResetSize) {\n onResetSize();\n }\n }, [header.column, onResetSize]);\n\n const handleInteraction = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault();\n setIsOpen((prev) => !prev);\n },\n [],\n );\n\n const handleOpenColumnConfig = useCallback(() => {\n onOpenColumnConfig?.();\n setIsOpen(false);\n }, [onOpenColumnConfig]);\n\n const handleOpenMultiSort = useCallback(() => {\n onOpenMultiSort?.();\n setIsOpen(false);\n }, [onOpenMultiSort]);\n\n const isSorted = header.column.getIsSorted();\n const isSortable = header.column.getCanSort();\n const sortIndex = currentSorting?.findIndex(s => s.id === header.column.id)\n ?? -1;\n\n const hasAnyMenuItems = showPinningItems\n || (showSortingItems && isSortable)\n || showResizeItem\n || showConfigItem;\n\n return (\n <>\n <Menu.Root open={isOpen} onOpenChange={setIsOpen}>\n <div\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkContentGap,\n styles.osdkHeaderContainer,\n )}\n onContextMenu={handleInteraction}\n >\n <div\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkContentGap,\n styles.osdkHeaderContentLeft,\n )}\n >\n {isColumnPinned && (\n <Pin\n className={styles.osdkHeaderIcon}\n color={\"currentColor\"}\n />\n )}\n <TableHeaderContent header={header} />\n </div>\n <div\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkContentGap,\n styles.osdkHeaderContentRight,\n )}\n >\n {isSorted && (\n <div className={styles.osdkCenterContainer}>\n {isSorted === \"asc\"\n ? (\n <SortAlphabetical\n className={styles.osdkHeaderIcon}\n />\n )\n : (\n <SortAlphabeticalDesc\n className={styles.osdkHeaderIcon}\n />\n )}\n {currentSorting.length > 1 && sortIndex >= 0\n && <span className={styles.sortIndex}>{sortIndex + 1}</span>}\n </div>\n )}\n {hasAnyMenuItems && (\n <Menu.Trigger\n aria-label={`Open header menu for column with id=${header.column.id}`}\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkHeaderPopoverTrigger,\n )}\n >\n <ChevronDown\n className={styles.osdkHeaderIcon}\n />\n </Menu.Trigger>\n )}\n </div>\n <Menu.Portal container={document.body}>\n <Menu.Positioner sideOffset={4}>\n <Menu.Popup\n className={styles.osdkHeaderPopup}\n >\n {showPinningItems && !isColumnPinned && (\n <HeaderMenuItem\n onClick={handlePinLeft}\n icon={Pin}\n label=\"Pin column\"\n />\n )}\n\n {showPinningItems && isColumnPinned && (\n <HeaderMenuItem\n onClick={handleUnpin}\n icon={Unpin}\n label=\"Unpin Column\"\n active={true}\n />\n )}\n {showSortingItems && isSortable && (\n <>\n <HeaderMenuItem\n onClick={handleSortAscending}\n icon={SortAlphabetical}\n label=\"Sort ascending\"\n active={isSorted === \"asc\"}\n />\n <HeaderMenuItem\n onClick={handleSortDescending}\n icon={SortAlphabeticalDesc}\n label=\"Sort descending\"\n active={isSorted === \"desc\"}\n />\n {columnOptions?.some(col => col.canSort) && (\n <HeaderMenuItem\n onClick={handleOpenMultiSort}\n icon={Sort}\n label=\"Sort on multiple columns\"\n />\n )}\n </>\n )}\n {showSortingItems && !!currentSorting?.length\n && (\n <HeaderMenuItem\n onClick={handleClearAllSorts}\n icon={Remove}\n label=\"Clear all sorts\"\n />\n )}\n {showResizeItem && (\n <HeaderMenuItem\n onClick={handleResetSize}\n icon={VerticalDistribution}\n label=\"Reset Column Size\"\n />\n )}\n {showConfigItem && (\n <HeaderMenuItem\n onClick={handleOpenColumnConfig}\n icon={Settings}\n label=\"Configure Columns\"\n />\n )}\n </Menu.Popup>\n </Menu.Positioner>\n </Menu.Portal>\n </div>\n </Menu.Root>\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -22,7 +22,7 @@
22
22
 
23
23
  .osdkContentGap {
24
24
  display: flex;
25
- gap: var(--osdk-surface-spacing);
25
+ gap: calc(var(--osdk-surface-spacing) * 2);
26
26
  }
27
27
 
28
28
  .osdkHeaderContainer {
@@ -41,27 +41,38 @@
41
41
  flex-shrink: 0;
42
42
  }
43
43
 
44
+ .osdkHeaderText {
45
+ display: -webkit-box;
46
+ -webkit-box-orient: vertical;
47
+ -webkit-line-clamp: 3;
48
+ line-clamp: 3;
49
+ overflow: hidden;
50
+ text-overflow: ellipsis;
51
+ flex-grow: 1;
52
+ }
53
+
44
54
  .osdkHeaderPopoverTrigger {
45
- padding: 0;
55
+ padding: var(--osdk-table-header-menu-padding);
46
56
  flex-shrink: 0;
47
57
  flex-grow: 0;
48
- border: var(--osdk-surface-border-width) solid
49
- var(--osdk-surface-border-color-default);
58
+ background-color: var(--osdk-table-header-menu-bg);
59
+ border: var(--osdk-table-header-menu-border);
50
60
  border-radius: var(--osdk-surface-border-radius);
51
- color: var(--osdk-intent-default-foreground);
61
+ color: var(--osdk-table-header-menu-color);
62
+ cursor: pointer;
52
63
  user-select: none;
53
- outline: none;
54
64
 
55
65
  &:hover {
56
- background-color: var(--osdk-intent-default-hover);
66
+ background-color: var(--osdk-table-header-menu-bg-hover);
57
67
  }
58
68
 
59
69
  &[data-popup-open] {
60
- background-color: var(--osdk-intent-primary-rest);
70
+ background-color: var(--osdk-table-header-menu-bg-active);
71
+ color: var(--osdk-table-header-menu-color-active);
61
72
  }
62
73
 
63
74
  &:focus-visible {
64
- outline: var(--osdk-focus-visible-outline);
75
+ outline: var(--osdk-focus-outline);
65
76
  outline-offset: var(--osdk-focus-visible-outline-offset);
66
77
  }
67
78
  }
@@ -75,36 +86,44 @@
75
86
  box-sizing: border-box;
76
87
  padding: var(--osdk-surface-spacing);
77
88
  border-radius: var(--osdk-surface-border-radius);
78
- border: var(--osdk-surface-border-width) solid
79
- var(--osdk-surface-border-color-default);
80
- background-color: var(--osdk-surface-background-color-default);
89
+ border: var(--osdk-surface-border);
90
+ background-color: var(--osdk-surface-background-color-default-rest);
81
91
  color: var(--osdk-typography-color-default-rest);
82
92
  box-shadow: var(--osdk-surface-shadow-2);
83
93
  font-size: var(--osdk-typography-size-body-medium);
84
- outline: none;
85
94
  }
86
95
 
87
96
  .osdkHeaderMenuItem {
88
97
  justify-content: flex-start;
89
- padding: var(--osdk-surface-spacing);
98
+ padding: var(--osdk-surface-spacing) calc(var(--osdk-surface-spacing) * 2);
90
99
  cursor: pointer;
91
- }
92
100
 
93
- .osdkHeaderMenuItem:hover {
94
- outline: none;
95
- background-color: var(--osdk-surface-background-color-default-hover);
96
- border-radius: var(--osdk-surface-border-radius);
101
+ &:hover {
102
+ background-color: var(--osdk-surface-background-color-default-hover);
103
+ border-radius: var(--osdk-surface-border-radius);
104
+ }
105
+
106
+ &:focus-visible {
107
+ outline: var(--osdk-focus-outline);
108
+ outline-offset: var(--osdk-focus-visible-outline-offset);
109
+ }
97
110
  }
98
111
 
99
- .osdkHeaderActiveMenuItem {
112
+ .osdkHeaderMenuItem .osdkHeaderActiveMenuItem {
100
113
  background-color: var(--osdk-intent-primary-rest);
101
114
  color: var(--osdk-intent-primary-foreground);
102
- }
103
115
 
104
- .osdkHeaderActiveMenuItem:hover {
105
- background-color: var(--osdk-intent-primary-hover);
116
+ &:hover {
117
+ background-color: var(--osdk-intent-primary-hover);
118
+ }
119
+
120
+ &:active {
121
+ background-color: var(--osdk-intent-primary-active);
122
+ }
106
123
  }
107
124
 
108
- .osdkHeaderActiveMenuItem:active {
109
- background-color: var(--osdk-intent-primary-active);
125
+ .sortIndex {
126
+ font-size: var(--osdk-typography-size-body-x-small);
127
+ margin-left: var(--osdk-surface-spacing);
128
+ color: var(--osdk-typography-color-muted);
110
129
  }
@@ -5,11 +5,13 @@ const styles = {
5
5
  "osdkHeaderContainer": "TableHeaderWithPopover-module__osdkHeaderContainer___Yp1FKb-z",
6
6
  "osdkHeaderContentLeft": "TableHeaderWithPopover-module__osdkHeaderContentLeft___PpdFKG5D",
7
7
  "osdkHeaderContentRight": "TableHeaderWithPopover-module__osdkHeaderContentRight___-cSZMBVb",
8
+ "osdkHeaderText": "TableHeaderWithPopover-module__osdkHeaderText___VnBa1IL3",
8
9
  "osdkHeaderPopoverTrigger": "TableHeaderWithPopover-module__osdkHeaderPopoverTrigger___Y5Q22NIE",
9
10
  "osdkHeaderIcon": "TableHeaderWithPopover-module__osdkHeaderIcon___lgyu9GmV",
10
11
  "osdkHeaderPopup": "TableHeaderWithPopover-module__osdkHeaderPopup___TMO39wLW",
11
12
  "osdkHeaderMenuItem": "TableHeaderWithPopover-module__osdkHeaderMenuItem___f-D5iGwi",
12
- "osdkHeaderActiveMenuItem": "TableHeaderWithPopover-module__osdkHeaderActiveMenuItem___K007KHkr"
13
+ "osdkHeaderActiveMenuItem": "TableHeaderWithPopover-module__osdkHeaderActiveMenuItem___K007KHkr",
14
+ "sortIndex": "TableHeaderWithPopover-module__sortIndex___WDA6gCRz"
13
15
  };
14
16
 
15
17
  export default styles;
@@ -21,13 +21,20 @@ export function TableRow({
21
21
  row,
22
22
  virtualRow,
23
23
  onRowClick,
24
- renderCellContextMenu
24
+ renderCellContextMenu,
25
+ isFocused,
26
+ setFocusedRowId,
27
+ isInEditMode
25
28
  }) {
26
29
  const handleClick = useCallback(() => {
27
- onRowClick?.(row.original);
28
- }, [onRowClick, row.original]);
30
+ setFocusedRowId?.(row.id);
31
+ if (!isInEditMode) {
32
+ onRowClick?.(row.original);
33
+ }
34
+ }, [isInEditMode, onRowClick, row.original, row.id, setFocusedRowId]);
29
35
  return /*#__PURE__*/React.createElement("tr", {
30
36
  "data-selected": row.getIsSelected(),
37
+ "data-focused": isFocused,
31
38
  className: styles.osdkTableRow,
32
39
  style: {
33
40
  height: `${virtualRow.size}px`,
@@ -1 +1 @@
1
- {"version":3,"file":"TableRow.js","names":["React","useCallback","TableCell","styles","TableRow","row","virtualRow","onRowClick","renderCellContextMenu","handleClick","original","createElement","getIsSelected","className","osdkTableRow","style","height","size","transform","start","onClick","getVisibleCells","map","cell","key","id"],"sources":["TableRow.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Cell, Row, RowData } from \"@tanstack/react-table\";\nimport type { VirtualItem } from \"@tanstack/react-virtual\";\nimport React, { useCallback } from \"react\";\nimport { TableCell } from \"./TableCell.js\";\nimport styles from \"./TableRow.module.css\";\n\ninterface TableRowProps<TData extends RowData> {\n row: Row<TData>;\n virtualRow: VirtualItem;\n onRowClick?: (row: TData) => void;\n renderCellContextMenu?: (\n row: TData,\n cell: Cell<TData, unknown>,\n ) => React.ReactNode;\n}\n\nexport function TableRow<TData extends RowData>({\n row,\n virtualRow,\n onRowClick,\n renderCellContextMenu,\n}: TableRowProps<TData>): React.ReactElement {\n const handleClick = useCallback(() => {\n onRowClick?.(row.original);\n }, [onRowClick, row.original]);\n\n return (\n <tr\n data-selected={row.getIsSelected()}\n className={styles.osdkTableRow}\n style={{\n height: `${virtualRow.size}px`,\n transform: `translateY(${virtualRow.start}px)`,\n }}\n onClick={handleClick}\n >\n {row.getVisibleCells().map((cell) => (\n <TableCell\n key={cell.id}\n cell={cell}\n renderCellContextMenu={renderCellContextMenu}\n />\n ))}\n </tr>\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,SAASC,SAAS,QAAQ,gBAAgB;AAC1C,OAAOC,MAAM,MAAM,uBAAuB;AAY1C,OAAO,SAASC,QAAQA,CAAwB;EAC9CC,GAAG;EACHC,UAAU;EACVC,UAAU;EACVC;AACoB,CAAC,EAAsB;EAC3C,MAAMC,WAAW,GAAGR,WAAW,CAAC,MAAM;IACpCM,UAAU,GAAGF,GAAG,CAACK,QAAQ,CAAC;EAC5B,CAAC,EAAE,CAACH,UAAU,EAAEF,GAAG,CAACK,QAAQ,CAAC,CAAC;EAE9B,oBACEV,KAAA,CAAAW,aAAA;IACE,iBAAeN,GAAG,CAACO,aAAa,CAAC,CAAE;IACnCC,SAAS,EAAEV,MAAM,CAACW,YAAa;IAC/BC,KAAK,EAAE;MACLC,MAAM,EAAE,GAAGV,UAAU,CAACW,IAAI,IAAI;MAC9BC,SAAS,EAAE,cAAcZ,UAAU,CAACa,KAAK;IAC3C,CAAE;IACFC,OAAO,EAAEX;EAAY,GAEpBJ,GAAG,CAACgB,eAAe,CAAC,CAAC,CAACC,GAAG,CAAEC,IAAI,iBAC9BvB,KAAA,CAAAW,aAAA,CAACT,SAAS;IACRsB,GAAG,EAAED,IAAI,CAACE,EAAG;IACbF,IAAI,EAAEA,IAAK;IACXf,qBAAqB,EAAEA;EAAsB,CAC9C,CACF,CACC,CAAC;AAET","ignoreList":[]}
1
+ {"version":3,"file":"TableRow.js","names":["React","useCallback","TableCell","styles","TableRow","row","virtualRow","onRowClick","renderCellContextMenu","isFocused","setFocusedRowId","isInEditMode","handleClick","id","original","createElement","getIsSelected","className","osdkTableRow","style","height","size","transform","start","onClick","getVisibleCells","map","cell","key"],"sources":["TableRow.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Cell, Row, RowData } from \"@tanstack/react-table\";\nimport type { VirtualItem } from \"@tanstack/react-virtual\";\nimport React, { useCallback } from \"react\";\nimport { TableCell } from \"./TableCell.js\";\nimport styles from \"./TableRow.module.css\";\n\ninterface TableRowProps<TData extends RowData> {\n row: Row<TData>;\n virtualRow: VirtualItem;\n onRowClick?: (row: TData) => void;\n renderCellContextMenu?: (\n row: TData,\n cell: Cell<TData, unknown>,\n ) => React.ReactNode;\n isFocused: boolean;\n setFocusedRowId?: (rowId: string | null) => void;\n isInEditMode?: boolean;\n}\n\nexport function TableRow<TData extends RowData>({\n row,\n virtualRow,\n onRowClick,\n renderCellContextMenu,\n isFocused,\n setFocusedRowId,\n isInEditMode,\n}: TableRowProps<TData>): React.ReactElement {\n const handleClick = useCallback(() => {\n setFocusedRowId?.(row.id);\n\n if (!isInEditMode) {\n onRowClick?.(row.original);\n }\n }, [isInEditMode, onRowClick, row.original, row.id, setFocusedRowId]);\n\n return (\n <tr\n data-selected={row.getIsSelected()}\n data-focused={isFocused}\n className={styles.osdkTableRow}\n style={{\n height: `${virtualRow.size}px`,\n transform: `translateY(${virtualRow.start}px)`,\n }}\n onClick={handleClick}\n >\n {row.getVisibleCells().map((cell) => (\n <TableCell\n key={cell.id}\n cell={cell}\n renderCellContextMenu={renderCellContextMenu}\n />\n ))}\n </tr>\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,SAASC,SAAS,QAAQ,gBAAgB;AAC1C,OAAOC,MAAM,MAAM,uBAAuB;AAe1C,OAAO,SAASC,QAAQA,CAAwB;EAC9CC,GAAG;EACHC,UAAU;EACVC,UAAU;EACVC,qBAAqB;EACrBC,SAAS;EACTC,eAAe;EACfC;AACoB,CAAC,EAAsB;EAC3C,MAAMC,WAAW,GAAGX,WAAW,CAAC,MAAM;IACpCS,eAAe,GAAGL,GAAG,CAACQ,EAAE,CAAC;IAEzB,IAAI,CAACF,YAAY,EAAE;MACjBJ,UAAU,GAAGF,GAAG,CAACS,QAAQ,CAAC;IAC5B;EACF,CAAC,EAAE,CAACH,YAAY,EAAEJ,UAAU,EAAEF,GAAG,CAACS,QAAQ,EAAET,GAAG,CAACQ,EAAE,EAAEH,eAAe,CAAC,CAAC;EAErE,oBACEV,KAAA,CAAAe,aAAA;IACE,iBAAeV,GAAG,CAACW,aAAa,CAAC,CAAE;IACnC,gBAAcP,SAAU;IACxBQ,SAAS,EAAEd,MAAM,CAACe,YAAa;IAC/BC,KAAK,EAAE;MACLC,MAAM,EAAE,GAAGd,UAAU,CAACe,IAAI,IAAI;MAC9BC,SAAS,EAAE,cAAchB,UAAU,CAACiB,KAAK;IAC3C,CAAE;IACFC,OAAO,EAAEZ;EAAY,GAEpBP,GAAG,CAACoB,eAAe,CAAC,CAAC,CAACC,GAAG,CAAEC,IAAI,iBAC9B3B,KAAA,CAAAe,aAAA,CAACb,SAAS;IACR0B,GAAG,EAAED,IAAI,CAACd,EAAG;IACbc,IAAI,EAAEA,IAAK;IACXnB,qBAAqB,EAAEA;EAAsB,CAC9C,CACF,CACC,CAAC;AAET","ignoreList":[]}
@@ -17,6 +17,8 @@
17
17
  .osdkTableRow {
18
18
  position: absolute;
19
19
  display: flex;
20
+ width: max-content;
21
+ min-width: 100%;
20
22
  background-color: var(--osdk-table-row-bg-default);
21
23
  border-top: var(--osdk-table-row-divider);
22
24
  border-bottom: var(--osdk-table-border-width) solid transparent;
@@ -43,7 +45,8 @@
43
45
  border-bottom-color: var(--osdk-table-row-border-color-hover);
44
46
  }
45
47
 
46
- &[data-selected="true"] {
48
+ &[data-selected="true"],
49
+ &[data-focused="true"] {
47
50
  z-index: 2;
48
51
  background-color: var(--osdk-table-row-bg-active);
49
52
  border-top-color: var(--osdk-table-row-border-color-active);
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Copyright 2026 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 React from "react";
18
+ import { LoadingCellContent } from "../LoadingCell.js";
19
+ export function AsyncValueCell({
20
+ data,
21
+ isLoading,
22
+ error
23
+ }) {
24
+ if (error != null) {
25
+ return "Error";
26
+ }
27
+ if (data != null) {
28
+ return /*#__PURE__*/React.createElement(React.Fragment, null, data);
29
+ }
30
+ if (isLoading) {
31
+ return /*#__PURE__*/React.createElement(LoadingCellContent, null);
32
+ }
33
+ return "No value";
34
+ }
35
+ //# sourceMappingURL=AsyncValueCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncValueCell.js","names":["React","LoadingCellContent","AsyncValueCell","data","isLoading","error","createElement","Fragment"],"sources":["AsyncValueCell.tsx"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport { LoadingCellContent } from \"../LoadingCell.js\";\nimport type { AsyncCellData } from \"../utils/AsyncCellData.js\";\n\ninterface AsyncValueCellProps extends AsyncCellData {}\n\nexport function AsyncValueCell({\n data,\n isLoading,\n error,\n}: AsyncValueCellProps): React.ReactNode {\n if (error != null) {\n return \"Error\";\n }\n if (data != null) {\n return <>{data}</>;\n }\n if (isLoading) {\n return <LoadingCellContent />;\n }\n return \"No value\";\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,kBAAkB,QAAQ,mBAAmB;AAKtD,OAAO,SAASC,cAAcA,CAAC;EAC7BC,IAAI;EACJC,SAAS;EACTC;AACmB,CAAC,EAAmB;EACvC,IAAIA,KAAK,IAAI,IAAI,EAAE;IACjB,OAAO,OAAO;EAChB;EACA,IAAIF,IAAI,IAAI,IAAI,EAAE;IAChB,oBAAOH,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAO,QAAA,QAAGJ,IAAO,CAAC;EACpB;EACA,IAAIC,SAAS,EAAE;IACb,oBAAOJ,KAAA,CAAAM,aAAA,CAACL,kBAAkB,MAAE,CAAC;EAC/B;EACA,OAAO,UAAU;AACnB","ignoreList":[]}
@@ -16,6 +16,7 @@
16
16
 
17
17
  import { useOsdkMetadata } from "@osdk/react";
18
18
  import { useMemo } from "react";
19
+ import { renderDefaultCell } from "../DefaultCellRenderer.js";
19
20
  /**
20
21
  * Hook which builds column definitions for tanstack-table given the objectSet
21
22
  */
@@ -51,15 +52,26 @@ function getColumnsFromColumnDefinitions(columnDefinitions, objectProperties) {
51
52
  resizable,
52
53
  orderable,
53
54
  filterable,
55
+ editable,
54
56
  renderCell,
55
- renderHeader
57
+ renderHeader,
58
+ columnName
56
59
  } = col;
57
60
  const propertyMetadata = locator.type === "property" ? objectProperties?.[locator.id] : undefined;
58
61
  const colKey = locator.id;
62
+ const dataType = propertyMetadata?.type && typeof propertyMetadata.type === "string" ? propertyMetadata.type : undefined;
59
63
  const colDef = {
60
64
  id: colKey,
61
65
  accessorKey: colKey,
62
- header: renderHeader ?? propertyMetadata?.displayName,
66
+ header: renderHeader ?? (columnName || propertyMetadata?.displayName),
67
+ meta: {
68
+ columnName: columnName || propertyMetadata?.displayName,
69
+ isAsyncColumn: locator.type === "function",
70
+ isVisible: col.isVisible !== false,
71
+ editable,
72
+ dataType,
73
+ validateEdit: col.validateEdit
74
+ },
63
75
  size: width,
64
76
  ...(minWidth ? {
65
77
  minSize: minWidth
@@ -68,11 +80,15 @@ function getColumnsFromColumnDefinitions(columnDefinitions, objectProperties) {
68
80
  maxSize: maxWidth
69
81
  } : {}),
70
82
  enableResizing: resizable,
71
- enableSorting: orderable,
83
+ // Function-backed columns must be sorted on the frontend, so disable sorting for now
84
+ enableSorting: locator.type === "function" ? false : orderable,
72
85
  enableColumnFilter: filterable,
73
86
  cell: cellContext => {
74
87
  const object = cellContext.row.original;
75
- return renderCell ? renderCell(object, locator) : cellContext.getValue();
88
+ if (renderCell) {
89
+ return renderCell(object, locator);
90
+ }
91
+ return renderDefaultCell(cellContext);
76
92
  }
77
93
  };
78
94
  return colDef;