@osdk/react-components 0.2.0-beta.1 → 0.2.0-beta.11

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 (628) hide show
  1. package/CHANGELOG.md +118 -0
  2. package/README.md +56 -23
  3. package/build/browser/base-components/action-button/ActionButton.js +31 -0
  4. package/build/browser/base-components/action-button/ActionButton.js.map +1 -0
  5. package/build/browser/base-components/action-button/ActionButton.module.css +70 -0
  6. package/build/browser/base-components/action-button/ActionButton.module.css.js +8 -0
  7. package/build/browser/base-components/checkbox/Checkbox.js +27 -32
  8. package/build/browser/base-components/checkbox/Checkbox.module.css +79 -0
  9. package/build/browser/base-components/checkbox/Checkbox.module.css.js +7 -0
  10. package/build/browser/base-components/combobox/Combobox.js +124 -0
  11. package/build/browser/base-components/combobox/Combobox.js.map +1 -0
  12. package/build/browser/base-components/combobox/Combobox.module.css +177 -0
  13. package/build/browser/base-components/combobox/Combobox.module.css.js +16 -0
  14. package/build/browser/base-components/dialog/Dialog.js +52 -0
  15. package/build/browser/base-components/dialog/Dialog.js.map +1 -0
  16. package/build/browser/base-components/dialog/Dialog.module.css +101 -0
  17. package/build/browser/base-components/dialog/Dialog.module.css.js +13 -0
  18. package/build/browser/base-components/draggable-list/DraggableList.js +155 -0
  19. package/build/browser/base-components/draggable-list/DraggableList.js.map +1 -0
  20. package/build/browser/base-components/draggable-list/DraggableList.module.css +108 -0
  21. package/build/browser/base-components/draggable-list/DraggableList.module.css.js +11 -0
  22. package/build/browser/base-components/search-bar/SearchBar.js +44 -0
  23. package/build/browser/base-components/search-bar/SearchBar.js.map +1 -0
  24. package/build/browser/base-components/search-bar/SearchBar.module.css +53 -0
  25. package/build/browser/base-components/search-bar/SearchBar.module.css.js +8 -0
  26. package/build/browser/base-components/select/Select.js +89 -0
  27. package/build/browser/base-components/select/Select.js.map +1 -0
  28. package/build/browser/base-components/select/Select.module.css +138 -0
  29. package/build/browser/base-components/select/Select.module.css.js +11 -0
  30. package/build/browser/base-components/switch/Switch.js +33 -0
  31. package/build/browser/base-components/switch/Switch.js.map +1 -0
  32. package/build/browser/base-components/switch/Switch.module.css +91 -0
  33. package/build/browser/base-components/switch/Switch.module.css.js +7 -0
  34. package/build/browser/filter-list/FilterListApi.js.map +1 -1
  35. package/build/browser/filter-list/FilterListItemApi.js.map +1 -1
  36. package/build/browser/filter-list/__tests__/LinkedPropertyInput.test.js +202 -0
  37. package/build/browser/filter-list/__tests__/LinkedPropertyInput.test.js.map +1 -0
  38. package/build/browser/filter-list/__tests__/dateUtils.test.js +55 -0
  39. package/build/browser/filter-list/__tests__/dateUtils.test.js.map +1 -0
  40. package/build/browser/filter-list/__tests__/filterStateToWhereClause.test.js +296 -0
  41. package/build/browser/filter-list/__tests__/filterStateToWhereClause.test.js.map +1 -0
  42. package/build/browser/filter-list/__tests__/getFilterKey.test.js +53 -0
  43. package/build/browser/filter-list/__tests__/getFilterKey.test.js.map +1 -0
  44. package/build/browser/filter-list/__tests__/testUtils.js +203 -0
  45. package/build/browser/filter-list/__tests__/testUtils.js.map +1 -0
  46. package/build/browser/filter-list/base/FilterInput.js +542 -0
  47. package/build/browser/filter-list/base/FilterInput.js.map +1 -0
  48. package/build/browser/filter-list/base/FilterList.js +77 -0
  49. package/build/browser/filter-list/base/FilterList.js.map +1 -0
  50. package/build/browser/filter-list/base/FilterList.module.css +67 -0
  51. package/build/browser/filter-list/base/FilterList.module.css.js +8 -0
  52. package/build/browser/filter-list/base/FilterListContent.js +57 -0
  53. package/build/browser/filter-list/base/FilterListContent.js.map +1 -0
  54. package/build/browser/filter-list/base/FilterListContent.module.css +27 -0
  55. package/build/browser/filter-list/base/FilterListContent.module.css.js +7 -0
  56. package/build/browser/filter-list/base/FilterListHeader.js +58 -0
  57. package/build/browser/filter-list/base/FilterListHeader.js.map +1 -0
  58. package/build/browser/filter-list/base/FilterListHeader.module.css +127 -0
  59. package/build/browser/filter-list/base/FilterListHeader.module.css.js +13 -0
  60. package/build/browser/filter-list/base/FilterListItem.js +75 -0
  61. package/build/browser/filter-list/base/FilterListItem.js.map +1 -0
  62. package/build/browser/filter-list/base/FilterListItem.module.css +38 -0
  63. package/build/browser/filter-list/base/FilterListItem.module.css.js +9 -0
  64. package/build/browser/filter-list/base/index.js +22 -0
  65. package/build/browser/filter-list/base/index.js.map +1 -0
  66. package/build/browser/filter-list/base/inputs/CheckboxListInput.js +75 -0
  67. package/build/browser/filter-list/base/inputs/CheckboxListInput.js.map +1 -0
  68. package/build/browser/filter-list/base/inputs/CheckboxListInput.module.css +42 -0
  69. package/build/browser/filter-list/base/inputs/CheckboxListInput.module.css.js +9 -0
  70. package/build/browser/filter-list/base/inputs/ContainsTextInput.js +85 -0
  71. package/build/browser/filter-list/base/inputs/ContainsTextInput.js.map +1 -0
  72. package/build/browser/filter-list/base/inputs/ContainsTextInput.module.css +91 -0
  73. package/build/browser/filter-list/base/inputs/ContainsTextInput.module.css.js +10 -0
  74. package/build/browser/filter-list/base/inputs/DateRangeInput.js +37 -0
  75. package/build/browser/filter-list/base/inputs/DateRangeInput.js.map +1 -0
  76. package/build/browser/filter-list/base/inputs/LinkedPropertyInput.js +237 -0
  77. package/build/browser/filter-list/base/inputs/LinkedPropertyInput.js.map +1 -0
  78. package/build/browser/filter-list/base/inputs/LinkedPropertyInput.module.css +20 -0
  79. package/build/browser/filter-list/base/inputs/LinkedPropertyInput.module.css.js +6 -0
  80. package/build/browser/filter-list/base/inputs/ListogramInput.js +98 -0
  81. package/build/browser/filter-list/base/inputs/ListogramInput.js.map +1 -0
  82. package/build/browser/filter-list/base/inputs/ListogramInput.module.css +88 -0
  83. package/build/browser/filter-list/base/inputs/ListogramInput.module.css.js +12 -0
  84. package/build/browser/filter-list/base/inputs/MultiDateInput.js +82 -0
  85. package/build/browser/filter-list/base/inputs/MultiDateInput.js.map +1 -0
  86. package/build/browser/filter-list/base/inputs/MultiDateInput.module.css +54 -0
  87. package/build/browser/filter-list/base/inputs/MultiDateInput.module.css.js +9 -0
  88. package/build/browser/filter-list/base/inputs/MultiSelectInput.js +100 -0
  89. package/build/browser/filter-list/base/inputs/MultiSelectInput.js.map +1 -0
  90. package/build/browser/filter-list/base/inputs/MultiSelectInput.module.css +35 -0
  91. package/build/browser/filter-list/base/inputs/MultiSelectInput.module.css.js +9 -0
  92. package/build/browser/filter-list/base/inputs/NullValueWrapper.js +76 -0
  93. package/build/browser/filter-list/base/inputs/NullValueWrapper.js.map +1 -0
  94. package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css +49 -0
  95. package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css.js +10 -0
  96. package/build/browser/filter-list/base/inputs/NumberRangeInput.js +48 -0
  97. package/build/browser/filter-list/base/inputs/NumberRangeInput.js.map +1 -0
  98. package/build/browser/filter-list/base/inputs/RangeInput.js +187 -0
  99. package/build/browser/filter-list/base/inputs/RangeInput.js.map +1 -0
  100. package/build/browser/filter-list/base/inputs/RangeInput.module.css +81 -0
  101. package/build/browser/filter-list/base/inputs/RangeInput.module.css.js +13 -0
  102. package/build/browser/filter-list/base/inputs/SingleDateInput.js +61 -0
  103. package/build/browser/filter-list/base/inputs/SingleDateInput.js.map +1 -0
  104. package/build/browser/filter-list/base/inputs/SingleDateInput.module.css +63 -0
  105. package/build/browser/filter-list/base/inputs/SingleDateInput.module.css.js +9 -0
  106. package/build/browser/filter-list/base/inputs/SingleSelectInput.js +95 -0
  107. package/build/browser/filter-list/base/inputs/SingleSelectInput.js.map +1 -0
  108. package/build/browser/filter-list/base/inputs/SingleSelectInput.module.css +55 -0
  109. package/build/browser/filter-list/base/inputs/SingleSelectInput.module.css.js +8 -0
  110. package/build/browser/filter-list/base/inputs/TextTagsInput.js +141 -0
  111. package/build/browser/filter-list/base/inputs/TextTagsInput.js.map +1 -0
  112. package/build/browser/filter-list/base/inputs/TextTagsInput.module.css +25 -0
  113. package/build/browser/filter-list/base/inputs/TextTagsInput.module.css.js +7 -0
  114. package/build/browser/filter-list/base/inputs/TimelineInput.js +74 -0
  115. package/build/browser/filter-list/base/inputs/TimelineInput.js.map +1 -0
  116. package/build/browser/filter-list/base/inputs/TimelineInput.module.css +73 -0
  117. package/build/browser/filter-list/base/inputs/TimelineInput.module.css.js +10 -0
  118. package/build/browser/filter-list/base/inputs/ToggleInput.js +43 -0
  119. package/build/browser/filter-list/base/inputs/ToggleInput.js.map +1 -0
  120. package/build/browser/filter-list/base/inputs/ToggleInput.module.css +34 -0
  121. package/build/browser/filter-list/base/inputs/ToggleInput.module.css.js +8 -0
  122. package/build/browser/filter-list/base/inputs/createHistogramBuckets.js +53 -0
  123. package/build/browser/filter-list/base/inputs/createHistogramBuckets.js.map +1 -0
  124. package/build/browser/filter-list/base/inputs/dateUtils.js +57 -0
  125. package/build/browser/filter-list/base/inputs/dateUtils.js.map +1 -0
  126. package/build/browser/filter-list/base/inputs/index.js +25 -0
  127. package/build/browser/filter-list/base/inputs/index.js.map +1 -0
  128. package/build/browser/filter-list/base/inputs/shared.module.css +79 -0
  129. package/build/browser/filter-list/base/inputs/shared.module.css.js +11 -0
  130. package/build/browser/filter-list/hooks/__tests__/useFilterListState.test.js +128 -0
  131. package/build/browser/filter-list/hooks/__tests__/useFilterListState.test.js.map +1 -0
  132. package/build/browser/filter-list/hooks/useFilterListState.js +119 -0
  133. package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -0
  134. package/build/browser/filter-list/hooks/usePropertyAggregation.js +92 -0
  135. package/build/browser/filter-list/hooks/usePropertyAggregation.js.map +1 -0
  136. package/build/browser/filter-list/types/AddFilterMenuTypes.js +2 -0
  137. package/build/browser/filter-list/types/AddFilterMenuTypes.js.map +1 -0
  138. package/build/browser/filter-list/types/CustomRendererTypes.js +2 -0
  139. package/build/browser/filter-list/types/CustomRendererTypes.js.map +1 -0
  140. package/build/browser/filter-list/types/FilterPanelTypes.js +2 -0
  141. package/build/browser/filter-list/types/FilterPanelTypes.js.map +1 -0
  142. package/build/browser/filter-list/types/KeywordSearchTypes.js +2 -0
  143. package/build/browser/filter-list/types/KeywordSearchTypes.js.map +1 -0
  144. package/build/browser/filter-list/types/LinkedFilterTypes.js +2 -0
  145. package/build/browser/filter-list/types/LinkedFilterTypes.js.map +1 -0
  146. package/build/browser/filter-list/types/index.js +22 -0
  147. package/build/browser/filter-list/types/index.js.map +1 -0
  148. package/build/browser/filter-list/utils/aggregationHelpers.js +44 -0
  149. package/build/browser/filter-list/utils/aggregationHelpers.js.map +1 -0
  150. package/build/browser/filter-list/utils/assertUnreachable.js +25 -0
  151. package/build/browser/filter-list/utils/assertUnreachable.js.map +1 -0
  152. package/build/browser/filter-list/utils/coerceFilterValue.js +33 -0
  153. package/build/browser/filter-list/utils/coerceFilterValue.js.map +1 -0
  154. package/build/browser/filter-list/utils/filterStateToWhereClause.js +337 -0
  155. package/build/browser/filter-list/utils/filterStateToWhereClause.js.map +1 -0
  156. package/build/browser/filter-list/utils/filterValues.js +55 -0
  157. package/build/browser/filter-list/utils/filterValues.js.map +1 -0
  158. package/build/browser/filter-list/utils/getFilterKey.js +34 -0
  159. package/build/browser/filter-list/utils/getFilterKey.js.map +1 -0
  160. package/build/browser/object-table/CellContextMenu.js +23 -20
  161. package/build/browser/object-table/CellContextMenu.module.css +20 -0
  162. package/build/browser/object-table/CellContextMenu.module.css.js +6 -0
  163. package/build/browser/object-table/ColumnConfigDialog.js +259 -0
  164. package/build/browser/object-table/ColumnConfigDialog.js.map +1 -0
  165. package/build/browser/object-table/ColumnConfigDialog.module.css +247 -0
  166. package/build/browser/object-table/ColumnConfigDialog.module.css.js +29 -0
  167. package/build/browser/object-table/DefaultCellRenderer.js +46 -0
  168. package/build/browser/object-table/DefaultCellRenderer.js.map +1 -0
  169. package/build/browser/object-table/EditableCell.js +101 -0
  170. package/build/browser/object-table/EditableCell.js.map +1 -0
  171. package/build/browser/object-table/EditableCell.module.css +31 -0
  172. package/build/browser/object-table/EditableCell.module.css.js +7 -0
  173. package/build/browser/object-table/LoadingCell.js +24 -29
  174. package/build/browser/object-table/LoadingCell.module.css +48 -0
  175. package/build/browser/object-table/LoadingCell.module.css.js +8 -0
  176. package/build/browser/object-table/LoadingRow.js +24 -50
  177. package/build/browser/object-table/LoadingStateTable.js +49 -343
  178. package/build/browser/object-table/LoadingStateTable.js.map +1 -1
  179. package/build/browser/object-table/MultiColumnSortDialog.js +178 -0
  180. package/build/browser/object-table/MultiColumnSortDialog.js.map +1 -0
  181. package/build/browser/object-table/MultiColumnSortDialog.module.css +195 -0
  182. package/build/browser/object-table/MultiColumnSortDialog.module.css.js +22 -0
  183. package/build/browser/object-table/NonIdealState.js +23 -20
  184. package/build/browser/object-table/NonIdealState.module.css +27 -0
  185. package/build/browser/object-table/NonIdealState.module.css.js +7 -0
  186. package/build/browser/object-table/ObjectTable.js +62 -16
  187. package/build/browser/object-table/ObjectTable.js.map +1 -1
  188. package/build/browser/object-table/ObjectTableApi.js.map +1 -1
  189. package/build/browser/object-table/SelectionCells.js +15 -4
  190. package/build/browser/object-table/SelectionCells.js.map +1 -1
  191. package/build/browser/object-table/SortableItemsList.js +35 -0
  192. package/build/browser/object-table/SortableItemsList.js.map +1 -0
  193. package/build/browser/object-table/Table.js +77 -934
  194. package/build/browser/object-table/Table.js.map +1 -1
  195. package/build/browser/object-table/Table.module.css +37 -0
  196. package/build/browser/object-table/Table.module.css.js +7 -0
  197. package/build/browser/object-table/TableBody.js +43 -261
  198. package/build/browser/object-table/TableBody.js.map +1 -1
  199. package/build/browser/object-table/TableBody.module.css +22 -0
  200. package/build/browser/object-table/TableBody.module.css.js +6 -0
  201. package/build/browser/object-table/TableCell.js +31 -111
  202. package/build/browser/object-table/TableCell.module.css +75 -0
  203. package/build/browser/object-table/TableCell.module.css.js +8 -0
  204. package/build/browser/object-table/TableEditContainer.js +79 -0
  205. package/build/browser/object-table/TableEditContainer.js.map +1 -0
  206. package/build/browser/object-table/TableEditContainer.module.css +44 -0
  207. package/build/browser/object-table/TableEditContainer.module.css.js +9 -0
  208. package/build/browser/object-table/TableHeader.js +126 -216
  209. package/build/browser/object-table/TableHeader.js.map +1 -1
  210. package/build/browser/object-table/TableHeader.module.css +108 -0
  211. package/build/browser/object-table/TableHeader.module.css.js +10 -0
  212. package/build/browser/object-table/TableHeaderContent.js +21 -18
  213. package/build/browser/object-table/TableHeaderContent.module.css +30 -0
  214. package/build/browser/object-table/TableHeaderContent.module.css.js +6 -0
  215. package/build/browser/object-table/TableHeaderWithPopover.js +110 -93
  216. package/build/browser/object-table/TableHeaderWithPopover.js.map +1 -1
  217. package/build/browser/object-table/TableHeaderWithPopover.module.css +141 -0
  218. package/build/browser/object-table/TableHeaderWithPopover.module.css.js +17 -0
  219. package/build/browser/object-table/TableRow.js +37 -147
  220. package/build/browser/object-table/TableRow.js.map +1 -1
  221. package/build/browser/object-table/TableRow.module.css +63 -0
  222. package/build/browser/object-table/TableRow.module.css.js +6 -0
  223. package/build/browser/object-table/hooks/__tests__/useColumnDefs.test.js +14 -2
  224. package/build/browser/object-table/hooks/__tests__/useColumnDefs.test.js.map +1 -1
  225. package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js +160 -138
  226. package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js.map +1 -1
  227. package/build/browser/object-table/hooks/__tests__/useEditableTable.test.js +292 -0
  228. package/build/browser/object-table/hooks/__tests__/useEditableTable.test.js.map +1 -0
  229. package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js +113 -25
  230. package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js.map +1 -1
  231. package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js +48 -0
  232. package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js.map +1 -1
  233. package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js +27 -82
  234. package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js.map +1 -1
  235. package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js +290 -0
  236. package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js.map +1 -1
  237. package/build/browser/object-table/hooks/useColumnDefs.js +16 -3
  238. package/build/browser/object-table/hooks/useColumnDefs.js.map +1 -1
  239. package/build/browser/object-table/hooks/useColumnResize.js +45 -0
  240. package/build/browser/object-table/hooks/useColumnResize.js.map +1 -0
  241. package/build/browser/object-table/hooks/useColumnVisibility.js +52 -20
  242. package/build/browser/object-table/hooks/useColumnVisibility.js.map +1 -1
  243. package/build/browser/object-table/hooks/useEditableTable.js +66 -0
  244. package/build/browser/object-table/hooks/useEditableTable.js.map +1 -0
  245. package/build/browser/object-table/hooks/useObjectTableData.js +37 -7
  246. package/build/browser/object-table/hooks/useObjectTableData.js.map +1 -1
  247. package/build/browser/object-table/hooks/useRowSelection.js +31 -10
  248. package/build/browser/object-table/hooks/useRowSelection.js.map +1 -1
  249. package/build/browser/object-table/hooks/useSelectionColumn.js +15 -6
  250. package/build/browser/object-table/hooks/useSelectionColumn.js.map +1 -1
  251. package/build/browser/object-table/utils/getCellId.js +20 -0
  252. package/build/browser/object-table/utils/getCellId.js.map +1 -0
  253. package/build/browser/object-table/utils/types.js +2 -0
  254. package/build/browser/object-table/utils/types.js.map +1 -0
  255. package/build/browser/public/experimental.js +2 -0
  256. package/build/browser/public/experimental.js.map +1 -1
  257. package/build/browser/shared/ErrorBoundary.js +62 -0
  258. package/build/browser/shared/ErrorBoundary.js.map +1 -0
  259. package/build/browser/shared/ErrorBoundary.module.css +55 -0
  260. package/build/browser/shared/ErrorBoundary.module.css.js +8 -0
  261. package/build/browser/styles.css +3133 -0
  262. package/build/cjs/public/experimental.cjs +4123 -248
  263. package/build/cjs/public/experimental.cjs.map +1 -1
  264. package/build/cjs/public/experimental.css +1873 -154
  265. package/build/cjs/public/experimental.css.map +1 -1
  266. package/build/cjs/public/experimental.d.cts +475 -50
  267. package/build/esm/base-components/action-button/ActionButton.js +31 -0
  268. package/build/esm/base-components/action-button/ActionButton.js.map +1 -0
  269. package/build/esm/base-components/action-button/ActionButton.module.css +70 -0
  270. package/build/esm/base-components/checkbox/Checkbox.module.css +1 -1
  271. package/build/esm/base-components/combobox/Combobox.js +124 -0
  272. package/build/esm/base-components/combobox/Combobox.js.map +1 -0
  273. package/build/esm/base-components/combobox/Combobox.module.css +177 -0
  274. package/build/esm/base-components/dialog/Dialog.js +52 -0
  275. package/build/esm/base-components/dialog/Dialog.js.map +1 -0
  276. package/build/esm/base-components/dialog/Dialog.module.css +101 -0
  277. package/build/esm/base-components/draggable-list/DraggableList.js +155 -0
  278. package/build/esm/base-components/draggable-list/DraggableList.js.map +1 -0
  279. package/build/esm/base-components/draggable-list/DraggableList.module.css +108 -0
  280. package/build/esm/base-components/search-bar/SearchBar.js +44 -0
  281. package/build/esm/base-components/search-bar/SearchBar.js.map +1 -0
  282. package/build/esm/base-components/search-bar/SearchBar.module.css +53 -0
  283. package/build/esm/base-components/select/Select.js +89 -0
  284. package/build/esm/base-components/select/Select.js.map +1 -0
  285. package/build/esm/base-components/select/Select.module.css +138 -0
  286. package/build/esm/base-components/switch/Switch.js +33 -0
  287. package/build/esm/base-components/switch/Switch.js.map +1 -0
  288. package/build/esm/base-components/switch/Switch.module.css +91 -0
  289. package/build/esm/filter-list/FilterListApi.js.map +1 -1
  290. package/build/esm/filter-list/FilterListItemApi.js.map +1 -1
  291. package/build/esm/filter-list/__tests__/LinkedPropertyInput.test.js +202 -0
  292. package/build/esm/filter-list/__tests__/LinkedPropertyInput.test.js.map +1 -0
  293. package/build/esm/filter-list/__tests__/dateUtils.test.js +55 -0
  294. package/build/esm/filter-list/__tests__/dateUtils.test.js.map +1 -0
  295. package/build/esm/filter-list/__tests__/filterStateToWhereClause.test.js +296 -0
  296. package/build/esm/filter-list/__tests__/filterStateToWhereClause.test.js.map +1 -0
  297. package/build/esm/filter-list/__tests__/getFilterKey.test.js +53 -0
  298. package/build/esm/filter-list/__tests__/getFilterKey.test.js.map +1 -0
  299. package/build/esm/filter-list/__tests__/testUtils.js +203 -0
  300. package/build/esm/filter-list/__tests__/testUtils.js.map +1 -0
  301. package/build/esm/filter-list/base/FilterInput.js +542 -0
  302. package/build/esm/filter-list/base/FilterInput.js.map +1 -0
  303. package/build/esm/filter-list/base/FilterList.js +77 -0
  304. package/build/esm/filter-list/base/FilterList.js.map +1 -0
  305. package/build/esm/filter-list/base/FilterList.module.css +67 -0
  306. package/build/esm/filter-list/base/FilterListContent.js +57 -0
  307. package/build/esm/filter-list/base/FilterListContent.js.map +1 -0
  308. package/build/esm/filter-list/base/FilterListContent.module.css +27 -0
  309. package/build/esm/filter-list/base/FilterListHeader.js +58 -0
  310. package/build/esm/filter-list/base/FilterListHeader.js.map +1 -0
  311. package/build/esm/filter-list/base/FilterListHeader.module.css +127 -0
  312. package/build/esm/filter-list/base/FilterListItem.js +75 -0
  313. package/build/esm/filter-list/base/FilterListItem.js.map +1 -0
  314. package/build/esm/filter-list/base/FilterListItem.module.css +38 -0
  315. package/build/esm/filter-list/base/index.js +22 -0
  316. package/build/esm/filter-list/base/index.js.map +1 -0
  317. package/build/esm/filter-list/base/inputs/CheckboxListInput.js +75 -0
  318. package/build/esm/filter-list/base/inputs/CheckboxListInput.js.map +1 -0
  319. package/build/esm/filter-list/base/inputs/CheckboxListInput.module.css +42 -0
  320. package/build/esm/filter-list/base/inputs/ContainsTextInput.js +85 -0
  321. package/build/esm/filter-list/base/inputs/ContainsTextInput.js.map +1 -0
  322. package/build/esm/filter-list/base/inputs/ContainsTextInput.module.css +91 -0
  323. package/build/esm/filter-list/base/inputs/DateRangeInput.js +37 -0
  324. package/build/esm/filter-list/base/inputs/DateRangeInput.js.map +1 -0
  325. package/build/esm/filter-list/base/inputs/LinkedPropertyInput.js +237 -0
  326. package/build/esm/filter-list/base/inputs/LinkedPropertyInput.js.map +1 -0
  327. package/build/esm/filter-list/base/inputs/LinkedPropertyInput.module.css +20 -0
  328. package/build/esm/filter-list/base/inputs/ListogramInput.js +98 -0
  329. package/build/esm/filter-list/base/inputs/ListogramInput.js.map +1 -0
  330. package/build/esm/filter-list/base/inputs/ListogramInput.module.css +88 -0
  331. package/build/esm/filter-list/base/inputs/MultiDateInput.js +82 -0
  332. package/build/esm/filter-list/base/inputs/MultiDateInput.js.map +1 -0
  333. package/build/esm/filter-list/base/inputs/MultiDateInput.module.css +54 -0
  334. package/build/esm/filter-list/base/inputs/MultiSelectInput.js +100 -0
  335. package/build/esm/filter-list/base/inputs/MultiSelectInput.js.map +1 -0
  336. package/build/esm/filter-list/base/inputs/MultiSelectInput.module.css +35 -0
  337. package/build/esm/filter-list/base/inputs/NullValueWrapper.js +76 -0
  338. package/build/esm/filter-list/base/inputs/NullValueWrapper.js.map +1 -0
  339. package/build/esm/filter-list/base/inputs/NullValueWrapper.module.css +49 -0
  340. package/build/esm/filter-list/base/inputs/NumberRangeInput.js +48 -0
  341. package/build/esm/filter-list/base/inputs/NumberRangeInput.js.map +1 -0
  342. package/build/esm/filter-list/base/inputs/RangeInput.js +187 -0
  343. package/build/esm/filter-list/base/inputs/RangeInput.js.map +1 -0
  344. package/build/esm/filter-list/base/inputs/RangeInput.module.css +81 -0
  345. package/build/esm/filter-list/base/inputs/SingleDateInput.js +61 -0
  346. package/build/esm/filter-list/base/inputs/SingleDateInput.js.map +1 -0
  347. package/build/esm/filter-list/base/inputs/SingleDateInput.module.css +63 -0
  348. package/build/esm/filter-list/base/inputs/SingleSelectInput.js +95 -0
  349. package/build/esm/filter-list/base/inputs/SingleSelectInput.js.map +1 -0
  350. package/build/esm/filter-list/base/inputs/SingleSelectInput.module.css +55 -0
  351. package/build/esm/filter-list/base/inputs/TextTagsInput.js +141 -0
  352. package/build/esm/filter-list/base/inputs/TextTagsInput.js.map +1 -0
  353. package/build/esm/filter-list/base/inputs/TextTagsInput.module.css +25 -0
  354. package/build/esm/filter-list/base/inputs/TimelineInput.js +74 -0
  355. package/build/esm/filter-list/base/inputs/TimelineInput.js.map +1 -0
  356. package/build/esm/filter-list/base/inputs/TimelineInput.module.css +73 -0
  357. package/build/esm/filter-list/base/inputs/ToggleInput.js +43 -0
  358. package/build/esm/filter-list/base/inputs/ToggleInput.js.map +1 -0
  359. package/build/esm/filter-list/base/inputs/ToggleInput.module.css +34 -0
  360. package/build/esm/filter-list/base/inputs/createHistogramBuckets.js +53 -0
  361. package/build/esm/filter-list/base/inputs/createHistogramBuckets.js.map +1 -0
  362. package/build/esm/filter-list/base/inputs/dateUtils.js +57 -0
  363. package/build/esm/filter-list/base/inputs/dateUtils.js.map +1 -0
  364. package/build/esm/filter-list/base/inputs/index.js +25 -0
  365. package/build/esm/filter-list/base/inputs/index.js.map +1 -0
  366. package/build/esm/filter-list/base/inputs/shared.module.css +79 -0
  367. package/build/esm/filter-list/hooks/__tests__/useFilterListState.test.js +128 -0
  368. package/build/esm/filter-list/hooks/__tests__/useFilterListState.test.js.map +1 -0
  369. package/build/esm/filter-list/hooks/useFilterListState.js +119 -0
  370. package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -0
  371. package/build/esm/filter-list/hooks/usePropertyAggregation.js +92 -0
  372. package/build/esm/filter-list/hooks/usePropertyAggregation.js.map +1 -0
  373. package/build/esm/filter-list/types/AddFilterMenuTypes.js +2 -0
  374. package/build/esm/filter-list/types/AddFilterMenuTypes.js.map +1 -0
  375. package/build/esm/filter-list/types/CustomRendererTypes.js +2 -0
  376. package/build/esm/filter-list/types/CustomRendererTypes.js.map +1 -0
  377. package/build/esm/filter-list/types/FilterPanelTypes.js +2 -0
  378. package/build/esm/filter-list/types/FilterPanelTypes.js.map +1 -0
  379. package/build/esm/filter-list/types/KeywordSearchTypes.js +2 -0
  380. package/build/esm/filter-list/types/KeywordSearchTypes.js.map +1 -0
  381. package/build/esm/filter-list/types/LinkedFilterTypes.js +2 -0
  382. package/build/esm/filter-list/types/LinkedFilterTypes.js.map +1 -0
  383. package/build/esm/filter-list/types/index.js +22 -0
  384. package/build/esm/filter-list/types/index.js.map +1 -0
  385. package/build/esm/filter-list/utils/aggregationHelpers.js +44 -0
  386. package/build/esm/filter-list/utils/aggregationHelpers.js.map +1 -0
  387. package/build/esm/filter-list/utils/assertUnreachable.js +25 -0
  388. package/build/esm/filter-list/utils/assertUnreachable.js.map +1 -0
  389. package/build/esm/filter-list/utils/coerceFilterValue.js +33 -0
  390. package/build/esm/filter-list/utils/coerceFilterValue.js.map +1 -0
  391. package/build/esm/filter-list/utils/filterStateToWhereClause.js +337 -0
  392. package/build/esm/filter-list/utils/filterStateToWhereClause.js.map +1 -0
  393. package/build/esm/filter-list/utils/filterValues.js +55 -0
  394. package/build/esm/filter-list/utils/filterValues.js.map +1 -0
  395. package/build/esm/filter-list/utils/getFilterKey.js +34 -0
  396. package/build/esm/filter-list/utils/getFilterKey.js.map +1 -0
  397. package/build/esm/object-table/ColumnConfigDialog.js +259 -0
  398. package/build/esm/object-table/ColumnConfigDialog.js.map +1 -0
  399. package/build/esm/object-table/ColumnConfigDialog.module.css +247 -0
  400. package/build/esm/object-table/DefaultCellRenderer.js +46 -0
  401. package/build/esm/object-table/DefaultCellRenderer.js.map +1 -0
  402. package/build/esm/object-table/EditableCell.js +101 -0
  403. package/build/esm/object-table/EditableCell.js.map +1 -0
  404. package/build/esm/object-table/EditableCell.module.css +31 -0
  405. package/build/esm/object-table/LoadingStateTable.js +4 -4
  406. package/build/esm/object-table/LoadingStateTable.js.map +1 -1
  407. package/build/esm/object-table/MultiColumnSortDialog.js +178 -0
  408. package/build/esm/object-table/MultiColumnSortDialog.js.map +1 -0
  409. package/build/esm/object-table/MultiColumnSortDialog.module.css +195 -0
  410. package/build/esm/object-table/NonIdealState.module.css +2 -3
  411. package/build/esm/object-table/ObjectTable.js +62 -16
  412. package/build/esm/object-table/ObjectTable.js.map +1 -1
  413. package/build/esm/object-table/ObjectTableApi.js.map +1 -1
  414. package/build/esm/object-table/SelectionCells.js +15 -4
  415. package/build/esm/object-table/SelectionCells.js.map +1 -1
  416. package/build/esm/object-table/SortableItemsList.js +35 -0
  417. package/build/esm/object-table/SortableItemsList.js.map +1 -0
  418. package/build/esm/object-table/Table.js +34 -9
  419. package/build/esm/object-table/Table.js.map +1 -1
  420. package/build/esm/object-table/Table.module.css +18 -3
  421. package/build/esm/object-table/TableBody.js +8 -2
  422. package/build/esm/object-table/TableBody.js.map +1 -1
  423. package/build/esm/object-table/TableBody.module.css +2 -0
  424. package/build/esm/object-table/TableCell.module.css +14 -1
  425. package/build/esm/object-table/TableEditContainer.js +79 -0
  426. package/build/esm/object-table/TableEditContainer.js.map +1 -0
  427. package/build/esm/object-table/TableEditContainer.module.css +44 -0
  428. package/build/esm/object-table/TableHeader.js +93 -6
  429. package/build/esm/object-table/TableHeader.js.map +1 -1
  430. package/build/esm/object-table/TableHeader.module.css +9 -2
  431. package/build/esm/object-table/TableHeaderWithPopover.js +53 -22
  432. package/build/esm/object-table/TableHeaderWithPopover.js.map +1 -1
  433. package/build/esm/object-table/TableHeaderWithPopover.module.css +56 -25
  434. package/build/esm/object-table/TableRow.js +12 -4
  435. package/build/esm/object-table/TableRow.js.map +1 -1
  436. package/build/esm/object-table/TableRow.module.css +4 -1
  437. package/build/esm/object-table/hooks/__tests__/useColumnDefs.test.js +14 -2
  438. package/build/esm/object-table/hooks/__tests__/useColumnDefs.test.js.map +1 -1
  439. package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js +160 -138
  440. package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js.map +1 -1
  441. package/build/esm/object-table/hooks/__tests__/useEditableTable.test.js +292 -0
  442. package/build/esm/object-table/hooks/__tests__/useEditableTable.test.js.map +1 -0
  443. package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js +113 -25
  444. package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js.map +1 -1
  445. package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js +48 -0
  446. package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js.map +1 -1
  447. package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js +27 -82
  448. package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js.map +1 -1
  449. package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js +290 -0
  450. package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js.map +1 -1
  451. package/build/esm/object-table/hooks/useColumnDefs.js +16 -3
  452. package/build/esm/object-table/hooks/useColumnDefs.js.map +1 -1
  453. package/build/esm/object-table/hooks/useColumnResize.js +45 -0
  454. package/build/esm/object-table/hooks/useColumnResize.js.map +1 -0
  455. package/build/esm/object-table/hooks/useColumnVisibility.js +52 -20
  456. package/build/esm/object-table/hooks/useColumnVisibility.js.map +1 -1
  457. package/build/esm/object-table/hooks/useEditableTable.js +66 -0
  458. package/build/esm/object-table/hooks/useEditableTable.js.map +1 -0
  459. package/build/esm/object-table/hooks/useObjectTableData.js +37 -7
  460. package/build/esm/object-table/hooks/useObjectTableData.js.map +1 -1
  461. package/build/esm/object-table/hooks/useRowSelection.js +31 -10
  462. package/build/esm/object-table/hooks/useRowSelection.js.map +1 -1
  463. package/build/esm/object-table/hooks/useSelectionColumn.js +15 -6
  464. package/build/esm/object-table/hooks/useSelectionColumn.js.map +1 -1
  465. package/build/esm/object-table/utils/getCellId.js +20 -0
  466. package/build/esm/object-table/utils/getCellId.js.map +1 -0
  467. package/build/esm/object-table/utils/types.js +2 -0
  468. package/build/esm/object-table/utils/types.js.map +1 -0
  469. package/build/esm/public/experimental.js +2 -0
  470. package/build/esm/public/experimental.js.map +1 -1
  471. package/build/esm/shared/ErrorBoundary.js +62 -0
  472. package/build/esm/shared/ErrorBoundary.js.map +1 -0
  473. package/build/esm/shared/ErrorBoundary.module.css +55 -0
  474. package/build/types/base-components/action-button/ActionButton.d.ts +5 -0
  475. package/build/types/base-components/action-button/ActionButton.d.ts.map +1 -0
  476. package/build/types/base-components/combobox/Combobox.d.ts +52 -0
  477. package/build/types/base-components/combobox/Combobox.d.ts.map +1 -0
  478. package/build/types/base-components/dialog/Dialog.d.ts +10 -0
  479. package/build/types/base-components/dialog/Dialog.d.ts.map +1 -0
  480. package/build/types/base-components/draggable-list/DraggableList.d.ts +17 -0
  481. package/build/types/base-components/draggable-list/DraggableList.d.ts.map +1 -0
  482. package/build/types/base-components/search-bar/SearchBar.d.ts +11 -0
  483. package/build/types/base-components/search-bar/SearchBar.d.ts.map +1 -0
  484. package/build/types/base-components/select/Select.d.ts +34 -0
  485. package/build/types/base-components/select/Select.d.ts.map +1 -0
  486. package/build/types/base-components/switch/Switch.d.ts +10 -0
  487. package/build/types/base-components/switch/Switch.d.ts.map +1 -0
  488. package/build/types/filter-list/FilterListApi.d.ts +62 -17
  489. package/build/types/filter-list/FilterListApi.d.ts.map +1 -1
  490. package/build/types/filter-list/FilterListItemApi.d.ts +101 -53
  491. package/build/types/filter-list/FilterListItemApi.d.ts.map +1 -1
  492. package/build/types/filter-list/__tests__/LinkedPropertyInput.test.d.ts +1 -0
  493. package/build/types/filter-list/__tests__/LinkedPropertyInput.test.d.ts.map +1 -0
  494. package/build/types/filter-list/__tests__/dateUtils.test.d.ts +1 -0
  495. package/build/types/filter-list/__tests__/dateUtils.test.d.ts.map +1 -0
  496. package/build/types/filter-list/__tests__/filterStateToWhereClause.test.d.ts +1 -0
  497. package/build/types/filter-list/__tests__/filterStateToWhereClause.test.d.ts.map +1 -0
  498. package/build/types/filter-list/__tests__/getFilterKey.test.d.ts +1 -0
  499. package/build/types/filter-list/__tests__/getFilterKey.test.d.ts.map +1 -0
  500. package/build/types/filter-list/__tests__/testUtils.d.ts +65 -0
  501. package/build/types/filter-list/__tests__/testUtils.d.ts.map +1 -0
  502. package/build/types/filter-list/base/FilterInput.d.ts +15 -0
  503. package/build/types/filter-list/base/FilterInput.d.ts.map +1 -0
  504. package/build/types/filter-list/base/FilterList.d.ts +4 -0
  505. package/build/types/filter-list/base/FilterList.d.ts.map +1 -0
  506. package/build/types/filter-list/base/FilterListContent.d.ts +16 -0
  507. package/build/types/filter-list/base/FilterListContent.d.ts.map +1 -0
  508. package/build/types/filter-list/base/FilterListHeader.d.ts +14 -0
  509. package/build/types/filter-list/base/FilterListHeader.d.ts.map +1 -0
  510. package/build/types/filter-list/base/FilterListItem.d.ts +18 -0
  511. package/build/types/filter-list/base/FilterListItem.d.ts.map +1 -0
  512. package/build/types/filter-list/base/index.d.ts +5 -0
  513. package/build/types/filter-list/base/index.d.ts.map +1 -0
  514. package/build/types/filter-list/base/inputs/CheckboxListInput.d.ts +21 -0
  515. package/build/types/filter-list/base/inputs/CheckboxListInput.d.ts.map +1 -0
  516. package/build/types/filter-list/base/inputs/ContainsTextInput.d.ts +13 -0
  517. package/build/types/filter-list/base/inputs/ContainsTextInput.d.ts.map +1 -0
  518. package/build/types/filter-list/base/inputs/DateRangeInput.d.ts +22 -0
  519. package/build/types/filter-list/base/inputs/DateRangeInput.d.ts.map +1 -0
  520. package/build/types/filter-list/base/inputs/LinkedPropertyInput.d.ts +21 -0
  521. package/build/types/filter-list/base/inputs/LinkedPropertyInput.d.ts.map +1 -0
  522. package/build/types/filter-list/base/inputs/ListogramInput.d.ts +22 -0
  523. package/build/types/filter-list/base/inputs/ListogramInput.d.ts.map +1 -0
  524. package/build/types/filter-list/base/inputs/MultiDateInput.d.ts +12 -0
  525. package/build/types/filter-list/base/inputs/MultiDateInput.d.ts.map +1 -0
  526. package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts +24 -0
  527. package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts.map +1 -0
  528. package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts +21 -0
  529. package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts.map +1 -0
  530. package/build/types/filter-list/base/inputs/NumberRangeInput.d.ts +22 -0
  531. package/build/types/filter-list/base/inputs/NumberRangeInput.d.ts.map +1 -0
  532. package/build/types/filter-list/base/inputs/RangeInput.d.ts +37 -0
  533. package/build/types/filter-list/base/inputs/RangeInput.d.ts.map +1 -0
  534. package/build/types/filter-list/base/inputs/SingleDateInput.d.ts +13 -0
  535. package/build/types/filter-list/base/inputs/SingleDateInput.d.ts.map +1 -0
  536. package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts +24 -0
  537. package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts.map +1 -0
  538. package/build/types/filter-list/base/inputs/TextTagsInput.d.ts +24 -0
  539. package/build/types/filter-list/base/inputs/TextTagsInput.d.ts.map +1 -0
  540. package/build/types/filter-list/base/inputs/TimelineInput.d.ts +11 -0
  541. package/build/types/filter-list/base/inputs/TimelineInput.d.ts.map +1 -0
  542. package/build/types/filter-list/base/inputs/ToggleInput.d.ts +10 -0
  543. package/build/types/filter-list/base/inputs/ToggleInput.d.ts.map +1 -0
  544. package/build/types/filter-list/base/inputs/createHistogramBuckets.d.ts +16 -0
  545. package/build/types/filter-list/base/inputs/createHistogramBuckets.d.ts.map +1 -0
  546. package/build/types/filter-list/base/inputs/dateUtils.d.ts +17 -0
  547. package/build/types/filter-list/base/inputs/dateUtils.d.ts.map +1 -0
  548. package/build/types/filter-list/base/inputs/index.d.ts +8 -0
  549. package/build/types/filter-list/base/inputs/index.d.ts.map +1 -0
  550. package/build/types/filter-list/hooks/__tests__/useFilterListState.test.d.ts +1 -0
  551. package/build/types/filter-list/hooks/__tests__/useFilterListState.test.d.ts.map +1 -0
  552. package/build/types/filter-list/hooks/useFilterListState.d.ts +11 -0
  553. package/build/types/filter-list/hooks/useFilterListState.d.ts.map +1 -0
  554. package/build/types/filter-list/hooks/usePropertyAggregation.d.ts +20 -0
  555. package/build/types/filter-list/hooks/usePropertyAggregation.d.ts.map +1 -0
  556. package/build/types/filter-list/types/AddFilterMenuTypes.d.ts +56 -0
  557. package/build/types/filter-list/types/AddFilterMenuTypes.d.ts.map +1 -0
  558. package/build/types/filter-list/types/CustomRendererTypes.d.ts +76 -0
  559. package/build/types/filter-list/types/CustomRendererTypes.d.ts.map +1 -0
  560. package/build/types/filter-list/types/FilterPanelTypes.d.ts +18 -0
  561. package/build/types/filter-list/types/FilterPanelTypes.d.ts.map +1 -0
  562. package/build/types/filter-list/types/KeywordSearchTypes.d.ts +56 -0
  563. package/build/types/filter-list/types/KeywordSearchTypes.d.ts.map +1 -0
  564. package/build/types/filter-list/types/LinkedFilterTypes.d.ts +89 -0
  565. package/build/types/filter-list/types/LinkedFilterTypes.d.ts.map +1 -0
  566. package/build/types/filter-list/types/index.d.ts +5 -0
  567. package/build/types/filter-list/types/index.d.ts.map +1 -0
  568. package/build/types/filter-list/utils/aggregationHelpers.d.ts +9 -0
  569. package/build/types/filter-list/utils/aggregationHelpers.d.ts.map +1 -0
  570. package/build/types/filter-list/utils/assertUnreachable.d.ts +6 -0
  571. package/build/types/filter-list/utils/assertUnreachable.d.ts.map +1 -0
  572. package/build/types/filter-list/utils/coerceFilterValue.d.ts +11 -0
  573. package/build/types/filter-list/utils/coerceFilterValue.d.ts.map +1 -0
  574. package/build/types/filter-list/utils/filterStateToWhereClause.d.ts +16 -0
  575. package/build/types/filter-list/utils/filterStateToWhereClause.d.ts.map +1 -0
  576. package/build/types/filter-list/utils/filterValues.d.ts +5 -0
  577. package/build/types/filter-list/utils/filterValues.d.ts.map +1 -0
  578. package/build/types/filter-list/utils/getFilterKey.d.ts +3 -0
  579. package/build/types/filter-list/utils/getFilterKey.d.ts.map +1 -0
  580. package/build/types/object-table/ColumnConfigDialog.d.ts +18 -0
  581. package/build/types/object-table/ColumnConfigDialog.d.ts.map +1 -0
  582. package/build/types/object-table/DefaultCellRenderer.d.ts +3 -0
  583. package/build/types/object-table/DefaultCellRenderer.d.ts.map +1 -0
  584. package/build/types/object-table/EditableCell.d.ts +22 -0
  585. package/build/types/object-table/EditableCell.d.ts.map +1 -0
  586. package/build/types/object-table/LoadingStateTable.d.ts.map +1 -1
  587. package/build/types/object-table/MultiColumnSortDialog.d.ts +15 -0
  588. package/build/types/object-table/MultiColumnSortDialog.d.ts.map +1 -0
  589. package/build/types/object-table/ObjectTable.d.ts +1 -1
  590. package/build/types/object-table/ObjectTable.d.ts.map +1 -1
  591. package/build/types/object-table/ObjectTableApi.d.ts +89 -8
  592. package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
  593. package/build/types/object-table/SortableItemsList.d.ts +13 -0
  594. package/build/types/object-table/SortableItemsList.d.ts.map +1 -0
  595. package/build/types/object-table/Table.d.ts +21 -1
  596. package/build/types/object-table/Table.d.ts.map +1 -1
  597. package/build/types/object-table/TableBody.d.ts +4 -1
  598. package/build/types/object-table/TableBody.d.ts.map +1 -1
  599. package/build/types/object-table/TableEditContainer.d.ts +9 -0
  600. package/build/types/object-table/TableEditContainer.d.ts.map +1 -0
  601. package/build/types/object-table/TableHeader.d.ts +3 -1
  602. package/build/types/object-table/TableHeader.d.ts.map +1 -1
  603. package/build/types/object-table/TableHeaderWithPopover.d.ts +30 -6
  604. package/build/types/object-table/TableHeaderWithPopover.d.ts.map +1 -1
  605. package/build/types/object-table/TableRow.d.ts +5 -1
  606. package/build/types/object-table/TableRow.d.ts.map +1 -1
  607. package/build/types/object-table/hooks/__tests__/useEditableTable.test.d.ts +1 -0
  608. package/build/types/object-table/hooks/__tests__/useEditableTable.test.d.ts.map +1 -0
  609. package/build/types/object-table/hooks/useColumnDefs.d.ts.map +1 -1
  610. package/build/types/object-table/hooks/useColumnResize.d.ts +10 -0
  611. package/build/types/object-table/hooks/useColumnResize.d.ts.map +1 -0
  612. package/build/types/object-table/hooks/useColumnVisibility.d.ts +18 -7
  613. package/build/types/object-table/hooks/useColumnVisibility.d.ts.map +1 -1
  614. package/build/types/object-table/hooks/useEditableTable.d.ts +17 -0
  615. package/build/types/object-table/hooks/useEditableTable.d.ts.map +1 -0
  616. package/build/types/object-table/hooks/useObjectTableData.d.ts +6 -5
  617. package/build/types/object-table/hooks/useObjectTableData.d.ts.map +1 -1
  618. package/build/types/object-table/hooks/useRowSelection.d.ts +5 -4
  619. package/build/types/object-table/hooks/useRowSelection.d.ts.map +1 -1
  620. package/build/types/object-table/utils/getCellId.d.ts +2 -0
  621. package/build/types/object-table/utils/getCellId.d.ts.map +1 -0
  622. package/build/types/object-table/utils/types.d.ts +36 -0
  623. package/build/types/object-table/utils/types.d.ts.map +1 -0
  624. package/build/types/public/experimental.d.ts +6 -2
  625. package/build/types/public/experimental.d.ts.map +1 -1
  626. package/build/types/shared/ErrorBoundary.d.ts +19 -0
  627. package/build/types/shared/ErrorBoundary.d.ts.map +1 -0
  628. package/package.json +16 -8
@@ -1,55 +1,201 @@
1
- import { ObjectTypeDefinition, PropertyKeys, WirePropertyTypes, CompileTimeMetadata, ObjectSet, WhereClause, ObjectOrInterfaceDefinition, SimplePropertyDef, QueryDefinition, DerivedProperty, Osdk, PrimaryKeyType } from '@osdk/api';
1
+ import { ObjectTypeDefinition, ObjectSet, WhereClause, PropertyKeys, LinkNames, LinkedType, WirePropertyTypes, CompileTimeMetadata, ObjectOrInterfaceDefinition, SimplePropertyDef, QueryDefinition, DerivedProperty, Osdk, PrimaryKeyType } from '@osdk/api';
2
2
  import * as React from 'react';
3
- import React__default, { ReactElement } from 'react';
4
- import { RowData, Table, Cell } from '@tanstack/react-table';
3
+ import React__default, { ReactNode, ReactElement } from 'react';
4
+ import { RowData, Table, Cell, VisibilityState, ColumnOrderState } from '@tanstack/react-table';
5
5
 
6
6
  /**
7
- * Props for a single filter list item component
7
+ * State for custom filter
8
8
  */
9
- interface FilterListItemProps<Q extends ObjectTypeDefinition, K extends PropertyKeys<Q> = PropertyKeys<Q>, C extends ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>> = ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>>> extends FilterDefinition<Q, K, C> {
9
+ interface CustomFilterState<T = Record<string, unknown>> extends BaseFilterState {
10
+ type: "custom";
11
+ customState: T;
12
+ }
13
+ /**
14
+ * Props passed to custom filter input renderer
15
+ */
16
+ interface CustomFilterInputRendererProps<Q extends ObjectTypeDefinition, State extends BaseFilterState> {
10
17
  objectSet: ObjectSet<Q>;
18
+ filterState: State;
19
+ onFilterStateChanged: (newState: State) => void;
20
+ }
21
+ /**
22
+ * Props passed to custom filter item renderer
23
+ * Includes full item context in addition to input renderer props
24
+ */
25
+ interface CustomFilterItemRendererProps<Q extends ObjectTypeDefinition, State extends BaseFilterState> extends CustomFilterInputRendererProps<Q, State> {
26
+ label: string;
27
+ onRemove?: () => void;
28
+ }
29
+ /**
30
+ * Filter definition for custom filters
31
+ * Provides full control over rendering and filter logic
32
+ */
33
+ interface CustomFilterDefinition<Q extends ObjectTypeDefinition, State extends BaseFilterState = CustomFilterState> {
34
+ type: "CUSTOM";
11
35
  /**
12
- * Called when the state of the filter changes.
13
- * Required in controlled mode.
36
+ * Optional unique identifier for stable keying across filter reorders.
37
+ * If provided, takes precedence over `key` for state keying.
14
38
  */
15
- onFilterStateChanged: (state: FilterStateByComponentType[C]) => void;
16
- onFilterRemoved?: (key: PropertyKeys<Q>) => void;
39
+ id?: string;
40
+ /**
41
+ * Unique key for this custom filter
42
+ */
43
+ key: string;
44
+ label?: string;
45
+ filterComponent: "CUSTOM";
46
+ filterState: State;
47
+ defaultFilterState?: State;
48
+ /**
49
+ * Render the input portion of the filter
50
+ * Used when rendering within a filter item wrapper
51
+ */
52
+ renderInput?: (props: CustomFilterInputRendererProps<Q, State>) => ReactNode;
53
+ /**
54
+ * Render the complete filter item
55
+ * Used when you need full control over the item appearance
56
+ */
57
+ renderItem?: (props: CustomFilterItemRendererProps<Q, State>) => ReactNode;
58
+ /**
59
+ * Convert filter state to a WhereClause for filtering
60
+ * Required for the filter to affect the object set
61
+ */
62
+ toWhereClause: (state: State) => WhereClause<Q> | undefined;
63
+ /**
64
+ * Controls whether this filter is rendered.
65
+ * When false, the filter is hidden but its state is preserved.
66
+ * @default true
67
+ */
68
+ isVisible?: boolean;
17
69
  }
70
+
18
71
  /**
19
- * A filter definition specifies configuration for a single filter
20
- *
21
- * The component type C must be compatible with the property type derived from the key.
22
- * For example, boolean properties can only use LISTOGRAM,
23
- * while string properties can use LISTOGRAM, TEXT_TAGS, or CONTAINS_TEXT.
72
+ * Keys of string properties on an object type
24
73
  */
25
- interface FilterDefinition<Q extends ObjectTypeDefinition, K extends PropertyKeys<Q> = PropertyKeys<Q>, C extends ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>> = ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>>> {
74
+ type StringPropertyKeys<Q extends ObjectTypeDefinition> = PropertyKeys.Filtered<Q, "string">;
75
+ /**
76
+ * State for keyword search filter
77
+ */
78
+ interface KeywordSearchFilterState extends BaseFilterState {
79
+ type: "keywordSearch";
80
+ searchTerm: string;
26
81
  /**
27
- * The property key to filter on
82
+ * How multiple terms are combined
83
+ * - "AND": All terms must match
84
+ * - "OR": Any term must match
28
85
  */
29
- key: K;
86
+ operator: "AND" | "OR";
87
+ }
88
+ /**
89
+ * Filter definition for keyword search across string properties
90
+ */
91
+ interface KeywordSearchFilterDefinition<Q extends ObjectTypeDefinition, K extends StringPropertyKeys<Q> = StringPropertyKeys<Q>> {
92
+ type: "KEYWORD_SEARCH";
30
93
  /**
31
- * Display label for the filter
94
+ * Optional unique identifier for stable keying across filter reorders.
95
+ */
96
+ id?: string;
97
+ /**
98
+ * Properties to search within
99
+ * - "all": Search all string properties
100
+ * - K[]: Search specific string properties
32
101
  */
102
+ properties: "all" | K[];
33
103
  label?: string;
34
104
  /**
35
- * The filter component type to render
36
- * Must be compatible with the property type derived from the key, see ValidComponentsForPropertyType
105
+ * Controlled state for the filter.
106
+ * When provided, the filter becomes controlled and changes should be
107
+ * handled via onFilterStateChanged callback.
37
108
  */
38
- filterComponent: C;
109
+ filterState?: KeywordSearchFilterState;
39
110
  /**
40
- * The current state of the filter.
41
- * If provided, the filter is controlled.
111
+ * Default state for uncontrolled mode.
112
+ * Used when filterState is not provided.
42
113
  */
43
- filterState: FilterStateByComponentType[C];
114
+ defaultFilterState?: KeywordSearchFilterState;
115
+ /**
116
+ * Controls whether this filter is rendered.
117
+ * When false, the filter is hidden but its state is preserved.
118
+ * @default true
119
+ */
120
+ isVisible?: boolean;
44
121
  }
122
+
123
+ /**
124
+ * State for "has link" filter
125
+ */
126
+ interface HasLinkFilterState extends BaseFilterState {
127
+ type: "hasLink";
128
+ hasLink: boolean;
129
+ }
130
+ /**
131
+ * State for linked property filter
132
+ * Wraps the filter state of the linked property
133
+ */
134
+ interface LinkedPropertyFilterState<S extends FilterState = FilterState> extends BaseFilterState {
135
+ type: "linkedProperty";
136
+ linkedFilterState: S;
137
+ }
138
+ /**
139
+ * Filter definition for "Has Link" filter
140
+ * Filters objects based on whether they have any linked objects of the specified type
141
+ */
142
+ interface HasLinkFilterDefinition<Q extends ObjectTypeDefinition, L extends LinkNames<Q> = LinkNames<Q>> {
143
+ type: "HAS_LINK";
144
+ /**
145
+ * Optional unique identifier for stable keying across filter reorders.
146
+ */
147
+ id?: string;
148
+ linkName: L;
149
+ label?: string;
150
+ filterState: HasLinkFilterState;
151
+ defaultFilterState?: HasLinkFilterState;
152
+ /**
153
+ * Controls whether this filter is rendered.
154
+ * When false, the filter is hidden but its state is preserved.
155
+ * @default true
156
+ */
157
+ isVisible?: boolean;
158
+ }
159
+ /**
160
+ * Filter definition for filtering on a property of linked objects
161
+ */
162
+ interface LinkedPropertyFilterDefinition<Q extends ObjectTypeDefinition, L extends LinkNames<Q>, LinkedQ extends ObjectTypeDefinition = LinkedType<Q, L>, LinkedK extends PropertyKeys<LinkedQ> = PropertyKeys<LinkedQ>, LinkedC extends ValidComponentsForPropertyType<PropertyTypeFromKey<LinkedQ, LinkedK>> = ValidComponentsForPropertyType<PropertyTypeFromKey<LinkedQ, LinkedK>>> {
163
+ type: "LINKED_PROPERTY";
164
+ /**
165
+ * Optional unique identifier for stable keying across filter reorders.
166
+ */
167
+ id?: string;
168
+ linkName: L;
169
+ linkedPropertyKey: LinkedK;
170
+ linkedFilterComponent: LinkedC;
171
+ linkedFilterState: FilterStateByComponentType[LinkedC];
172
+ defaultLinkedFilterState?: FilterStateByComponentType[LinkedC];
173
+ filterState: LinkedPropertyFilterState<FilterStateByComponentType[LinkedC]>;
174
+ label?: string;
175
+ /**
176
+ * Controls whether this filter is rendered.
177
+ * When false, the filter is hidden but its state is preserved.
178
+ * @default true
179
+ */
180
+ isVisible?: boolean;
181
+ }
182
+
45
183
  /**
46
184
  * Helper type to extract the property type from an ObjectTypeDefinition given a property key
47
185
  */
48
186
  type PropertyTypeFromKey<Q extends ObjectTypeDefinition, K extends PropertyKeys<Q>> = CompileTimeMetadata<Q>["properties"][K]["type"];
187
+ /**
188
+ * All available filter component types
189
+ */
190
+ type FilterComponentType = "LISTOGRAM" | "DATE_RANGE" | "NUMBER_RANGE" | "TEXT_TAGS" | "CONTAINS_TEXT" | "SINGLE_SELECT" | "MULTI_SELECT" | "SINGLE_DATE" | "MULTI_DATE" | "TIMELINE" | "CHECKBOX_LIST" | "TOGGLE";
49
191
  /**
50
192
  * Gets valid component types for a given property type
51
193
  */
52
- type ValidComponentsForPropertyType<P extends WirePropertyTypes> = P extends "boolean" ? "LISTOGRAM" : P extends "string" ? "LISTOGRAM" | "TEXT_TAGS" | "CONTAINS_TEXT" : P extends "datetime" | "timestamp" ? "DATE_RANGE" : P extends "double" | "integer" | "long" | "float" | "short" | "byte" | "decimal" ? "NUMBER_RANGE" : never;
194
+ type ValidComponentsForPropertyType<P extends WirePropertyTypes> = P extends "boolean" ? "LISTOGRAM" | "CHECKBOX_LIST" | "SINGLE_SELECT" | "TOGGLE" : P extends "string" ? "LISTOGRAM" | "TEXT_TAGS" | "CONTAINS_TEXT" | "SINGLE_SELECT" | "MULTI_SELECT" | "CHECKBOX_LIST" : P extends "datetime" | "timestamp" ? "DATE_RANGE" | "SINGLE_DATE" | "MULTI_DATE" | "TIMELINE" : P extends "double" | "integer" | "long" | "float" | "short" | "byte" | "decimal" ? "NUMBER_RANGE" | "SINGLE_SELECT" | "MULTI_SELECT" : never;
195
+ /**
196
+ * Union of all possible filter states
197
+ */
198
+ type FilterState = ExactMatchFilterState<string | boolean> | DateRangeFilterState | ContainsTextFilterState | NumberRangeFilterState | SelectFilterState<string | boolean | number> | SelectFilterState<Date> | TimelineFilterState | ToggleFilterState | HasLinkFilterState | LinkedPropertyFilterState | KeywordSearchFilterState | CustomFilterState;
53
199
  /**
54
200
  * Maps component types to their corresponding state types
55
201
  */
@@ -59,8 +205,18 @@ interface FilterStateByComponentType {
59
205
  TEXT_TAGS: ExactMatchFilterState<string>;
60
206
  CONTAINS_TEXT: ContainsTextFilterState;
61
207
  NUMBER_RANGE: NumberRangeFilterState;
208
+ SINGLE_SELECT: SelectFilterState<string | boolean | number>;
209
+ MULTI_SELECT: SelectFilterState<string | boolean | number>;
210
+ SINGLE_DATE: SelectFilterState<Date>;
211
+ MULTI_DATE: SelectFilterState<Date>;
212
+ TIMELINE: TimelineFilterState;
213
+ CHECKBOX_LIST: SelectFilterState<string>;
214
+ TOGGLE: ToggleFilterState;
62
215
  }
63
- type FilterStateType = "EXACT_MATCH" | "DATE_RANGE" | "NUMBER_RANGE" | "CONTAINS_TEXT";
216
+ /**
217
+ * All filter state discriminator types
218
+ */
219
+ type FilterStateType = "EXACT_MATCH" | "DATE_RANGE" | "NUMBER_RANGE" | "CONTAINS_TEXT" | "SELECT" | "TIMELINE" | "TOGGLE" | "hasLink" | "linkedProperty" | "keywordSearch" | "custom";
64
220
  /**
65
221
  * Base interface for all filter states
66
222
  * Contains common properties shared across all filter types
@@ -111,17 +267,109 @@ interface NumberRangeFilterState extends BaseFilterState {
111
267
  */
112
268
  maxValue?: number;
113
269
  }
270
+ /**
271
+ * Consolidated state type for select-based filters.
272
+ * Used by SINGLE_SELECT, MULTI_SELECT, SINGLE_DATE, MULTI_DATE, and CHECKBOX_LIST.
273
+ */
274
+ interface SelectFilterState<T = string | boolean | number | Date> extends BaseFilterState {
275
+ type: "SELECT";
276
+ selectedValues: T[];
277
+ }
278
+ interface TimelineFilterState extends BaseFilterState {
279
+ type: "TIMELINE";
280
+ startDate?: Date;
281
+ endDate?: Date;
282
+ granularity?: "day" | "week" | "month" | "quarter" | "year";
283
+ }
284
+ interface ToggleFilterState extends BaseFilterState {
285
+ type: "TOGGLE";
286
+ enabled: boolean;
287
+ }
288
+ /**
289
+ * A property filter definition specifies configuration for filtering on a single property
290
+ *
291
+ * The component type C must be compatible with the property type derived from the key.
292
+ * For example, boolean properties can only use LISTOGRAM, CHECKBOX_LIST, or SINGLE_SELECT,
293
+ * while string properties can use LISTOGRAM, TEXT_TAGS, CONTAINS_TEXT, SINGLE_SELECT, MULTI_SELECT, or CHECKBOX_LIST.
294
+ */
295
+ interface PropertyFilterDefinition<Q extends ObjectTypeDefinition, K extends PropertyKeys<Q> = PropertyKeys<Q>, C extends ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>> = ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>>> {
296
+ /**
297
+ * Discriminator for filter definition type
298
+ */
299
+ type: "PROPERTY";
300
+ /**
301
+ * Optional unique identifier for stable keying across filter reorders.
302
+ */
303
+ id?: string;
304
+ /**
305
+ * The property key to filter on
306
+ */
307
+ key: K;
308
+ /**
309
+ * Display label for the filter
310
+ */
311
+ label?: string;
312
+ /**
313
+ * The filter component type to render
314
+ * Must be compatible with the property type derived from the key, see ValidComponentsForPropertyType
315
+ */
316
+ filterComponent: C;
317
+ /**
318
+ * The current state of the filter.
319
+ * If provided, the filter is controlled.
320
+ */
321
+ filterState: FilterStateByComponentType[C];
322
+ /**
323
+ * Controls whether this filter is rendered.
324
+ * When false, the filter is hidden but its state is preserved.
325
+ * @default true
326
+ */
327
+ isVisible?: boolean;
328
+ }
329
+ /**
330
+ * Props for a single filter list item component.
331
+ * Extends PropertyFilterDefinition with runtime props for rendering.
332
+ */
333
+ interface FilterListItemProps<Q extends ObjectTypeDefinition, K extends PropertyKeys<Q> = PropertyKeys<Q>, C extends ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>> = ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>>> extends PropertyFilterDefinition<Q, K, C> {
334
+ objectSet: ObjectSet<Q>;
335
+ /**
336
+ * Called when the state of the filter changes.
337
+ * Required in controlled mode.
338
+ */
339
+ onFilterStateChanged: (state: FilterStateByComponentType[C]) => void;
340
+ onFilterRemoved?: (key: PropertyKeys<Q>) => void;
341
+ }
114
342
 
343
+ /**
344
+ * Union type of all filter definition types
345
+ */
346
+ type FilterDefinitionUnion<Q extends ObjectTypeDefinition> = PropertyFilterDefinition<Q> | HasLinkFilterDefinition<Q> | LinkedPropertyFilterDefinition<Q, LinkNames<Q>> | KeywordSearchFilterDefinition<Q> | CustomFilterDefinition<Q>;
347
+ /**
348
+ * Extract the key from a filter definition union
349
+ */
350
+ type FilterKey<Q extends ObjectTypeDefinition> = FilterDefinitionUnion<Q> extends infer D ? D extends {
351
+ key: infer K;
352
+ } ? K : D extends {
353
+ linkName: infer L;
354
+ } ? L : never : never;
115
355
  interface FilterListProps<Q extends ObjectTypeDefinition> {
116
356
  /**
117
357
  * The set of objects to be filtered
118
358
  */
119
359
  objectSet: ObjectSet<Q>;
360
+ /**
361
+ * Optional title to display in the filter list header
362
+ */
363
+ title?: string;
364
+ /**
365
+ * Optional icon to display next to the title
366
+ */
367
+ titleIcon?: React__default.ReactNode;
120
368
  /**
121
369
  * The definition for all supported filter items in the list
122
370
  * If not supplied, all filterable properties will be available
123
371
  */
124
- filterDefinitions?: Array<FilterDefinition<Q>>;
372
+ filterDefinitions?: Array<FilterDefinitionUnion<Q>>;
125
373
  /**
126
374
  * The current where clause to filter the objectSet.
127
375
  * If provided, the filter clause is controlled.
@@ -142,12 +390,12 @@ interface FilterListProps<Q extends ObjectTypeDefinition> {
142
390
  */
143
391
  filterOperator?: "and" | "or";
144
392
  /**
145
- * Called when filter state change
393
+ * Called when filter state changes
146
394
  *
147
- * @param filterKey The key of the updated filter
395
+ * @param definition The filter definition whose state changed
148
396
  * @param newState The updated filter state
149
397
  */
150
- onFilterStateChanged?: (filterKey: FilterKey<Q>, newState: FilterState<Q>) => void;
398
+ onFilterStateChanged?: (definition: FilterDefinitionUnion<Q>, newState: FilterState) => void;
151
399
  /**
152
400
  * Called when a filter is added
153
401
  * If provided, user will be allowed to add filters
@@ -155,25 +403,68 @@ interface FilterListProps<Q extends ObjectTypeDefinition> {
155
403
  * @param filterKey The key of the added filter
156
404
  * @param newDefinitions The filter list with the new filter added
157
405
  */
158
- onFilterAdded?: (filterKey: FilterKey<Q>, newDefinitions: Array<FilterDefinition<Q>>) => void;
406
+ onFilterAdded?: (filterKey: FilterKey<Q>, newDefinitions: Array<FilterDefinitionUnion<Q>>) => void;
159
407
  /**
160
408
  * Called when a filter is removed
161
409
  * If provided, user will be allowed to remove filters
162
410
  *
163
411
  * @param filterKey The key of the removed filter
164
- * @param newDefinitions The updated filter list with the filter removed
165
412
  */
166
- onFilterRemoved?: (filterKey: FilterKey<Q>, newDefinitions: Array<FilterDefinition<Q>>) => void;
413
+ onFilterRemoved?: (filterKey: FilterKey<Q>) => void;
167
414
  /**
168
- * Called when filters are reordered
169
- * If provided, the filter list becomes sortable
170
- *
171
- * @param newOrder The updated filter definitions in new order
415
+ * Show reset filters button in header
416
+ */
417
+ showResetButton?: boolean;
418
+ /**
419
+ * Called when reset button is clicked
420
+ */
421
+ onReset?: () => void;
422
+ /**
423
+ * Show count of active filters in header
424
+ */
425
+ showActiveFilterCount?: boolean;
426
+ /**
427
+ * Additional CSS class name
172
428
  */
173
- onFiltersReordered?: (newOrder: ReadonlyArray<FilterDefinition<Q>>) => void;
429
+ className?: string;
430
+ /**
431
+ * Custom render function for the "Add filter" button.
432
+ * When not provided, a default button is shown if onFilterAdded is set.
433
+ */
434
+ renderAddFilterButton?: () => React__default.ReactNode;
435
+ }
436
+
437
+ declare function FilterList<Q extends ObjectTypeDefinition>(props: FilterListProps<Q>): React__default.ReactElement;
438
+
439
+ interface ColumnOption {
440
+ id: string;
441
+ name: string;
442
+ canSort: boolean;
443
+ }
444
+ interface CellIdentifier {
445
+ rowId: string;
446
+ columnId: string;
447
+ }
448
+ interface CellEditInfo<TData extends RowData = unknown, CellValue = unknown> extends CellIdentifier {
449
+ newValue: CellValue;
450
+ oldValue: CellValue;
451
+ originalRowData: TData;
452
+ }
453
+ type EditMode = {
454
+ type: "always";
455
+ isActive: true;
456
+ } | {
457
+ type: "manual";
458
+ isActive: boolean;
459
+ setActive: (value: boolean) => void;
460
+ };
461
+ interface EditableConfig<TData extends RowData = unknown, CellValue = unknown> {
462
+ cellEdits: Record<string, CellEditInfo<TData, CellValue>>;
463
+ onCellEdit: (cellId: string, info: CellEditInfo<TData, CellValue>) => void;
464
+ onSubmitEdits?: () => Promise<boolean>;
465
+ clearEdits: () => void;
466
+ editMode: EditMode;
174
467
  }
175
- type FilterKey<Q extends ObjectTypeDefinition> = FilterDefinition<Q>["key"];
176
- type FilterState<Q extends ObjectTypeDefinition> = FilterDefinition<Q>["filterState"];
177
468
 
178
469
  type ColumnDefinition<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = Record<string, never>, FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>> = {
179
470
  locator: ColumnDefinitionLocator<Q, RDPs, FunctionColumns>;
@@ -191,7 +482,22 @@ type ColumnDefinition<Q extends ObjectOrInterfaceDefinition, RDPs extends Record
191
482
  resizable?: boolean;
192
483
  orderable?: boolean;
193
484
  filterable?: boolean;
485
+ editable?: boolean;
194
486
  renderCell?: (object: Osdk.Instance<Q, "$allBaseProperties", PropertyKeys<Q>, RDPs>, locator: ColumnDefinitionLocator<Q, RDPs, FunctionColumns>) => React.ReactNode;
487
+ /**
488
+ * If provided, this will be used in the column header.
489
+ * If both columnName and renderHeader are provided, renderHeader will take precedence in the table header.
490
+ * columnName will still be used in other parts where the column name is displayed.
491
+ *
492
+ * If not provided,
493
+ * for a property column, the property displayName will be used
494
+ * for other columns, the id will be used.
495
+ */
496
+ columnName?: string;
497
+ /**
498
+ * If provided, this will be used to render the header component.
499
+ * When both columnName and renderHeader are provided, renderHeader will take precedence in the table header.
500
+ */
195
501
  renderHeader?: () => React.ReactNode;
196
502
  };
197
503
  type ColumnDefinitionLocator<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = Record<string, never>, FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>> = {
@@ -204,12 +510,22 @@ type ColumnDefinitionLocator<Q extends ObjectOrInterfaceDefinition, RDPs extends
204
510
  type: "rdp";
205
511
  id: keyof RDPs;
206
512
  creator: DerivedProperty.Creator<Q, RDPs[keyof RDPs]>;
513
+ } | {
514
+ type: "custom";
515
+ id: string;
207
516
  };
208
517
  interface ObjectTableProps<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = Record<string, never>, FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>> {
209
518
  /**
210
- * The object type of the object
519
+ * The object or interface type of the object
520
+ * If objectSet is not provided, objects will be fetched based on this type.
211
521
  */
212
522
  objectType: Q;
523
+ /**
524
+ * The set of objects to show in the table.
525
+ * If provided and the objectType is not an interface, the table will use objectSet to fetch objects instead of fetching based on objectType.
526
+ */
527
+ objectSet?: ObjectSet<Q>;
528
+ objectSetOptions?: ObjectSetOptions<Q>;
213
529
  /**
214
530
  * Ordered list of column definitions to show in the table
215
531
  *
@@ -221,7 +537,7 @@ interface ObjectTableProps<Q extends ObjectOrInterfaceDefinition, RDPs extends R
221
537
  *
222
538
  * @default true
223
539
  */
224
- filterable?: boolean;
540
+ enableFiltering?: boolean;
225
541
  /**
226
542
  * The current where clause to filter the objects in the table.
227
543
  * If provided, the filter is controlled.
@@ -239,7 +555,33 @@ interface ObjectTableProps<Q extends ObjectOrInterfaceDefinition, RDPs extends R
239
555
  *
240
556
  * @default true
241
557
  */
242
- orderable?: boolean;
558
+ enableOrdering?: boolean;
559
+ /**
560
+ * Whether columns can be pinned by the user.
561
+ *
562
+ * @default true
563
+ */
564
+ enableColumnPinning?: boolean;
565
+ /**
566
+ * Whether columns can be resized by the user.
567
+ *
568
+ * @default true
569
+ */
570
+ enableColumnResizing?: boolean;
571
+ /**
572
+ * Whether the column configuration dialog for column visibility and ordering is available to the user.
573
+ *
574
+ * @default true
575
+ */
576
+ enableColumnConfig?: boolean;
577
+ /**
578
+ * Controls the edit mode behavior of the table.
579
+ * - "always": Editable cells are immediately in edit mode on row clicked.
580
+ * - "manual": User can toggle edit mode on/off via the Edit Table button.
581
+ *
582
+ * @default "manual"
583
+ */
584
+ editMode?: "always" | "manual";
243
585
  /**
244
586
  * The default order by clause to sort the objects in the table.
245
587
  * If provided without orderBy prop, the sorting is uncontrolled.
@@ -269,11 +611,26 @@ interface ObjectTableProps<Q extends ObjectOrInterfaceDefinition, RDPs extends R
269
611
  direction: "asc" | "desc";
270
612
  }>) => void;
271
613
  /**
272
- * Called when the visible columns change.
614
+ * Called after the value of a cell is edited and committed by the user.
615
+ *
616
+ * @param info An object containing details about the cell that was edited,
617
+ * including the rowId, columnId, new and old values, and the row data before the edit
618
+ */
619
+ onCellValueChanged?: (info: CellEditInfo<Osdk.Instance<Q, "$allBaseProperties", PropertyKeys<Q>, RDPs>, unknown>) => void;
620
+ /**
621
+ * If provided, the button Submit Edits will be shown in the table
622
+ *
623
+ * @param edits an array of edit info containing details about the edited cells
624
+ * including the rowId, columnId, new and old values, and the row data before the edit
625
+ * @return a promise that resolves to true if the edits were successfully submitted
626
+ */
627
+ onSubmitEdits?: (edits: CellEditInfo<Osdk.Instance<Q, "$allBaseProperties", PropertyKeys<Q>, RDPs>, unknown>[]) => Promise<boolean>;
628
+ /**
629
+ * Called when the column visibility or ordering changed.
273
630
  *
274
631
  * If provided, the table will allow the user to show/hide columns.
275
632
  *
276
- * @param newStates The new list of column visibility states
633
+ * @param newStates The columns sorted in their display order in the table and their visibility state.
277
634
  */
278
635
  onColumnVisibilityChanged?: (newStates: Array<{
279
636
  columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns;
@@ -294,9 +651,9 @@ interface ObjectTableProps<Q extends ObjectOrInterfaceDefinition, RDPs extends R
294
651
  * Called when a column is resized.
295
652
  *
296
653
  * @param columnId The ID of the resized column
297
- * @param newWidth The new width of the column
654
+ * @param newWidth The new width of the column. When newWidth = null, the column size is reset.
298
655
  */
299
- onColumnResize?: (columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns, newWidth: number) => void;
656
+ onColumnResize?: (columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns, newWidth: number | null) => void;
300
657
  /**
301
658
  * Called when a row is clicked.
302
659
  *
@@ -336,6 +693,20 @@ interface ObjectTableProps<Q extends ObjectOrInterfaceDefinition, RDPs extends R
336
693
  rowHeight?: number;
337
694
  className?: string;
338
695
  }
696
+ interface ObjectSetOptions<Q extends ObjectOrInterfaceDefinition> {
697
+ /**
698
+ * Object sets to union with
699
+ */
700
+ union?: ObjectSet<Q>[];
701
+ /**
702
+ * Object sets to intersect with
703
+ */
704
+ intersect?: ObjectSet<Q>[];
705
+ /**
706
+ * Object sets to subtract from
707
+ */
708
+ subtract?: ObjectSet<Q>[];
709
+ }
339
710
 
340
711
  /**
341
712
  * ObjectTable - A headless table component for displaying OSDK object sets
@@ -345,8 +716,44 @@ interface ObjectTableProps<Q extends ObjectOrInterfaceDefinition, RDPs extends R
345
716
  * <ObjectTable objectType={MyObjectType} />
346
717
  * ```
347
718
  */
348
- declare function ObjectTable<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = Record<string, never>, FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>>({ objectType, columnDefinitions, filter, orderBy, defaultOrderBy, onOrderByChanged, onColumnsPinnedChanged, onRowSelection, renderCellContextMenu, selectionMode, selectedRows, ...props }: ObjectTableProps<Q, RDPs, FunctionColumns>): React__default.ReactElement;
719
+ declare function ObjectTable<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = Record<string, never>, FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>>({ objectType, objectSet, columnDefinitions, filter, objectSetOptions, orderBy, defaultOrderBy, onOrderByChanged, onColumnsPinnedChanged, onColumnResize, onRowSelection, renderCellContextMenu, selectionMode, selectedRows, onColumnVisibilityChanged, onCellValueChanged, onSubmitEdits, enableOrdering, enableColumnPinning, enableColumnResizing, enableColumnConfig, editMode, ...props }: ObjectTableProps<Q, RDPs, FunctionColumns>): React__default.ReactElement;
349
720
 
721
+ interface HeaderMenuFeatureFlags {
722
+ /**
723
+ * Whether sorting menu items should be shown.
724
+ * When false, hides "Sort ascending", "Sort descending", "Sort on multiple columns", and "Clear all sorts".
725
+ */
726
+ showSortingItems?: boolean;
727
+ /**
728
+ * Whether pinning menu items should be shown.
729
+ * When false, hides "Pin column" and "Unpin Column".
730
+ */
731
+ showPinningItems?: boolean;
732
+ /**
733
+ * Whether resize menu item should be shown.
734
+ * When false, hides "Reset Column Size".
735
+ */
736
+ showResizeItem?: boolean;
737
+ /**
738
+ * Whether column config menu item should be shown.
739
+ * When false, hides "Configure Columns".
740
+ */
741
+ showConfigItem?: boolean;
742
+ }
743
+
744
+ declare module "@tanstack/react-table" {
745
+ interface ColumnMeta<TData extends RowData = unknown, TValue = unknown> {
746
+ columnName?: string;
747
+ isVisible?: boolean;
748
+ editable?: boolean;
749
+ dataType?: string;
750
+ }
751
+ interface TableMeta<TData extends RowData = unknown> {
752
+ onCellEdit?: (cellId: string, info: CellEditInfo<TData, unknown>) => void;
753
+ cellEdits?: Record<string, CellEditInfo<TData, unknown>>;
754
+ isInEditMode?: boolean;
755
+ }
756
+ }
350
757
  interface BaseTableProps<TData extends RowData> {
351
758
  table: Table<TData>;
352
759
  isLoading?: boolean;
@@ -356,7 +763,25 @@ interface BaseTableProps<TData extends RowData> {
356
763
  renderCellContextMenu?: (row: TData, cell: Cell<TData, unknown>) => React__default.ReactNode;
357
764
  className?: string;
358
765
  error?: Error;
766
+ headerMenuFeatureFlags?: HeaderMenuFeatureFlags;
767
+ editableConfig?: EditableConfig<TData, unknown>;
768
+ }
769
+ declare function BaseTable<TData extends RowData>({ table, isLoading, fetchNextPage, onRowClick, rowHeight, renderCellContextMenu, className, error, headerMenuFeatureFlags, editableConfig, }: BaseTableProps<TData>): ReactElement;
770
+
771
+ interface ColumnConfig {
772
+ columnId: string;
773
+ isVisible: boolean;
774
+ }
775
+ type ColumnConfigOptions = Array<Pick<ColumnOption, "id" | "name">>;
776
+ interface ColumnConfigDialogProps {
777
+ isOpen: boolean;
778
+ onClose: () => void;
779
+ columnOptions: ColumnConfigOptions;
780
+ currentVisibility?: VisibilityState;
781
+ currentColumnOrder?: ColumnOrderState;
782
+ onApply: (columns: ColumnConfig[]) => void;
783
+ isValidConfig?: (columns: ColumnConfig[]) => boolean;
359
784
  }
360
- declare function BaseTable<TData extends RowData>({ table, isLoading, fetchNextPage, onRowClick, rowHeight, renderCellContextMenu, className, error, }: BaseTableProps<TData>): ReactElement;
785
+ declare function ColumnConfigDialog({ isOpen, onClose, columnOptions, currentVisibility, currentColumnOrder, onApply, isValidConfig, }: ColumnConfigDialogProps): React__default.ReactElement | null;
361
786
 
362
- export { BaseTable, type BaseTableProps, type ColumnDefinition, type ColumnDefinitionLocator, type FilterListItemProps, type FilterListProps, ObjectTable, type ObjectTableProps };
787
+ export { BaseTable, type BaseTableProps, type CellEditInfo, ColumnConfigDialog, type ColumnConfigDialogProps, type ColumnConfigOptions, type ColumnDefinition, type ColumnDefinitionLocator, type FilterComponentType, type FilterDefinitionUnion, FilterList, type FilterListItemProps, type FilterListProps, type FilterState, ObjectTable, type ObjectTableProps, type PropertyFilterDefinition };