@vuu-ui/vuu-filters 2.1.18 → 2.1.19-beta.2

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 (398) hide show
  1. package/package.json +15 -18
  2. package/src/FilterAggregator.js +107 -0
  3. package/src/FilterModel.js +161 -0
  4. package/src/column-filter/ColumnFilter.css.js +52 -0
  5. package/src/column-filter/ColumnFilter.js +59 -0
  6. package/src/column-filter/useColumnFilter.js +130 -0
  7. package/src/column-filter/utils.js +35 -0
  8. package/src/custom-filters/CustomFilters.js +74 -0
  9. package/src/custom-filters/filterBarFocusManagement.js +25 -0
  10. package/src/custom-filters/index.js +1 -0
  11. package/src/custom-filters/useCustomFilters.js +237 -0
  12. package/src/custom-filters/useFilterState.js +123 -0
  13. package/src/filter-bar/FilterBar.css.js +81 -0
  14. package/src/filter-bar/FilterBar.js +97 -0
  15. package/src/filter-bar/FilterBarMenu.js +14 -0
  16. package/src/filter-bar/index.js +1 -0
  17. package/src/filter-bar/useFilterBar.js +28 -0
  18. package/src/filter-clause/ExpandoCombobox.css.js +54 -0
  19. package/src/filter-clause/ExpandoCombobox.js +86 -0
  20. package/src/filter-clause/FilterClause.css.js +101 -0
  21. package/src/filter-clause/FilterClause.js +69 -0
  22. package/src/filter-clause/column-picker/ColumnPicker.js +25 -0
  23. package/src/filter-clause/column-picker/useColumnPicker.js +42 -0
  24. package/src/filter-clause/filterClauseFocusManagement.js +156 -0
  25. package/src/filter-clause/filterClauseTypes.js +0 -0
  26. package/src/filter-clause/index.js +5 -0
  27. package/src/filter-clause/operator-picker/OperatorPicker.js +25 -0
  28. package/src/filter-clause/operator-picker/operator-utils.js +23 -0
  29. package/src/filter-clause/operator-picker/useOperatorPicker.js +42 -0
  30. package/src/filter-clause/useFilterClause.js +135 -0
  31. package/src/filter-clause/value-editors/FilterClauseValueEditor.js +59 -0
  32. package/src/filter-clause/value-editors/FilterClauseValueEditorDate.js +55 -0
  33. package/src/filter-clause/value-editors/FilterClauseValueEditorNumber.js +32 -0
  34. package/src/filter-clause/value-editors/FilterClauseValueEditorText.js +182 -0
  35. package/src/filter-clause/value-editors/FilterClauseValueEditorTime.js +53 -0
  36. package/src/filter-container/ExtendedSingleValueFilterClause.js +35 -0
  37. package/src/filter-container/FilterContainer.css.js +13 -0
  38. package/src/filter-container/FilterContainer.js +121 -0
  39. package/src/filter-container/useFilterContainer.js +82 -0
  40. package/src/filter-context-menu/useFilterContextMenu.js +106 -0
  41. package/src/filter-display/FilterDisplay.css.js +31 -0
  42. package/src/filter-display/FilterDisplay.js +59 -0
  43. package/src/filter-editor/FilterClauseCombinator.css.js +15 -0
  44. package/src/filter-editor/FilterClauseCombinator.js +32 -0
  45. package/src/filter-editor/FilterEditor.css.js +13 -0
  46. package/src/filter-editor/FilterEditor.js +65 -0
  47. package/src/filter-editor/index.js +1 -0
  48. package/src/filter-editor/useFilterEditor.js +193 -0
  49. package/src/filter-panel/FilterPanel.css.js +22 -0
  50. package/src/filter-panel/FilterPanel.js +59 -0
  51. package/src/filter-panel/useFilterPanel.js +58 -0
  52. package/src/filter-pill/FilterMenu.js +48 -0
  53. package/src/filter-pill/FilterPill.css.js +15 -0
  54. package/src/filter-pill/FilterPill.js +114 -0
  55. package/src/filter-pill/FilterPillNext.css.js +12 -0
  56. package/src/filter-pill/FilterPillNext.js +65 -0
  57. package/src/filter-pill/filterAsReactNode.js +28 -0
  58. package/src/filter-pill/getFilterLabel.js +11 -0
  59. package/src/filter-pill/getFilterTooltipText.js +32 -0
  60. package/src/filter-pill/index.js +1 -0
  61. package/src/filter-pill/useFilterPillNext.js +53 -0
  62. package/src/filter-pill-menu/FilterPillMenu.css.js +8 -0
  63. package/src/filter-pill-menu/FilterPillMenu.js +46 -0
  64. package/src/filter-pill-menu/FilterPillMenuOptions.js +26 -0
  65. package/src/filter-pill-menu/index.js +1 -0
  66. package/src/filter-provider/FilterContext.js +71 -0
  67. package/src/filter-provider/FilterProvider.js +188 -0
  68. package/src/filter-provider/filter-descriptor-utils.js +41 -0
  69. package/src/filter-toggle-button/FilterToggleButton.css.js +22 -0
  70. package/src/filter-toggle-button/FilterToggleButton.js +103 -0
  71. package/src/filter-utils.js +300 -0
  72. package/src/index.js +21 -0
  73. package/src/inline-filter/InlineFilter.css.js +89 -0
  74. package/src/inline-filter/InlineFilter.js +56 -0
  75. package/src/inline-filter/index.js +1 -0
  76. package/src/inline-filter/useInlineFilter.js +11 -0
  77. package/src/quick-filters/QuickFilters.css.js +39 -0
  78. package/src/quick-filters/QuickFilters.js +81 -0
  79. package/src/quick-filters/index.js +1 -0
  80. package/src/quick-filters/useQuickFilters.js +108 -0
  81. package/src/saved-filters/DeleteFilterPrompt.js +23 -0
  82. package/src/saved-filters/FilterNamePrompt.css.js +19 -0
  83. package/src/saved-filters/FilterNamePrompt.js +74 -0
  84. package/src/saved-filters/SavedFilterPanel.css.js +21 -0
  85. package/src/saved-filters/SavedFilterPanel.js +53 -0
  86. package/src/saved-filters/useFilterNamePrompt.js +74 -0
  87. package/src/saved-filters/useSavedFilterPanel.js +19 -0
  88. package/src/tabbed-filter-container/TabbedFilterContainer.js +61 -0
  89. package/src/toggle-filter/ToggleFilter.css.js +10 -0
  90. package/src/toggle-filter/ToggleFilter.js +68 -0
  91. package/src/toggle-filter/useToggleFilter.js +57 -0
  92. package/types/filter-clause/column-picker/ColumnPicker.d.ts +1 -1
  93. package/types/filter-clause/operator-picker/OperatorPicker.d.ts +1 -1
  94. package/types/filter-clause/value-editors/FilterClauseValueEditor.d.ts +1 -1
  95. package/cjs/FilterAggregator.js +0 -162
  96. package/cjs/FilterAggregator.js.map +0 -1
  97. package/cjs/FilterModel.js +0 -227
  98. package/cjs/FilterModel.js.map +0 -1
  99. package/cjs/column-filter/ColumnFilter.css.js +0 -6
  100. package/cjs/column-filter/ColumnFilter.css.js.map +0 -1
  101. package/cjs/column-filter/ColumnFilter.js +0 -83
  102. package/cjs/column-filter/ColumnFilter.js.map +0 -1
  103. package/cjs/column-filter/useColumnFilter.js +0 -139
  104. package/cjs/column-filter/useColumnFilter.js.map +0 -1
  105. package/cjs/custom-filters/CustomFilters.js +0 -99
  106. package/cjs/custom-filters/CustomFilters.js.map +0 -1
  107. package/cjs/custom-filters/filterBarFocusManagement.js +0 -35
  108. package/cjs/custom-filters/filterBarFocusManagement.js.map +0 -1
  109. package/cjs/custom-filters/useCustomFilters.js +0 -266
  110. package/cjs/custom-filters/useCustomFilters.js.map +0 -1
  111. package/cjs/custom-filters/useFilterState.js +0 -149
  112. package/cjs/custom-filters/useFilterState.js.map +0 -1
  113. package/cjs/filter-bar/FilterBar.css.js +0 -6
  114. package/cjs/filter-bar/FilterBar.css.js.map +0 -1
  115. package/cjs/filter-bar/FilterBar.js +0 -123
  116. package/cjs/filter-bar/FilterBar.js.map +0 -1
  117. package/cjs/filter-bar/useFilterBar.js +0 -37
  118. package/cjs/filter-bar/useFilterBar.js.map +0 -1
  119. package/cjs/filter-clause/ExpandoCombobox.css.js +0 -6
  120. package/cjs/filter-clause/ExpandoCombobox.css.js.map +0 -1
  121. package/cjs/filter-clause/ExpandoCombobox.js +0 -114
  122. package/cjs/filter-clause/ExpandoCombobox.js.map +0 -1
  123. package/cjs/filter-clause/FilterClause.css.js +0 -6
  124. package/cjs/filter-clause/FilterClause.css.js.map +0 -1
  125. package/cjs/filter-clause/FilterClause.js +0 -102
  126. package/cjs/filter-clause/FilterClause.js.map +0 -1
  127. package/cjs/filter-clause/column-picker/ColumnPicker.js +0 -39
  128. package/cjs/filter-clause/column-picker/ColumnPicker.js.map +0 -1
  129. package/cjs/filter-clause/column-picker/useColumnPicker.js +0 -61
  130. package/cjs/filter-clause/column-picker/useColumnPicker.js.map +0 -1
  131. package/cjs/filter-clause/filterClauseFocusManagement.js +0 -204
  132. package/cjs/filter-clause/filterClauseFocusManagement.js.map +0 -1
  133. package/cjs/filter-clause/operator-picker/OperatorPicker.js +0 -40
  134. package/cjs/filter-clause/operator-picker/OperatorPicker.js.map +0 -1
  135. package/cjs/filter-clause/operator-picker/operator-utils.js +0 -34
  136. package/cjs/filter-clause/operator-picker/operator-utils.js.map +0 -1
  137. package/cjs/filter-clause/operator-picker/useOperatorPicker.js +0 -61
  138. package/cjs/filter-clause/operator-picker/useOperatorPicker.js.map +0 -1
  139. package/cjs/filter-clause/useFilterClause.js +0 -172
  140. package/cjs/filter-clause/useFilterClause.js.map +0 -1
  141. package/cjs/filter-clause/value-editors/FilterClauseValueEditor.js +0 -93
  142. package/cjs/filter-clause/value-editors/FilterClauseValueEditor.js.map +0 -1
  143. package/cjs/filter-clause/value-editors/FilterClauseValueEditorDate.js +0 -64
  144. package/cjs/filter-clause/value-editors/FilterClauseValueEditorDate.js.map +0 -1
  145. package/cjs/filter-clause/value-editors/FilterClauseValueEditorNumber.js +0 -55
  146. package/cjs/filter-clause/value-editors/FilterClauseValueEditorNumber.js.map +0 -1
  147. package/cjs/filter-clause/value-editors/FilterClauseValueEditorText.js +0 -222
  148. package/cjs/filter-clause/value-editors/FilterClauseValueEditorText.js.map +0 -1
  149. package/cjs/filter-clause/value-editors/FilterClauseValueEditorTime.js +0 -62
  150. package/cjs/filter-clause/value-editors/FilterClauseValueEditorTime.js.map +0 -1
  151. package/cjs/filter-container/ExtendedSingleValueFilterClause.js +0 -63
  152. package/cjs/filter-container/ExtendedSingleValueFilterClause.js.map +0 -1
  153. package/cjs/filter-container/FilterContainer.css.js +0 -6
  154. package/cjs/filter-container/FilterContainer.css.js.map +0 -1
  155. package/cjs/filter-container/FilterContainer.js +0 -145
  156. package/cjs/filter-container/FilterContainer.js.map +0 -1
  157. package/cjs/filter-container/useFilterContainer.js +0 -137
  158. package/cjs/filter-container/useFilterContainer.js.map +0 -1
  159. package/cjs/filter-context-menu/useFilterContextMenu.js +0 -129
  160. package/cjs/filter-context-menu/useFilterContextMenu.js.map +0 -1
  161. package/cjs/filter-display/FilterDisplay.css.js +0 -6
  162. package/cjs/filter-display/FilterDisplay.css.js.map +0 -1
  163. package/cjs/filter-display/FilterDisplay.js +0 -79
  164. package/cjs/filter-display/FilterDisplay.js.map +0 -1
  165. package/cjs/filter-editor/FilterClauseCombinator.css.js +0 -6
  166. package/cjs/filter-editor/FilterClauseCombinator.css.js.map +0 -1
  167. package/cjs/filter-editor/FilterClauseCombinator.js +0 -42
  168. package/cjs/filter-editor/FilterClauseCombinator.js.map +0 -1
  169. package/cjs/filter-editor/FilterEditor.css.js +0 -6
  170. package/cjs/filter-editor/FilterEditor.css.js.map +0 -1
  171. package/cjs/filter-editor/FilterEditor.js +0 -101
  172. package/cjs/filter-editor/FilterEditor.js.map +0 -1
  173. package/cjs/filter-editor/useFilterEditor.js +0 -191
  174. package/cjs/filter-editor/useFilterEditor.js.map +0 -1
  175. package/cjs/filter-panel/FilterPanel.css.js +0 -6
  176. package/cjs/filter-panel/FilterPanel.css.js.map +0 -1
  177. package/cjs/filter-panel/FilterPanel.js +0 -91
  178. package/cjs/filter-panel/FilterPanel.js.map +0 -1
  179. package/cjs/filter-panel/useFilterPanel.js +0 -68
  180. package/cjs/filter-panel/useFilterPanel.js.map +0 -1
  181. package/cjs/filter-pill/FilterMenu.js +0 -63
  182. package/cjs/filter-pill/FilterMenu.js.map +0 -1
  183. package/cjs/filter-pill/FilterPill.css.js +0 -6
  184. package/cjs/filter-pill/FilterPill.css.js.map +0 -1
  185. package/cjs/filter-pill/FilterPill.js +0 -147
  186. package/cjs/filter-pill/FilterPill.js.map +0 -1
  187. package/cjs/filter-pill/FilterPillNext.css.js +0 -6
  188. package/cjs/filter-pill/FilterPillNext.css.js.map +0 -1
  189. package/cjs/filter-pill/FilterPillNext.js +0 -91
  190. package/cjs/filter-pill/FilterPillNext.js.map +0 -1
  191. package/cjs/filter-pill/filterAsReactNode.js +0 -27
  192. package/cjs/filter-pill/filterAsReactNode.js.map +0 -1
  193. package/cjs/filter-pill/getFilterLabel.js +0 -22
  194. package/cjs/filter-pill/getFilterLabel.js.map +0 -1
  195. package/cjs/filter-pill/getFilterTooltipText.js +0 -41
  196. package/cjs/filter-pill/getFilterTooltipText.js.map +0 -1
  197. package/cjs/filter-pill/useFilterPillNext.js +0 -65
  198. package/cjs/filter-pill/useFilterPillNext.js.map +0 -1
  199. package/cjs/filter-pill-menu/FilterPillMenuOptions.js +0 -32
  200. package/cjs/filter-pill-menu/FilterPillMenuOptions.js.map +0 -1
  201. package/cjs/filter-provider/FilterContext.js +0 -105
  202. package/cjs/filter-provider/FilterContext.js.map +0 -1
  203. package/cjs/filter-provider/FilterProvider.js +0 -240
  204. package/cjs/filter-provider/FilterProvider.js.map +0 -1
  205. package/cjs/filter-provider/filter-descriptor-utils.js +0 -67
  206. package/cjs/filter-provider/filter-descriptor-utils.js.map +0 -1
  207. package/cjs/filter-utils.js +0 -367
  208. package/cjs/filter-utils.js.map +0 -1
  209. package/cjs/index.js +0 -80
  210. package/cjs/index.js.map +0 -1
  211. package/cjs/inline-filter/InlineFilter.css.js +0 -6
  212. package/cjs/inline-filter/InlineFilter.css.js.map +0 -1
  213. package/cjs/inline-filter/InlineFilter.js +0 -70
  214. package/cjs/inline-filter/InlineFilter.js.map +0 -1
  215. package/cjs/inline-filter/useInlineFilter.js +0 -16
  216. package/cjs/inline-filter/useInlineFilter.js.map +0 -1
  217. package/cjs/quick-filters/QuickFilters.css.js +0 -6
  218. package/cjs/quick-filters/QuickFilters.css.js.map +0 -1
  219. package/cjs/quick-filters/QuickFilters.js +0 -98
  220. package/cjs/quick-filters/QuickFilters.js.map +0 -1
  221. package/cjs/quick-filters/useQuickFilters.js +0 -152
  222. package/cjs/quick-filters/useQuickFilters.js.map +0 -1
  223. package/cjs/saved-filters/DeleteFilterPrompt.js +0 -37
  224. package/cjs/saved-filters/DeleteFilterPrompt.js.map +0 -1
  225. package/cjs/saved-filters/FilterNamePrompt.css.js +0 -6
  226. package/cjs/saved-filters/FilterNamePrompt.css.js.map +0 -1
  227. package/cjs/saved-filters/FilterNamePrompt.js +0 -89
  228. package/cjs/saved-filters/FilterNamePrompt.js.map +0 -1
  229. package/cjs/saved-filters/SavedFilterPanel.css.js +0 -6
  230. package/cjs/saved-filters/SavedFilterPanel.css.js.map +0 -1
  231. package/cjs/saved-filters/SavedFilterPanel.js +0 -62
  232. package/cjs/saved-filters/SavedFilterPanel.js.map +0 -1
  233. package/cjs/saved-filters/useFilterNamePrompt.js +0 -98
  234. package/cjs/saved-filters/useFilterNamePrompt.js.map +0 -1
  235. package/cjs/saved-filters/useSavedFilterPanel.js +0 -29
  236. package/cjs/saved-filters/useSavedFilterPanel.js.map +0 -1
  237. package/cjs/tabbed-filter-container/TabbedFilterContainer.css.js +0 -6
  238. package/cjs/tabbed-filter-container/TabbedFilterContainer.css.js.map +0 -1
  239. package/cjs/tabbed-filter-container/TabbedFilterContainer.js +0 -57
  240. package/cjs/tabbed-filter-container/TabbedFilterContainer.js.map +0 -1
  241. package/cjs/toggle-filter/ToggleFilter.css.js +0 -6
  242. package/cjs/toggle-filter/ToggleFilter.css.js.map +0 -1
  243. package/cjs/toggle-filter/ToggleFilter.js +0 -85
  244. package/cjs/toggle-filter/ToggleFilter.js.map +0 -1
  245. package/cjs/toggle-filter/useToggleFilter.js +0 -67
  246. package/cjs/toggle-filter/useToggleFilter.js.map +0 -1
  247. package/esm/FilterAggregator.js +0 -160
  248. package/esm/FilterAggregator.js.map +0 -1
  249. package/esm/FilterModel.js +0 -224
  250. package/esm/FilterModel.js.map +0 -1
  251. package/esm/column-filter/ColumnFilter.css.js +0 -4
  252. package/esm/column-filter/ColumnFilter.css.js.map +0 -1
  253. package/esm/column-filter/ColumnFilter.js +0 -81
  254. package/esm/column-filter/ColumnFilter.js.map +0 -1
  255. package/esm/column-filter/useColumnFilter.js +0 -137
  256. package/esm/column-filter/useColumnFilter.js.map +0 -1
  257. package/esm/custom-filters/CustomFilters.js +0 -97
  258. package/esm/custom-filters/CustomFilters.js.map +0 -1
  259. package/esm/custom-filters/filterBarFocusManagement.js +0 -33
  260. package/esm/custom-filters/filterBarFocusManagement.js.map +0 -1
  261. package/esm/custom-filters/useCustomFilters.js +0 -263
  262. package/esm/custom-filters/useCustomFilters.js.map +0 -1
  263. package/esm/custom-filters/useFilterState.js +0 -147
  264. package/esm/custom-filters/useFilterState.js.map +0 -1
  265. package/esm/filter-bar/FilterBar.css.js +0 -4
  266. package/esm/filter-bar/FilterBar.css.js.map +0 -1
  267. package/esm/filter-bar/FilterBar.js +0 -121
  268. package/esm/filter-bar/FilterBar.js.map +0 -1
  269. package/esm/filter-bar/useFilterBar.js +0 -35
  270. package/esm/filter-bar/useFilterBar.js.map +0 -1
  271. package/esm/filter-clause/ExpandoCombobox.css.js +0 -4
  272. package/esm/filter-clause/ExpandoCombobox.css.js.map +0 -1
  273. package/esm/filter-clause/ExpandoCombobox.js +0 -112
  274. package/esm/filter-clause/ExpandoCombobox.js.map +0 -1
  275. package/esm/filter-clause/FilterClause.css.js +0 -4
  276. package/esm/filter-clause/FilterClause.css.js.map +0 -1
  277. package/esm/filter-clause/FilterClause.js +0 -100
  278. package/esm/filter-clause/FilterClause.js.map +0 -1
  279. package/esm/filter-clause/column-picker/ColumnPicker.js +0 -37
  280. package/esm/filter-clause/column-picker/ColumnPicker.js.map +0 -1
  281. package/esm/filter-clause/column-picker/useColumnPicker.js +0 -59
  282. package/esm/filter-clause/column-picker/useColumnPicker.js.map +0 -1
  283. package/esm/filter-clause/filterClauseFocusManagement.js +0 -191
  284. package/esm/filter-clause/filterClauseFocusManagement.js.map +0 -1
  285. package/esm/filter-clause/operator-picker/OperatorPicker.js +0 -38
  286. package/esm/filter-clause/operator-picker/OperatorPicker.js.map +0 -1
  287. package/esm/filter-clause/operator-picker/operator-utils.js +0 -30
  288. package/esm/filter-clause/operator-picker/operator-utils.js.map +0 -1
  289. package/esm/filter-clause/operator-picker/useOperatorPicker.js +0 -59
  290. package/esm/filter-clause/operator-picker/useOperatorPicker.js.map +0 -1
  291. package/esm/filter-clause/useFilterClause.js +0 -170
  292. package/esm/filter-clause/useFilterClause.js.map +0 -1
  293. package/esm/filter-clause/value-editors/FilterClauseValueEditor.js +0 -91
  294. package/esm/filter-clause/value-editors/FilterClauseValueEditor.js.map +0 -1
  295. package/esm/filter-clause/value-editors/FilterClauseValueEditorDate.js +0 -62
  296. package/esm/filter-clause/value-editors/FilterClauseValueEditorDate.js.map +0 -1
  297. package/esm/filter-clause/value-editors/FilterClauseValueEditorNumber.js +0 -53
  298. package/esm/filter-clause/value-editors/FilterClauseValueEditorNumber.js.map +0 -1
  299. package/esm/filter-clause/value-editors/FilterClauseValueEditorText.js +0 -220
  300. package/esm/filter-clause/value-editors/FilterClauseValueEditorText.js.map +0 -1
  301. package/esm/filter-clause/value-editors/FilterClauseValueEditorTime.js +0 -60
  302. package/esm/filter-clause/value-editors/FilterClauseValueEditorTime.js.map +0 -1
  303. package/esm/filter-container/ExtendedSingleValueFilterClause.js +0 -60
  304. package/esm/filter-container/ExtendedSingleValueFilterClause.js.map +0 -1
  305. package/esm/filter-container/FilterContainer.css.js +0 -4
  306. package/esm/filter-container/FilterContainer.css.js.map +0 -1
  307. package/esm/filter-container/FilterContainer.js +0 -142
  308. package/esm/filter-container/FilterContainer.js.map +0 -1
  309. package/esm/filter-container/useFilterContainer.js +0 -133
  310. package/esm/filter-container/useFilterContainer.js.map +0 -1
  311. package/esm/filter-context-menu/useFilterContextMenu.js +0 -127
  312. package/esm/filter-context-menu/useFilterContextMenu.js.map +0 -1
  313. package/esm/filter-display/FilterDisplay.css.js +0 -4
  314. package/esm/filter-display/FilterDisplay.css.js.map +0 -1
  315. package/esm/filter-display/FilterDisplay.js +0 -77
  316. package/esm/filter-display/FilterDisplay.js.map +0 -1
  317. package/esm/filter-editor/FilterClauseCombinator.css.js +0 -4
  318. package/esm/filter-editor/FilterClauseCombinator.css.js.map +0 -1
  319. package/esm/filter-editor/FilterClauseCombinator.js +0 -40
  320. package/esm/filter-editor/FilterClauseCombinator.js.map +0 -1
  321. package/esm/filter-editor/FilterEditor.css.js +0 -4
  322. package/esm/filter-editor/FilterEditor.css.js.map +0 -1
  323. package/esm/filter-editor/FilterEditor.js +0 -99
  324. package/esm/filter-editor/FilterEditor.js.map +0 -1
  325. package/esm/filter-editor/useFilterEditor.js +0 -189
  326. package/esm/filter-editor/useFilterEditor.js.map +0 -1
  327. package/esm/filter-panel/FilterPanel.css.js +0 -4
  328. package/esm/filter-panel/FilterPanel.css.js.map +0 -1
  329. package/esm/filter-panel/FilterPanel.js +0 -89
  330. package/esm/filter-panel/FilterPanel.js.map +0 -1
  331. package/esm/filter-panel/useFilterPanel.js +0 -66
  332. package/esm/filter-panel/useFilterPanel.js.map +0 -1
  333. package/esm/filter-pill/FilterMenu.js +0 -61
  334. package/esm/filter-pill/FilterMenu.js.map +0 -1
  335. package/esm/filter-pill/FilterPill.css.js +0 -4
  336. package/esm/filter-pill/FilterPill.css.js.map +0 -1
  337. package/esm/filter-pill/FilterPill.js +0 -145
  338. package/esm/filter-pill/FilterPill.js.map +0 -1
  339. package/esm/filter-pill/FilterPillNext.css.js +0 -4
  340. package/esm/filter-pill/FilterPillNext.css.js.map +0 -1
  341. package/esm/filter-pill/FilterPillNext.js +0 -89
  342. package/esm/filter-pill/FilterPillNext.js.map +0 -1
  343. package/esm/filter-pill/filterAsReactNode.js +0 -25
  344. package/esm/filter-pill/filterAsReactNode.js.map +0 -1
  345. package/esm/filter-pill/getFilterLabel.js +0 -20
  346. package/esm/filter-pill/getFilterLabel.js.map +0 -1
  347. package/esm/filter-pill/getFilterTooltipText.js +0 -39
  348. package/esm/filter-pill/getFilterTooltipText.js.map +0 -1
  349. package/esm/filter-pill/useFilterPillNext.js +0 -63
  350. package/esm/filter-pill/useFilterPillNext.js.map +0 -1
  351. package/esm/filter-pill-menu/FilterPillMenuOptions.js +0 -27
  352. package/esm/filter-pill-menu/FilterPillMenuOptions.js.map +0 -1
  353. package/esm/filter-provider/FilterContext.js +0 -94
  354. package/esm/filter-provider/FilterContext.js.map +0 -1
  355. package/esm/filter-provider/FilterProvider.js +0 -238
  356. package/esm/filter-provider/FilterProvider.js.map +0 -1
  357. package/esm/filter-provider/filter-descriptor-utils.js +0 -61
  358. package/esm/filter-provider/filter-descriptor-utils.js.map +0 -1
  359. package/esm/filter-utils.js +0 -344
  360. package/esm/filter-utils.js.map +0 -1
  361. package/esm/index.js +0 -26
  362. package/esm/index.js.map +0 -1
  363. package/esm/inline-filter/InlineFilter.css.js +0 -4
  364. package/esm/inline-filter/InlineFilter.css.js.map +0 -1
  365. package/esm/inline-filter/InlineFilter.js +0 -68
  366. package/esm/inline-filter/InlineFilter.js.map +0 -1
  367. package/esm/inline-filter/useInlineFilter.js +0 -14
  368. package/esm/inline-filter/useInlineFilter.js.map +0 -1
  369. package/esm/quick-filters/QuickFilters.css.js +0 -4
  370. package/esm/quick-filters/QuickFilters.css.js.map +0 -1
  371. package/esm/quick-filters/QuickFilters.js +0 -96
  372. package/esm/quick-filters/QuickFilters.js.map +0 -1
  373. package/esm/quick-filters/useQuickFilters.js +0 -150
  374. package/esm/quick-filters/useQuickFilters.js.map +0 -1
  375. package/esm/saved-filters/DeleteFilterPrompt.js +0 -35
  376. package/esm/saved-filters/DeleteFilterPrompt.js.map +0 -1
  377. package/esm/saved-filters/FilterNamePrompt.css.js +0 -4
  378. package/esm/saved-filters/FilterNamePrompt.css.js.map +0 -1
  379. package/esm/saved-filters/FilterNamePrompt.js +0 -87
  380. package/esm/saved-filters/FilterNamePrompt.js.map +0 -1
  381. package/esm/saved-filters/SavedFilterPanel.css.js +0 -4
  382. package/esm/saved-filters/SavedFilterPanel.css.js.map +0 -1
  383. package/esm/saved-filters/SavedFilterPanel.js +0 -60
  384. package/esm/saved-filters/SavedFilterPanel.js.map +0 -1
  385. package/esm/saved-filters/useFilterNamePrompt.js +0 -95
  386. package/esm/saved-filters/useFilterNamePrompt.js.map +0 -1
  387. package/esm/saved-filters/useSavedFilterPanel.js +0 -27
  388. package/esm/saved-filters/useSavedFilterPanel.js.map +0 -1
  389. package/esm/tabbed-filter-container/TabbedFilterContainer.css.js +0 -4
  390. package/esm/tabbed-filter-container/TabbedFilterContainer.css.js.map +0 -1
  391. package/esm/tabbed-filter-container/TabbedFilterContainer.js +0 -55
  392. package/esm/tabbed-filter-container/TabbedFilterContainer.js.map +0 -1
  393. package/esm/toggle-filter/ToggleFilter.css.js +0 -4
  394. package/esm/toggle-filter/ToggleFilter.css.js.map +0 -1
  395. package/esm/toggle-filter/ToggleFilter.js +0 -83
  396. package/esm/toggle-filter/ToggleFilter.js.map +0 -1
  397. package/esm/toggle-filter/useToggleFilter.js +0 -65
  398. package/esm/toggle-filter/useToggleFilter.js.map +0 -1
@@ -1,367 +0,0 @@
1
- 'use strict';
2
-
3
- var vuuUtils = require('@vuu-ui/vuu-utils');
4
-
5
- const AND = "and";
6
- const EQUALS = "=";
7
- const GREATER_THAN = ">";
8
- const LESS_THAN = "<";
9
- const OR = "or";
10
- const STARTS_WITH = "starts";
11
- const ENDS_WITH = "ends";
12
- const IN = "in";
13
- const filterClauses = (filter, clauses = []) => {
14
- if (filter) {
15
- if (vuuUtils.isMultiClauseFilter(filter)) {
16
- filter.filters.forEach((f) => clauses.push(...filterClauses(f)));
17
- } else {
18
- clauses.push(filter);
19
- }
20
- }
21
- return clauses;
22
- };
23
- const DEFAULT_ADD_FILTER_OPTS = {
24
- combineWith: "and"
25
- };
26
- const removeLastClause = (filter) => {
27
- const { filters } = filter;
28
- if (filters.length > 2) {
29
- return {
30
- ...filter,
31
- filters: filter.filters.slice(0, -1)
32
- };
33
- } else {
34
- return filter.filters[0];
35
- }
36
- };
37
- const addClause = (existingFilter, clause, { combineWith = AND } = DEFAULT_ADD_FILTER_OPTS) => {
38
- if (vuuUtils.isMultiClauseFilter(existingFilter) && existingFilter.op === combineWith) {
39
- return {
40
- ...existingFilter,
41
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
42
- // @ts-ignore
43
- filters: existingFilter.filters.concat(clause)
44
- };
45
- } else {
46
- return {
47
- op: combineWith,
48
- filters: [existingFilter, clause]
49
- };
50
- }
51
- };
52
- const addFilter = (existingFilter, filter, { combineWith = AND } = DEFAULT_ADD_FILTER_OPTS) => {
53
- if (includesNoValues(filter)) {
54
- if (vuuUtils.isMultiClauseFilter(filter)) ; else {
55
- existingFilter = removeFilterForColumn(existingFilter, {
56
- name: filter.column
57
- });
58
- }
59
- } else if (includesAllValues(filter)) {
60
- if (vuuUtils.isMultiClauseFilter(filter)) ;
61
- return removeFilterForColumn(existingFilter, { name: filter.column ?? "" });
62
- }
63
- if (!existingFilter) {
64
- return filter;
65
- }
66
- if (!filter) {
67
- return existingFilter;
68
- }
69
- if (existingFilter.op === AND && filter.op === AND) {
70
- return {
71
- op: AND,
72
- filters: combine(existingFilter.filters, filter.filters)
73
- };
74
- }
75
- if (existingFilter.op === AND) {
76
- const filters = replaceOrInsert(existingFilter.filters, filter);
77
- return filters.length > 1 ? { op: AND, filters } : filters[0];
78
- }
79
- if (filter.op === AND) {
80
- return { op: AND, filters: filter.filters.concat(existingFilter) };
81
- }
82
- if (filterEquals(existingFilter, filter, true)) {
83
- return filter;
84
- }
85
- if (canMerge(existingFilter, filter)) {
86
- return merge(existingFilter, filter);
87
- }
88
- return { op: combineWith, filters: [existingFilter, filter] };
89
- };
90
- const includesNoValues = (filter) => {
91
- if (!filter) {
92
- return false;
93
- }
94
- if (vuuUtils.isInFilter(filter) && filter.values.length === 0) {
95
- return true;
96
- }
97
- return vuuUtils.isAndFilter(filter) && filter.filters.some((f) => includesNoValues(f));
98
- };
99
- const includesAllValues = (filter) => {
100
- if (!filter) {
101
- return false;
102
- }
103
- if (filter.op === STARTS_WITH && filter.value === "") {
104
- return true;
105
- }
106
- return filter.op === STARTS_WITH && filter.value === "";
107
- };
108
- const replaceOrInsert = (filters, filter) => {
109
- return filters.concat(filter);
110
- };
111
- const merge = (f1, f2) => {
112
- if (includesNoValues(f2)) {
113
- return f2;
114
- }
115
- if (vuuUtils.isInFilter(f1) && vuuUtils.isInFilter(f2)) {
116
- return {
117
- ...f1,
118
- values: [
119
- ...f1.values,
120
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
121
- ...f2.values.filter(
122
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
123
- (v) => !f1.values.includes(v)
124
- )
125
- ]
126
- };
127
- } else if (vuuUtils.isInFilter(f1) && f2.op === EQUALS) {
128
- return {
129
- ...f1,
130
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
131
- // @ts-ignore
132
- values: f1.values.concat([f2.value])
133
- };
134
- } else if (f1.op === EQUALS && f2.op === EQUALS) {
135
- return {
136
- column: f1.column,
137
- op: IN,
138
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
139
- // @ts-ignore
140
- values: [f1.value, f2.value]
141
- };
142
- }
143
- return f2;
144
- };
145
- const combine = (existingFilters, replacementFilters) => {
146
- const equivalentType = ({ op: op1 }, { op: op2 }) => {
147
- return op1 === op2 || op1[0] === ">" && op2[0] === ">" || op1[0] === "<" && op2[0] === "<";
148
- };
149
- const replaces = (existingFilter, replacementFilter) => {
150
- return existingFilter.column === replacementFilter.column && equivalentType(existingFilter, replacementFilter);
151
- };
152
- const stillApplicable = (existingFilter) => replacementFilters.some(
153
- (replacementFilter) => replaces(existingFilter, replacementFilter)
154
- ) === false;
155
- return existingFilters.filter(stillApplicable).concat(replacementFilters);
156
- };
157
- const removeFilter = (sourceFilter, filterToRemove) => {
158
- if (filterEquals(sourceFilter, filterToRemove, true)) {
159
- return null;
160
- }
161
- if (sourceFilter.op !== AND) {
162
- throw Error(
163
- `removeFilter cannot remove ${JSON.stringify(
164
- filterToRemove
165
- )} from ${JSON.stringify(sourceFilter)}`
166
- );
167
- }
168
- const filters = sourceFilter.filters.filter(
169
- (f) => !filterEquals(f, filterToRemove)
170
- );
171
- return filters.length > 0 ? { type: AND, filters } : null;
172
- };
173
- const splitFilterOnColumn = (columnName, filter) => {
174
- if (!filter) {
175
- return [void 0, void 0];
176
- }
177
- if (filter.column === columnName) {
178
- return [filter, void 0];
179
- }
180
- if (filter.op !== AND) {
181
- return [void 0, filter];
182
- }
183
- const [[columnFilter = void 0], filters] = vuuUtils.partition(
184
- filter.filters,
185
- (f) => f.column === columnName
186
- );
187
- return filters.length === 1 ? [columnFilter, filters[0]] : [columnFilter, { op: AND, filters }];
188
- };
189
- const overrideColName = (filter, column) => {
190
- if (vuuUtils.isMultiClauseFilter(filter)) {
191
- return {
192
- op: filter.op,
193
- filters: filter.filters.map((f) => overrideColName(f, column))
194
- };
195
- }
196
- return { ...filter, column };
197
- };
198
- const filterIncludesColumn = (filter, column) => {
199
- if (!filter) {
200
- return false;
201
- }
202
- const { op, column: filterColName } = filter;
203
- switch (op) {
204
- case AND:
205
- case OR:
206
- return filter.filters != null && filter.filters.some((f) => filterIncludesColumn(f, column));
207
- default:
208
- return filterColName === column.name;
209
- }
210
- };
211
- const removeFilterForColumn = (sourceFilter, column) => {
212
- const colName = column.name;
213
- if (!sourceFilter) {
214
- return void 0;
215
- }
216
- if (sourceFilter.column === colName) {
217
- return void 0;
218
- }
219
- if (vuuUtils.isAndFilter(sourceFilter) || vuuUtils.isOrFilter(sourceFilter)) {
220
- const { op } = sourceFilter;
221
- const filters = sourceFilter.filters;
222
- const otherColFilters = filters.filter((f) => f.column !== colName);
223
- switch (otherColFilters.length) {
224
- case 0:
225
- return void 0;
226
- case 1:
227
- return otherColFilters[0];
228
- default:
229
- return { op, filters: otherColFilters };
230
- }
231
- }
232
- return sourceFilter;
233
- };
234
- const canMerge = (f1, f2) => f1.column === f2.column && (f1.op === "=" || f1.op === "in") && (f2.op === "=" || f2.op === "in");
235
- const sameValues = (arr1, arr2) => {
236
- if (arr1 === arr2) {
237
- return true;
238
- }
239
- if (arr1.length === arr2.length) {
240
- const a = arr1.slice().sort();
241
- const b = arr2.slice().sort();
242
- return a.join("|") === b.join("|");
243
- }
244
- return false;
245
- };
246
- const filterEquals = (f1, f2, strict = false) => {
247
- if (!strict) {
248
- return true;
249
- }
250
- if (f1 && f2 && canMerge(f1, f2)) {
251
- return f1.op === f2.op && (vuuUtils.isSingleValueFilter(f1) && vuuUtils.isSingleValueFilter(f2) && f1.value === f2.value || vuuUtils.isMultiValueFilter(f1) && vuuUtils.isMultiValueFilter(f2) && // eslint-disable-next-line @typescript-eslint/no-explicit-any
252
- sameValues(f1.values, f2.values));
253
- }
254
- return false;
255
- };
256
- const updateFilter = (filter, newFilter, mode) => {
257
- if (filter && newFilter) {
258
- if (mode === "replace") {
259
- return newFilter;
260
- }
261
- if (filter.op === "and") {
262
- return {
263
- ...filter,
264
- filters: filter.filters.concat(newFilter)
265
- };
266
- }
267
- const { column: columnName } = newFilter;
268
- if (columnName) {
269
- const existingClause = newFilter.column ? vuuUtils.extractFilterForColumn(filter, columnName) : void 0;
270
- if (existingClause && columnName) {
271
- const result = removeFilterForColumn(filter, { name: columnName });
272
- return updateFilter(result, newFilter, "add");
273
- }
274
- }
275
- return {
276
- op: "and",
277
- filters: [filter, newFilter]
278
- };
279
- }
280
- if (newFilter) {
281
- return newFilter;
282
- }
283
- return filter;
284
- };
285
- const getTypeaheadFilter = (column, filterValues, isStartsWithFilter) => {
286
- if (filterValues.length === 0) {
287
- return void 0;
288
- }
289
- if (isStartsWithFilter) {
290
- const startsWith = filterValues[0].substring(0, filterValues[0].length - 3);
291
- return {
292
- column,
293
- op: "starts",
294
- value: `"${startsWith}"`
295
- };
296
- }
297
- return {
298
- column,
299
- op: "in",
300
- values: filterValues.map((value) => `"${value}"`)
301
- };
302
- };
303
- const getNumericFilter = (column, op, value) => {
304
- if (op === void 0) return void 0;
305
- if (value === void 0 || isNaN(value)) return void 0;
306
- return { column, op, value };
307
- };
308
- const getFilterClausesForDisplay = (filter, columns = [], clauses = []) => {
309
- if (filter === void 0) {
310
- return clauses;
311
- } else if (vuuUtils.isSingleValueFilter(filter)) {
312
- const column = columns.find((c) => c.name === filter.column);
313
- if (column) {
314
- const { name, label = name } = column;
315
- clauses.push([label, filter.value.toString()]);
316
- } else {
317
- clauses.push([filter.column, filter.value.toString()]);
318
- }
319
- } else if (vuuUtils.isBetweenFilter(filter)) {
320
- const [f1, f2] = filter.filters;
321
- const column = columns.find((c) => c.name === f1.column);
322
- if (vuuUtils.isTimeDataValue(column) && typeof f1.value === "number" && typeof f2.value === "number") {
323
- const { name, label = name } = column;
324
- clauses.push([
325
- label,
326
- `${vuuUtils.Time.millisToTimeString(f1.value)} - ${vuuUtils.Time.millisToTimeString(f2.value)}`
327
- ]);
328
- } else if (column) {
329
- const { name, label = name } = column;
330
- clauses.push([label, `${f1.value} - ${f2.value}`]);
331
- } else {
332
- clauses.push([f1.column, `${f1.value} - ${f2.value}`]);
333
- }
334
- } else if (vuuUtils.isAndFilter(filter)) {
335
- filter.filters.forEach(
336
- (f) => getFilterClausesForDisplay(f, columns, clauses)
337
- );
338
- }
339
- return clauses;
340
- };
341
- const findMatchingFilter = (filterDescriptors, filter) => filterDescriptors.find(
342
- ({ active, filter: f }) => !active && f !== null && f !== filter && vuuUtils.filtersAreEqual(f, filter)
343
- );
344
-
345
- exports.AND = AND;
346
- exports.ENDS_WITH = ENDS_WITH;
347
- exports.EQUALS = EQUALS;
348
- exports.GREATER_THAN = GREATER_THAN;
349
- exports.IN = IN;
350
- exports.LESS_THAN = LESS_THAN;
351
- exports.OR = OR;
352
- exports.STARTS_WITH = STARTS_WITH;
353
- exports.addClause = addClause;
354
- exports.addFilter = addFilter;
355
- exports.filterClauses = filterClauses;
356
- exports.filterEquals = filterEquals;
357
- exports.filterIncludesColumn = filterIncludesColumn;
358
- exports.findMatchingFilter = findMatchingFilter;
359
- exports.getFilterClausesForDisplay = getFilterClausesForDisplay;
360
- exports.getNumericFilter = getNumericFilter;
361
- exports.getTypeaheadFilter = getTypeaheadFilter;
362
- exports.overrideColName = overrideColName;
363
- exports.removeFilter = removeFilter;
364
- exports.removeLastClause = removeLastClause;
365
- exports.splitFilterOnColumn = splitFilterOnColumn;
366
- exports.updateFilter = updateFilter;
367
- //# sourceMappingURL=filter-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter-utils.js","sources":["../../../packages/vuu-filters/src/filter-utils.ts"],"sourcesContent":["import { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport {\n Filter,\n FilterClause,\n FilterCombinatorOp,\n FilterContainerFilter,\n FilterContainerFilterDescriptor,\n FilterWithPartialClause,\n MultiClauseFilter,\n NumericFilterClauseOp,\n} from \"@vuu-ui/vuu-filter-types\";\nimport {\n extractFilterForColumn,\n filtersAreEqual,\n isAndFilter,\n isBetweenFilter,\n isInFilter,\n isMultiClauseFilter,\n isMultiValueFilter,\n isOrFilter,\n isSingleValueFilter,\n isTimeDataValue,\n partition,\n Time,\n} from \"@vuu-ui/vuu-utils\";\n\nexport const AND = \"and\";\nexport const EQUALS = \"=\";\nexport const GREATER_THAN = \">\";\nexport const LESS_THAN = \"<\";\nexport const OR = \"or\";\nexport const STARTS_WITH = \"starts\";\nexport const ENDS_WITH = \"ends\";\nexport const IN = \"in\";\n\nexport type FilterType =\n | \"and\"\n | \"=\"\n | \">\"\n | \">=\"\n | \"in\"\n | \"<=\"\n | \"<\"\n | \"NOT_IN\"\n | \"NOT_SW\"\n | \"or\"\n | \"SW\";\n\nexport const filterClauses = (\n filter: Partial<Filter> | FilterWithPartialClause | null,\n clauses: Partial<FilterClause>[] = [],\n): Partial<FilterClause>[] => {\n if (filter) {\n if (isMultiClauseFilter(filter)) {\n filter.filters.forEach((f) => clauses.push(...filterClauses(f)));\n } else {\n clauses.push(filter as Partial<FilterClause>);\n }\n }\n return clauses;\n};\n\ntype AddFilterOptions = {\n combineWith: FilterCombinatorOp;\n};\n\nconst DEFAULT_ADD_FILTER_OPTS: AddFilterOptions = {\n combineWith: \"and\",\n};\n\nexport const removeLastClause = (filter: MultiClauseFilter) => {\n const { filters } = filter;\n if (filters.length > 2) {\n return {\n ...filter,\n filters: filter.filters.slice(0, -1),\n };\n } else {\n // must be 2, we never have 1\n return filter.filters[0];\n }\n};\n\n/**\n Allows an empty FilterClause to be appended to an existing filter - for use\n in filter editing UI only.\n*/\nexport const addClause = (\n existingFilter: Filter,\n clause: Partial<Filter>,\n { combineWith = AND }: AddFilterOptions = DEFAULT_ADD_FILTER_OPTS,\n): FilterWithPartialClause => {\n if (\n isMultiClauseFilter(existingFilter) &&\n existingFilter.op === combineWith\n ) {\n // if (isCompleteFilter(clause)) {\n return {\n ...existingFilter,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n filters: existingFilter.filters.concat(clause),\n };\n // } else {\n // throw Error(\n // \"filter-utils, replaceFilter, only a valid clause can be added to a filter\"\n // );\n // }\n } else {\n return {\n op: combineWith,\n filters: [existingFilter, clause],\n };\n }\n};\n\nexport const addFilter = (\n existingFilter: Filter | undefined,\n filter: Filter,\n { combineWith = AND }: AddFilterOptions = DEFAULT_ADD_FILTER_OPTS,\n): Filter | undefined => {\n if (includesNoValues(filter)) {\n if (isMultiClauseFilter(filter)) {\n // TODO identify the column that is contributing the no-values filter\n } else {\n existingFilter = removeFilterForColumn(existingFilter, {\n name: filter.column,\n });\n }\n } else if (includesAllValues(filter)) {\n if (isMultiClauseFilter(filter)) {\n // TODO identify the column that is contributing the all-values filter\n }\n return removeFilterForColumn(existingFilter, { name: filter.column ?? \"\" });\n }\n\n if (!existingFilter) {\n return filter;\n }\n if (!filter) {\n return existingFilter;\n }\n if (existingFilter.op === AND && filter.op === AND) {\n return {\n op: AND,\n filters: combine(existingFilter.filters, filter.filters),\n };\n }\n if (existingFilter.op === AND) {\n const filters = replaceOrInsert(existingFilter.filters, filter);\n return filters.length > 1 ? { op: AND, filters } : filters[0];\n }\n if (filter.op === AND) {\n return { op: AND, filters: filter.filters.concat(existingFilter) };\n }\n\n if (filterEquals(existingFilter, filter, true)) {\n return filter;\n }\n\n if (canMerge(existingFilter, filter)) {\n return merge(existingFilter, filter);\n }\n\n return { op: combineWith, filters: [existingFilter, filter] };\n};\n\nconst includesNoValues = (filter?: Filter | null): boolean => {\n if (!filter) {\n return false;\n }\n if (isInFilter(filter) && filter.values.length === 0) {\n return true;\n }\n return isAndFilter(filter) && filter.filters.some((f) => includesNoValues(f));\n};\n\ninterface CommonFilter {\n colName?: string;\n otherColFilters?: Filter[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mode?: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value?: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n values?: any;\n op?: \"or\" | \"and\";\n column?: string;\n filters?: Filter[];\n}\n\nexport interface OtherFilter extends CommonFilter {\n type: FilterType;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n values?: any[];\n}\n\nconst includesAllValues = (filter?: Filter | null): boolean => {\n if (!filter) {\n return false;\n }\n if (filter.op === STARTS_WITH && filter.value === \"\") {\n return true;\n }\n return filter.op === STARTS_WITH && filter.value === \"\";\n};\n\nconst replaceOrInsert = (filters: Filter[], filter: Filter) => {\n return filters.concat(filter);\n};\n\nconst merge = (f1: Filter, f2: Filter): Filter | undefined => {\n if (includesNoValues(f2)) {\n return f2;\n }\n if (isInFilter(f1) && isInFilter(f2)) {\n return {\n ...f1,\n values: [\n ...f1.values,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ...(f2.values as any[]).filter(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (v: string | number) => !(f1.values as any[]).includes(v),\n ),\n ],\n };\n } else if (isInFilter(f1) && f2.op === EQUALS) {\n return {\n ...f1,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n values: f1.values.concat([f2.value]),\n };\n } else if (f1.op === EQUALS && f2.op === EQUALS) {\n return {\n column: f1.column,\n op: IN,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n values: [f1.value, f2.value],\n };\n }\n return f2;\n};\n\nconst combine = (existingFilters: Filter[], replacementFilters: Filter[]) => {\n const equivalentType = ({ op: op1 }: Filter, { op: op2 }: Filter) => {\n return (\n op1 === op2 ||\n (op1[0] === \">\" && op2[0] === \">\") ||\n (op1[0] === \"<\" && op2[0] === \"<\")\n );\n };\n const replaces = (existingFilter: Filter, replacementFilter: Filter) => {\n return (\n existingFilter.column === replacementFilter.column &&\n equivalentType(existingFilter, replacementFilter)\n );\n };\n const stillApplicable = (existingFilter: Filter) =>\n replacementFilters.some((replacementFilter) =>\n replaces(existingFilter, replacementFilter),\n ) === false;\n return existingFilters.filter(stillApplicable).concat(replacementFilters);\n};\n\nexport const removeFilter = (sourceFilter: Filter, filterToRemove: Filter) => {\n if (filterEquals(sourceFilter, filterToRemove, true)) {\n return null;\n }\n if (sourceFilter.op !== AND) {\n throw Error(\n `removeFilter cannot remove ${JSON.stringify(\n filterToRemove,\n )} from ${JSON.stringify(sourceFilter)}`,\n );\n }\n const filters = sourceFilter.filters.filter(\n (f) => !filterEquals(f, filterToRemove),\n );\n return filters.length > 0 ? { type: AND, filters } : null;\n};\n\nexport const splitFilterOnColumn = (\n columnName: string,\n filter?: Filter,\n): [Filter | undefined, Filter | undefined] => {\n if (!filter) {\n return [undefined, undefined];\n }\n if (filter.column === columnName) {\n return [filter, undefined];\n }\n if (filter.op !== AND) {\n return [undefined, filter];\n }\n const [[columnFilter = undefined], filters] = partition(\n (filter as MultiClauseFilter<\"and\">).filters,\n (f) => f.column === columnName,\n );\n return filters.length === 1\n ? [columnFilter, filters[0]]\n : [columnFilter, { op: AND, filters }];\n};\n\nexport const overrideColName = (filter: Filter, column: string): Filter => {\n if (isMultiClauseFilter(filter)) {\n return {\n op: filter.op,\n filters: filter.filters.map((f) => overrideColName(f, column)),\n };\n }\n return { ...filter, column };\n};\n\nexport const filterIncludesColumn = (\n filter: Filter,\n column: ColumnDescriptor,\n): boolean => {\n if (!filter) {\n return false;\n }\n const { op, column: filterColName } = filter;\n switch (op) {\n case AND:\n case OR:\n return (\n filter.filters != null &&\n filter.filters.some((f) => filterIncludesColumn(f, column))\n );\n default:\n return filterColName === column.name;\n }\n};\n\nconst removeFilterForColumn = (\n sourceFilter: Filter | undefined,\n column: ColumnDescriptor,\n): Filter | undefined => {\n const colName = column.name;\n if (!sourceFilter) {\n return undefined;\n }\n if (sourceFilter.column === colName) {\n return undefined;\n }\n if (isAndFilter(sourceFilter) || isOrFilter(sourceFilter)) {\n const { op } = sourceFilter;\n const filters = sourceFilter.filters;\n const otherColFilters = filters.filter((f) => f.column !== colName);\n switch (otherColFilters.length) {\n case 0:\n return undefined;\n case 1:\n return otherColFilters[0];\n default:\n return { op, filters: otherColFilters };\n }\n }\n return sourceFilter;\n};\n\nconst canMerge = (f1: Filter, f2: Filter) =>\n f1.column === f2.column &&\n (f1.op === \"=\" || f1.op === \"in\") &&\n (f2.op === \"=\" || f2.op === \"in\");\n\nconst sameValues = <T>(arr1: T[], arr2: T[]) => {\n if (arr1 === arr2) {\n return true;\n }\n if (arr1.length === arr2.length) {\n const a = arr1.slice().sort();\n const b = arr2.slice().sort();\n return a.join(\"|\") === b.join(\"|\");\n }\n return false;\n};\n\nexport const filterEquals = (f1?: Filter, f2?: Filter, strict = false) => {\n if (!strict) {\n return true;\n }\n if (f1 && f2 && canMerge(f1, f2)) {\n return (\n f1.op === f2.op &&\n ((isSingleValueFilter(f1) &&\n isSingleValueFilter(f2) &&\n f1.value === f2.value) ||\n (isMultiValueFilter(f1) &&\n isMultiValueFilter(f2) &&\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n sameValues(f1.values as any[], f2.values)))\n );\n }\n return false;\n};\n\nexport const updateFilter = (\n filter: Filter | undefined,\n newFilter: Filter | undefined,\n mode: \"add\" | \"replace\",\n): Filter | undefined => {\n if (filter && newFilter) {\n if (mode === \"replace\") {\n return newFilter;\n }\n if (filter.op === \"and\") {\n return {\n ...filter,\n filters: filter.filters.concat(newFilter),\n };\n }\n const { column: columnName } = newFilter;\n if (columnName) {\n const existingClause = newFilter.column\n ? extractFilterForColumn(filter, columnName)\n : undefined;\n if (existingClause && columnName) {\n // The filter already contains a clause for this column, replace\n // with the new clause\n const result = removeFilterForColumn(filter, { name: columnName });\n return updateFilter(result, newFilter, \"add\");\n }\n }\n return {\n op: \"and\",\n filters: [filter, newFilter],\n };\n }\n if (newFilter) {\n return newFilter;\n }\n return filter;\n};\n\nexport const getTypeaheadFilter = (\n column: string,\n filterValues: string[],\n isStartsWithFilter?: boolean,\n): Filter | undefined => {\n if (filterValues.length === 0) {\n return undefined;\n }\n\n if (isStartsWithFilter) {\n // multiple starts with filters not currently supported\n const startsWith = filterValues[0].substring(0, filterValues[0].length - 3);\n return {\n column,\n op: \"starts\",\n value: `\"${startsWith}\"`,\n };\n }\n\n return {\n column,\n op: \"in\",\n values: filterValues.map((value) => `\"${value}\"`),\n };\n};\n\nexport const getNumericFilter = (\n column: string,\n op?: NumericFilterClauseOp,\n value?: number,\n): FilterClause | undefined => {\n if (op === undefined) return undefined;\n if (value === undefined || isNaN(value)) return undefined;\n return { column, op, value };\n};\n\ntype FilterClauseList = Array<[string, string]>;\n\n/**\n * Restructure a FilterContainerFilter into a list of [column, value] tuples\n * suitable for display in a text based control.\n */\nexport const getFilterClausesForDisplay = (\n filter?: FilterContainerFilter,\n columns: readonly ColumnDescriptor[] = [],\n clauses: FilterClauseList = [],\n): FilterClauseList => {\n if (filter === undefined) {\n return clauses;\n } else if (isSingleValueFilter(filter)) {\n const column = columns.find((c) => c.name === filter.column);\n if (column) {\n const { name, label = name } = column;\n clauses.push([label, filter.value.toString()]);\n } else {\n clauses.push([filter.column, filter.value.toString()]);\n }\n } else if (isBetweenFilter(filter)) {\n const [f1, f2] = filter.filters;\n const column = columns.find((c) => c.name === f1.column);\n if (\n isTimeDataValue(column) &&\n typeof f1.value === \"number\" &&\n typeof f2.value === \"number\"\n ) {\n const { name, label = name } = column;\n clauses.push([\n label,\n `${Time.millisToTimeString(f1.value)} - ${Time.millisToTimeString(f2.value)}`,\n ]);\n } else if (column) {\n const { name, label = name } = column;\n clauses.push([label, `${f1.value} - ${f2.value}`]);\n } else {\n clauses.push([f1.column, `${f1.value} - ${f2.value}`]);\n }\n } else if (isAndFilter(filter)) {\n filter.filters.forEach((f) =>\n getFilterClausesForDisplay(f, columns, clauses),\n );\n }\n return clauses;\n};\n\n/**\n * Given a list of FilterContainerFilterDescriptors and a FilterContainerFilter,\n * find filter descriptor from the list with an equal filter. If\n * none exists, return undefined, otherwise return the matched filter descriptor\n */\nexport const findMatchingFilter = (\n filterDescriptors: FilterContainerFilterDescriptor[],\n filter: FilterContainerFilter,\n) =>\n filterDescriptors.find(\n ({ active, filter: f }) =>\n !active && f !== null && f !== filter && filtersAreEqual(f, filter),\n );\n"],"names":["isMultiClauseFilter","isInFilter","isAndFilter","partition","isOrFilter","isSingleValueFilter","isMultiValueFilter","extractFilterForColumn","isBetweenFilter","isTimeDataValue","Time","filtersAreEqual"],"mappings":";;;;AA0BO,MAAM,GAAM,GAAA;AACZ,MAAM,MAAS,GAAA;AACf,MAAM,YAAe,GAAA;AACrB,MAAM,SAAY,GAAA;AAClB,MAAM,EAAK,GAAA;AACX,MAAM,WAAc,GAAA;AACpB,MAAM,SAAY,GAAA;AAClB,MAAM,EAAK,GAAA;AAeX,MAAM,aAAgB,GAAA,CAC3B,MACA,EAAA,OAAA,GAAmC,EACP,KAAA;AAC5B,EAAA,IAAI,MAAQ,EAAA;AACV,IAAI,IAAAA,4BAAA,CAAoB,MAAM,CAAG,EAAA;AAC/B,MAAO,MAAA,CAAA,OAAA,CAAQ,OAAQ,CAAA,CAAC,CAAM,KAAA,OAAA,CAAQ,KAAK,GAAG,aAAA,CAAc,CAAC,CAAC,CAAC,CAAA;AAAA,KAC1D,MAAA;AACL,MAAA,OAAA,CAAQ,KAAK,MAA+B,CAAA;AAAA;AAC9C;AAEF,EAAO,OAAA,OAAA;AACT;AAMA,MAAM,uBAA4C,GAAA;AAAA,EAChD,WAAa,EAAA;AACf,CAAA;AAEa,MAAA,gBAAA,GAAmB,CAAC,MAA8B,KAAA;AAC7D,EAAM,MAAA,EAAE,SAAY,GAAA,MAAA;AACpB,EAAI,IAAA,OAAA,CAAQ,SAAS,CAAG,EAAA;AACtB,IAAO,OAAA;AAAA,MACL,GAAG,MAAA;AAAA,MACH,OAAS,EAAA,MAAA,CAAO,OAAQ,CAAA,KAAA,CAAM,GAAG,CAAE,CAAA;AAAA,KACrC;AAAA,GACK,MAAA;AAEL,IAAO,OAAA,MAAA,CAAO,QAAQ,CAAC,CAAA;AAAA;AAE3B;AAMa,MAAA,SAAA,GAAY,CACvB,cACA,EAAA,MAAA,EACA,EAAE,WAAc,GAAA,GAAA,KAA0B,uBACd,KAAA;AAC5B,EAAA,IACEA,4BAAoB,CAAA,cAAc,CAClC,IAAA,cAAA,CAAe,OAAO,WACtB,EAAA;AAEA,IAAO,OAAA;AAAA,MACL,GAAG,cAAA;AAAA;AAAA;AAAA,MAGH,OAAS,EAAA,cAAA,CAAe,OAAQ,CAAA,MAAA,CAAO,MAAM;AAAA,KAC/C;AAAA,GAMK,MAAA;AACL,IAAO,OAAA;AAAA,MACL,EAAI,EAAA,WAAA;AAAA,MACJ,OAAA,EAAS,CAAC,cAAA,EAAgB,MAAM;AAAA,KAClC;AAAA;AAEJ;AAEa,MAAA,SAAA,GAAY,CACvB,cACA,EAAA,MAAA,EACA,EAAE,WAAc,GAAA,GAAA,KAA0B,uBACnB,KAAA;AACvB,EAAI,IAAA,gBAAA,CAAiB,MAAM,CAAG,EAAA;AAC5B,IAAI,IAAAA,4BAAA,CAAoB,MAAM,CAAG,EAAA,CAE1B,MAAA;AACL,MAAA,cAAA,GAAiB,sBAAsB,cAAgB,EAAA;AAAA,QACrD,MAAM,MAAO,CAAA;AAAA,OACd,CAAA;AAAA;AACH,GACF,MAAA,IAAW,iBAAkB,CAAA,MAAM,CAAG,EAAA;AACpC,IAAI,IAAAA,4BAAA,CAAoB,MAAM,CAAG,EAAA;AAGjC,IAAA,OAAO,sBAAsB,cAAgB,EAAA,EAAE,MAAM,MAAO,CAAA,MAAA,IAAU,IAAI,CAAA;AAAA;AAG5E,EAAA,IAAI,CAAC,cAAgB,EAAA;AACnB,IAAO,OAAA,MAAA;AAAA;AAET,EAAA,IAAI,CAAC,MAAQ,EAAA;AACX,IAAO,OAAA,cAAA;AAAA;AAET,EAAA,IAAI,cAAe,CAAA,EAAA,KAAO,GAAO,IAAA,MAAA,CAAO,OAAO,GAAK,EAAA;AAClD,IAAO,OAAA;AAAA,MACL,EAAI,EAAA,GAAA;AAAA,MACJ,OAAS,EAAA,OAAA,CAAQ,cAAe,CAAA,OAAA,EAAS,OAAO,OAAO;AAAA,KACzD;AAAA;AAEF,EAAI,IAAA,cAAA,CAAe,OAAO,GAAK,EAAA;AAC7B,IAAA,MAAM,OAAU,GAAA,eAAA,CAAgB,cAAe,CAAA,OAAA,EAAS,MAAM,CAAA;AAC9D,IAAO,OAAA,OAAA,CAAQ,SAAS,CAAI,GAAA,EAAE,IAAI,GAAK,EAAA,OAAA,EAAY,GAAA,OAAA,CAAQ,CAAC,CAAA;AAAA;AAE9D,EAAI,IAAA,MAAA,CAAO,OAAO,GAAK,EAAA;AACrB,IAAO,OAAA,EAAE,IAAI,GAAK,EAAA,OAAA,EAAS,OAAO,OAAQ,CAAA,MAAA,CAAO,cAAc,CAAE,EAAA;AAAA;AAGnE,EAAA,IAAI,YAAa,CAAA,cAAA,EAAgB,MAAQ,EAAA,IAAI,CAAG,EAAA;AAC9C,IAAO,OAAA,MAAA;AAAA;AAGT,EAAI,IAAA,QAAA,CAAS,cAAgB,EAAA,MAAM,CAAG,EAAA;AACpC,IAAO,OAAA,KAAA,CAAM,gBAAgB,MAAM,CAAA;AAAA;AAGrC,EAAA,OAAO,EAAE,EAAI,EAAA,WAAA,EAAa,SAAS,CAAC,cAAA,EAAgB,MAAM,CAAE,EAAA;AAC9D;AAEA,MAAM,gBAAA,GAAmB,CAAC,MAAoC,KAAA;AAC5D,EAAA,IAAI,CAAC,MAAQ,EAAA;AACX,IAAO,OAAA,KAAA;AAAA;AAET,EAAA,IAAIC,oBAAW,MAAM,CAAA,IAAK,MAAO,CAAA,MAAA,CAAO,WAAW,CAAG,EAAA;AACpD,IAAO,OAAA,IAAA;AAAA;AAET,EAAO,OAAAC,oBAAA,CAAY,MAAM,CAAA,IAAK,MAAO,CAAA,OAAA,CAAQ,KAAK,CAAC,CAAA,KAAM,gBAAiB,CAAA,CAAC,CAAC,CAAA;AAC9E,CAAA;AAsBA,MAAM,iBAAA,GAAoB,CAAC,MAAoC,KAAA;AAC7D,EAAA,IAAI,CAAC,MAAQ,EAAA;AACX,IAAO,OAAA,KAAA;AAAA;AAET,EAAA,IAAI,MAAO,CAAA,EAAA,KAAO,WAAe,IAAA,MAAA,CAAO,UAAU,EAAI,EAAA;AACpD,IAAO,OAAA,IAAA;AAAA;AAET,EAAA,OAAO,MAAO,CAAA,EAAA,KAAO,WAAe,IAAA,MAAA,CAAO,KAAU,KAAA,EAAA;AACvD,CAAA;AAEA,MAAM,eAAA,GAAkB,CAAC,OAAA,EAAmB,MAAmB,KAAA;AAC7D,EAAO,OAAA,OAAA,CAAQ,OAAO,MAAM,CAAA;AAC9B,CAAA;AAEA,MAAM,KAAA,GAAQ,CAAC,EAAA,EAAY,EAAmC,KAAA;AAC5D,EAAI,IAAA,gBAAA,CAAiB,EAAE,CAAG,EAAA;AACxB,IAAO,OAAA,EAAA;AAAA;AAET,EAAA,IAAID,mBAAW,CAAA,EAAE,CAAK,IAAAA,mBAAA,CAAW,EAAE,CAAG,EAAA;AACpC,IAAO,OAAA;AAAA,MACL,GAAG,EAAA;AAAA,MACH,MAAQ,EAAA;AAAA,QACN,GAAG,EAAG,CAAA,MAAA;AAAA;AAAA,QAEN,GAAI,GAAG,MAAiB,CAAA,MAAA;AAAA;AAAA,UAEtB,CAAC,CAAuB,KAAA,CAAE,EAAG,CAAA,MAAA,CAAiB,SAAS,CAAC;AAAA;AAC1D;AACF,KACF;AAAA,aACSA,mBAAW,CAAA,EAAE,CAAK,IAAA,EAAA,CAAG,OAAO,MAAQ,EAAA;AAC7C,IAAO,OAAA;AAAA,MACL,GAAG,EAAA;AAAA;AAAA;AAAA,MAGH,QAAQ,EAAG,CAAA,MAAA,CAAO,OAAO,CAAC,EAAA,CAAG,KAAK,CAAC;AAAA,KACrC;AAAA,aACS,EAAG,CAAA,EAAA,KAAO,MAAU,IAAA,EAAA,CAAG,OAAO,MAAQ,EAAA;AAC/C,IAAO,OAAA;AAAA,MACL,QAAQ,EAAG,CAAA,MAAA;AAAA,MACX,EAAI,EAAA,EAAA;AAAA;AAAA;AAAA,MAGJ,MAAQ,EAAA,CAAC,EAAG,CAAA,KAAA,EAAO,GAAG,KAAK;AAAA,KAC7B;AAAA;AAEF,EAAO,OAAA,EAAA;AACT,CAAA;AAEA,MAAM,OAAA,GAAU,CAAC,eAAA,EAA2B,kBAAiC,KAAA;AAC3E,EAAM,MAAA,cAAA,GAAiB,CAAC,EAAE,EAAA,EAAI,KAAe,EAAA,EAAE,EAAI,EAAA,GAAA,EAAkB,KAAA;AACnE,IAAA,OACE,QAAQ,GACP,IAAA,GAAA,CAAI,CAAC,CAAA,KAAM,OAAO,GAAI,CAAA,CAAC,CAAM,KAAA,GAAA,IAC7B,IAAI,CAAC,CAAA,KAAM,GAAO,IAAA,GAAA,CAAI,CAAC,CAAM,KAAA,GAAA;AAAA,GAElC;AACA,EAAM,MAAA,QAAA,GAAW,CAAC,cAAA,EAAwB,iBAA8B,KAAA;AACtE,IAAA,OACE,eAAe,MAAW,KAAA,iBAAA,CAAkB,MAC5C,IAAA,cAAA,CAAe,gBAAgB,iBAAiB,CAAA;AAAA,GAEpD;AACA,EAAM,MAAA,eAAA,GAAkB,CAAC,cAAA,KACvB,kBAAmB,CAAA,IAAA;AAAA,IAAK,CAAC,iBAAA,KACvB,QAAS,CAAA,cAAA,EAAgB,iBAAiB;AAAA,GACtC,KAAA,KAAA;AACR,EAAA,OAAO,eAAgB,CAAA,MAAA,CAAO,eAAe,CAAA,CAAE,OAAO,kBAAkB,CAAA;AAC1E,CAAA;AAEa,MAAA,YAAA,GAAe,CAAC,YAAA,EAAsB,cAA2B,KAAA;AAC5E,EAAA,IAAI,YAAa,CAAA,YAAA,EAAc,cAAgB,EAAA,IAAI,CAAG,EAAA;AACpD,IAAO,OAAA,IAAA;AAAA;AAET,EAAI,IAAA,YAAA,CAAa,OAAO,GAAK,EAAA;AAC3B,IAAM,MAAA,KAAA;AAAA,MACJ,8BAA8B,IAAK,CAAA,SAAA;AAAA,QACjC;AAAA,OACD,CAAA,MAAA,EAAS,IAAK,CAAA,SAAA,CAAU,YAAY,CAAC,CAAA;AAAA,KACxC;AAAA;AAEF,EAAM,MAAA,OAAA,GAAU,aAAa,OAAQ,CAAA,MAAA;AAAA,IACnC,CAAC,CAAA,KAAM,CAAC,YAAA,CAAa,GAAG,cAAc;AAAA,GACxC;AACA,EAAA,OAAO,QAAQ,MAAS,GAAA,CAAA,GAAI,EAAE,IAAM,EAAA,GAAA,EAAK,SAAY,GAAA,IAAA;AACvD;AAEa,MAAA,mBAAA,GAAsB,CACjC,UAAA,EACA,MAC6C,KAAA;AAC7C,EAAA,IAAI,CAAC,MAAQ,EAAA;AACX,IAAO,OAAA,CAAC,QAAW,KAAS,CAAA,CAAA;AAAA;AAE9B,EAAI,IAAA,MAAA,CAAO,WAAW,UAAY,EAAA;AAChC,IAAO,OAAA,CAAC,QAAQ,KAAS,CAAA,CAAA;AAAA;AAE3B,EAAI,IAAA,MAAA,CAAO,OAAO,GAAK,EAAA;AACrB,IAAO,OAAA,CAAC,QAAW,MAAM,CAAA;AAAA;AAE3B,EAAA,MAAM,CAAC,CAAC,YAAA,GAAe,KAAS,CAAA,CAAA,EAAG,OAAO,CAAI,GAAAE,kBAAA;AAAA,IAC3C,MAAoC,CAAA,OAAA;AAAA,IACrC,CAAC,CAAM,KAAA,CAAA,CAAE,MAAW,KAAA;AAAA,GACtB;AACA,EAAA,OAAO,OAAQ,CAAA,MAAA,KAAW,CACtB,GAAA,CAAC,cAAc,OAAQ,CAAA,CAAC,CAAC,CAAA,GACzB,CAAC,YAAc,EAAA,EAAE,EAAI,EAAA,GAAA,EAAK,SAAS,CAAA;AACzC;AAEa,MAAA,eAAA,GAAkB,CAAC,MAAA,EAAgB,MAA2B,KAAA;AACzE,EAAI,IAAAH,4BAAA,CAAoB,MAAM,CAAG,EAAA;AAC/B,IAAO,OAAA;AAAA,MACL,IAAI,MAAO,CAAA,EAAA;AAAA,MACX,OAAA,EAAS,OAAO,OAAQ,CAAA,GAAA,CAAI,CAAC,CAAM,KAAA,eAAA,CAAgB,CAAG,EAAA,MAAM,CAAC;AAAA,KAC/D;AAAA;AAEF,EAAO,OAAA,EAAE,GAAG,MAAA,EAAQ,MAAO,EAAA;AAC7B;AAEa,MAAA,oBAAA,GAAuB,CAClC,MAAA,EACA,MACY,KAAA;AACZ,EAAA,IAAI,CAAC,MAAQ,EAAA;AACX,IAAO,OAAA,KAAA;AAAA;AAET,EAAA,MAAM,EAAE,EAAA,EAAI,MAAQ,EAAA,aAAA,EAAkB,GAAA,MAAA;AACtC,EAAA,QAAQ,EAAI;AAAA,IACV,KAAK,GAAA;AAAA,IACL,KAAK,EAAA;AACH,MACE,OAAA,MAAA,CAAO,OAAW,IAAA,IAAA,IAClB,MAAO,CAAA,OAAA,CAAQ,IAAK,CAAA,CAAC,CAAM,KAAA,oBAAA,CAAqB,CAAG,EAAA,MAAM,CAAC,CAAA;AAAA,IAE9D;AACE,MAAA,OAAO,kBAAkB,MAAO,CAAA,IAAA;AAAA;AAEtC;AAEA,MAAM,qBAAA,GAAwB,CAC5B,YAAA,EACA,MACuB,KAAA;AACvB,EAAA,MAAM,UAAU,MAAO,CAAA,IAAA;AACvB,EAAA,IAAI,CAAC,YAAc,EAAA;AACjB,IAAO,OAAA,KAAA,CAAA;AAAA;AAET,EAAI,IAAA,YAAA,CAAa,WAAW,OAAS,EAAA;AACnC,IAAO,OAAA,KAAA,CAAA;AAAA;AAET,EAAA,IAAIE,oBAAY,CAAA,YAAY,CAAK,IAAAE,mBAAA,CAAW,YAAY,CAAG,EAAA;AACzD,IAAM,MAAA,EAAE,IAAO,GAAA,YAAA;AACf,IAAA,MAAM,UAAU,YAAa,CAAA,OAAA;AAC7B,IAAA,MAAM,kBAAkB,OAAQ,CAAA,MAAA,CAAO,CAAC,CAAM,KAAA,CAAA,CAAE,WAAW,OAAO,CAAA;AAClE,IAAA,QAAQ,gBAAgB,MAAQ;AAAA,MAC9B,KAAK,CAAA;AACH,QAAO,OAAA,KAAA,CAAA;AAAA,MACT,KAAK,CAAA;AACH,QAAA,OAAO,gBAAgB,CAAC,CAAA;AAAA,MAC1B;AACE,QAAO,OAAA,EAAE,EAAI,EAAA,OAAA,EAAS,eAAgB,EAAA;AAAA;AAC1C;AAEF,EAAO,OAAA,YAAA;AACT,CAAA;AAEA,MAAM,WAAW,CAAC,EAAA,EAAY,OAC5B,EAAG,CAAA,MAAA,KAAW,GAAG,MAChB,KAAA,EAAA,CAAG,EAAO,KAAA,GAAA,IAAO,GAAG,EAAO,KAAA,IAAA,CAAA,KAC3B,GAAG,EAAO,KAAA,GAAA,IAAO,GAAG,EAAO,KAAA,IAAA,CAAA;AAE9B,MAAM,UAAA,GAAa,CAAI,IAAA,EAAW,IAAc,KAAA;AAC9C,EAAA,IAAI,SAAS,IAAM,EAAA;AACjB,IAAO,OAAA,IAAA;AAAA;AAET,EAAI,IAAA,IAAA,CAAK,MAAW,KAAA,IAAA,CAAK,MAAQ,EAAA;AAC/B,IAAA,MAAM,CAAI,GAAA,IAAA,CAAK,KAAM,EAAA,CAAE,IAAK,EAAA;AAC5B,IAAA,MAAM,CAAI,GAAA,IAAA,CAAK,KAAM,EAAA,CAAE,IAAK,EAAA;AAC5B,IAAA,OAAO,EAAE,IAAK,CAAA,GAAG,CAAM,KAAA,CAAA,CAAE,KAAK,GAAG,CAAA;AAAA;AAEnC,EAAO,OAAA,KAAA;AACT,CAAA;AAEO,MAAM,YAAe,GAAA,CAAC,EAAa,EAAA,EAAA,EAAa,SAAS,KAAU,KAAA;AACxE,EAAA,IAAI,CAAC,MAAQ,EAAA;AACX,IAAO,OAAA,IAAA;AAAA;AAET,EAAA,IAAI,EAAM,IAAA,EAAA,IAAM,QAAS,CAAA,EAAA,EAAI,EAAE,CAAG,EAAA;AAChC,IAAA,OACE,GAAG,EAAO,KAAA,EAAA,CAAG,OACXC,4BAAoB,CAAA,EAAE,KACtBA,4BAAoB,CAAA,EAAE,CACtB,IAAA,EAAA,CAAG,UAAU,EAAG,CAAA,KAAA,IACfC,4BAAmB,EAAE,CAAA,IACpBA,4BAAmB,EAAE,CAAA;AAAA,IAErB,UAAW,CAAA,EAAA,CAAG,MAAiB,EAAA,EAAA,CAAG,MAAM,CAAA,CAAA;AAAA;AAGhD,EAAO,OAAA,KAAA;AACT;AAEO,MAAM,YAAe,GAAA,CAC1B,MACA,EAAA,SAAA,EACA,IACuB,KAAA;AACvB,EAAA,IAAI,UAAU,SAAW,EAAA;AACvB,IAAA,IAAI,SAAS,SAAW,EAAA;AACtB,MAAO,OAAA,SAAA;AAAA;AAET,IAAI,IAAA,MAAA,CAAO,OAAO,KAAO,EAAA;AACvB,MAAO,OAAA;AAAA,QACL,GAAG,MAAA;AAAA,QACH,OAAS,EAAA,MAAA,CAAO,OAAQ,CAAA,MAAA,CAAO,SAAS;AAAA,OAC1C;AAAA;AAEF,IAAM,MAAA,EAAE,MAAQ,EAAA,UAAA,EAAe,GAAA,SAAA;AAC/B,IAAA,IAAI,UAAY,EAAA;AACd,MAAA,MAAM,iBAAiB,SAAU,CAAA,MAAA,GAC7BC,+BAAuB,CAAA,MAAA,EAAQ,UAAU,CACzC,GAAA,KAAA,CAAA;AACJ,MAAA,IAAI,kBAAkB,UAAY,EAAA;AAGhC,QAAA,MAAM,SAAS,qBAAsB,CAAA,MAAA,EAAQ,EAAE,IAAA,EAAM,YAAY,CAAA;AACjE,QAAO,OAAA,YAAA,CAAa,MAAQ,EAAA,SAAA,EAAW,KAAK,CAAA;AAAA;AAC9C;AAEF,IAAO,OAAA;AAAA,MACL,EAAI,EAAA,KAAA;AAAA,MACJ,OAAA,EAAS,CAAC,MAAA,EAAQ,SAAS;AAAA,KAC7B;AAAA;AAEF,EAAA,IAAI,SAAW,EAAA;AACb,IAAO,OAAA,SAAA;AAAA;AAET,EAAO,OAAA,MAAA;AACT;AAEO,MAAM,kBAAqB,GAAA,CAChC,MACA,EAAA,YAAA,EACA,kBACuB,KAAA;AACvB,EAAI,IAAA,YAAA,CAAa,WAAW,CAAG,EAAA;AAC7B,IAAO,OAAA,KAAA,CAAA;AAAA;AAGT,EAAA,IAAI,kBAAoB,EAAA;AAEtB,IAAM,MAAA,UAAA,GAAa,YAAa,CAAA,CAAC,CAAE,CAAA,SAAA,CAAU,GAAG,YAAa,CAAA,CAAC,CAAE,CAAA,MAAA,GAAS,CAAC,CAAA;AAC1E,IAAO,OAAA;AAAA,MACL,MAAA;AAAA,MACA,EAAI,EAAA,QAAA;AAAA,MACJ,KAAA,EAAO,IAAI,UAAU,CAAA,CAAA;AAAA,KACvB;AAAA;AAGF,EAAO,OAAA;AAAA,IACL,MAAA;AAAA,IACA,EAAI,EAAA,IAAA;AAAA,IACJ,QAAQ,YAAa,CAAA,GAAA,CAAI,CAAC,KAAU,KAAA,CAAA,CAAA,EAAI,KAAK,CAAG,CAAA,CAAA;AAAA,GAClD;AACF;AAEO,MAAM,gBAAmB,GAAA,CAC9B,MACA,EAAA,EAAA,EACA,KAC6B,KAAA;AAC7B,EAAI,IAAA,EAAA,KAAO,QAAkB,OAAA,KAAA,CAAA;AAC7B,EAAA,IAAI,KAAU,KAAA,KAAA,CAAA,IAAa,KAAM,CAAA,KAAK,GAAU,OAAA,KAAA,CAAA;AAChD,EAAO,OAAA,EAAE,MAAQ,EAAA,EAAA,EAAI,KAAM,EAAA;AAC7B;AAQa,MAAA,0BAAA,GAA6B,CACxC,MACA,EAAA,OAAA,GAAuC,EACvC,EAAA,OAAA,GAA4B,EACP,KAAA;AACrB,EAAA,IAAI,WAAW,KAAW,CAAA,EAAA;AACxB,IAAO,OAAA,OAAA;AAAA,GACT,MAAA,IAAWF,4BAAoB,CAAA,MAAM,CAAG,EAAA;AACtC,IAAM,MAAA,MAAA,GAAS,QAAQ,IAAK,CAAA,CAAC,MAAM,CAAE,CAAA,IAAA,KAAS,OAAO,MAAM,CAAA;AAC3D,IAAA,IAAI,MAAQ,EAAA;AACV,MAAA,MAAM,EAAE,IAAA,EAAM,KAAQ,GAAA,IAAA,EAAS,GAAA,MAAA;AAC/B,MAAA,OAAA,CAAQ,KAAK,CAAC,KAAA,EAAO,OAAO,KAAM,CAAA,QAAA,EAAU,CAAC,CAAA;AAAA,KACxC,MAAA;AACL,MAAQ,OAAA,CAAA,IAAA,CAAK,CAAC,MAAO,CAAA,MAAA,EAAQ,OAAO,KAAM,CAAA,QAAA,EAAU,CAAC,CAAA;AAAA;AACvD,GACF,MAAA,IAAWG,wBAAgB,CAAA,MAAM,CAAG,EAAA;AAClC,IAAA,MAAM,CAAC,EAAA,EAAI,EAAE,CAAA,GAAI,MAAO,CAAA,OAAA;AACxB,IAAM,MAAA,MAAA,GAAS,QAAQ,IAAK,CAAA,CAAC,MAAM,CAAE,CAAA,IAAA,KAAS,GAAG,MAAM,CAAA;AACvD,IACE,IAAAC,wBAAA,CAAgB,MAAM,CAAA,IACtB,OAAO,EAAA,CAAG,UAAU,QACpB,IAAA,OAAO,EAAG,CAAA,KAAA,KAAU,QACpB,EAAA;AACA,MAAA,MAAM,EAAE,IAAA,EAAM,KAAQ,GAAA,IAAA,EAAS,GAAA,MAAA;AAC/B,MAAA,OAAA,CAAQ,IAAK,CAAA;AAAA,QACX,KAAA;AAAA,QACA,CAAA,EAAGC,aAAK,CAAA,kBAAA,CAAmB,EAAG,CAAA,KAAK,CAAC,CAAA,GAAA,EAAMA,aAAK,CAAA,kBAAA,CAAmB,EAAG,CAAA,KAAK,CAAC,CAAA;AAAA,OAC5E,CAAA;AAAA,eACQ,MAAQ,EAAA;AACjB,MAAA,MAAM,EAAE,IAAA,EAAM,KAAQ,GAAA,IAAA,EAAS,GAAA,MAAA;AAC/B,MAAQ,OAAA,CAAA,IAAA,CAAK,CAAC,KAAA,EAAO,CAAG,EAAA,EAAA,CAAG,KAAK,CAAM,GAAA,EAAA,EAAA,CAAG,KAAK,CAAA,CAAE,CAAC,CAAA;AAAA,KAC5C,MAAA;AACL,MAAQ,OAAA,CAAA,IAAA,CAAK,CAAC,EAAA,CAAG,MAAQ,EAAA,CAAA,EAAG,EAAG,CAAA,KAAK,CAAM,GAAA,EAAA,EAAA,CAAG,KAAK,CAAA,CAAE,CAAC,CAAA;AAAA;AACvD,GACF,MAAA,IAAWR,oBAAY,CAAA,MAAM,CAAG,EAAA;AAC9B,IAAA,MAAA,CAAO,OAAQ,CAAA,OAAA;AAAA,MAAQ,CAAC,CAAA,KACtB,0BAA2B,CAAA,CAAA,EAAG,SAAS,OAAO;AAAA,KAChD;AAAA;AAEF,EAAO,OAAA,OAAA;AACT;AAOO,MAAM,kBAAqB,GAAA,CAChC,iBACA,EAAA,MAAA,KAEA,iBAAkB,CAAA,IAAA;AAAA,EAChB,CAAC,EAAE,MAAQ,EAAA,MAAA,EAAQ,GACjB,KAAA,CAAC,MAAU,IAAA,CAAA,KAAM,IAAQ,IAAA,CAAA,KAAM,MAAU,IAAAS,wBAAA,CAAgB,GAAG,MAAM;AACtE;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/cjs/index.js DELETED
@@ -1,80 +0,0 @@
1
- 'use strict';
2
-
3
- var ColumnFilter = require('./column-filter/ColumnFilter.js');
4
- var FilterBar = require('./filter-bar/FilterBar.js');
5
- var ColumnPicker = require('./filter-clause/column-picker/ColumnPicker.js');
6
- var OperatorPicker = require('./filter-clause/operator-picker/OperatorPicker.js');
7
- var ExpandoCombobox = require('./filter-clause/ExpandoCombobox.js');
8
- var FilterClause = require('./filter-clause/FilterClause.js');
9
- var FilterClauseValueEditorText = require('./filter-clause/value-editors/FilterClauseValueEditorText.js');
10
- var ExtendedSingleValueFilterClause = require('./filter-container/ExtendedSingleValueFilterClause.js');
11
- var FilterContainer = require('./filter-container/FilterContainer.js');
12
- var useFilterContextMenu = require('./filter-context-menu/useFilterContextMenu.js');
13
- var FilterDisplay = require('./filter-display/FilterDisplay.js');
14
- var FilterEditor = require('./filter-editor/FilterEditor.js');
15
- var FilterPanel = require('./filter-panel/FilterPanel.js');
16
- var FilterPill = require('./filter-pill/FilterPill.js');
17
- var FilterPillNext = require('./filter-pill/FilterPillNext.js');
18
- var FilterContext = require('./filter-provider/FilterContext.js');
19
- var FilterProvider = require('./filter-provider/FilterProvider.js');
20
- var filterUtils = require('./filter-utils.js');
21
- var FilterModel = require('./FilterModel.js');
22
- var InlineFilter = require('./inline-filter/InlineFilter.js');
23
- var QuickFilters = require('./quick-filters/QuickFilters.js');
24
- var FilterNamePrompt = require('./saved-filters/FilterNamePrompt.js');
25
- var SavedFilterPanel = require('./saved-filters/SavedFilterPanel.js');
26
- var TabbedFilterContainer = require('./tabbed-filter-container/TabbedFilterContainer.js');
27
- var ToggleFilter = require('./toggle-filter/ToggleFilter.js');
28
-
29
-
30
-
31
- exports.ColumnFilter = ColumnFilter.ColumnFilter;
32
- exports.FilterBar = FilterBar.FilterBar;
33
- exports.ColumnPicker = ColumnPicker.ColumnPicker;
34
- exports.OperatorPicker = OperatorPicker.OperatorPicker;
35
- exports.ExpandoCombobox = ExpandoCombobox.ExpandoCombobox;
36
- exports.FilterClause = FilterClause.FilterClause;
37
- exports.FilterClauseValueEditorText = FilterClauseValueEditorText.FilterClauseValueEditorText;
38
- exports.ExtendedSingleValueFilterClause = ExtendedSingleValueFilterClause.ExtendedSingleValueFilterClause;
39
- exports.FilterContainer = FilterContainer.FilterContainer;
40
- exports.FilterContainerColumnFilter = FilterContainer.FilterContainerColumnFilter;
41
- exports.useFilterContextMenu = useFilterContextMenu.useFilterContextMenu;
42
- exports.FilterDisplay = FilterDisplay.FilterDisplay;
43
- exports.FilterEditor = FilterEditor.FilterEditor;
44
- exports.FilterPanel = FilterPanel.FilterPanel;
45
- exports.FilterPill = FilterPill.FilterPill;
46
- exports.FilterPillNext = FilterPillNext.FilterPillNext;
47
- exports.NULL_FILTER = FilterContext.NULL_FILTER;
48
- exports.useSavedFilters = FilterContext.useSavedFilters;
49
- exports.FilterProvider = FilterProvider.FilterProvider;
50
- exports.AND = filterUtils.AND;
51
- exports.ENDS_WITH = filterUtils.ENDS_WITH;
52
- exports.EQUALS = filterUtils.EQUALS;
53
- exports.GREATER_THAN = filterUtils.GREATER_THAN;
54
- exports.IN = filterUtils.IN;
55
- exports.LESS_THAN = filterUtils.LESS_THAN;
56
- exports.OR = filterUtils.OR;
57
- exports.STARTS_WITH = filterUtils.STARTS_WITH;
58
- exports.addClause = filterUtils.addClause;
59
- exports.addFilter = filterUtils.addFilter;
60
- exports.filterClauses = filterUtils.filterClauses;
61
- exports.filterEquals = filterUtils.filterEquals;
62
- exports.filterIncludesColumn = filterUtils.filterIncludesColumn;
63
- exports.findMatchingFilter = filterUtils.findMatchingFilter;
64
- exports.getFilterClausesForDisplay = filterUtils.getFilterClausesForDisplay;
65
- exports.getNumericFilter = filterUtils.getNumericFilter;
66
- exports.getTypeaheadFilter = filterUtils.getTypeaheadFilter;
67
- exports.overrideColName = filterUtils.overrideColName;
68
- exports.removeFilter = filterUtils.removeFilter;
69
- exports.removeLastClause = filterUtils.removeLastClause;
70
- exports.splitFilterOnColumn = filterUtils.splitFilterOnColumn;
71
- exports.updateFilter = filterUtils.updateFilter;
72
- exports.FilterClauseModel = FilterModel.FilterClauseModel;
73
- exports.FilterModel = FilterModel.FilterModel;
74
- exports.InlineFilter = InlineFilter.InlineFilter;
75
- exports.QuickFilters = QuickFilters.QuickFilters;
76
- exports.SaveFilterConfirmPrompt = FilterNamePrompt.FilterNamePrompt;
77
- exports.SavedFilterPanel = SavedFilterPanel.SavedFilterPanel;
78
- exports.TabbedFilterContainer = TabbedFilterContainer.TabbedFilterContainer;
79
- exports.ToggleFilter = ToggleFilter.ToggleFilter;
80
- //# sourceMappingURL=index.js.map
package/cjs/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var inlineFilteCss = ".vuuInlineFilter {\n --filter-borderColor: var(--salt-separable-secondary-borderColor);\n --filter-color: var(--salt-content-primary-foreground-disabled);\n --filter-padding: 1px 1px 1px 0;\n --item-content-height: 20px;\n height: var(--salt-size-base);\n\n .vuuInlineFilterCell {\n /* the padding ensures the outline is not clipped */\n --saltInput-paddingLeft: 2px;\n --filter-padding: 0 2px;\n }\n\n .vuuInlineFilterCell:has(input:focus) {\n --filter-borderColor: transparent;\n\n outline-width: 2px;\n outline-offset: -2px;\n outline-style: dotted;\n outline-color: var(--salt-focused-outlineColor);\n\n .saltInput-input {\n outline: none;\n }\n .saltInput-focused {\n border: none;\n outline: none;\n }\n\n .saltComboBox-focused {\n outline: none;\n }\n }\n\n .vuuInlineFilterCell:focus {\n --filter-borderColor: transparent;\n }\n\n .vuuInlineFilterCell {\n --saltInput-minHeight: var(--item-content-height);\n --saltPillInput-minHeight: var(--item-content-height);\n align-items: center;\n display: inline-flex;\n height: 100%;\n padding: var(--filter-padding);\n\n .vuuTypeaheadInput {\n border-style: solid;\n border-color: var(--filter-borderColor);\n border-width: 1px;\n border-radius: 0;\n height: var(--item-content-height);\n input::placeholder {\n color: var(--filter-color);\n }\n\n .saltButton:after {\n --vuu-icon-size: 6px;\n }\n }\n\n .saltInput-primary.vuuInput {\n border-style: solid;\n border-color: var(--filter-borderColor);\n border-width: 1px;\n border-radius: 0;\n height: var(--item-content-height);\n min-height: var(--item-content-height);\n input::placeholder {\n color: var(--filter-color);\n }\n }\n\n }\n\n .vuuInlineFilter-virtualColSpan {\n display: inline-block;\n }\n}\n\n.vuuInlineFilter:focus-within {\n --filter-borderColor: var(--salt-separable-primary-borderColor);\n --filter-color: var(--salt-content-primary-foreground);\n}\n";
4
-
5
- module.exports = inlineFilteCss;
6
- //# sourceMappingURL=InlineFilter.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InlineFilter.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,70 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var styles = require('@salt-ds/styles');
5
- var window = require('@salt-ds/window');
6
- var vuuTable = require('@vuu-ui/vuu-table');
7
- var cx = require('clsx');
8
- var FilterContainer = require('../filter-container/FilterContainer.js');
9
- var useInlineFilter = require('./useInlineFilter.js');
10
- var InlineFilter$1 = require('./InlineFilter.css.js');
11
-
12
- const classBase = "vuuInlineFilter";
13
- const InputProps = {
14
- inputProps: {
15
- placeholder: "Filter value"
16
- },
17
- variant: "primary"
18
- };
19
- const TypeaheadProps = {
20
- highlightFirstSuggestion: false,
21
- minCharacterCountToTriggerSuggestions: 0
22
- };
23
- const InlineFilter = ({
24
- ariaRole,
25
- onFilterApplied,
26
- onFilterCleared,
27
- table,
28
- ...htmlAttributes
29
- }) => {
30
- const targetWindow = window.useWindow();
31
- styles.useComponentCssInjection({
32
- testId: "vuu-inline-filter",
33
- css: InlineFilter$1,
34
- window: targetWindow
35
- });
36
- const { columns, onKeyDown, virtualColSpan } = useInlineFilter.useInlineFilter();
37
- return /* @__PURE__ */ jsxRuntime.jsxs(
38
- FilterContainer.FilterContainer,
39
- {
40
- ...htmlAttributes,
41
- className: classBase,
42
- onFilterApplied,
43
- onFilterCleared,
44
- role: ariaRole,
45
- children: [
46
- /* @__PURE__ */ jsxRuntime.jsx(vuuTable.VirtualColSpan, { width: virtualColSpan }),
47
- columns.map((column, i) => /* @__PURE__ */ jsxRuntime.jsx(
48
- FilterContainer.FilterContainerColumnFilter,
49
- {
50
- InputProps,
51
- TypeaheadProps,
52
- "aria-colindex": i + 1,
53
- className: cx(`${classBase}Cell`, "vuuTableCell", {
54
- "vuuTableCell-right": column.align === "right"
55
- }),
56
- column,
57
- onKeyDown,
58
- role: "cell",
59
- style: { width: column.width },
60
- table
61
- },
62
- column.name
63
- ))
64
- ]
65
- }
66
- );
67
- };
68
-
69
- exports.InlineFilter = InlineFilter;
70
- //# sourceMappingURL=InlineFilter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InlineFilter.js","sources":["../../../../packages/vuu-filters/src/inline-filter/InlineFilter.tsx"],"sourcesContent":["import { type InputProps } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { TableSchemaTable } from \"@vuu-ui/vuu-data-types\";\nimport { VuuFilter } from \"@vuu-ui/vuu-protocol-types\";\nimport { VirtualColSpan } from \"@vuu-ui/vuu-table\";\nimport { BaseRowProps } from \"@vuu-ui/vuu-table-types\";\nimport cx from \"clsx\";\nimport { HTMLAttributes } from \"react\";\nimport {\n FilterContainerColumnFilter as ColumnFilter,\n FilterContainer,\n} from \"../filter-container/FilterContainer\";\nimport { useInlineFilter } from \"./useInlineFilter\";\n\nimport { ColumnFilterProps } from \"../column-filter/ColumnFilter\";\nimport { FilterAppliedHandler } from \"../filter-container/useFilterContainer\";\nimport inlineFilteCss from \"./InlineFilter.css\";\n\nconst classBase = \"vuuInlineFilter\";\n\nexport type FilterValueChangeHandler = (filter: VuuFilter) => void;\nexport interface InlineFilterProps\n extends Partial<BaseRowProps>,\n Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n onFilterApplied?: FilterAppliedHandler;\n onFilterCleared?: () => void;\n table: TableSchemaTable;\n}\n\nconst InputProps: Partial<InputProps> = {\n inputProps: {\n placeholder: \"Filter value\",\n },\n variant: \"primary\",\n};\n\nconst TypeaheadProps: ColumnFilterProps[\"TypeaheadProps\"] = {\n highlightFirstSuggestion: false,\n minCharacterCountToTriggerSuggestions: 0,\n};\n\nexport const InlineFilter = ({\n ariaRole,\n onFilterApplied,\n onFilterCleared,\n table,\n ...htmlAttributes\n}: InlineFilterProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-inline-filter\",\n css: inlineFilteCss,\n window: targetWindow,\n });\n\n const { columns, onKeyDown, virtualColSpan } = useInlineFilter();\n\n return (\n <FilterContainer\n {...htmlAttributes}\n className={classBase}\n onFilterApplied={onFilterApplied}\n onFilterCleared={onFilterCleared}\n role={ariaRole}\n >\n <VirtualColSpan width={virtualColSpan} />\n {columns.map((column, i) => (\n <ColumnFilter\n InputProps={InputProps}\n TypeaheadProps={TypeaheadProps}\n aria-colindex={i + 1}\n className={cx(`${classBase}Cell`, \"vuuTableCell\", {\n \"vuuTableCell-right\": column.align === \"right\",\n })}\n column={column}\n onKeyDown={onKeyDown}\n key={column.name}\n role=\"cell\"\n style={{ width: column.width }}\n table={table}\n />\n ))}\n </FilterContainer>\n );\n};\n"],"names":["useWindow","useComponentCssInjection","inlineFilteCss","useInlineFilter","jsxs","FilterContainer","jsx","VirtualColSpan","ColumnFilter"],"mappings":";;;;;;;;;;;AAmBA,MAAM,SAAY,GAAA,iBAAA;AAWlB,MAAM,UAAkC,GAAA;AAAA,EACtC,UAAY,EAAA;AAAA,IACV,WAAa,EAAA;AAAA,GACf;AAAA,EACA,OAAS,EAAA;AACX,CAAA;AAEA,MAAM,cAAsD,GAAA;AAAA,EAC1D,wBAA0B,EAAA,KAAA;AAAA,EAC1B,qCAAuC,EAAA;AACzC,CAAA;AAEO,MAAM,eAAe,CAAC;AAAA,EAC3B,QAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAyB,KAAA;AACvB,EAAA,MAAM,eAAeA,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,mBAAA;AAAA,IACR,GAAK,EAAAC,cAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,MAAM,EAAE,OAAA,EAAS,SAAW,EAAA,cAAA,KAAmBC,+BAAgB,EAAA;AAE/D,EACE,uBAAAC,eAAA;AAAA,IAACC,+BAAA;AAAA,IAAA;AAAA,MACE,GAAG,cAAA;AAAA,MACJ,SAAW,EAAA,SAAA;AAAA,MACX,eAAA;AAAA,MACA,eAAA;AAAA,MACA,IAAM,EAAA,QAAA;AAAA,MAEN,QAAA,EAAA;AAAA,wBAACC,cAAA,CAAAC,uBAAA,EAAA,EAAe,OAAO,cAAgB,EAAA,CAAA;AAAA,QACtC,OAAQ,CAAA,GAAA,CAAI,CAAC,MAAA,EAAQ,CACpB,qBAAAD,cAAA;AAAA,UAACE,2CAAA;AAAA,UAAA;AAAA,YACC,UAAA;AAAA,YACA,cAAA;AAAA,YACA,iBAAe,CAAI,GAAA,CAAA;AAAA,YACnB,SAAW,EAAA,EAAA,CAAG,CAAG,EAAA,SAAS,QAAQ,cAAgB,EAAA;AAAA,cAChD,oBAAA,EAAsB,OAAO,KAAU,KAAA;AAAA,aACxC,CAAA;AAAA,YACD,MAAA;AAAA,YACA,SAAA;AAAA,YAEA,IAAK,EAAA,MAAA;AAAA,YACL,KAAO,EAAA,EAAE,KAAO,EAAA,MAAA,CAAO,KAAM,EAAA;AAAA,YAC7B;AAAA,WAAA;AAAA,UAHK,MAAO,CAAA;AAAA,SAKf;AAAA;AAAA;AAAA,GACH;AAEJ;;;;"}
@@ -1,16 +0,0 @@
1
- 'use strict';
2
-
3
- var vuuTable = require('@vuu-ui/vuu-table');
4
-
5
- const useInlineFilter = () => {
6
- const { columns = [], virtualColSpan = 0 } = vuuTable.useHeaderProps();
7
- const onKeyDown = vuuTable.useEditableCell();
8
- return {
9
- columns,
10
- onKeyDown,
11
- virtualColSpan
12
- };
13
- };
14
-
15
- exports.useInlineFilter = useInlineFilter;
16
- //# sourceMappingURL=useInlineFilter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useInlineFilter.js","sources":["../../../../packages/vuu-filters/src/inline-filter/useInlineFilter.ts"],"sourcesContent":["import { useEditableCell, useHeaderProps } from \"@vuu-ui/vuu-table\";\n\nexport const useInlineFilter = () => {\n const { columns = [], virtualColSpan = 0 } = useHeaderProps();\n const onKeyDown = useEditableCell();\n\n return {\n columns,\n onKeyDown,\n virtualColSpan,\n };\n};\n"],"names":["useHeaderProps","useEditableCell"],"mappings":";;;;AAEO,MAAM,kBAAkB,MAAM;AACnC,EAAA,MAAM,EAAE,OAAU,GAAA,IAAI,cAAiB,GAAA,CAAA,KAAMA,uBAAe,EAAA;AAC5D,EAAA,MAAM,YAAYC,wBAAgB,EAAA;AAElC,EAAO,OAAA;AAAA,IACL,OAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var quickFiltersCss = ".vuuQuickFilters {\n --saltFormField-width: 150px;\n --saltInput-background: transparent;\n --saltInput-height: 18px;\n --saltInput-minHeight: 18px;\n\n display: flex;\n gap: var(--salt-spacing-100);\n align-items: end;\n width: fit-content;\n\n .vuuQuickFilters-filter-container {\n background-color: var(--salt-container-primary-background);\n border: solid 1px var(--salt-editable-borderColor);\n border-radius: 2px;\n display: flex;\n height: 43px;\n }\n\n .saltFormField {\n padding: 2px var(--salt-spacing-200);\n }\n\n .saltFormField:not(:last-child) {\n border-right: solid 1px var(--salt-editable-borderColor);\n }\n\n .vuuTypeaheadInput {\n .saltPillInput-endAdornmentContainer {\n .saltButton {\n border-style: none;\n }\n }\n }\n}\n";
4
-
5
- module.exports = quickFiltersCss;
6
- //# sourceMappingURL=QuickFilters.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QuickFilters.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}