@multiplatform.one/table 6.7.0 → 7.1.0

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 (473) hide show
  1. package/README.md +4 -3
  2. package/dist/cjs/components/ChildTable/index.cjs +2 -1
  3. package/dist/cjs/components/ChildTable/index.native.js +2 -1
  4. package/dist/cjs/components/ChildTable/index.native.js.map +1 -1
  5. package/dist/cjs/components/ColumnHeaderFilter/index.cjs +17 -9
  6. package/dist/cjs/components/ColumnHeaderFilter/index.native.js +32 -11
  7. package/dist/cjs/components/ColumnHeaderFilter/index.native.js.map +1 -1
  8. package/dist/cjs/components/DataTable/DataTableDocumentList.cjs +222 -0
  9. package/dist/cjs/components/DataTable/DataTableDocumentList.native.js +237 -0
  10. package/dist/cjs/components/DataTable/DataTableDocumentList.native.js.map +1 -0
  11. package/dist/cjs/components/DataTable/DataTableMobileCards.cjs +5 -2
  12. package/dist/cjs/components/DataTable/DataTableMobileCards.native.js +6 -2
  13. package/dist/cjs/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  14. package/dist/cjs/components/DataTable/DataTableRoot.cjs +92 -41
  15. package/dist/cjs/components/DataTable/DataTableRoot.native.js +97 -43
  16. package/dist/cjs/components/DataTable/DataTableRoot.native.js.map +1 -1
  17. package/dist/cjs/components/DataTable/DataTableVirtualized.cjs +8 -2
  18. package/dist/cjs/components/DataTable/DataTableVirtualized.native.js +9 -3
  19. package/dist/cjs/components/DataTable/DataTableVirtualized.native.js.map +1 -1
  20. package/dist/cjs/components/DataTable/documentListSlots.cjs +59 -0
  21. package/dist/cjs/components/DataTable/documentListSlots.native.js +85 -0
  22. package/dist/cjs/components/DataTable/documentListSlots.native.js.map +1 -0
  23. package/dist/cjs/components/DataTable/index.native.js +74 -59
  24. package/dist/cjs/components/DataTable/index.native.js.map +1 -1
  25. package/dist/cjs/components/DataTable/rowStateChrome.cjs +55 -0
  26. package/dist/cjs/components/DataTable/rowStateChrome.native.js +59 -0
  27. package/dist/cjs/components/DataTable/rowStateChrome.native.js.map +1 -0
  28. package/dist/cjs/components/DataTableCell/CellModalEditor.cjs +24 -3
  29. package/dist/cjs/components/DataTableCell/CellModalEditor.native.js +6 -1
  30. package/dist/cjs/components/DataTableCell/CellModalEditor.native.js.map +1 -1
  31. package/dist/cjs/components/DataTableCell/CellOptionsEditor.cjs +9 -2
  32. package/dist/cjs/components/DataTableCell/CellOptionsEditor.native.js +11 -2
  33. package/dist/cjs/components/DataTableCell/CellOptionsEditor.native.js.map +1 -1
  34. package/dist/cjs/components/DataTableCell/index.cjs +74 -63
  35. package/dist/cjs/components/DataTableCell/index.native.js +94 -82
  36. package/dist/cjs/components/DataTableCell/index.native.js.map +1 -1
  37. package/dist/cjs/components/DataTableColumnPinning/index.cjs +54 -37
  38. package/dist/cjs/components/DataTableColumnPinning/index.native.js +59 -38
  39. package/dist/cjs/components/DataTableColumnPinning/index.native.js.map +1 -1
  40. package/dist/cjs/components/DataTableDateFilter/index.cjs +33 -14
  41. package/dist/cjs/components/DataTableDateFilter/index.native.js +33 -12
  42. package/dist/cjs/components/DataTableDateFilter/index.native.js.map +1 -1
  43. package/dist/cjs/components/DataTableExport/index.cjs +35 -7
  44. package/dist/cjs/components/DataTableExport/index.native.js +42 -7
  45. package/dist/cjs/components/DataTableExport/index.native.js.map +1 -1
  46. package/dist/cjs/components/DataTableFacetMenu/index.cjs +140 -0
  47. package/dist/cjs/components/DataTableFacetMenu/index.native.js +156 -0
  48. package/dist/cjs/components/DataTableFacetMenu/index.native.js.map +1 -0
  49. package/dist/cjs/components/DataTableFilterButton/index.cjs +51 -32
  50. package/dist/cjs/components/DataTableFilterButton/index.native.js +63 -40
  51. package/dist/cjs/components/DataTableFilterButton/index.native.js.map +1 -1
  52. package/dist/cjs/components/DataTableFilterChips/FilterChip.cjs +143 -0
  53. package/dist/cjs/components/DataTableFilterChips/FilterChip.native.js +148 -0
  54. package/dist/cjs/components/DataTableFilterChips/FilterChip.native.js.map +1 -0
  55. package/dist/cjs/components/DataTableFilterChips/index.cjs +9 -31
  56. package/dist/cjs/components/DataTableFilterChips/index.native.js +9 -32
  57. package/dist/cjs/components/DataTableFilterChips/index.native.js.map +1 -1
  58. package/dist/cjs/components/DataTableFilters/index.cjs +145 -502
  59. package/dist/cjs/components/DataTableFilters/index.native.js +171 -544
  60. package/dist/cjs/components/DataTableFilters/index.native.js.map +1 -1
  61. package/dist/cjs/components/DataTableGrouping/index.cjs +273 -108
  62. package/dist/cjs/components/DataTableGrouping/index.native.js +310 -157
  63. package/dist/cjs/components/DataTableGrouping/index.native.js.map +1 -1
  64. package/dist/cjs/components/DataTablePagination/index.cjs +147 -95
  65. package/dist/cjs/components/DataTablePagination/index.native.js +159 -106
  66. package/dist/cjs/components/DataTablePagination/index.native.js.map +1 -1
  67. package/dist/cjs/components/DataTableSearch/index.cjs +251 -210
  68. package/dist/cjs/components/DataTableSearch/index.native.js +292 -243
  69. package/dist/cjs/components/DataTableSearch/index.native.js.map +1 -1
  70. package/dist/cjs/components/DataTableToolbar/index.cjs +141 -115
  71. package/dist/cjs/components/DataTableToolbar/index.native.js +163 -148
  72. package/dist/cjs/components/DataTableToolbar/index.native.js.map +1 -1
  73. package/dist/cjs/components/DataTableViewOptions/index.cjs +25 -21
  74. package/dist/cjs/components/DataTableViewOptions/index.native.js +6 -4
  75. package/dist/cjs/components/DataTableViewOptions/index.native.js.map +1 -1
  76. package/dist/cjs/components/SimpleTable/index.cjs +336 -46
  77. package/dist/cjs/components/SimpleTable/index.native.js +356 -48
  78. package/dist/cjs/components/SimpleTable/index.native.js.map +1 -1
  79. package/dist/cjs/components/TableInput/index.cjs +147 -38
  80. package/dist/cjs/components/TableInput/index.native.js +54 -38
  81. package/dist/cjs/components/TableInput/index.native.js.map +1 -1
  82. package/dist/cjs/components/TableInput/shared.cjs +36 -1
  83. package/dist/cjs/components/TableInput/shared.native.js +35 -0
  84. package/dist/cjs/components/TableInput/shared.native.js.map +1 -1
  85. package/dist/cjs/hooks/useDataTable.cjs +33 -2
  86. package/dist/cjs/hooks/useDataTable.native.js +41 -2
  87. package/dist/cjs/hooks/useDataTable.native.js.map +1 -1
  88. package/dist/cjs/hooks/useInfiniteRows.cjs +20 -3
  89. package/dist/cjs/hooks/useInfiniteRows.native.js +20 -3
  90. package/dist/cjs/hooks/useInfiniteRows.native.js.map +1 -1
  91. package/dist/cjs/index.cjs +2 -0
  92. package/dist/cjs/index.native.js +2 -0
  93. package/dist/cjs/index.native.js.map +1 -1
  94. package/dist/cjs/utils/filterUtils.cjs +12 -5
  95. package/dist/cjs/utils/filterUtils.native.js +20 -5
  96. package/dist/cjs/utils/filterUtils.native.js.map +1 -1
  97. package/dist/esm/components/ChildTable/index.mjs +2 -1
  98. package/dist/esm/components/ChildTable/index.mjs.map +1 -1
  99. package/dist/esm/components/ChildTable/index.native.js +2 -1
  100. package/dist/esm/components/ChildTable/index.native.js.map +1 -1
  101. package/dist/esm/components/ColumnHeaderFilter/index.mjs +17 -9
  102. package/dist/esm/components/ColumnHeaderFilter/index.mjs.map +1 -1
  103. package/dist/esm/components/ColumnHeaderFilter/index.native.js +32 -11
  104. package/dist/esm/components/ColumnHeaderFilter/index.native.js.map +1 -1
  105. package/dist/esm/components/DataTable/DataTableDocumentList.mjs +196 -0
  106. package/dist/esm/components/DataTable/DataTableDocumentList.mjs.map +1 -0
  107. package/dist/esm/components/DataTable/DataTableDocumentList.native.js +208 -0
  108. package/dist/esm/components/DataTable/DataTableDocumentList.native.js.map +1 -0
  109. package/dist/esm/components/DataTable/DataTableMobileCards.mjs +5 -2
  110. package/dist/esm/components/DataTable/DataTableMobileCards.mjs.map +1 -1
  111. package/dist/esm/components/DataTable/DataTableMobileCards.native.js +6 -2
  112. package/dist/esm/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  113. package/dist/esm/components/DataTable/DataTableRoot.mjs +93 -42
  114. package/dist/esm/components/DataTable/DataTableRoot.mjs.map +1 -1
  115. package/dist/esm/components/DataTable/DataTableRoot.native.js +98 -44
  116. package/dist/esm/components/DataTable/DataTableRoot.native.js.map +1 -1
  117. package/dist/esm/components/DataTable/DataTableVirtualized.mjs +8 -2
  118. package/dist/esm/components/DataTable/DataTableVirtualized.mjs.map +1 -1
  119. package/dist/esm/components/DataTable/DataTableVirtualized.native.js +9 -3
  120. package/dist/esm/components/DataTable/DataTableVirtualized.native.js.map +1 -1
  121. package/dist/esm/components/DataTable/documentListSlots.mjs +33 -0
  122. package/dist/esm/components/DataTable/documentListSlots.mjs.map +1 -0
  123. package/dist/esm/components/DataTable/documentListSlots.native.js +56 -0
  124. package/dist/esm/components/DataTable/documentListSlots.native.js.map +1 -0
  125. package/dist/esm/components/DataTable/index.native.js +52 -37
  126. package/dist/esm/components/DataTable/index.native.js.map +1 -1
  127. package/dist/esm/components/DataTable/rowStateChrome.mjs +28 -0
  128. package/dist/esm/components/DataTable/rowStateChrome.mjs.map +1 -0
  129. package/dist/esm/components/DataTable/rowStateChrome.native.js +29 -0
  130. package/dist/esm/components/DataTable/rowStateChrome.native.js.map +1 -0
  131. package/dist/esm/components/DataTableCell/CellModalEditor.mjs +25 -4
  132. package/dist/esm/components/DataTableCell/CellModalEditor.mjs.map +1 -1
  133. package/dist/esm/components/DataTableCell/CellModalEditor.native.js +6 -1
  134. package/dist/esm/components/DataTableCell/CellModalEditor.native.js.map +1 -1
  135. package/dist/esm/components/DataTableCell/CellOptionsEditor.mjs +9 -2
  136. package/dist/esm/components/DataTableCell/CellOptionsEditor.mjs.map +1 -1
  137. package/dist/esm/components/DataTableCell/CellOptionsEditor.native.js +11 -2
  138. package/dist/esm/components/DataTableCell/CellOptionsEditor.native.js.map +1 -1
  139. package/dist/esm/components/DataTableCell/index.mjs +75 -64
  140. package/dist/esm/components/DataTableCell/index.mjs.map +1 -1
  141. package/dist/esm/components/DataTableCell/index.native.js +95 -83
  142. package/dist/esm/components/DataTableCell/index.native.js.map +1 -1
  143. package/dist/esm/components/DataTableColumnPinning/index.mjs +54 -37
  144. package/dist/esm/components/DataTableColumnPinning/index.mjs.map +1 -1
  145. package/dist/esm/components/DataTableColumnPinning/index.native.js +59 -38
  146. package/dist/esm/components/DataTableColumnPinning/index.native.js.map +1 -1
  147. package/dist/esm/components/DataTableDateFilter/index.mjs +34 -15
  148. package/dist/esm/components/DataTableDateFilter/index.mjs.map +1 -1
  149. package/dist/esm/components/DataTableDateFilter/index.native.js +34 -13
  150. package/dist/esm/components/DataTableDateFilter/index.native.js.map +1 -1
  151. package/dist/esm/components/DataTableExport/index.mjs +36 -8
  152. package/dist/esm/components/DataTableExport/index.mjs.map +1 -1
  153. package/dist/esm/components/DataTableExport/index.native.js +43 -8
  154. package/dist/esm/components/DataTableExport/index.native.js.map +1 -1
  155. package/dist/esm/components/DataTableFacetMenu/index.mjs +115 -0
  156. package/dist/esm/components/DataTableFacetMenu/index.mjs.map +1 -0
  157. package/dist/esm/components/DataTableFacetMenu/index.native.js +128 -0
  158. package/dist/esm/components/DataTableFacetMenu/index.native.js.map +1 -0
  159. package/dist/esm/components/DataTableFilterButton/index.mjs +54 -35
  160. package/dist/esm/components/DataTableFilterButton/index.mjs.map +1 -1
  161. package/dist/esm/components/DataTableFilterButton/index.native.js +66 -43
  162. package/dist/esm/components/DataTableFilterButton/index.native.js.map +1 -1
  163. package/dist/esm/components/DataTableFilterChips/FilterChip.mjs +118 -0
  164. package/dist/esm/components/DataTableFilterChips/FilterChip.mjs.map +1 -0
  165. package/dist/esm/components/DataTableFilterChips/FilterChip.native.js +120 -0
  166. package/dist/esm/components/DataTableFilterChips/FilterChip.native.js.map +1 -0
  167. package/dist/esm/components/DataTableFilterChips/index.mjs +9 -32
  168. package/dist/esm/components/DataTableFilterChips/index.mjs.map +1 -1
  169. package/dist/esm/components/DataTableFilterChips/index.native.js +9 -33
  170. package/dist/esm/components/DataTableFilterChips/index.native.js.map +1 -1
  171. package/dist/esm/components/DataTableFilters/index.mjs +149 -506
  172. package/dist/esm/components/DataTableFilters/index.mjs.map +1 -1
  173. package/dist/esm/components/DataTableFilters/index.native.js +175 -548
  174. package/dist/esm/components/DataTableFilters/index.native.js.map +1 -1
  175. package/dist/esm/components/DataTableGrouping/index.mjs +275 -110
  176. package/dist/esm/components/DataTableGrouping/index.mjs.map +1 -1
  177. package/dist/esm/components/DataTableGrouping/index.native.js +287 -134
  178. package/dist/esm/components/DataTableGrouping/index.native.js.map +1 -1
  179. package/dist/esm/components/DataTablePagination/index.mjs +148 -96
  180. package/dist/esm/components/DataTablePagination/index.mjs.map +1 -1
  181. package/dist/esm/components/DataTablePagination/index.native.js +160 -107
  182. package/dist/esm/components/DataTablePagination/index.native.js.map +1 -1
  183. package/dist/esm/components/DataTableSearch/index.mjs +256 -215
  184. package/dist/esm/components/DataTableSearch/index.mjs.map +1 -1
  185. package/dist/esm/components/DataTableSearch/index.native.js +297 -248
  186. package/dist/esm/components/DataTableSearch/index.native.js.map +1 -1
  187. package/dist/esm/components/DataTableToolbar/index.mjs +145 -119
  188. package/dist/esm/components/DataTableToolbar/index.mjs.map +1 -1
  189. package/dist/esm/components/DataTableToolbar/index.native.js +167 -152
  190. package/dist/esm/components/DataTableToolbar/index.native.js.map +1 -1
  191. package/dist/esm/components/DataTableViewOptions/index.mjs +26 -22
  192. package/dist/esm/components/DataTableViewOptions/index.mjs.map +1 -1
  193. package/dist/esm/components/DataTableViewOptions/index.native.js +7 -5
  194. package/dist/esm/components/DataTableViewOptions/index.native.js.map +1 -1
  195. package/dist/esm/components/SimpleTable/index.mjs +338 -48
  196. package/dist/esm/components/SimpleTable/index.mjs.map +1 -1
  197. package/dist/esm/components/SimpleTable/index.native.js +358 -50
  198. package/dist/esm/components/SimpleTable/index.native.js.map +1 -1
  199. package/dist/esm/components/TableInput/index.mjs +150 -41
  200. package/dist/esm/components/TableInput/index.mjs.map +1 -1
  201. package/dist/esm/components/TableInput/index.native.js +55 -39
  202. package/dist/esm/components/TableInput/index.native.js.map +1 -1
  203. package/dist/esm/components/TableInput/shared.mjs +34 -1
  204. package/dist/esm/components/TableInput/shared.mjs.map +1 -1
  205. package/dist/esm/components/TableInput/shared.native.js +34 -1
  206. package/dist/esm/components/TableInput/shared.native.js.map +1 -1
  207. package/dist/esm/hooks/useDataTable.mjs +33 -2
  208. package/dist/esm/hooks/useDataTable.mjs.map +1 -1
  209. package/dist/esm/hooks/useDataTable.native.js +41 -2
  210. package/dist/esm/hooks/useDataTable.native.js.map +1 -1
  211. package/dist/esm/hooks/useInfiniteRows.mjs +20 -3
  212. package/dist/esm/hooks/useInfiniteRows.mjs.map +1 -1
  213. package/dist/esm/hooks/useInfiniteRows.native.js +20 -3
  214. package/dist/esm/hooks/useInfiniteRows.native.js.map +1 -1
  215. package/dist/esm/index.mjs +2 -1
  216. package/dist/esm/index.mjs.map +1 -1
  217. package/dist/esm/index.native.js +2 -1
  218. package/dist/esm/index.native.js.map +1 -1
  219. package/dist/esm/utils/filterUtils.mjs +12 -5
  220. package/dist/esm/utils/filterUtils.mjs.map +1 -1
  221. package/dist/esm/utils/filterUtils.native.js +20 -5
  222. package/dist/esm/utils/filterUtils.native.js.map +1 -1
  223. package/dist/jsx/components/ChildTable/index.mjs +2 -1
  224. package/dist/jsx/components/ChildTable/index.mjs.map +1 -1
  225. package/dist/jsx/components/ChildTable/index.native.js +2 -1
  226. package/dist/jsx/components/ChildTable/index.native.js.map +1 -1
  227. package/dist/jsx/components/ColumnHeaderFilter/index.mjs +17 -9
  228. package/dist/jsx/components/ColumnHeaderFilter/index.mjs.map +1 -1
  229. package/dist/jsx/components/ColumnHeaderFilter/index.native.js +32 -11
  230. package/dist/jsx/components/ColumnHeaderFilter/index.native.js.map +1 -1
  231. package/dist/jsx/components/DataTable/DataTableDocumentList.mjs +196 -0
  232. package/dist/jsx/components/DataTable/DataTableDocumentList.mjs.map +1 -0
  233. package/dist/jsx/components/DataTable/DataTableDocumentList.native.js +237 -0
  234. package/dist/jsx/components/DataTable/DataTableDocumentList.native.js.map +1 -0
  235. package/dist/jsx/components/DataTable/DataTableMobileCards.mjs +5 -2
  236. package/dist/jsx/components/DataTable/DataTableMobileCards.mjs.map +1 -1
  237. package/dist/jsx/components/DataTable/DataTableMobileCards.native.js +6 -2
  238. package/dist/jsx/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  239. package/dist/jsx/components/DataTable/DataTableRoot.mjs +93 -42
  240. package/dist/jsx/components/DataTable/DataTableRoot.mjs.map +1 -1
  241. package/dist/jsx/components/DataTable/DataTableRoot.native.js +97 -43
  242. package/dist/jsx/components/DataTable/DataTableRoot.native.js.map +1 -1
  243. package/dist/jsx/components/DataTable/DataTableVirtualized.mjs +8 -2
  244. package/dist/jsx/components/DataTable/DataTableVirtualized.mjs.map +1 -1
  245. package/dist/jsx/components/DataTable/DataTableVirtualized.native.js +9 -3
  246. package/dist/jsx/components/DataTable/DataTableVirtualized.native.js.map +1 -1
  247. package/dist/jsx/components/DataTable/documentListSlots.mjs +33 -0
  248. package/dist/jsx/components/DataTable/documentListSlots.mjs.map +1 -0
  249. package/dist/jsx/components/DataTable/documentListSlots.native.js +85 -0
  250. package/dist/jsx/components/DataTable/documentListSlots.native.js.map +1 -0
  251. package/dist/jsx/components/DataTable/index.native.js +74 -59
  252. package/dist/jsx/components/DataTable/index.native.js.map +1 -1
  253. package/dist/jsx/components/DataTable/rowStateChrome.mjs +28 -0
  254. package/dist/jsx/components/DataTable/rowStateChrome.mjs.map +1 -0
  255. package/dist/jsx/components/DataTable/rowStateChrome.native.js +59 -0
  256. package/dist/jsx/components/DataTable/rowStateChrome.native.js.map +1 -0
  257. package/dist/jsx/components/DataTableCell/CellModalEditor.mjs +25 -4
  258. package/dist/jsx/components/DataTableCell/CellModalEditor.mjs.map +1 -1
  259. package/dist/jsx/components/DataTableCell/CellModalEditor.native.js +6 -1
  260. package/dist/jsx/components/DataTableCell/CellModalEditor.native.js.map +1 -1
  261. package/dist/jsx/components/DataTableCell/CellOptionsEditor.mjs +9 -2
  262. package/dist/jsx/components/DataTableCell/CellOptionsEditor.mjs.map +1 -1
  263. package/dist/jsx/components/DataTableCell/CellOptionsEditor.native.js +11 -2
  264. package/dist/jsx/components/DataTableCell/CellOptionsEditor.native.js.map +1 -1
  265. package/dist/jsx/components/DataTableCell/index.mjs +75 -64
  266. package/dist/jsx/components/DataTableCell/index.mjs.map +1 -1
  267. package/dist/jsx/components/DataTableCell/index.native.js +94 -82
  268. package/dist/jsx/components/DataTableCell/index.native.js.map +1 -1
  269. package/dist/jsx/components/DataTableColumnPinning/index.mjs +54 -37
  270. package/dist/jsx/components/DataTableColumnPinning/index.mjs.map +1 -1
  271. package/dist/jsx/components/DataTableColumnPinning/index.native.js +59 -38
  272. package/dist/jsx/components/DataTableColumnPinning/index.native.js.map +1 -1
  273. package/dist/jsx/components/DataTableDateFilter/index.mjs +34 -15
  274. package/dist/jsx/components/DataTableDateFilter/index.mjs.map +1 -1
  275. package/dist/jsx/components/DataTableDateFilter/index.native.js +33 -12
  276. package/dist/jsx/components/DataTableDateFilter/index.native.js.map +1 -1
  277. package/dist/jsx/components/DataTableExport/index.mjs +36 -8
  278. package/dist/jsx/components/DataTableExport/index.mjs.map +1 -1
  279. package/dist/jsx/components/DataTableExport/index.native.js +42 -7
  280. package/dist/jsx/components/DataTableExport/index.native.js.map +1 -1
  281. package/dist/jsx/components/DataTableFacetMenu/index.mjs +115 -0
  282. package/dist/jsx/components/DataTableFacetMenu/index.mjs.map +1 -0
  283. package/dist/jsx/components/DataTableFacetMenu/index.native.js +156 -0
  284. package/dist/jsx/components/DataTableFacetMenu/index.native.js.map +1 -0
  285. package/dist/jsx/components/DataTableFilterButton/index.mjs +54 -35
  286. package/dist/jsx/components/DataTableFilterButton/index.mjs.map +1 -1
  287. package/dist/jsx/components/DataTableFilterButton/index.native.js +63 -40
  288. package/dist/jsx/components/DataTableFilterButton/index.native.js.map +1 -1
  289. package/dist/jsx/components/DataTableFilterChips/FilterChip.mjs +118 -0
  290. package/dist/jsx/components/DataTableFilterChips/FilterChip.mjs.map +1 -0
  291. package/dist/jsx/components/DataTableFilterChips/FilterChip.native.js +148 -0
  292. package/dist/jsx/components/DataTableFilterChips/FilterChip.native.js.map +1 -0
  293. package/dist/jsx/components/DataTableFilterChips/index.mjs +9 -32
  294. package/dist/jsx/components/DataTableFilterChips/index.mjs.map +1 -1
  295. package/dist/jsx/components/DataTableFilterChips/index.native.js +9 -32
  296. package/dist/jsx/components/DataTableFilterChips/index.native.js.map +1 -1
  297. package/dist/jsx/components/DataTableFilters/index.mjs +149 -506
  298. package/dist/jsx/components/DataTableFilters/index.mjs.map +1 -1
  299. package/dist/jsx/components/DataTableFilters/index.native.js +171 -544
  300. package/dist/jsx/components/DataTableFilters/index.native.js.map +1 -1
  301. package/dist/jsx/components/DataTableGrouping/index.mjs +275 -110
  302. package/dist/jsx/components/DataTableGrouping/index.mjs.map +1 -1
  303. package/dist/jsx/components/DataTableGrouping/index.native.js +310 -157
  304. package/dist/jsx/components/DataTableGrouping/index.native.js.map +1 -1
  305. package/dist/jsx/components/DataTablePagination/index.mjs +148 -96
  306. package/dist/jsx/components/DataTablePagination/index.mjs.map +1 -1
  307. package/dist/jsx/components/DataTablePagination/index.native.js +159 -106
  308. package/dist/jsx/components/DataTablePagination/index.native.js.map +1 -1
  309. package/dist/jsx/components/DataTableSearch/index.mjs +256 -215
  310. package/dist/jsx/components/DataTableSearch/index.mjs.map +1 -1
  311. package/dist/jsx/components/DataTableSearch/index.native.js +292 -243
  312. package/dist/jsx/components/DataTableSearch/index.native.js.map +1 -1
  313. package/dist/jsx/components/DataTableToolbar/index.mjs +145 -119
  314. package/dist/jsx/components/DataTableToolbar/index.mjs.map +1 -1
  315. package/dist/jsx/components/DataTableToolbar/index.native.js +163 -148
  316. package/dist/jsx/components/DataTableToolbar/index.native.js.map +1 -1
  317. package/dist/jsx/components/DataTableViewOptions/index.mjs +26 -22
  318. package/dist/jsx/components/DataTableViewOptions/index.mjs.map +1 -1
  319. package/dist/jsx/components/DataTableViewOptions/index.native.js +6 -4
  320. package/dist/jsx/components/DataTableViewOptions/index.native.js.map +1 -1
  321. package/dist/jsx/components/SimpleTable/index.mjs +338 -48
  322. package/dist/jsx/components/SimpleTable/index.mjs.map +1 -1
  323. package/dist/jsx/components/SimpleTable/index.native.js +356 -48
  324. package/dist/jsx/components/SimpleTable/index.native.js.map +1 -1
  325. package/dist/jsx/components/TableInput/index.mjs +150 -41
  326. package/dist/jsx/components/TableInput/index.mjs.map +1 -1
  327. package/dist/jsx/components/TableInput/index.native.js +54 -38
  328. package/dist/jsx/components/TableInput/index.native.js.map +1 -1
  329. package/dist/jsx/components/TableInput/shared.mjs +34 -1
  330. package/dist/jsx/components/TableInput/shared.mjs.map +1 -1
  331. package/dist/jsx/components/TableInput/shared.native.js +35 -0
  332. package/dist/jsx/components/TableInput/shared.native.js.map +1 -1
  333. package/dist/jsx/hooks/useDataTable.mjs +33 -2
  334. package/dist/jsx/hooks/useDataTable.mjs.map +1 -1
  335. package/dist/jsx/hooks/useDataTable.native.js +41 -2
  336. package/dist/jsx/hooks/useDataTable.native.js.map +1 -1
  337. package/dist/jsx/hooks/useInfiniteRows.mjs +20 -3
  338. package/dist/jsx/hooks/useInfiniteRows.mjs.map +1 -1
  339. package/dist/jsx/hooks/useInfiniteRows.native.js +20 -3
  340. package/dist/jsx/hooks/useInfiniteRows.native.js.map +1 -1
  341. package/dist/jsx/index.js +2 -1
  342. package/dist/jsx/index.js.map +1 -1
  343. package/dist/jsx/index.mjs +2 -1
  344. package/dist/jsx/index.mjs.map +1 -1
  345. package/dist/jsx/index.native.js +2 -0
  346. package/dist/jsx/index.native.js.map +1 -1
  347. package/dist/jsx/utils/filterUtils.mjs +12 -5
  348. package/dist/jsx/utils/filterUtils.mjs.map +1 -1
  349. package/dist/jsx/utils/filterUtils.native.js +20 -5
  350. package/dist/jsx/utils/filterUtils.native.js.map +1 -1
  351. package/package.json +15 -15
  352. package/src/components/ChildTable/index.tsx +1 -0
  353. package/src/components/ColumnHeaderFilter/ColumnHeaderFilter.spec.tsx +85 -0
  354. package/src/components/ColumnHeaderFilter/index.tsx +28 -10
  355. package/src/components/DataTable/DataTable.stories.tsx +30 -0
  356. package/src/components/DataTable/DataTableDocumentList.tsx +224 -0
  357. package/src/components/DataTable/DataTableMobileCards.tsx +20 -8
  358. package/src/components/DataTable/DataTableRoot.tsx +135 -58
  359. package/src/components/DataTable/DataTableVirtualized.tsx +8 -11
  360. package/src/components/DataTable/cardLayout.spec.tsx +89 -0
  361. package/src/components/DataTable/documentListSlots.ts +57 -0
  362. package/src/components/DataTable/index.native.tsx +76 -50
  363. package/src/components/DataTable/keepPreviousData.spec.tsx +137 -0
  364. package/src/components/DataTable/rowRing.spec.tsx +118 -0
  365. package/src/components/DataTable/rowStateChrome.ts +38 -0
  366. package/src/components/DataTableCell/CellModalEditor.native.tsx +4 -0
  367. package/src/components/DataTableCell/CellModalEditor.tsx +31 -3
  368. package/src/components/DataTableCell/CellOptionsEditor.tsx +29 -12
  369. package/src/components/DataTableCell/DataTableCell.stories.tsx +3 -3
  370. package/src/components/DataTableCell/cellDraftPolicy.spec.tsx +131 -4
  371. package/src/components/DataTableCell/dataTableCell.spec.tsx +36 -1
  372. package/src/components/DataTableCell/index.tsx +121 -86
  373. package/src/components/DataTableColumnPinning/DataTableColumnPinning.spec.tsx +66 -0
  374. package/src/components/DataTableColumnPinning/index.tsx +32 -17
  375. package/src/components/DataTableDateFilter/DataTableDateFilter.spec.tsx +9 -1
  376. package/src/components/DataTableDateFilter/dateFilterZones.spec.ts +316 -0
  377. package/src/components/DataTableDateFilter/index.tsx +42 -22
  378. package/src/components/DataTableExport/exportDateZones.spec.tsx +348 -0
  379. package/src/components/DataTableExport/index.tsx +107 -63
  380. package/src/components/DataTableFacetMenu/DataTableFacetMenu.spec.tsx +264 -0
  381. package/src/components/DataTableFacetMenu/DataTableFacetMenu.stories.tsx +212 -0
  382. package/src/components/DataTableFacetMenu/index.tsx +202 -0
  383. package/src/components/DataTableFilterButton/index.tsx +66 -49
  384. package/src/components/DataTableFilterChips/DataTableFilterChips.spec.tsx +22 -0
  385. package/src/components/DataTableFilterChips/FilterChip.tsx +122 -0
  386. package/src/components/DataTableFilterChips/index.tsx +13 -29
  387. package/src/components/DataTableFilters/DataTableFilters.spec.tsx +56 -0
  388. package/src/components/DataTableFilters/index.tsx +169 -584
  389. package/src/components/DataTableGrouping/DataTableGrouping.spec.tsx +85 -0
  390. package/src/components/DataTableGrouping/index.tsx +270 -130
  391. package/src/components/DataTablePagination/DataTablePagination.spec.tsx +79 -4
  392. package/src/components/DataTablePagination/index.tsx +168 -112
  393. package/src/components/DataTableSearch/DataTableSearch.spec.tsx +40 -0
  394. package/src/components/DataTableSearch/DataTableSearch.stories.tsx +1 -1
  395. package/src/components/DataTableSearch/index.tsx +192 -163
  396. package/src/components/DataTableToolbar/DataTableToolbar.spec.tsx +48 -18
  397. package/src/components/DataTableToolbar/DataTableToolbar.stories.tsx +5 -45
  398. package/src/components/DataTableToolbar/index.tsx +128 -99
  399. package/src/components/DataTableViewOptions/index.tsx +29 -22
  400. package/src/components/SimpleTable/SimpleTable.stories.tsx +29 -5
  401. package/src/components/SimpleTable/index.tsx +442 -61
  402. package/src/components/SimpleTable/simpleTable.spec.tsx +140 -12
  403. package/src/components/TableInput/index.native.tsx +91 -81
  404. package/src/components/TableInput/index.tsx +191 -50
  405. package/src/components/TableInput/shared.ts +57 -0
  406. package/src/components/TableInput/tableInput.spec.tsx +104 -0
  407. package/src/hooks/useDataTable.spec.ts +100 -3
  408. package/src/hooks/useDataTable.ts +44 -1
  409. package/src/hooks/useInfiniteRows.spec.tsx +37 -0
  410. package/src/hooks/useInfiniteRows.ts +34 -4
  411. package/src/index.ts +7 -0
  412. package/src/types.ts +54 -3
  413. package/src/utils/filterUtils.ts +27 -5
  414. package/types/components/ChildTable/index.d.ts.map +1 -1
  415. package/types/components/ColumnHeaderFilter/index.d.ts.map +1 -1
  416. package/types/components/DataTable/DataTableDocumentList.d.ts +32 -0
  417. package/types/components/DataTable/DataTableDocumentList.d.ts.map +1 -0
  418. package/types/components/DataTable/DataTableMobileCards.d.ts +3 -1
  419. package/types/components/DataTable/DataTableMobileCards.d.ts.map +1 -1
  420. package/types/components/DataTable/DataTableRoot.d.ts +1 -1
  421. package/types/components/DataTable/DataTableRoot.d.ts.map +1 -1
  422. package/types/components/DataTable/DataTableVirtualized.d.ts +1 -2
  423. package/types/components/DataTable/DataTableVirtualized.d.ts.map +1 -1
  424. package/types/components/DataTable/documentListSlots.d.ts +26 -0
  425. package/types/components/DataTable/documentListSlots.d.ts.map +1 -0
  426. package/types/components/DataTable/index.native.d.ts +1 -1
  427. package/types/components/DataTable/index.native.d.ts.map +1 -1
  428. package/types/components/DataTable/rowStateChrome.d.ts +18 -0
  429. package/types/components/DataTable/rowStateChrome.d.ts.map +1 -0
  430. package/types/components/DataTableCell/CellModalEditor.d.ts +6 -1
  431. package/types/components/DataTableCell/CellModalEditor.d.ts.map +1 -1
  432. package/types/components/DataTableCell/CellModalEditor.native.d.ts +1 -1
  433. package/types/components/DataTableCell/CellModalEditor.native.d.ts.map +1 -1
  434. package/types/components/DataTableCell/CellOptionsEditor.d.ts +11 -3
  435. package/types/components/DataTableCell/CellOptionsEditor.d.ts.map +1 -1
  436. package/types/components/DataTableCell/index.d.ts +1 -1
  437. package/types/components/DataTableCell/index.d.ts.map +1 -1
  438. package/types/components/DataTableColumnPinning/index.d.ts.map +1 -1
  439. package/types/components/DataTableDateFilter/index.d.ts.map +1 -1
  440. package/types/components/DataTableExport/index.d.ts +17 -6
  441. package/types/components/DataTableExport/index.d.ts.map +1 -1
  442. package/types/components/DataTableFacetMenu/index.d.ts +84 -0
  443. package/types/components/DataTableFacetMenu/index.d.ts.map +1 -0
  444. package/types/components/DataTableFilterButton/index.d.ts.map +1 -1
  445. package/types/components/DataTableFilterChips/FilterChip.d.ts +15 -0
  446. package/types/components/DataTableFilterChips/FilterChip.d.ts.map +1 -0
  447. package/types/components/DataTableFilterChips/index.d.ts +5 -0
  448. package/types/components/DataTableFilterChips/index.d.ts.map +1 -1
  449. package/types/components/DataTableFilters/index.d.ts +11 -0
  450. package/types/components/DataTableFilters/index.d.ts.map +1 -1
  451. package/types/components/DataTableGrouping/index.d.ts.map +1 -1
  452. package/types/components/DataTablePagination/index.d.ts +5 -0
  453. package/types/components/DataTablePagination/index.d.ts.map +1 -1
  454. package/types/components/DataTableSearch/index.d.ts.map +1 -1
  455. package/types/components/DataTableToolbar/index.d.ts +2 -0
  456. package/types/components/DataTableToolbar/index.d.ts.map +1 -1
  457. package/types/components/SimpleTable/index.d.ts +27 -5
  458. package/types/components/SimpleTable/index.d.ts.map +1 -1
  459. package/types/components/TableInput/index.d.ts +6 -1
  460. package/types/components/TableInput/index.d.ts.map +1 -1
  461. package/types/components/TableInput/index.native.d.ts +6 -1
  462. package/types/components/TableInput/index.native.d.ts.map +1 -1
  463. package/types/components/TableInput/shared.d.ts +38 -0
  464. package/types/components/TableInput/shared.d.ts.map +1 -1
  465. package/types/hooks/useDataTable.d.ts +1 -1
  466. package/types/hooks/useDataTable.d.ts.map +1 -1
  467. package/types/hooks/useInfiniteRows.d.ts +8 -1
  468. package/types/hooks/useInfiniteRows.d.ts.map +1 -1
  469. package/types/index.d.ts +1 -0
  470. package/types/index.d.ts.map +1 -1
  471. package/types/types.d.ts +54 -3
  472. package/types/types.d.ts.map +1 -1
  473. package/types/utils/filterUtils.d.ts.map +1 -1
@@ -33,616 +33,243 @@ var import_theme = require("@multiplatform.one/theme");
33
33
  var import_react2 = require("react");
34
34
  var import_forms = require("@multiplatform.one/forms");
35
35
  var import_tamagui = require("tamagui");
36
- var import_filterUtils = require("../../utils/filterUtils.native.js");
36
+ var import_filterFields = require("../../utils/filterFields.native.js");
37
37
  var import_t = require("../../shared/t.native.js");
38
38
  var import_DataTableStateContext = require("../DataTable/DataTableStateContext.native.js");
39
+ var import_DataTableFilterChips = require("../DataTableFilterChips/index.native.js");
40
+ var import_FilterOperatorValueEditor = require("../FilterOperatorValueEditor/index.native.js");
39
41
  function DataTableFilters(props) {
40
- var _ref, _props_filters, _ref1, _props_onFiltersChange, _ref2, _props_onAddFilter, _ref3, _props_onRemoveFilter, _ref4, _props_onClearFilters, _props_availableColumns;
42
+ var _ref, _props_filters, _ref1, _props_onAddFilter, _ref2, _props_onRemoveFilter, _ref3, _props_onClearFilters, _props_availableColumns, _filters_find;
41
43
  var ctx = (0, import_DataTableStateContext.useDataTableState)();
42
44
  var filters = (_ref = (_props_filters = props.filters) !== null && _props_filters !== void 0 ? _props_filters : ctx === null || ctx === void 0 ? void 0 : ctx.state.filters) !== null && _ref !== void 0 ? _ref : [];
43
- var onFiltersChange = (_ref1 = (_props_onFiltersChange = props.onFiltersChange) !== null && _props_onFiltersChange !== void 0 ? _props_onFiltersChange : ctx === null || ctx === void 0 ? void 0 : ctx.actions.setFilters) !== null && _ref1 !== void 0 ? _ref1 : function () {};
44
- var onAddFilter = (_ref2 = (_props_onAddFilter = props.onAddFilter) !== null && _props_onAddFilter !== void 0 ? _props_onAddFilter : ctx === null || ctx === void 0 ? void 0 : ctx.actions.addFilter) !== null && _ref2 !== void 0 ? _ref2 : function () {};
45
- var onRemoveFilter = (_ref3 = (_props_onRemoveFilter = props.onRemoveFilter) !== null && _props_onRemoveFilter !== void 0 ? _props_onRemoveFilter : ctx === null || ctx === void 0 ? void 0 : ctx.actions.removeFilter) !== null && _ref3 !== void 0 ? _ref3 : function () {};
46
- var onClearFilters = (_ref4 = (_props_onClearFilters = props.onClearFilters) !== null && _props_onClearFilters !== void 0 ? _props_onClearFilters : ctx === null || ctx === void 0 ? void 0 : ctx.actions.clearFilters) !== null && _ref4 !== void 0 ? _ref4 : function () {};
45
+ var onAddFilter = (_ref1 = (_props_onAddFilter = props.onAddFilter) !== null && _props_onAddFilter !== void 0 ? _props_onAddFilter : ctx === null || ctx === void 0 ? void 0 : ctx.actions.addFilter) !== null && _ref1 !== void 0 ? _ref1 : function () {};
46
+ var onRemoveFilter = (_ref2 = (_props_onRemoveFilter = props.onRemoveFilter) !== null && _props_onRemoveFilter !== void 0 ? _props_onRemoveFilter : ctx === null || ctx === void 0 ? void 0 : ctx.actions.removeFilter) !== null && _ref2 !== void 0 ? _ref2 : function () {};
47
+ var onClearFilters = (_ref3 = (_props_onClearFilters = props.onClearFilters) !== null && _props_onClearFilters !== void 0 ? _props_onClearFilters : ctx === null || ctx === void 0 ? void 0 : ctx.actions.clearFilters) !== null && _ref3 !== void 0 ? _ref3 : function () {};
47
48
  var availableColumns = (_props_availableColumns = props.availableColumns) !== null && _props_availableColumns !== void 0 ? _props_availableColumns : [];
48
49
  var {
49
50
  maxFilters = 10,
50
51
  showFilterCount = true,
51
52
  compact = false
52
53
  } = props;
53
- var [showFilterBuilder, setShowFilterBuilder] = (0, import_react2.useState)(false);
54
+ var [builderOpen, setBuilderOpen] = (0, import_react2.useState)(false);
55
+ var [editingId, setEditingId] = (0, import_react2.useState)(null);
54
56
  var {
55
57
  knobProps
56
- } = (0, import_theme.useResolvedKnobs)();
58
+ } = (0, import_theme.useResolvedKnobs)({
59
+ compact
60
+ });
57
61
  var canAddMoreFilters = filters.length < maxFilters;
58
- var handleAddFilter = function handleAddFilter2(filter) {
62
+ var editingFilter = editingId ? (_filters_find = filters.find(function (f) {
63
+ return f.id === editingId;
64
+ })) !== null && _filters_find !== void 0 ? _filters_find : null : null;
65
+ var triggerName = compact ? (0, import_t.t)("Add Filter") : (0, import_t.t)("Filter");
66
+ var triggerLabel = showFilterCount && filters.length > 0 ? `${triggerName} (${filters.length})` : triggerName;
67
+ var handleCommit = function handleCommit2(filter) {
68
+ if (editingId) {
69
+ var _ref4, _props_onFiltersChange;
70
+ var updated = filters.map(function (row) {
71
+ return row.id === editingId ? {
72
+ ...row,
73
+ ...filter
74
+ } : row;
75
+ });
76
+ ((_ref4 = (_props_onFiltersChange = props.onFiltersChange) !== null && _props_onFiltersChange !== void 0 ? _props_onFiltersChange : ctx === null || ctx === void 0 ? void 0 : ctx.actions.setFilters) !== null && _ref4 !== void 0 ? _ref4 : function () {})(updated);
77
+ setEditingId(null);
78
+ return;
79
+ }
59
80
  onAddFilter(filter);
60
81
  };
61
- var handleUpdateFilter = function handleUpdateFilter2(filterId, updates) {
62
- var updatedFilters = filters.map(function (filter) {
63
- return filter.id === filterId ? {
64
- ...filter,
65
- ...updates
66
- } : filter;
67
- });
68
- onFiltersChange(updatedFilters);
82
+ var openBuilder = function openBuilder2(filterId) {
83
+ setEditingId(filterId !== null && filterId !== void 0 ? filterId : null);
84
+ setBuilderOpen(true);
85
+ };
86
+ var handleOpenChange = function handleOpenChange2(next) {
87
+ setBuilderOpen(next);
88
+ if (!next) setEditingId(null);
69
89
  };
70
- if (compact) {
71
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
90
+ var trigger = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
91
+ size: "$3",
92
+ compact: true,
93
+ ...(filters.length > 0 ? {
94
+ accent: true
95
+ } : {
96
+ variant: "outlined"
97
+ }),
98
+ icon: compact ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.PlusIcon, {
99
+ size: 14
100
+ }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.FunnelIcon, {
101
+ size: 14,
102
+ weight: filters.length > 0 ? "fill" : "regular"
103
+ }),
104
+ "aria-label": triggerName,
105
+ "aria-expanded": builderOpen,
106
+ "aria-haspopup": "dialog",
107
+ children: triggerLabel
108
+ });
109
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
110
+ "data-testid": "data-table-filters",
111
+ "aria-label": (0, import_t.t)("Table filters"),
112
+ "aria-live": "polite",
113
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
114
+ flexWrap: "wrap",
72
115
  alignItems: "center",
73
- gap: "$2",
74
- children: [filters.length > 0 && showFilterCount && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
75
- backgroundColor: "$accentBackground",
76
- paddingHorizontal: "$2",
77
- paddingVertical: "$1",
78
- borderRadius: knobProps.borderRadius.borderRadius,
79
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
80
- color: "$accentColor",
81
- fontSize: "$2",
82
- children: filters.length
83
- })
84
- }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.Popover, {
85
- open: showFilterBuilder,
86
- onOpenChange: setShowFilterBuilder,
87
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Popover.Trigger, {
88
- asChild: true,
89
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
90
- size: knobProps.sizeToken,
91
- variant: "outlined",
92
- icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.PlusIcon, {
93
- size: 16
94
- }),
95
- disabled: !canAddMoreFilters,
96
- children: (0, import_t.t)("Add Filter")
97
- })
98
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Popover.Content, {
99
- ...knobProps.borderRadius,
100
- borderWidth: 1,
101
- borderColor: "$color6",
102
- backgroundColor: "$background",
103
- enterStyle: {
104
- x: 0,
105
- y: -10,
106
- opacity: 0
107
- },
108
- exitStyle: {
109
- x: 0,
110
- y: -10,
111
- opacity: 0
112
- },
113
- transition: ["quick", {
114
- opacity: {
115
- overshootClamping: true
116
- }
117
- }],
116
+ ...knobProps.gap,
117
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
118
+ alignSelf: "flex-start",
119
+ flexShrink: 0,
120
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.FloatingPanel, {
121
+ open: builderOpen,
122
+ onOpenChange: handleOpenChange,
123
+ trigger,
124
+ fitContent: true,
125
+ scrollable: false,
118
126
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(FilterBuilder, {
119
127
  availableColumns,
120
- onAddFilter: handleAddFilter,
128
+ editingFilter,
129
+ onCommit: handleCommit,
121
130
  onCancel: function onCancel() {
122
- return setShowFilterBuilder(false);
123
- }
131
+ return handleOpenChange(false);
132
+ },
133
+ canAdd: canAddMoreFilters || !!editingFilter
124
134
  })
125
- })]
126
- }), filters.length > 0 && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
127
- size: knobProps.sizeToken,
128
- variant: "outlined",
135
+ })
136
+ }), !compact && filters.map(function (filter) {
137
+ var _ref4, _ref12;
138
+ var column = availableColumns.find(function (col) {
139
+ return col.id === filter.columnId;
140
+ });
141
+ var label = (0, import_filterFields.getFilterChipLabel)((_ref4 = (_ref12 = column === null || column === void 0 ? void 0 : column.label) !== null && _ref12 !== void 0 ? _ref12 : filter.label) !== null && _ref4 !== void 0 ? _ref4 : filter.columnId, filter.value, column === null || column === void 0 ? void 0 : column.options);
142
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableFilterChips.FilterChip, {
143
+ label,
144
+ onRemove: function onRemove() {
145
+ return onRemoveFilter(filter.id);
146
+ },
147
+ onPress: function onPress() {
148
+ return openBuilder(filter.id);
149
+ }
150
+ }, filter.id);
151
+ }), compact && filters.length > 0 && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
152
+ size: "$2",
153
+ chromeless: true,
154
+ compact: true,
129
155
  onPress: onClearFilters,
130
- icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.XIcon, {
131
- size: 16
132
- }),
156
+ "aria-label": (0, import_t.t)("Clear"),
133
157
  children: (0, import_t.t)("Clear")
158
+ }), !compact && filters.length >= 2 && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
159
+ size: "$2",
160
+ chromeless: true,
161
+ compact: true,
162
+ onPress: onClearFilters,
163
+ "aria-label": (0, import_t.t)("Clear all"),
164
+ children: (0, import_t.t)("Clear all")
134
165
  })]
135
- });
136
- }
137
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
138
- ...knobProps.borderRadius,
139
- gap: "$4",
140
- padding: "$4",
141
- backgroundColor: "$background",
142
- borderWidth: 1,
143
- borderColor: "$color6",
144
- "aria-label": "Table filters",
145
- "aria-live": "polite",
146
- children: [/* Header */
147
- /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
148
- alignItems: "center",
149
- justifyContent: "space-between",
150
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
151
- alignItems: "center",
152
- gap: "$2",
153
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.FunnelIcon, {
154
- size: 16,
155
- "aria-hidden": true
156
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
157
- fontSize: "$4",
158
- fontWeight: "600",
159
- id: "filters-heading",
160
- children: (0, import_t.t)("Filters")
161
- }), showFilterCount && filters.length > 0 && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
162
- backgroundColor: "$accentBackground",
163
- paddingHorizontal: "$2",
164
- paddingVertical: "$1",
165
- borderRadius: knobProps.borderRadius.borderRadius,
166
- "aria-label": `${filters.length} active filters`,
167
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
168
- color: "$accentColor",
169
- fontSize: "$2",
170
- children: filters.length
171
- })
172
- })]
173
- }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
174
- ...{
175
- render: "fieldset"
176
- },
177
- borderWidth: 0,
178
- margin: 0,
179
- padding: 0,
180
- minWidth: 0,
181
- alignItems: "center",
182
- gap: "$2",
183
- "aria-label": "Filter management actions",
184
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.Popover, {
185
- open: showFilterBuilder,
186
- onOpenChange: setShowFilterBuilder,
187
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Popover.Trigger, {
188
- asChild: true,
189
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
190
- size: knobProps.sizeToken,
191
- variant: "outlined",
192
- icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.PlusIcon, {
193
- size: 16
194
- }),
195
- disabled: !canAddMoreFilters,
196
- "aria-label": "Add new filter",
197
- "aria-expanded": showFilterBuilder,
198
- "aria-haspopup": "dialog",
199
- children: (0, import_t.t)("Add Filter")
200
- })
201
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Popover.Content, {
202
- ...knobProps.borderRadius,
203
- borderWidth: 1,
204
- borderColor: "$color6",
205
- backgroundColor: "$background",
206
- enterStyle: {
207
- x: 0,
208
- y: -10,
209
- opacity: 0
210
- },
211
- exitStyle: {
212
- x: 0,
213
- y: -10,
214
- opacity: 0
215
- },
216
- transition: ["quick", {
217
- opacity: {
218
- opacity: {
219
- overshootClamping: true
220
- }
221
- }
222
- }],
223
- maxWidth: 400,
224
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(FilterBuilder, {
225
- availableColumns,
226
- onAddFilter: handleAddFilter,
227
- onCancel: function onCancel() {
228
- return setShowFilterBuilder(false);
229
- }
230
- })
231
- })]
232
- }), filters.length > 0 && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
233
- size: knobProps.sizeToken,
234
- variant: "outlined",
235
- onPress: onClearFilters,
236
- icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.XIcon, {
237
- size: 16
238
- }),
239
- "aria-label": "Clear all filters",
240
- children: (0, import_t.t)("Clear All")
241
- })]
242
- })]
243
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Separator, {}), /* Active Filters */
244
- filters.length > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.ScrollView, {
245
- maxHeight: 200,
246
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
247
- ...{
248
- render: "ul"
249
- },
250
- gap: "$2",
251
- padding: 0,
252
- margin: 0,
253
- "aria-label": "Active filters",
254
- "aria-describedby": "filters-heading",
255
- children: filters.map(function (filter, index) {
256
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ActiveFilter, {
257
- filter,
258
- availableColumns,
259
- onUpdate: function onUpdate(updates) {
260
- return handleUpdateFilter(filter.id, updates);
261
- },
262
- onRemove: function onRemove() {
263
- return onRemoveFilter(filter.id);
264
- },
265
- index
266
- }, filter.id);
267
- })
268
- })
269
- }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
270
- ...{
271
- render: "output"
272
- },
273
- padding: "$4",
274
- alignItems: "center",
275
- "aria-live": "polite",
276
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
277
- fontSize: "$3",
278
- color: "$color10",
279
- children: (0, import_t.t)("No filters applied")
280
- })
281
- })]
166
+ })
282
167
  });
283
168
  }
284
169
  function FilterBuilder(param) {
285
170
  var {
286
171
  availableColumns,
287
- onAddFilter,
288
- onCancel
172
+ editingFilter,
173
+ onCommit,
174
+ onCancel,
175
+ canAdd
289
176
  } = param;
290
177
  var {
291
178
  knobProps
292
- } = (0, import_theme.useResolvedKnobs)();
293
- var sz = knobProps.sizeToken;
294
- var builderMinWidth = sz === "$3" ? 240 : sz === "$5" ? 360 : 300;
179
+ } = (0, import_theme.useResolvedKnobs)({
180
+ compact: true
181
+ });
295
182
  var [selectedColumnId, setSelectedColumnId] = (0, import_react2.useState)("");
296
- var [selectedOperator, setSelectedOperator] = (0, import_react2.useState)("is");
183
+ var [selectedOperator, setSelectedOperator] = (0, import_react2.useState)("contains");
297
184
  var [filterValue, setFilterValue] = (0, import_react2.useState)("");
298
- var [filterValues, setFilterValues] = (0, import_react2.useState)([]);
299
185
  var selectedColumn = availableColumns.find(function (col) {
300
186
  return col.id === selectedColumnId;
301
187
  });
302
- var availableOperators = (0, import_react2.useMemo)(function () {
303
- if (!selectedColumn) return [];
304
- var baseOperators = ["is", "isNot"];
305
- switch (selectedColumn.type) {
306
- case "text":
307
- return [...baseOperators, "contains", "doesNotContain", "startsWith", "endsWith", "isEmpty", "isNotEmpty"];
308
- case "number":
309
- return [...baseOperators, "isLessThan", "isGreaterThan", "isLessThanOrEqual", "isGreaterThanOrEqual", "isBetween", "isNotBetween"];
310
- case "date":
311
- return [...baseOperators, "isBefore", "isAfter", "isOnOrBefore", "isOnOrAfter", "isBetween", "isNotBetween"];
312
- case "boolean":
313
- return baseOperators;
314
- default:
315
- return baseOperators;
188
+ (0, import_react2.useEffect)(function () {
189
+ if (editingFilter) {
190
+ var _editingFilter_value_value;
191
+ setSelectedColumnId(editingFilter.columnId);
192
+ setSelectedOperator(editingFilter.value.operator);
193
+ setFilterValue(String((_editingFilter_value_value = editingFilter.value.value) !== null && _editingFilter_value_value !== void 0 ? _editingFilter_value_value : ""));
194
+ return;
316
195
  }
317
- }, [selectedColumn]);
318
- var columnOptions = (0, import_react2.useMemo)(function () {
319
- return availableColumns.map(function (col) {
320
- return {
321
- value: col.id,
322
- label: col.label
323
- };
324
- });
325
- }, [availableColumns]);
326
- var operatorOptions = (0, import_react2.useMemo)(function () {
327
- return availableOperators.map(function (op) {
328
- return {
329
- value: op,
330
- label: getOperatorLabel(op)
331
- };
332
- });
333
- }, [availableOperators]);
334
- var handleAddFilter = function handleAddFilter2() {
196
+ setSelectedColumnId("");
197
+ setSelectedOperator("contains");
198
+ setFilterValue("");
199
+ }, [editingFilter]);
200
+ var columnOptions = availableColumns.map(function (col) {
201
+ return {
202
+ value: col.id,
203
+ label: col.label
204
+ };
205
+ });
206
+ var handleCommit = function handleCommit2() {
335
207
  if (!selectedColumnId || !selectedOperator) return;
336
- var filterValueObj = {
208
+ var value = {
337
209
  operator: selectedOperator,
338
- value: null
210
+ value: (0, import_filterFields.operatorNeedsNoValue)(selectedOperator) ? null : filterValue
339
211
  };
340
- if (["isBetween", "isNotBetween"].includes(selectedOperator)) {
341
- filterValueObj.values = filterValues;
342
- } else if (["isAnyOf", "isNoneOf"].includes(selectedOperator)) {
343
- filterValueObj.values = filterValues;
344
- } else if (!["isEmpty", "isNotEmpty"].includes(selectedOperator)) {
345
- filterValueObj.value = filterValue;
346
- }
347
- onAddFilter({
212
+ onCommit({
348
213
  columnId: selectedColumnId,
349
- value: filterValueObj,
214
+ value,
350
215
  label: selectedColumn === null || selectedColumn === void 0 ? void 0 : selectedColumn.label
351
216
  });
352
217
  setSelectedColumnId("");
353
- setSelectedOperator("is");
218
+ setSelectedOperator("contains");
354
219
  setFilterValue("");
355
- setFilterValues([]);
356
- };
357
- var renderValueInput = function renderValueInput2() {
358
- if (!selectedColumn || ["isEmpty", "isNotEmpty"].includes(selectedOperator)) {
359
- return null;
360
- }
361
- if (["isBetween", "isNotBetween"].includes(selectedOperator)) {
362
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
363
- gap: "$2",
364
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Input, {
365
- placeholder: (0, import_t.t)("Min value"),
366
- value: filterValues[0] || "",
367
- onChangeText: function onChangeText(text) {
368
- var newValues = [...filterValues];
369
- newValues[0] = text;
370
- setFilterValues(newValues);
371
- }
372
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Input, {
373
- placeholder: (0, import_t.t)("Max value"),
374
- value: filterValues[1] || "",
375
- onChangeText: function onChangeText(text) {
376
- var newValues = [...filterValues];
377
- newValues[1] = text;
378
- setFilterValues(newValues);
379
- }
380
- })]
381
- });
382
- }
383
- if (["isAnyOf", "isNoneOf"].includes(selectedOperator)) {
384
- if (selectedColumn.options) {
385
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.ScrollView, {
386
- maxHeight: 120,
387
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
388
- gap: "$1",
389
- children: selectedColumn.options.map(function (option) {
390
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
391
- alignItems: "center",
392
- gap: "$2",
393
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)("input", {
394
- type: "checkbox",
395
- checked: filterValues.includes(option.value),
396
- onChange: function onChange(e) {
397
- if (e.target.checked) {
398
- setFilterValues([...filterValues, option.value]);
399
- } else {
400
- setFilterValues(filterValues.filter(function (v) {
401
- return v !== option.value;
402
- }));
403
- }
404
- }
405
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
406
- fontSize: "$3",
407
- children: option.label
408
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
409
- backgroundColor: "$color5",
410
- paddingHorizontal: "$1",
411
- paddingVertical: "$0.5",
412
- borderRadius: "$1",
413
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
414
- color: "$color10",
415
- fontSize: "$1",
416
- children: option.count
417
- })
418
- })]
419
- }, String(option.value));
420
- })
421
- })
422
- });
423
- }
424
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Input, {
425
- placeholder: (0, import_t.t)("Enter values separated by commas"),
426
- value: filterValues.join(", "),
427
- onChangeText: function onChangeText(text) {
428
- setFilterValues(text.split(",").map(function (v) {
429
- return v.trim();
430
- }));
431
- }
432
- });
433
- }
434
- if (selectedColumn.type === "date") {
435
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Input, {
436
- label: (0, import_t.t)("Value"),
437
- placeholder: (0, import_t.t)("YYYY-MM-DD"),
438
- value: filterValue,
439
- onChangeText: setFilterValue
440
- });
441
- }
442
- if (selectedColumn.type === "boolean") {
443
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Select, {
444
- label: (0, import_t.t)("Value"),
445
- value: filterValue,
446
- onValueChange: function onValueChange(v) {
447
- if (typeof v === "string") {
448
- setFilterValue(v);
449
- }
450
- },
451
- options: [{
452
- value: "true",
453
- label: (0, import_t.t)("True")
454
- }, {
455
- value: "false",
456
- label: (0, import_t.t)("False")
457
- }],
458
- placeholder: (0, import_t.t)("Select value")
459
- });
460
- }
461
- if (selectedColumn.options) {
462
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Select, {
463
- label: (0, import_t.t)("Value"),
464
- value: filterValue,
465
- onValueChange: function onValueChange(v) {
466
- if (typeof v === "string") {
467
- setFilterValue(v);
468
- }
469
- },
470
- options: selectedColumn.options.map(function (option) {
471
- return {
472
- value: option.value.toString(),
473
- label: option.label
474
- };
475
- }),
476
- placeholder: (0, import_t.t)("Select value")
477
- });
478
- }
479
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Input, {
480
- label: (0, import_t.t)("Value"),
481
- placeholder: (0, import_t.t)("Enter value"),
482
- value: filterValue,
483
- onChangeText: setFilterValue,
484
- ...(selectedColumn.type === "number" && {
485
- keyboardType: "numeric"
486
- })
487
- });
488
220
  };
489
221
  return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
490
222
  ...knobProps.panelPadding,
491
- gap: "$4",
492
- minWidth: builderMinWidth,
223
+ gap: "$3",
224
+ minWidth: 280,
225
+ maxWidth: 360,
493
226
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
494
- fontSize: "$4",
227
+ fontSize: "$3",
495
228
  fontWeight: "600",
496
- children: (0, import_t.t)("Add Filter")
497
- }), /* Column Selection */
498
- /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Select, {
229
+ color: "$color12",
230
+ children: editingFilter ? (0, import_t.t)("Edit filter") : (0, import_t.t)("Add filter")
231
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Select, {
499
232
  label: (0, import_t.t)("Column"),
500
233
  value: selectedColumnId,
501
234
  onValueChange: function onValueChange(v) {
502
- if (typeof v === "string") {
503
- setSelectedColumnId(v);
504
- }
235
+ var _ref;
236
+ if (typeof v !== "string") return;
237
+ setSelectedColumnId(v);
238
+ var col = availableColumns.find(function (c) {
239
+ return c.id === v;
240
+ });
241
+ setSelectedOperator((0, import_filterFields.defaultOperatorForFilterType)((_ref = col === null || col === void 0 ? void 0 : col.type) !== null && _ref !== void 0 ? _ref : "text"));
242
+ setFilterValue("");
505
243
  },
506
244
  options: columnOptions,
507
- placeholder: (0, import_t.t)("Select column")
508
- }), /* Operator Selection */
509
- selectedColumnId && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Select, {
510
- label: (0, import_t.t)("Condition"),
511
- value: selectedOperator,
512
- onValueChange: function onValueChange(v) {
513
- if (typeof v === "string") {
514
- setSelectedOperator(v);
515
- }
516
- },
517
- options: operatorOptions
518
- }), /* Value Input */
519
- selectedColumnId && renderValueInput(), /* Actions */
520
- /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
245
+ placeholder: (0, import_t.t)("Select column"),
246
+ size: "$3",
247
+ compact: true
248
+ }), selectedColumn ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_FilterOperatorValueEditor.FilterOperatorValueEditor, {
249
+ fieldType: selectedColumn.type,
250
+ operator: selectedOperator,
251
+ value: filterValue,
252
+ onOperatorChange: setSelectedOperator,
253
+ onValueChange: setFilterValue,
254
+ options: selectedColumn.options
255
+ }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
521
256
  gap: "$2",
522
257
  justifyContent: "flex-end",
523
258
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
524
- size: knobProps.sizeToken,
259
+ size: "$3",
260
+ compact: true,
525
261
  variant: "outlined",
526
262
  onPress: onCancel,
527
263
  children: (0, import_t.t)("Cancel")
528
264
  }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
529
- size: knobProps.sizeToken,
530
- onPress: handleAddFilter,
531
- disabled: !selectedColumnId || !selectedOperator,
532
- children: (0, import_t.t)("Add Filter")
265
+ size: "$3",
266
+ compact: true,
267
+ accent: true,
268
+ onPress: handleCommit,
269
+ disabled: !selectedColumnId || !selectedOperator || !canAdd,
270
+ children: editingFilter ? (0, import_t.t)("Update") : (0, import_t.t)("Add filter")
533
271
  })]
534
272
  })]
535
273
  });
536
274
  }
537
- function ActiveFilter(param) {
538
- var {
539
- filter,
540
- availableColumns,
541
- onUpdate: _onUpdate,
542
- onRemove,
543
- index
544
- } = param;
545
- var {
546
- knobProps
547
- } = (0, import_theme.useResolvedKnobs)();
548
- var column = availableColumns.find(function (col) {
549
- return col.id === filter.columnId;
550
- });
551
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
552
- ...{
553
- render: "li"
554
- },
555
- alignItems: "center",
556
- justifyContent: "space-between",
557
- padding: "$3",
558
- backgroundColor: "$color2",
559
- ...knobProps.borderRadius,
560
- borderColor: "$color6",
561
- "aria-label": `Filter ${index + 1}: ${(0, import_filterUtils.getFilterDescription)(filter)}`,
562
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
563
- alignItems: "center",
564
- gap: "$2",
565
- flex: 1,
566
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(ColumnTypeIcon, {
567
- type: (column === null || column === void 0 ? void 0 : column.type) || "text",
568
- size: 14
569
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
570
- fontSize: "$3",
571
- color: "$color10",
572
- children: (0, import_filterUtils.getFilterDescription)(filter)
573
- })]
574
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
575
- size: "$2",
576
- variant: "outlined",
577
- onPress: onRemove,
578
- icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.XIcon, {
579
- size: 16
580
- }),
581
- "aria-label": `Remove filter: ${(0, import_filterUtils.getFilterDescription)(filter)}`
582
- })]
583
- });
584
- }
585
- function ColumnTypeIcon(param) {
586
- var {
587
- type,
588
- size
589
- } = param;
590
- switch (type) {
591
- case "text":
592
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.TextTIcon, {
593
- size,
594
- color: "$color10"
595
- });
596
- case "number":
597
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.HashIcon, {
598
- size,
599
- color: "$color10"
600
- });
601
- case "date":
602
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.CalendarBlankIcon, {
603
- size,
604
- color: "$color10"
605
- });
606
- case "boolean":
607
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.CheckSquareIcon, {
608
- size,
609
- color: "$color10"
610
- });
611
- default:
612
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.TextTIcon, {
613
- size,
614
- color: "$color10"
615
- });
616
- }
617
- }
618
- function getOperatorLabel(operator) {
619
- var labels = {
620
- // Text
621
- contains: "Contains",
622
- doesNotContain: "Does not contain",
623
- is: "Is",
624
- isNot: "Is not",
625
- startsWith: "Starts with",
626
- endsWith: "Ends with",
627
- isEmpty: "Is empty",
628
- isNotEmpty: "Is not empty",
629
- // Number
630
- isLessThan: "Is less than",
631
- isGreaterThan: "Is greater than",
632
- isLessThanOrEqual: "Is less than or equal to",
633
- isGreaterThanOrEqual: "Is greater than or equal to",
634
- isBetween: "Is between",
635
- isNotBetween: "Is not between",
636
- // Date
637
- isBefore: "Is before",
638
- isAfter: "Is after",
639
- isOnOrBefore: "Is on or before",
640
- isOnOrAfter: "Is on or after",
641
- // Option
642
- isAnyOf: "Is any of",
643
- isNoneOf: "Is none of"
644
- };
645
- var label = labels[operator];
646
- return label ? (0, import_t.t)(label) : operator;
647
- }
648
275
  //# sourceMappingURL=index.native.js.map