@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 +0,0 @@
1
- {"version":3,"file":"useColumnDefs.test.js","names":["OsdkProvider","renderHook","waitFor","pDefer","React","describe","expect","it","vitest","useColumnDefs","TestObjectType","type","apiName","mockMetadata","primaryKeyApiName","primaryKeyType","properties","id","displayName","name","age","email","createWrapper","client","children","createElement","deferred","fakeClient","fetchMetadata","fn","promise","wrapper","result","current","loading","toBe","columns","toEqual","error","toBeUndefined","resolve","toHaveLength","accessorKey","header","undefined","noDisplayName","columnDefinitions","locator","width","minWidth","maxWidth","resizable","orderable","filterable","nameColumn","size","minSize","maxSize","enableResizing","enableSorting","enableColumnFilter","emailColumn","length","customHeader","renderHeader","customRenderCell","object","renderCell","cell","toBeDefined","mockObject","mockCellContext","row","original","getValue","toHaveBeenCalledWith","mockGetValue","cellResult","toHaveBeenCalled","functionColumn","mockRdpCreator","creator","rdpColumn","rerender","colDefs","initialProps","firstColumns","updatedColumns","Error","reject"],"sources":["useColumnDefs.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 {\n DerivedProperty,\n ObjectTypeDefinition,\n Osdk,\n PropertyKeys,\n SimplePropertyDef,\n} from \"@osdk/api\";\nimport type { Client } from \"@osdk/client\";\nimport { OsdkProvider } from \"@osdk/react\";\nimport type { AccessorKeyColumnDef } from \"@tanstack/react-table\";\nimport { renderHook, waitFor } from \"@testing-library/react\";\nimport pDefer from \"p-defer\";\nimport * as React from \"react\";\nimport { describe, expect, it, vitest } from \"vitest\";\nimport type { ColumnDefinition } from \"../../ObjectTableApi.js\";\nimport { useColumnDefs } from \"../useColumnDefs.js\";\n\nconst TestObjectType = {\n type: \"object\",\n apiName: \"TestObject\",\n} as const satisfies ObjectTypeDefinition;\n\ntype TestObject = typeof TestObjectType;\n\ntype TestObjectKeys = PropertyKeys<TestObject>;\n\nconst mockMetadata = {\n apiName: \"TestObject\",\n primaryKeyApiName: \"id\",\n primaryKeyType: \"string\",\n properties: {\n id: {\n type: \"string\",\n displayName: \"ID\",\n },\n name: {\n type: \"string\",\n displayName: \"Name\",\n },\n age: {\n type: \"integer\",\n displayName: \"Age\",\n },\n email: {\n type: \"string\",\n displayName: \"Email Address\",\n },\n },\n};\ndescribe(useColumnDefs, () => {\n const createWrapper = (client: Client) => {\n return ({ children }: React.PropsWithChildren) => {\n return (\n <OsdkProvider client={client}>\n {children}\n </OsdkProvider>\n );\n };\n };\n\n it(\"returns loading state initially\", () => {\n const deferred = pDefer();\n const fakeClient = {\n fetchMetadata: vitest.fn(() => deferred.promise),\n } as unknown as Client;\n\n const wrapper = createWrapper(fakeClient);\n\n const { result } = renderHook(\n () => useColumnDefs(TestObjectType),\n { wrapper },\n );\n\n expect(result.current.loading).toBe(true);\n expect(result.current.columns).toEqual([]);\n expect(result.current.error).toBeUndefined();\n });\n\n describe(\"when no columnDefinitions provided\", () => {\n it(\"generates default columns from metadata\", async () => {\n const deferred = pDefer();\n const fakeClient = {\n fetchMetadata: vitest.fn(() => deferred.promise),\n } as unknown as Client;\n\n const wrapper = createWrapper(fakeClient);\n\n const { result } = renderHook(\n () => useColumnDefs(TestObjectType),\n { wrapper },\n );\n\n expect(result.current.loading).toBe(true);\n\n deferred.resolve(mockMetadata);\n\n await waitFor(() => {\n expect(result.current.loading).toBe(false);\n });\n\n expect(result.current.columns).toHaveLength(4);\n expect(result.current.columns[0]).toEqual({\n accessorKey: \"id\",\n header: \"ID\",\n });\n expect(result.current.columns[1]).toEqual({\n accessorKey: \"name\",\n header: \"Name\",\n });\n expect(result.current.columns[2]).toEqual({\n accessorKey: \"age\",\n header: \"Age\",\n });\n expect(result.current.columns[3]).toEqual({\n accessorKey: \"email\",\n header: \"Email Address\",\n });\n });\n\n it(\"returns empty columns array when metadata has no properties\", async () => {\n const deferred = pDefer();\n const fakeClient = {\n fetchMetadata: vitest.fn(() => deferred.promise),\n } as unknown as Client;\n\n const wrapper = createWrapper(fakeClient);\n\n const { result } = renderHook(\n () => useColumnDefs(TestObjectType),\n { wrapper },\n );\n\n deferred.resolve({\n ...mockMetadata,\n properties: undefined,\n });\n\n await waitFor(() => {\n expect(result.current.loading).toBe(false);\n });\n\n expect(result.current.columns).toEqual([]);\n });\n\n it(\"uses property key as header when displayName is not available\", async () => {\n const deferred = pDefer();\n const fakeClient = {\n fetchMetadata: vitest.fn(() => deferred.promise),\n } as unknown as Client;\n\n const wrapper = createWrapper(fakeClient);\n\n const { result } = renderHook(\n () => useColumnDefs(TestObjectType),\n { wrapper },\n );\n\n deferred.resolve({\n ...mockMetadata,\n properties: {\n noDisplayName: {\n type: \"string\",\n },\n },\n });\n\n await waitFor(() => {\n expect(result.current.loading).toBe(false);\n });\n\n expect(result.current.columns).toHaveLength(1);\n expect(result.current.columns[0]).toEqual({\n accessorKey: \"noDisplayName\",\n header: \"noDisplayName\",\n });\n });\n });\n\n describe(\"when columnDefinitions is provided\", () => {\n it(\"builds columns from columnDefinitions with property locators\", async () => {\n const deferred = pDefer();\n const fakeClient = {\n fetchMetadata: vitest.fn(() => deferred.promise),\n } as unknown as Client;\n\n const wrapper = createWrapper(fakeClient);\n\n const columnDefinitions: Array<ColumnDefinition<TestObject, {}, {}>> = [\n {\n locator: {\n type: \"property\",\n id: \"name\" as TestObjectKeys,\n },\n width: 200,\n minWidth: 100,\n maxWidth: 400,\n resizable: true,\n orderable: true,\n filterable: false,\n },\n {\n locator: { type: \"property\", id: \"email\" as TestObjectKeys },\n },\n ];\n\n const { result } = renderHook(\n () => useColumnDefs(TestObjectType, columnDefinitions),\n { wrapper },\n );\n\n deferred.resolve(mockMetadata);\n\n await waitFor(() => {\n expect(result.current.loading).toBe(false);\n });\n\n expect(result.current.columns).toHaveLength(2);\n\n const nameColumn = result.current.columns[0];\n expect(nameColumn.id).toBe(\"name\");\n expect(\n (nameColumn as AccessorKeyColumnDef<Osdk.Instance<TestObject>>)\n .accessorKey,\n ).toBe(\"name\");\n expect(nameColumn.header).toBe(\"Name\");\n expect(nameColumn.size).toBe(200);\n expect(nameColumn.minSize).toBe(100);\n expect(nameColumn.maxSize).toBe(400);\n expect(nameColumn.enableResizing).toBe(true);\n expect(nameColumn.enableSorting).toBe(true);\n expect(nameColumn.enableColumnFilter).toBe(false);\n\n const emailColumn = result.current.columns[1];\n expect(emailColumn.id).toBe(\"email\");\n expect(\n (emailColumn as AccessorKeyColumnDef<Osdk.Instance<TestObject>>)\n .accessorKey,\n ).toBe(\"email\");\n expect(emailColumn.header).toBe(\"Email Address\");\n });\n\n it(\"builds columns from columnDefinitions even when metadata has no properties\", async () => {\n const columnDefinitions: Array<ColumnDefinition<TestObject, {}, {}>> = [\n {\n locator: {\n type: \"property\",\n id: \"name\" as TestObjectKeys,\n },\n width: 200,\n minWidth: 100,\n maxWidth: 400,\n resizable: true,\n orderable: true,\n filterable: false,\n },\n {\n locator: { type: \"property\", id: \"email\" as TestObjectKeys },\n },\n ];\n const deferred = pDefer();\n const fakeClient = {\n fetchMetadata: vitest.fn(() => deferred.promise),\n } as unknown as Client;\n\n const wrapper = createWrapper(fakeClient);\n\n const { result } = renderHook(\n () => useColumnDefs(TestObjectType, columnDefinitions),\n { wrapper },\n );\n\n deferred.resolve({\n ...mockMetadata,\n properties: undefined,\n });\n\n await waitFor(() => {\n expect(result.current.loading).toBe(false);\n });\n\n expect(result.current.columns.length).toBe(2);\n const nameColumn = result.current.columns[0];\n expect(nameColumn.header).toBeUndefined();\n\n const emailColumn = result.current.columns[1];\n expect(emailColumn.header).toBeUndefined();\n });\n\n it(\"uses custom renderHeader when provided\", async () => {\n const deferred = pDefer();\n const fakeClient = {\n fetchMetadata: vitest.fn(() => deferred.promise),\n } as unknown as Client;\n\n const wrapper = createWrapper(fakeClient);\n\n const customHeader = () => <div>Custom Header</div>;\n\n const columnDefinitions: Array<ColumnDefinition<TestObject, {}, {}>> = [\n {\n locator: { type: \"property\", id: \"name\" as TestObjectKeys },\n renderHeader: customHeader,\n },\n ];\n\n const { result } = renderHook(\n () => useColumnDefs(TestObjectType, columnDefinitions),\n { wrapper },\n );\n\n deferred.resolve(mockMetadata);\n\n await waitFor(() => {\n expect(result.current.loading).toBe(false);\n });\n\n expect(result.current.columns[0].header).toBe(customHeader);\n });\n\n it(\"uses custom renderCell when provided\", async () => {\n const deferred = pDefer();\n const fakeClient = {\n fetchMetadata: vitest.fn(() => deferred.promise),\n } as unknown as Client;\n\n const wrapper = createWrapper(fakeClient);\n\n const customRenderCell = vitest.fn((\n object: Osdk.Instance<TestObject>,\n ) => <div>Custom: {(object as unknown as { name: string }).name}</div>);\n\n const columnDefinitions: Array<ColumnDefinition<TestObject, {}, {}>> = [\n {\n locator: { type: \"property\", id: \"name\" as TestObjectKeys },\n renderCell: customRenderCell,\n },\n ];\n\n const { result } = renderHook(\n () => useColumnDefs(TestObjectType, columnDefinitions),\n { wrapper },\n );\n\n deferred.resolve(mockMetadata);\n\n await waitFor(() => {\n expect(result.current.loading).toBe(false);\n });\n\n const nameColumn = result.current.columns[0];\n expect(nameColumn.cell).toBeDefined();\n\n // Test the cell renderer\n const mockObject = { name: \"John\" } as unknown as Osdk.Instance<\n TestObject\n >;\n const mockCellContext = {\n row: { original: mockObject },\n getValue: () => \"John\",\n };\n\n if (typeof nameColumn.cell === \"function\") {\n (nameColumn.cell as unknown as (\n ctx: typeof mockCellContext,\n ) => unknown)(mockCellContext);\n }\n\n expect(customRenderCell).toHaveBeenCalledWith(\n mockObject,\n { type: \"property\", id: \"name\" },\n );\n });\n\n it(\"defaults to getValue when renderCell is not provided\", async () => {\n const deferred = pDefer();\n const fakeClient = {\n fetchMetadata: vitest.fn(() => deferred.promise),\n } as unknown as Client;\n\n const wrapper = createWrapper(fakeClient);\n\n const columnDefinitions: Array<ColumnDefinition<TestObject, {}, {}>> = [\n {\n locator: { type: \"property\", id: \"name\" as TestObjectKeys },\n },\n ];\n\n const { result } = renderHook(\n () => useColumnDefs(TestObjectType, columnDefinitions),\n { wrapper },\n );\n\n deferred.resolve(mockMetadata);\n\n await waitFor(() => {\n expect(result.current.loading).toBe(false);\n });\n\n const nameColumn = result.current.columns[0];\n expect(nameColumn.cell).toBeDefined();\n\n const mockObject = { name: \"John\" } as unknown as Osdk.Instance<\n TestObject\n >;\n const mockGetValue = vitest.fn(() => \"John\");\n const mockCellContext = {\n row: { original: mockObject },\n getValue: mockGetValue,\n };\n\n let cellResult: unknown;\n\n if (typeof nameColumn.cell === \"function\") {\n cellResult = (nameColumn.cell as unknown as (\n ctx: typeof mockCellContext,\n ) => unknown)(mockCellContext);\n }\n expect(cellResult).toBe(\"John\");\n expect(mockGetValue).toHaveBeenCalled();\n });\n\n it(\"handles function column locators\", async () => {\n const deferred = pDefer();\n const fakeClient = {\n fetchMetadata: vitest.fn(() => deferred.promise),\n } as unknown as Client;\n\n const wrapper = createWrapper(fakeClient);\n\n const columnDefinitions: Array<\n ColumnDefinition<TestObject, {}, { myFunction: any }>\n > = [\n {\n locator: { type: \"function\", id: \"myFunction\" },\n width: 150,\n },\n ];\n\n const { result } = renderHook(\n () => useColumnDefs(TestObjectType, columnDefinitions),\n { wrapper },\n );\n\n deferred.resolve(mockMetadata);\n\n await waitFor(() => {\n expect(result.current.loading).toBe(false);\n });\n\n expect(result.current.columns).toHaveLength(1);\n\n const functionColumn = result.current.columns[0];\n expect(functionColumn.id).toBe(\"myFunction\");\n expect(\n (functionColumn as AccessorKeyColumnDef<Osdk.Instance<TestObject>>)\n .accessorKey,\n ).toBe(\"myFunction\");\n expect(functionColumn.header).toBeUndefined();\n expect(functionColumn.size).toBe(150);\n });\n\n it(\"handles RDP column locators\", async () => {\n const deferred = pDefer();\n const fakeClient = {\n fetchMetadata: vitest.fn(() => deferred.promise),\n } as unknown as Client;\n\n const wrapper = createWrapper(fakeClient);\n\n const mockRdpCreator = vitest.fn() as unknown as DerivedProperty.Creator<\n TestObject,\n SimplePropertyDef\n >;\n\n const columnDefinitions: Array<\n ColumnDefinition<TestObject, { myRdp: SimplePropertyDef }, {}>\n > = [\n {\n locator: { type: \"rdp\", id: \"myRdp\", creator: mockRdpCreator },\n width: 180,\n },\n ];\n\n const { result } = renderHook(\n () => useColumnDefs(TestObjectType, columnDefinitions),\n { wrapper },\n );\n\n deferred.resolve(mockMetadata);\n\n await waitFor(() => {\n expect(result.current.loading).toBe(false);\n });\n\n expect(result.current.columns).toHaveLength(1);\n\n const rdpColumn = result.current.columns[0];\n expect(rdpColumn.id).toBe(\"myRdp\");\n expect(\n (rdpColumn as AccessorKeyColumnDef<Osdk.Instance<TestObject>>)\n .accessorKey,\n ).toBe(\"myRdp\");\n expect(rdpColumn.header).toBeUndefined();\n expect(rdpColumn.size).toBe(180);\n });\n\n it(\"updates columns when columnDefinitions changed\", async () => {\n const deferred = pDefer();\n const fakeClient = {\n fetchMetadata: vitest.fn(() => deferred.promise),\n } as unknown as Client;\n\n const wrapper = createWrapper(fakeClient);\n\n const initialColumnDefinitions: Array<\n ColumnDefinition<TestObject, {}, {}>\n > = [\n {\n locator: { type: \"property\", id: \"name\" as TestObjectKeys },\n },\n ];\n\n type ColDefs =\n | Array<\n ColumnDefinition<TestObject, Record<string, SimplePropertyDef>, {}>\n >\n | undefined;\n\n const { result, rerender } = renderHook(\n ({ colDefs }: { colDefs: ColDefs }) =>\n useColumnDefs(TestObjectType, colDefs),\n {\n initialProps: { colDefs: initialColumnDefinitions as ColDefs },\n wrapper,\n },\n );\n\n deferred.resolve(mockMetadata);\n\n await waitFor(() => {\n expect(result.current.loading).toBe(false);\n });\n\n const firstColumns = result.current.columns;\n\n const updatedColumnDefinitions: Array<\n ColumnDefinition<TestObject, {}, {}>\n > = [\n {\n locator: { type: \"property\", id: \"name\" as TestObjectKeys },\n },\n {\n locator: { type: \"property\", id: \"email\" as TestObjectKeys },\n },\n ];\n\n // Rerender with new columnDefinitions\n rerender({ colDefs: updatedColumnDefinitions });\n\n // Updated columns should have two items\n const updatedColumns = result.current.columns;\n\n expect(firstColumns.length).toBe(1);\n expect(updatedColumns.length).toBe(2);\n });\n });\n\n it(\"handles metadata fetch errors\", async () => {\n const deferred = pDefer();\n const fakeClient = {\n fetchMetadata: vitest.fn(() => deferred.promise),\n } as unknown as Client;\n\n const wrapper = createWrapper(fakeClient);\n\n const { result } = renderHook(\n () => useColumnDefs(TestObjectType),\n { wrapper },\n );\n\n const error = new Error(\"Failed to fetch metadata\");\n deferred.reject(error);\n\n await waitFor(() => {\n expect(result.current.loading).toBe(false);\n });\n\n expect(result.current.error).toBeDefined();\n expect(result.current.columns).toEqual([]);\n });\n\n it(\"memoizes columns based on metadata properties\", async () => {\n const deferred = pDefer();\n const fakeClient = {\n fetchMetadata: vitest.fn(() => deferred.promise),\n } as unknown as Client;\n\n const wrapper = createWrapper(fakeClient);\n\n const { result, rerender } = renderHook(\n () => useColumnDefs(TestObjectType),\n { wrapper },\n );\n\n deferred.resolve(mockMetadata);\n\n await waitFor(() => {\n expect(result.current.loading).toBe(false);\n });\n\n const firstColumns = result.current.columns;\n\n // Rerender without changing metadata\n rerender();\n\n // Columns should be the same reference (memoized)\n expect(result.current.columns).toBe(firstColumns);\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,266 +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 { SELECTION_COLUMN_ID } from "../../utils/constants.js";
20
- import { useColumnPinning } from "../useColumnPinning.js";
21
- const TestObjectType = {
22
- type: "object",
23
- apiName: "TestObject"
24
- };
25
- function createColumnDef(id, pinned) {
26
- return {
27
- locator: {
28
- type: "property",
29
- id: id
30
- },
31
- pinned
32
- };
33
- }
34
- describe("useColumnPinning", () => {
35
- describe("initialization", () => {
36
- it("initializes with empty pinning state when no columnDefinitions provided", () => {
37
- const {
38
- result
39
- } = renderHook(() => useColumnPinning({
40
- columnDefinitions: undefined
41
- }));
42
- expect(result.current.columnPinning).toEqual({
43
- left: [],
44
- right: []
45
- });
46
- });
47
- it("initializes with empty pinning state when columnDefinitions has no pinned columns", () => {
48
- const columnDefinitions = [createColumnDef("name")];
49
- const {
50
- result
51
- } = renderHook(() => useColumnPinning({
52
- columnDefinitions
53
- }));
54
- expect(result.current.columnPinning).toEqual({
55
- left: [],
56
- right: []
57
- });
58
- });
59
- it("initializes with default pinning from columnDefinitions", () => {
60
- const columnDefinitions = [createColumnDef("firstName", "left"), createColumnDef("lastName", "left"), createColumnDef("age", "none"), createColumnDef("email", "right")];
61
- const {
62
- result
63
- } = renderHook(() => useColumnPinning({
64
- columnDefinitions
65
- }));
66
- expect(result.current.columnPinning).toEqual({
67
- left: ["firstName", "lastName"],
68
- right: ["email"]
69
- });
70
- });
71
- it("adds selection column to left pinning when hasSelectionColumn is true", () => {
72
- const columnDefinitions = [createColumnDef("name", "left")];
73
- const {
74
- result
75
- } = renderHook(() => useColumnPinning({
76
- columnDefinitions,
77
- hasSelectionColumn: true
78
- }));
79
- expect(result.current.columnPinning).toEqual({
80
- left: [SELECTION_COLUMN_ID, "name"],
81
- right: []
82
- });
83
- });
84
- it("does not add selection column when hasSelectionColumn is false", () => {
85
- const columnDefinitions = [createColumnDef("name", "left")];
86
- const {
87
- result
88
- } = renderHook(() => useColumnPinning({
89
- columnDefinitions,
90
- hasSelectionColumn: false
91
- }));
92
- expect(result.current.columnPinning).toEqual({
93
- left: ["name"],
94
- right: []
95
- });
96
- });
97
- });
98
- describe("onColumnPinningChange", () => {
99
- it("updates column pinning state when called", () => {
100
- const {
101
- result
102
- } = renderHook(() => useColumnPinning({
103
- columnDefinitions: undefined
104
- }));
105
- expect(result.current.columnPinning).toEqual({
106
- left: [],
107
- right: []
108
- });
109
- act(() => {
110
- result.current.onColumnPinningChange({
111
- left: ["name"],
112
- right: ["email"]
113
- });
114
- });
115
- expect(result.current.columnPinning).toEqual({
116
- left: ["name"],
117
- right: ["email"]
118
- });
119
- });
120
- it("calls onColumnsPinnedChanged with converted format when pinning changes", () => {
121
- const onColumnsPinnedChanged = vi.fn();
122
- const {
123
- result
124
- } = renderHook(() => useColumnPinning({
125
- columnDefinitions: undefined,
126
- onColumnsPinnedChanged
127
- }));
128
- act(() => {
129
- result.current.onColumnPinningChange({
130
- left: ["name", "age"],
131
- right: ["email"]
132
- });
133
- });
134
- expect(onColumnsPinnedChanged).toHaveBeenCalledWith([{
135
- columnId: "name",
136
- pinned: "left"
137
- }, {
138
- columnId: "age",
139
- pinned: "left"
140
- }, {
141
- columnId: "email",
142
- pinned: "right"
143
- }]);
144
- });
145
- it("filters out selection column from onColumnsPinnedChanged callback", () => {
146
- const onColumnsPinnedChanged = vi.fn();
147
- const {
148
- result
149
- } = renderHook(() => useColumnPinning({
150
- columnDefinitions: undefined,
151
- onColumnsPinnedChanged
152
- }));
153
- act(() => {
154
- result.current.onColumnPinningChange({
155
- left: [SELECTION_COLUMN_ID, "name"],
156
- right: ["email"]
157
- });
158
- });
159
- expect(onColumnsPinnedChanged).toHaveBeenCalledWith([{
160
- columnId: "name",
161
- pinned: "left"
162
- }, {
163
- columnId: "email",
164
- pinned: "right"
165
- }]);
166
- });
167
- it("handles updater function in onColumnPinningChange", () => {
168
- const onColumnsPinnedChanged = vi.fn();
169
- const {
170
- result
171
- } = renderHook(() => useColumnPinning({
172
- columnDefinitions: undefined,
173
- onColumnsPinnedChanged
174
- }));
175
-
176
- // Set initial pinning
177
- act(() => {
178
- result.current.onColumnPinningChange({
179
- left: ["name"],
180
- right: []
181
- });
182
- });
183
-
184
- // Pin second column
185
- act(() => {
186
- result.current.onColumnPinningChange(prev => ({
187
- ...prev,
188
- right: ["email"]
189
- }));
190
- });
191
- expect(result.current.columnPinning).toEqual({
192
- left: ["name"],
193
- right: ["email"]
194
- });
195
- expect(onColumnsPinnedChanged).toHaveBeenLastCalledWith([{
196
- columnId: "name",
197
- pinned: "left"
198
- }, {
199
- columnId: "email",
200
- pinned: "right"
201
- }]);
202
-
203
- // Unpin first column
204
- act(() => {
205
- result.current.onColumnPinningChange(prev => ({
206
- ...prev,
207
- left: []
208
- }));
209
- });
210
- expect(result.current.columnPinning).toEqual({
211
- left: [],
212
- right: ["email"]
213
- });
214
- expect(onColumnsPinnedChanged).toHaveBeenLastCalledWith([{
215
- columnId: "email",
216
- pinned: "right"
217
- }]);
218
- });
219
- });
220
- describe("updates when props change", () => {
221
- it("updates pinning state when columnDefinitions change", () => {
222
- const {
223
- result,
224
- rerender
225
- } = renderHook(({
226
- columnDefinitions
227
- }) => useColumnPinning({
228
- columnDefinitions
229
- }), {
230
- initialProps: {
231
- columnDefinitions: [{
232
- locator: {
233
- type: "property",
234
- id: "name"
235
- },
236
- pinned: "left"
237
- }]
238
- }
239
- });
240
- expect(result.current.columnPinning).toEqual({
241
- left: ["name"],
242
- right: []
243
- });
244
- rerender({
245
- columnDefinitions: [{
246
- locator: {
247
- type: "property",
248
- id: "name"
249
- },
250
- pinned: "left"
251
- }, {
252
- locator: {
253
- type: "property",
254
- id: "age"
255
- },
256
- pinned: "right"
257
- }]
258
- });
259
- expect(result.current.columnPinning).toEqual({
260
- left: ["name"],
261
- right: ["age"]
262
- });
263
- });
264
- });
265
- });
266
- //# sourceMappingURL=useColumnPinning.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useColumnPinning.test.js","names":["act","renderHook","describe","expect","it","vi","SELECTION_COLUMN_ID","useColumnPinning","TestObjectType","type","apiName","createColumnDef","id","pinned","locator","result","columnDefinitions","undefined","current","columnPinning","toEqual","left","right","hasSelectionColumn","onColumnPinningChange","onColumnsPinnedChanged","fn","toHaveBeenCalledWith","columnId","prev","toHaveBeenLastCalledWith","rerender","initialProps"],"sources":["useColumnPinning.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, PropertyKeys } from \"@osdk/api\";\nimport { act, renderHook } from \"@testing-library/react\";\nimport { describe, expect, it, vi } from \"vitest\";\nimport type {\n ColumnDefinition,\n ObjectTableProps,\n} from \"../../ObjectTableApi.js\";\nimport { SELECTION_COLUMN_ID } from \"../../utils/constants.js\";\nimport { useColumnPinning } from \"../useColumnPinning.js\";\n\nconst TestObjectType = {\n type: \"object\",\n apiName: \"TestObject\",\n} as const satisfies ObjectTypeDefinition;\n\ntype TestObject = typeof TestObjectType;\n\nfunction createColumnDef(\n id: string,\n pinned?: \"left\" | \"right\" | \"none\",\n): ColumnDefinition<TestObject> {\n return {\n locator: { type: \"property\", id: id as PropertyKeys<TestObject> },\n pinned,\n };\n}\n\ndescribe(\"useColumnPinning\", () => {\n describe(\"initialization\", () => {\n it(\"initializes with empty pinning state when no columnDefinitions provided\", () => {\n const { result } = renderHook(() =>\n useColumnPinning<TestObject>({\n columnDefinitions: undefined,\n })\n );\n\n expect(result.current.columnPinning).toEqual({\n left: [],\n right: [],\n });\n });\n\n it(\"initializes with empty pinning state when columnDefinitions has no pinned columns\", () => {\n const columnDefinitions = [\n createColumnDef(\"name\"),\n ];\n\n const { result } = renderHook(() =>\n useColumnPinning<TestObject>({\n columnDefinitions,\n })\n );\n\n expect(result.current.columnPinning).toEqual({\n left: [],\n right: [],\n });\n });\n\n it(\"initializes with default pinning from columnDefinitions\", () => {\n const columnDefinitions = [\n createColumnDef(\"firstName\", \"left\"),\n createColumnDef(\"lastName\", \"left\"),\n createColumnDef(\"age\", \"none\"),\n createColumnDef(\"email\", \"right\"),\n ];\n\n const { result } = renderHook(() =>\n useColumnPinning<TestObject>({\n columnDefinitions,\n })\n );\n\n expect(result.current.columnPinning).toEqual({\n left: [\"firstName\", \"lastName\"],\n right: [\"email\"],\n });\n });\n\n it(\"adds selection column to left pinning when hasSelectionColumn is true\", () => {\n const columnDefinitions = [\n createColumnDef(\"name\", \"left\"),\n ];\n\n const { result } = renderHook(() =>\n useColumnPinning<TestObject>({\n columnDefinitions,\n hasSelectionColumn: true,\n })\n );\n\n expect(result.current.columnPinning).toEqual({\n left: [SELECTION_COLUMN_ID, \"name\"],\n right: [],\n });\n });\n\n it(\"does not add selection column when hasSelectionColumn is false\", () => {\n const columnDefinitions = [\n createColumnDef(\"name\", \"left\"),\n ];\n\n const { result } = renderHook(() =>\n useColumnPinning<TestObject>({\n columnDefinitions,\n hasSelectionColumn: false,\n })\n );\n\n expect(result.current.columnPinning).toEqual({\n left: [\"name\"],\n right: [],\n });\n });\n });\n\n describe(\"onColumnPinningChange\", () => {\n it(\"updates column pinning state when called\", () => {\n const { result } = renderHook(() =>\n useColumnPinning<TestObject>({\n columnDefinitions: undefined,\n })\n );\n\n expect(result.current.columnPinning).toEqual({\n left: [],\n right: [],\n });\n\n act(() => {\n result.current.onColumnPinningChange({\n left: [\"name\"],\n right: [\"email\"],\n });\n });\n\n expect(result.current.columnPinning).toEqual({\n left: [\"name\"],\n right: [\"email\"],\n });\n });\n\n it(\"calls onColumnsPinnedChanged with converted format when pinning changes\", () => {\n const onColumnsPinnedChanged = vi.fn();\n const { result } = renderHook(() =>\n useColumnPinning<TestObject>({\n columnDefinitions: undefined,\n onColumnsPinnedChanged,\n })\n );\n\n act(() => {\n result.current.onColumnPinningChange({\n left: [\"name\", \"age\"],\n right: [\"email\"],\n });\n });\n\n expect(onColumnsPinnedChanged).toHaveBeenCalledWith([\n { columnId: \"name\", pinned: \"left\" },\n { columnId: \"age\", pinned: \"left\" },\n { columnId: \"email\", pinned: \"right\" },\n ]);\n });\n\n it(\"filters out selection column from onColumnsPinnedChanged callback\", () => {\n const onColumnsPinnedChanged = vi.fn();\n const { result } = renderHook(() =>\n useColumnPinning<TestObject>({\n columnDefinitions: undefined,\n onColumnsPinnedChanged,\n })\n );\n\n act(() => {\n result.current.onColumnPinningChange({\n left: [SELECTION_COLUMN_ID, \"name\"],\n right: [\"email\"],\n });\n });\n\n expect(onColumnsPinnedChanged).toHaveBeenCalledWith([\n { columnId: \"name\", pinned: \"left\" },\n { columnId: \"email\", pinned: \"right\" },\n ]);\n });\n\n it(\"handles updater function in onColumnPinningChange\", () => {\n const onColumnsPinnedChanged = vi.fn();\n const { result } = renderHook(() =>\n useColumnPinning<TestObject>({\n columnDefinitions: undefined,\n onColumnsPinnedChanged,\n })\n );\n\n // Set initial pinning\n act(() => {\n result.current.onColumnPinningChange({\n left: [\"name\"],\n right: [],\n });\n });\n\n // Pin second column\n act(() => {\n result.current.onColumnPinningChange((prev) => ({\n ...prev,\n right: [\"email\"],\n }));\n });\n\n expect(result.current.columnPinning).toEqual({\n left: [\"name\"],\n right: [\"email\"],\n });\n\n expect(onColumnsPinnedChanged).toHaveBeenLastCalledWith([\n { columnId: \"name\", pinned: \"left\" },\n { columnId: \"email\", pinned: \"right\" },\n ]);\n\n // Unpin first column\n act(() => {\n result.current.onColumnPinningChange((prev) => ({\n ...prev,\n left: [],\n }));\n });\n\n expect(result.current.columnPinning).toEqual({\n left: [],\n right: [\"email\"],\n });\n\n expect(onColumnsPinnedChanged).toHaveBeenLastCalledWith([\n { columnId: \"email\", pinned: \"right\" },\n ]);\n });\n });\n\n describe(\"updates when props change\", () => {\n it(\"updates pinning state when columnDefinitions change\", () => {\n const initialColumnDefinitions: ObjectTableProps<\n TestObject\n >[\"columnDefinitions\"] = [\n {\n locator: { type: \"property\", id: \"name\" as PropertyKeys<TestObject> },\n pinned: \"left\",\n },\n ];\n\n const { result, rerender } = renderHook(\n ({ columnDefinitions }) =>\n useColumnPinning<TestObject>({\n columnDefinitions,\n }),\n {\n initialProps: { columnDefinitions: initialColumnDefinitions },\n },\n );\n\n expect(result.current.columnPinning).toEqual({\n left: [\"name\"],\n right: [],\n });\n\n const newColumnDefinitions: ObjectTableProps<\n TestObject\n >[\"columnDefinitions\"] = [\n {\n locator: { type: \"property\", id: \"name\" as PropertyKeys<TestObject> },\n pinned: \"left\",\n },\n {\n locator: { type: \"property\", id: \"age\" as PropertyKeys<TestObject> },\n pinned: \"right\",\n },\n ];\n\n rerender({ columnDefinitions: newColumnDefinitions });\n\n expect(result.current.columnPinning).toEqual({\n left: [\"name\"],\n right: [\"age\"],\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,178 +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 { renderHook, waitFor } from "@testing-library/react";
18
- import { describe, expect, it } from "vitest";
19
- import { useColumnVisibility } from "../useColumnVisibility.js";
20
- const TestObjectType = {
21
- type: "object",
22
- apiName: "TestObject"
23
- };
24
- describe(useColumnVisibility, () => {
25
- it("returns undefined columnVisibility when no columnDefinitions provided", () => {
26
- const {
27
- result
28
- } = renderHook(() => useColumnVisibility({
29
- columnDefinitions: undefined
30
- }));
31
- expect(result.current).toBeUndefined();
32
- });
33
- it("returns empty columnVisibility when columnDefinitions have no isVisible properties", () => {
34
- const columnDefinitions = [{
35
- locator: {
36
- type: "property",
37
- id: "name"
38
- }
39
- }, {
40
- locator: {
41
- type: "property",
42
- id: "email"
43
- }
44
- }];
45
- const {
46
- result
47
- } = renderHook(() => useColumnVisibility({
48
- columnDefinitions
49
- }));
50
- expect(result.current).toEqual({});
51
- });
52
- it("handles mixed column types with different visibility states", async () => {
53
- const columnDefinitions = [{
54
- locator: {
55
- type: "property",
56
- id: "name"
57
- },
58
- isVisible: true
59
- }, {
60
- locator: {
61
- type: "function",
62
- id: "myFunction"
63
- },
64
- isVisible: false
65
- }, {
66
- locator: {
67
- type: "rdp",
68
- id: "myRdp",
69
- creator: () => ({})
70
- },
71
- isVisible: true
72
- }, {
73
- locator: {
74
- type: "property",
75
- id: "email"
76
- }
77
- }];
78
- const {
79
- result
80
- } = renderHook(() => useColumnVisibility({
81
- columnDefinitions
82
- }));
83
- await waitFor(() => {
84
- expect(result.current).toEqual({
85
- name: true,
86
- myFunction: false,
87
- myRdp: true
88
- });
89
- });
90
- });
91
- it("updates columnVisibility when columnDefinitions change", async () => {
92
- const {
93
- result,
94
- rerender
95
- } = renderHook(({
96
- columnDefinitions
97
- }) => useColumnVisibility({
98
- columnDefinitions
99
- }), {
100
- initialProps: {
101
- columnDefinitions: [{
102
- locator: {
103
- type: "property",
104
- id: "name"
105
- },
106
- isVisible: true
107
- }]
108
- }
109
- });
110
- await waitFor(() => {
111
- expect(result.current).toEqual({
112
- name: true
113
- });
114
- });
115
- rerender({
116
- columnDefinitions: [{
117
- locator: {
118
- type: "property",
119
- id: "name"
120
- },
121
- isVisible: false
122
- }, {
123
- locator: {
124
- type: "property",
125
- id: "email"
126
- },
127
- isVisible: true
128
- }]
129
- });
130
- await waitFor(() => {
131
- expect(result.current).toEqual({
132
- name: false,
133
- email: true
134
- });
135
- });
136
- });
137
- it("only includes columns with explicit isVisible in the visibility state", async () => {
138
- const columnDefinitions = [{
139
- locator: {
140
- type: "property",
141
- id: "name"
142
- },
143
- isVisible: true
144
- }, {
145
- locator: {
146
- type: "property",
147
- id: "email"
148
- }
149
- }, {
150
- locator: {
151
- type: "property",
152
- id: "age"
153
- },
154
- isVisible: false
155
- }, {
156
- locator: {
157
- type: "property",
158
- id: "id"
159
- }
160
- }];
161
- const {
162
- result
163
- } = renderHook(() => useColumnVisibility({
164
- columnDefinitions
165
- }));
166
- await waitFor(() => {
167
- expect(result.current).toEqual({
168
- name: true,
169
- age: false
170
- });
171
- });
172
-
173
- // Verify that columns without isVisible are not in the state
174
- expect(result.current).not.toHaveProperty("email");
175
- expect(result.current).not.toHaveProperty("id");
176
- });
177
- });
178
- //# sourceMappingURL=useColumnVisibility.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useColumnVisibility.test.js","names":["renderHook","waitFor","describe","expect","it","useColumnVisibility","TestObjectType","type","apiName","result","columnDefinitions","undefined","current","toBeUndefined","locator","id","toEqual","isVisible","creator","name","myFunction","myRdp","rerender","initialProps","email","age","not","toHaveProperty"],"sources":["useColumnVisibility.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 {\n DerivedProperty,\n ObjectTypeDefinition,\n PropertyKeys,\n QueryDefinition,\n SimplePropertyDef,\n} from \"@osdk/api\";\nimport { renderHook, waitFor } from \"@testing-library/react\";\nimport { describe, expect, it } from \"vitest\";\nimport type { ColumnDefinition } from \"../../ObjectTableApi.js\";\nimport { useColumnVisibility } from \"../useColumnVisibility.js\";\n\nconst TestObjectType = {\n type: \"object\",\n apiName: \"TestObject\",\n} as const satisfies ObjectTypeDefinition;\n\ntype TestObject = typeof TestObjectType;\ntype TestObjectKeys = PropertyKeys<TestObject>;\n\ndescribe(useColumnVisibility, () => {\n it(\"returns undefined columnVisibility when no columnDefinitions provided\", () => {\n const { result } = renderHook(() =>\n useColumnVisibility({\n columnDefinitions: undefined,\n })\n );\n\n expect(result.current).toBeUndefined();\n });\n\n it(\"returns empty columnVisibility when columnDefinitions have no isVisible properties\", () => {\n const columnDefinitions: Array<ColumnDefinition<TestObject, {}, {}>> = [\n {\n locator: { type: \"property\", id: \"name\" as TestObjectKeys },\n },\n {\n locator: { type: \"property\", id: \"email\" as TestObjectKeys },\n },\n ];\n\n const { result } = renderHook(() =>\n useColumnVisibility({\n columnDefinitions,\n })\n );\n\n expect(result.current).toEqual({});\n });\n\n it(\"handles mixed column types with different visibility states\", async () => {\n const mockRdpCreator = (() => ({})) as unknown as DerivedProperty.Creator<\n TestObject,\n SimplePropertyDef\n >;\n\n const columnDefinitions: Array<\n ColumnDefinition<\n TestObject,\n { myRdp: SimplePropertyDef },\n { myFunction: QueryDefinition<{}> }\n >\n > = [\n {\n locator: { type: \"property\", id: \"name\" as TestObjectKeys },\n isVisible: true,\n },\n {\n locator: { type: \"function\", id: \"myFunction\" },\n isVisible: false,\n },\n {\n locator: { type: \"rdp\", id: \"myRdp\", creator: mockRdpCreator },\n isVisible: true,\n },\n {\n locator: { type: \"property\", id: \"email\" as TestObjectKeys },\n },\n ];\n\n const { result } = renderHook(() =>\n useColumnVisibility({\n columnDefinitions,\n })\n );\n\n await waitFor(() => {\n expect(result.current).toEqual({\n name: true,\n myFunction: false,\n myRdp: true,\n });\n });\n });\n\n it(\"updates columnVisibility when columnDefinitions change\", async () => {\n const initialColumnDefinitions: Array<\n ColumnDefinition<TestObject, {}, {}>\n > = [\n {\n locator: { type: \"property\", id: \"name\" as TestObjectKeys },\n isVisible: true,\n },\n ];\n\n const { result, rerender } = renderHook(\n ({ columnDefinitions }) =>\n useColumnVisibility({\n columnDefinitions,\n }),\n {\n initialProps: { columnDefinitions: initialColumnDefinitions },\n },\n );\n\n await waitFor(() => {\n expect(result.current).toEqual({\n name: true,\n });\n });\n\n const updatedColumnDefinitions: Array<\n ColumnDefinition<TestObject, {}, {}>\n > = [\n {\n locator: { type: \"property\", id: \"name\" as TestObjectKeys },\n isVisible: false,\n },\n {\n locator: { type: \"property\", id: \"email\" as TestObjectKeys },\n isVisible: true,\n },\n ];\n\n rerender({ columnDefinitions: updatedColumnDefinitions });\n\n await waitFor(() => {\n expect(result.current).toEqual({\n name: false,\n email: true,\n });\n });\n });\n\n it(\"only includes columns with explicit isVisible in the visibility state\", async () => {\n const columnDefinitions: Array<ColumnDefinition<TestObject, {}, {}>> = [\n {\n locator: { type: \"property\", id: \"name\" as TestObjectKeys },\n isVisible: true,\n },\n {\n locator: { type: \"property\", id: \"email\" as TestObjectKeys },\n },\n {\n locator: { type: \"property\", id: \"age\" as TestObjectKeys },\n isVisible: false,\n },\n {\n locator: { type: \"property\", id: \"id\" as TestObjectKeys },\n },\n ];\n\n const { result } = renderHook(() =>\n useColumnVisibility({\n columnDefinitions,\n })\n );\n\n await waitFor(() => {\n expect(result.current).toEqual({\n name: true,\n age: false,\n });\n });\n\n // Verify that columns without isVisible are not in the state\n expect(result.current).not.toHaveProperty(\"email\");\n expect(result.current).not.toHaveProperty(\"id\");\n });\n});\n"],"mappings":"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","ignoreList":[]}