@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,548 +0,0 @@
1
- /*
2
- * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
-
17
- import { act, renderHook } from "@testing-library/react";
18
- import { describe, expect, it, vi } from "vitest";
19
- import { useRowSelection } from "../useRowSelection.js";
20
- const TestObjectType = {
21
- type: "object",
22
- apiName: "TestObject"
23
- };
24
- // Helper to create mock data
25
- function createMockData(count) {
26
- return Array.from({
27
- length: count
28
- }, (_, i) => ({
29
- $primaryKey: `item-${i}`,
30
- $objectType: "TestObject",
31
- $apiName: "TestObject",
32
- $title: `Item ${i}`
33
- }));
34
- }
35
- describe("useRowSelection", () => {
36
- describe("disabled mode (selectionMode: 'none')", () => {
37
- it("returns empty selection state", () => {
38
- const data = createMockData(5);
39
- const {
40
- result
41
- } = renderHook(() => useRowSelection({
42
- selectionMode: "none",
43
- data
44
- }));
45
- expect(result.current.rowSelection).toEqual({});
46
- expect(result.current.isAllSelected).toBe(false);
47
- expect(result.current.hasSelection).toBe(false);
48
- });
49
- it("does not respond to toggle operations", () => {
50
- const data = createMockData(5);
51
- const {
52
- result
53
- } = renderHook(() => useRowSelection({
54
- selectionMode: "none",
55
- data
56
- }));
57
- act(() => {
58
- result.current.onToggleRow("item-0", 0);
59
- });
60
- expect(result.current.rowSelection).toEqual({});
61
- expect(result.current.hasSelection).toBe(false);
62
- act(() => {
63
- result.current.onToggleAll();
64
- });
65
- expect(result.current.rowSelection).toEqual({});
66
- expect(result.current.hasSelection).toBe(false);
67
- });
68
- });
69
- describe("uncontrolled mode", () => {
70
- describe("single selection mode", () => {
71
- it("selects a single row and calls onRowSelection", () => {
72
- const data = createMockData(5);
73
- const onRowSelection = vi.fn();
74
- const {
75
- result
76
- } = renderHook(() => useRowSelection({
77
- selectionMode: "single",
78
- onRowSelection,
79
- data
80
- }));
81
- act(() => {
82
- result.current.onToggleRow("item-0", 0);
83
- });
84
- expect(result.current.rowSelection).toEqual({
85
- "item-0": true
86
- });
87
- expect(result.current.hasSelection).toBe(true);
88
- expect(onRowSelection).toHaveBeenCalledWith([data[0].$primaryKey]);
89
- });
90
- it("deselects when toggling selected row and calls onRowSelection", () => {
91
- const data = createMockData(5);
92
- const onRowSelection = vi.fn();
93
- const {
94
- result
95
- } = renderHook(() => useRowSelection({
96
- selectionMode: "single",
97
- onRowSelection,
98
- data
99
- }));
100
-
101
- // Select
102
- act(() => {
103
- result.current.onToggleRow("item-0", 0);
104
- });
105
- expect(result.current.rowSelection).toEqual({
106
- "item-0": true
107
- });
108
-
109
- // Deselect
110
- act(() => {
111
- result.current.onToggleRow("item-0", 0);
112
- });
113
- expect(result.current.rowSelection).toEqual({});
114
- expect(result.current.hasSelection).toBe(false);
115
- expect(onRowSelection).toHaveBeenLastCalledWith([]);
116
- });
117
- it("replaces selection when selecting different row", () => {
118
- const data = createMockData(5);
119
- const {
120
- result
121
- } = renderHook(() => useRowSelection({
122
- selectionMode: "single",
123
- data
124
- }));
125
- act(() => {
126
- result.current.onToggleRow("item-0", 0);
127
- });
128
- expect(result.current.rowSelection).toEqual({
129
- "item-0": true
130
- });
131
- act(() => {
132
- result.current.onToggleRow("item-1", 1);
133
- });
134
- expect(result.current.rowSelection).toEqual({
135
- "item-1": true
136
- });
137
- expect(result.current.hasSelection).toBe(true);
138
- });
139
- it("treats shift-click as a normal click", () => {
140
- const data = createMockData(5);
141
- const {
142
- result
143
- } = renderHook(() => useRowSelection({
144
- selectionMode: "single",
145
- data
146
- }));
147
- // First click as the lastSelectedRow
148
- act(() => {
149
- result.current.onToggleRow("item-0", 0);
150
- });
151
-
152
- // Shift-click
153
- act(() => {
154
- result.current.onToggleRow("item-2", 2, true);
155
- });
156
- expect(result.current.rowSelection).toEqual({
157
- "item-2": true
158
- });
159
- });
160
- });
161
- describe("multiple selection mode", () => {
162
- it("selects multiple rows independently and calls onRowSelection", () => {
163
- const data = createMockData(5);
164
- const onRowSelection = vi.fn();
165
- const {
166
- result
167
- } = renderHook(() => useRowSelection({
168
- selectionMode: "multiple",
169
- onRowSelection,
170
- data
171
- }));
172
- act(() => {
173
- result.current.onToggleRow("item-0", 0);
174
- });
175
- expect(result.current.rowSelection).toEqual({
176
- "item-0": true
177
- });
178
- act(() => {
179
- result.current.onToggleRow("item-2", 2);
180
- });
181
- expect(result.current.rowSelection).toEqual({
182
- "item-0": true,
183
- "item-2": true
184
- });
185
- expect(result.current.isAllSelected).toBe(false);
186
- expect(onRowSelection).toHaveBeenLastCalledWith([data[0].$primaryKey, data[2].$primaryKey]);
187
- });
188
- it("deselects individual rows", () => {
189
- const data = createMockData(5);
190
- const {
191
- result
192
- } = renderHook(() => useRowSelection({
193
- selectionMode: "multiple",
194
- data
195
- }));
196
-
197
- // Select two rows
198
- act(() => {
199
- result.current.onToggleRow("item-0", 0);
200
- });
201
- act(() => {
202
- result.current.onToggleRow("item-1", 1);
203
- });
204
- expect(result.current.rowSelection).toEqual({
205
- "item-0": true,
206
- "item-1": true
207
- });
208
-
209
- // Deselect one
210
- act(() => {
211
- result.current.onToggleRow("item-0", 0);
212
- });
213
- expect(result.current.rowSelection).toEqual({
214
- "item-1": true
215
- });
216
- });
217
- it("selects range with shift-click and calls onRowSelection", () => {
218
- const data = createMockData(5);
219
- const onRowSelection = vi.fn();
220
- const {
221
- result
222
- } = renderHook(() => useRowSelection({
223
- selectionMode: "multiple",
224
- onRowSelection,
225
- data
226
- }));
227
-
228
- // First click
229
- act(() => {
230
- result.current.onToggleRow("item-1", 1);
231
- });
232
-
233
- // Shift-click to select range
234
- act(() => {
235
- result.current.onToggleRow("item-3", 3, true);
236
- });
237
- expect(result.current.rowSelection).toEqual({
238
- "item-1": true,
239
- "item-2": true,
240
- "item-3": true
241
- });
242
- expect(onRowSelection).toHaveBeenLastCalledWith([data[1].$primaryKey, data[2].$primaryKey, data[3].$primaryKey]);
243
- });
244
- it("selects range in reverse order (shift-click up)", () => {
245
- const data = createMockData(5);
246
- const {
247
- result
248
- } = renderHook(() => useRowSelection({
249
- selectionMode: "multiple",
250
- data
251
- }));
252
-
253
- // First click on row 3
254
- act(() => {
255
- result.current.onToggleRow("item-3", 3);
256
- });
257
-
258
- // Shift-click to row 1 (upward)
259
- act(() => {
260
- result.current.onToggleRow("item-1", 1, true);
261
- });
262
- expect(result.current.rowSelection).toEqual({
263
- "item-1": true,
264
- "item-2": true,
265
- "item-3": true
266
- });
267
- });
268
- it("shift-click without previous selection does not select range", () => {
269
- const data = createMockData(5);
270
- const {
271
- result
272
- } = renderHook(() => useRowSelection({
273
- selectionMode: "multiple",
274
- data
275
- }));
276
-
277
- // Shift-click without previous selection
278
- act(() => {
279
- result.current.onToggleRow("item-2", 2, true);
280
- });
281
- expect(result.current.rowSelection).toEqual({
282
- "item-2": true
283
- });
284
- });
285
- it("merges range selection with existing selections", () => {
286
- const data = createMockData(10);
287
- const {
288
- result
289
- } = renderHook(() => useRowSelection({
290
- selectionMode: "multiple",
291
- data
292
- }));
293
-
294
- // Select row 0
295
- act(() => {
296
- result.current.onToggleRow("item-0", 0);
297
- });
298
-
299
- // Select row 5
300
- act(() => {
301
- result.current.onToggleRow("item-5", 5);
302
- });
303
-
304
- // Shift-click to row 7 (should keep row 0)
305
- act(() => {
306
- result.current.onToggleRow("item-7", 7, true);
307
- });
308
- expect(result.current.rowSelection).toEqual({
309
- "item-0": true,
310
- "item-5": true,
311
- "item-6": true,
312
- "item-7": true
313
- });
314
- });
315
- it("toggles all rows", () => {
316
- const data = createMockData(3);
317
- const onRowSelection = vi.fn();
318
- const {
319
- result
320
- } = renderHook(() => useRowSelection({
321
- selectionMode: "multiple",
322
- onRowSelection,
323
- data
324
- }));
325
- expect(result.current.isAllSelected).toBe(false);
326
-
327
- // Select all
328
- act(() => {
329
- result.current.onToggleAll();
330
- });
331
- expect(result.current.rowSelection).toEqual({
332
- "item-0": true,
333
- "item-1": true,
334
- "item-2": true
335
- });
336
- expect(result.current.isAllSelected).toBe(true);
337
- expect(onRowSelection).toHaveBeenCalledWith([data[0].$primaryKey, data[1].$primaryKey, data[2].$primaryKey]);
338
-
339
- // Deselect all
340
- act(() => {
341
- result.current.onToggleAll();
342
- });
343
- expect(result.current.rowSelection).toEqual({});
344
- expect(result.current.isAllSelected).toBe(false);
345
- expect(onRowSelection).toHaveBeenLastCalledWith([]);
346
- });
347
- });
348
- });
349
- describe("controlled mode", () => {
350
- describe("single selection mode", () => {
351
- it("uses selectedRows prop for selection state", () => {
352
- const data = createMockData(5);
353
- const {
354
- result
355
- } = renderHook(() => useRowSelection({
356
- selectionMode: "single",
357
- selectedRows: [data[1].$primaryKey],
358
- data
359
- }));
360
- expect(result.current.rowSelection).toEqual({
361
- "item-1": true
362
- });
363
- expect(result.current.hasSelection).toBe(true);
364
- });
365
- it("calls onRowSelection when toggling but does not update internal state", () => {
366
- const data = createMockData(5);
367
- const onRowSelection = vi.fn();
368
- const {
369
- result,
370
- rerender
371
- } = renderHook(({
372
- selectedRows
373
- }) => useRowSelection({
374
- selectionMode: "single",
375
- selectedRows,
376
- onRowSelection,
377
- data
378
- }), {
379
- initialProps: {
380
- selectedRows: []
381
- }
382
- });
383
- expect(result.current.rowSelection).toEqual({});
384
-
385
- // Click row
386
- act(() => {
387
- result.current.onToggleRow("item-0", 0);
388
- });
389
-
390
- // Callback is called
391
- expect(onRowSelection).toHaveBeenCalledWith([data[0].$primaryKey]);
392
-
393
- // State doesn't change (controlled)
394
- expect(result.current.rowSelection).toEqual({});
395
-
396
- // Parent updates prop
397
- rerender({
398
- selectedRows: [data[0].$primaryKey]
399
- });
400
-
401
- // Now state reflects the prop
402
- expect(result.current.rowSelection).toEqual({
403
- "item-0": true
404
- });
405
- });
406
- });
407
- describe("multiple selection mode", () => {
408
- it("uses selectedRows prop for selection state", () => {
409
- const data = createMockData(5);
410
- const {
411
- result
412
- } = renderHook(() => useRowSelection({
413
- selectionMode: "multiple",
414
- selectedRows: [data[0].$primaryKey, data[2].$primaryKey],
415
- data
416
- }));
417
- expect(result.current.rowSelection).toEqual({
418
- "item-0": true,
419
- "item-2": true
420
- });
421
- });
422
- it("calls onRowSelection when toggling rows", () => {
423
- const data = createMockData(5);
424
- const onRowSelection = vi.fn();
425
- const {
426
- result
427
- } = renderHook(() => useRowSelection({
428
- selectionMode: "multiple",
429
- selectedRows: [data[0].$primaryKey],
430
- onRowSelection,
431
- data
432
- }));
433
-
434
- // Add selection to selectedRows
435
- act(() => {
436
- result.current.onToggleRow("item-2", 2);
437
- });
438
- expect(onRowSelection).toHaveBeenCalledWith([data[0].$primaryKey, data[2].$primaryKey]);
439
-
440
- // Remove selection from selectedRows
441
- act(() => {
442
- result.current.onToggleRow("item-0", 0);
443
- });
444
- expect(onRowSelection).toHaveBeenCalledWith([]);
445
- });
446
- it("calls onRowSelection for shift-click range selection", () => {
447
- const data = createMockData(5);
448
- const onRowSelection = vi.fn();
449
- const {
450
- result
451
- } = renderHook(() => useRowSelection({
452
- selectionMode: "multiple",
453
- selectedRows: [],
454
- onRowSelection,
455
- data
456
- }));
457
-
458
- // First click
459
- act(() => {
460
- result.current.onToggleRow("item-1", 1);
461
- });
462
-
463
- // Shift-click
464
- act(() => {
465
- result.current.onToggleRow("item-3", 3, true);
466
- });
467
- expect(onRowSelection).toHaveBeenLastCalledWith([data[1].$primaryKey, data[2].$primaryKey, data[3].$primaryKey]);
468
- });
469
- it("calls onRowSelection when toggling all rows", () => {
470
- const data = createMockData(3);
471
- const onRowSelection = vi.fn();
472
- const {
473
- result
474
- } = renderHook(() => useRowSelection({
475
- selectionMode: "multiple",
476
- selectedRows: [],
477
- onRowSelection,
478
- data
479
- }));
480
- act(() => {
481
- result.current.onToggleAll();
482
- });
483
- expect(onRowSelection).toHaveBeenCalledWith([data[0].$primaryKey, data[1].$primaryKey, data[2].$primaryKey]);
484
- });
485
- it("updates when selectedRows prop changes", () => {
486
- const data = createMockData(5);
487
- const {
488
- result,
489
- rerender
490
- } = renderHook(({
491
- selectedRows
492
- }) => useRowSelection({
493
- selectionMode: "multiple",
494
- selectedRows,
495
- data
496
- }), {
497
- initialProps: {
498
- selectedRows: [data[0].$primaryKey]
499
- }
500
- });
501
- expect(result.current.rowSelection).toEqual({
502
- "item-0": true
503
- });
504
- rerender({
505
- selectedRows: [data[1].$primaryKey, data[2].$primaryKey]
506
- });
507
- expect(result.current.rowSelection).toEqual({
508
- "item-1": true,
509
- "item-2": true
510
- });
511
- });
512
- });
513
- });
514
- describe("edge cases", () => {
515
- it("handles undefined data gracefully", () => {
516
- const {
517
- result
518
- } = renderHook(() => useRowSelection({
519
- selectionMode: "multiple",
520
- data: undefined
521
- }));
522
- expect(result.current.rowSelection).toEqual({});
523
- expect(result.current.isAllSelected).toBe(false);
524
- expect(result.current.hasSelection).toBe(false);
525
-
526
- // Should not crash
527
- act(() => {
528
- result.current.onToggleAll();
529
- result.current.onToggleRow("item-0", 0);
530
- });
531
- });
532
- it("handles empty data array", () => {
533
- const {
534
- result
535
- } = renderHook(() => useRowSelection({
536
- selectionMode: "multiple",
537
- data: []
538
- }));
539
- expect(result.current.rowSelection).toEqual({});
540
- expect(result.current.isAllSelected).toBe(false);
541
- act(() => {
542
- result.current.onToggleAll();
543
- });
544
- expect(result.current.rowSelection).toEqual({});
545
- });
546
- });
547
- });
548
- //# sourceMappingURL=useRowSelection.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRowSelection.test.js","names":["act","renderHook","describe","expect","it","vi","useRowSelection","TestObjectType","type","apiName","createMockData","count","Array","from","length","_","i","$primaryKey","$objectType","$apiName","$title","data","result","selectionMode","current","rowSelection","toEqual","isAllSelected","toBe","hasSelection","onToggleRow","onToggleAll","onRowSelection","fn","toHaveBeenCalledWith","toHaveBeenLastCalledWith","selectedRows","rerender","initialProps","undefined"],"sources":["useRowSelection.test.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 { ObjectTypeDefinition, Osdk, PrimaryKeyType } from \"@osdk/api\";\nimport { act, renderHook } from \"@testing-library/react\";\nimport { describe, expect, it, vi } from \"vitest\";\nimport { useRowSelection } from \"../useRowSelection.js\";\n\nconst TestObjectType = {\n type: \"object\",\n apiName: \"TestObject\",\n} as const satisfies ObjectTypeDefinition;\n\ntype TestObject = typeof TestObjectType;\n\n// Helper to create mock data\nfunction createMockData(\n count: number,\n): Array<\n Osdk.Instance<TestObject, \"$allBaseProperties\", never, Record<string, never>>\n> {\n return Array.from({ length: count }, (_, i) => ({\n $primaryKey: `item-${i}` as PrimaryKeyType<TestObject>,\n $objectType: \"TestObject\",\n $apiName: \"TestObject\",\n $title: `Item ${i}`,\n } as Osdk.Instance<\n TestObject,\n \"$allBaseProperties\",\n never,\n Record<string, never>\n >));\n}\n\ndescribe(\"useRowSelection\", () => {\n describe(\"disabled mode (selectionMode: 'none')\", () => {\n it(\"returns empty selection state\", () => {\n const data = createMockData(5);\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"none\",\n data,\n })\n );\n\n expect(result.current.rowSelection).toEqual({});\n expect(result.current.isAllSelected).toBe(false);\n expect(result.current.hasSelection).toBe(false);\n });\n\n it(\"does not respond to toggle operations\", () => {\n const data = createMockData(5);\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"none\",\n data,\n })\n );\n\n act(() => {\n result.current.onToggleRow(\"item-0\", 0);\n });\n\n expect(result.current.rowSelection).toEqual({});\n expect(result.current.hasSelection).toBe(false);\n\n act(() => {\n result.current.onToggleAll();\n });\n\n expect(result.current.rowSelection).toEqual({});\n expect(result.current.hasSelection).toBe(false);\n });\n });\n\n describe(\"uncontrolled mode\", () => {\n describe(\"single selection mode\", () => {\n it(\"selects a single row and calls onRowSelection\", () => {\n const data = createMockData(5);\n const onRowSelection = vi.fn();\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"single\",\n onRowSelection,\n data,\n })\n );\n\n act(() => {\n result.current.onToggleRow(\"item-0\", 0);\n });\n\n expect(result.current.rowSelection).toEqual({ \"item-0\": true });\n expect(result.current.hasSelection).toBe(true);\n expect(onRowSelection).toHaveBeenCalledWith([data[0].$primaryKey]);\n });\n\n it(\"deselects when toggling selected row and calls onRowSelection\", () => {\n const data = createMockData(5);\n const onRowSelection = vi.fn();\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"single\",\n onRowSelection,\n data,\n })\n );\n\n // Select\n act(() => {\n result.current.onToggleRow(\"item-0\", 0);\n });\n\n expect(result.current.rowSelection).toEqual({ \"item-0\": true });\n\n // Deselect\n act(() => {\n result.current.onToggleRow(\"item-0\", 0);\n });\n\n expect(result.current.rowSelection).toEqual({});\n expect(result.current.hasSelection).toBe(false);\n expect(onRowSelection).toHaveBeenLastCalledWith([]);\n });\n\n it(\"replaces selection when selecting different row\", () => {\n const data = createMockData(5);\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"single\",\n data,\n })\n );\n\n act(() => {\n result.current.onToggleRow(\"item-0\", 0);\n });\n\n expect(result.current.rowSelection).toEqual({ \"item-0\": true });\n\n act(() => {\n result.current.onToggleRow(\"item-1\", 1);\n });\n\n expect(result.current.rowSelection).toEqual({ \"item-1\": true });\n expect(result.current.hasSelection).toBe(true);\n });\n\n it(\"treats shift-click as a normal click\", () => {\n const data = createMockData(5);\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"single\",\n data,\n })\n );\n // First click as the lastSelectedRow\n act(() => {\n result.current.onToggleRow(\"item-0\", 0);\n });\n\n // Shift-click\n act(() => {\n result.current.onToggleRow(\"item-2\", 2, true);\n });\n\n expect(result.current.rowSelection).toEqual({ \"item-2\": true });\n });\n });\n\n describe(\"multiple selection mode\", () => {\n it(\"selects multiple rows independently and calls onRowSelection\", () => {\n const data = createMockData(5);\n const onRowSelection = vi.fn();\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"multiple\",\n onRowSelection,\n data,\n })\n );\n\n act(() => {\n result.current.onToggleRow(\"item-0\", 0);\n });\n\n expect(result.current.rowSelection).toEqual({ \"item-0\": true });\n\n act(() => {\n result.current.onToggleRow(\"item-2\", 2);\n });\n\n expect(result.current.rowSelection).toEqual({\n \"item-0\": true,\n \"item-2\": true,\n });\n expect(result.current.isAllSelected).toBe(false);\n expect(onRowSelection).toHaveBeenLastCalledWith([\n data[0].$primaryKey,\n data[2].$primaryKey,\n ]);\n });\n\n it(\"deselects individual rows\", () => {\n const data = createMockData(5);\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"multiple\",\n data,\n })\n );\n\n // Select two rows\n act(() => {\n result.current.onToggleRow(\"item-0\", 0);\n });\n act(() => {\n result.current.onToggleRow(\"item-1\", 1);\n });\n\n expect(result.current.rowSelection).toEqual({\n \"item-0\": true,\n \"item-1\": true,\n });\n\n // Deselect one\n act(() => {\n result.current.onToggleRow(\"item-0\", 0);\n });\n\n expect(result.current.rowSelection).toEqual({ \"item-1\": true });\n });\n\n it(\"selects range with shift-click and calls onRowSelection\", () => {\n const data = createMockData(5);\n const onRowSelection = vi.fn();\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"multiple\",\n onRowSelection,\n data,\n })\n );\n\n // First click\n act(() => {\n result.current.onToggleRow(\"item-1\", 1);\n });\n\n // Shift-click to select range\n act(() => {\n result.current.onToggleRow(\"item-3\", 3, true);\n });\n\n expect(result.current.rowSelection).toEqual({\n \"item-1\": true,\n \"item-2\": true,\n \"item-3\": true,\n });\n expect(onRowSelection).toHaveBeenLastCalledWith([\n data[1].$primaryKey,\n data[2].$primaryKey,\n data[3].$primaryKey,\n ]);\n });\n\n it(\"selects range in reverse order (shift-click up)\", () => {\n const data = createMockData(5);\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"multiple\",\n data,\n })\n );\n\n // First click on row 3\n act(() => {\n result.current.onToggleRow(\"item-3\", 3);\n });\n\n // Shift-click to row 1 (upward)\n act(() => {\n result.current.onToggleRow(\"item-1\", 1, true);\n });\n\n expect(result.current.rowSelection).toEqual({\n \"item-1\": true,\n \"item-2\": true,\n \"item-3\": true,\n });\n });\n\n it(\"shift-click without previous selection does not select range\", () => {\n const data = createMockData(5);\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"multiple\",\n data,\n })\n );\n\n // Shift-click without previous selection\n act(() => {\n result.current.onToggleRow(\"item-2\", 2, true);\n });\n\n expect(result.current.rowSelection).toEqual({ \"item-2\": true });\n });\n\n it(\"merges range selection with existing selections\", () => {\n const data = createMockData(10);\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"multiple\",\n data,\n })\n );\n\n // Select row 0\n act(() => {\n result.current.onToggleRow(\"item-0\", 0);\n });\n\n // Select row 5\n act(() => {\n result.current.onToggleRow(\"item-5\", 5);\n });\n\n // Shift-click to row 7 (should keep row 0)\n act(() => {\n result.current.onToggleRow(\"item-7\", 7, true);\n });\n\n expect(result.current.rowSelection).toEqual({\n \"item-0\": true,\n \"item-5\": true,\n \"item-6\": true,\n \"item-7\": true,\n });\n });\n\n it(\"toggles all rows\", () => {\n const data = createMockData(3);\n const onRowSelection = vi.fn();\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"multiple\",\n onRowSelection,\n data,\n })\n );\n\n expect(result.current.isAllSelected).toBe(false);\n\n // Select all\n act(() => {\n result.current.onToggleAll();\n });\n\n expect(result.current.rowSelection).toEqual({\n \"item-0\": true,\n \"item-1\": true,\n \"item-2\": true,\n });\n expect(result.current.isAllSelected).toBe(true);\n expect(onRowSelection).toHaveBeenCalledWith([\n data[0].$primaryKey,\n data[1].$primaryKey,\n data[2].$primaryKey,\n ]);\n\n // Deselect all\n act(() => {\n result.current.onToggleAll();\n });\n\n expect(result.current.rowSelection).toEqual({});\n expect(result.current.isAllSelected).toBe(false);\n expect(onRowSelection).toHaveBeenLastCalledWith([]);\n });\n });\n });\n\n describe(\"controlled mode\", () => {\n describe(\"single selection mode\", () => {\n it(\"uses selectedRows prop for selection state\", () => {\n const data = createMockData(5);\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"single\",\n selectedRows: [data[1].$primaryKey],\n data,\n })\n );\n\n expect(result.current.rowSelection).toEqual({ \"item-1\": true });\n expect(result.current.hasSelection).toBe(true);\n });\n\n it(\"calls onRowSelection when toggling but does not update internal state\", () => {\n const data = createMockData(5);\n const onRowSelection = vi.fn();\n const { result, rerender } = renderHook(\n ({ selectedRows }) =>\n useRowSelection({\n selectionMode: \"single\",\n selectedRows,\n onRowSelection,\n data,\n }),\n {\n initialProps: { selectedRows: [] as PrimaryKeyType<TestObject>[] },\n },\n );\n\n expect(result.current.rowSelection).toEqual({});\n\n // Click row\n act(() => {\n result.current.onToggleRow(\"item-0\", 0);\n });\n\n // Callback is called\n expect(onRowSelection).toHaveBeenCalledWith([data[0].$primaryKey]);\n\n // State doesn't change (controlled)\n expect(result.current.rowSelection).toEqual({});\n\n // Parent updates prop\n rerender({ selectedRows: [data[0].$primaryKey] });\n\n // Now state reflects the prop\n expect(result.current.rowSelection).toEqual({ \"item-0\": true });\n });\n });\n\n describe(\"multiple selection mode\", () => {\n it(\"uses selectedRows prop for selection state\", () => {\n const data = createMockData(5);\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"multiple\",\n selectedRows: [data[0].$primaryKey, data[2].$primaryKey],\n data,\n })\n );\n\n expect(result.current.rowSelection).toEqual({\n \"item-0\": true,\n \"item-2\": true,\n });\n });\n\n it(\"calls onRowSelection when toggling rows\", () => {\n const data = createMockData(5);\n const onRowSelection = vi.fn();\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"multiple\",\n selectedRows: [data[0].$primaryKey],\n onRowSelection,\n data,\n })\n );\n\n // Add selection to selectedRows\n act(() => {\n result.current.onToggleRow(\"item-2\", 2);\n });\n\n expect(onRowSelection).toHaveBeenCalledWith([\n data[0].$primaryKey,\n data[2].$primaryKey,\n ]);\n\n // Remove selection from selectedRows\n act(() => {\n result.current.onToggleRow(\"item-0\", 0);\n });\n\n expect(onRowSelection).toHaveBeenCalledWith([]);\n });\n\n it(\"calls onRowSelection for shift-click range selection\", () => {\n const data = createMockData(5);\n const onRowSelection = vi.fn();\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"multiple\",\n selectedRows: [],\n onRowSelection,\n data,\n })\n );\n\n // First click\n act(() => {\n result.current.onToggleRow(\"item-1\", 1);\n });\n\n // Shift-click\n act(() => {\n result.current.onToggleRow(\"item-3\", 3, true);\n });\n\n expect(onRowSelection).toHaveBeenLastCalledWith([\n data[1].$primaryKey,\n data[2].$primaryKey,\n data[3].$primaryKey,\n ]);\n });\n\n it(\"calls onRowSelection when toggling all rows\", () => {\n const data = createMockData(3);\n const onRowSelection = vi.fn();\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"multiple\",\n selectedRows: [],\n onRowSelection,\n data,\n })\n );\n\n act(() => {\n result.current.onToggleAll();\n });\n\n expect(onRowSelection).toHaveBeenCalledWith([\n data[0].$primaryKey,\n data[1].$primaryKey,\n data[2].$primaryKey,\n ]);\n });\n\n it(\"updates when selectedRows prop changes\", () => {\n const data = createMockData(5);\n const { result, rerender } = renderHook(\n ({ selectedRows }) =>\n useRowSelection({\n selectionMode: \"multiple\",\n selectedRows,\n data,\n }),\n {\n initialProps: {\n selectedRows: [data[0].$primaryKey] as PrimaryKeyType<\n TestObject\n >[],\n },\n },\n );\n\n expect(result.current.rowSelection).toEqual({ \"item-0\": true });\n\n rerender({\n selectedRows: [data[1].$primaryKey, data[2].$primaryKey],\n });\n\n expect(result.current.rowSelection).toEqual({\n \"item-1\": true,\n \"item-2\": true,\n });\n });\n });\n });\n describe(\"edge cases\", () => {\n it(\"handles undefined data gracefully\", () => {\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"multiple\",\n data: undefined,\n })\n );\n\n expect(result.current.rowSelection).toEqual({});\n expect(result.current.isAllSelected).toBe(false);\n expect(result.current.hasSelection).toBe(false);\n\n // Should not crash\n act(() => {\n result.current.onToggleAll();\n result.current.onToggleRow(\"item-0\", 0);\n });\n });\n\n it(\"handles empty data array\", () => {\n const { result } = renderHook(() =>\n useRowSelection({\n selectionMode: \"multiple\",\n data: [],\n })\n );\n\n expect(result.current.rowSelection).toEqual({});\n expect(result.current.isAllSelected).toBe(false);\n\n act(() => {\n result.current.onToggleAll();\n });\n\n expect(result.current.rowSelection).toEqual({});\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}