@osdk/react-components 0.2.0-beta.21 → 0.2.0-beta.22

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 (257) hide show
  1. package/AGENTS.md +14 -97
  2. package/CHANGELOG.md +19 -0
  3. package/README.md +1 -1
  4. package/build/browser/action-form/ActionFormApi.js.map +1 -1
  5. package/build/browser/action-form/BaseForm.js +18 -5
  6. package/build/browser/action-form/BaseForm.js.map +1 -1
  7. package/build/browser/action-form/BaseForm.module.css +38 -0
  8. package/build/browser/action-form/BaseForm.module.css.js +8 -0
  9. package/build/browser/action-form/FormField.js +42 -0
  10. package/build/browser/action-form/FormField.js.map +1 -0
  11. package/build/browser/action-form/FormField.module.css +41 -0
  12. package/build/browser/action-form/FormField.module.css.js +10 -0
  13. package/build/browser/action-form/FormFieldApi.js.map +1 -1
  14. package/build/browser/action-form/FormHeader.js +26 -0
  15. package/build/browser/action-form/FormHeader.js.map +1 -0
  16. package/build/browser/action-form/FormHeader.module.css +26 -0
  17. package/build/browser/action-form/FormHeader.module.css.js +6 -0
  18. package/build/browser/action-form/fields/FormFieldRenderer.js +7 -5
  19. package/build/browser/action-form/fields/FormFieldRenderer.js.map +1 -1
  20. package/build/browser/action-form/fields/TextInputField.js +2 -0
  21. package/build/browser/action-form/fields/TextInputField.js.map +1 -1
  22. package/build/browser/action-form/fields/TextInputField.module.css +56 -0
  23. package/build/browser/action-form/fields/TextInputField.module.css.js +6 -0
  24. package/build/browser/base-components/checkbox/Checkbox.js +2 -2
  25. package/build/browser/base-components/checkbox/Checkbox.js.map +1 -1
  26. package/build/browser/base-components/checkbox/Checkbox.module.css +0 -4
  27. package/build/browser/base-components/combobox/Combobox.js +3 -8
  28. package/build/browser/base-components/combobox/Combobox.js.map +1 -1
  29. package/build/browser/base-components/combobox/Combobox.module.css +0 -3
  30. package/build/browser/base-components/draggable-list/DraggableList.js +2 -4
  31. package/build/browser/base-components/draggable-list/DraggableList.js.map +1 -1
  32. package/build/browser/base-components/search-bar/SearchBar.module.css +2 -2
  33. package/build/browser/base-components/select/Select.js +1 -3
  34. package/build/browser/base-components/select/Select.js.map +1 -1
  35. package/build/browser/base-components/select/Select.module.css +0 -2
  36. package/build/browser/base-components/switch/Switch.module.css +0 -1
  37. package/build/browser/filter-list/FilterInput.js +14 -5
  38. package/build/browser/filter-list/FilterInput.js.map +1 -1
  39. package/build/browser/filter-list/FilterList.js +13 -5
  40. package/build/browser/filter-list/FilterList.js.map +1 -1
  41. package/build/browser/filter-list/FilterListApi.js.map +1 -1
  42. package/build/browser/filter-list/base/AddFilterPopover.js +4 -3
  43. package/build/browser/filter-list/base/AddFilterPopover.js.map +1 -1
  44. package/build/browser/filter-list/base/BaseFilterListApi.js.map +1 -1
  45. package/build/browser/filter-list/base/ExcludeDropdown.js +61 -0
  46. package/build/browser/filter-list/base/ExcludeDropdown.js.map +1 -0
  47. package/build/browser/filter-list/base/ExcludeDropdown.module.css +94 -0
  48. package/build/browser/filter-list/base/ExcludeDropdown.module.css.js +12 -0
  49. package/build/browser/filter-list/base/FilterIcons.js +0 -39
  50. package/build/browser/filter-list/base/FilterIcons.js.map +1 -1
  51. package/build/browser/filter-list/base/FilterInputExcludeRow.js +55 -0
  52. package/build/browser/filter-list/base/FilterInputExcludeRow.js.map +1 -0
  53. package/build/browser/filter-list/base/FilterListItem.js +72 -23
  54. package/build/browser/filter-list/base/FilterListItem.js.map +1 -1
  55. package/build/browser/filter-list/base/FilterListItem.module.css +96 -20
  56. package/build/browser/filter-list/base/FilterListItem.module.css.js +7 -2
  57. package/build/browser/filter-list/base/inputs/CheckboxListInput.js +2 -2
  58. package/build/browser/filter-list/base/inputs/CheckboxListInput.js.map +1 -1
  59. package/build/browser/filter-list/base/inputs/ContainsTextInput.js +2 -6
  60. package/build/browser/filter-list/base/inputs/ContainsTextInput.js.map +1 -1
  61. package/build/browser/filter-list/base/inputs/ListogramInput.js +2 -2
  62. package/build/browser/filter-list/base/inputs/ListogramInput.js.map +1 -1
  63. package/build/browser/filter-list/base/inputs/RangeInput.js +2 -2
  64. package/build/browser/filter-list/base/inputs/RangeInput.js.map +1 -1
  65. package/build/browser/filter-list/base/inputs/SingleSelectInput.js +1 -3
  66. package/build/browser/filter-list/base/inputs/SingleSelectInput.js.map +1 -1
  67. package/build/browser/filter-list/base/inputs/{useStaleData.js → useStableData.js} +5 -5
  68. package/build/browser/filter-list/base/inputs/useStableData.js.map +1 -0
  69. package/build/browser/filter-list/hooks/usePropertyAggregation.js +3 -2
  70. package/build/browser/filter-list/hooks/usePropertyAggregation.js.map +1 -1
  71. package/build/browser/filter-list/inputs/CheckboxListFilterInput.js +15 -5
  72. package/build/browser/filter-list/inputs/CheckboxListFilterInput.js.map +1 -1
  73. package/build/browser/filter-list/inputs/DateRangeFilterInput.js +10 -6
  74. package/build/browser/filter-list/inputs/DateRangeFilterInput.js.map +1 -1
  75. package/build/browser/filter-list/inputs/LinkedPropertyInput.js +41 -18
  76. package/build/browser/filter-list/inputs/LinkedPropertyInput.js.map +1 -1
  77. package/build/browser/filter-list/inputs/ListogramFilterInput.js +15 -5
  78. package/build/browser/filter-list/inputs/ListogramFilterInput.js.map +1 -1
  79. package/build/browser/filter-list/inputs/MultiSelectFilterInput.js +12 -4
  80. package/build/browser/filter-list/inputs/MultiSelectFilterInput.js.map +1 -1
  81. package/build/browser/filter-list/inputs/NumberRangeFilterInput.js +10 -6
  82. package/build/browser/filter-list/inputs/NumberRangeFilterInput.js.map +1 -1
  83. package/build/browser/filter-list/inputs/PropertyFilterInput.js +36 -10
  84. package/build/browser/filter-list/inputs/PropertyFilterInput.js.map +1 -1
  85. package/build/browser/filter-list/inputs/SingleSelectFilterInput.js +12 -4
  86. package/build/browser/filter-list/inputs/SingleSelectFilterInput.js.map +1 -1
  87. package/build/browser/filter-list/inputs/TextTagsFilterInput.js +12 -4
  88. package/build/browser/filter-list/inputs/TextTagsFilterInput.js.map +1 -1
  89. package/build/browser/filter-list/utils/filterValues.js +29 -1
  90. package/build/browser/filter-list/utils/filterValues.js.map +1 -1
  91. package/build/browser/object-table/LoadingCell.module.css +0 -1
  92. package/build/browser/object-table/MultiColumnSortDialog.js +1 -3
  93. package/build/browser/object-table/MultiColumnSortDialog.js.map +1 -1
  94. package/build/browser/object-table/MultiColumnSortDialog.module.css +0 -1
  95. package/build/browser/object-table/TableCell.module.css +1 -1
  96. package/build/browser/object-table/TableHeader.module.css +2 -2
  97. package/build/browser/object-table/TableHeaderWithPopover.js +2 -4
  98. package/build/browser/object-table/TableHeaderWithPopover.js.map +1 -1
  99. package/build/browser/object-table/TableHeaderWithPopover.module.css +1 -0
  100. package/build/browser/pdf-viewer/PdfViewerAnnotationLayer.module.css +0 -1
  101. package/build/browser/public/experimental.js +2 -0
  102. package/build/browser/public/experimental.js.map +1 -1
  103. package/build/browser/styles.css +372 -38
  104. package/build/cjs/public/experimental.cjs +1882 -1068
  105. package/build/cjs/public/experimental.cjs.map +1 -1
  106. package/build/cjs/public/experimental.css +244 -38
  107. package/build/cjs/public/experimental.css.map +1 -1
  108. package/build/cjs/public/experimental.d.cts +420 -11
  109. package/build/esm/action-form/ActionFormApi.js.map +1 -1
  110. package/build/esm/action-form/BaseForm.js +18 -5
  111. package/build/esm/action-form/BaseForm.js.map +1 -1
  112. package/build/esm/action-form/BaseForm.module.css +38 -0
  113. package/build/esm/action-form/FormField.js +42 -0
  114. package/build/esm/action-form/FormField.js.map +1 -0
  115. package/build/esm/action-form/FormField.module.css +41 -0
  116. package/build/esm/action-form/FormFieldApi.js.map +1 -1
  117. package/build/esm/action-form/FormHeader.js +26 -0
  118. package/build/esm/action-form/FormHeader.js.map +1 -0
  119. package/build/esm/action-form/FormHeader.module.css +26 -0
  120. package/build/esm/action-form/fields/FormFieldRenderer.js +7 -5
  121. package/build/esm/action-form/fields/FormFieldRenderer.js.map +1 -1
  122. package/build/esm/action-form/fields/TextInputField.js +2 -0
  123. package/build/esm/action-form/fields/TextInputField.js.map +1 -1
  124. package/build/esm/action-form/fields/TextInputField.module.css +56 -0
  125. package/build/esm/base-components/checkbox/Checkbox.js +2 -2
  126. package/build/esm/base-components/checkbox/Checkbox.js.map +1 -1
  127. package/build/esm/base-components/checkbox/Checkbox.module.css +0 -4
  128. package/build/esm/base-components/combobox/Combobox.js +3 -8
  129. package/build/esm/base-components/combobox/Combobox.js.map +1 -1
  130. package/build/esm/base-components/combobox/Combobox.module.css +0 -3
  131. package/build/esm/base-components/draggable-list/DraggableList.js +2 -4
  132. package/build/esm/base-components/draggable-list/DraggableList.js.map +1 -1
  133. package/build/esm/base-components/search-bar/SearchBar.module.css +2 -2
  134. package/build/esm/base-components/select/Select.js +1 -3
  135. package/build/esm/base-components/select/Select.js.map +1 -1
  136. package/build/esm/base-components/select/Select.module.css +0 -2
  137. package/build/esm/base-components/switch/Switch.module.css +0 -1
  138. package/build/esm/filter-list/FilterInput.js +14 -5
  139. package/build/esm/filter-list/FilterInput.js.map +1 -1
  140. package/build/esm/filter-list/FilterList.js +13 -5
  141. package/build/esm/filter-list/FilterList.js.map +1 -1
  142. package/build/esm/filter-list/FilterListApi.js.map +1 -1
  143. package/build/esm/filter-list/base/AddFilterPopover.js +4 -3
  144. package/build/esm/filter-list/base/AddFilterPopover.js.map +1 -1
  145. package/build/esm/filter-list/base/BaseFilterListApi.js.map +1 -1
  146. package/build/esm/filter-list/base/ExcludeDropdown.js +61 -0
  147. package/build/esm/filter-list/base/ExcludeDropdown.js.map +1 -0
  148. package/build/esm/filter-list/base/ExcludeDropdown.module.css +94 -0
  149. package/build/esm/filter-list/base/FilterIcons.js +0 -39
  150. package/build/esm/filter-list/base/FilterIcons.js.map +1 -1
  151. package/build/esm/filter-list/base/FilterInputExcludeRow.js +55 -0
  152. package/build/esm/filter-list/base/FilterInputExcludeRow.js.map +1 -0
  153. package/build/esm/filter-list/base/FilterListItem.js +72 -23
  154. package/build/esm/filter-list/base/FilterListItem.js.map +1 -1
  155. package/build/esm/filter-list/base/FilterListItem.module.css +96 -20
  156. package/build/esm/filter-list/base/inputs/CheckboxListInput.js +2 -2
  157. package/build/esm/filter-list/base/inputs/CheckboxListInput.js.map +1 -1
  158. package/build/esm/filter-list/base/inputs/ContainsTextInput.js +2 -6
  159. package/build/esm/filter-list/base/inputs/ContainsTextInput.js.map +1 -1
  160. package/build/esm/filter-list/base/inputs/ListogramInput.js +2 -2
  161. package/build/esm/filter-list/base/inputs/ListogramInput.js.map +1 -1
  162. package/build/esm/filter-list/base/inputs/RangeInput.js +2 -2
  163. package/build/esm/filter-list/base/inputs/RangeInput.js.map +1 -1
  164. package/build/esm/filter-list/base/inputs/SingleSelectInput.js +1 -3
  165. package/build/esm/filter-list/base/inputs/SingleSelectInput.js.map +1 -1
  166. package/build/esm/filter-list/base/inputs/{useStaleData.js → useStableData.js} +5 -5
  167. package/build/esm/filter-list/base/inputs/useStableData.js.map +1 -0
  168. package/build/esm/filter-list/hooks/usePropertyAggregation.js +3 -2
  169. package/build/esm/filter-list/hooks/usePropertyAggregation.js.map +1 -1
  170. package/build/esm/filter-list/inputs/CheckboxListFilterInput.js +15 -5
  171. package/build/esm/filter-list/inputs/CheckboxListFilterInput.js.map +1 -1
  172. package/build/esm/filter-list/inputs/DateRangeFilterInput.js +10 -6
  173. package/build/esm/filter-list/inputs/DateRangeFilterInput.js.map +1 -1
  174. package/build/esm/filter-list/inputs/LinkedPropertyInput.js +41 -18
  175. package/build/esm/filter-list/inputs/LinkedPropertyInput.js.map +1 -1
  176. package/build/esm/filter-list/inputs/ListogramFilterInput.js +15 -5
  177. package/build/esm/filter-list/inputs/ListogramFilterInput.js.map +1 -1
  178. package/build/esm/filter-list/inputs/MultiSelectFilterInput.js +12 -4
  179. package/build/esm/filter-list/inputs/MultiSelectFilterInput.js.map +1 -1
  180. package/build/esm/filter-list/inputs/NumberRangeFilterInput.js +10 -6
  181. package/build/esm/filter-list/inputs/NumberRangeFilterInput.js.map +1 -1
  182. package/build/esm/filter-list/inputs/PropertyFilterInput.js +36 -10
  183. package/build/esm/filter-list/inputs/PropertyFilterInput.js.map +1 -1
  184. package/build/esm/filter-list/inputs/SingleSelectFilterInput.js +12 -4
  185. package/build/esm/filter-list/inputs/SingleSelectFilterInput.js.map +1 -1
  186. package/build/esm/filter-list/inputs/TextTagsFilterInput.js +12 -4
  187. package/build/esm/filter-list/inputs/TextTagsFilterInput.js.map +1 -1
  188. package/build/esm/filter-list/utils/filterValues.js +29 -1
  189. package/build/esm/filter-list/utils/filterValues.js.map +1 -1
  190. package/build/esm/object-table/LoadingCell.module.css +0 -1
  191. package/build/esm/object-table/MultiColumnSortDialog.js +1 -3
  192. package/build/esm/object-table/MultiColumnSortDialog.js.map +1 -1
  193. package/build/esm/object-table/MultiColumnSortDialog.module.css +0 -1
  194. package/build/esm/object-table/TableCell.module.css +1 -1
  195. package/build/esm/object-table/TableHeader.module.css +2 -2
  196. package/build/esm/object-table/TableHeaderWithPopover.js +2 -4
  197. package/build/esm/object-table/TableHeaderWithPopover.js.map +1 -1
  198. package/build/esm/object-table/TableHeaderWithPopover.module.css +1 -0
  199. package/build/esm/pdf-viewer/PdfViewerAnnotationLayer.module.css +0 -1
  200. package/build/esm/public/experimental.js +2 -0
  201. package/build/esm/public/experimental.js.map +1 -1
  202. package/build/types/action-form/ActionFormApi.d.ts +1 -0
  203. package/build/types/action-form/ActionFormApi.d.ts.map +1 -1
  204. package/build/types/action-form/BaseForm.d.ts.map +1 -1
  205. package/build/types/action-form/FormField.d.ts +11 -0
  206. package/build/types/action-form/FormField.d.ts.map +1 -0
  207. package/build/types/action-form/FormFieldApi.d.ts +1 -1
  208. package/build/types/action-form/FormHeader.d.ts +6 -0
  209. package/build/types/action-form/FormHeader.d.ts.map +1 -0
  210. package/build/types/action-form/fields/FormFieldRenderer.d.ts.map +1 -1
  211. package/build/types/action-form/fields/TextInputField.d.ts.map +1 -1
  212. package/build/types/filter-list/FilterInput.d.ts +3 -1
  213. package/build/types/filter-list/FilterInput.d.ts.map +1 -1
  214. package/build/types/filter-list/FilterListApi.d.ts +12 -9
  215. package/build/types/filter-list/FilterListApi.d.ts.map +1 -1
  216. package/build/types/filter-list/base/AddFilterPopover.d.ts +2 -1
  217. package/build/types/filter-list/base/AddFilterPopover.d.ts.map +1 -1
  218. package/build/types/filter-list/base/BaseFilterListApi.d.ts +2 -0
  219. package/build/types/filter-list/base/BaseFilterListApi.d.ts.map +1 -1
  220. package/build/types/filter-list/base/ExcludeDropdown.d.ts +8 -0
  221. package/build/types/filter-list/base/ExcludeDropdown.d.ts.map +1 -0
  222. package/build/types/filter-list/base/FilterIcons.d.ts +0 -2
  223. package/build/types/filter-list/base/FilterIcons.d.ts.map +1 -1
  224. package/build/types/filter-list/base/FilterInputExcludeRow.d.ts +12 -0
  225. package/build/types/filter-list/base/FilterInputExcludeRow.d.ts.map +1 -0
  226. package/build/types/filter-list/base/FilterListItem.d.ts.map +1 -1
  227. package/build/types/filter-list/base/inputs/useStableData.d.ts +1 -0
  228. package/build/types/filter-list/base/inputs/useStableData.d.ts.map +1 -0
  229. package/build/types/filter-list/hooks/usePropertyAggregation.d.ts +2 -2
  230. package/build/types/filter-list/hooks/usePropertyAggregation.d.ts.map +1 -1
  231. package/build/types/filter-list/inputs/CheckboxListFilterInput.d.ts +5 -2
  232. package/build/types/filter-list/inputs/CheckboxListFilterInput.d.ts.map +1 -1
  233. package/build/types/filter-list/inputs/DateRangeFilterInput.d.ts +3 -2
  234. package/build/types/filter-list/inputs/DateRangeFilterInput.d.ts.map +1 -1
  235. package/build/types/filter-list/inputs/LinkedPropertyInput.d.ts +2 -1
  236. package/build/types/filter-list/inputs/LinkedPropertyInput.d.ts.map +1 -1
  237. package/build/types/filter-list/inputs/ListogramFilterInput.d.ts +5 -2
  238. package/build/types/filter-list/inputs/ListogramFilterInput.d.ts.map +1 -1
  239. package/build/types/filter-list/inputs/MultiSelectFilterInput.d.ts +4 -2
  240. package/build/types/filter-list/inputs/MultiSelectFilterInput.d.ts.map +1 -1
  241. package/build/types/filter-list/inputs/NumberRangeFilterInput.d.ts +3 -2
  242. package/build/types/filter-list/inputs/NumberRangeFilterInput.d.ts.map +1 -1
  243. package/build/types/filter-list/inputs/PropertyFilterInput.d.ts +3 -1
  244. package/build/types/filter-list/inputs/PropertyFilterInput.d.ts.map +1 -1
  245. package/build/types/filter-list/inputs/SingleSelectFilterInput.d.ts +4 -2
  246. package/build/types/filter-list/inputs/SingleSelectFilterInput.d.ts.map +1 -1
  247. package/build/types/filter-list/inputs/TextTagsFilterInput.d.ts +4 -2
  248. package/build/types/filter-list/inputs/TextTagsFilterInput.d.ts.map +1 -1
  249. package/build/types/filter-list/utils/filterValues.d.ts +2 -0
  250. package/build/types/filter-list/utils/filterValues.d.ts.map +1 -1
  251. package/build/types/public/experimental.d.ts +4 -0
  252. package/build/types/public/experimental.d.ts.map +1 -1
  253. package/package.json +4 -4
  254. package/build/browser/filter-list/base/inputs/useStaleData.js.map +0 -1
  255. package/build/esm/filter-list/base/inputs/useStaleData.js.map +0 -1
  256. package/build/types/filter-list/base/inputs/useStaleData.d.ts +0 -1
  257. package/build/types/filter-list/base/inputs/useStaleData.d.ts.map +0 -1
@@ -31,8 +31,7 @@ function HeaderMenuItem({
31
31
  className: classNames(styles.osdkCenterContainer, styles.osdkContentGap, styles.osdkHeaderMenuItem, active && styles.osdkHeaderActiveMenuItem),
32
32
  onClick: onClick
33
33
  }, /*#__PURE__*/React.createElement(Icon, {
34
- className: styles.osdkHeaderIcon,
35
- color: "currentColor"
34
+ className: styles.osdkHeaderIcon
36
35
  }), /*#__PURE__*/React.createElement("span", null, label));
37
36
  }
38
37
  export function TableHeaderWithPopover({
@@ -121,8 +120,7 @@ export function TableHeaderWithPopover({
121
120
  }, /*#__PURE__*/React.createElement("div", {
122
121
  className: classNames(styles.osdkCenterContainer, styles.osdkContentGap, styles.osdkHeaderContentLeft)
123
122
  }, isColumnPinned && /*#__PURE__*/React.createElement(Pin, {
124
- className: styles.osdkHeaderIcon,
125
- color: "currentColor"
123
+ className: styles.osdkHeaderIcon
126
124
  }), /*#__PURE__*/React.createElement(TableHeaderContent, {
127
125
  header: header
128
126
  })), /*#__PURE__*/React.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeaderWithPopover.js","names":["Menu","ChevronDown","Pin","Remove","Settings","Sort","SortAlphabetical","SortAlphabeticalDesc","Unpin","VerticalDistribution","classNames","React","useCallback","useState","TableHeaderContent","styles","HeaderMenuItem","onClick","icon","Icon","label","active","createElement","Item","closeOnClick","className","osdkCenterContainer","osdkContentGap","osdkHeaderMenuItem","osdkHeaderActiveMenuItem","osdkHeaderIcon","color","TableHeaderWithPopover","header","table","isColumnPinned","onResetSize","columnOptions","featureFlags","onOpenColumnConfig","onOpenMultiSort","showSortingItems","showPinningItems","showResizeItem","showConfigItem","setColumnPinning","setSorting","currentSorting","getState","sorting","isOpen","setIsOpen","handlePinLeft","prev","left","column","id","right","filter","handleUnpin","handleSortAscending","toggleSorting","desc","handleSortDescending","handleClearAllSorts","clearSorting","handleResetSize","resetSize","handleInteraction","e","preventDefault","handleOpenColumnConfig","handleOpenMultiSort","isSorted","getIsSorted","isSortable","getCanSort","sortIndex","findIndex","s","Fragment","Root","open","onOpenChange","osdkHeaderContainer","onContextMenu","osdkHeaderContentLeft","osdkHeaderContentRight","length","Trigger","osdkHeaderPopoverTrigger","Portal","container","document","body","Positioner","sideOffset","Popup","osdkHeaderPopup","some","col","canSort"],"sources":["TableHeaderWithPopover.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 { Menu } from \"@base-ui/react/menu\";\nimport {\n ChevronDown,\n Pin,\n Remove,\n Settings,\n Sort,\n SortAlphabetical,\n SortAlphabeticalDesc,\n Unpin,\n VerticalDistribution,\n} from \"@blueprintjs/icons\";\nimport type { Header, RowData, Table } from \"@tanstack/react-table\";\nimport classNames from \"classnames\";\nimport React, { useCallback, useState } from \"react\";\nimport { TableHeaderContent } from \"./TableHeaderContent.js\";\nimport styles from \"./TableHeaderWithPopover.module.css\";\nimport type { ColumnOption } from \"./utils/types.js\";\n\ninterface HeaderMenuItemProps {\n onClick: () => void;\n icon: React.ComponentType<{ className?: string; color?: string }>;\n label: string;\n active?: boolean;\n}\n\nfunction HeaderMenuItem({\n onClick,\n icon: Icon,\n label,\n active = false,\n}: HeaderMenuItemProps): React.ReactElement {\n return (\n <Menu.Item\n closeOnClick\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkContentGap,\n styles.osdkHeaderMenuItem,\n active && styles.osdkHeaderActiveMenuItem,\n )}\n onClick={onClick}\n >\n <Icon className={styles.osdkHeaderIcon} color=\"currentColor\" />\n <span>{label}</span>\n </Menu.Item>\n );\n}\n\nexport interface HeaderMenuFeatureFlags {\n /**\n * Whether sorting menu items should be shown.\n * When false, hides \"Sort ascending\", \"Sort descending\", \"Sort on multiple columns\", and \"Clear all sorts\".\n */\n showSortingItems?: boolean;\n /**\n * Whether pinning menu items should be shown.\n * When false, hides \"Pin column\" and \"Unpin Column\".\n */\n showPinningItems?: boolean;\n /**\n * Whether resize menu item should be shown.\n * When false, hides \"Reset Column Size\".\n */\n showResizeItem?: boolean;\n /**\n * Whether column config menu item should be shown.\n * When false, hides \"Configure Columns\".\n */\n showConfigItem?: boolean;\n}\n\ninterface TableHeaderWithPopoverProps<\n TData extends RowData,\n> {\n table: Table<TData>;\n header: Header<TData, unknown>;\n isColumnPinned: false | \"left\" | \"right\";\n onResetSize?: () => void;\n columnOptions?: ColumnOption[];\n featureFlags?: HeaderMenuFeatureFlags;\n onOpenColumnConfig?: () => void;\n onOpenMultiSort?: () => void;\n}\n\nexport function TableHeaderWithPopover<\n TData extends RowData,\n>({\n header,\n table,\n isColumnPinned,\n onResetSize,\n columnOptions,\n featureFlags,\n onOpenColumnConfig,\n onOpenMultiSort,\n}: TableHeaderWithPopoverProps<TData>): React.ReactElement {\n const {\n showSortingItems = false,\n showPinningItems = false,\n showResizeItem = false,\n showConfigItem = false,\n } = featureFlags ?? {};\n\n const {\n setColumnPinning,\n setSorting,\n } = table;\n\n const currentSorting = table.getState().sorting;\n\n const [isOpen, setIsOpen] = useState(false);\n\n const handlePinLeft = useCallback(() => {\n setColumnPinning((prev) => {\n return {\n left: [...(prev.left || []), header.column.id],\n right: prev.right?.filter((id) => id !== header.column.id) || [],\n };\n });\n }, [header.column.id, setColumnPinning]);\n\n const handleUnpin = useCallback(() => {\n setColumnPinning((prev) => {\n return {\n left: prev.left?.filter((id) => id !== header.column.id) || [],\n right: prev.right?.filter((id) => id !== header.column.id) || [],\n };\n });\n }, [header.column.id, setColumnPinning]);\n\n const handleSortAscending = useCallback(() => {\n header.column.toggleSorting(false);\n setSorting?.([{ id: header.column.id, desc: false }]);\n }, [header.column, setSorting]);\n\n const handleSortDescending = useCallback(() => {\n header.column.toggleSorting(true);\n setSorting?.([{ id: header.column.id, desc: true }]);\n }, [header.column, setSorting]);\n\n const handleClearAllSorts = useCallback(() => {\n header.column.clearSorting();\n setSorting?.([]);\n }, [header.column, setSorting]);\n\n const handleResetSize = useCallback(() => {\n header.column.resetSize();\n if (onResetSize) {\n onResetSize();\n }\n }, [header.column, onResetSize]);\n\n const handleInteraction = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault();\n setIsOpen((prev) => !prev);\n },\n [],\n );\n\n const handleOpenColumnConfig = useCallback(() => {\n onOpenColumnConfig?.();\n setIsOpen(false);\n }, [onOpenColumnConfig]);\n\n const handleOpenMultiSort = useCallback(() => {\n onOpenMultiSort?.();\n setIsOpen(false);\n }, [onOpenMultiSort]);\n\n const isSorted = header.column.getIsSorted();\n const isSortable = header.column.getCanSort();\n const sortIndex = currentSorting?.findIndex(s => s.id === header.column.id)\n ?? -1;\n\n const hasAnyMenuItems = showPinningItems\n || (showSortingItems && isSortable)\n || showResizeItem\n || showConfigItem;\n\n return (\n <>\n <Menu.Root open={isOpen} onOpenChange={setIsOpen}>\n <div\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkContentGap,\n styles.osdkHeaderContainer,\n )}\n onContextMenu={handleInteraction}\n >\n <div\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkContentGap,\n styles.osdkHeaderContentLeft,\n )}\n >\n {isColumnPinned && (\n <Pin\n className={styles.osdkHeaderIcon}\n color={\"currentColor\"}\n />\n )}\n <TableHeaderContent header={header} />\n </div>\n <div\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkContentGap,\n styles.osdkHeaderContentRight,\n )}\n >\n {isSorted && (\n <div className={styles.osdkCenterContainer}>\n {isSorted === \"asc\"\n ? (\n <SortAlphabetical\n className={styles.osdkHeaderIcon}\n />\n )\n : (\n <SortAlphabeticalDesc\n className={styles.osdkHeaderIcon}\n />\n )}\n {currentSorting.length > 1 && sortIndex >= 0\n && <span className={styles.sortIndex}>{sortIndex + 1}</span>}\n </div>\n )}\n {hasAnyMenuItems && (\n <Menu.Trigger\n aria-label={`Open header menu for column with id=${header.column.id}`}\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkHeaderPopoverTrigger,\n )}\n >\n <ChevronDown\n className={styles.osdkHeaderIcon}\n />\n </Menu.Trigger>\n )}\n </div>\n <Menu.Portal container={document.body}>\n <Menu.Positioner sideOffset={4}>\n <Menu.Popup\n className={styles.osdkHeaderPopup}\n >\n {showPinningItems && !isColumnPinned && (\n <HeaderMenuItem\n onClick={handlePinLeft}\n icon={Pin}\n label=\"Pin column\"\n />\n )}\n\n {showPinningItems && isColumnPinned && (\n <HeaderMenuItem\n onClick={handleUnpin}\n icon={Unpin}\n label=\"Unpin Column\"\n active={true}\n />\n )}\n {showSortingItems && isSortable && (\n <>\n <HeaderMenuItem\n onClick={handleSortAscending}\n icon={SortAlphabetical}\n label=\"Sort ascending\"\n active={isSorted === \"asc\"}\n />\n <HeaderMenuItem\n onClick={handleSortDescending}\n icon={SortAlphabeticalDesc}\n label=\"Sort descending\"\n active={isSorted === \"desc\"}\n />\n {columnOptions?.some(col => col.canSort) && (\n <HeaderMenuItem\n onClick={handleOpenMultiSort}\n icon={Sort}\n label=\"Sort on multiple columns\"\n />\n )}\n </>\n )}\n {showSortingItems && !!currentSorting?.length\n && (\n <HeaderMenuItem\n onClick={handleClearAllSorts}\n icon={Remove}\n label=\"Clear all sorts\"\n />\n )}\n {showResizeItem && (\n <HeaderMenuItem\n onClick={handleResetSize}\n icon={VerticalDistribution}\n label=\"Reset Column Size\"\n />\n )}\n {showConfigItem && (\n <HeaderMenuItem\n onClick={handleOpenColumnConfig}\n icon={Settings}\n label=\"Configure Columns\"\n />\n )}\n </Menu.Popup>\n </Menu.Positioner>\n </Menu.Portal>\n </div>\n </Menu.Root>\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TableHeaderWithPopover.js","names":["Menu","ChevronDown","Pin","Remove","Settings","Sort","SortAlphabetical","SortAlphabeticalDesc","Unpin","VerticalDistribution","classNames","React","useCallback","useState","TableHeaderContent","styles","HeaderMenuItem","onClick","icon","Icon","label","active","createElement","Item","closeOnClick","className","osdkCenterContainer","osdkContentGap","osdkHeaderMenuItem","osdkHeaderActiveMenuItem","osdkHeaderIcon","TableHeaderWithPopover","header","table","isColumnPinned","onResetSize","columnOptions","featureFlags","onOpenColumnConfig","onOpenMultiSort","showSortingItems","showPinningItems","showResizeItem","showConfigItem","setColumnPinning","setSorting","currentSorting","getState","sorting","isOpen","setIsOpen","handlePinLeft","prev","left","column","id","right","filter","handleUnpin","handleSortAscending","toggleSorting","desc","handleSortDescending","handleClearAllSorts","clearSorting","handleResetSize","resetSize","handleInteraction","e","preventDefault","handleOpenColumnConfig","handleOpenMultiSort","isSorted","getIsSorted","isSortable","getCanSort","sortIndex","findIndex","s","Fragment","Root","open","onOpenChange","osdkHeaderContainer","onContextMenu","osdkHeaderContentLeft","osdkHeaderContentRight","length","Trigger","osdkHeaderPopoverTrigger","Portal","container","document","body","Positioner","sideOffset","Popup","osdkHeaderPopup","some","col","canSort"],"sources":["TableHeaderWithPopover.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 { Menu } from \"@base-ui/react/menu\";\nimport {\n ChevronDown,\n Pin,\n Remove,\n Settings,\n Sort,\n SortAlphabetical,\n SortAlphabeticalDesc,\n Unpin,\n VerticalDistribution,\n} from \"@blueprintjs/icons\";\nimport type { Header, RowData, Table } from \"@tanstack/react-table\";\nimport classNames from \"classnames\";\nimport React, { useCallback, useState } from \"react\";\nimport { TableHeaderContent } from \"./TableHeaderContent.js\";\nimport styles from \"./TableHeaderWithPopover.module.css\";\nimport type { ColumnOption } from \"./utils/types.js\";\n\ninterface HeaderMenuItemProps {\n onClick: () => void;\n icon: React.ComponentType<{ className?: string; color?: string }>;\n label: string;\n active?: boolean;\n}\n\nfunction HeaderMenuItem({\n onClick,\n icon: Icon,\n label,\n active = false,\n}: HeaderMenuItemProps): React.ReactElement {\n return (\n <Menu.Item\n closeOnClick\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkContentGap,\n styles.osdkHeaderMenuItem,\n active && styles.osdkHeaderActiveMenuItem,\n )}\n onClick={onClick}\n >\n <Icon className={styles.osdkHeaderIcon} />\n <span>{label}</span>\n </Menu.Item>\n );\n}\n\nexport interface HeaderMenuFeatureFlags {\n /**\n * Whether sorting menu items should be shown.\n * When false, hides \"Sort ascending\", \"Sort descending\", \"Sort on multiple columns\", and \"Clear all sorts\".\n */\n showSortingItems?: boolean;\n /**\n * Whether pinning menu items should be shown.\n * When false, hides \"Pin column\" and \"Unpin Column\".\n */\n showPinningItems?: boolean;\n /**\n * Whether resize menu item should be shown.\n * When false, hides \"Reset Column Size\".\n */\n showResizeItem?: boolean;\n /**\n * Whether column config menu item should be shown.\n * When false, hides \"Configure Columns\".\n */\n showConfigItem?: boolean;\n}\n\ninterface TableHeaderWithPopoverProps<\n TData extends RowData,\n> {\n table: Table<TData>;\n header: Header<TData, unknown>;\n isColumnPinned: false | \"left\" | \"right\";\n onResetSize?: () => void;\n columnOptions?: ColumnOption[];\n featureFlags?: HeaderMenuFeatureFlags;\n onOpenColumnConfig?: () => void;\n onOpenMultiSort?: () => void;\n}\n\nexport function TableHeaderWithPopover<\n TData extends RowData,\n>({\n header,\n table,\n isColumnPinned,\n onResetSize,\n columnOptions,\n featureFlags,\n onOpenColumnConfig,\n onOpenMultiSort,\n}: TableHeaderWithPopoverProps<TData>): React.ReactElement {\n const {\n showSortingItems = false,\n showPinningItems = false,\n showResizeItem = false,\n showConfigItem = false,\n } = featureFlags ?? {};\n\n const {\n setColumnPinning,\n setSorting,\n } = table;\n\n const currentSorting = table.getState().sorting;\n\n const [isOpen, setIsOpen] = useState(false);\n\n const handlePinLeft = useCallback(() => {\n setColumnPinning((prev) => {\n return {\n left: [...(prev.left || []), header.column.id],\n right: prev.right?.filter((id) => id !== header.column.id) || [],\n };\n });\n }, [header.column.id, setColumnPinning]);\n\n const handleUnpin = useCallback(() => {\n setColumnPinning((prev) => {\n return {\n left: prev.left?.filter((id) => id !== header.column.id) || [],\n right: prev.right?.filter((id) => id !== header.column.id) || [],\n };\n });\n }, [header.column.id, setColumnPinning]);\n\n const handleSortAscending = useCallback(() => {\n header.column.toggleSorting(false);\n setSorting?.([{ id: header.column.id, desc: false }]);\n }, [header.column, setSorting]);\n\n const handleSortDescending = useCallback(() => {\n header.column.toggleSorting(true);\n setSorting?.([{ id: header.column.id, desc: true }]);\n }, [header.column, setSorting]);\n\n const handleClearAllSorts = useCallback(() => {\n header.column.clearSorting();\n setSorting?.([]);\n }, [header.column, setSorting]);\n\n const handleResetSize = useCallback(() => {\n header.column.resetSize();\n if (onResetSize) {\n onResetSize();\n }\n }, [header.column, onResetSize]);\n\n const handleInteraction = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault();\n setIsOpen((prev) => !prev);\n },\n [],\n );\n\n const handleOpenColumnConfig = useCallback(() => {\n onOpenColumnConfig?.();\n setIsOpen(false);\n }, [onOpenColumnConfig]);\n\n const handleOpenMultiSort = useCallback(() => {\n onOpenMultiSort?.();\n setIsOpen(false);\n }, [onOpenMultiSort]);\n\n const isSorted = header.column.getIsSorted();\n const isSortable = header.column.getCanSort();\n const sortIndex = currentSorting?.findIndex(s => s.id === header.column.id)\n ?? -1;\n\n const hasAnyMenuItems = showPinningItems\n || (showSortingItems && isSortable)\n || showResizeItem\n || showConfigItem;\n\n return (\n <>\n <Menu.Root open={isOpen} onOpenChange={setIsOpen}>\n <div\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkContentGap,\n styles.osdkHeaderContainer,\n )}\n onContextMenu={handleInteraction}\n >\n <div\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkContentGap,\n styles.osdkHeaderContentLeft,\n )}\n >\n {isColumnPinned && (\n <Pin\n className={styles.osdkHeaderIcon}\n />\n )}\n <TableHeaderContent header={header} />\n </div>\n <div\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkContentGap,\n styles.osdkHeaderContentRight,\n )}\n >\n {isSorted && (\n <div className={styles.osdkCenterContainer}>\n {isSorted === \"asc\"\n ? (\n <SortAlphabetical\n className={styles.osdkHeaderIcon}\n />\n )\n : (\n <SortAlphabeticalDesc\n className={styles.osdkHeaderIcon}\n />\n )}\n {currentSorting.length > 1 && sortIndex >= 0\n && <span className={styles.sortIndex}>{sortIndex + 1}</span>}\n </div>\n )}\n {hasAnyMenuItems && (\n <Menu.Trigger\n aria-label={`Open header menu for column with id=${header.column.id}`}\n className={classNames(\n styles.osdkCenterContainer,\n styles.osdkHeaderPopoverTrigger,\n )}\n >\n <ChevronDown\n className={styles.osdkHeaderIcon}\n />\n </Menu.Trigger>\n )}\n </div>\n <Menu.Portal container={document.body}>\n <Menu.Positioner sideOffset={4}>\n <Menu.Popup\n className={styles.osdkHeaderPopup}\n >\n {showPinningItems && !isColumnPinned && (\n <HeaderMenuItem\n onClick={handlePinLeft}\n icon={Pin}\n label=\"Pin column\"\n />\n )}\n\n {showPinningItems && isColumnPinned && (\n <HeaderMenuItem\n onClick={handleUnpin}\n icon={Unpin}\n label=\"Unpin Column\"\n active={true}\n />\n )}\n {showSortingItems && isSortable && (\n <>\n <HeaderMenuItem\n onClick={handleSortAscending}\n icon={SortAlphabetical}\n label=\"Sort ascending\"\n active={isSorted === \"asc\"}\n />\n <HeaderMenuItem\n onClick={handleSortDescending}\n icon={SortAlphabeticalDesc}\n label=\"Sort descending\"\n active={isSorted === \"desc\"}\n />\n {columnOptions?.some(col => col.canSort) && (\n <HeaderMenuItem\n onClick={handleOpenMultiSort}\n icon={Sort}\n label=\"Sort on multiple columns\"\n />\n )}\n </>\n )}\n {showSortingItems && !!currentSorting?.length\n && (\n <HeaderMenuItem\n onClick={handleClearAllSorts}\n icon={Remove}\n label=\"Clear all sorts\"\n />\n )}\n {showResizeItem && (\n <HeaderMenuItem\n onClick={handleResetSize}\n icon={VerticalDistribution}\n label=\"Reset Column Size\"\n />\n )}\n {showConfigItem && (\n <HeaderMenuItem\n onClick={handleOpenColumnConfig}\n icon={Settings}\n label=\"Configure Columns\"\n />\n )}\n </Menu.Popup>\n </Menu.Positioner>\n </Menu.Portal>\n </div>\n </Menu.Root>\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -80,6 +80,7 @@
80
80
  .osdkHeaderIcon {
81
81
  width: var(--osdk-iconography-size-small);
82
82
  height: var(--osdk-iconography-size-small);
83
+ color: var(--osdk-table-header-menu-icon-color);
83
84
  }
84
85
 
85
86
  .osdkHeaderPopup {
@@ -12,7 +12,6 @@
12
12
  position: absolute;
13
13
  pointer-events: auto;
14
14
  cursor: pointer;
15
- box-sizing: border-box;
16
15
  transition: opacity var(--osdk-emphasis-transition-duration)
17
16
  var(--osdk-emphasis-ease-default);
18
17
  }
@@ -29,4 +29,6 @@ export { ColumnConfigDialog } from "../object-table/ColumnConfigDialog.js";
29
29
  export { BasePdfViewer } from "../pdf-viewer/PdfViewer.js";
30
30
  // PdfRenderer
31
31
  export { PdfRenderer } from "../pdf-viewer/PdfRenderer.js";
32
+ export { ActionForm } from "../action-form/ActionForm.js";
33
+ export { BaseForm } from "../action-form/BaseForm.js";
32
34
  //# sourceMappingURL=experimental.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"experimental.js","names":["BaseFilterList","FilterList","deserializeFilterStates","serializeFilterStates","ObjectTable","BaseTable","ColumnConfigDialog","BasePdfViewer","PdfRenderer"],"sources":["experimental.ts"],"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\nexport { BaseFilterList } from \"../filter-list/base/BaseFilterList.js\";\nexport type {\n BaseFilterListProps,\n RenderFilterInput,\n} from \"../filter-list/base/BaseFilterListApi.js\";\nexport { FilterList } from \"../filter-list/FilterList.js\";\n\nexport type {\n FilterDefinitionUnion,\n FilterListProps,\n} from \"../filter-list/FilterListApi.js\";\nexport type {\n FilterComponentType,\n FilterListItemProps,\n FilterState,\n PropertyFilterDefinition,\n} from \"../filter-list/FilterListItemApi.js\";\nexport {\n deserializeFilterStates,\n serializeFilterStates,\n} from \"../filter-list/utils/filterStateSerialization.js\";\n\n// ObjectTable that loads and displays data for a given objectSet\nexport { ObjectTable } from \"../object-table/ObjectTable.js\";\nexport type {\n ColumnDefinition,\n ColumnDefinitionLocator,\n CustomColumnLocator,\n FunctionColumnLocator,\n ObjectTableProps,\n PropertyColumnLocator,\n RdpColumnLocator,\n} from \"../object-table/ObjectTableApi.js\";\nexport type { CellEditInfo } from \"../object-table/utils/types.js\";\n\n// BaseTable that does not handle data fetching\nexport type { BaseTableProps } from \"../object-table/Table.js\";\nexport { BaseTable } from \"../object-table/Table.js\";\n\nexport { ColumnConfigDialog } from \"../object-table/ColumnConfigDialog.js\";\nexport type {\n ColumnConfigDialogProps,\n ColumnConfigOptions,\n} from \"../object-table/ColumnConfigDialog.js\";\n\n// PdfViewer\nexport { BasePdfViewer } from \"../pdf-viewer/PdfViewer.js\";\nexport type {\n AnnotationType,\n PdfAnnotation,\n PdfViewerProps,\n} from \"../pdf-viewer/types.js\";\n\n// PdfRenderer\nexport {\n PdfRenderer,\n type PdfRendererProps,\n} from \"../pdf-viewer/PdfRenderer.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,cAAc,QAAQ,uCAAuC;AAKtE,SAASC,UAAU,QAAQ,8BAA8B;AAYzD,SACEC,uBAAuB,EACvBC,qBAAqB,QAChB,kDAAkD;;AAEzD;AACA,SAASC,WAAW,QAAQ,gCAAgC;;AAY5D;;AAEA,SAASC,SAAS,QAAQ,0BAA0B;AAEpD,SAASC,kBAAkB,QAAQ,uCAAuC;AAM1E;AACA,SAASC,aAAa,QAAQ,4BAA4B;AAO1D;AACA,SACEC,WAAW,QAEN,8BAA8B","ignoreList":[]}
1
+ {"version":3,"file":"experimental.js","names":["BaseFilterList","FilterList","deserializeFilterStates","serializeFilterStates","ObjectTable","BaseTable","ColumnConfigDialog","BasePdfViewer","PdfRenderer","ActionForm","BaseForm"],"sources":["experimental.ts"],"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\nexport { BaseFilterList } from \"../filter-list/base/BaseFilterList.js\";\nexport type {\n BaseFilterListProps,\n RenderFilterInput,\n} from \"../filter-list/base/BaseFilterListApi.js\";\nexport { FilterList } from \"../filter-list/FilterList.js\";\n\nexport type {\n FilterDefinitionUnion,\n FilterListProps,\n} from \"../filter-list/FilterListApi.js\";\nexport type {\n FilterComponentType,\n FilterListItemProps,\n FilterState,\n PropertyFilterDefinition,\n} from \"../filter-list/FilterListItemApi.js\";\nexport {\n deserializeFilterStates,\n serializeFilterStates,\n} from \"../filter-list/utils/filterStateSerialization.js\";\n\n// ObjectTable that loads and displays data for a given objectSet\nexport { ObjectTable } from \"../object-table/ObjectTable.js\";\nexport type {\n ColumnDefinition,\n ColumnDefinitionLocator,\n CustomColumnLocator,\n FunctionColumnLocator,\n ObjectTableProps,\n PropertyColumnLocator,\n RdpColumnLocator,\n} from \"../object-table/ObjectTableApi.js\";\nexport type { CellEditInfo } from \"../object-table/utils/types.js\";\n\n// BaseTable that does not handle data fetching\nexport type { BaseTableProps } from \"../object-table/Table.js\";\nexport { BaseTable } from \"../object-table/Table.js\";\n\nexport { ColumnConfigDialog } from \"../object-table/ColumnConfigDialog.js\";\nexport type {\n ColumnConfigDialogProps,\n ColumnConfigOptions,\n} from \"../object-table/ColumnConfigDialog.js\";\n\n// PdfViewer\nexport { BasePdfViewer } from \"../pdf-viewer/PdfViewer.js\";\nexport type {\n AnnotationType,\n PdfAnnotation,\n PdfViewerProps,\n} from \"../pdf-viewer/types.js\";\n\n// PdfRenderer\nexport {\n PdfRenderer,\n type PdfRendererProps,\n} from \"../pdf-viewer/PdfRenderer.js\";\n\nexport { ActionForm } from \"../action-form/ActionForm.js\";\nexport type {\n ActionFormProps,\n BaseFormProps,\n FormError,\n FormState,\n} from \"../action-form/ActionFormApi.js\";\nexport { BaseForm } from \"../action-form/BaseForm.js\";\nexport type {\n ActionParameters,\n BaseFormFieldProps,\n CustomFieldProps,\n DatetimePickerFieldProps,\n DropdownFieldProps,\n FieldComponent,\n FieldValueType,\n FilePickerProps,\n FormFieldDefinition,\n FormFieldPropsByType,\n NumberInputFieldProps,\n ObjectSetFieldProps,\n Option,\n RadioButtonsFieldProps,\n RendererFieldDefinition,\n TextAreaFieldProps,\n TextInputFieldProps,\n} from \"../action-form/FormFieldApi.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,cAAc,QAAQ,uCAAuC;AAKtE,SAASC,UAAU,QAAQ,8BAA8B;AAYzD,SACEC,uBAAuB,EACvBC,qBAAqB,QAChB,kDAAkD;;AAEzD;AACA,SAASC,WAAW,QAAQ,gCAAgC;;AAY5D;;AAEA,SAASC,SAAS,QAAQ,0BAA0B;AAEpD,SAASC,kBAAkB,QAAQ,uCAAuC;AAM1E;AACA,SAASC,aAAa,QAAQ,4BAA4B;AAO1D;AACA,SACEC,WAAW,QAEN,8BAA8B;AAErC,SAASC,UAAU,QAAQ,8BAA8B;AAOzD,SAASC,QAAQ,QAAQ,4BAA4B","ignoreList":[]}
@@ -88,5 +88,6 @@ interface BaseFormCommonProps {
88
88
  isSubmitDisabled?: boolean;
89
89
  isPending?: boolean;
90
90
  isLoading?: boolean;
91
+ className?: string;
91
92
  }
92
93
  export {};
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,kBACA,oBACA,gCACK,WAAY;AACnB,cAAc,6BAA6B,cAAe;AAC1D,cACE,kBACA,UACA,gBACA,qBACA,+BACK,mBAAoB;;;;;;;AAQ3B,YAAY,gBAAgB,UAAU,8BACjC,sBAAsB,KAAK;CAC5B,WAAW,UAAU;CACrB,oBACEA,UAAUC,WAAW,UAAU,OAAO,UAAU;AAEnD,MACE,sBAAsB,KAAK;CAC5B;CACA,qBACED,UAAUC,WAAW,UAAU,OAAO,UAAU;AAEnD;UAEO,sBAAsB,UAAU,mCAChC,KAAK,eAAe,cAAc,oBAC5C;CACE,kBAAkB;;;;CAKlB,uBAAuB,cAAc,oBAAoB;;;;;;;;;CAUzD,YACEC,WAAW,UAAU,IACrBC,cACEC,MAAM,iBAAiB,OACpB,QAAQ,oCACV;;;;;;CAOL,wBAAwBC,SAAS;;;;;;CAOjC,aAAaC,SAAS;;;;;;CAOtB,WAAWC,OAAO;AACnB;;;;AAKD,YAAY,UAAU,UAAU,gCAC7B,KAAK,SAAS,OAAM,eAAe,GAAG;;;;AAMzC,YAAY,YACR;CAAE,MAAM;CAAc,OAAO;AAAuB,IACpD;CAAE,MAAM;CAAc;AAAgB,IACtC;CAAE,MAAM;CAAW;AAAgB;;;;;;;;;;AAWvC,YAAY,gBACR,uBAEE;CACA,WAAW;CACX,qBAAqBC,kBAAkBC;AACxC,IACC;CACA;CACA,sBAAsBD,kBAAkBC;AACzC;UAGK,oBAAoB;CAC5B;CACA,kBAAkB,cAAc;CAChC,WAAWC,WAAW;CACtB;CACA;CACA;AACD","names":["updater: (prevState: FormState<Q>) => FormState<Q>","prevState: FormState<Q>","formState: FormState<Q>","applyAction: (\n args: ActionParameters<Q>,\n ) => Promise<ActionEditResponse | undefined>","args: ActionParameters<Q>","results: ActionValidationResponse","results: ActionEditResponse | undefined","error: FormError","fieldKey: string","value: unknown","formState: Record<string, unknown>"],"sources":["../../../src/action-form/ActionFormApi.ts"],"version":3,"file":"ActionFormApi.d.ts"}
1
+ {"mappings":"AAgBA,cACE,kBACA,oBACA,gCACK,WAAY;AACnB,cAAc,6BAA6B,cAAe;AAC1D,cACE,kBACA,UACA,gBACA,qBACA,+BACK,mBAAoB;;;;;;;AAQ3B,YAAY,gBAAgB,UAAU,8BACjC,sBAAsB,KAAK;CAC5B,WAAW,UAAU;CACrB,oBACEA,UAAUC,WAAW,UAAU,OAAO,UAAU;AAEnD,MACE,sBAAsB,KAAK;CAC5B;CACA,qBACED,UAAUC,WAAW,UAAU,OAAO,UAAU;AAEnD;UAEO,sBAAsB,UAAU,mCAChC,KAAK,eAAe,cAAc,oBAC5C;CACE,kBAAkB;;;;CAKlB,uBAAuB,cAAc,oBAAoB;;;;;;;;;CAUzD,YACEC,WAAW,UAAU,IACrBC,cACEC,MAAM,iBAAiB,OACpB,QAAQ,oCACV;;;;;;CAOL,wBAAwBC,SAAS;;;;;;CAOjC,aAAaC,SAAS;;;;;;CAOtB,WAAWC,OAAO;AACnB;;;;AAKD,YAAY,UAAU,UAAU,gCAC7B,KAAK,SAAS,OAAM,eAAe,GAAG;;;;AAMzC,YAAY,YACR;CAAE,MAAM;CAAc,OAAO;AAAuB,IACpD;CAAE,MAAM;CAAc;AAAgB,IACtC;CAAE,MAAM;CAAW;AAAgB;;;;;;;;;;AAWvC,YAAY,gBACR,uBAEE;CACA,WAAW;CACX,qBAAqBC,kBAAkBC;AACxC,IACC;CACA;CACA,sBAAsBD,kBAAkBC;AACzC;UAGK,oBAAoB;CAC5B;CACA,kBAAkB,cAAc;CAChC,WAAWC,WAAW;CACtB;CACA;CACA;CACA;AACD","names":["updater: (prevState: FormState<Q>) => FormState<Q>","prevState: FormState<Q>","formState: FormState<Q>","applyAction: (\n args: ActionParameters<Q>,\n ) => Promise<ActionEditResponse | undefined>","args: ActionParameters<Q>","results: ActionValidationResponse","results: ActionEditResponse | undefined","error: FormError","fieldKey: string","value: unknown","formState: Record<string, unknown>"],"sources":["../../../src/action-form/ActionFormApi.ts"],"version":3,"file":"ActionFormApi.d.ts"}
@@ -1 +1 @@
1
- {"mappings":"AAgBA,OAAO,WAA2C,OAAQ;AAE1D,cAAc,qBAAqB,oBAAqB;AAIxD,OAAO,cAAMA,UAAU,MAAM,GAAG","names":["BaseForm: React.FC<BaseFormProps>"],"sources":["../../../src/action-form/BaseForm.tsx"],"version":3,"file":"BaseForm.d.ts"}
1
+ {"mappings":"AAiBA,OAAO,WAA2C,OAAQ;AAG1D,cAAc,qBAAqB,oBAAqB;AAMxD,OAAO,cAAMA,UAAU,MAAM,GAAG","names":["BaseForm: React.FC<BaseFormProps>"],"sources":["../../../src/action-form/BaseForm.tsx"],"version":3,"file":"BaseForm.d.ts"}
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ interface FormFieldProps {
3
+ fieldKey: string;
4
+ label?: string;
5
+ isRequired?: boolean;
6
+ helperText?: string;
7
+ error?: string;
8
+ children: React.ReactNode;
9
+ }
10
+ export declare const FormField: React.FC<FormFieldProps>;
11
+ export {};
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,OAAO,WAAqB,OAAQ;UAG1B,eAAe;CACvB;CACA;CACA;CACA;CACA;CACA,UAAU,MAAM;AACjB;AAED,OAAO,cAAMA,WAAW,MAAM,GAAG","names":["FormField: React.FC<FormFieldProps>"],"sources":["../../../src/action-form/FormField.tsx"],"version":3,"file":"FormField.d.ts"}
@@ -77,7 +77,7 @@ type ValidationRule = "required" | "min" | "max" | "minLength" | "maxLength" | "
77
77
  */
78
78
  export interface FormFieldPropsByType {
79
79
  DATETIME_PICKER: DatetimePickerFieldProps;
80
- DROPDOWN: DropdownFieldProps<unknown>;
80
+ DROPDOWN: DropdownFieldProps<unknown, boolean>;
81
81
  FILE_PICKER: FilePickerProps;
82
82
  NUMBER_INPUT: NumberInputFieldProps;
83
83
  OBJECT_SET: ObjectSetFieldProps<ObjectTypeDefinition>;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ interface FormHeaderProps {
3
+ title: string;
4
+ }
5
+ export declare const FormHeader: React.FC<FormHeaderProps>;
6
+ export {};
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,OAAO,WAAqB,OAAQ;UAG1B,gBAAgB;CACxB;AACD;AAED,OAAO,cAAMA,YAAY,MAAM,GAAG","names":["FormHeader: React.FC<FormHeaderProps>"],"sources":["../../../src/action-form/FormHeader.tsx"],"version":3,"file":"FormHeader.d.ts"}
@@ -1 +1 @@
1
- {"mappings":"AAgBA,OAAO,WAAqB,OAAQ;AACpC,cAAc,+BAA+B,oBAAqB;AAMlE,iBAAiB,uBAAuB;CACtC,iBAAiB;CACjB;CACA,qBAAqBA;AACtB;AAED,OAAO,cAAMC,mBAAmB,MAAM,GAAG","names":["value: unknown","FormFieldRenderer: React.FC<FormFieldRendererProps>"],"sources":["../../../../src/action-form/fields/FormFieldRenderer.tsx"],"version":3,"file":"FormFieldRenderer.d.ts"}
1
+ {"mappings":"AAgBA,OAAO,WAAqB,OAAQ;AAEpC,cAAc,+BAA+B,oBAAqB;AAMlE,iBAAiB,uBAAuB;CACtC,iBAAiB;CACjB;CACA,qBAAqBA;AACtB;AAED,OAAO,cAAMC,mBAAmB,MAAM,GAAG","names":["value: unknown","FormFieldRenderer: React.FC<FormFieldRendererProps>"],"sources":["../../../../src/action-form/fields/FormFieldRenderer.tsx"],"version":3,"file":"FormFieldRenderer.d.ts"}
@@ -1 +1 @@
1
- {"mappings":"AAiBA,OAAO,WAAW,OAAQ;AAC1B,cAAc,2BAA2B,oBAAqB;AAE9D,OAAO,iBAAS,eAAe,EAC7B,IACA,OACA,UACA,aACA,WACA,WACsC,EAArC,sBAAsB;CAAE;AAAa,IAAG,MAAM","names":[],"sources":["../../../../src/action-form/fields/TextInputField.tsx"],"version":3,"file":"TextInputField.d.ts"}
1
+ {"mappings":"AAiBA,OAAO,WAAW,OAAQ;AAC1B,cAAc,2BAA2B,oBAAqB;AAG9D,OAAO,iBAAS,eAAe,EAC7B,IACA,OACA,UACA,aACA,WACA,WACsC,EAArC,sBAAsB;CAAE;AAAa,IAAG,MAAM","names":[],"sources":["../../../../src/action-form/fields/TextInputField.tsx"],"version":3,"file":"TextInputField.d.ts"}
@@ -9,7 +9,9 @@ interface FilterInputProps<Q extends ObjectTypeDefinition> {
9
9
  filterState: FilterState | undefined;
10
10
  onFilterStateChanged: (state: FilterState) => void;
11
11
  whereClause: WhereClause<Q>;
12
+ searchQuery?: string;
13
+ excludeRowOpen?: boolean;
12
14
  }
13
- declare function FilterInputInner<Q extends ObjectTypeDefinition>({ objectType, objectSet, definition, filterState, onFilterStateChanged, whereClause }: FilterInputProps<Q>): React.ReactElement;
15
+ declare function FilterInputInner<Q extends ObjectTypeDefinition>({ objectType, objectSet, definition, filterState, onFilterStateChanged, whereClause, searchQuery, excludeRowOpen }: FilterInputProps<Q>): React.ReactElement;
14
16
  export declare const FilterInput: typeof FilterInputInner;
15
17
  export {};
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAAc,WAAW,sBAAsB,mBAAmB,WAAY;AAC9E,OAAO,WAAkC,OAAQ;AAGjD,cAAc,6BAA6B,oBAAqB;AAChE,cAAc,mBAAmB,wBAAyB;UAIhD,iBAAiB,UAAU,sBAAsB;CACzD,YAAY;CACZ,WAAW,UAAU;CACrB,YAAY,sBAAsB;CAClC,aAAa;CACb,uBAAuBA,OAAO;CAC9B,aAAa,YAAY;AAC1B;AAED,iBAAS,iBAAiB,UAAU,sBAAsB,EACxD,YACA,WACA,YACA,aACA,sBACA,aACoB,EAAnB,iBAAiB,KAAK,MAAM;AAa/B,OAAO,cAAM,oBAA+C","names":["state: FilterState"],"sources":["../../../src/filter-list/FilterInput.tsx"],"version":3,"file":"FilterInput.d.ts"}
1
+ {"mappings":"AAgBA,cAAc,WAAW,sBAAsB,mBAAmB,WAAY;AAC9E,OAAO,WAAkC,OAAQ;AAGjD,cAAc,6BAA6B,oBAAqB;AAChE,cAAc,mBAAmB,wBAAyB;UAIhD,iBAAiB,UAAU,sBAAsB;CACzD,YAAY;CACZ,WAAW,UAAU;CACrB,YAAY,sBAAsB;CAClC,aAAa;CACb,uBAAuBA,OAAO;CAC9B,aAAa,YAAY;CACzB;CACA;AACD;AAED,iBAAS,iBAAiB,UAAU,sBAAsB,EACxD,YACA,WACA,YACA,aACA,sBACA,aACA,aACA,gBACoB,EAAnB,iBAAiB,KAAK,MAAM;AAe/B,OAAO,cAAM,oBAA+C","names":["state: FilterState"],"sources":["../../../src/filter-list/FilterInput.tsx"],"version":3,"file":"FilterInput.d.ts"}
@@ -74,14 +74,14 @@ export interface FilterListProps<Q extends ObjectTypeDefinition> {
74
74
  /**
75
75
  * Controls how filter visibility (add/remove) is managed.
76
76
  *
77
- * - `"controlled"` (default): The consumer manages which filters are
78
- * visible via `filterDefinitions`. Filters with `isVisible: false` are
79
- * excluded from the rendered list.
80
- * - `"uncontrolled"`: FilterList manages visibility internally. An "Add
81
- * filter" popover is rendered for filters with `isVisible: false`, and
82
- * each visible filter shows a remove button.
77
+ * - `"uncontrolled"` (default): FilterList manages visibility internally.
78
+ * An "Add filter" popover is rendered for filters with `isVisible: false`,
79
+ * and each visible filter shows a remove button.
80
+ * - `"controlled"`: The consumer manages which filters are visible via
81
+ * `filterDefinitions`. Filters with `isVisible: false` are excluded from
82
+ * the rendered list.
83
83
  *
84
- * @default "controlled"
84
+ * @default "uncontrolled"
85
85
  */
86
86
  addFilterMode?: "controlled" | "uncontrolled";
87
87
  /**
@@ -142,8 +142,11 @@ export interface FilterListProps<Q extends ObjectTypeDefinition> {
142
142
  className?: string;
143
143
  /**
144
144
  * Custom render function for the "Add filter" button.
145
- * Only used in controlled mode. In uncontrolled mode, the built-in
146
- * AddFilterPopover is rendered automatically.
145
+ *
146
+ * - In uncontrolled mode: customizes the trigger element for the built-in
147
+ * add-filter popover. The popover behavior is handled automatically.
148
+ * - In controlled mode: replaces the entire add-filter button area.
149
+ * The consumer is responsible for all add-filter behavior.
147
150
  */
148
151
  renderAddFilterButton?: () => React.ReactNode;
149
152
  }
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,WACA,WACA,sBACA,mBACK,WAAY;AACnB,YAAY,WAAW,OAAQ;AAC/B,cACE,eAAe,iBACf,gCACK,wBAAyB;AAChC,cAAc,8BAA8B,gCAAiC;AAC7E,cAAc,qCAAqC,+BAAgC;AACnF,cACE,yBACA,sCACK,8BAA+B;;;;AAKtC,YAAY,sBAAsB,UAAU,wBACxC,yBAAyB,KACzB,wBAAwB,KACxB,+BAA+B,GAAG,UAAU,MAC5C,8BAA8B,KAC9B,uBAAuB;;;;AAK3B,YAAY,UAAU,UAAU,wBAC9B,sBAAsB,iBAAiB,IAAI,UAAU;CAAE,WAAW;AAAG,IAAG,IACpE,UAAU;CAAE,gBAAgB;AAAG,IAAG;;;;AAOxC,YAAY,YAAY,UAAU,wBAChC,sBAAsB,iBAAiB,IACnC,UAAU;CAAE,mBAAmB;AAAG,IAAG;;;;;AAQ3C,YAAY,gBAAgB,UAAU,wBAAwB,IAC5D,sBAAsB,IACtB;AAGF,iBAAiB,gBAAgB,UAAU,sBAAsB;;;;CAI/D,WAAW,UAAU;;;;CAKrB;;;;CAKA,YAAY,MAAM;;;;;CAMlB,oBAAoB,MAAM,sBAAsB;;;;;CAMhD,eAAe,YAAY;;;;;;;;CAS3B,yBAAyBA,WAAW,YAAY;;;;;;CAOhD,iBAAiB,QAAQ;;;;;;;CAQzB,wBACEC,YAAY,sBAAsB,IAClCC,UAAU;;;;;;;;;;;;;CAeZ,gBAAgB,eAAe;;;;;;;;;;CAW/B,iBACEC,WAAW,UAAU,IACrBC,gBAAgB,MAAM,sBAAsB;;;;;;;;;CAW9C,mBAAmBD,WAAW,UAAU;;;;;;;CAQxC;;;;CAKA;;;;CAKA,qBAAqBE;;;;;;CAOrB,sBAAsB,YAAY;;;;CAKlC;;;;CAKA;;;;CAKA;;;;CAKA;;;;;;CAOA,8BAA8B,MAAM;AACrC","names":["newClause: WhereClause<Q>","definition: FilterDefinitionUnion<Q>","newState: FilterStateType","filterKey: FilterKey<Q>","newDefinitions: Array<FilterDefinitionUnion<Q>>","collapsed: boolean"],"sources":["../../../src/filter-list/FilterListApi.ts"],"version":3,"file":"FilterListApi.d.ts"}
1
+ {"mappings":"AAgBA,cACE,WACA,WACA,sBACA,mBACK,WAAY;AACnB,YAAY,WAAW,OAAQ;AAC/B,cACE,eAAe,iBACf,gCACK,wBAAyB;AAChC,cAAc,8BAA8B,gCAAiC;AAC7E,cAAc,qCAAqC,+BAAgC;AACnF,cACE,yBACA,sCACK,8BAA+B;;;;AAKtC,YAAY,sBAAsB,UAAU,wBACxC,yBAAyB,KACzB,wBAAwB,KACxB,+BAA+B,GAAG,UAAU,MAC5C,8BAA8B,KAC9B,uBAAuB;;;;AAK3B,YAAY,UAAU,UAAU,wBAC9B,sBAAsB,iBAAiB,IAAI,UAAU;CAAE,WAAW;AAAG,IAAG,IACpE,UAAU;CAAE,gBAAgB;AAAG,IAAG;;;;AAOxC,YAAY,YAAY,UAAU,wBAChC,sBAAsB,iBAAiB,IACnC,UAAU;CAAE,mBAAmB;AAAG,IAAG;;;;;AAQ3C,YAAY,gBAAgB,UAAU,wBAAwB,IAC5D,sBAAsB,IACtB;AAGF,iBAAiB,gBAAgB,UAAU,sBAAsB;;;;CAI/D,WAAW,UAAU;;;;CAKrB;;;;CAKA,YAAY,MAAM;;;;;CAMlB,oBAAoB,MAAM,sBAAsB;;;;;CAMhD,eAAe,YAAY;;;;;;;;CAS3B,yBAAyBA,WAAW,YAAY;;;;;;CAOhD,iBAAiB,QAAQ;;;;;;;CAQzB,wBACEC,YAAY,sBAAsB,IAClCC,UAAU;;;;;;;;;;;;;CAeZ,gBAAgB,eAAe;;;;;;;;;;CAW/B,iBACEC,WAAW,UAAU,IACrBC,gBAAgB,MAAM,sBAAsB;;;;;;;;;CAW9C,mBAAmBD,WAAW,UAAU;;;;;;;CAQxC;;;;CAKA;;;;CAKA,qBAAqBE;;;;;;CAOrB,sBAAsB,YAAY;;;;CAKlC;;;;CAKA;;;;CAKA;;;;CAKA;;;;;;;;;CAUA,8BAA8B,MAAM;AACrC","names":["newClause: WhereClause<Q>","definition: FilterDefinitionUnion<Q>","newState: FilterStateType","filterKey: FilterKey<Q>","newDefinitions: Array<FilterDefinitionUnion<Q>>","collapsed: boolean"],"sources":["../../../src/filter-list/FilterListApi.ts"],"version":3,"file":"FilterListApi.d.ts"}
@@ -6,7 +6,8 @@ interface HiddenFilterItem {
6
6
  interface AddFilterPopoverProps {
7
7
  hiddenDefinitions: Array<HiddenFilterItem>;
8
8
  onShowFilter: (key: string) => void;
9
+ renderTrigger?: () => React.ReactNode;
9
10
  }
10
- declare function AddFilterPopoverInner({ hiddenDefinitions, onShowFilter }: AddFilterPopoverProps): React.ReactElement;
11
+ declare function AddFilterPopoverInner({ hiddenDefinitions, onShowFilter, renderTrigger }: AddFilterPopoverProps): React.ReactElement;
11
12
  export declare const AddFilterPopover: React.MemoExoticComponent<typeof AddFilterPopoverInner>;
12
13
  export {};
@@ -1 +1 @@
1
- {"mappings":"AAiBA,OAAO,WAAkC,OAAQ;UAGvC,iBAAiB;CACzB;CACA;AACD;UAES,sBAAsB;CAC9B,mBAAmB,MAAM;CACzB,eAAeA;AAChB;AAED,iBAAS,sBAAsB,EAC7B,mBACA,cACsB,EAArB,wBAAwB,MAAM;AAoCjC,OAAO,cAAMC,kBAAkB,MAAM,2BAC5B","names":["key: string","AddFilterPopover: React.MemoExoticComponent<\n typeof AddFilterPopoverInner\n>"],"sources":["../../../../src/filter-list/base/AddFilterPopover.tsx"],"version":3,"file":"AddFilterPopover.d.ts"}
1
+ {"mappings":"AAiBA,OAAO,WAAkC,OAAQ;UAGvC,iBAAiB;CACzB;CACA;AACD;UAES,sBAAsB;CAC9B,mBAAmB,MAAM;CACzB,eAAeA;CACf,sBAAsB,MAAM;AAC7B;AAED,iBAAS,sBAAsB,EAC7B,mBACA,cACA,eACsB,EAArB,wBAAwB,MAAM;AAsCjC,OAAO,cAAMC,kBAAkB,MAAM,2BAC5B","names":["key: string","AddFilterPopover: React.MemoExoticComponent<\n typeof AddFilterPopoverInner\n>"],"sources":["../../../../src/filter-list/base/AddFilterPopover.tsx"],"version":3,"file":"AddFilterPopover.d.ts"}
@@ -5,6 +5,8 @@ export type RenderFilterInput<D> = (props: {
5
5
  filterKey: string
6
6
  filterState: FilterState | undefined
7
7
  onFilterStateChanged: (state: FilterState) => void
8
+ searchQuery?: string
9
+ excludeRowOpen?: boolean
8
10
  }) => React.ReactNode;
9
11
  export interface BaseFilterListProps<D> {
10
12
  filterDefinitions?: Array<D>;
@@ -1 +1 @@
1
- {"mappings":"AAgBA,YAAY,WAAW,OAAQ;AAC/B,cAAc,mBAAmB,yBAA0B;AAE3D,YAAY,kBAAkB,MAAMA,OAAO;CACzC,YAAY;CACZ;CACA,aAAa;CACb,uBAAuBC,OAAO;AAC/B,MAAK,MAAM;AAEZ,iBAAiB,oBAAoB,GAAG;CACtC,oBAAoB,MAAM;CAC1B,cAAc,YAAY;CAC1B,uBAAuBC,mBAAmBD,OAAO;CACjD,aAAa,kBAAkB;CAC/B,eAAeE,YAAY;CAC3B,iBAAiBA,YAAY;CAC7B;CACA;CACA;CACA,mBAAmBD;CAEnB;CACA,qBAAqBE;CACrB;CACA,YAAY,MAAM;CAClB;CACA;CACA;CACA;CACA,8BAA8B,MAAM;AACrC","names":["props: {\n definition: D;\n filterKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}","state: FilterState","filterKey: string","definition: D","collapsed: boolean"],"sources":["../../../../src/filter-list/base/BaseFilterListApi.ts"],"version":3,"file":"BaseFilterListApi.d.ts"}
1
+ {"mappings":"AAgBA,YAAY,WAAW,OAAQ;AAC/B,cAAc,mBAAmB,yBAA0B;AAE3D,YAAY,kBAAkB,MAAMA,OAAO;CACzC,YAAY;CACZ;CACA,aAAa;CACb,uBAAuBC,OAAO;CAC9B;CACA;AACD,MAAK,MAAM;AAEZ,iBAAiB,oBAAoB,GAAG;CACtC,oBAAoB,MAAM;CAC1B,cAAc,YAAY;CAC1B,uBAAuBC,mBAAmBD,OAAO;CACjD,aAAa,kBAAkB;CAC/B,eAAeE,YAAY;CAC3B,iBAAiBA,YAAY;CAC7B;CACA;CACA;CACA,mBAAmBD;CAEnB;CACA,qBAAqBE;CACrB;CACA,YAAY,MAAM;CAClB;CACA;CACA;CACA;CACA,8BAA8B,MAAM;AACrC","names":["props: {\n definition: D;\n filterKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n searchQuery?: string;\n excludeRowOpen?: boolean;\n}","state: FilterState","filterKey: string","definition: D","collapsed: boolean"],"sources":["../../../../src/filter-list/base/BaseFilterListApi.ts"],"version":3,"file":"BaseFilterListApi.d.ts"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ interface ExcludeDropdownProps {
3
+ isExcluding: boolean;
4
+ onToggleExclude: () => void;
5
+ }
6
+ declare function ExcludeDropdownInner({ isExcluding, onToggleExclude }: ExcludeDropdownProps): React.ReactElement;
7
+ export declare const ExcludeDropdown: React.MemoExoticComponent<typeof ExcludeDropdownInner>;
8
+ export {};
@@ -0,0 +1 @@
1
+ {"mappings":"AAiBA,OAAO,WAAkC,OAAQ;UAIvC,qBAAqB;CAC7B;CACA;AACD;AAED,iBAAS,qBAAqB,EAC5B,aACA,iBACqB,EAApB,uBAAuB,MAAM;AAwDhC,OAAO,cAAMA,iBAAiB,MAAM,2BAC3B","names":["ExcludeDropdown: React.MemoExoticComponent<\n typeof ExcludeDropdownInner\n>"],"sources":["../../../../src/filter-list/base/ExcludeDropdown.tsx"],"version":3,"file":"ExcludeDropdown.d.ts"}
@@ -1,6 +1,4 @@
1
1
  import React from "react";
2
- export declare function IncludeIcon(): React.ReactElement;
3
- export declare function ExcludeIcon(): React.ReactElement;
4
2
  export declare function RemoveIcon(): React.ReactElement;
5
3
  export declare function SearchIcon(): React.ReactElement;
6
4
  export declare function OverflowMenuIcon(): React.ReactElement;
@@ -1 +1 @@
1
- {"mappings":"AA0BA,OAAO,WAAW,OAAQ;AAE1B,OAAO,iBAAS,eAAe,MAAM;AAgBrC,OAAO,iBAAS,eAAe,MAAM;AAiBrC,OAAO,iBAAS,cAAc,MAAM;AAIpC,OAAO,iBAAS,cAAc,MAAM;AAIpC,OAAO,iBAAS,oBAAoB,MAAM;AAI1C,OAAO,iBAAS,mBAAmB,MAAM;AAIzC,OAAO,iBAAS,gBAAgB,MAAM;AAItC,OAAO,iBAAS,cAAc,MAAM;AAIpC,OAAO,iBAAS,aAAa,MAAM;AAInC,OAAO,iBAAS,aAAa,MAAM","names":[],"sources":["../../../../src/filter-list/base/FilterIcons.tsx"],"version":3,"file":"FilterIcons.d.ts"}
1
+ {"mappings":"AA0BA,OAAO,WAAW,OAAQ;AAE1B,OAAO,iBAAS,cAAc,MAAM;AAIpC,OAAO,iBAAS,cAAc,MAAM;AAIpC,OAAO,iBAAS,oBAAoB,MAAM;AAI1C,OAAO,iBAAS,mBAAmB,MAAM;AAIzC,OAAO,iBAAS,gBAAgB,MAAM;AAItC,OAAO,iBAAS,cAAc,MAAM;AAIpC,OAAO,iBAAS,aAAa,MAAM;AAInC,OAAO,iBAAS,aAAa,MAAM","names":[],"sources":["../../../../src/filter-list/base/FilterIcons.tsx"],"version":3,"file":"FilterIcons.d.ts"}
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import type { FilterState } from "../FilterListItemApi.js";
3
+ interface FilterInputExcludeRowProps {
4
+ excludeRowOpen?: boolean;
5
+ filterState: FilterState | undefined;
6
+ onFilterStateChanged: (state: FilterState) => void;
7
+ totalValueCount?: number;
8
+ children: React.ReactNode;
9
+ }
10
+ declare function FilterInputExcludeRowInner({ excludeRowOpen, filterState, onFilterStateChanged, totalValueCount, children }: FilterInputExcludeRowProps): React.ReactElement;
11
+ export declare const FilterInputExcludeRow: React.MemoExoticComponent<typeof FilterInputExcludeRowInner>;
12
+ export {};
@@ -0,0 +1 @@
1
+ {"mappings":"AAiBA,OAAO,WAAkC,OAAQ;AACjD,cAAc,mBAAmB,yBAA0B;UAKjD,2BAA2B;CACnC;CACA,aAAa;CACb,uBAAuBA,OAAO;CAC9B;CACA,UAAU,MAAM;AACjB;AAED,iBAAS,2BAA2B,EAClC,gBACA,aACA,sBACA,iBACA,UAC2B,EAA1B,6BAA6B,MAAM;AA2CtC,OAAO,cAAMC,uBAAuB,MAAM,2BACjC","names":["state: FilterState","FilterInputExcludeRow: React.MemoExoticComponent<\n typeof FilterInputExcludeRowInner\n>"],"sources":["../../../../src/filter-list/base/FilterInputExcludeRow.tsx"],"version":3,"file":"FilterInputExcludeRow.d.ts"}
@@ -1 +1 @@
1
- {"mappings":"AAiBA,cACE,qBACA,mCACK,eAAgB;AAEvB,OAAO,WAAkC,OAAQ;AAEjD,cAAc,mBAAmB,yBAA0B;AAE3D,cAAc,yBAAyB,wBAAyB;UAKtD,oBAAoB,GAAG;CAC/B,YAAY;CACZ;CACA;CACA,aAAa;CACb,uBACEA,mBACAC,OAAO;CAET,mBAAmBD;CACnB,aAAa,kBAAkB;CAC/B,uBAAuB;CACvB,sBAAsB;CACtB;CACA,QAAQ,MAAM;AACf;AAED,iBAAS,oBAAoB,GAAG,EAC9B,YACA,WACA,OACA,aACA,sBACA,iBACA,aACA,sBACA,qBACA,WACA,OACuB,EAAtB,oBAAoB,KAAK,MAAM;AAqFlC,OAAO,cAAM,uBAED","names":["filterKey: string","state: FilterState"],"sources":["../../../../src/filter-list/base/FilterListItem.tsx"],"version":3,"file":"FilterListItem.d.ts"}
1
+ {"mappings":"AAkBA,cACE,qBACA,mCACK,eAAgB;AAEvB,OAAO,WAA4C,OAAQ;AAE3D,cAAc,mBAAmB,yBAA0B;AAE3D,cAAc,yBAAyB,wBAAyB;UAKtD,oBAAoB,GAAG;CAC/B,YAAY;CACZ;CACA;CACA,aAAa;CACb,uBACEA,mBACAC,OAAO;CAET,mBAAmBD;CACnB,aAAa,kBAAkB;CAC/B,uBAAuB;CACvB,sBAAsB;CACtB;CACA,QAAQ,MAAM;AACf;AAED,iBAAS,oBAAoB,GAAG,EAC9B,YACA,WACA,OACA,aACA,sBACA,iBACA,aACA,sBACA,qBACA,WACA,OACuB,EAAtB,oBAAoB,KAAK,MAAM;AA4IlC,OAAO,cAAM,uBAED","names":["filterKey: string","state: FilterState"],"sources":["../../../../src/filter-list/base/FilterListItem.tsx"],"version":3,"file":"FilterListItem.d.ts"}
@@ -0,0 +1 @@
1
+ export declare function useStableData<T>(data: T, isLoading: boolean): T;
@@ -0,0 +1 @@
1
+ {"mappings":"AAqBA,OAAO,iBAAS,cAAc,GAAGA,MAAM,GAAGC,qBAAqB","names":["data: T","isLoading: boolean"],"sources":["../../../../../src/filter-list/base/inputs/useStableData.ts"],"version":3,"file":"useStableData.d.ts"}
@@ -1,4 +1,4 @@
1
- import type { ObjectTypeDefinition, PropertyKeys, WhereClause } from "@osdk/api";
1
+ import type { ObjectSet, ObjectTypeDefinition, PropertyKeys, WhereClause } from "@osdk/api";
2
2
  export type { PropertyAggregationValue } from "../types/AggregationTypes.js";
3
3
  import type { PropertyAggregationValue } from "../types/AggregationTypes.js";
4
4
  export interface UsePropertyAggregationResult {
@@ -14,4 +14,4 @@ export interface UsePropertyAggregationOptions<Q extends ObjectTypeDefinition =
14
14
  export declare function usePropertyAggregation<
15
15
  Q extends ObjectTypeDefinition,
16
16
  K extends PropertyKeys<Q>
17
- >(objectType: Q, propertyKey: K, options?: UsePropertyAggregationOptions<Q>): UsePropertyAggregationResult;
17
+ >(objectType: Q, propertyKey: K, objectSet: ObjectSet<Q>, options?: UsePropertyAggregationOptions<Q>): UsePropertyAggregationResult;
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAEE,sBACA,cACA,mBACK,WAAY;AAKnB,cAAc,gCAAgC;AAE9C,cAAc,gCAAgC,8BAA+B;AAE7E,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"}
1
+ {"mappings":"AAgBA,cAEE,WACA,sBACA,cACA,mBACK,WAAY;AAKnB,cAAc,gCAAgC;AAE9C,cAAc,gCAAgC,8BAA+B;AAE7E,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,WAAW,UAAU,IACrBC,UAAU,8BAA8B,KACvC","names":["objectType: Q","propertyKey: K","objectSet: ObjectSet<Q>","options?: UsePropertyAggregationOptions<Q>"],"sources":["../../../../src/filter-list/hooks/usePropertyAggregation.ts"],"version":3,"file":"usePropertyAggregation.d.ts"}
@@ -1,14 +1,17 @@
1
- import type { ObjectTypeDefinition, WhereClause } from "@osdk/api";
1
+ import type { ObjectSet, ObjectTypeDefinition, WhereClause } from "@osdk/api";
2
2
  import React from "react";
3
3
  import type { FilterState } from "../FilterListItemApi.js";
4
4
  interface CheckboxListFilterInputProps<Q extends ObjectTypeDefinition> {
5
5
  objectType: Q;
6
+ objectSet: ObjectSet<Q>;
6
7
  propertyKey: string;
7
8
  filterState: FilterState | undefined;
8
9
  onFilterStateChanged: (state: FilterState) => void;
9
10
  whereClause: WhereClause<Q>;
10
11
  colorMap?: Record<string, string>;
12
+ searchQuery?: string;
13
+ excludeRowOpen?: boolean;
11
14
  }
12
- declare function CheckboxListFilterInputInner<Q extends ObjectTypeDefinition>({ objectType, propertyKey, filterState, onFilterStateChanged, whereClause, colorMap }: CheckboxListFilterInputProps<Q>): React.ReactElement;
15
+ declare function CheckboxListFilterInputInner<Q extends ObjectTypeDefinition>({ objectType, objectSet, propertyKey, filterState, onFilterStateChanged, whereClause, colorMap, searchQuery, excludeRowOpen }: CheckboxListFilterInputProps<Q>): React.ReactElement;
13
16
  export declare const CheckboxListFilterInput: typeof CheckboxListFilterInputInner;
14
17
  export {};
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,sBAEA,mBACK,WAAY;AACnB,OAAO,WAA2C,OAAQ;AAE1D,cAAc,mBAAmB,yBAA0B;UAIjD,6BAA6B,UAAU,sBAAsB;CACrE,YAAY;CACZ;CACA,aAAa;CACb,uBAAuBA,OAAO;CAC9B,aAAa,YAAY;CACzB,WAAW;AACZ;AAED,iBAAS,6BAA6B,UAAU,sBAAsB,EACpE,YACA,aACA,aACA,sBACA,aACA,UACgC,EAA/B,6BAA6B,KAAK,MAAM;AA4C3C,OAAO,cAAMC,gCAAgC","names":["state: FilterState","CheckboxListFilterInput: typeof CheckboxListFilterInputInner"],"sources":["../../../../src/filter-list/inputs/CheckboxListFilterInput.tsx"],"version":3,"file":"CheckboxListFilterInput.d.ts"}
1
+ {"mappings":"AAgBA,cACE,WACA,sBAEA,mBACK,WAAY;AACnB,OAAO,WAA2C,OAAQ;AAG1D,cAAc,mBAAmB,yBAA0B;UAIjD,6BAA6B,UAAU,sBAAsB;CACrE,YAAY;CACZ,WAAW,UAAU;CACrB;CACA,aAAa;CACb,uBAAuBA,OAAO;CAC9B,aAAa,YAAY;CACzB,WAAW;CACX;CACA;AACD;AAED,iBAAS,6BAA6B,UAAU,sBAAsB,EACpE,YACA,WACA,aACA,aACA,sBACA,aACA,UACA,aACA,gBACgC,EAA/B,6BAA6B,KAAK,MAAM;AAqD3C,OAAO,cAAMC,gCAAgC","names":["state: FilterState","CheckboxListFilterInput: typeof CheckboxListFilterInputInner"],"sources":["../../../../src/filter-list/inputs/CheckboxListFilterInput.tsx"],"version":3,"file":"CheckboxListFilterInput.d.ts"}
@@ -1,12 +1,13 @@
1
- import type { ObjectTypeDefinition } from "@osdk/api";
1
+ import type { ObjectSet, ObjectTypeDefinition } from "@osdk/api";
2
2
  import React from "react";
3
3
  import type { FilterState } from "../FilterListItemApi.js";
4
4
  interface DateRangeFilterInputProps<Q extends ObjectTypeDefinition> {
5
5
  objectType: Q;
6
+ objectSet: ObjectSet<Q>;
6
7
  propertyKey: string;
7
8
  filterState: FilterState | undefined;
8
9
  onFilterStateChanged: (state: FilterState) => void;
9
10
  }
10
- declare function DateRangeFilterInputInner<Q extends ObjectTypeDefinition>({ objectType, propertyKey, filterState, onFilterStateChanged }: DateRangeFilterInputProps<Q>): React.ReactElement;
11
+ declare function DateRangeFilterInputInner<Q extends ObjectTypeDefinition>({ objectType, objectSet, propertyKey, filterState, onFilterStateChanged }: DateRangeFilterInputProps<Q>): React.ReactElement;
11
12
  export declare const DateRangeFilterInput: typeof DateRangeFilterInputInner;
12
13
  export {};
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAAc,4BAA4B,WAAY;AAEtD,OAAO,WAA2C,OAAQ;AAG1D,cAAc,mBAAmB,yBAA0B;UAOjD,0BAA0B,UAAU,sBAAsB;CAClE,YAAY;CACZ;CACA,aAAa;CACb,uBAAuBA,OAAO;AAC/B;AAED,iBAAS,0BAA0B,UAAU,sBAAsB,EACjE,YACA,aACA,aACA,sBAC6B,EAA5B,0BAA0B,KAAK,MAAM;AAuHxC,OAAO,cAAMC,6BAA6B","names":["state: FilterState","DateRangeFilterInput: typeof DateRangeFilterInputInner"],"sources":["../../../../src/filter-list/inputs/DateRangeFilterInput.tsx"],"version":3,"file":"DateRangeFilterInput.d.ts"}
1
+ {"mappings":"AAgBA,cAAc,WAAW,4BAA4B,WAAY;AAEjE,OAAO,WAA2C,OAAQ;AAG1D,cAAc,mBAAmB,yBAA0B;UAOjD,0BAA0B,UAAU,sBAAsB;CAClE,YAAY;CACZ,WAAW,UAAU;CACrB;CACA,aAAa;CACb,uBAAuBA,OAAO;AAC/B;AAED,iBAAS,0BAA0B,UAAU,sBAAsB,EACjE,YACA,WACA,aACA,aACA,sBAC6B,EAA5B,0BAA0B,KAAK,MAAM;AA6HxC,OAAO,cAAMC,6BAA6B","names":["state: FilterState","DateRangeFilterInput: typeof DateRangeFilterInputInner"],"sources":["../../../../src/filter-list/inputs/DateRangeFilterInput.tsx"],"version":3,"file":"DateRangeFilterInput.d.ts"}
@@ -10,12 +10,13 @@ interface LinkedPropertyInputProps<
10
10
  definition: LinkedPropertyFilterDefinition<Q, L, ObjectTypeDefinition, PropertyKeys<ObjectTypeDefinition>>;
11
11
  filterState: FilterState | undefined;
12
12
  onFilterStateChanged: (state: FilterState) => void;
13
+ searchQuery?: string;
13
14
  className?: string;
14
15
  style?: React.CSSProperties;
15
16
  }
16
17
  declare function LinkedPropertyInputInner<
17
18
  Q extends ObjectTypeDefinition,
18
19
  L extends LinkNames<Q>
19
- >({ objectSet, definition, filterState, onFilterStateChanged, className, style }: LinkedPropertyInputProps<Q, L>): React.ReactElement;
20
+ >({ objectSet, definition, filterState, onFilterStateChanged, searchQuery, className, style }: LinkedPropertyInputProps<Q, L>): React.ReactElement;
20
21
  export declare const LinkedPropertyInput: typeof LinkedPropertyInputInner;
21
22
  export {};
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,WACA,WACA,sBACA,oBACK,WAAY;AAGnB,OAAO,WAA2C,OAAQ;AAgB1D,cAAc,mBAAmB,yBAA0B;AAE3D,cAAc,sCAAsC,+BAAgC;UAW1E;CACR,UAAU;CACV,UAAU,UAAU;EACpB;CACA,WAAW,UAAU;CACrB,YAAY,+BACV,GACA,GACA,sBACA,aAAa;CAEf,aAAa;CACb,uBAAuBA,OAAO;CAC9B;CACA,QAAQ,MAAM;AACf;AAED,iBAAS;CACP,UAAU;CACV,UAAU,UAAU;EACpB,EACA,WACA,YACA,aACA,sBACA,WACA,OAC+B,EAA9B,yBAAyB,GAAG,KAAK,MAAM;AA+U1C,OAAO,cAAMC,4BAA4B","names":["state: FilterState","LinkedPropertyInput: typeof LinkedPropertyInputInner"],"sources":["../../../../src/filter-list/inputs/LinkedPropertyInput.tsx"],"version":3,"file":"LinkedPropertyInput.d.ts"}
1
+ {"mappings":"AAgBA,cACE,WACA,WACA,sBACA,oBACK,WAAY;AAGnB,OAAO,WAA2C,OAAQ;AAgB1D,cAAc,mBAAmB,yBAA0B;AAE3D,cAAc,sCAAsC,+BAAgC;UAW1E;CACR,UAAU;CACV,UAAU,UAAU;EACpB;CACA,WAAW,UAAU;CACrB,YAAY,+BACV,GACA,GACA,sBACA,aAAa;CAEf,aAAa;CACb,uBAAuBA,OAAO;CAC9B;CACA;CACA,QAAQ,MAAM;AACf;AAED,iBAAS;CACP,UAAU;CACV,UAAU,UAAU;EACpB,EACA,WACA,YACA,aACA,sBACA,aACA,WACA,OAC+B,EAA9B,yBAAyB,GAAG,KAAK,MAAM;AAwV1C,OAAO,cAAMC,4BAA4B","names":["state: FilterState","LinkedPropertyInput: typeof LinkedPropertyInputInner"],"sources":["../../../../src/filter-list/inputs/LinkedPropertyInput.tsx"],"version":3,"file":"LinkedPropertyInput.d.ts"}
@@ -1,8 +1,9 @@
1
- import type { ObjectTypeDefinition, WhereClause } from "@osdk/api";
1
+ import type { ObjectSet, ObjectTypeDefinition, WhereClause } from "@osdk/api";
2
2
  import React from "react";
3
3
  import type { FilterState } from "../FilterListItemApi.js";
4
4
  interface ListogramFilterInputProps<Q extends ObjectTypeDefinition> {
5
5
  objectType: Q;
6
+ objectSet: ObjectSet<Q>;
6
7
  propertyKey: string;
7
8
  filterState: FilterState | undefined;
8
9
  onFilterStateChanged: (state: FilterState) => void;
@@ -10,7 +11,9 @@ interface ListogramFilterInputProps<Q extends ObjectTypeDefinition> {
10
11
  colorMap?: Record<string, string>;
11
12
  displayMode?: "full" | "count" | "minimal";
12
13
  maxVisibleItems?: number;
14
+ searchQuery?: string;
15
+ excludeRowOpen?: boolean;
13
16
  }
14
- declare function ListogramFilterInputInner<Q extends ObjectTypeDefinition>({ objectType, propertyKey, filterState, onFilterStateChanged, whereClause, colorMap, displayMode, maxVisibleItems }: ListogramFilterInputProps<Q>): React.ReactElement;
17
+ declare function ListogramFilterInputInner<Q extends ObjectTypeDefinition>({ objectType, objectSet, propertyKey, filterState, onFilterStateChanged, whereClause, colorMap, displayMode, maxVisibleItems, searchQuery, excludeRowOpen }: ListogramFilterInputProps<Q>): React.ReactElement;
15
18
  export declare const ListogramFilterInput: typeof ListogramFilterInputInner;
16
19
  export {};
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,sBAEA,mBACK,WAAY;AACnB,OAAO,WAA2C,OAAQ;AAE1D,cAAc,mBAAmB,yBAA0B;UAIjD,0BAA0B,UAAU,sBAAsB;CAClE,YAAY;CACZ;CACA,aAAa;CACb,uBAAuBA,OAAO;CAC9B,aAAa,YAAY;CACzB,WAAW;CACX,cAAc,SAAS,UAAU;CACjC;AACD;AAED,iBAAS,0BAA0B,UAAU,sBAAsB,EACjE,YACA,aACA,aACA,sBACA,aACA,UACA,aACA,iBAC6B,EAA5B,0BAA0B,KAAK,MAAM;AA+CxC,OAAO,cAAMC,6BAA6B","names":["state: FilterState","ListogramFilterInput: typeof ListogramFilterInputInner"],"sources":["../../../../src/filter-list/inputs/ListogramFilterInput.tsx"],"version":3,"file":"ListogramFilterInput.d.ts"}
1
+ {"mappings":"AAgBA,cACE,WACA,sBAEA,mBACK,WAAY;AACnB,OAAO,WAA2C,OAAQ;AAG1D,cAAc,mBAAmB,yBAA0B;UAIjD,0BAA0B,UAAU,sBAAsB;CAClE,YAAY;CACZ,WAAW,UAAU;CACrB;CACA,aAAa;CACb,uBAAuBA,OAAO;CAC9B,aAAa,YAAY;CACzB,WAAW;CACX,cAAc,SAAS,UAAU;CACjC;CACA;CACA;AACD;AAED,iBAAS,0BAA0B,UAAU,sBAAsB,EACjE,YACA,WACA,aACA,aACA,sBACA,aACA,UACA,aACA,iBACA,aACA,gBAC6B,EAA5B,0BAA0B,KAAK,MAAM;AAwDxC,OAAO,cAAMC,6BAA6B","names":["state: FilterState","ListogramFilterInput: typeof ListogramFilterInputInner"],"sources":["../../../../src/filter-list/inputs/ListogramFilterInput.tsx"],"version":3,"file":"ListogramFilterInput.d.ts"}
@@ -1,13 +1,15 @@
1
- import type { ObjectTypeDefinition, WhereClause } from "@osdk/api";
1
+ import type { ObjectSet, ObjectTypeDefinition, WhereClause } from "@osdk/api";
2
2
  import React from "react";
3
3
  import type { FilterState } from "../FilterListItemApi.js";
4
4
  interface MultiSelectFilterInputProps<Q extends ObjectTypeDefinition> {
5
5
  objectType: Q;
6
+ objectSet: ObjectSet<Q>;
6
7
  propertyKey: string;
7
8
  filterState: FilterState | undefined;
8
9
  onFilterStateChanged: (state: FilterState) => void;
9
10
  whereClause: WhereClause<Q>;
11
+ excludeRowOpen?: boolean;
10
12
  }
11
- declare function MultiSelectFilterInputInner<Q extends ObjectTypeDefinition>({ objectType, propertyKey, filterState, onFilterStateChanged, whereClause }: MultiSelectFilterInputProps<Q>): React.ReactElement;
13
+ declare function MultiSelectFilterInputInner<Q extends ObjectTypeDefinition>({ objectType, objectSet, propertyKey, filterState, onFilterStateChanged, whereClause, excludeRowOpen }: MultiSelectFilterInputProps<Q>): React.ReactElement;
12
14
  export declare const MultiSelectFilterInput: typeof MultiSelectFilterInputInner;
13
15
  export {};
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,sBAEA,mBACK,WAAY;AACnB,OAAO,WAA2C,OAAQ;AAE1D,cAAc,mBAAmB,yBAA0B;UAIjD,4BAA4B,UAAU,sBAAsB;CACpE,YAAY;CACZ;CACA,aAAa;CACb,uBAAuBA,OAAO;CAC9B,aAAa,YAAY;AAC1B;AAED,iBAAS,4BAA4B,UAAU,sBAAsB,EACnE,YACA,aACA,aACA,sBACA,aAC+B,EAA9B,4BAA4B,KAAK,MAAM;AA4C1C,OAAO,cAAMC,+BAA+B","names":["state: FilterState","MultiSelectFilterInput: typeof MultiSelectFilterInputInner"],"sources":["../../../../src/filter-list/inputs/MultiSelectFilterInput.tsx"],"version":3,"file":"MultiSelectFilterInput.d.ts"}
1
+ {"mappings":"AAgBA,cACE,WACA,sBAEA,mBACK,WAAY;AACnB,OAAO,WAA2C,OAAQ;AAG1D,cAAc,mBAAmB,yBAA0B;UAIjD,4BAA4B,UAAU,sBAAsB;CACpE,YAAY;CACZ,WAAW,UAAU;CACrB;CACA,aAAa;CACb,uBAAuBA,OAAO;CAC9B,aAAa,YAAY;CACzB;AACD;AAED,iBAAS,4BAA4B,UAAU,sBAAsB,EACnE,YACA,WACA,aACA,aACA,sBACA,aACA,gBAC+B,EAA9B,4BAA4B,KAAK,MAAM;AAoD1C,OAAO,cAAMC,+BAA+B","names":["state: FilterState","MultiSelectFilterInput: typeof MultiSelectFilterInputInner"],"sources":["../../../../src/filter-list/inputs/MultiSelectFilterInput.tsx"],"version":3,"file":"MultiSelectFilterInput.d.ts"}
@@ -1,12 +1,13 @@
1
- import type { ObjectTypeDefinition } from "@osdk/api";
1
+ import type { ObjectSet, ObjectTypeDefinition } from "@osdk/api";
2
2
  import React from "react";
3
3
  import type { FilterState } from "../FilterListItemApi.js";
4
4
  interface NumberRangeFilterInputProps<Q extends ObjectTypeDefinition> {
5
5
  objectType: Q;
6
+ objectSet: ObjectSet<Q>;
6
7
  propertyKey: string;
7
8
  filterState: FilterState | undefined;
8
9
  onFilterStateChanged: (state: FilterState) => void;
9
10
  }
10
- declare function NumberRangeFilterInputInner<Q extends ObjectTypeDefinition>({ objectType, propertyKey, filterState, onFilterStateChanged }: NumberRangeFilterInputProps<Q>): React.ReactElement;
11
+ declare function NumberRangeFilterInputInner<Q extends ObjectTypeDefinition>({ objectType, objectSet, propertyKey, filterState, onFilterStateChanged }: NumberRangeFilterInputProps<Q>): React.ReactElement;
11
12
  export declare const NumberRangeFilterInput: typeof NumberRangeFilterInputInner;
12
13
  export {};
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAAc,4BAA4B,WAAY;AAEtD,OAAO,WAA2C,OAAQ;AAG1D,cAAc,mBAAmB,yBAA0B;UAOjD,4BAA4B,UAAU,sBAAsB;CACpE,YAAY;CACZ;CACA,aAAa;CACb,uBAAuBA,OAAO;AAC/B;AAED,iBAAS,4BAA4B,UAAU,sBAAsB,EACnE,YACA,aACA,aACA,sBAC+B,EAA9B,4BAA4B,KAAK,MAAM;AA2H1C,OAAO,cAAMC,+BAA+B","names":["state: FilterState","NumberRangeFilterInput: typeof NumberRangeFilterInputInner"],"sources":["../../../../src/filter-list/inputs/NumberRangeFilterInput.tsx"],"version":3,"file":"NumberRangeFilterInput.d.ts"}
1
+ {"mappings":"AAgBA,cAAc,WAAW,4BAA4B,WAAY;AAEjE,OAAO,WAA2C,OAAQ;AAG1D,cAAc,mBAAmB,yBAA0B;UAOjD,4BAA4B,UAAU,sBAAsB;CACpE,YAAY;CACZ,WAAW,UAAU;CACrB;CACA,aAAa;CACb,uBAAuBA,OAAO;AAC/B;AAED,iBAAS,4BAA4B,UAAU,sBAAsB,EACnE,YACA,WACA,aACA,aACA,sBAC+B,EAA9B,4BAA4B,KAAK,MAAM;AAiI1C,OAAO,cAAMC,+BAA+B","names":["state: FilterState","NumberRangeFilterInput: typeof NumberRangeFilterInputInner"],"sources":["../../../../src/filter-list/inputs/NumberRangeFilterInput.tsx"],"version":3,"file":"NumberRangeFilterInput.d.ts"}
@@ -11,7 +11,9 @@ interface PropertyFilterInputProps<Q extends ObjectTypeDefinition> {
11
11
  filterState: FilterState | undefined;
12
12
  onFilterStateChanged: (state: FilterState) => void;
13
13
  whereClause: WhereClause<Q>;
14
+ searchQuery?: string;
15
+ excludeRowOpen?: boolean;
14
16
  }
15
- declare function PropertyFilterInputInner<Q extends ObjectTypeDefinition>({ objectType, definition, filterState, onFilterStateChanged, whereClause }: PropertyFilterInputProps<Q>): React.ReactElement;
17
+ declare function PropertyFilterInputInner<Q extends ObjectTypeDefinition>({ objectType, objectSet, definition, filterState, onFilterStateChanged, whereClause, searchQuery, excludeRowOpen }: PropertyFilterInputProps<Q>): React.ReactElement;
16
18
  export declare const PropertyFilterInput: typeof PropertyFilterInputInner;
17
19
  export {};