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

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 (330) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +21 -5
  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__/filterStateToWhereClause.test.js +296 -0
  37. package/build/browser/filter-list/__tests__/filterStateToWhereClause.test.js.map +1 -0
  38. package/build/browser/filter-list/__tests__/getFilterKey.test.js +53 -0
  39. package/build/browser/filter-list/__tests__/getFilterKey.test.js.map +1 -0
  40. package/build/browser/filter-list/__tests__/testUtils.js +192 -0
  41. package/build/browser/filter-list/__tests__/testUtils.js.map +1 -0
  42. package/build/browser/filter-list/hooks/__tests__/useFilterListState.test.js +128 -0
  43. package/build/browser/filter-list/hooks/__tests__/useFilterListState.test.js.map +1 -0
  44. package/build/browser/filter-list/hooks/useDebouncedValue.js +52 -0
  45. package/build/browser/filter-list/hooks/useDebouncedValue.js.map +1 -0
  46. package/build/browser/filter-list/hooks/useFilterListState.js +119 -0
  47. package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -0
  48. package/build/browser/filter-list/hooks/usePropertyAggregation.js +92 -0
  49. package/build/browser/filter-list/hooks/usePropertyAggregation.js.map +1 -0
  50. package/build/browser/filter-list/types/AddFilterMenuTypes.js +2 -0
  51. package/build/browser/filter-list/types/AddFilterMenuTypes.js.map +1 -0
  52. package/build/browser/filter-list/types/CustomRendererTypes.js +2 -0
  53. package/build/browser/filter-list/types/CustomRendererTypes.js.map +1 -0
  54. package/build/browser/filter-list/types/KeywordSearchTypes.js +2 -0
  55. package/build/browser/filter-list/types/KeywordSearchTypes.js.map +1 -0
  56. package/build/browser/filter-list/types/LinkedFilterTypes.js +2 -0
  57. package/build/browser/filter-list/types/LinkedFilterTypes.js.map +1 -0
  58. package/build/browser/filter-list/types/index.js +21 -0
  59. package/build/browser/filter-list/types/index.js.map +1 -0
  60. package/build/browser/filter-list/utils/assertUnreachable.js +25 -0
  61. package/build/browser/filter-list/utils/assertUnreachable.js.map +1 -0
  62. package/build/browser/filter-list/utils/coerceFilterValue.js +33 -0
  63. package/build/browser/filter-list/utils/coerceFilterValue.js.map +1 -0
  64. package/build/browser/filter-list/utils/filterStateToWhereClause.js +337 -0
  65. package/build/browser/filter-list/utils/filterStateToWhereClause.js.map +1 -0
  66. package/build/browser/filter-list/utils/filterValues.js +55 -0
  67. package/build/browser/filter-list/utils/filterValues.js.map +1 -0
  68. package/build/browser/filter-list/utils/getFilterKey.js +34 -0
  69. package/build/browser/filter-list/utils/getFilterKey.js.map +1 -0
  70. package/build/browser/object-table/CellContextMenu.js +23 -20
  71. package/build/browser/object-table/CellContextMenu.module.css +20 -0
  72. package/build/browser/object-table/CellContextMenu.module.css.js +6 -0
  73. package/build/browser/object-table/ColumnConfigDialog.js +259 -0
  74. package/build/browser/object-table/ColumnConfigDialog.js.map +1 -0
  75. package/build/browser/object-table/ColumnConfigDialog.module.css +247 -0
  76. package/build/browser/object-table/ColumnConfigDialog.module.css.js +29 -0
  77. package/build/browser/object-table/LoadingCell.js +24 -29
  78. package/build/browser/object-table/LoadingCell.module.css +48 -0
  79. package/build/browser/object-table/LoadingCell.module.css.js +8 -0
  80. package/build/browser/object-table/LoadingRow.js +24 -50
  81. package/build/browser/object-table/LoadingStateTable.js +49 -343
  82. package/build/browser/object-table/LoadingStateTable.js.map +1 -1
  83. package/build/browser/object-table/MultiColumnSortDialog.js +178 -0
  84. package/build/browser/object-table/MultiColumnSortDialog.js.map +1 -0
  85. package/build/browser/object-table/MultiColumnSortDialog.module.css +195 -0
  86. package/build/browser/object-table/MultiColumnSortDialog.module.css.js +22 -0
  87. package/build/browser/object-table/NonIdealState.js +23 -20
  88. package/build/browser/object-table/NonIdealState.module.css +27 -0
  89. package/build/browser/object-table/NonIdealState.module.css.js +7 -0
  90. package/build/browser/object-table/ObjectTable.js +43 -13
  91. package/build/browser/object-table/ObjectTable.js.map +1 -1
  92. package/build/browser/object-table/ObjectTableApi.js.map +1 -1
  93. package/build/browser/object-table/SortableItemsList.js +35 -0
  94. package/build/browser/object-table/SortableItemsList.js.map +1 -0
  95. package/build/browser/object-table/Table.js +54 -934
  96. package/build/browser/object-table/Table.js.map +1 -1
  97. package/build/browser/object-table/Table.module.css +29 -0
  98. package/build/browser/object-table/Table.module.css.js +6 -0
  99. package/build/browser/object-table/TableBody.js +36 -260
  100. package/build/browser/object-table/TableBody.module.css +20 -0
  101. package/build/browser/object-table/TableBody.module.css.js +6 -0
  102. package/build/browser/object-table/TableCell.js +31 -111
  103. package/build/browser/object-table/TableCell.module.css +73 -0
  104. package/build/browser/object-table/TableCell.module.css.js +8 -0
  105. package/build/browser/object-table/TableHeader.js +126 -216
  106. package/build/browser/object-table/TableHeader.js.map +1 -1
  107. package/build/browser/object-table/TableHeader.module.css +106 -0
  108. package/build/browser/object-table/TableHeader.module.css.js +10 -0
  109. package/build/browser/object-table/TableHeaderContent.js +21 -18
  110. package/build/browser/object-table/TableHeaderContent.module.css +30 -0
  111. package/build/browser/object-table/TableHeaderContent.module.css.js +6 -0
  112. package/build/browser/object-table/TableHeaderWithPopover.js +110 -93
  113. package/build/browser/object-table/TableHeaderWithPopover.js.map +1 -1
  114. package/build/browser/object-table/TableHeaderWithPopover.module.css +141 -0
  115. package/build/browser/object-table/TableHeaderWithPopover.module.css.js +17 -0
  116. package/build/browser/object-table/TableRow.js +26 -144
  117. package/build/browser/object-table/TableRow.module.css +60 -0
  118. package/build/browser/object-table/TableRow.module.css.js +6 -0
  119. package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js +160 -138
  120. package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js.map +1 -1
  121. package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js +3 -0
  122. package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js.map +1 -1
  123. package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js +27 -82
  124. package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js.map +1 -1
  125. package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js +290 -0
  126. package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js.map +1 -1
  127. package/build/browser/object-table/hooks/useColumnDefs.js +7 -2
  128. package/build/browser/object-table/hooks/useColumnDefs.js.map +1 -1
  129. package/build/browser/object-table/hooks/useColumnResize.js +45 -0
  130. package/build/browser/object-table/hooks/useColumnResize.js.map +1 -0
  131. package/build/browser/object-table/hooks/useColumnVisibility.js +52 -20
  132. package/build/browser/object-table/hooks/useColumnVisibility.js.map +1 -1
  133. package/build/browser/object-table/hooks/useRowSelection.js +8 -7
  134. package/build/browser/object-table/hooks/useRowSelection.js.map +1 -1
  135. package/build/browser/object-table/hooks/useSelectionColumn.js +15 -6
  136. package/build/browser/object-table/hooks/useSelectionColumn.js.map +1 -1
  137. package/build/browser/object-table/utils/types.js +2 -0
  138. package/build/browser/object-table/utils/types.js.map +1 -0
  139. package/build/browser/public/experimental.js +1 -0
  140. package/build/browser/public/experimental.js.map +1 -1
  141. package/build/browser/styles.css +1875 -0
  142. package/build/cjs/public/experimental.cjs +1036 -197
  143. package/build/cjs/public/experimental.cjs.map +1 -1
  144. package/build/cjs/public/experimental.css +659 -29
  145. package/build/cjs/public/experimental.css.map +1 -1
  146. package/build/cjs/public/experimental.d.cts +435 -44
  147. package/build/esm/base-components/action-button/ActionButton.js +31 -0
  148. package/build/esm/base-components/action-button/ActionButton.js.map +1 -0
  149. package/build/esm/base-components/action-button/ActionButton.module.css +70 -0
  150. package/build/esm/base-components/checkbox/Checkbox.module.css +1 -1
  151. package/build/esm/base-components/combobox/Combobox.js +124 -0
  152. package/build/esm/base-components/combobox/Combobox.js.map +1 -0
  153. package/build/esm/base-components/combobox/Combobox.module.css +177 -0
  154. package/build/esm/base-components/dialog/Dialog.js +52 -0
  155. package/build/esm/base-components/dialog/Dialog.js.map +1 -0
  156. package/build/esm/base-components/dialog/Dialog.module.css +101 -0
  157. package/build/esm/base-components/draggable-list/DraggableList.js +155 -0
  158. package/build/esm/base-components/draggable-list/DraggableList.js.map +1 -0
  159. package/build/esm/base-components/draggable-list/DraggableList.module.css +108 -0
  160. package/build/esm/base-components/search-bar/SearchBar.js +44 -0
  161. package/build/esm/base-components/search-bar/SearchBar.js.map +1 -0
  162. package/build/esm/base-components/search-bar/SearchBar.module.css +53 -0
  163. package/build/esm/base-components/select/Select.js +89 -0
  164. package/build/esm/base-components/select/Select.js.map +1 -0
  165. package/build/esm/base-components/select/Select.module.css +138 -0
  166. package/build/esm/base-components/switch/Switch.js +33 -0
  167. package/build/esm/base-components/switch/Switch.js.map +1 -0
  168. package/build/esm/base-components/switch/Switch.module.css +91 -0
  169. package/build/esm/filter-list/FilterListApi.js.map +1 -1
  170. package/build/esm/filter-list/FilterListItemApi.js.map +1 -1
  171. package/build/esm/filter-list/__tests__/filterStateToWhereClause.test.js +296 -0
  172. package/build/esm/filter-list/__tests__/filterStateToWhereClause.test.js.map +1 -0
  173. package/build/esm/filter-list/__tests__/getFilterKey.test.js +53 -0
  174. package/build/esm/filter-list/__tests__/getFilterKey.test.js.map +1 -0
  175. package/build/esm/filter-list/__tests__/testUtils.js +192 -0
  176. package/build/esm/filter-list/__tests__/testUtils.js.map +1 -0
  177. package/build/esm/filter-list/hooks/__tests__/useFilterListState.test.js +128 -0
  178. package/build/esm/filter-list/hooks/__tests__/useFilterListState.test.js.map +1 -0
  179. package/build/esm/filter-list/hooks/useDebouncedValue.js +52 -0
  180. package/build/esm/filter-list/hooks/useDebouncedValue.js.map +1 -0
  181. package/build/esm/filter-list/hooks/useFilterListState.js +119 -0
  182. package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -0
  183. package/build/esm/filter-list/hooks/usePropertyAggregation.js +92 -0
  184. package/build/esm/filter-list/hooks/usePropertyAggregation.js.map +1 -0
  185. package/build/esm/filter-list/types/AddFilterMenuTypes.js +2 -0
  186. package/build/esm/filter-list/types/AddFilterMenuTypes.js.map +1 -0
  187. package/build/esm/filter-list/types/CustomRendererTypes.js +2 -0
  188. package/build/esm/filter-list/types/CustomRendererTypes.js.map +1 -0
  189. package/build/esm/filter-list/types/KeywordSearchTypes.js +2 -0
  190. package/build/esm/filter-list/types/KeywordSearchTypes.js.map +1 -0
  191. package/build/esm/filter-list/types/LinkedFilterTypes.js +2 -0
  192. package/build/esm/filter-list/types/LinkedFilterTypes.js.map +1 -0
  193. package/build/esm/filter-list/types/index.js +21 -0
  194. package/build/esm/filter-list/types/index.js.map +1 -0
  195. package/build/esm/filter-list/utils/assertUnreachable.js +25 -0
  196. package/build/esm/filter-list/utils/assertUnreachable.js.map +1 -0
  197. package/build/esm/filter-list/utils/coerceFilterValue.js +33 -0
  198. package/build/esm/filter-list/utils/coerceFilterValue.js.map +1 -0
  199. package/build/esm/filter-list/utils/filterStateToWhereClause.js +337 -0
  200. package/build/esm/filter-list/utils/filterStateToWhereClause.js.map +1 -0
  201. package/build/esm/filter-list/utils/filterValues.js +55 -0
  202. package/build/esm/filter-list/utils/filterValues.js.map +1 -0
  203. package/build/esm/filter-list/utils/getFilterKey.js +34 -0
  204. package/build/esm/filter-list/utils/getFilterKey.js.map +1 -0
  205. package/build/esm/object-table/ColumnConfigDialog.js +259 -0
  206. package/build/esm/object-table/ColumnConfigDialog.js.map +1 -0
  207. package/build/esm/object-table/ColumnConfigDialog.module.css +247 -0
  208. package/build/esm/object-table/LoadingStateTable.js +4 -4
  209. package/build/esm/object-table/LoadingStateTable.js.map +1 -1
  210. package/build/esm/object-table/MultiColumnSortDialog.js +178 -0
  211. package/build/esm/object-table/MultiColumnSortDialog.js.map +1 -0
  212. package/build/esm/object-table/MultiColumnSortDialog.module.css +195 -0
  213. package/build/esm/object-table/NonIdealState.module.css +2 -3
  214. package/build/esm/object-table/ObjectTable.js +43 -13
  215. package/build/esm/object-table/ObjectTable.js.map +1 -1
  216. package/build/esm/object-table/ObjectTableApi.js.map +1 -1
  217. package/build/esm/object-table/SortableItemsList.js +35 -0
  218. package/build/esm/object-table/SortableItemsList.js.map +1 -0
  219. package/build/esm/object-table/Table.js +9 -7
  220. package/build/esm/object-table/Table.js.map +1 -1
  221. package/build/esm/object-table/Table.module.css +9 -2
  222. package/build/esm/object-table/TableCell.module.css +11 -0
  223. package/build/esm/object-table/TableHeader.js +93 -6
  224. package/build/esm/object-table/TableHeader.js.map +1 -1
  225. package/build/esm/object-table/TableHeader.module.css +7 -2
  226. package/build/esm/object-table/TableHeaderWithPopover.js +53 -22
  227. package/build/esm/object-table/TableHeaderWithPopover.js.map +1 -1
  228. package/build/esm/object-table/TableHeaderWithPopover.module.css +54 -23
  229. package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js +160 -138
  230. package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js.map +1 -1
  231. package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js +3 -0
  232. package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js.map +1 -1
  233. package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js +27 -82
  234. package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js.map +1 -1
  235. package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js +290 -0
  236. package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js.map +1 -1
  237. package/build/esm/object-table/hooks/useColumnDefs.js +7 -2
  238. package/build/esm/object-table/hooks/useColumnDefs.js.map +1 -1
  239. package/build/esm/object-table/hooks/useColumnResize.js +45 -0
  240. package/build/esm/object-table/hooks/useColumnResize.js.map +1 -0
  241. package/build/esm/object-table/hooks/useColumnVisibility.js +52 -20
  242. package/build/esm/object-table/hooks/useColumnVisibility.js.map +1 -1
  243. package/build/esm/object-table/hooks/useRowSelection.js +8 -7
  244. package/build/esm/object-table/hooks/useRowSelection.js.map +1 -1
  245. package/build/esm/object-table/hooks/useSelectionColumn.js +15 -6
  246. package/build/esm/object-table/hooks/useSelectionColumn.js.map +1 -1
  247. package/build/esm/object-table/utils/types.js +2 -0
  248. package/build/esm/object-table/utils/types.js.map +1 -0
  249. package/build/esm/public/experimental.js +1 -0
  250. package/build/esm/public/experimental.js.map +1 -1
  251. package/build/types/base-components/action-button/ActionButton.d.ts +5 -0
  252. package/build/types/base-components/action-button/ActionButton.d.ts.map +1 -0
  253. package/build/types/base-components/combobox/Combobox.d.ts +52 -0
  254. package/build/types/base-components/combobox/Combobox.d.ts.map +1 -0
  255. package/build/types/base-components/dialog/Dialog.d.ts +10 -0
  256. package/build/types/base-components/dialog/Dialog.d.ts.map +1 -0
  257. package/build/types/base-components/draggable-list/DraggableList.d.ts +17 -0
  258. package/build/types/base-components/draggable-list/DraggableList.d.ts.map +1 -0
  259. package/build/types/base-components/search-bar/SearchBar.d.ts +11 -0
  260. package/build/types/base-components/search-bar/SearchBar.d.ts.map +1 -0
  261. package/build/types/base-components/select/Select.d.ts +34 -0
  262. package/build/types/base-components/select/Select.d.ts.map +1 -0
  263. package/build/types/base-components/switch/Switch.d.ts +10 -0
  264. package/build/types/base-components/switch/Switch.d.ts.map +1 -0
  265. package/build/types/filter-list/FilterListApi.d.ts +63 -12
  266. package/build/types/filter-list/FilterListApi.d.ts.map +1 -1
  267. package/build/types/filter-list/FilterListItemApi.d.ts +101 -53
  268. package/build/types/filter-list/FilterListItemApi.d.ts.map +1 -1
  269. package/build/types/filter-list/__tests__/filterStateToWhereClause.test.d.ts +1 -0
  270. package/build/types/filter-list/__tests__/filterStateToWhereClause.test.d.ts.map +1 -0
  271. package/build/types/filter-list/__tests__/getFilterKey.test.d.ts +1 -0
  272. package/build/types/filter-list/__tests__/getFilterKey.test.d.ts.map +1 -0
  273. package/build/types/filter-list/__tests__/testUtils.d.ts +59 -0
  274. package/build/types/filter-list/__tests__/testUtils.d.ts.map +1 -0
  275. package/build/types/filter-list/hooks/__tests__/useFilterListState.test.d.ts +1 -0
  276. package/build/types/filter-list/hooks/__tests__/useFilterListState.test.d.ts.map +1 -0
  277. package/build/types/filter-list/hooks/useDebouncedValue.d.ts +11 -0
  278. package/build/types/filter-list/hooks/useDebouncedValue.d.ts.map +1 -0
  279. package/build/types/filter-list/hooks/useFilterListState.d.ts +11 -0
  280. package/build/types/filter-list/hooks/useFilterListState.d.ts.map +1 -0
  281. package/build/types/filter-list/hooks/usePropertyAggregation.d.ts +20 -0
  282. package/build/types/filter-list/hooks/usePropertyAggregation.d.ts.map +1 -0
  283. package/build/types/filter-list/types/AddFilterMenuTypes.d.ts +61 -0
  284. package/build/types/filter-list/types/AddFilterMenuTypes.d.ts.map +1 -0
  285. package/build/types/filter-list/types/CustomRendererTypes.d.ts +76 -0
  286. package/build/types/filter-list/types/CustomRendererTypes.d.ts.map +1 -0
  287. package/build/types/filter-list/types/KeywordSearchTypes.d.ts +56 -0
  288. package/build/types/filter-list/types/KeywordSearchTypes.d.ts.map +1 -0
  289. package/build/types/filter-list/types/LinkedFilterTypes.d.ts +70 -0
  290. package/build/types/filter-list/types/LinkedFilterTypes.d.ts.map +1 -0
  291. package/build/types/filter-list/types/index.d.ts +4 -0
  292. package/build/types/filter-list/types/index.d.ts.map +1 -0
  293. package/build/types/filter-list/utils/assertUnreachable.d.ts +6 -0
  294. package/build/types/filter-list/utils/assertUnreachable.d.ts.map +1 -0
  295. package/build/types/filter-list/utils/coerceFilterValue.d.ts +11 -0
  296. package/build/types/filter-list/utils/coerceFilterValue.d.ts.map +1 -0
  297. package/build/types/filter-list/utils/filterStateToWhereClause.d.ts +16 -0
  298. package/build/types/filter-list/utils/filterStateToWhereClause.d.ts.map +1 -0
  299. package/build/types/filter-list/utils/filterValues.d.ts +5 -0
  300. package/build/types/filter-list/utils/filterValues.d.ts.map +1 -0
  301. package/build/types/filter-list/utils/getFilterKey.d.ts +3 -0
  302. package/build/types/filter-list/utils/getFilterKey.d.ts.map +1 -0
  303. package/build/types/object-table/ColumnConfigDialog.d.ts +18 -0
  304. package/build/types/object-table/ColumnConfigDialog.d.ts.map +1 -0
  305. package/build/types/object-table/LoadingStateTable.d.ts.map +1 -1
  306. package/build/types/object-table/MultiColumnSortDialog.d.ts +15 -0
  307. package/build/types/object-table/MultiColumnSortDialog.d.ts.map +1 -0
  308. package/build/types/object-table/ObjectTable.d.ts +1 -1
  309. package/build/types/object-table/ObjectTable.d.ts.map +1 -1
  310. package/build/types/object-table/ObjectTableApi.d.ts +41 -6
  311. package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
  312. package/build/types/object-table/SortableItemsList.d.ts +13 -0
  313. package/build/types/object-table/SortableItemsList.d.ts.map +1 -0
  314. package/build/types/object-table/Table.d.ts +12 -1
  315. package/build/types/object-table/Table.d.ts.map +1 -1
  316. package/build/types/object-table/TableHeader.d.ts +3 -1
  317. package/build/types/object-table/TableHeader.d.ts.map +1 -1
  318. package/build/types/object-table/TableHeaderWithPopover.d.ts +30 -6
  319. package/build/types/object-table/TableHeaderWithPopover.d.ts.map +1 -1
  320. package/build/types/object-table/hooks/useColumnResize.d.ts +10 -0
  321. package/build/types/object-table/hooks/useColumnResize.d.ts.map +1 -0
  322. package/build/types/object-table/hooks/useColumnVisibility.d.ts +18 -7
  323. package/build/types/object-table/hooks/useColumnVisibility.d.ts.map +1 -1
  324. package/build/types/object-table/hooks/useRowSelection.d.ts +5 -4
  325. package/build/types/object-table/hooks/useRowSelection.d.ts.map +1 -1
  326. package/build/types/object-table/utils/types.d.ts +5 -0
  327. package/build/types/object-table/utils/types.d.ts.map +1 -0
  328. package/build/types/public/experimental.d.ts +2 -0
  329. package/build/types/public/experimental.d.ts.map +1 -1
  330. package/package.json +16 -8
@@ -1,67 +1,26 @@
1
1
  import type { CompileTimeMetadata, ObjectSet, ObjectTypeDefinition, PropertyKeys, WirePropertyTypes } from "@osdk/api";
2
- /**
3
- * Props for a single filter list item component
4
- */
5
- export interface FilterListItemProps<
6
- Q extends ObjectTypeDefinition,
7
- K extends PropertyKeys<Q> = PropertyKeys<Q>,
8
- C extends ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>> = ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>>
9
- > extends FilterDefinition<Q, K, C> {
10
- objectSet: ObjectSet<Q>;
11
- /**
12
- * Called when the state of the filter changes.
13
- * Required in controlled mode.
14
- */
15
- onFilterStateChanged: (state: FilterStateByComponentType[C]) => void;
16
- onFilterRemoved?: (key: PropertyKeys<Q>) => void;
17
- }
18
- /**
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.
24
- */
25
- export interface FilterDefinition<
26
- Q extends ObjectTypeDefinition,
27
- K extends PropertyKeys<Q> = PropertyKeys<Q>,
28
- C extends ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>> = ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>>
29
- > {
30
- /**
31
- * The property key to filter on
32
- */
33
- key: K;
34
- /**
35
- * Display label for the filter
36
- */
37
- label?: string;
38
- /**
39
- * The filter component type to render
40
- * Must be compatible with the property type derived from the key, see ValidComponentsForPropertyType
41
- */
42
- filterComponent: C;
43
- /**
44
- * The current state of the filter.
45
- * If provided, the filter is controlled.
46
- */
47
- filterState: FilterStateByComponentType[C];
48
- }
2
+ import type { CustomFilterState } from "./types/CustomRendererTypes.js";
3
+ import type { KeywordSearchFilterState } from "./types/KeywordSearchTypes.js";
4
+ import type { HasLinkFilterState, LinkedPropertyFilterState } from "./types/LinkedFilterTypes.js";
49
5
  /**
50
6
  * Helper type to extract the property type from an ObjectTypeDefinition given a property key
51
7
  */
52
- type PropertyTypeFromKey<
8
+ export type PropertyTypeFromKey<
53
9
  Q extends ObjectTypeDefinition,
54
10
  K extends PropertyKeys<Q>
55
11
  > = CompileTimeMetadata<Q>["properties"][K]["type"];
56
- export type FilterComponentType = "LISTOGRAM" | "DATE_RANGE" | "NUMBER_RANGE" | "TEXT_TAGS" | "CONTAINS_TEXT";
12
+ /**
13
+ * All available filter component types
14
+ */
15
+ export type FilterComponentType = "LISTOGRAM" | "DATE_RANGE" | "NUMBER_RANGE" | "TEXT_TAGS" | "CONTAINS_TEXT" | "SINGLE_SELECT" | "MULTI_SELECT" | "SINGLE_DATE" | "MULTI_DATE" | "TIMELINE" | "CHECKBOX_LIST" | "TOGGLE";
57
16
  /**
58
17
  * Gets valid component types for a given property type
59
18
  */
60
- export 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;
19
+ export 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;
61
20
  /**
62
21
  * Union of all possible filter states
63
22
  */
64
- export type FilterState = ExactMatchFilterState<string | boolean> | DateRangeFilterState | ContainsTextFilterState | NumberRangeFilterState;
23
+ export type FilterState = ExactMatchFilterState<string | boolean> | DateRangeFilterState | ContainsTextFilterState | NumberRangeFilterState | SelectFilterState<string | boolean | number> | SelectFilterState<Date> | TimelineFilterState | ToggleFilterState | HasLinkFilterState | LinkedPropertyFilterState | KeywordSearchFilterState | CustomFilterState;
65
24
  /**
66
25
  * Maps component types to their corresponding state types
67
26
  */
@@ -71,8 +30,18 @@ export interface FilterStateByComponentType {
71
30
  TEXT_TAGS: ExactMatchFilterState<string>;
72
31
  CONTAINS_TEXT: ContainsTextFilterState;
73
32
  NUMBER_RANGE: NumberRangeFilterState;
33
+ SINGLE_SELECT: SelectFilterState<string | boolean | number>;
34
+ MULTI_SELECT: SelectFilterState<string | boolean | number>;
35
+ SINGLE_DATE: SelectFilterState<Date>;
36
+ MULTI_DATE: SelectFilterState<Date>;
37
+ TIMELINE: TimelineFilterState;
38
+ CHECKBOX_LIST: SelectFilterState<string>;
39
+ TOGGLE: ToggleFilterState;
74
40
  }
75
- type FilterStateType = "EXACT_MATCH" | "DATE_RANGE" | "NUMBER_RANGE" | "CONTAINS_TEXT";
41
+ /**
42
+ * All filter state discriminator types
43
+ */
44
+ export type FilterStateType = "EXACT_MATCH" | "DATE_RANGE" | "NUMBER_RANGE" | "CONTAINS_TEXT" | "SELECT" | "TIMELINE" | "TOGGLE" | "hasLink" | "linkedProperty" | "keywordSearch" | "custom";
76
45
  /**
77
46
  * Base interface for all filter states
78
47
  * Contains common properties shared across all filter types
@@ -123,4 +92,83 @@ export interface NumberRangeFilterState extends BaseFilterState {
123
92
  */
124
93
  maxValue?: number;
125
94
  }
126
- export {};
95
+ /**
96
+ * Consolidated state type for select-based filters.
97
+ * Used by SINGLE_SELECT, MULTI_SELECT, SINGLE_DATE, MULTI_DATE, and CHECKBOX_LIST.
98
+ */
99
+ export interface SelectFilterState<T = string | boolean | number | Date> extends BaseFilterState {
100
+ type: "SELECT";
101
+ selectedValues: T[];
102
+ }
103
+ export interface TimelineFilterState extends BaseFilterState {
104
+ type: "TIMELINE";
105
+ startDate?: Date;
106
+ endDate?: Date;
107
+ granularity?: "day" | "week" | "month" | "quarter" | "year";
108
+ }
109
+ export interface ToggleFilterState extends BaseFilterState {
110
+ type: "TOGGLE";
111
+ enabled: boolean;
112
+ }
113
+ /**
114
+ * A property filter definition specifies configuration for filtering on a single property
115
+ *
116
+ * The component type C must be compatible with the property type derived from the key.
117
+ * For example, boolean properties can only use LISTOGRAM, CHECKBOX_LIST, or SINGLE_SELECT,
118
+ * while string properties can use LISTOGRAM, TEXT_TAGS, CONTAINS_TEXT, SINGLE_SELECT, MULTI_SELECT, or CHECKBOX_LIST.
119
+ */
120
+ export interface PropertyFilterDefinition<
121
+ Q extends ObjectTypeDefinition,
122
+ K extends PropertyKeys<Q> = PropertyKeys<Q>,
123
+ C extends ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>> = ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>>
124
+ > {
125
+ /**
126
+ * Discriminator for filter definition type
127
+ */
128
+ type: "PROPERTY";
129
+ /**
130
+ * Optional unique identifier for stable keying across filter reorders.
131
+ */
132
+ id?: string;
133
+ /**
134
+ * The property key to filter on
135
+ */
136
+ key: K;
137
+ /**
138
+ * Display label for the filter
139
+ */
140
+ label?: string;
141
+ /**
142
+ * The filter component type to render
143
+ * Must be compatible with the property type derived from the key, see ValidComponentsForPropertyType
144
+ */
145
+ filterComponent: C;
146
+ /**
147
+ * The current state of the filter.
148
+ * If provided, the filter is controlled.
149
+ */
150
+ filterState: FilterStateByComponentType[C];
151
+ /**
152
+ * Controls whether this filter is rendered.
153
+ * When false, the filter is hidden but its state is preserved.
154
+ * @default true
155
+ */
156
+ isVisible?: boolean;
157
+ }
158
+ /**
159
+ * Props for a single filter list item component.
160
+ * Extends PropertyFilterDefinition with runtime props for rendering.
161
+ */
162
+ export interface FilterListItemProps<
163
+ Q extends ObjectTypeDefinition,
164
+ K extends PropertyKeys<Q> = PropertyKeys<Q>,
165
+ C extends ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>> = ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>>
166
+ > extends PropertyFilterDefinition<Q, K, C> {
167
+ objectSet: ObjectSet<Q>;
168
+ /**
169
+ * Called when the state of the filter changes.
170
+ * Required in controlled mode.
171
+ */
172
+ onFilterStateChanged: (state: FilterStateByComponentType[C]) => void;
173
+ onFilterRemoved?: (key: PropertyKeys<Q>) => void;
174
+ }
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,qBACA,WACA,sBACA,cACA,yBACK,WAAY;;;;AAKnB,iBAAiB;CACf,UAAU;CACV,UAAU,aAAa,KAAK,aAAa;CACzC,UAAU,+BACR,oBAAoB,GAAG,MACrB,+BAA+B,oBAAoB,GAAG;UAClD,iBAAiB,GAAG,GAAG,GAAG;CAClC,WAAW,UAAU;;;;;CAMrB,uBAAuBA,OAAO,2BAA2B;CAEzD,mBAAmBC,KAAK,aAAa;AACtC;;;;;;;;AASD,iBAAiB;CACf,UAAU;CACV,UAAU,aAAa,KAAK,aAAa;CACzC,UAAU,+BACR,oBAAoB,GAAG,MACrB,+BAA+B,oBAAoB,GAAG;EAC1D;;;;CAIA,KAAK;;;;CAKL;;;;;CAMA,iBAAiB;;;;;CAMjB,aAAa,2BAA2B;AACzC;;;;KAKI;CACH,UAAU;CACV,UAAU,aAAa;IACrB,oBAAoB,GAAG,cAAc,GAAG;AAE5C,YAAY,sBACR,cACA,eACA,iBACA,cACA;;;;AAKJ,YAAY,+BAA+B,UAAU,qBACnD,UAAU,YAAY,cAClB,UAAU,WAAW,cAAc,cAAc,kBACjD,UAAU,aAAa,cAAc,eACrC,UACE,WACA,YACA,SACA,UACA,UACA,SACA,YAAY;;;;AAMpB,YAAY,cACR,0CACA,uBACA,0BACA;;;;AAKJ,iBAAiB,2BAA2B;CAC1C,WAAW;CACX,YAAY;CACZ,WAAW;CACX,eAAe;CACf,cAAc;AACf;KAEI,kBACD,gBACA,eACA,iBACA;;;;;AAMJ,iBAAiB,gBAAgB;;;;CAI/B,MAAM;;;;;CAMN;;;;;CAMA;AACD;AAED,iBAAiB,sBAAsB,8BAC7B,gBACV;CACE,MAAM;CACN,QAAQ;AACT;AAED,iBAAiB,6BAA6B,gBAAgB;CAC5D,MAAM;;;;CAIN,WAAW;;;;CAIX,WAAW;AACZ;AAED,iBAAiB,gCAAgC,gBAAgB;CAC/D,MAAM;CACN;AACD;AAED,iBAAiB,+BAA+B,gBAAgB;CAC9D,MAAM;;;;CAIN;;;;CAIA;AACD","names":["state: FilterStateByComponentType[C]","key: PropertyKeys<Q>"],"sources":["../../../src/filter-list/FilterListItemApi.ts"],"version":3,"file":"FilterListItemApi.d.ts"}
1
+ {"mappings":"AAgBA,cACE,qBACA,WACA,sBACA,cACA,yBACK,WAAY;AACnB,cAAc,yBAAyB,gCAAiC;AACxE,cAAc,gCAAgC,+BAAgC;AAC9E,cACE,oBACA,iCACK,8BAA+B;;;;AAKtC,YAAY;CACV,UAAU;CACV,UAAU,aAAa;IACrB,oBAAoB,GAAG,cAAc,GAAG;;;;AAK5C,YAAY,sBACR,cACA,eACA,iBACA,cACA,kBACA,kBACA,iBACA,gBACA,eACA,aACA,kBACA;;;;AAKJ,YAAY,+BAA+B,UAAU,qBACnD,UAAU,YACN,cAAc,kBAAkB,kBAAkB,WAClD,UAAU,WACN,cACA,cACA,kBACA,kBACA,iBACA,kBACJ,UAAU,aAAa,cACrB,eAAe,gBAAgB,eAAe,aAChD,UACE,WACA,YACA,SACA,UACA,UACA,SACA,YAAY,iBAAiB,kBAAkB;;;;AAMvD,YAAY,cACR,0CACA,uBACA,0BACA,yBACA,+CACA,kBAAkB,QAClB,sBACA,oBACA,qBACA,4BACA,2BACA;;;;AAKJ,iBAAiB,2BAA2B;CAC1C,WAAW;CACX,YAAY;CACZ,WAAW;CACX,eAAe;CACf,cAAc;CACd,eAAe;CACf,cAAc;CACd,aAAa,kBAAkB;CAC/B,YAAY,kBAAkB;CAC9B,UAAU;CACV,eAAe;CACf,QAAQ;AACT;;;;AAKD,YAAY,kBACR,gBACA,eACA,iBACA,kBACA,WACA,aACA,WACA,YACA,mBACA,kBACA;;;;;AAMJ,iBAAiB,gBAAgB;;;;CAI/B,MAAM;;;;;CAMN;;;;;CAMA;AACD;AAED,iBAAiB,sBAAsB,8BAC7B,gBACV;CACE,MAAM;CACN,QAAQ;AACT;AAED,iBAAiB,6BAA6B,gBAAgB;CAC5D,MAAM;;;;CAIN,WAAW;;;;CAIX,WAAW;AACZ;AAED,iBAAiB,gCAAgC,gBAAgB;CAC/D,MAAM;CACN;AACD;AAED,iBAAiB,+BAA+B,gBAAgB;CAC9D,MAAM;;;;CAIN;;;;CAIA;AACD;;;;;AAMD,iBAAiB,kBAAkB,gCAAgC,cACzD,gBACV;CACE,MAAM;CACN,gBAAgB;AACjB;AAED,iBAAiB,4BAA4B,gBAAgB;CAC3D,MAAM;CACN,YAAY;CACZ,UAAU;CACV,cAAc,QAAQ,SAAS,UAAU,YAAY;AACtD;AAED,iBAAiB,0BAA0B,gBAAgB;CACzD,MAAM;CACN;AACD;;;;;;;;AASD,iBAAiB;CACf,UAAU;CACV,UAAU,aAAa,KAAK,aAAa;CACzC,UAAU,+BACR,oBAAoB,GAAG,MACrB,+BAA+B,oBAAoB,GAAG;EAC1D;;;;CAIA,MAAM;;;;CAKN;;;;CAKA,KAAK;;;;CAKL;;;;;CAMA,iBAAiB;;;;;CAMjB,aAAa,2BAA2B;;;;;;CAOxC;AACD;;;;;AAMD,iBAAiB;CACf,UAAU;CACV,UAAU,aAAa,KAAK,aAAa;CACzC,UAAU,+BACR,oBAAoB,GAAG,MACrB,+BAA+B,oBAAoB,GAAG;UAClD,yBAAyB,GAAG,GAAG,GAAG;CAC1C,WAAW,UAAU;;;;;CAMrB,uBAAuBA,OAAO,2BAA2B;CAEzD,mBAAmBC,KAAK,aAAa;AACtC","names":["state: FilterStateByComponentType[C]","key: PropertyKeys<Q>"],"sources":["../../../src/filter-list/FilterListItemApi.ts"],"version":3,"file":"FilterListItemApi.d.ts"}
@@ -0,0 +1 @@
1
+ {"mappings":"","names":[],"sources":["../../../../src/filter-list/__tests__/filterStateToWhereClause.test.ts"],"version":3,"file":"filterStateToWhereClause.test.d.ts"}
@@ -0,0 +1 @@
1
+ {"mappings":"","names":[],"sources":["../../../../src/filter-list/__tests__/getFilterKey.test.ts"],"version":3,"file":"getFilterKey.test.d.ts"}
@@ -0,0 +1,59 @@
1
+ import type { ObjectTypeDefinition } from "@osdk/api";
2
+ import type { FilterDefinitionUnion } from "../FilterListApi.js";
3
+ import type { ContainsTextFilterState, DateRangeFilterState, FilterComponentType, FilterState, NumberRangeFilterState, SelectFilterState, ToggleFilterState } from "../FilterListItemApi.js";
4
+ export declare const MockObjectType: ObjectTypeDefinition;
5
+ /**
6
+ * Create a property filter definition for testing
7
+ */
8
+ export declare function createPropertyFilterDef<
9
+ K extends string = string,
10
+ C extends FilterComponentType = FilterComponentType
11
+ >(key: K, filterComponent: C, filterState: FilterState): FilterDefinitionUnion<typeof MockObjectType>;
12
+ /**
13
+ * Create a hasLink filter definition for testing
14
+ */
15
+ export declare function createHasLinkFilterDef(linkName: string): FilterDefinitionUnion<typeof MockObjectType>;
16
+ /**
17
+ * Create a linkedProperty filter definition for testing.
18
+ * Cast required because LinkedPropertyFilterDefinition has complex generic constraints
19
+ * that can't be satisfied with literal link names.
20
+ */
21
+ export declare function createLinkedPropertyFilterDef(linkName: string, linkedPropertyKey: string): FilterDefinitionUnion<typeof MockObjectType>;
22
+ /**
23
+ * Create a keywordSearch filter definition for testing
24
+ */
25
+ export declare function createKeywordSearchFilterDef(properties: string[] | "all"): FilterDefinitionUnion<typeof MockObjectType>;
26
+ /**
27
+ * Create a custom filter definition for testing.
28
+ * Cast required because CustomFilterDefinition expects specific callback signatures.
29
+ */
30
+ export declare function createCustomFilterDef(key: string): FilterDefinitionUnion<typeof MockObjectType>;
31
+ /**
32
+ * Helper to create a SelectFilterState
33
+ */
34
+ export declare function createSelectState<T = string>(selectedValues: T[], options?: {
35
+ isExcluding?: boolean
36
+ includeNull?: boolean
37
+ }): SelectFilterState<T>;
38
+ /**
39
+ * Helper to create a ContainsTextFilterState
40
+ */
41
+ export declare function createContainsTextState(value?: string, options?: {
42
+ isExcluding?: boolean
43
+ }): ContainsTextFilterState;
44
+ /**
45
+ * Helper to create a ToggleFilterState
46
+ */
47
+ export declare function createToggleState(enabled: boolean): ToggleFilterState;
48
+ /**
49
+ * Helper to create a NumberRangeFilterState
50
+ */
51
+ export declare function createNumberRangeState(minValue?: number, maxValue?: number, options?: {
52
+ includeNull?: boolean
53
+ }): NumberRangeFilterState;
54
+ /**
55
+ * Helper to create a DateRangeFilterState
56
+ */
57
+ export declare function createDateRangeState(minValue?: Date, maxValue?: Date, options?: {
58
+ includeNull?: boolean
59
+ }): DateRangeFilterState;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,4BAA4B,WAAY;AACtD,cAAc,6BAA6B,qBAAsB;AACjE,cACE,yBACA,sBACA,qBACA,aACA,wBACA,mBACA,yBACK,yBAA0B;AAEjC,OAAO,cAAM,gBAeG;;;;AAKhB,OAAO,iBAAS;CACd;CACA,UAAU,sBAAsB;EAEhCA,KAAK,GACLC,iBAAiB,GACjBC,aAAa,cACZ,6BAA6B;;;;AAYhC,OAAO,iBAAS,uBACdC,mBACC,6BAA6B;;;;;;AAahC,OAAO,iBAAS,8BACdA,kBACAC,4BACC,6BAA6B;;;;AAiBhC,OAAO,iBAAS,6BACdC,uBAAuB,QACtB,6BAA6B;;;;;AAYhC,OAAO,iBAAS,sBACdC,cACC,6BAA6B;;;;AAchC,OAAO,iBAAS,kBAAkB,YAChCC,gBAAgB,KAChBC,UAAU;CACR;CACA;AACD,IACA,kBAAkB;;;;AAYrB,OAAO,iBAAS,wBACdC,gBACAC,UAAU;CAAE;AAAuB,IAClC;;;;AAWH,OAAO,iBAAS,kBAAkBC,mBAAmB;;;;AAUrD,OAAO,iBAAS,uBACdC,mBACAC,mBACAC,UAAU;CAAE;AAAuB,IAClC;;;;AAYH,OAAO,iBAAS,qBACdC,WAAW,MACXC,WAAW,MACXF,UAAU;CAAE;AAAuB,IAClC","names":["key: K","filterComponent: C","filterState: FilterState","linkName: string","linkedPropertyKey: string","properties: string[] | \"all\"","key: string","selectedValues: T[]","options?: {\n isExcluding?: boolean;\n includeNull?: boolean;\n }","value?: string","options?: { isExcluding?: boolean }","enabled: boolean","minValue?: number","maxValue?: number","options?: { includeNull?: boolean }","minValue?: Date","maxValue?: Date"],"sources":["../../../../src/filter-list/__tests__/testUtils.ts"],"version":3,"file":"testUtils.d.ts"}
@@ -0,0 +1 @@
1
+ {"mappings":"","names":[],"sources":["../../../../../src/filter-list/hooks/__tests__/useFilterListState.test.tsx"],"version":3,"file":"useFilterListState.test.d.ts"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * A hook that manages a local value with debounced updates to the parent.
3
+ * Useful for inputs where we want immediate visual feedback but delayed
4
+ * propagation of changes (e.g., search inputs, numeric inputs).
5
+ *
6
+ * @param externalValue The controlled value from the parent
7
+ * @param onChange Callback to propagate changes to the parent
8
+ * @param debounceMs Debounce delay in milliseconds
9
+ * @returns Tuple of [localValue, setLocalValue] where setLocalValue triggers debounced onChange
10
+ */
11
+ export declare function useDebouncedValue<T>(externalValue: T, onChange: (value: T) => void, debounceMs?: number): [T, (value: T) => void];
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;;AA6BA,OAAO,iBAAS,kBAAkB,GAChCA,eAAe,GACfC,WAAWC,OAAO,YAClBC,uBACE,IAAID,OAAO","names":["externalValue: T","onChange: (value: T) => void","value: T","debounceMs: number"],"sources":["../../../../src/filter-list/hooks/useDebouncedValue.ts"],"version":3,"file":"useDebouncedValue.d.ts"}
@@ -0,0 +1,11 @@
1
+ import type { ObjectTypeDefinition, WhereClause } from "@osdk/api";
2
+ import type { FilterListProps } from "../FilterListApi.js";
3
+ import type { FilterState } from "../FilterListItemApi.js";
4
+ export interface UseFilterListStateResult<Q extends ObjectTypeDefinition> {
5
+ filterStates: Map<string, FilterState>;
6
+ setFilterState: (filterKey: string, state: FilterState) => void;
7
+ whereClause: WhereClause<Q>;
8
+ activeFilterCount: number;
9
+ reset: () => void;
10
+ }
11
+ export declare function useFilterListState<Q extends ObjectTypeDefinition>(props: FilterListProps<Q>): UseFilterListStateResult<Q>;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,sBAAsB,mBAAmB,WAAY;AAEnE,cAAc,uBAAuB,qBAAsB;AAC3D,cAAc,mBAAmB,yBAA0B;AAO3D,iBAAiB,yBAAyB,UAAU,sBAAsB;CACxE,cAAc,YAAY;CAC1B,iBACEA,mBACAC,OAAO;CAET,aAAa,YAAY;CACzB;CACA;AACD;AAqDD,OAAO,iBAAS,mBAAmB,UAAU,sBAC3CC,OAAO,gBAAgB,KACtB,yBAAyB","names":["filterKey: string","state: FilterState","props: FilterListProps<Q>"],"sources":["../../../../src/filter-list/hooks/useFilterListState.ts"],"version":3,"file":"useFilterListState.d.ts"}
@@ -0,0 +1,20 @@
1
+ import type { ObjectTypeDefinition, PropertyKeys, WhereClause } from "@osdk/api";
2
+ export interface PropertyAggregationValue {
3
+ value: string;
4
+ count: number;
5
+ isNull?: boolean;
6
+ }
7
+ export interface UsePropertyAggregationResult {
8
+ data: PropertyAggregationValue[];
9
+ maxCount: number;
10
+ isLoading: boolean;
11
+ error: Error | null;
12
+ }
13
+ export interface UsePropertyAggregationOptions<Q extends ObjectTypeDefinition = ObjectTypeDefinition> {
14
+ limit?: number;
15
+ where?: WhereClause<Q>;
16
+ }
17
+ export declare function usePropertyAggregation<
18
+ Q extends ObjectTypeDefinition,
19
+ K extends PropertyKeys<Q>
20
+ >(objectType: Q, propertyKey: K, options?: UsePropertyAggregationOptions<Q>): UsePropertyAggregationResult;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAEE,sBACA,cACA,mBACK,WAAY;AAInB,iBAAiB,yBAAyB;CACxC;CACA;CACA;AACD;AAED,iBAAiB,6BAA6B;CAC5C,MAAM;CACN;CACA;CACA,OAAO;AACR;AAED,iBAAiB,8BACf,UAAU,uBAAuB,sBACjC;CACA;CACA,QAAQ,YAAY;AACrB;AAED,OAAO,iBAAS;CACd,UAAU;CACV,UAAU,aAAa;EAEvBA,YAAY,GACZC,aAAa,GACbC,UAAU,8BAA8B,KACvC","names":["objectType: Q","propertyKey: K","options?: UsePropertyAggregationOptions<Q>"],"sources":["../../../../src/filter-list/hooks/usePropertyAggregation.ts"],"version":3,"file":"usePropertyAggregation.d.ts"}
@@ -0,0 +1,61 @@
1
+ import type { ReactNode } from "react";
2
+ import type { FilterComponentType } from "../FilterListItemApi.js";
3
+ /**
4
+ * Category for organizing filters in the add filter menu
5
+ */
6
+ export type FilterCategory = "ALL_PROPERTIES" | "SINGLE_PROPERTY" | "LINKED_OBJECT";
7
+ /**
8
+ * Template for a filter that can be added via the add filter menu
9
+ */
10
+ export interface FilterTemplate {
11
+ /**
12
+ * Unique identifier for the template
13
+ */
14
+ id: string;
15
+ /**
16
+ * Display label for the filter
17
+ */
18
+ label: string;
19
+ /**
20
+ * Property key this filter applies to
21
+ */
22
+ key: string;
23
+ /**
24
+ * The type of filter component to use
25
+ */
26
+ filterComponent: FilterComponentType;
27
+ /**
28
+ * Icon to display next to the filter label.
29
+ * Can be a string (icon name) or a ReactNode for custom icons.
30
+ */
31
+ icon: string | ReactNode;
32
+ /**
33
+ * Whether multiple instances of this filter can be added
34
+ */
35
+ allowMultiple: boolean;
36
+ /**
37
+ * Category for grouping in the add filter menu
38
+ */
39
+ category: FilterCategory;
40
+ }
41
+ /**
42
+ * Props for the add filter menu component
43
+ */
44
+ export interface AddFilterMenuProps {
45
+ /**
46
+ * Available filter templates to display
47
+ */
48
+ templates: FilterTemplate[];
49
+ /**
50
+ * Current count of active filters by key
51
+ */
52
+ activeCounts: Record<string, number>;
53
+ /**
54
+ * Called when a filter template is selected
55
+ */
56
+ onSelectFilter: (template: FilterTemplate) => void;
57
+ /**
58
+ * Called when the menu should be closed
59
+ */
60
+ onClose: () => void;
61
+ }
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,iBAAiB,OAAQ;AACvC,cAAc,2BAA2B,yBAA0B;;;;AAKnE,YAAY,iBACR,mBACA,oBACA;;;;AAKJ,iBAAiB,eAAe;;;;CAI9B;;;;CAKA;;;;CAKA;;;;CAKA,iBAAiB;;;;;CAMjB,eAAe;;;;CAKf;;;;CAKA,UAAU;AACX;;;;AAKD,iBAAiB,mBAAmB;;;;CAIlC,WAAW;;;;CAKX,cAAc;;;;CAKd,iBAAiBA,UAAU;;;;CAK3B;AACD","names":["template: FilterTemplate"],"sources":["../../../../src/filter-list/types/AddFilterMenuTypes.ts"],"version":3,"file":"AddFilterMenuTypes.d.ts"}
@@ -0,0 +1,76 @@
1
+ import type { ObjectSet, ObjectTypeDefinition, WhereClause } from "@osdk/api";
2
+ import type { ReactNode } from "react";
3
+ import type { BaseFilterState } from "../FilterListItemApi.js";
4
+ /**
5
+ * State for custom filter
6
+ */
7
+ export interface CustomFilterState<T = Record<string, unknown>> extends BaseFilterState {
8
+ type: "custom";
9
+ customState: T;
10
+ }
11
+ /**
12
+ * Props passed to custom filter input renderer
13
+ */
14
+ export interface CustomFilterInputRendererProps<
15
+ Q extends ObjectTypeDefinition,
16
+ State extends BaseFilterState
17
+ > {
18
+ objectSet: ObjectSet<Q>;
19
+ filterState: State;
20
+ onFilterStateChanged: (newState: State) => void;
21
+ }
22
+ /**
23
+ * Props passed to custom filter item renderer
24
+ * Includes full item context in addition to input renderer props
25
+ */
26
+ export interface CustomFilterItemRendererProps<
27
+ Q extends ObjectTypeDefinition,
28
+ State extends BaseFilterState
29
+ > extends CustomFilterInputRendererProps<Q, State> {
30
+ label: string;
31
+ onRemove?: () => void;
32
+ }
33
+ /**
34
+ * Filter definition for custom filters
35
+ * Provides full control over rendering and filter logic
36
+ */
37
+ export interface CustomFilterDefinition<
38
+ Q extends ObjectTypeDefinition,
39
+ State extends BaseFilterState = CustomFilterState
40
+ > {
41
+ type: "CUSTOM";
42
+ /**
43
+ * Optional unique identifier for stable keying across filter reorders.
44
+ * If provided, takes precedence over `key` for state keying.
45
+ */
46
+ id?: string;
47
+ /**
48
+ * Unique key for this custom filter
49
+ */
50
+ key: string;
51
+ label?: string;
52
+ filterComponent: "CUSTOM";
53
+ filterState: State;
54
+ defaultFilterState?: State;
55
+ /**
56
+ * Render the input portion of the filter
57
+ * Used when rendering within a filter item wrapper
58
+ */
59
+ renderInput?: (props: CustomFilterInputRendererProps<Q, State>) => ReactNode;
60
+ /**
61
+ * Render the complete filter item
62
+ * Used when you need full control over the item appearance
63
+ */
64
+ renderItem?: (props: CustomFilterItemRendererProps<Q, State>) => ReactNode;
65
+ /**
66
+ * Convert filter state to a WhereClause for filtering
67
+ * Required for the filter to affect the object set
68
+ */
69
+ toWhereClause: (state: State) => WhereClause<Q> | undefined;
70
+ /**
71
+ * Controls whether this filter is rendered.
72
+ * When false, the filter is hidden but its state is preserved.
73
+ * @default true
74
+ */
75
+ isVisible?: boolean;
76
+ }
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,WAAW,sBAAsB,mBAAmB,WAAY;AAC9E,cAAc,iBAAiB,OAAQ;AACvC,cAAc,uBAAuB,yBAA0B;;;;AAK/D,iBAAiB,kBAAkB,IAAI,iCAC7B,gBACV;CACE,MAAM;CACN,aAAa;AACd;;;;AAKD,iBAAiB;CACf,UAAU;CACV,cAAc;EACd;CACA,WAAW,UAAU;CACrB,aAAa;CACb,uBAAuBA,UAAU;AAClC;;;;;AAMD,iBAAiB;CACf,UAAU;CACV,cAAc;UACN,+BAA+B,GAAG,OAAO;CACjD;CACA;AACD;;;;;AAMD,iBAAiB;CACf,UAAU;CACV,cAAc,kBAAkB;EAChC;CACA,MAAM;;;;;CAKN;;;;CAIA;CACA;CACA,iBAAiB;CACjB,aAAa;CACb,qBAAqB;;;;;CAKrB,eACEC,OAAO,+BAA+B,GAAG,WACtC;;;;;CAKL,cACEC,OAAO,8BAA8B,GAAG,WACrC;;;;;CAKL,gBAAgBC,OAAO,UAAU,YAAY;;;;;;CAM7C;AACD","names":["newState: State","props: CustomFilterInputRendererProps<Q, State>","props: CustomFilterItemRendererProps<Q, State>","state: State"],"sources":["../../../../src/filter-list/types/CustomRendererTypes.ts"],"version":3,"file":"CustomRendererTypes.d.ts"}
@@ -0,0 +1,56 @@
1
+ import type { ObjectTypeDefinition, PropertyKeys } from "@osdk/api";
2
+ import type { BaseFilterState } from "../FilterListItemApi.js";
3
+ /**
4
+ * Keys of string properties on an object type
5
+ */
6
+ export type StringPropertyKeys<Q extends ObjectTypeDefinition> = PropertyKeys.Filtered<Q, "string">;
7
+ /**
8
+ * State for keyword search filter
9
+ */
10
+ export interface KeywordSearchFilterState extends BaseFilterState {
11
+ type: "keywordSearch";
12
+ searchTerm: string;
13
+ /**
14
+ * How multiple terms are combined
15
+ * - "AND": All terms must match
16
+ * - "OR": Any term must match
17
+ */
18
+ operator: "AND" | "OR";
19
+ }
20
+ /**
21
+ * Filter definition for keyword search across string properties
22
+ */
23
+ export interface KeywordSearchFilterDefinition<
24
+ Q extends ObjectTypeDefinition,
25
+ K extends StringPropertyKeys<Q> = StringPropertyKeys<Q>
26
+ > {
27
+ type: "KEYWORD_SEARCH";
28
+ /**
29
+ * Optional unique identifier for stable keying across filter reorders.
30
+ */
31
+ id?: string;
32
+ /**
33
+ * Properties to search within
34
+ * - "all": Search all string properties
35
+ * - K[]: Search specific string properties
36
+ */
37
+ properties: "all" | K[];
38
+ label?: string;
39
+ /**
40
+ * Controlled state for the filter.
41
+ * When provided, the filter becomes controlled and changes should be
42
+ * handled via onFilterStateChanged callback.
43
+ */
44
+ filterState?: KeywordSearchFilterState;
45
+ /**
46
+ * Default state for uncontrolled mode.
47
+ * Used when filterState is not provided.
48
+ */
49
+ defaultFilterState?: KeywordSearchFilterState;
50
+ /**
51
+ * Controls whether this filter is rendered.
52
+ * When false, the filter is hidden but its state is preserved.
53
+ * @default true
54
+ */
55
+ isVisible?: boolean;
56
+ }
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,sBAAsB,oBAAoB,WAAY;AACpE,cAAc,uBAAuB,yBAA0B;;;;AAK/D,YAAY,mBAAmB,UAAU,wBACvC,aAAa,SAAS,GAAG;;;;AAK3B,iBAAiB,iCAAiC,gBAAgB;CAChE,MAAM;CACN;;;;;;CAMA,UAAU,QAAQ;AACnB;;;;AAKD,iBAAiB;CACf,UAAU;CACV,UAAU,mBAAmB,KAAK,mBAAmB;EACrD;CACA,MAAM;;;;CAIN;;;;;;CAMA,YAAY,QAAQ;CACpB;;;;;;CAMA,cAAc;;;;;CAKd,qBAAqB;;;;;;CAMrB;AACD","names":[],"sources":["../../../../src/filter-list/types/KeywordSearchTypes.ts"],"version":3,"file":"KeywordSearchTypes.d.ts"}
@@ -0,0 +1,70 @@
1
+ import type { LinkedType, LinkNames, ObjectTypeDefinition, PropertyKeys } from "@osdk/api";
2
+ import type { BaseFilterState, FilterState, FilterStateByComponentType, PropertyTypeFromKey, ValidComponentsForPropertyType } from "../FilterListItemApi.js";
3
+ /**
4
+ * State for "has link" filter
5
+ */
6
+ export interface HasLinkFilterState extends BaseFilterState {
7
+ type: "hasLink";
8
+ hasLink: boolean;
9
+ }
10
+ /**
11
+ * State for linked property filter
12
+ * Wraps the filter state of the linked property
13
+ */
14
+ export interface LinkedPropertyFilterState<S extends FilterState = FilterState> extends BaseFilterState {
15
+ type: "linkedProperty";
16
+ linkedFilterState: S;
17
+ }
18
+ /**
19
+ * Filter definition for "Has Link" filter
20
+ * Filters objects based on whether they have any linked objects of the specified type
21
+ */
22
+ export interface HasLinkFilterDefinition<
23
+ Q extends ObjectTypeDefinition,
24
+ L extends LinkNames<Q> = LinkNames<Q>
25
+ > {
26
+ type: "HAS_LINK";
27
+ /**
28
+ * Optional unique identifier for stable keying across filter reorders.
29
+ */
30
+ id?: string;
31
+ linkName: L;
32
+ label?: string;
33
+ filterState: HasLinkFilterState;
34
+ defaultFilterState?: HasLinkFilterState;
35
+ /**
36
+ * Controls whether this filter is rendered.
37
+ * When false, the filter is hidden but its state is preserved.
38
+ * @default true
39
+ */
40
+ isVisible?: boolean;
41
+ }
42
+ /**
43
+ * Filter definition for filtering on a property of linked objects
44
+ */
45
+ export interface LinkedPropertyFilterDefinition<
46
+ Q extends ObjectTypeDefinition,
47
+ L extends LinkNames<Q>,
48
+ LinkedQ extends ObjectTypeDefinition = LinkedType<Q, L>,
49
+ LinkedK extends PropertyKeys<LinkedQ> = PropertyKeys<LinkedQ>,
50
+ LinkedC extends ValidComponentsForPropertyType<PropertyTypeFromKey<LinkedQ, LinkedK>> = ValidComponentsForPropertyType<PropertyTypeFromKey<LinkedQ, LinkedK>>
51
+ > {
52
+ type: "LINKED_PROPERTY";
53
+ /**
54
+ * Optional unique identifier for stable keying across filter reorders.
55
+ */
56
+ id?: string;
57
+ linkName: L;
58
+ linkedPropertyKey: LinkedK;
59
+ linkedFilterComponent: LinkedC;
60
+ linkedFilterState: FilterStateByComponentType[LinkedC];
61
+ defaultLinkedFilterState?: FilterStateByComponentType[LinkedC];
62
+ filterState: LinkedPropertyFilterState<FilterStateByComponentType[LinkedC]>;
63
+ label?: string;
64
+ /**
65
+ * Controls whether this filter is rendered.
66
+ * When false, the filter is hidden but its state is preserved.
67
+ * @default true
68
+ */
69
+ isVisible?: boolean;
70
+ }
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cACE,YACA,WACA,sBACA,oBACK,WAAY;AACnB,cACE,iBACA,aACA,4BACA,qBACA,sCACK,yBAA0B;;;;AAKjC,iBAAiB,2BAA2B,gBAAgB;CAC1D,MAAM;CACN;AACD;;;;;AAMD,iBAAiB,0BAA0B,UAAU,cAAc,qBACzD,gBACV;CACE,MAAM;CACN,mBAAmB;AACpB;;;;;AAMD,iBAAiB;CACf,UAAU;CACV,UAAU,UAAU,KAAK,UAAU;EACnC;CACA,MAAM;;;;CAIN;CACA,UAAU;CACV;CACA,aAAa;CACb,qBAAqB;;;;;;CAMrB;AACD;;;;AAKD,iBAAiB;CACf,UAAU;CACV,UAAU,UAAU;CACpB,gBAAgB,uBAAuB,WAAW,GAAG;CACrD,gBAAgB,aAAa,WAAW,aAAa;CACrD,gBAAgB,+BACd,oBAAoB,SAAS,YAC3B,+BAA+B,oBAAoB,SAAS;EAChE;CACA,MAAM;;;;CAIN;CACA,UAAU;CACV,mBAAmB;CACnB,uBAAuB;CACvB,mBAAmB,2BAA2B;CAC9C,2BAA2B,2BAA2B;CACtD,aAAa,0BAA0B,2BAA2B;CAClE;;;;;;CAMA;AACD","names":[],"sources":["../../../../src/filter-list/types/LinkedFilterTypes.ts"],"version":3,"file":"LinkedFilterTypes.d.ts"}
@@ -0,0 +1,4 @@
1
+ export * from "./AddFilterMenuTypes.js";
2
+ export * from "./CustomRendererTypes.js";
3
+ export * from "./KeywordSearchTypes.js";
4
+ export * from "./LinkedFilterTypes.js";
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc","names":[],"sources":["../../../../src/filter-list/types/index.ts"],"version":3,"file":"index.d.ts"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Exhaustive type checking helper.
3
+ * Use in default cases of switch statements to ensure all cases are handled.
4
+ * TypeScript will error if a case is missing.
5
+ */
6
+ export declare function assertUnreachable(value: never): never;
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;AAqBA,OAAO,iBAAS,kBAAkBA","names":["value: never"],"sources":["../../../../src/filter-list/utils/assertUnreachable.ts"],"version":3,"file":"assertUnreachable.d.ts"}
@@ -0,0 +1,11 @@
1
+ type FilterValue = string | boolean | number;
2
+ /**
3
+ * Coerces a filter value to a string for display.
4
+ * Returns undefined if the value is undefined.
5
+ */
6
+ export declare function coerceToString(value: FilterValue | undefined): string | undefined;
7
+ /**
8
+ * Coerces an array of filter values to string[] for display.
9
+ */
10
+ export declare function coerceToStringArray(values: FilterValue[] | undefined): string[];
11
+ export {};