@multiplatform.one/table 6.7.0 → 7.0.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
@@ -1,19 +1,21 @@
1
- import { CaretDownIcon, GearIcon } from "@phosphor-icons/react";
2
- import { useResolvedKnobs } from "@multiplatform.one/theme";
3
- import { useCallback, useEffect, useMemo, useState } from "react";
1
+ import { SlidersHorizontalIcon } from "@phosphor-icons/react";
2
+ import { sizeRecipeForToken, useResolvedKnobs } from "@multiplatform.one/theme";
3
+ import { useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
4
4
  import { PopoverContent } from "@multiplatform.one/components";
5
- import { Button, Checkbox, SearchInput } from "@multiplatform.one/forms";
6
- import { Popover, ScrollView, Separator, Text, View, XStack, YStack } from "tamagui";
5
+ import { Button, Checkbox, SearchInput, formCommonColors } from "@multiplatform.one/forms";
6
+ import { Popover, ScrollView, Separator, Text, View, XStack, YStack, isWeb } from "tamagui";
7
7
  import { useDataTableState } from "../DataTable/DataTableStateContext.mjs";
8
8
  import { t } from "../../shared/t.mjs";
9
9
  import { bidiIsolate } from "../../utils/withInterp.mjs";
10
10
  import { jsx, jsxs } from "react/jsx-runtime";
11
+ const iconSizeForToken = token => sizeRecipeForToken(token).iconSize;
11
12
  function DataTableSearch(props) {
12
13
  const ctx = useDataTableState();
13
14
  const data = props.data ?? ctx?.computed.filteredData ?? [];
14
15
  const columns = props.columns ?? [];
15
16
  const {
16
17
  onSearchResults,
18
+ onHighlightText,
17
19
  placeholder = t("Search across all columns..."),
18
20
  debounceMs = 300,
19
21
  showAdvancedOptions = true,
@@ -25,6 +27,9 @@ function DataTableSearch(props) {
25
27
  } = useResolvedKnobs();
26
28
  const sz = knobProps.sizeToken;
27
29
  const searchMaxWidth = sz === "$3" ? 320 : sz === "$5" ? 480 : 400;
30
+ const iconPx = iconSizeForToken(String(sz));
31
+ const resultsId = useId();
32
+ const rootRef = useRef(null);
28
33
  const [searchTerm, setSearchTerm] = useState("");
29
34
  const [debouncedSearchTerm, setDebouncedSearchTerm] = useState("");
30
35
  const [searchOptions, setSearchOptions] = useState({
@@ -35,23 +40,42 @@ function DataTableSearch(props) {
35
40
  regex: false,
36
41
  highlightResults: true
37
42
  });
43
+ const compiled = useMemo(() => compileSearchPattern({
44
+ ...searchOptions,
45
+ searchTerm: debouncedSearchTerm
46
+ }), [searchOptions, debouncedSearchTerm]);
47
+ const results = useMemo(() => {
48
+ if (!debouncedSearchTerm.trim()) return data;
49
+ if (compiled.invalid || !compiled.regex) return [];
50
+ return matchRows(data, searchOptions.columns, compiled.regex);
51
+ }, [data, debouncedSearchTerm, compiled, searchOptions.columns]);
38
52
  useEffect(() => {
39
- if (debouncedSearchTerm.trim()) {
40
- const results = performSearch(data, {
41
- ...searchOptions,
42
- searchTerm: debouncedSearchTerm
43
- });
44
- onSearchResults?.(results, {
45
- ...searchOptions,
46
- searchTerm: debouncedSearchTerm
47
- });
53
+ onSearchResults?.(results, {
54
+ ...searchOptions,
55
+ searchTerm: debouncedSearchTerm
56
+ });
57
+ }, [results, data, searchOptions, debouncedSearchTerm, onSearchResults]);
58
+ useEffect(() => {
59
+ if (!onHighlightText) return;
60
+ if (searchOptions.highlightResults && debouncedSearchTerm.trim() && !compiled.invalid) {
61
+ onHighlightText(debouncedSearchTerm);
48
62
  } else {
49
- onSearchResults?.(data, {
50
- ...searchOptions,
51
- searchTerm: ""
52
- });
63
+ onHighlightText("");
53
64
  }
54
- }, [debouncedSearchTerm, data, searchOptions, onSearchResults]);
65
+ }, [debouncedSearchTerm, searchOptions.highlightResults, compiled.invalid, onHighlightText]);
66
+ useEffect(() => {
67
+ if (!isWeb || disabled) return;
68
+ const onKey = e => {
69
+ if (e.key !== "/" || e.metaKey || e.ctrlKey || e.altKey || e.isComposing) return;
70
+ const target = e.target;
71
+ if (target?.closest("input, textarea, select, [contenteditable=true]")) return;
72
+ e.preventDefault();
73
+ const field = rootRef.current?.querySelector?.("[role='searchbox']");
74
+ field?.focus();
75
+ };
76
+ window.addEventListener("keydown", onKey);
77
+ return () => window.removeEventListener("keydown", onKey);
78
+ }, [disabled]);
55
79
  const handleOptionsChange = newOptions => {
56
80
  setSearchOptions(prev => ({
57
81
  ...prev,
@@ -61,20 +85,36 @@ function DataTableSearch(props) {
61
85
  const searchableColumns = columns.filter(col => col.searchable !== false);
62
86
  const selectedColumnCount = searchOptions.columns.length;
63
87
  const totalColumnCount = searchableColumns.length;
88
+ const optionsActive = searchOptions.caseSensitive || searchOptions.wholeWord || searchOptions.regex || !searchOptions.highlightResults || selectedColumnCount !== totalColumnCount;
89
+ const isSearching = searchTerm !== debouncedSearchTerm;
90
+ const showStatus = Boolean(debouncedSearchTerm.trim());
64
91
  return /* @__PURE__ */jsxs(XStack, {
65
- gap: "$2",
92
+ ref: rootRef,
93
+ ...{
94
+ role: "search"
95
+ },
96
+ "aria-busy": isSearching || void 0,
97
+ ...knobProps.gap,
66
98
  alignItems: "center",
67
99
  flex: 1,
68
100
  maxWidth: searchMaxWidth,
69
101
  children: [/* @__PURE__ */jsx(View, {
70
102
  flex: 1,
103
+ minWidth: 0,
71
104
  children: /* @__PURE__ */jsx(SearchInput, {
72
105
  value: searchTerm,
73
106
  onChange: setSearchTerm,
74
107
  onSearch: setDebouncedSearchTerm,
75
108
  debounceMs,
76
109
  placeholder,
77
- disabled
110
+ disabled,
111
+ size: sz,
112
+ "aria-label": t("Search table"),
113
+ inputProps: {
114
+ "aria-describedby": showStatus ? resultsId : void 0,
115
+ "aria-keyshortcuts": "/",
116
+ "aria-invalid": compiled.invalid || void 0
117
+ }
78
118
  })
79
119
  }), showAdvancedOptions && /* @__PURE__ */jsx(SearchOptionsPopover, {
80
120
  searchOptions,
@@ -82,19 +122,21 @@ function DataTableSearch(props) {
82
122
  columns: searchableColumns,
83
123
  selectedColumnCount,
84
124
  totalColumnCount,
85
- disabled
86
- }), debouncedSearchTerm ? /* @__PURE__ */jsx(View, {
87
- paddingHorizontal: "$2",
88
- children: /* @__PURE__ */jsx(Text, {
89
- fontSize: "$2",
90
- color: "$color10",
91
- children: t("{{count}} results", {
92
- count: performSearch(data, {
93
- ...searchOptions,
94
- searchTerm: debouncedSearchTerm
95
- }).length
96
- })
97
- })
125
+ disabled,
126
+ iconPx,
127
+ optionsActive
128
+ }), showStatus ? /* @__PURE__ */jsx(Text, {
129
+ id: resultsId,
130
+ role: "status",
131
+ "aria-live": "polite",
132
+ "aria-atomic": "true",
133
+ ...knobProps.label,
134
+ color: compiled.invalid ? formCommonColors.error : formCommonColors.muted,
135
+ flexShrink: 0,
136
+ children: compiled.invalid ? t("Invalid regex") : bidiIsolate(t("{{shown}} of {{total}}", {
137
+ shown: results.length,
138
+ total: data.length
139
+ }))
98
140
  }) : null]
99
141
  });
100
142
  }
@@ -104,191 +146,200 @@ function SearchOptionsPopover({
104
146
  columns,
105
147
  selectedColumnCount,
106
148
  totalColumnCount,
107
- disabled
149
+ disabled,
150
+ iconPx,
151
+ optionsActive
108
152
  }) {
109
153
  const {
110
154
  knobProps
111
155
  } = useResolvedKnobs();
112
- const [columnVisibility, setColumnVisibility] = useState(() => {
113
- const visibility = {};
114
- columns.forEach(col => {
115
- const key = col.accessorKey || col.id || "";
116
- visibility[key] = searchOptions.columns.includes(key);
117
- });
118
- return visibility;
119
- });
156
+ const [open, setOpen] = useState(false);
120
157
  const handleColumnToggle = (columnKey, checked) => {
121
- const newVisibility = {
122
- ...columnVisibility,
123
- [columnKey]: checked
124
- };
125
- setColumnVisibility(newVisibility);
126
- const selectedColumns = Object.entries(newVisibility).filter(([_, isVisible]) => isVisible).map(([key]) => key);
158
+ const next = checked ? Array.from(/* @__PURE__ */new Set([...searchOptions.columns, columnKey])) : searchOptions.columns.filter(key => key !== columnKey);
127
159
  onOptionsChange({
128
- columns: selectedColumns
160
+ columns: next
129
161
  });
130
162
  };
131
163
  const handleSelectAllColumns = () => {
132
- const allColumns = columns.map(col => col.accessorKey || col.id || "");
133
- setColumnVisibility(Object.fromEntries(allColumns.map(key => [key, true])));
134
164
  onOptionsChange({
135
- columns: allColumns
165
+ columns: columns.map(col => col.accessorKey || col.id || "")
136
166
  });
137
167
  };
138
168
  const handleSelectNoColumns = () => {
139
- setColumnVisibility(Object.fromEntries(columns.map(col => [col.accessorKey || col.id || "", false])));
140
169
  onOptionsChange({
141
170
  columns: []
142
171
  });
143
172
  };
144
173
  const sz = knobProps.sizeToken;
145
174
  const panelMaxHeight = sz === "$3" ? 320 : sz === "$5" ? 480 : 400;
146
- return (
147
- // LC-06: anchored popover with collision handling — flip, shift, and
148
- // clamp inside the viewport (`resize` is a no-op on native).
149
- /* @__PURE__ */
150
- jsxs(Popover, {
151
- stayInFrame: true,
152
- allowFlip: true,
153
- resize: true,
154
- children: [/* @__PURE__ */jsx(Popover.Trigger, {
155
- asChild: true,
156
- children: /* @__PURE__ */jsx(Button, {
157
- size: knobProps.sizeToken,
158
- variant: "outlined",
159
- icon: /* @__PURE__ */jsx(GearIcon, {
160
- size: 16
161
- }),
162
- disabled,
163
- "aria-label": t("Search options"),
164
- children: /* @__PURE__ */jsx(CaretDownIcon, {
165
- size: 16
166
- })
167
- })
168
- }), /* @__PURE__ */jsx(PopoverContent, {
169
- padding: 0,
170
- overflow: "hidden",
171
- alignItems: "stretch",
172
- minWidth: 280,
173
- children: /* @__PURE__ */jsx(ScrollView, {
174
- flexShrink: 1,
175
- maxHeight: panelMaxHeight,
176
- children: /* @__PURE__ */jsxs(YStack, {
177
- ...knobProps.panelPadding,
178
- ...knobProps.gapLg,
175
+ return /* @__PURE__ */jsxs(Popover, {
176
+ open,
177
+ onOpenChange: setOpen,
178
+ stayInFrame: true,
179
+ allowFlip: true,
180
+ resize: true,
181
+ children: [/* @__PURE__ */jsx(Popover.Trigger, {
182
+ asChild: true,
183
+ children: /* @__PURE__ */jsx(Button, {
184
+ size: knobProps.sizeToken,
185
+ variant: "outlined",
186
+ accent: optionsActive,
187
+ icon: /* @__PURE__ */jsx(SlidersHorizontalIcon, {
188
+ size: iconPx,
189
+ weight: optionsActive ? "fill" : "regular"
190
+ }),
191
+ disabled,
192
+ "aria-label": t("Search options"),
193
+ "aria-expanded": open,
194
+ "aria-haspopup": "dialog"
195
+ })
196
+ }), /* @__PURE__ */jsx(PopoverContent, {
197
+ padding: 0,
198
+ overflow: "hidden",
199
+ alignItems: "stretch",
200
+ minWidth: 280,
201
+ children: /* @__PURE__ */jsx(ScrollView, {
202
+ flexShrink: 1,
203
+ maxHeight: panelMaxHeight,
204
+ children: /* @__PURE__ */jsxs(YStack, {
205
+ ...knobProps.panelPadding,
206
+ ...knobProps.gapLg,
207
+ children: [/* @__PURE__ */jsx(Text, {
208
+ ...knobProps.heading,
209
+ ...knobProps.label,
210
+ fontWeight: "600",
211
+ children: t("Search Options")
212
+ }), /* @__PURE__ */jsxs(YStack, {
213
+ ...knobProps.gap,
179
214
  children: [/* @__PURE__ */jsx(Text, {
180
- fontSize: "$5",
181
- fontWeight: "600",
182
- children: t("Search Options")
183
- }), /* @__PURE__ */jsxs(YStack, {
184
- ...knobProps.gap,
215
+ ...knobProps.label,
216
+ fontWeight: "500",
217
+ children: t("Search Settings")
218
+ }), /* @__PURE__ */jsx(Checkbox, {
219
+ compact: true,
220
+ label: t("Case sensitive"),
221
+ checked: searchOptions.caseSensitive,
222
+ onCheckedChange: checked => onOptionsChange({
223
+ caseSensitive: checked
224
+ })
225
+ }), /* @__PURE__ */jsx(Checkbox, {
226
+ compact: true,
227
+ label: t("Whole word only"),
228
+ checked: searchOptions.wholeWord,
229
+ onCheckedChange: checked => onOptionsChange({
230
+ wholeWord: checked
231
+ })
232
+ }), /* @__PURE__ */jsx(Checkbox, {
233
+ compact: true,
234
+ label: t("Use regex"),
235
+ checked: searchOptions.regex,
236
+ onCheckedChange: checked => onOptionsChange({
237
+ regex: checked
238
+ })
239
+ }), /* @__PURE__ */jsx(Checkbox, {
240
+ compact: true,
241
+ label: t("Highlight results"),
242
+ checked: searchOptions.highlightResults,
243
+ onCheckedChange: checked => onOptionsChange({
244
+ highlightResults: checked
245
+ })
246
+ })]
247
+ }), /* @__PURE__ */jsx(Separator, {}), /* @__PURE__ */jsxs(YStack, {
248
+ ...knobProps.gap,
249
+ children: [/* @__PURE__ */jsxs(XStack, {
250
+ justifyContent: "space-between",
251
+ alignItems: "center",
185
252
  children: [/* @__PURE__ */jsx(Text, {
186
- fontSize: "$4",
253
+ ...knobProps.label,
187
254
  fontWeight: "500",
188
- children: t("Search Settings")
189
- }), /* @__PURE__ */jsx(Checkbox, {
190
- label: t("Case sensitive"),
191
- checked: searchOptions.caseSensitive,
192
- onCheckedChange: checked => onOptionsChange({
193
- caseSensitive: checked
194
- })
195
- }), /* @__PURE__ */jsx(Checkbox, {
196
- label: t("Whole word only"),
197
- checked: searchOptions.wholeWord,
198
- onCheckedChange: checked => onOptionsChange({
199
- wholeWord: checked
200
- })
201
- }), /* @__PURE__ */jsx(Checkbox, {
202
- label: t("Use regex"),
203
- checked: searchOptions.regex,
204
- onCheckedChange: checked => onOptionsChange({
205
- regex: checked
206
- })
207
- }), /* @__PURE__ */jsx(Checkbox, {
208
- label: t("Highlight results"),
209
- checked: searchOptions.highlightResults,
210
- onCheckedChange: checked => onOptionsChange({
211
- highlightResults: checked
212
- })
255
+ children: t("Search Columns")
256
+ }), /* @__PURE__ */jsx(Text, {
257
+ ...knobProps.label,
258
+ color: formCommonColors.muted,
259
+ children: bidiIsolate(t("{{selected}} of {{total}}", {
260
+ selected: selectedColumnCount,
261
+ total: totalColumnCount
262
+ }))
213
263
  })]
214
- }), /* @__PURE__ */jsx(Separator, {}), /* @__PURE__ */jsxs(YStack, {
264
+ }), /* @__PURE__ */jsxs(XStack, {
215
265
  ...knobProps.gap,
216
- children: [/* @__PURE__ */jsxs(XStack, {
217
- justifyContent: "space-between",
218
- alignItems: "center",
219
- children: [/* @__PURE__ */jsx(Text, {
220
- fontSize: "$4",
221
- fontWeight: "500",
222
- children: t("Search Columns")
223
- }), /* @__PURE__ */jsx(Text, {
224
- fontSize: "$2",
225
- color: "$color10",
226
- children: bidiIsolate(t("{{selected}} of {{total}}", {
227
- selected: selectedColumnCount,
228
- total: totalColumnCount
229
- }))
230
- })]
231
- }), /* @__PURE__ */jsxs(XStack, {
232
- gap: "$2",
233
- children: [/* @__PURE__ */jsx(Button, {
234
- size: "$2",
235
- variant: "outlined",
236
- onPress: handleSelectAllColumns,
237
- children: t("All")
238
- }), /* @__PURE__ */jsx(Button, {
239
- size: "$2",
240
- variant: "outlined",
241
- onPress: handleSelectNoColumns,
242
- children: t("None")
243
- })]
244
- }), /* @__PURE__ */jsx(YStack, {
245
- gap: "$1",
246
- children: columns.map(col => {
247
- const key = col.accessorKey || col.id || "";
248
- return /* @__PURE__ */jsx(Checkbox, {
249
- label: col.header || key,
250
- checked: columnVisibility[key] || false,
251
- onCheckedChange: checked => handleColumnToggle(key, checked)
252
- }, key);
253
- })
266
+ children: [/* @__PURE__ */jsx(Button, {
267
+ size: "$2",
268
+ compact: true,
269
+ variant: "outlined",
270
+ onPress: handleSelectAllColumns,
271
+ children: t("All")
272
+ }), /* @__PURE__ */jsx(Button, {
273
+ size: "$2",
274
+ compact: true,
275
+ variant: "outlined",
276
+ onPress: handleSelectNoColumns,
277
+ children: t("None")
254
278
  })]
279
+ }), /* @__PURE__ */jsx(YStack, {
280
+ gap: "$1",
281
+ children: columns.map(col => {
282
+ const key = col.accessorKey || col.id || "";
283
+ return /* @__PURE__ */jsx(Checkbox, {
284
+ compact: true,
285
+ label: col.header || key,
286
+ checked: searchOptions.columns.includes(key),
287
+ onCheckedChange: checked => handleColumnToggle(key, checked)
288
+ }, key);
289
+ })
255
290
  })]
256
- })
291
+ })]
257
292
  })
258
- })]
259
- })
260
- );
293
+ })
294
+ })]
295
+ });
261
296
  }
262
- function performSearch(data, options) {
297
+ function compileSearchPattern(options) {
263
298
  const {
264
299
  searchTerm,
265
- columns,
266
300
  caseSensitive,
267
301
  wholeWord,
268
302
  regex
269
303
  } = options;
270
304
  if (!searchTerm.trim()) {
271
- return data;
305
+ return {
306
+ regex: null,
307
+ invalid: false
308
+ };
272
309
  }
273
- let searchPattern;
310
+ const flags = caseSensitive ? "" : "i";
274
311
  try {
275
312
  if (regex) {
276
- searchPattern = new RegExp(searchTerm, caseSensitive ? "g" : "gi");
277
- } else {
278
- const pattern = wholeWord ? `\\b${escapeRegex(searchTerm)}\\b` : escapeRegex(searchTerm);
279
- searchPattern = new RegExp(pattern, caseSensitive ? "g" : "gi");
313
+ return {
314
+ regex: new RegExp(searchTerm, flags),
315
+ invalid: false
316
+ };
280
317
  }
318
+ const pattern = wholeWord ? `\\b${escapeRegex(searchTerm)}\\b` : escapeRegex(searchTerm);
319
+ return {
320
+ regex: new RegExp(pattern, flags),
321
+ invalid: false
322
+ };
281
323
  } catch {
282
- return [];
324
+ return {
325
+ regex: null,
326
+ invalid: true
327
+ };
283
328
  }
284
- return data.filter(item => {
285
- return columns.some(columnKey => {
286
- const value = item[columnKey];
287
- if (value == null) return false;
288
- const stringValue = String(value);
289
- return searchPattern.test(stringValue);
290
- });
291
- });
329
+ }
330
+ function matchRows(data, columns, searchPattern) {
331
+ return data.filter(item => columns.some(columnKey => {
332
+ const value = item[columnKey];
333
+ if (value == null) return false;
334
+ searchPattern.lastIndex = 0;
335
+ return searchPattern.test(String(value));
336
+ }));
337
+ }
338
+ function performSearch(data, options) {
339
+ const compiled = compileSearchPattern(options);
340
+ if (!options.searchTerm.trim()) return data;
341
+ if (compiled.invalid || !compiled.regex) return [];
342
+ return matchRows(data, options.columns, compiled.regex);
292
343
  }
293
344
  function escapeRegex(string) {
294
345
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
@@ -299,48 +350,38 @@ function highlightText(text, options) {
299
350
  caseSensitive = false,
300
351
  wholeWord = false,
301
352
  regex = false,
302
- highlightClassName = "search-highlight",
303
- highlightStyle: _highlightStyle = {
304
- backgroundColor: "var(--color-yellow3)",
305
- padding: "2px 4px",
306
- borderRadius: "3px",
307
- fontWeight: "bold"
308
- }
353
+ highlightClassName = "search-highlight"
309
354
  } = options;
310
355
  if (!searchTerm.trim() || !text) {
311
356
  return text;
312
357
  }
313
- let searchPattern;
314
- try {
315
- if (regex) {
316
- searchPattern = new RegExp(searchTerm, caseSensitive ? "g" : "gi");
317
- } else {
318
- const pattern = wholeWord ? `\\b${escapeRegex(searchTerm)}\\b` : escapeRegex(searchTerm);
319
- searchPattern = new RegExp(pattern, caseSensitive ? "g" : "gi");
320
- }
321
- } catch {
322
- return text;
323
- }
324
- const parts = text.split(searchPattern);
325
- if (parts.length === 1) {
326
- return text;
327
- }
328
- const matches = text.match(searchPattern) || [];
329
- const result = [];
330
- parts.forEach((part, index) => {
331
- result.push(part);
332
- if (index < parts.length - 1 && matches[index]) {
333
- result.push(/* @__PURE__ */jsx(Text, {
334
- className: highlightClassName,
335
- backgroundColor: "$yellow3",
336
- paddingHorizontal: "$1",
337
- borderRadius: "$1",
338
- fontWeight: "bold",
339
- children: matches[index]
340
- }, `highlight-${index}`));
341
- }
358
+ const compiled = compileSearchPattern({
359
+ searchTerm,
360
+ caseSensitive,
361
+ wholeWord,
362
+ regex
342
363
  });
343
- return result;
364
+ if (!compiled.regex) return text;
365
+ const global = new RegExp(compiled.regex.source, compiled.regex.flags.includes("i") ? "gi" : "g");
366
+ const parts = [];
367
+ let last = 0;
368
+ let index = 0;
369
+ for (const match of text.matchAll(global)) {
370
+ const start = match.index ?? 0;
371
+ if (start > last) parts.push(text.slice(last, start));
372
+ parts.push(/* @__PURE__ */jsx(Text, {
373
+ className: highlightClassName,
374
+ backgroundColor: "$yellow3",
375
+ paddingHorizontal: "$1",
376
+ borderRadius: "$1",
377
+ fontWeight: "bold",
378
+ children: match[0]
379
+ }, `highlight-${index}`));
380
+ last = start + match[0].length;
381
+ index += 1;
382
+ }
383
+ if (last < text.length) parts.push(text.slice(last));
384
+ return parts.length ? parts : text;
344
385
  }
345
386
  function useFullTextSearch({
346
387
  data,
@@ -1 +1 @@
1
- {"version":3,"names":["CaretDownIcon","GearIcon","useResolvedKnobs","useCallback","useEffect","useMemo","useState","PopoverContent","Button","Checkbox","SearchInput","Popover","ScrollView","Separator","Text","View","XStack","YStack","useDataTableState","t","bidiIsolate","jsx","jsxs","DataTableSearch","props","ctx","data","computed","filteredData","columns","onSearchResults","placeholder","debounceMs","showAdvancedOptions","defaultSearchColumns","disabled","knobProps","sz","sizeToken","searchMaxWidth","searchTerm","setSearchTerm","debouncedSearchTerm","setDebouncedSearchTerm","searchOptions","setSearchOptions","map","col","accessorKey","id","caseSensitive","wholeWord","regex","highlightResults","trim","results","performSearch","handleOptionsChange","newOptions","prev","searchableColumns","filter","searchable","selectedColumnCount","length","totalColumnCount","gap","alignItems","flex","maxWidth","children","value","onChange","onSearch","SearchOptionsPopover","onOptionsChange","paddingHorizontal","fontSize","color","count","columnVisibility","setColumnVisibility","visibility","forEach","key","includes","handleColumnToggle","columnKey","checked","newVisibility","selectedColumns","Object","entries","_","isVisible","handleSelectAllColumns","allColumns","fromEntries","handleSelectNoColumns","panelMaxHeight","stayInFrame","allowFlip","resize","Trigger","asChild","size","variant","icon","padding","overflow","minWidth","flexShrink","maxHeight","panelPadding","gapLg","fontWeight","label","onCheckedChange","justifyContent","selected","total","onPress","header","options","searchPattern","RegExp","pattern","escapeRegex","item","some","stringValue","String","test","string","replace","highlightText","text","highlightClassName","highlightStyle","_highlightStyle","backgroundColor","borderRadius","parts","split","matches","match","result","part","index","push","className","useFullTextSearch","timer","setTimeout","clearTimeout","searchResults","clearSearch","highlightTextFunction","isSearching"],"sources":["../../../../src/components/DataTableSearch/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["SlidersHorizontalIcon","sizeRecipeForToken","useResolvedKnobs","useCallback","useEffect","useId","useMemo","useRef","useState","PopoverContent","Button","Checkbox","SearchInput","formCommonColors","Popover","ScrollView","Separator","Text","View","XStack","YStack","isWeb","useDataTableState","t","bidiIsolate","jsx","jsxs","iconSizeForToken","token","iconSize","DataTableSearch","props","ctx","data","computed","filteredData","columns","onSearchResults","onHighlightText","placeholder","debounceMs","showAdvancedOptions","defaultSearchColumns","disabled","knobProps","sz","sizeToken","searchMaxWidth","iconPx","String","resultsId","rootRef","searchTerm","setSearchTerm","debouncedSearchTerm","setDebouncedSearchTerm","searchOptions","setSearchOptions","map","col","accessorKey","id","caseSensitive","wholeWord","regex","highlightResults","compiled","compileSearchPattern","results","trim","invalid","matchRows","onKey","e","key","metaKey","ctrlKey","altKey","isComposing","target","closest","preventDefault","field","current","querySelector","focus","window","addEventListener","removeEventListener","handleOptionsChange","newOptions","prev","searchableColumns","filter","searchable","selectedColumnCount","length","totalColumnCount","optionsActive","isSearching","showStatus","Boolean","ref","role","gap","alignItems","flex","maxWidth","children","minWidth","value","onChange","onSearch","size","inputProps","SearchOptionsPopover","onOptionsChange","label","color","error","muted","flexShrink","shown","total","open","setOpen","handleColumnToggle","columnKey","checked","next","Array","from","Set","handleSelectAllColumns","handleSelectNoColumns","panelMaxHeight","onOpenChange","stayInFrame","allowFlip","resize","Trigger","asChild","variant","accent","icon","weight","padding","overflow","maxHeight","panelPadding","gapLg","heading","fontWeight","compact","onCheckedChange","justifyContent","selected","onPress","header","includes","options","flags","RegExp","pattern","escapeRegex","searchPattern","item","some","lastIndex","test","performSearch","string","replace","highlightText","text","highlightClassName","global","source","parts","last","index","match","matchAll","start","push","slice","className","backgroundColor","paddingHorizontal","borderRadius","useFullTextSearch","timer","setTimeout","clearTimeout","searchResults","clearSearch","highlightTextFunction"],"sources":["../../../../src/components/DataTableSearch/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,qBAAA,QAA6B;AACtC,SAASC,kBAAA,EAAoBC,gBAAA,QAAwB;AAErD,SAASC,WAAA,EAAaC,SAAA,EAAWC,KAAA,EAAOC,OAAA,EAASC,MAAA,EAAQC,QAAA,QAAgB;AACzE,SAASC,cAAA,QAAsB;AAC/B,SAASC,MAAA,EAAQC,QAAA,EAAUC,WAAA,EAAaC,gBAAA,QAAwB;AAChE,SAASC,OAAA,EAASC,UAAA,EAAYC,SAAA,EAAWC,IAAA,EAAMC,IAAA,EAAMC,MAAA,EAAQC,MAAA,EAAQC,KAAA,QAAa;AAClF,SAASC,iBAAA,QAAyB;AAClC,SAASC,CAAA,QAAS;AAClB,SAASC,WAAA,QAAmB;AA4HxB,SAgBIC,GAAA,EAhBJC,IAAA;AA9FJ,MAAMC,gBAAA,GAAoBC,KAAA,IAA0B3B,kBAAA,CAAmB2B,KAAK,EAAEC,QAAA;AAEvE,SAASC,gBAAyBC,KAAA,EAAgC;EACvE,MAAMC,GAAA,GAAMV,iBAAA,CAAkB;EAE9B,MAAMW,IAAA,GAAOF,KAAA,CAAME,IAAA,IAASD,GAAA,EAAKE,QAAA,CAASC,YAAA,IAAwB,EAAC;EACnE,MAAMC,OAAA,GAAUL,KAAA,CAAMK,OAAA,IAAW,EAAC;EAElC,MAAM;IACJC,eAAA;IACAC,eAAA;IACAC,WAAA,GAAchB,CAAA,CAAE,8BAA8B;IAC9CiB,UAAA,GAAa;IACbC,mBAAA,GAAsB;IACtBC,oBAAA;IACAC,QAAA,GAAW;EACb,IAAIZ,KAAA;EAEJ,MAAM;IAAEa;EAAU,IAAI1C,gBAAA,CAAiB;EACvC,MAAM2C,EAAA,GAAKD,SAAA,CAAUE,SAAA;EACrB,MAAMC,cAAA,GAAiBF,EAAA,KAAO,OAAO,MAAMA,EAAA,KAAO,OAAO,MAAM;EAC/D,MAAMG,MAAA,GAASrB,gBAAA,CAAiBsB,MAAA,CAAOJ,EAAE,CAAC;EAC1C,MAAMK,SAAA,GAAY7C,KAAA,CAAM;EACxB,MAAM8C,OAAA,GAAU5C,MAAA,CAA2B,IAAI;EAE/C,MAAM,CAAC6C,UAAA,EAAYC,aAAa,IAAI7C,QAAA,CAAS,EAAE;EAC/C,MAAM,CAAC8C,mBAAA,EAAqBC,sBAAsB,IAAI/C,QAAA,CAAS,EAAE;EACjE,MAAM,CAACgD,aAAA,EAAeC,gBAAgB,IAAIjD,QAAA,CAAwB;IAChE4C,UAAA,EAAY;IACZhB,OAAA,EAASM,oBAAA,IAAwBN,OAAA,CAAQsB,GAAA,CAAKC,GAAA,IAAQA,GAAA,CAAIC,WAAA,IAAeD,GAAA,CAAIE,EAAA,IAAM,EAAE;IACrFC,aAAA,EAAe;IACfC,SAAA,EAAW;IACXC,KAAA,EAAO;IACPC,gBAAA,EAAkB;EACpB,CAAC;EAED,MAAMC,QAAA,GAAW5D,OAAA,CACf,MAAM6D,oBAAA,CAAqB;IAAE,GAAGX,aAAA;IAAeJ,UAAA,EAAYE;EAAoB,CAAC,GAChF,CAACE,aAAA,EAAeF,mBAAmB,CACrC;EAEA,MAAMc,OAAA,GAAU9D,OAAA,CAAQ,MAAM;IAC5B,IAAI,CAACgD,mBAAA,CAAoBe,IAAA,CAAK,GAAG,OAAOpC,IAAA;IACxC,IAAIiC,QAAA,CAASI,OAAA,IAAW,CAACJ,QAAA,CAASF,KAAA,EAAO,OAAO,EAAC;IACjD,OAAOO,SAAA,CAAUtC,IAAA,EAAMuB,aAAA,CAAcpB,OAAA,EAAS8B,QAAA,CAASF,KAAK;EAC9D,GAAG,CAAC/B,IAAA,EAAMqB,mBAAA,EAAqBY,QAAA,EAAUV,aAAA,CAAcpB,OAAO,CAAC;EAE/DhC,SAAA,CAAU,MAAM;IACdiC,eAAA,GAAkB+B,OAAA,EAAS;MACzB,GAAGZ,aAAA;MACHJ,UAAA,EAAYE;IACd,CAAC;EACH,GAAG,CAACc,OAAA,EAASnC,IAAA,EAAMuB,aAAA,EAAeF,mBAAA,EAAqBjB,eAAe,CAAC;EAEvEjC,SAAA,CAAU,MAAM;IACd,IAAI,CAACkC,eAAA,EAAiB;IACtB,IAAIkB,aAAA,CAAcS,gBAAA,IAAoBX,mBAAA,CAAoBe,IAAA,CAAK,KAAK,CAACH,QAAA,CAASI,OAAA,EAAS;MACrFhC,eAAA,CAAgBgB,mBAAmB;IACrC,OAAO;MACLhB,eAAA,CAAgB,EAAE;IACpB;EACF,GAAG,CAACgB,mBAAA,EAAqBE,aAAA,CAAcS,gBAAA,EAAkBC,QAAA,CAASI,OAAA,EAAShC,eAAe,CAAC;EAE3FlC,SAAA,CAAU,MAAM;IACd,IAAI,CAACiB,KAAA,IAASsB,QAAA,EAAU;IACxB,MAAM6B,KAAA,GAASC,CAAA,IAAqB;MAClC,IAAIA,CAAA,CAAEC,GAAA,KAAQ,OAAOD,CAAA,CAAEE,OAAA,IAAWF,CAAA,CAAEG,OAAA,IAAWH,CAAA,CAAEI,MAAA,IAAUJ,CAAA,CAAEK,WAAA,EAAa;MAC1E,MAAMC,MAAA,GAASN,CAAA,CAAEM,MAAA;MACjB,IAAIA,MAAA,EAAQC,OAAA,CAAQ,iDAAiD,GAAG;MACxEP,CAAA,CAAEQ,cAAA,CAAe;MACjB,MAAMC,KAAA,GAAQ/B,OAAA,CAAQgC,OAAA,EAASC,aAAA,GAAgB,oBAAoB;MACnEF,KAAA,EAAOG,KAAA,CAAM;IACf;IACAC,MAAA,CAAOC,gBAAA,CAAiB,WAAWf,KAAK;IACxC,OAAO,MAAMc,MAAA,CAAOE,mBAAA,CAAoB,WAAWhB,KAAK;EAC1D,GAAG,CAAC7B,QAAQ,CAAC;EAEb,MAAM8C,mBAAA,GAAuBC,UAAA,IAAuC;IAClEjC,gBAAA,CAAkBkC,IAAA,KAAU;MAAE,GAAGA,IAAA;MAAM,GAAGD;IAAW,EAAE;EACzD;EAEA,MAAME,iBAAA,GAAoBxD,OAAA,CAAQyD,MAAA,CAAQlC,GAAA,IAAQA,GAAA,CAAImC,UAAA,KAAe,KAAK;EAC1E,MAAMC,mBAAA,GAAsBvC,aAAA,CAAcpB,OAAA,CAAQ4D,MAAA;EAClD,MAAMC,gBAAA,GAAmBL,iBAAA,CAAkBI,MAAA;EAC3C,MAAME,aAAA,GACJ1C,aAAA,CAAcM,aAAA,IACdN,aAAA,CAAcO,SAAA,IACdP,aAAA,CAAcQ,KAAA,IACd,CAACR,aAAA,CAAcS,gBAAA,IACf8B,mBAAA,KAAwBE,gBAAA;EAC1B,MAAME,WAAA,GAAc/C,UAAA,KAAeE,mBAAA;EACnC,MAAM8C,UAAA,GAAaC,OAAA,CAAQ/C,mBAAA,CAAoBe,IAAA,CAAK,CAAC;EAErD,OACE,eAAA3C,IAAA,CAACP,MAAA;IACCmF,GAAA,EAAKnD,OAAA;IAIJ,GAAI;MAAEoD,IAAA,EAAM;IAAS;IACtB,aAAWJ,WAAA,IAAe;IACzB,GAAGvD,SAAA,CAAU4D,GAAA;IACdC,UAAA,EAAW;IACXC,IAAA,EAAM;IACNC,QAAA,EAAU5D,cAAA;IAKV6D,QAAA,kBAAAnF,GAAA,CAACP,IAAA;MAAKwF,IAAA,EAAM;MAAGG,QAAA,EAAU;MACvBD,QAAA,iBAAAnF,GAAA,CAACb,WAAA;QACCkG,KAAA,EAAO1D,UAAA;QACP2D,QAAA,EAAU1D,aAAA;QACV2D,QAAA,EAAUzD,sBAAA;QACVf,UAAA;QACAD,WAAA;QACAI,QAAA;QACAsE,IAAA,EAAMpE,EAAA;QACN,cAAYtB,CAAA,CAAE,cAAc;QAC5B2F,UAAA,EAAY;UACV,oBAAoBd,UAAA,GAAalD,SAAA,GAAY;UAC7C,qBAAqB;UACrB,gBAAgBgB,QAAA,CAASI,OAAA,IAAW;QACtC;MAAA,CACF;IAAA,CACF,GAEC7B,mBAAA,IACC,eAAAhB,GAAA,CAAC0F,oBAAA;MACC3D,aAAA;MACA4D,eAAA,EAAiB3B,mBAAA;MACjBrD,OAAA,EAASwD,iBAAA;MACTG,mBAAA;MACAE,gBAAA;MACAtD,QAAA;MACAK,MAAA;MACAkD;IAAA,CACF,GAGDE,UAAA,GACC,eAAA3E,GAAA,CAACR,IAAA;MACC4C,EAAA,EAAIX,SAAA;MACJqD,IAAA,EAAK;MACL,aAAU;MACV,eAAY;MACX,GAAG3D,SAAA,CAAUyE,KAAA;MACdC,KAAA,EAAOpD,QAAA,CAASI,OAAA,GAAUzD,gBAAA,CAAiB0G,KAAA,GAAQ1G,gBAAA,CAAiB2G,KAAA;MACpEC,UAAA,EAAY;MAEXb,QAAA,EAAA1C,QAAA,CAASI,OAAA,GACN/C,CAAA,CAAE,eAAe,IACjBC,WAAA,CACED,CAAA,CAAE,0BAA0B;QAC1BmG,KAAA,EAAOtD,OAAA,CAAQ4B,MAAA;QACf2B,KAAA,EAAO1F,IAAA,CAAK+D;MACd,CAAC,CACH;IAAA,CACN,IACE;EAAA,CACN;AAEJ;AAkBA,SAASmB,qBAAqB;EAC5B3D,aAAA;EACA4D,eAAA;EACAhF,OAAA;EACA2D,mBAAA;EACAE,gBAAA;EACAtD,QAAA;EACAK,MAAA;EACAkD;AACF,GAA8B;EAC5B,MAAM;IAAEtD;EAAU,IAAI1C,gBAAA,CAAiB;EACvC,MAAM,CAAC0H,IAAA,EAAMC,OAAO,IAAIrH,QAAA,CAAS,KAAK;EAEtC,MAAMsH,kBAAA,GAAqBA,CAACC,SAAA,EAAmBC,OAAA,KAAqB;IAClE,MAAMC,IAAA,GAAOD,OAAA,GACTE,KAAA,CAAMC,IAAA,CAAK,mBAAIC,GAAA,CAAI,CAAC,GAAG5E,aAAA,CAAcpB,OAAA,EAAS2F,SAAS,CAAC,CAAC,IACzDvE,aAAA,CAAcpB,OAAA,CAAQyD,MAAA,CAAQnB,GAAA,IAAQA,GAAA,KAAQqD,SAAS;IAC3DX,eAAA,CAAgB;MAAEhF,OAAA,EAAS6F;IAAK,CAAC;EACnC;EAEA,MAAMI,sBAAA,GAAyBA,CAAA,KAAM;IACnCjB,eAAA,CAAgB;MAAEhF,OAAA,EAASA,OAAA,CAAQsB,GAAA,CAAKC,GAAA,IAAQA,GAAA,CAAIC,WAAA,IAAeD,GAAA,CAAIE,EAAA,IAAM,EAAE;IAAE,CAAC;EACpF;EAEA,MAAMyE,qBAAA,GAAwBA,CAAA,KAAM;IAClClB,eAAA,CAAgB;MAAEhF,OAAA,EAAS;IAAG,CAAC;EACjC;EAEA,MAAMS,EAAA,GAAKD,SAAA,CAAUE,SAAA;EACrB,MAAMyF,cAAA,GAAiB1F,EAAA,KAAO,OAAO,MAAMA,EAAA,KAAO,OAAO,MAAM;EAE/D,OACE,eAAAnB,IAAA,CAACZ,OAAA;IAAQ8G,IAAA;IAAYY,YAAA,EAAcX,OAAA;IAASY,WAAA,EAAW;IAACC,SAAA,EAAS;IAACC,MAAA,EAAM;IACtE/B,QAAA,kBAAAnF,GAAA,CAACX,OAAA,CAAQ8H,OAAA,EAAR;MAAgBC,OAAA,EAAO;MACtBjC,QAAA,iBAAAnF,GAAA,CAACf,MAAA;QACCuG,IAAA,EAAMrE,SAAA,CAAUE,SAAA;QAChBgG,OAAA,EAAQ;QACRC,MAAA,EAAQ7C,aAAA;QACR8C,IAAA,EAAM,eAAAvH,GAAA,CAACzB,qBAAA;UAAsBiH,IAAA,EAAMjE,MAAA;UAAQiG,MAAA,EAAQ/C,aAAA,GAAgB,SAAS;QAAA,CAAW;QACvFvD,QAAA;QACA,cAAYpB,CAAA,CAAE,gBAAgB;QAC9B,iBAAeqG,IAAA;QACf,iBAAc;MAAA,CAChB;IAAA,CACF,GAEA,eAAAnG,GAAA,CAAChB,cAAA;MAAeyI,OAAA,EAAS;MAAGC,QAAA,EAAS;MAAS1C,UAAA,EAAW;MAAUI,QAAA,EAAU;MAC3ED,QAAA,iBAAAnF,GAAA,CAACV,UAAA;QAAW0G,UAAA,EAAY;QAAG2B,SAAA,EAAWb,cAAA;QACpC3B,QAAA,iBAAAlF,IAAA,CAACN,MAAA;UAAQ,GAAGwB,SAAA,CAAUyG,YAAA;UAAe,GAAGzG,SAAA,CAAU0G,KAAA;UAChD1C,QAAA,kBAAAnF,GAAA,CAACR,IAAA;YAAM,GAAG2B,SAAA,CAAU2G,OAAA;YAAU,GAAG3G,SAAA,CAAUyE,KAAA;YAAOmC,UAAA,EAAW;YAC1D5C,QAAA,EAAArF,CAAA,CAAE,gBAAgB;UAAA,CACrB,GAEA,eAAAG,IAAA,CAACN,MAAA;YAAQ,GAAGwB,SAAA,CAAU4D,GAAA;YACpBI,QAAA,kBAAAnF,GAAA,CAACR,IAAA;cAAM,GAAG2B,SAAA,CAAUyE,KAAA;cAAOmC,UAAA,EAAW;cACnC5C,QAAA,EAAArF,CAAA,CAAE,iBAAiB;YAAA,CACtB,GAEA,eAAAE,GAAA,CAACd,QAAA;cACC8I,OAAA,EAAO;cACPpC,KAAA,EAAO9F,CAAA,CAAE,gBAAgB;cACzByG,OAAA,EAASxE,aAAA,CAAcM,aAAA;cACvB4F,eAAA,EAAkB1B,OAAA,IAChBZ,eAAA,CAAgB;gBAAEtD,aAAA,EAAekE;cAAmB,CAAC;YAAA,CAEzD,GAEA,eAAAvG,GAAA,CAACd,QAAA;cACC8I,OAAA,EAAO;cACPpC,KAAA,EAAO9F,CAAA,CAAE,iBAAiB;cAC1ByG,OAAA,EAASxE,aAAA,CAAcO,SAAA;cACvB2F,eAAA,EAAkB1B,OAAA,IAAYZ,eAAA,CAAgB;gBAAErD,SAAA,EAAWiE;cAAmB,CAAC;YAAA,CACjF,GAEA,eAAAvG,GAAA,CAACd,QAAA;cACC8I,OAAA,EAAO;cACPpC,KAAA,EAAO9F,CAAA,CAAE,WAAW;cACpByG,OAAA,EAASxE,aAAA,CAAcQ,KAAA;cACvB0F,eAAA,EAAkB1B,OAAA,IAAYZ,eAAA,CAAgB;gBAAEpD,KAAA,EAAOgE;cAAmB,CAAC;YAAA,CAC7E,GAEA,eAAAvG,GAAA,CAACd,QAAA;cACC8I,OAAA,EAAO;cACPpC,KAAA,EAAO9F,CAAA,CAAE,mBAAmB;cAC5ByG,OAAA,EAASxE,aAAA,CAAcS,gBAAA;cACvByF,eAAA,EAAkB1B,OAAA,IAChBZ,eAAA,CAAgB;gBAAEnD,gBAAA,EAAkB+D;cAAmB,CAAC;YAAA,CAE5D;UAAA,CACF,GAEA,eAAAvG,GAAA,CAACT,SAAA,IAAU,GAEX,eAAAU,IAAA,CAACN,MAAA;YAAQ,GAAGwB,SAAA,CAAU4D,GAAA;YACpBI,QAAA,kBAAAlF,IAAA,CAACP,MAAA;cAAOwI,cAAA,EAAe;cAAgBlD,UAAA,EAAW;cAChDG,QAAA,kBAAAnF,GAAA,CAACR,IAAA;gBAAM,GAAG2B,SAAA,CAAUyE,KAAA;gBAAOmC,UAAA,EAAW;gBACnC5C,QAAA,EAAArF,CAAA,CAAE,gBAAgB;cAAA,CACrB,GACA,eAAAE,GAAA,CAACR,IAAA;gBAAM,GAAG2B,SAAA,CAAUyE,KAAA;gBAAOC,KAAA,EAAOzG,gBAAA,CAAiB2G,KAAA;gBAChDZ,QAAA,EAAApF,WAAA,CACCD,CAAA,CAAE,6BAA6B;kBAC7BqI,QAAA,EAAU7D,mBAAA;kBACV4B,KAAA,EAAO1B;gBACT,CAAC,CACH;cAAA,CACF;YAAA,CACF,GAEA,eAAAvE,IAAA,CAACP,MAAA;cAAQ,GAAGyB,SAAA,CAAU4D,GAAA;cACpBI,QAAA,kBAAAnF,GAAA,CAACf,MAAA;gBAAOuG,IAAA,EAAK;gBAAKwC,OAAA,EAAO;gBAACX,OAAA,EAAQ;gBAAWe,OAAA,EAASxB,sBAAA;gBACnDzB,QAAA,EAAArF,CAAA,CAAE,KAAK;cAAA,CACV,GACA,eAAAE,GAAA,CAACf,MAAA;gBAAOuG,IAAA,EAAK;gBAAKwC,OAAA,EAAO;gBAACX,OAAA,EAAQ;gBAAWe,OAAA,EAASvB,qBAAA;gBACnD1B,QAAA,EAAArF,CAAA,CAAE,MAAM;cAAA,CACX;YAAA,CACF,GAEA,eAAAE,GAAA,CAACL,MAAA;cAAOoF,GAAA,EAAI;cACTI,QAAA,EAAAxE,OAAA,CAAQsB,GAAA,CAAKC,GAAA,IAAQ;gBACpB,MAAMe,GAAA,GAAMf,GAAA,CAAIC,WAAA,IAAeD,GAAA,CAAIE,EAAA,IAAM;gBACzC,OACE,eAAApC,GAAA,CAACd,QAAA;kBAEC8I,OAAA,EAAO;kBACPpC,KAAA,EAAO1D,GAAA,CAAImG,MAAA,IAAUpF,GAAA;kBACrBsD,OAAA,EAASxE,aAAA,CAAcpB,OAAA,CAAQ2H,QAAA,CAASrF,GAAG;kBAC3CgF,eAAA,EAAkB1B,OAAA,IAAYF,kBAAA,CAAmBpD,GAAA,EAAKsD,OAAkB;gBAAA,GAJnEtD,GAKP;cAEJ,CAAC;YAAA,CACH;UAAA,CACF;QAAA,CACF;MAAA,CACF;IAAA,CACF;EAAA,CACF;AAEJ;AAOA,SAASP,qBACP6F,OAAA,EACiB;EACjB,MAAM;IAAE5G,UAAA;IAAYU,aAAA;IAAeC,SAAA;IAAWC;EAAM,IAAIgG,OAAA;EACxD,IAAI,CAAC5G,UAAA,CAAWiB,IAAA,CAAK,GAAG;IACtB,OAAO;MAAEL,KAAA,EAAO;MAAMM,OAAA,EAAS;IAAM;EACvC;EAEA,MAAM2F,KAAA,GAAQnG,aAAA,GAAgB,KAAK;EACnC,IAAI;IACF,IAAIE,KAAA,EAAO;MACT,OAAO;QAAEA,KAAA,EAAO,IAAIkG,MAAA,CAAO9G,UAAA,EAAY6G,KAAK;QAAG3F,OAAA,EAAS;MAAM;IAChE;IACA,MAAM6F,OAAA,GAAUpG,SAAA,GAAY,MAAMqG,WAAA,CAAYhH,UAAU,CAAC,QAAQgH,WAAA,CAAYhH,UAAU;IACvF,OAAO;MAAEY,KAAA,EAAO,IAAIkG,MAAA,CAAOC,OAAA,EAASF,KAAK;MAAG3F,OAAA,EAAS;IAAM;EAC7D,QAAQ;IACN,OAAO;MAAEN,KAAA,EAAO;MAAMM,OAAA,EAAS;IAAK;EACtC;AACF;AAEA,SAASC,UAAatC,IAAA,EAAWG,OAAA,EAAmBiI,aAAA,EAA4B;EAC9E,OAAOpI,IAAA,CAAK4D,MAAA,CAAQyE,IAAA,IAClBlI,OAAA,CAAQmI,IAAA,CAAMxC,SAAA,IAAc;IAC1B,MAAMjB,KAAA,GAASwD,IAAA,CAAiCvC,SAAS;IACzD,IAAIjB,KAAA,IAAS,MAAM,OAAO;IAC1BuD,aAAA,CAAcG,SAAA,GAAY;IAC1B,OAAOH,aAAA,CAAcI,IAAA,CAAKxH,MAAA,CAAO6D,KAAK,CAAC;EACzC,CAAC,CACH;AACF;AAEA,SAAS4D,cAAiBzI,IAAA,EAAW+H,OAAA,EAA6B;EAChE,MAAM9F,QAAA,GAAWC,oBAAA,CAAqB6F,OAAO;EAC7C,IAAI,CAACA,OAAA,CAAQ5G,UAAA,CAAWiB,IAAA,CAAK,GAAG,OAAOpC,IAAA;EACvC,IAAIiC,QAAA,CAASI,OAAA,IAAW,CAACJ,QAAA,CAASF,KAAA,EAAO,OAAO,EAAC;EACjD,OAAOO,SAAA,CAAUtC,IAAA,EAAM+H,OAAA,CAAQ5H,OAAA,EAAS8B,QAAA,CAASF,KAAK;AACxD;AAEA,SAASoG,YAAYO,MAAA,EAAwB;EAC3C,OAAOA,MAAA,CAAOC,OAAA,CAAQ,uBAAuB,MAAM;AACrD;AAWA,SAASC,cAAcC,IAAA,EAAcd,OAAA,EAA4C;EAC/E,MAAM;IACJ5G,UAAA;IACAU,aAAA,GAAgB;IAChBC,SAAA,GAAY;IACZC,KAAA,GAAQ;IACR+G,kBAAA,GAAqB;EACvB,IAAIf,OAAA;EAEJ,IAAI,CAAC5G,UAAA,CAAWiB,IAAA,CAAK,KAAK,CAACyG,IAAA,EAAM;IAC/B,OAAOA,IAAA;EACT;EAEA,MAAM5G,QAAA,GAAWC,oBAAA,CAAqB;IACpCf,UAAA;IACAU,aAAA;IACAC,SAAA;IACAC;EACF,CAAC;EACD,IAAI,CAACE,QAAA,CAASF,KAAA,EAAO,OAAO8G,IAAA;EAE5B,MAAME,MAAA,GAAS,IAAId,MAAA,CAAOhG,QAAA,CAASF,KAAA,CAAMiH,MAAA,EAAQ/G,QAAA,CAASF,KAAA,CAAMiG,KAAA,CAAMF,QAAA,CAAS,GAAG,IAAI,OAAO,GAAG;EAChG,MAAMmB,KAAA,GAA2B,EAAC;EAClC,IAAIC,IAAA,GAAO;EACX,IAAIC,KAAA,GAAQ;EACZ,WAAWC,KAAA,IAASP,IAAA,CAAKQ,QAAA,CAASN,MAAM,GAAG;IACzC,MAAMO,KAAA,GAAQF,KAAA,CAAMD,KAAA,IAAS;IAC7B,IAAIG,KAAA,GAAQJ,IAAA,EAAMD,KAAA,CAAMM,IAAA,CAAKV,IAAA,CAAKW,KAAA,CAAMN,IAAA,EAAMI,KAAK,CAAC;IACpDL,KAAA,CAAMM,IAAA,CACJ,eAAA/J,GAAA,CAACR,IAAA;MAECyK,SAAA,EAAWX,kBAAA;MACXY,eAAA,EAAgB;MAChBC,iBAAA,EAAkB;MAClBC,YAAA,EAAa;MACbrC,UAAA,EAAW;MAEV5C,QAAA,EAAAyE,KAAA,CAAM,CAAC;IAAA,GAPH,aAAaD,KAAK,EAQzB,CACF;IACAD,IAAA,GAAOI,KAAA,GAAQF,KAAA,CAAM,CAAC,EAAErF,MAAA;IACxBoF,KAAA,IAAS;EACX;EACA,IAAID,IAAA,GAAOL,IAAA,CAAK9E,MAAA,EAAQkF,KAAA,CAAMM,IAAA,CAAKV,IAAA,CAAKW,KAAA,CAAMN,IAAI,CAAC;EACnD,OAAOD,KAAA,CAAMlF,MAAA,GAASkF,KAAA,GAAQJ,IAAA;AAChC;AAyBO,SAASgB,kBAA2B;EACzC7J,IAAA;EACAG,OAAA;EACAI,UAAA,GAAa;EACbE;AACF,GAA4D;EAC1D,MAAM,CAACU,UAAA,EAAYC,aAAa,IAAI7C,QAAA,CAAS,EAAE;EAC/C,MAAM,CAAC8C,mBAAA,EAAqBC,sBAAsB,IAAI/C,QAAA,CAAS,EAAE;EACjE,MAAM,CAACgD,aAAA,EAAeC,gBAAgB,IAAIjD,QAAA,CAAwB;IAChE4C,UAAA,EAAY;IACZhB,OAAA,EAASM,oBAAA,IAAwBN,OAAA,CAAQsB,GAAA,CAAKC,GAAA,IAAQA,GAAA,CAAIC,WAAA,IAAeD,GAAA,CAAIE,EAAA,IAAM,EAAE;IACrFC,aAAA,EAAe;IACfC,SAAA,EAAW;IACXC,KAAA,EAAO;IACPC,gBAAA,EAAkB;EACpB,CAAC;EAED7D,SAAA,CAAU,MAAM;IACd,MAAM2L,KAAA,GAAQC,UAAA,CAAW,MAAM;MAC7BzI,sBAAA,CAAuBH,UAAU;IACnC,GAAGZ,UAAU;IAEb,OAAO,MAAMyJ,YAAA,CAAaF,KAAK;EACjC,GAAG,CAAC3I,UAAA,EAAYZ,UAAU,CAAC;EAE3B,MAAM0J,aAAA,GAAgB5L,OAAA,CAAQ,MAAM;IAClC,IAAI,CAACgD,mBAAA,CAAoBe,IAAA,CAAK,GAAG;MAC/B,OAAOpC,IAAA;IACT;IAEA,OAAOyI,aAAA,CAAczI,IAAA,EAAM;MACzB,GAAGuB,aAAA;MACHJ,UAAA,EAAYE;IACd,CAAC;EACH,GAAG,CAACrB,IAAA,EAAMqB,mBAAA,EAAqBE,aAAa,CAAC;EAE7C,MAAM2I,WAAA,GAAchM,WAAA,CAAY,MAAM;IACpCkD,aAAA,CAAc,EAAE;IAChBE,sBAAA,CAAuB,EAAE;EAC3B,GAAG,EAAE;EAEL,MAAM6I,qBAAA,GAAwBjM,WAAA,CAC3B2K,IAAA,IAAiB;IAChB,IAAI,CAACtH,aAAA,CAAcS,gBAAA,IAAoB,CAACX,mBAAA,CAAoBe,IAAA,CAAK,GAAG;MAClE,OAAOyG,IAAA;IACT;IAEA,OAAOD,aAAA,CAAcC,IAAA,EAAM;MACzB1H,UAAA,EAAYE,mBAAA;MACZQ,aAAA,EAAeN,aAAA,CAAcM,aAAA;MAC7BC,SAAA,EAAWP,aAAA,CAAcO,SAAA;MACzBC,KAAA,EAAOR,aAAA,CAAcQ;IACvB,CAAC;EACH,GACA,CAACV,mBAAA,EAAqBE,aAAa,CACrC;EAEA,OAAO;IACLJ,UAAA;IACAC,aAAA;IACA6I,aAAA;IACA1I,aAAA;IACAC,gBAAA;IACA0C,WAAA,EAAa7C,mBAAA,KAAwBF,UAAA;IACrC+I,WAAA;IACAtB,aAAA,EAAeuB;EACjB;AACF","ignoreList":[]}