@osdk/react-components 0.1.0 → 0.2.0-beta.10

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 (609) hide show
  1. package/CHANGELOG.md +98 -19
  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 +43 -0
  168. package/build/browser/object-table/DefaultCellRenderer.js.map +1 -0
  169. package/build/browser/object-table/EditableCell.js +91 -0
  170. package/build/browser/object-table/EditableCell.js.map +1 -0
  171. package/build/browser/object-table/EditableCell.module.css +3 -0
  172. package/build/browser/object-table/EditableCell.module.css.js +6 -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 +74 -15
  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 +70 -935
  194. package/build/browser/object-table/Table.js.map +1 -1
  195. package/build/browser/object-table/Table.module.css +45 -0
  196. package/build/browser/object-table/Table.module.css.js +8 -0
  197. package/build/browser/object-table/TableBody.js +36 -260
  198. package/build/browser/object-table/TableBody.module.css +22 -0
  199. package/build/browser/object-table/TableBody.module.css.js +6 -0
  200. package/build/browser/object-table/TableCell.js +31 -111
  201. package/build/browser/object-table/TableCell.module.css +83 -0
  202. package/build/browser/object-table/TableCell.module.css.js +8 -0
  203. package/build/browser/object-table/TableHeader.js +126 -216
  204. package/build/browser/object-table/TableHeader.js.map +1 -1
  205. package/build/browser/object-table/TableHeader.module.css +108 -0
  206. package/build/browser/object-table/TableHeader.module.css.js +10 -0
  207. package/build/browser/object-table/TableHeaderContent.js +21 -18
  208. package/build/browser/object-table/TableHeaderContent.module.css +30 -0
  209. package/build/browser/object-table/TableHeaderContent.module.css.js +6 -0
  210. package/build/browser/object-table/TableHeaderWithPopover.js +110 -93
  211. package/build/browser/object-table/TableHeaderWithPopover.js.map +1 -1
  212. package/build/browser/object-table/TableHeaderWithPopover.module.css +141 -0
  213. package/build/browser/object-table/TableHeaderWithPopover.module.css.js +17 -0
  214. package/build/browser/object-table/TableRow.js +26 -144
  215. package/build/browser/object-table/TableRow.module.css +62 -0
  216. package/build/browser/object-table/TableRow.module.css.js +6 -0
  217. package/build/browser/object-table/__tests__/useEditableTable.test.js +197 -0
  218. package/build/browser/object-table/__tests__/useEditableTable.test.js.map +1 -0
  219. package/build/browser/object-table/hooks/__tests__/useColumnDefs.test.js +14 -2
  220. package/build/browser/object-table/hooks/__tests__/useColumnDefs.test.js.map +1 -1
  221. package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js +160 -138
  222. package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js.map +1 -1
  223. package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js +113 -25
  224. package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js.map +1 -1
  225. package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js +48 -0
  226. package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js.map +1 -1
  227. package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js +27 -82
  228. package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js.map +1 -1
  229. package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js +290 -0
  230. package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js.map +1 -1
  231. package/build/browser/object-table/hooks/useColumnDefs.js +16 -3
  232. package/build/browser/object-table/hooks/useColumnDefs.js.map +1 -1
  233. package/build/browser/object-table/hooks/useColumnResize.js +45 -0
  234. package/build/browser/object-table/hooks/useColumnResize.js.map +1 -0
  235. package/build/browser/object-table/hooks/useColumnVisibility.js +52 -20
  236. package/build/browser/object-table/hooks/useColumnVisibility.js.map +1 -1
  237. package/build/browser/object-table/hooks/useEditableTable.js +57 -0
  238. package/build/browser/object-table/hooks/useEditableTable.js.map +1 -0
  239. package/build/browser/object-table/hooks/useObjectTableData.js +42 -7
  240. package/build/browser/object-table/hooks/useObjectTableData.js.map +1 -1
  241. package/build/browser/object-table/hooks/useRowSelection.js +31 -10
  242. package/build/browser/object-table/hooks/useRowSelection.js.map +1 -1
  243. package/build/browser/object-table/hooks/useSelectionColumn.js +15 -6
  244. package/build/browser/object-table/hooks/useSelectionColumn.js.map +1 -1
  245. package/build/browser/object-table/utils/getCellId.js +27 -0
  246. package/build/browser/object-table/utils/getCellId.js.map +1 -0
  247. package/build/browser/object-table/utils/types.js +2 -0
  248. package/build/browser/object-table/utils/types.js.map +1 -0
  249. package/build/browser/public/experimental.js +2 -0
  250. package/build/browser/public/experimental.js.map +1 -1
  251. package/build/browser/shared/ErrorBoundary.js +62 -0
  252. package/build/browser/shared/ErrorBoundary.js.map +1 -0
  253. package/build/browser/shared/ErrorBoundary.module.css +55 -0
  254. package/build/browser/shared/ErrorBoundary.module.css.js +8 -0
  255. package/build/browser/styles.css +3073 -0
  256. package/build/cjs/public/experimental.cjs +4026 -240
  257. package/build/cjs/public/experimental.cjs.map +1 -1
  258. package/build/cjs/public/experimental.css +1834 -154
  259. package/build/cjs/public/experimental.css.map +1 -1
  260. package/build/cjs/public/experimental.d.cts +453 -50
  261. package/build/esm/base-components/action-button/ActionButton.js +31 -0
  262. package/build/esm/base-components/action-button/ActionButton.js.map +1 -0
  263. package/build/esm/base-components/action-button/ActionButton.module.css +70 -0
  264. package/build/esm/base-components/checkbox/Checkbox.module.css +1 -1
  265. package/build/esm/base-components/combobox/Combobox.js +124 -0
  266. package/build/esm/base-components/combobox/Combobox.js.map +1 -0
  267. package/build/esm/base-components/combobox/Combobox.module.css +177 -0
  268. package/build/esm/base-components/dialog/Dialog.js +52 -0
  269. package/build/esm/base-components/dialog/Dialog.js.map +1 -0
  270. package/build/esm/base-components/dialog/Dialog.module.css +101 -0
  271. package/build/esm/base-components/draggable-list/DraggableList.js +155 -0
  272. package/build/esm/base-components/draggable-list/DraggableList.js.map +1 -0
  273. package/build/esm/base-components/draggable-list/DraggableList.module.css +108 -0
  274. package/build/esm/base-components/search-bar/SearchBar.js +44 -0
  275. package/build/esm/base-components/search-bar/SearchBar.js.map +1 -0
  276. package/build/esm/base-components/search-bar/SearchBar.module.css +53 -0
  277. package/build/esm/base-components/select/Select.js +89 -0
  278. package/build/esm/base-components/select/Select.js.map +1 -0
  279. package/build/esm/base-components/select/Select.module.css +138 -0
  280. package/build/esm/base-components/switch/Switch.js +33 -0
  281. package/build/esm/base-components/switch/Switch.js.map +1 -0
  282. package/build/esm/base-components/switch/Switch.module.css +91 -0
  283. package/build/esm/filter-list/FilterListApi.js.map +1 -1
  284. package/build/esm/filter-list/FilterListItemApi.js.map +1 -1
  285. package/build/esm/filter-list/__tests__/LinkedPropertyInput.test.js +202 -0
  286. package/build/esm/filter-list/__tests__/LinkedPropertyInput.test.js.map +1 -0
  287. package/build/esm/filter-list/__tests__/dateUtils.test.js +55 -0
  288. package/build/esm/filter-list/__tests__/dateUtils.test.js.map +1 -0
  289. package/build/esm/filter-list/__tests__/filterStateToWhereClause.test.js +296 -0
  290. package/build/esm/filter-list/__tests__/filterStateToWhereClause.test.js.map +1 -0
  291. package/build/esm/filter-list/__tests__/getFilterKey.test.js +53 -0
  292. package/build/esm/filter-list/__tests__/getFilterKey.test.js.map +1 -0
  293. package/build/esm/filter-list/__tests__/testUtils.js +203 -0
  294. package/build/esm/filter-list/__tests__/testUtils.js.map +1 -0
  295. package/build/esm/filter-list/base/FilterInput.js +542 -0
  296. package/build/esm/filter-list/base/FilterInput.js.map +1 -0
  297. package/build/esm/filter-list/base/FilterList.js +77 -0
  298. package/build/esm/filter-list/base/FilterList.js.map +1 -0
  299. package/build/esm/filter-list/base/FilterList.module.css +67 -0
  300. package/build/esm/filter-list/base/FilterListContent.js +57 -0
  301. package/build/esm/filter-list/base/FilterListContent.js.map +1 -0
  302. package/build/esm/filter-list/base/FilterListContent.module.css +27 -0
  303. package/build/esm/filter-list/base/FilterListHeader.js +58 -0
  304. package/build/esm/filter-list/base/FilterListHeader.js.map +1 -0
  305. package/build/esm/filter-list/base/FilterListHeader.module.css +127 -0
  306. package/build/esm/filter-list/base/FilterListItem.js +75 -0
  307. package/build/esm/filter-list/base/FilterListItem.js.map +1 -0
  308. package/build/esm/filter-list/base/FilterListItem.module.css +38 -0
  309. package/build/esm/filter-list/base/index.js +22 -0
  310. package/build/esm/filter-list/base/index.js.map +1 -0
  311. package/build/esm/filter-list/base/inputs/CheckboxListInput.js +75 -0
  312. package/build/esm/filter-list/base/inputs/CheckboxListInput.js.map +1 -0
  313. package/build/esm/filter-list/base/inputs/CheckboxListInput.module.css +42 -0
  314. package/build/esm/filter-list/base/inputs/ContainsTextInput.js +85 -0
  315. package/build/esm/filter-list/base/inputs/ContainsTextInput.js.map +1 -0
  316. package/build/esm/filter-list/base/inputs/ContainsTextInput.module.css +91 -0
  317. package/build/esm/filter-list/base/inputs/DateRangeInput.js +37 -0
  318. package/build/esm/filter-list/base/inputs/DateRangeInput.js.map +1 -0
  319. package/build/esm/filter-list/base/inputs/LinkedPropertyInput.js +237 -0
  320. package/build/esm/filter-list/base/inputs/LinkedPropertyInput.js.map +1 -0
  321. package/build/esm/filter-list/base/inputs/LinkedPropertyInput.module.css +20 -0
  322. package/build/esm/filter-list/base/inputs/ListogramInput.js +98 -0
  323. package/build/esm/filter-list/base/inputs/ListogramInput.js.map +1 -0
  324. package/build/esm/filter-list/base/inputs/ListogramInput.module.css +88 -0
  325. package/build/esm/filter-list/base/inputs/MultiDateInput.js +82 -0
  326. package/build/esm/filter-list/base/inputs/MultiDateInput.js.map +1 -0
  327. package/build/esm/filter-list/base/inputs/MultiDateInput.module.css +54 -0
  328. package/build/esm/filter-list/base/inputs/MultiSelectInput.js +100 -0
  329. package/build/esm/filter-list/base/inputs/MultiSelectInput.js.map +1 -0
  330. package/build/esm/filter-list/base/inputs/MultiSelectInput.module.css +35 -0
  331. package/build/esm/filter-list/base/inputs/NullValueWrapper.js +76 -0
  332. package/build/esm/filter-list/base/inputs/NullValueWrapper.js.map +1 -0
  333. package/build/esm/filter-list/base/inputs/NullValueWrapper.module.css +49 -0
  334. package/build/esm/filter-list/base/inputs/NumberRangeInput.js +48 -0
  335. package/build/esm/filter-list/base/inputs/NumberRangeInput.js.map +1 -0
  336. package/build/esm/filter-list/base/inputs/RangeInput.js +187 -0
  337. package/build/esm/filter-list/base/inputs/RangeInput.js.map +1 -0
  338. package/build/esm/filter-list/base/inputs/RangeInput.module.css +81 -0
  339. package/build/esm/filter-list/base/inputs/SingleDateInput.js +61 -0
  340. package/build/esm/filter-list/base/inputs/SingleDateInput.js.map +1 -0
  341. package/build/esm/filter-list/base/inputs/SingleDateInput.module.css +63 -0
  342. package/build/esm/filter-list/base/inputs/SingleSelectInput.js +95 -0
  343. package/build/esm/filter-list/base/inputs/SingleSelectInput.js.map +1 -0
  344. package/build/esm/filter-list/base/inputs/SingleSelectInput.module.css +55 -0
  345. package/build/esm/filter-list/base/inputs/TextTagsInput.js +141 -0
  346. package/build/esm/filter-list/base/inputs/TextTagsInput.js.map +1 -0
  347. package/build/esm/filter-list/base/inputs/TextTagsInput.module.css +25 -0
  348. package/build/esm/filter-list/base/inputs/TimelineInput.js +74 -0
  349. package/build/esm/filter-list/base/inputs/TimelineInput.js.map +1 -0
  350. package/build/esm/filter-list/base/inputs/TimelineInput.module.css +73 -0
  351. package/build/esm/filter-list/base/inputs/ToggleInput.js +43 -0
  352. package/build/esm/filter-list/base/inputs/ToggleInput.js.map +1 -0
  353. package/build/esm/filter-list/base/inputs/ToggleInput.module.css +34 -0
  354. package/build/esm/filter-list/base/inputs/createHistogramBuckets.js +53 -0
  355. package/build/esm/filter-list/base/inputs/createHistogramBuckets.js.map +1 -0
  356. package/build/esm/filter-list/base/inputs/dateUtils.js +57 -0
  357. package/build/esm/filter-list/base/inputs/dateUtils.js.map +1 -0
  358. package/build/esm/filter-list/base/inputs/index.js +25 -0
  359. package/build/esm/filter-list/base/inputs/index.js.map +1 -0
  360. package/build/esm/filter-list/base/inputs/shared.module.css +79 -0
  361. package/build/esm/filter-list/hooks/__tests__/useFilterListState.test.js +128 -0
  362. package/build/esm/filter-list/hooks/__tests__/useFilterListState.test.js.map +1 -0
  363. package/build/esm/filter-list/hooks/useFilterListState.js +119 -0
  364. package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -0
  365. package/build/esm/filter-list/hooks/usePropertyAggregation.js +92 -0
  366. package/build/esm/filter-list/hooks/usePropertyAggregation.js.map +1 -0
  367. package/build/esm/filter-list/types/AddFilterMenuTypes.js +2 -0
  368. package/build/esm/filter-list/types/AddFilterMenuTypes.js.map +1 -0
  369. package/build/esm/filter-list/types/CustomRendererTypes.js +2 -0
  370. package/build/esm/filter-list/types/CustomRendererTypes.js.map +1 -0
  371. package/build/esm/filter-list/types/FilterPanelTypes.js +2 -0
  372. package/build/esm/filter-list/types/FilterPanelTypes.js.map +1 -0
  373. package/build/esm/filter-list/types/KeywordSearchTypes.js +2 -0
  374. package/build/esm/filter-list/types/KeywordSearchTypes.js.map +1 -0
  375. package/build/esm/filter-list/types/LinkedFilterTypes.js +2 -0
  376. package/build/esm/filter-list/types/LinkedFilterTypes.js.map +1 -0
  377. package/build/esm/filter-list/types/index.js +22 -0
  378. package/build/esm/filter-list/types/index.js.map +1 -0
  379. package/build/esm/filter-list/utils/aggregationHelpers.js +44 -0
  380. package/build/esm/filter-list/utils/aggregationHelpers.js.map +1 -0
  381. package/build/esm/filter-list/utils/assertUnreachable.js +25 -0
  382. package/build/esm/filter-list/utils/assertUnreachable.js.map +1 -0
  383. package/build/esm/filter-list/utils/coerceFilterValue.js +33 -0
  384. package/build/esm/filter-list/utils/coerceFilterValue.js.map +1 -0
  385. package/build/esm/filter-list/utils/filterStateToWhereClause.js +337 -0
  386. package/build/esm/filter-list/utils/filterStateToWhereClause.js.map +1 -0
  387. package/build/esm/filter-list/utils/filterValues.js +55 -0
  388. package/build/esm/filter-list/utils/filterValues.js.map +1 -0
  389. package/build/esm/filter-list/utils/getFilterKey.js +34 -0
  390. package/build/esm/filter-list/utils/getFilterKey.js.map +1 -0
  391. package/build/esm/object-table/ColumnConfigDialog.js +259 -0
  392. package/build/esm/object-table/ColumnConfigDialog.js.map +1 -0
  393. package/build/esm/object-table/ColumnConfigDialog.module.css +247 -0
  394. package/build/esm/object-table/DefaultCellRenderer.js +43 -0
  395. package/build/esm/object-table/DefaultCellRenderer.js.map +1 -0
  396. package/build/esm/object-table/EditableCell.js +91 -0
  397. package/build/esm/object-table/EditableCell.js.map +1 -0
  398. package/build/esm/object-table/EditableCell.module.css +3 -0
  399. package/build/esm/object-table/LoadingStateTable.js +4 -4
  400. package/build/esm/object-table/LoadingStateTable.js.map +1 -1
  401. package/build/esm/object-table/MultiColumnSortDialog.js +178 -0
  402. package/build/esm/object-table/MultiColumnSortDialog.js.map +1 -0
  403. package/build/esm/object-table/MultiColumnSortDialog.module.css +195 -0
  404. package/build/esm/object-table/NonIdealState.module.css +2 -3
  405. package/build/esm/object-table/ObjectTable.js +74 -15
  406. package/build/esm/object-table/ObjectTable.js.map +1 -1
  407. package/build/esm/object-table/ObjectTableApi.js.map +1 -1
  408. package/build/esm/object-table/SelectionCells.js +15 -4
  409. package/build/esm/object-table/SelectionCells.js.map +1 -1
  410. package/build/esm/object-table/SortableItemsList.js +35 -0
  411. package/build/esm/object-table/SortableItemsList.js.map +1 -0
  412. package/build/esm/object-table/Table.js +25 -8
  413. package/build/esm/object-table/Table.js.map +1 -1
  414. package/build/esm/object-table/Table.module.css +26 -3
  415. package/build/esm/object-table/TableBody.module.css +2 -0
  416. package/build/esm/object-table/TableCell.module.css +22 -1
  417. package/build/esm/object-table/TableHeader.js +93 -6
  418. package/build/esm/object-table/TableHeader.js.map +1 -1
  419. package/build/esm/object-table/TableHeader.module.css +9 -2
  420. package/build/esm/object-table/TableHeaderWithPopover.js +53 -22
  421. package/build/esm/object-table/TableHeaderWithPopover.js.map +1 -1
  422. package/build/esm/object-table/TableHeaderWithPopover.module.css +56 -25
  423. package/build/esm/object-table/TableRow.module.css +2 -0
  424. package/build/esm/object-table/__tests__/useEditableTable.test.js +197 -0
  425. package/build/esm/object-table/__tests__/useEditableTable.test.js.map +1 -0
  426. package/build/esm/object-table/hooks/__tests__/useColumnDefs.test.js +14 -2
  427. package/build/esm/object-table/hooks/__tests__/useColumnDefs.test.js.map +1 -1
  428. package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js +160 -138
  429. package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js.map +1 -1
  430. package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js +113 -25
  431. package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js.map +1 -1
  432. package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js +48 -0
  433. package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js.map +1 -1
  434. package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js +27 -82
  435. package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js.map +1 -1
  436. package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js +290 -0
  437. package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js.map +1 -1
  438. package/build/esm/object-table/hooks/useColumnDefs.js +16 -3
  439. package/build/esm/object-table/hooks/useColumnDefs.js.map +1 -1
  440. package/build/esm/object-table/hooks/useColumnResize.js +45 -0
  441. package/build/esm/object-table/hooks/useColumnResize.js.map +1 -0
  442. package/build/esm/object-table/hooks/useColumnVisibility.js +52 -20
  443. package/build/esm/object-table/hooks/useColumnVisibility.js.map +1 -1
  444. package/build/esm/object-table/hooks/useEditableTable.js +57 -0
  445. package/build/esm/object-table/hooks/useEditableTable.js.map +1 -0
  446. package/build/esm/object-table/hooks/useObjectTableData.js +42 -7
  447. package/build/esm/object-table/hooks/useObjectTableData.js.map +1 -1
  448. package/build/esm/object-table/hooks/useRowSelection.js +31 -10
  449. package/build/esm/object-table/hooks/useRowSelection.js.map +1 -1
  450. package/build/esm/object-table/hooks/useSelectionColumn.js +15 -6
  451. package/build/esm/object-table/hooks/useSelectionColumn.js.map +1 -1
  452. package/build/esm/object-table/utils/getCellId.js +27 -0
  453. package/build/esm/object-table/utils/getCellId.js.map +1 -0
  454. package/build/esm/object-table/utils/types.js +2 -0
  455. package/build/esm/object-table/utils/types.js.map +1 -0
  456. package/build/esm/public/experimental.js +2 -0
  457. package/build/esm/public/experimental.js.map +1 -1
  458. package/build/esm/shared/ErrorBoundary.js +62 -0
  459. package/build/esm/shared/ErrorBoundary.js.map +1 -0
  460. package/build/esm/shared/ErrorBoundary.module.css +55 -0
  461. package/build/types/base-components/action-button/ActionButton.d.ts +5 -0
  462. package/build/types/base-components/action-button/ActionButton.d.ts.map +1 -0
  463. package/build/types/base-components/combobox/Combobox.d.ts +52 -0
  464. package/build/types/base-components/combobox/Combobox.d.ts.map +1 -0
  465. package/build/types/base-components/dialog/Dialog.d.ts +10 -0
  466. package/build/types/base-components/dialog/Dialog.d.ts.map +1 -0
  467. package/build/types/base-components/draggable-list/DraggableList.d.ts +17 -0
  468. package/build/types/base-components/draggable-list/DraggableList.d.ts.map +1 -0
  469. package/build/types/base-components/search-bar/SearchBar.d.ts +11 -0
  470. package/build/types/base-components/search-bar/SearchBar.d.ts.map +1 -0
  471. package/build/types/base-components/select/Select.d.ts +34 -0
  472. package/build/types/base-components/select/Select.d.ts.map +1 -0
  473. package/build/types/base-components/switch/Switch.d.ts +10 -0
  474. package/build/types/base-components/switch/Switch.d.ts.map +1 -0
  475. package/build/types/filter-list/FilterListApi.d.ts +62 -17
  476. package/build/types/filter-list/FilterListApi.d.ts.map +1 -1
  477. package/build/types/filter-list/FilterListItemApi.d.ts +101 -53
  478. package/build/types/filter-list/FilterListItemApi.d.ts.map +1 -1
  479. package/build/types/filter-list/__tests__/LinkedPropertyInput.test.d.ts +1 -0
  480. package/build/types/filter-list/__tests__/LinkedPropertyInput.test.d.ts.map +1 -0
  481. package/build/types/filter-list/__tests__/dateUtils.test.d.ts +1 -0
  482. package/build/types/filter-list/__tests__/dateUtils.test.d.ts.map +1 -0
  483. package/build/types/filter-list/__tests__/filterStateToWhereClause.test.d.ts +1 -0
  484. package/build/types/filter-list/__tests__/filterStateToWhereClause.test.d.ts.map +1 -0
  485. package/build/types/filter-list/__tests__/getFilterKey.test.d.ts +1 -0
  486. package/build/types/filter-list/__tests__/getFilterKey.test.d.ts.map +1 -0
  487. package/build/types/filter-list/__tests__/testUtils.d.ts +65 -0
  488. package/build/types/filter-list/__tests__/testUtils.d.ts.map +1 -0
  489. package/build/types/filter-list/base/FilterInput.d.ts +15 -0
  490. package/build/types/filter-list/base/FilterInput.d.ts.map +1 -0
  491. package/build/types/filter-list/base/FilterList.d.ts +4 -0
  492. package/build/types/filter-list/base/FilterList.d.ts.map +1 -0
  493. package/build/types/filter-list/base/FilterListContent.d.ts +16 -0
  494. package/build/types/filter-list/base/FilterListContent.d.ts.map +1 -0
  495. package/build/types/filter-list/base/FilterListHeader.d.ts +14 -0
  496. package/build/types/filter-list/base/FilterListHeader.d.ts.map +1 -0
  497. package/build/types/filter-list/base/FilterListItem.d.ts +18 -0
  498. package/build/types/filter-list/base/FilterListItem.d.ts.map +1 -0
  499. package/build/types/filter-list/base/index.d.ts +5 -0
  500. package/build/types/filter-list/base/index.d.ts.map +1 -0
  501. package/build/types/filter-list/base/inputs/CheckboxListInput.d.ts +21 -0
  502. package/build/types/filter-list/base/inputs/CheckboxListInput.d.ts.map +1 -0
  503. package/build/types/filter-list/base/inputs/ContainsTextInput.d.ts +13 -0
  504. package/build/types/filter-list/base/inputs/ContainsTextInput.d.ts.map +1 -0
  505. package/build/types/filter-list/base/inputs/DateRangeInput.d.ts +22 -0
  506. package/build/types/filter-list/base/inputs/DateRangeInput.d.ts.map +1 -0
  507. package/build/types/filter-list/base/inputs/LinkedPropertyInput.d.ts +21 -0
  508. package/build/types/filter-list/base/inputs/LinkedPropertyInput.d.ts.map +1 -0
  509. package/build/types/filter-list/base/inputs/ListogramInput.d.ts +22 -0
  510. package/build/types/filter-list/base/inputs/ListogramInput.d.ts.map +1 -0
  511. package/build/types/filter-list/base/inputs/MultiDateInput.d.ts +12 -0
  512. package/build/types/filter-list/base/inputs/MultiDateInput.d.ts.map +1 -0
  513. package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts +24 -0
  514. package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts.map +1 -0
  515. package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts +21 -0
  516. package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts.map +1 -0
  517. package/build/types/filter-list/base/inputs/NumberRangeInput.d.ts +22 -0
  518. package/build/types/filter-list/base/inputs/NumberRangeInput.d.ts.map +1 -0
  519. package/build/types/filter-list/base/inputs/RangeInput.d.ts +37 -0
  520. package/build/types/filter-list/base/inputs/RangeInput.d.ts.map +1 -0
  521. package/build/types/filter-list/base/inputs/SingleDateInput.d.ts +13 -0
  522. package/build/types/filter-list/base/inputs/SingleDateInput.d.ts.map +1 -0
  523. package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts +24 -0
  524. package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts.map +1 -0
  525. package/build/types/filter-list/base/inputs/TextTagsInput.d.ts +24 -0
  526. package/build/types/filter-list/base/inputs/TextTagsInput.d.ts.map +1 -0
  527. package/build/types/filter-list/base/inputs/TimelineInput.d.ts +11 -0
  528. package/build/types/filter-list/base/inputs/TimelineInput.d.ts.map +1 -0
  529. package/build/types/filter-list/base/inputs/ToggleInput.d.ts +10 -0
  530. package/build/types/filter-list/base/inputs/ToggleInput.d.ts.map +1 -0
  531. package/build/types/filter-list/base/inputs/createHistogramBuckets.d.ts +16 -0
  532. package/build/types/filter-list/base/inputs/createHistogramBuckets.d.ts.map +1 -0
  533. package/build/types/filter-list/base/inputs/dateUtils.d.ts +17 -0
  534. package/build/types/filter-list/base/inputs/dateUtils.d.ts.map +1 -0
  535. package/build/types/filter-list/base/inputs/index.d.ts +8 -0
  536. package/build/types/filter-list/base/inputs/index.d.ts.map +1 -0
  537. package/build/types/filter-list/hooks/__tests__/useFilterListState.test.d.ts +1 -0
  538. package/build/types/filter-list/hooks/__tests__/useFilterListState.test.d.ts.map +1 -0
  539. package/build/types/filter-list/hooks/useFilterListState.d.ts +11 -0
  540. package/build/types/filter-list/hooks/useFilterListState.d.ts.map +1 -0
  541. package/build/types/filter-list/hooks/usePropertyAggregation.d.ts +20 -0
  542. package/build/types/filter-list/hooks/usePropertyAggregation.d.ts.map +1 -0
  543. package/build/types/filter-list/types/AddFilterMenuTypes.d.ts +56 -0
  544. package/build/types/filter-list/types/AddFilterMenuTypes.d.ts.map +1 -0
  545. package/build/types/filter-list/types/CustomRendererTypes.d.ts +76 -0
  546. package/build/types/filter-list/types/CustomRendererTypes.d.ts.map +1 -0
  547. package/build/types/filter-list/types/FilterPanelTypes.d.ts +18 -0
  548. package/build/types/filter-list/types/FilterPanelTypes.d.ts.map +1 -0
  549. package/build/types/filter-list/types/KeywordSearchTypes.d.ts +56 -0
  550. package/build/types/filter-list/types/KeywordSearchTypes.d.ts.map +1 -0
  551. package/build/types/filter-list/types/LinkedFilterTypes.d.ts +89 -0
  552. package/build/types/filter-list/types/LinkedFilterTypes.d.ts.map +1 -0
  553. package/build/types/filter-list/types/index.d.ts +5 -0
  554. package/build/types/filter-list/types/index.d.ts.map +1 -0
  555. package/build/types/filter-list/utils/aggregationHelpers.d.ts +9 -0
  556. package/build/types/filter-list/utils/aggregationHelpers.d.ts.map +1 -0
  557. package/build/types/filter-list/utils/assertUnreachable.d.ts +6 -0
  558. package/build/types/filter-list/utils/assertUnreachable.d.ts.map +1 -0
  559. package/build/types/filter-list/utils/coerceFilterValue.d.ts +11 -0
  560. package/build/types/filter-list/utils/coerceFilterValue.d.ts.map +1 -0
  561. package/build/types/filter-list/utils/filterStateToWhereClause.d.ts +16 -0
  562. package/build/types/filter-list/utils/filterStateToWhereClause.d.ts.map +1 -0
  563. package/build/types/filter-list/utils/filterValues.d.ts +5 -0
  564. package/build/types/filter-list/utils/filterValues.d.ts.map +1 -0
  565. package/build/types/filter-list/utils/getFilterKey.d.ts +3 -0
  566. package/build/types/filter-list/utils/getFilterKey.d.ts.map +1 -0
  567. package/build/types/object-table/ColumnConfigDialog.d.ts +18 -0
  568. package/build/types/object-table/ColumnConfigDialog.d.ts.map +1 -0
  569. package/build/types/object-table/DefaultCellRenderer.d.ts +3 -0
  570. package/build/types/object-table/DefaultCellRenderer.d.ts.map +1 -0
  571. package/build/types/object-table/EditableCell.d.ts +10 -0
  572. package/build/types/object-table/EditableCell.d.ts.map +1 -0
  573. package/build/types/object-table/LoadingStateTable.d.ts.map +1 -1
  574. package/build/types/object-table/MultiColumnSortDialog.d.ts +15 -0
  575. package/build/types/object-table/MultiColumnSortDialog.d.ts.map +1 -0
  576. package/build/types/object-table/ObjectTable.d.ts +1 -1
  577. package/build/types/object-table/ObjectTable.d.ts.map +1 -1
  578. package/build/types/object-table/ObjectTableApi.d.ts +79 -8
  579. package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
  580. package/build/types/object-table/SortableItemsList.d.ts +13 -0
  581. package/build/types/object-table/SortableItemsList.d.ts.map +1 -0
  582. package/build/types/object-table/Table.d.ts +26 -1
  583. package/build/types/object-table/Table.d.ts.map +1 -1
  584. package/build/types/object-table/TableHeader.d.ts +3 -1
  585. package/build/types/object-table/TableHeader.d.ts.map +1 -1
  586. package/build/types/object-table/TableHeaderWithPopover.d.ts +30 -6
  587. package/build/types/object-table/TableHeaderWithPopover.d.ts.map +1 -1
  588. package/build/types/object-table/__tests__/useEditableTable.test.d.ts +1 -0
  589. package/build/types/object-table/__tests__/useEditableTable.test.d.ts.map +1 -0
  590. package/build/types/object-table/hooks/useColumnDefs.d.ts.map +1 -1
  591. package/build/types/object-table/hooks/useColumnResize.d.ts +10 -0
  592. package/build/types/object-table/hooks/useColumnResize.d.ts.map +1 -0
  593. package/build/types/object-table/hooks/useColumnVisibility.d.ts +18 -7
  594. package/build/types/object-table/hooks/useColumnVisibility.d.ts.map +1 -1
  595. package/build/types/object-table/hooks/useEditableTable.d.ts +22 -0
  596. package/build/types/object-table/hooks/useEditableTable.d.ts.map +1 -0
  597. package/build/types/object-table/hooks/useObjectTableData.d.ts +6 -5
  598. package/build/types/object-table/hooks/useObjectTableData.d.ts.map +1 -1
  599. package/build/types/object-table/hooks/useRowSelection.d.ts +5 -4
  600. package/build/types/object-table/hooks/useRowSelection.d.ts.map +1 -1
  601. package/build/types/object-table/utils/getCellId.d.ts +3 -0
  602. package/build/types/object-table/utils/getCellId.d.ts.map +1 -0
  603. package/build/types/object-table/utils/types.d.ts +14 -0
  604. package/build/types/object-table/utils/types.d.ts.map +1 -0
  605. package/build/types/public/experimental.d.ts +6 -2
  606. package/build/types/public/experimental.d.ts.map +1 -1
  607. package/build/types/shared/ErrorBoundary.d.ts +19 -0
  608. package/build/types/shared/ErrorBoundary.d.ts.map +1 -0
  609. package/package.json +17 -9
@@ -0,0 +1,542 @@
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 React, { memo, useCallback, useMemo } from "react";
18
+ import { coerceToString, coerceToStringArray } from "../utils/coerceFilterValue.js";
19
+ import { CheckboxListInput } from "./inputs/CheckboxListInput.js";
20
+ import { ContainsTextInput } from "./inputs/ContainsTextInput.js";
21
+ import { DateRangeInput } from "./inputs/DateRangeInput.js";
22
+ import { LinkedPropertyInput } from "./inputs/LinkedPropertyInput.js";
23
+ import { ListogramInput } from "./inputs/ListogramInput.js";
24
+ import { MultiDateInput } from "./inputs/MultiDateInput.js";
25
+ import { MultiSelectInput } from "./inputs/MultiSelectInput.js";
26
+ import { NullValueWrapper } from "./inputs/NullValueWrapper.js";
27
+ import { NumberRangeInput } from "./inputs/NumberRangeInput.js";
28
+ import { SingleDateInput } from "./inputs/SingleDateInput.js";
29
+ import { SingleSelectInput } from "./inputs/SingleSelectInput.js";
30
+ import { TextTagsInput } from "./inputs/TextTagsInput.js";
31
+ import { TimelineInput } from "./inputs/TimelineInput.js";
32
+ import { ToggleInput } from "./inputs/ToggleInput.js";
33
+ function FilterInputInner({
34
+ objectType,
35
+ objectSet,
36
+ definition,
37
+ filterState,
38
+ onFilterStateChanged,
39
+ whereClause
40
+ }) {
41
+ return /*#__PURE__*/React.createElement(FilterInputContent, {
42
+ objectType: objectType,
43
+ objectSet: objectSet,
44
+ definition: definition,
45
+ filterState: filterState,
46
+ onFilterStateChanged: onFilterStateChanged,
47
+ whereClause: whereClause
48
+ });
49
+ }
50
+ export const FilterInput = /*#__PURE__*/memo(FilterInputInner);
51
+ function FilterInputContent({
52
+ objectType,
53
+ objectSet,
54
+ definition,
55
+ filterState,
56
+ onFilterStateChanged,
57
+ whereClause
58
+ }) {
59
+ switch (definition.type) {
60
+ case "HAS_LINK":
61
+ return /*#__PURE__*/React.createElement(HasLinkInput, {
62
+ filterState: filterState,
63
+ onFilterStateChanged: onFilterStateChanged
64
+ });
65
+ case "LINKED_PROPERTY":
66
+ return /*#__PURE__*/React.createElement(LinkedPropertyInput, {
67
+ objectSet: objectSet,
68
+ definition: definition,
69
+ filterState: filterState,
70
+ onFilterStateChanged: onFilterStateChanged
71
+ });
72
+ case "KEYWORD_SEARCH":
73
+ return /*#__PURE__*/React.createElement(KeywordSearchInput, {
74
+ filterState: filterState,
75
+ onFilterStateChanged: onFilterStateChanged,
76
+ placeholder: definition.label ?? "Search..."
77
+ });
78
+ case "CUSTOM":
79
+ {
80
+ if (!definition.renderInput) {
81
+ return /*#__PURE__*/React.createElement("div", {
82
+ "data-unsupported": "true"
83
+ }, "Custom filter missing renderInput");
84
+ }
85
+ const customFilterState = filterState?.type === "custom" ? filterState : definition.filterState;
86
+ return /*#__PURE__*/React.createElement(React.Fragment, null, definition.renderInput({
87
+ objectSet,
88
+ filterState: customFilterState,
89
+ onFilterStateChanged: state => onFilterStateChanged(state)
90
+ }));
91
+ }
92
+ case "PROPERTY":
93
+ return /*#__PURE__*/React.createElement(PropertyFilterInput, {
94
+ objectType: objectType,
95
+ objectSet: objectSet,
96
+ definition: definition,
97
+ filterState: filterState,
98
+ onFilterStateChanged: onFilterStateChanged,
99
+ whereClause: whereClause
100
+ });
101
+ default:
102
+ return /*#__PURE__*/React.createElement("div", {
103
+ "data-unsupported": "true"
104
+ }, "Unsupported filter type");
105
+ }
106
+ }
107
+ const HasLinkInput = /*#__PURE__*/memo(function ({
108
+ filterState,
109
+ onFilterStateChanged
110
+ }) {
111
+ const hasLink = filterState?.type === "hasLink" ? filterState.hasLink : false;
112
+ const handleChange = useCallback(hasLink => {
113
+ onFilterStateChanged({
114
+ type: "hasLink",
115
+ hasLink
116
+ });
117
+ }, [onFilterStateChanged]);
118
+ return /*#__PURE__*/React.createElement(ToggleInput, {
119
+ enabled: hasLink,
120
+ onChange: handleChange
121
+ });
122
+ });
123
+ const KeywordSearchInput = /*#__PURE__*/memo(function ({
124
+ filterState,
125
+ onFilterStateChanged,
126
+ placeholder
127
+ }) {
128
+ const searchTerm = filterState?.type === "keywordSearch" ? filterState.searchTerm : undefined;
129
+ const operator = filterState?.type === "keywordSearch" ? filterState.operator : "AND";
130
+ const handleChange = useCallback(newSearchTerm => {
131
+ onFilterStateChanged({
132
+ type: "keywordSearch",
133
+ searchTerm: newSearchTerm ?? "",
134
+ operator
135
+ });
136
+ }, [onFilterStateChanged, operator]);
137
+ return /*#__PURE__*/React.createElement(ContainsTextInput, {
138
+ value: searchTerm,
139
+ onChange: handleChange,
140
+ placeholder: placeholder
141
+ });
142
+ });
143
+ function PropertyFilterInputInner({
144
+ objectType,
145
+ objectSet,
146
+ definition,
147
+ filterState,
148
+ onFilterStateChanged,
149
+ whereClause
150
+ }) {
151
+ switch (definition.filterComponent) {
152
+ case "CHECKBOX_LIST":
153
+ return /*#__PURE__*/React.createElement(CheckboxListFilterInput, {
154
+ objectType: objectType,
155
+ objectSet: objectSet,
156
+ propertyKey: definition.key,
157
+ filterState: filterState,
158
+ onFilterStateChanged: onFilterStateChanged,
159
+ whereClause: whereClause
160
+ });
161
+ case "CONTAINS_TEXT":
162
+ return /*#__PURE__*/React.createElement(ContainsTextFilterInput, {
163
+ propertyKey: definition.key,
164
+ filterState: filterState,
165
+ onFilterStateChanged: onFilterStateChanged
166
+ });
167
+ case "TOGGLE":
168
+ return /*#__PURE__*/React.createElement(ToggleFilterInput, {
169
+ filterState: filterState,
170
+ onFilterStateChanged: onFilterStateChanged
171
+ });
172
+ case "NUMBER_RANGE":
173
+ return /*#__PURE__*/React.createElement(NumberRangeFilterInput, {
174
+ objectType: objectType,
175
+ propertyKey: definition.key,
176
+ filterState: filterState,
177
+ onFilterStateChanged: onFilterStateChanged
178
+ });
179
+ case "DATE_RANGE":
180
+ return /*#__PURE__*/React.createElement(DateRangeFilterInput, {
181
+ objectType: objectType,
182
+ propertyKey: definition.key,
183
+ filterState: filterState,
184
+ onFilterStateChanged: onFilterStateChanged
185
+ });
186
+ case "SINGLE_SELECT":
187
+ return /*#__PURE__*/React.createElement(SingleSelectFilterInput, {
188
+ objectType: objectType,
189
+ propertyKey: definition.key,
190
+ filterState: filterState,
191
+ onFilterStateChanged: onFilterStateChanged,
192
+ whereClause: whereClause
193
+ });
194
+ case "MULTI_SELECT":
195
+ return /*#__PURE__*/React.createElement(MultiSelectFilterInput, {
196
+ objectType: objectType,
197
+ propertyKey: definition.key,
198
+ filterState: filterState,
199
+ onFilterStateChanged: onFilterStateChanged,
200
+ whereClause: whereClause
201
+ });
202
+ case "SINGLE_DATE":
203
+ return /*#__PURE__*/React.createElement(SingleDateFilterInput, {
204
+ filterState: filterState,
205
+ onFilterStateChanged: onFilterStateChanged
206
+ });
207
+ case "MULTI_DATE":
208
+ return /*#__PURE__*/React.createElement(MultiDateFilterInput, {
209
+ filterState: filterState,
210
+ onFilterStateChanged: onFilterStateChanged
211
+ });
212
+ case "LISTOGRAM":
213
+ return /*#__PURE__*/React.createElement(ListogramFilterInput, {
214
+ objectType: objectType,
215
+ propertyKey: definition.key,
216
+ filterState: filterState,
217
+ onFilterStateChanged: onFilterStateChanged,
218
+ whereClause: whereClause
219
+ });
220
+ case "TEXT_TAGS":
221
+ return /*#__PURE__*/React.createElement(TextTagsFilterInput, {
222
+ objectType: objectType,
223
+ propertyKey: definition.key,
224
+ filterState: filterState,
225
+ onFilterStateChanged: onFilterStateChanged,
226
+ whereClause: whereClause
227
+ });
228
+ case "TIMELINE":
229
+ return /*#__PURE__*/React.createElement(TimelineFilterInput, {
230
+ filterState: filterState,
231
+ onFilterStateChanged: onFilterStateChanged
232
+ });
233
+ default:
234
+ return /*#__PURE__*/React.createElement("div", {
235
+ "data-unsupported": "true"
236
+ }, "Unsupported filter component: ", definition.filterComponent);
237
+ }
238
+ }
239
+ const PropertyFilterInput = /*#__PURE__*/memo(PropertyFilterInputInner);
240
+ function CheckboxListFilterInputInner({
241
+ objectType,
242
+ objectSet,
243
+ propertyKey,
244
+ filterState,
245
+ onFilterStateChanged,
246
+ whereClause
247
+ }) {
248
+ const selectedValues = useMemo(() => filterState?.type === "SELECT" ? coerceToStringArray(filterState.selectedValues) : [], [filterState]);
249
+ const isExcluding = filterState?.isExcluding ?? false;
250
+ const handleChange = useCallback(newSelectedValues => {
251
+ onFilterStateChanged({
252
+ type: "SELECT",
253
+ selectedValues: newSelectedValues,
254
+ isExcluding
255
+ });
256
+ }, [onFilterStateChanged, isExcluding]);
257
+ return /*#__PURE__*/React.createElement(CheckboxListInput, {
258
+ objectType: objectType,
259
+ objectSet: objectSet,
260
+ propertyKey: propertyKey,
261
+ selectedValues: selectedValues,
262
+ onChange: handleChange,
263
+ whereClause: whereClause
264
+ });
265
+ }
266
+ const CheckboxListFilterInput = /*#__PURE__*/memo(CheckboxListFilterInputInner);
267
+ const ContainsTextFilterInput = /*#__PURE__*/memo(function ({
268
+ propertyKey,
269
+ filterState,
270
+ onFilterStateChanged
271
+ }) {
272
+ const value = useMemo(() => filterState?.type === "CONTAINS_TEXT" ? filterState.value : undefined, [filterState]);
273
+ const handleChange = useCallback(value => {
274
+ onFilterStateChanged({
275
+ type: "CONTAINS_TEXT",
276
+ value
277
+ });
278
+ }, [onFilterStateChanged]);
279
+ return /*#__PURE__*/React.createElement(ContainsTextInput, {
280
+ value: value,
281
+ onChange: handleChange,
282
+ placeholder: `Search ${propertyKey}...`
283
+ });
284
+ });
285
+ const ToggleFilterInput = /*#__PURE__*/memo(function ({
286
+ filterState,
287
+ onFilterStateChanged
288
+ }) {
289
+ const enabled = filterState?.type === "TOGGLE" ? filterState.enabled : false;
290
+ const handleChange = useCallback(enabled => {
291
+ onFilterStateChanged({
292
+ type: "TOGGLE",
293
+ enabled
294
+ });
295
+ }, [onFilterStateChanged]);
296
+ return /*#__PURE__*/React.createElement(ToggleInput, {
297
+ enabled: enabled,
298
+ onChange: handleChange
299
+ });
300
+ });
301
+ function NumberRangeFilterInputInner({
302
+ objectType,
303
+ propertyKey,
304
+ filterState,
305
+ onFilterStateChanged
306
+ }) {
307
+ const numberRangeState = useMemo(() => filterState?.type === "NUMBER_RANGE" ? filterState : undefined, [filterState]);
308
+ const includeNull = filterState?.includeNull;
309
+ const handleNullChange = useCallback(includeNull => {
310
+ onFilterStateChanged({
311
+ type: "NUMBER_RANGE",
312
+ minValue: numberRangeState?.minValue,
313
+ maxValue: numberRangeState?.maxValue,
314
+ includeNull
315
+ });
316
+ }, [onFilterStateChanged, numberRangeState?.minValue, numberRangeState?.maxValue]);
317
+ const handleRangeChange = useCallback((minValue, maxValue) => {
318
+ onFilterStateChanged({
319
+ type: "NUMBER_RANGE",
320
+ minValue,
321
+ maxValue,
322
+ includeNull
323
+ });
324
+ }, [onFilterStateChanged, includeNull]);
325
+ return /*#__PURE__*/React.createElement(NullValueWrapper, {
326
+ objectType: objectType,
327
+ propertyKey: propertyKey,
328
+ includeNull: includeNull,
329
+ onIncludeNullChange: handleNullChange
330
+ }, /*#__PURE__*/React.createElement(NumberRangeInput, {
331
+ objectType: objectType,
332
+ propertyKey: propertyKey,
333
+ minValue: numberRangeState?.minValue,
334
+ maxValue: numberRangeState?.maxValue,
335
+ onChange: handleRangeChange
336
+ }));
337
+ }
338
+ const NumberRangeFilterInput = /*#__PURE__*/memo(NumberRangeFilterInputInner);
339
+ function DateRangeFilterInputInner({
340
+ objectType,
341
+ propertyKey,
342
+ filterState,
343
+ onFilterStateChanged
344
+ }) {
345
+ const dateRangeState = useMemo(() => filterState?.type === "DATE_RANGE" ? filterState : undefined, [filterState]);
346
+ const includeNull = filterState?.includeNull;
347
+ const handleNullChange = useCallback(includeNull => {
348
+ onFilterStateChanged({
349
+ type: "DATE_RANGE",
350
+ minValue: dateRangeState?.minValue,
351
+ maxValue: dateRangeState?.maxValue,
352
+ includeNull
353
+ });
354
+ }, [onFilterStateChanged, dateRangeState?.minValue, dateRangeState?.maxValue]);
355
+ const handleRangeChange = useCallback((minValue, maxValue) => {
356
+ onFilterStateChanged({
357
+ type: "DATE_RANGE",
358
+ minValue,
359
+ maxValue,
360
+ includeNull
361
+ });
362
+ }, [onFilterStateChanged, includeNull]);
363
+ return /*#__PURE__*/React.createElement(NullValueWrapper, {
364
+ objectType: objectType,
365
+ propertyKey: propertyKey,
366
+ includeNull: includeNull,
367
+ onIncludeNullChange: handleNullChange
368
+ }, /*#__PURE__*/React.createElement(DateRangeInput, {
369
+ objectType: objectType,
370
+ propertyKey: propertyKey,
371
+ minValue: dateRangeState?.minValue,
372
+ maxValue: dateRangeState?.maxValue,
373
+ onChange: handleRangeChange
374
+ }));
375
+ }
376
+ const DateRangeFilterInput = /*#__PURE__*/memo(DateRangeFilterInputInner);
377
+ function SingleSelectFilterInputInner({
378
+ objectType,
379
+ propertyKey,
380
+ filterState,
381
+ onFilterStateChanged,
382
+ whereClause
383
+ }) {
384
+ const selectedValue = useMemo(() => filterState?.type === "SELECT" ? coerceToString(filterState.selectedValues[0]) : undefined, [filterState]);
385
+ const isExcluding = filterState?.isExcluding ?? false;
386
+ const handleChange = useCallback(value => {
387
+ onFilterStateChanged({
388
+ type: "SELECT",
389
+ selectedValues: value !== undefined ? [value] : [],
390
+ isExcluding
391
+ });
392
+ }, [onFilterStateChanged, isExcluding]);
393
+ return /*#__PURE__*/React.createElement(SingleSelectInput, {
394
+ objectType: objectType,
395
+ propertyKey: propertyKey,
396
+ selectedValue: selectedValue,
397
+ onChange: handleChange,
398
+ whereClause: whereClause
399
+ });
400
+ }
401
+ const SingleSelectFilterInput = /*#__PURE__*/memo(SingleSelectFilterInputInner);
402
+ function MultiSelectFilterInputInner({
403
+ objectType,
404
+ propertyKey,
405
+ filterState,
406
+ onFilterStateChanged,
407
+ whereClause
408
+ }) {
409
+ const selectedValues = useMemo(() => filterState?.type === "SELECT" ? coerceToStringArray(filterState.selectedValues) : [], [filterState]);
410
+ const isExcluding = filterState?.isExcluding ?? false;
411
+ const handleChange = useCallback(selectedValues => {
412
+ onFilterStateChanged({
413
+ type: "SELECT",
414
+ selectedValues,
415
+ isExcluding
416
+ });
417
+ }, [onFilterStateChanged, isExcluding]);
418
+ return /*#__PURE__*/React.createElement(MultiSelectInput, {
419
+ objectType: objectType,
420
+ propertyKey: propertyKey,
421
+ selectedValues: selectedValues,
422
+ onChange: handleChange,
423
+ whereClause: whereClause
424
+ });
425
+ }
426
+ const MultiSelectFilterInput = /*#__PURE__*/memo(MultiSelectFilterInputInner);
427
+ const SingleDateFilterInput = /*#__PURE__*/memo(function ({
428
+ filterState,
429
+ onFilterStateChanged
430
+ }) {
431
+ const selectedDate = useMemo(() => filterState?.type === "SELECT" ? filterState.selectedValues[0] instanceof Date ? filterState.selectedValues[0] : undefined : undefined, [filterState]);
432
+ const isExcluding = filterState?.isExcluding ?? false;
433
+ const handleChange = useCallback(selectedDate => {
434
+ onFilterStateChanged({
435
+ type: "SELECT",
436
+ selectedValues: selectedDate !== undefined ? [selectedDate] : [],
437
+ isExcluding
438
+ });
439
+ }, [onFilterStateChanged, isExcluding]);
440
+ return /*#__PURE__*/React.createElement(SingleDateInput, {
441
+ selectedDate: selectedDate,
442
+ onChange: handleChange
443
+ });
444
+ });
445
+ const MultiDateFilterInput = /*#__PURE__*/memo(function ({
446
+ filterState,
447
+ onFilterStateChanged
448
+ }) {
449
+ const selectedDates = useMemo(() => filterState?.type === "SELECT" ? filterState.selectedValues.filter(v => v instanceof Date) : [], [filterState]);
450
+ const isExcluding = filterState?.isExcluding ?? false;
451
+ const handleChange = useCallback(selectedDates => {
452
+ onFilterStateChanged({
453
+ type: "SELECT",
454
+ selectedValues: selectedDates,
455
+ isExcluding
456
+ });
457
+ }, [onFilterStateChanged, isExcluding]);
458
+ return /*#__PURE__*/React.createElement(MultiDateInput, {
459
+ selectedDates: selectedDates,
460
+ onChange: handleChange
461
+ });
462
+ });
463
+ function ListogramFilterInputInner({
464
+ objectType,
465
+ propertyKey,
466
+ filterState,
467
+ onFilterStateChanged,
468
+ whereClause
469
+ }) {
470
+ const selectedValues = useMemo(() => filterState?.type === "EXACT_MATCH" ? coerceToStringArray(filterState.values) : [], [filterState]);
471
+ const isExcluding = filterState?.isExcluding ?? false;
472
+ const handleChange = useCallback(values => {
473
+ onFilterStateChanged({
474
+ type: "EXACT_MATCH",
475
+ values,
476
+ isExcluding
477
+ });
478
+ }, [onFilterStateChanged, isExcluding]);
479
+ return /*#__PURE__*/React.createElement(ListogramInput, {
480
+ objectType: objectType,
481
+ propertyKey: propertyKey,
482
+ selectedValues: selectedValues,
483
+ onChange: handleChange,
484
+ whereClause: whereClause
485
+ });
486
+ }
487
+ const ListogramFilterInput = /*#__PURE__*/memo(ListogramFilterInputInner);
488
+ function TextTagsFilterInputInner({
489
+ objectType,
490
+ propertyKey,
491
+ filterState,
492
+ onFilterStateChanged,
493
+ whereClause
494
+ }) {
495
+ const tags = useMemo(() => filterState?.type === "EXACT_MATCH" ? coerceToStringArray(filterState.values) : [], [filterState]);
496
+ const isExcluding = filterState?.isExcluding ?? false;
497
+ const handleChange = useCallback(values => {
498
+ onFilterStateChanged({
499
+ type: "EXACT_MATCH",
500
+ values,
501
+ isExcluding
502
+ });
503
+ }, [onFilterStateChanged, isExcluding]);
504
+ return /*#__PURE__*/React.createElement(TextTagsInput, {
505
+ objectType: objectType,
506
+ propertyKey: propertyKey,
507
+ tags: tags,
508
+ onChange: handleChange,
509
+ whereClause: whereClause
510
+ });
511
+ }
512
+ const TextTagsFilterInput = /*#__PURE__*/memo(TextTagsFilterInputInner);
513
+ const TimelineFilterInput = /*#__PURE__*/memo(function ({
514
+ filterState,
515
+ onFilterStateChanged
516
+ }) {
517
+ const {
518
+ startDate,
519
+ endDate
520
+ } = useMemo(() => filterState?.type === "TIMELINE" ? {
521
+ startDate: filterState.startDate,
522
+ endDate: filterState.endDate
523
+ } : {
524
+ startDate: undefined,
525
+ endDate: undefined
526
+ }, [filterState]);
527
+ const isExcluding = filterState?.isExcluding ?? false;
528
+ const handleChange = useCallback((startDate, endDate) => {
529
+ onFilterStateChanged({
530
+ type: "TIMELINE",
531
+ startDate,
532
+ endDate,
533
+ isExcluding
534
+ });
535
+ }, [onFilterStateChanged, isExcluding]);
536
+ return /*#__PURE__*/React.createElement(TimelineInput, {
537
+ startDate: startDate,
538
+ endDate: endDate,
539
+ onChange: handleChange
540
+ });
541
+ });
542
+ //# sourceMappingURL=FilterInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterInput.js","names":["React","memo","useCallback","useMemo","coerceToString","coerceToStringArray","CheckboxListInput","ContainsTextInput","DateRangeInput","LinkedPropertyInput","ListogramInput","MultiDateInput","MultiSelectInput","NullValueWrapper","NumberRangeInput","SingleDateInput","SingleSelectInput","TextTagsInput","TimelineInput","ToggleInput","FilterInputInner","objectType","objectSet","definition","filterState","onFilterStateChanged","whereClause","createElement","FilterInputContent","FilterInput","type","HasLinkInput","KeywordSearchInput","placeholder","label","renderInput","customFilterState","Fragment","state","PropertyFilterInput","hasLink","handleChange","enabled","onChange","searchTerm","undefined","operator","newSearchTerm","value","PropertyFilterInputInner","filterComponent","CheckboxListFilterInput","propertyKey","key","ContainsTextFilterInput","ToggleFilterInput","NumberRangeFilterInput","DateRangeFilterInput","SingleSelectFilterInput","MultiSelectFilterInput","SingleDateFilterInput","MultiDateFilterInput","ListogramFilterInput","TextTagsFilterInput","TimelineFilterInput","CheckboxListFilterInputInner","selectedValues","isExcluding","newSelectedValues","NumberRangeFilterInputInner","numberRangeState","includeNull","handleNullChange","minValue","maxValue","handleRangeChange","onIncludeNullChange","DateRangeFilterInputInner","dateRangeState","SingleSelectFilterInputInner","selectedValue","MultiSelectFilterInputInner","selectedDate","Date","selectedDates","filter","v","ListogramFilterInputInner","values","TextTagsFilterInputInner","tags","startDate","endDate"],"sources":["FilterInput.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 { ObjectSet, ObjectTypeDefinition, WhereClause } from \"@osdk/api\";\nimport React, { memo, useCallback, useMemo } from \"react\";\nimport type { FilterDefinitionUnion } from \"../FilterListApi.js\";\nimport type { FilterState } from \"../FilterListItemApi.js\";\nimport {\n coerceToString,\n coerceToStringArray,\n} from \"../utils/coerceFilterValue.js\";\nimport { CheckboxListInput } from \"./inputs/CheckboxListInput.js\";\nimport { ContainsTextInput } from \"./inputs/ContainsTextInput.js\";\nimport { DateRangeInput } from \"./inputs/DateRangeInput.js\";\nimport { LinkedPropertyInput } from \"./inputs/LinkedPropertyInput.js\";\nimport { ListogramInput } from \"./inputs/ListogramInput.js\";\nimport { MultiDateInput } from \"./inputs/MultiDateInput.js\";\nimport { MultiSelectInput } from \"./inputs/MultiSelectInput.js\";\nimport { NullValueWrapper } from \"./inputs/NullValueWrapper.js\";\nimport { NumberRangeInput } from \"./inputs/NumberRangeInput.js\";\nimport { SingleDateInput } from \"./inputs/SingleDateInput.js\";\nimport { SingleSelectInput } from \"./inputs/SingleSelectInput.js\";\nimport { TextTagsInput } from \"./inputs/TextTagsInput.js\";\nimport { TimelineInput } from \"./inputs/TimelineInput.js\";\nimport { ToggleInput } from \"./inputs/ToggleInput.js\";\n\ninterface FilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n objectSet: ObjectSet<Q>;\n definition: FilterDefinitionUnion<Q>;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction FilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n objectSet,\n definition,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: FilterInputProps<Q>): React.ReactElement {\n return (\n <FilterInputContent\n objectType={objectType}\n objectSet={objectSet}\n definition={definition}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n}\n\nexport const FilterInput = memo(FilterInputInner) as typeof FilterInputInner;\n\nfunction FilterInputContent<Q extends ObjectTypeDefinition>({\n objectType,\n objectSet,\n definition,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: FilterInputProps<Q>): React.ReactElement {\n switch (definition.type) {\n case \"HAS_LINK\":\n return (\n <HasLinkInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"LINKED_PROPERTY\":\n return (\n <LinkedPropertyInput\n objectSet={objectSet}\n definition={definition}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"KEYWORD_SEARCH\":\n return (\n <KeywordSearchInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n placeholder={definition.label ?? \"Search...\"}\n />\n );\n\n case \"CUSTOM\": {\n if (!definition.renderInput) {\n return (\n <div data-unsupported=\"true\">Custom filter missing renderInput</div>\n );\n }\n const customFilterState = filterState?.type === \"custom\"\n ? filterState\n : definition.filterState;\n return (\n <>\n {definition.renderInput({\n objectSet,\n filterState: customFilterState,\n onFilterStateChanged: (state) => onFilterStateChanged(state),\n })}\n </>\n );\n }\n\n case \"PROPERTY\":\n return (\n <PropertyFilterInput\n objectType={objectType}\n objectSet={objectSet}\n definition={definition}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n\n default:\n return <div data-unsupported=\"true\">Unsupported filter type</div>;\n }\n}\n\ninterface HasLinkInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nconst HasLinkInput = memo(function HasLinkInput({\n filterState,\n onFilterStateChanged,\n}: HasLinkInputProps): React.ReactElement {\n const hasLink = filterState?.type === \"hasLink\"\n ? filterState.hasLink\n : false;\n\n const handleChange = useCallback(\n (hasLink: boolean) => {\n onFilterStateChanged({ type: \"hasLink\", hasLink });\n },\n [onFilterStateChanged],\n );\n\n return <ToggleInput enabled={hasLink} onChange={handleChange} />;\n});\n\ninterface KeywordSearchInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n placeholder: string;\n}\n\nconst KeywordSearchInput = memo(function KeywordSearchInput({\n filterState,\n onFilterStateChanged,\n placeholder,\n}: KeywordSearchInputProps): React.ReactElement {\n const searchTerm = filterState?.type === \"keywordSearch\"\n ? filterState.searchTerm\n : undefined;\n const operator = filterState?.type === \"keywordSearch\"\n ? filterState.operator\n : \"AND\";\n\n const handleChange = useCallback(\n (newSearchTerm: string | undefined) => {\n onFilterStateChanged({\n type: \"keywordSearch\",\n searchTerm: newSearchTerm ?? \"\",\n operator,\n });\n },\n [onFilterStateChanged, operator],\n );\n\n return (\n <ContainsTextInput\n value={searchTerm}\n onChange={handleChange}\n placeholder={placeholder}\n />\n );\n});\n\ninterface PropertyFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n objectSet: ObjectSet<Q>;\n definition: Extract<FilterDefinitionUnion<Q>, { type: \"PROPERTY\" }>;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction PropertyFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n objectSet,\n definition,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: PropertyFilterInputProps<Q>): React.ReactElement {\n switch (definition.filterComponent) {\n case \"CHECKBOX_LIST\":\n return (\n <CheckboxListFilterInput\n objectType={objectType}\n objectSet={objectSet}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n\n case \"CONTAINS_TEXT\":\n return (\n <ContainsTextFilterInput\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"TOGGLE\":\n return (\n <ToggleFilterInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"NUMBER_RANGE\":\n return (\n <NumberRangeFilterInput\n objectType={objectType}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"DATE_RANGE\":\n return (\n <DateRangeFilterInput\n objectType={objectType}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"SINGLE_SELECT\":\n return (\n <SingleSelectFilterInput\n objectType={objectType}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n\n case \"MULTI_SELECT\":\n return (\n <MultiSelectFilterInput\n objectType={objectType}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n\n case \"SINGLE_DATE\":\n return (\n <SingleDateFilterInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"MULTI_DATE\":\n return (\n <MultiDateFilterInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"LISTOGRAM\":\n return (\n <ListogramFilterInput\n objectType={objectType}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n\n case \"TEXT_TAGS\":\n return (\n <TextTagsFilterInput\n objectType={objectType}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n\n case \"TIMELINE\":\n return (\n <TimelineFilterInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n default:\n return (\n <div data-unsupported=\"true\">\n Unsupported filter component: {definition.filterComponent}\n </div>\n );\n }\n}\n\nconst PropertyFilterInput = memo(\n PropertyFilterInputInner,\n) as typeof PropertyFilterInputInner;\n\ninterface CheckboxListFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n objectSet: ObjectSet<Q>;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction CheckboxListFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n objectSet,\n propertyKey,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: CheckboxListFilterInputProps<Q>): React.ReactElement {\n const selectedValues = useMemo(\n () =>\n filterState?.type === \"SELECT\"\n ? coerceToStringArray(filterState.selectedValues)\n : [],\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (newSelectedValues: string[]) => {\n onFilterStateChanged({\n type: \"SELECT\",\n selectedValues: newSelectedValues,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <CheckboxListInput\n objectType={objectType}\n objectSet={objectSet}\n propertyKey={propertyKey}\n selectedValues={selectedValues}\n onChange={handleChange}\n whereClause={whereClause}\n />\n );\n}\n\nconst CheckboxListFilterInput = memo(\n CheckboxListFilterInputInner,\n) as typeof CheckboxListFilterInputInner;\n\ninterface ContainsTextFilterInputProps {\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nconst ContainsTextFilterInput = memo(function ContainsTextFilterInput({\n propertyKey,\n filterState,\n onFilterStateChanged,\n}: ContainsTextFilterInputProps): React.ReactElement {\n const value = useMemo(\n () =>\n filterState?.type === \"CONTAINS_TEXT\"\n ? filterState.value\n : undefined,\n [filterState],\n );\n\n const handleChange = useCallback(\n (value: string | undefined) => {\n onFilterStateChanged({ type: \"CONTAINS_TEXT\", value });\n },\n [onFilterStateChanged],\n );\n\n return (\n <ContainsTextInput\n value={value}\n onChange={handleChange}\n placeholder={`Search ${propertyKey}...`}\n />\n );\n});\n\ninterface ToggleFilterInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nconst ToggleFilterInput = memo(function ToggleFilterInput({\n filterState,\n onFilterStateChanged,\n}: ToggleFilterInputProps): React.ReactElement {\n const enabled = filterState?.type === \"TOGGLE\" ? filterState.enabled : false;\n\n const handleChange = useCallback(\n (enabled: boolean) => {\n onFilterStateChanged({ type: \"TOGGLE\", enabled });\n },\n [onFilterStateChanged],\n );\n\n return <ToggleInput enabled={enabled} onChange={handleChange} />;\n});\n\ninterface NumberRangeFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nfunction NumberRangeFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n propertyKey,\n filterState,\n onFilterStateChanged,\n}: NumberRangeFilterInputProps<Q>): React.ReactElement {\n const numberRangeState = useMemo(\n () => filterState?.type === \"NUMBER_RANGE\" ? filterState : undefined,\n [filterState],\n );\n const includeNull = filterState?.includeNull;\n\n const handleNullChange = useCallback(\n (includeNull: boolean) => {\n onFilterStateChanged({\n type: \"NUMBER_RANGE\",\n minValue: numberRangeState?.minValue,\n maxValue: numberRangeState?.maxValue,\n includeNull,\n });\n },\n [\n onFilterStateChanged,\n numberRangeState?.minValue,\n numberRangeState?.maxValue,\n ],\n );\n\n const handleRangeChange = useCallback(\n (minValue: number | undefined, maxValue: number | undefined) => {\n onFilterStateChanged({\n type: \"NUMBER_RANGE\",\n minValue,\n maxValue,\n includeNull,\n });\n },\n [onFilterStateChanged, includeNull],\n );\n\n return (\n <NullValueWrapper\n objectType={objectType}\n propertyKey={propertyKey}\n includeNull={includeNull}\n onIncludeNullChange={handleNullChange}\n >\n <NumberRangeInput\n objectType={objectType}\n propertyKey={propertyKey}\n minValue={numberRangeState?.minValue}\n maxValue={numberRangeState?.maxValue}\n onChange={handleRangeChange}\n />\n </NullValueWrapper>\n );\n}\n\nconst NumberRangeFilterInput = memo(\n NumberRangeFilterInputInner,\n) as typeof NumberRangeFilterInputInner;\n\ninterface DateRangeFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nfunction DateRangeFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n propertyKey,\n filterState,\n onFilterStateChanged,\n}: DateRangeFilterInputProps<Q>): React.ReactElement {\n const dateRangeState = useMemo(\n () => filterState?.type === \"DATE_RANGE\" ? filterState : undefined,\n [filterState],\n );\n const includeNull = filterState?.includeNull;\n\n const handleNullChange = useCallback(\n (includeNull: boolean) => {\n onFilterStateChanged({\n type: \"DATE_RANGE\",\n minValue: dateRangeState?.minValue,\n maxValue: dateRangeState?.maxValue,\n includeNull,\n });\n },\n [onFilterStateChanged, dateRangeState?.minValue, dateRangeState?.maxValue],\n );\n\n const handleRangeChange = useCallback(\n (minValue: Date | undefined, maxValue: Date | undefined) => {\n onFilterStateChanged({\n type: \"DATE_RANGE\",\n minValue,\n maxValue,\n includeNull,\n });\n },\n [onFilterStateChanged, includeNull],\n );\n\n return (\n <NullValueWrapper\n objectType={objectType}\n propertyKey={propertyKey}\n includeNull={includeNull}\n onIncludeNullChange={handleNullChange}\n >\n <DateRangeInput\n objectType={objectType}\n propertyKey={propertyKey}\n minValue={dateRangeState?.minValue}\n maxValue={dateRangeState?.maxValue}\n onChange={handleRangeChange}\n />\n </NullValueWrapper>\n );\n}\n\nconst DateRangeFilterInput = memo(\n DateRangeFilterInputInner,\n) as typeof DateRangeFilterInputInner;\n\ninterface SingleSelectFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction SingleSelectFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n propertyKey,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: SingleSelectFilterInputProps<Q>): React.ReactElement {\n const selectedValue = useMemo(\n () =>\n filterState?.type === \"SELECT\"\n ? coerceToString(filterState.selectedValues[0])\n : undefined,\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (value: string | undefined) => {\n onFilterStateChanged({\n type: \"SELECT\",\n selectedValues: value !== undefined ? [value] : [],\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <SingleSelectInput\n objectType={objectType}\n propertyKey={propertyKey}\n selectedValue={selectedValue}\n onChange={handleChange}\n whereClause={whereClause}\n />\n );\n}\n\nconst SingleSelectFilterInput = memo(\n SingleSelectFilterInputInner,\n) as typeof SingleSelectFilterInputInner;\n\ninterface MultiSelectFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction MultiSelectFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n propertyKey,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: MultiSelectFilterInputProps<Q>): React.ReactElement {\n const selectedValues = useMemo(\n () =>\n filterState?.type === \"SELECT\"\n ? coerceToStringArray(filterState.selectedValues)\n : [],\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (selectedValues: string[]) => {\n onFilterStateChanged({\n type: \"SELECT\",\n selectedValues,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <MultiSelectInput\n objectType={objectType}\n propertyKey={propertyKey}\n selectedValues={selectedValues}\n onChange={handleChange}\n whereClause={whereClause}\n />\n );\n}\n\nconst MultiSelectFilterInput = memo(\n MultiSelectFilterInputInner,\n) as typeof MultiSelectFilterInputInner;\n\ninterface SingleDateFilterInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nconst SingleDateFilterInput = memo(function SingleDateFilterInput({\n filterState,\n onFilterStateChanged,\n}: SingleDateFilterInputProps): React.ReactElement {\n const selectedDate = useMemo(\n () =>\n filterState?.type === \"SELECT\"\n ? (filterState.selectedValues[0] instanceof Date\n ? filterState.selectedValues[0]\n : undefined)\n : undefined,\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (selectedDate: Date | undefined) => {\n onFilterStateChanged({\n type: \"SELECT\",\n selectedValues: selectedDate !== undefined ? [selectedDate] : [],\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <SingleDateInput selectedDate={selectedDate} onChange={handleChange} />\n );\n});\n\ninterface MultiDateFilterInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nconst MultiDateFilterInput = memo(function MultiDateFilterInput({\n filterState,\n onFilterStateChanged,\n}: MultiDateFilterInputProps): React.ReactElement {\n const selectedDates = useMemo(\n () =>\n filterState?.type === \"SELECT\"\n ? filterState.selectedValues.filter((v): v is Date => v instanceof Date)\n : [],\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (selectedDates: Date[]) => {\n onFilterStateChanged({\n type: \"SELECT\",\n selectedValues: selectedDates,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <MultiDateInput selectedDates={selectedDates} onChange={handleChange} />\n );\n});\n\ninterface ListogramFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction ListogramFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n propertyKey,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: ListogramFilterInputProps<Q>): React.ReactElement {\n const selectedValues = useMemo(\n () =>\n filterState?.type === \"EXACT_MATCH\"\n ? coerceToStringArray(filterState.values)\n : [],\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (values: string[]) => {\n onFilterStateChanged({\n type: \"EXACT_MATCH\",\n values,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <ListogramInput\n objectType={objectType}\n propertyKey={propertyKey}\n selectedValues={selectedValues}\n onChange={handleChange}\n whereClause={whereClause}\n />\n );\n}\n\nconst ListogramFilterInput = memo(\n ListogramFilterInputInner,\n) as typeof ListogramFilterInputInner;\n\ninterface TextTagsFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction TextTagsFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n propertyKey,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: TextTagsFilterInputProps<Q>): React.ReactElement {\n const tags = useMemo(\n () =>\n filterState?.type === \"EXACT_MATCH\"\n ? coerceToStringArray(filterState.values)\n : [],\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (values: string[]) => {\n onFilterStateChanged({\n type: \"EXACT_MATCH\",\n values,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <TextTagsInput\n objectType={objectType}\n propertyKey={propertyKey}\n tags={tags}\n onChange={handleChange}\n whereClause={whereClause}\n />\n );\n}\n\nconst TextTagsFilterInput = memo(\n TextTagsFilterInputInner,\n) as typeof TextTagsFilterInputInner;\n\ninterface TimelineFilterInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nconst TimelineFilterInput = memo(function TimelineFilterInput({\n filterState,\n onFilterStateChanged,\n}: TimelineFilterInputProps): React.ReactElement {\n const { startDate, endDate } = useMemo(\n () =>\n filterState?.type === \"TIMELINE\"\n ? { startDate: filterState.startDate, endDate: filterState.endDate }\n : { startDate: undefined, endDate: undefined },\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (startDate: Date | undefined, endDate: Date | undefined) => {\n onFilterStateChanged({\n type: \"TIMELINE\",\n startDate,\n endDate,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <TimelineInput\n startDate={startDate}\n endDate={endDate}\n onChange={handleChange}\n />\n );\n});\n"],"mappings":"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","ignoreList":[]}