@buoy-gg/react-query 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/README.md +389 -0
  2. package/lib/commonjs/index.js +107 -0
  3. package/lib/commonjs/package.json +1 -0
  4. package/lib/commonjs/preset.js +220 -0
  5. package/lib/commonjs/react-query/ReactQueryDevTools.js +335 -0
  6. package/lib/commonjs/react-query/components/DataEditorMode.js +316 -0
  7. package/lib/commonjs/react-query/components/FilterStatusBadge.js +51 -0
  8. package/lib/commonjs/react-query/components/MutationBrowserMode.js +51 -0
  9. package/lib/commonjs/react-query/components/MutationEditorMode.js +257 -0
  10. package/lib/commonjs/react-query/components/QueryBrowserMode.js +82 -0
  11. package/lib/commonjs/react-query/components/QueryDebugInfo.js +107 -0
  12. package/lib/commonjs/react-query/components/QueryFilterViewV3.js +221 -0
  13. package/lib/commonjs/react-query/components/QuerySelector.js +208 -0
  14. package/lib/commonjs/react-query/components/ReactQueryDevToolsModal.js +76 -0
  15. package/lib/commonjs/react-query/components/ReactQuerySection.js +47 -0
  16. package/lib/commonjs/react-query/components/WifiToggle.js +49 -0
  17. package/lib/commonjs/react-query/components/index.js +253 -0
  18. package/lib/commonjs/react-query/components/modals/DataEditorModal.js +70 -0
  19. package/lib/commonjs/react-query/components/modals/MutationBrowserFooter.js +69 -0
  20. package/lib/commonjs/react-query/components/modals/MutationBrowserModal.js +146 -0
  21. package/lib/commonjs/react-query/components/modals/MutationEditorModal.js +58 -0
  22. package/lib/commonjs/react-query/components/modals/QueryBrowserFooter.js +63 -0
  23. package/lib/commonjs/react-query/components/modals/QueryBrowserModal.js +237 -0
  24. package/lib/commonjs/react-query/components/modals/ReactQueryModal.js +83 -0
  25. package/lib/commonjs/react-query/components/modals/ReactQueryModalHeader.js +171 -0
  26. package/lib/commonjs/react-query/components/modals/SwipeIndicator.js +204 -0
  27. package/lib/commonjs/react-query/components/query-browser/ActionButton.js +127 -0
  28. package/lib/commonjs/react-query/components/query-browser/ClearCacheButton.js +53 -0
  29. package/lib/commonjs/react-query/components/query-browser/Explorer.js +985 -0
  30. package/lib/commonjs/react-query/components/query-browser/MutationButton.js +184 -0
  31. package/lib/commonjs/react-query/components/query-browser/MutationDetails.js +122 -0
  32. package/lib/commonjs/react-query/components/query-browser/MutationDetailsChips.js +66 -0
  33. package/lib/commonjs/react-query/components/query-browser/MutationInformation.js +117 -0
  34. package/lib/commonjs/react-query/components/query-browser/MutationStatusCount.js +111 -0
  35. package/lib/commonjs/react-query/components/query-browser/MutationsList.js +212 -0
  36. package/lib/commonjs/react-query/components/query-browser/NetworkToggleButton.js +54 -0
  37. package/lib/commonjs/react-query/components/query-browser/QueryActions.js +138 -0
  38. package/lib/commonjs/react-query/components/query-browser/QueryBrowser.js +146 -0
  39. package/lib/commonjs/react-query/components/query-browser/QueryDetails.js +137 -0
  40. package/lib/commonjs/react-query/components/query-browser/QueryDetailsChip.js +76 -0
  41. package/lib/commonjs/react-query/components/query-browser/QueryInformation.js +94 -0
  42. package/lib/commonjs/react-query/components/query-browser/QueryRow.js +93 -0
  43. package/lib/commonjs/react-query/components/query-browser/QueryStatus.js +125 -0
  44. package/lib/commonjs/react-query/components/query-browser/QueryStatusCount.js +130 -0
  45. package/lib/commonjs/react-query/components/query-browser/StorageStatusCount.js +106 -0
  46. package/lib/commonjs/react-query/components/query-browser/index.js +170 -0
  47. package/lib/commonjs/react-query/components/query-browser/svgs.js +74 -0
  48. package/lib/commonjs/react-query/hooks/index.js +96 -0
  49. package/lib/commonjs/react-query/hooks/useActionButtons.js +59 -0
  50. package/lib/commonjs/react-query/hooks/useAllMutations.js +35 -0
  51. package/lib/commonjs/react-query/hooks/useAllQueries.js +117 -0
  52. package/lib/commonjs/react-query/hooks/useModalManager.js +178 -0
  53. package/lib/commonjs/react-query/hooks/useModalPersistence.js +71 -0
  54. package/lib/commonjs/react-query/hooks/useMutationActionButtons.js +22 -0
  55. package/lib/commonjs/react-query/hooks/useQueryStatusCounts.js +110 -0
  56. package/lib/commonjs/react-query/hooks/useReactQueryState.js +24 -0
  57. package/lib/commonjs/react-query/hooks/useSelectedMutation.js +30 -0
  58. package/lib/commonjs/react-query/hooks/useSelectedQuery.js +96 -0
  59. package/lib/commonjs/react-query/hooks/useStorageQueryCounts.js +28 -0
  60. package/lib/commonjs/react-query/hooks/useWifiState.js +67 -0
  61. package/lib/commonjs/react-query/index.js +16 -0
  62. package/lib/commonjs/react-query/types/index.js +16 -0
  63. package/lib/commonjs/react-query/types/types.js +14 -0
  64. package/lib/commonjs/react-query/utils/actions/deleteItem.js +23 -0
  65. package/lib/commonjs/react-query/utils/actions/invalidate.js +13 -0
  66. package/lib/commonjs/react-query/utils/actions/refetch.js +15 -0
  67. package/lib/commonjs/react-query/utils/actions/remove.js +12 -0
  68. package/lib/commonjs/react-query/utils/actions/reset.js +15 -0
  69. package/lib/commonjs/react-query/utils/actions/triggerError.js +30 -0
  70. package/lib/commonjs/react-query/utils/actions/triggerLoading.js +51 -0
  71. package/lib/commonjs/react-query/utils/deleteNestedDataByPath.js +56 -0
  72. package/lib/commonjs/react-query/utils/formatRelativeTime.js +29 -0
  73. package/lib/commonjs/react-query/utils/getQueryStatusColor.js +16 -0
  74. package/lib/commonjs/react-query/utils/getQueryStatusLabel.js +17 -0
  75. package/lib/commonjs/react-query/utils/getStorageQueryCounts.js +35 -0
  76. package/lib/commonjs/react-query/utils/index.js +170 -0
  77. package/lib/commonjs/react-query/utils/modalStorageOperations.js +127 -0
  78. package/lib/commonjs/react-query/utils/storageQueryUtils.js +149 -0
  79. package/lib/commonjs/react-query/utils/updateNestedDataByPath.js +61 -0
  80. package/lib/module/index.js +19 -0
  81. package/lib/module/preset.js +216 -0
  82. package/lib/module/react-query/ReactQueryDevTools.js +68 -0
  83. package/lib/module/react-query/components/DataEditorMode.js +310 -0
  84. package/lib/module/react-query/components/FilterStatusBadge.js +47 -0
  85. package/lib/module/react-query/components/MutationBrowserMode.js +46 -0
  86. package/lib/module/react-query/components/MutationEditorMode.js +252 -0
  87. package/lib/module/react-query/components/QueryBrowserMode.js +77 -0
  88. package/lib/module/react-query/components/QueryDebugInfo.js +104 -0
  89. package/lib/module/react-query/components/QueryFilterViewV3.js +218 -0
  90. package/lib/module/react-query/components/QuerySelector.js +204 -0
  91. package/lib/module/react-query/components/ReactQueryDevToolsModal.js +72 -0
  92. package/lib/module/react-query/components/ReactQuerySection.js +43 -0
  93. package/lib/module/react-query/components/WifiToggle.js +46 -0
  94. package/lib/module/react-query/components/index.js +29 -0
  95. package/lib/module/react-query/components/modals/DataEditorModal.js +66 -0
  96. package/lib/module/react-query/components/modals/MutationBrowserFooter.js +64 -0
  97. package/lib/module/react-query/components/modals/MutationBrowserModal.js +143 -0
  98. package/lib/module/react-query/components/modals/MutationEditorModal.js +54 -0
  99. package/lib/module/react-query/components/modals/QueryBrowserFooter.js +58 -0
  100. package/lib/module/react-query/components/modals/QueryBrowserModal.js +233 -0
  101. package/lib/module/react-query/components/modals/ReactQueryModal.js +79 -0
  102. package/lib/module/react-query/components/modals/ReactQueryModalHeader.js +167 -0
  103. package/lib/module/react-query/components/modals/SwipeIndicator.js +200 -0
  104. package/lib/module/react-query/components/query-browser/ActionButton.js +124 -0
  105. package/lib/module/react-query/components/query-browser/ClearCacheButton.js +49 -0
  106. package/lib/module/react-query/components/query-browser/Explorer.js +983 -0
  107. package/lib/module/react-query/components/query-browser/MutationButton.js +180 -0
  108. package/lib/module/react-query/components/query-browser/MutationDetails.js +117 -0
  109. package/lib/module/react-query/components/query-browser/MutationDetailsChips.js +62 -0
  110. package/lib/module/react-query/components/query-browser/MutationInformation.js +112 -0
  111. package/lib/module/react-query/components/query-browser/MutationStatusCount.js +106 -0
  112. package/lib/module/react-query/components/query-browser/MutationsList.js +207 -0
  113. package/lib/module/react-query/components/query-browser/NetworkToggleButton.js +50 -0
  114. package/lib/module/react-query/components/query-browser/QueryActions.js +133 -0
  115. package/lib/module/react-query/components/query-browser/QueryBrowser.js +141 -0
  116. package/lib/module/react-query/components/query-browser/QueryDetails.js +132 -0
  117. package/lib/module/react-query/components/query-browser/QueryDetailsChip.js +72 -0
  118. package/lib/module/react-query/components/query-browser/QueryInformation.js +89 -0
  119. package/lib/module/react-query/components/query-browser/QueryRow.js +89 -0
  120. package/lib/module/react-query/components/query-browser/QueryStatus.js +121 -0
  121. package/lib/module/react-query/components/query-browser/QueryStatusCount.js +125 -0
  122. package/lib/module/react-query/components/query-browser/StorageStatusCount.js +101 -0
  123. package/lib/module/react-query/components/query-browser/index.js +22 -0
  124. package/lib/module/react-query/components/query-browser/svgs.js +66 -0
  125. package/lib/module/react-query/hooks/index.js +23 -0
  126. package/lib/module/react-query/hooks/useActionButtons.js +54 -0
  127. package/lib/module/react-query/hooks/useAllMutations.js +32 -0
  128. package/lib/module/react-query/hooks/useAllQueries.js +114 -0
  129. package/lib/module/react-query/hooks/useModalManager.js +175 -0
  130. package/lib/module/react-query/hooks/useModalPersistence.js +67 -0
  131. package/lib/module/react-query/hooks/useMutationActionButtons.js +18 -0
  132. package/lib/module/react-query/hooks/useQueryStatusCounts.js +108 -0
  133. package/lib/module/react-query/hooks/useReactQueryState.js +20 -0
  134. package/lib/module/react-query/hooks/useSelectedMutation.js +27 -0
  135. package/lib/module/react-query/hooks/useSelectedQuery.js +92 -0
  136. package/lib/module/react-query/hooks/useStorageQueryCounts.js +25 -0
  137. package/lib/module/react-query/hooks/useWifiState.js +64 -0
  138. package/lib/module/react-query/index.js +3 -0
  139. package/lib/module/react-query/types/index.js +3 -0
  140. package/lib/module/react-query/types/types.js +10 -0
  141. package/lib/module/react-query/utils/actions/deleteItem.js +19 -0
  142. package/lib/module/react-query/utils/actions/invalidate.js +9 -0
  143. package/lib/module/react-query/utils/actions/refetch.js +11 -0
  144. package/lib/module/react-query/utils/actions/remove.js +8 -0
  145. package/lib/module/react-query/utils/actions/reset.js +11 -0
  146. package/lib/module/react-query/utils/actions/triggerError.js +26 -0
  147. package/lib/module/react-query/utils/actions/triggerLoading.js +47 -0
  148. package/lib/module/react-query/utils/deleteNestedDataByPath.js +51 -0
  149. package/lib/module/react-query/utils/formatRelativeTime.js +25 -0
  150. package/lib/module/react-query/utils/getQueryStatusColor.js +12 -0
  151. package/lib/module/react-query/utils/getQueryStatusLabel.js +13 -0
  152. package/lib/module/react-query/utils/getStorageQueryCounts.js +31 -0
  153. package/lib/module/react-query/utils/index.js +27 -0
  154. package/lib/module/react-query/utils/modalStorageOperations.js +117 -0
  155. package/lib/module/react-query/utils/storageQueryUtils.js +140 -0
  156. package/lib/module/react-query/utils/updateNestedDataByPath.js +56 -0
  157. package/lib/typescript/index.d.ts +7 -0
  158. package/lib/typescript/index.d.ts.map +1 -0
  159. package/lib/typescript/preset.d.ts +160 -0
  160. package/lib/typescript/preset.d.ts.map +1 -0
  161. package/lib/typescript/react-query/ReactQueryDevTools.d.ts +45 -0
  162. package/lib/typescript/react-query/ReactQueryDevTools.d.ts.map +1 -0
  163. package/lib/typescript/react-query/components/DataEditorMode.d.ts +25 -0
  164. package/lib/typescript/react-query/components/DataEditorMode.d.ts.map +1 -0
  165. package/lib/typescript/react-query/components/FilterStatusBadge.d.ts +12 -0
  166. package/lib/typescript/react-query/components/FilterStatusBadge.d.ts.map +1 -0
  167. package/lib/typescript/react-query/components/MutationBrowserMode.d.ts +14 -0
  168. package/lib/typescript/react-query/components/MutationBrowserMode.d.ts.map +1 -0
  169. package/lib/typescript/react-query/components/MutationEditorMode.d.ts +12 -0
  170. package/lib/typescript/react-query/components/MutationEditorMode.d.ts.map +1 -0
  171. package/lib/typescript/react-query/components/QueryBrowserMode.d.ts +14 -0
  172. package/lib/typescript/react-query/components/QueryBrowserMode.d.ts.map +1 -0
  173. package/lib/typescript/react-query/components/QueryDebugInfo.d.ts +6 -0
  174. package/lib/typescript/react-query/components/QueryDebugInfo.d.ts.map +1 -0
  175. package/lib/typescript/react-query/components/QueryFilterViewV3.d.ts +17 -0
  176. package/lib/typescript/react-query/components/QueryFilterViewV3.d.ts.map +1 -0
  177. package/lib/typescript/react-query/components/QuerySelector.d.ts +15 -0
  178. package/lib/typescript/react-query/components/QuerySelector.d.ts.map +1 -0
  179. package/lib/typescript/react-query/components/ReactQueryDevToolsModal.d.ts +19 -0
  180. package/lib/typescript/react-query/components/ReactQueryDevToolsModal.d.ts.map +1 -0
  181. package/lib/typescript/react-query/components/ReactQuerySection.d.ts +11 -0
  182. package/lib/typescript/react-query/components/ReactQuerySection.d.ts.map +1 -0
  183. package/lib/typescript/react-query/components/WifiToggle.d.ts +8 -0
  184. package/lib/typescript/react-query/components/WifiToggle.d.ts.map +1 -0
  185. package/lib/typescript/react-query/components/index.d.ts +21 -0
  186. package/lib/typescript/react-query/components/index.d.ts.map +1 -0
  187. package/lib/typescript/react-query/components/modals/DataEditorModal.d.ts +17 -0
  188. package/lib/typescript/react-query/components/modals/DataEditorModal.d.ts.map +1 -0
  189. package/lib/typescript/react-query/components/modals/MutationBrowserFooter.d.ts +17 -0
  190. package/lib/typescript/react-query/components/modals/MutationBrowserFooter.d.ts.map +1 -0
  191. package/lib/typescript/react-query/components/modals/MutationBrowserModal.d.ts +21 -0
  192. package/lib/typescript/react-query/components/modals/MutationBrowserModal.d.ts.map +1 -0
  193. package/lib/typescript/react-query/components/modals/MutationEditorModal.d.ts +17 -0
  194. package/lib/typescript/react-query/components/modals/MutationEditorModal.d.ts.map +1 -0
  195. package/lib/typescript/react-query/components/modals/QueryBrowserFooter.d.ts +16 -0
  196. package/lib/typescript/react-query/components/modals/QueryBrowserFooter.d.ts.map +1 -0
  197. package/lib/typescript/react-query/components/modals/QueryBrowserModal.d.ts +21 -0
  198. package/lib/typescript/react-query/components/modals/QueryBrowserModal.d.ts.map +1 -0
  199. package/lib/typescript/react-query/components/modals/ReactQueryModal.d.ts +29 -0
  200. package/lib/typescript/react-query/components/modals/ReactQueryModal.d.ts.map +1 -0
  201. package/lib/typescript/react-query/components/modals/ReactQueryModalHeader.d.ts +19 -0
  202. package/lib/typescript/react-query/components/modals/ReactQueryModalHeader.d.ts.map +1 -0
  203. package/lib/typescript/react-query/components/modals/SwipeIndicator.d.ts +14 -0
  204. package/lib/typescript/react-query/components/modals/SwipeIndicator.d.ts.map +1 -0
  205. package/lib/typescript/react-query/components/query-browser/ActionButton.d.ts +49 -0
  206. package/lib/typescript/react-query/components/query-browser/ActionButton.d.ts.map +1 -0
  207. package/lib/typescript/react-query/components/query-browser/ClearCacheButton.d.ts +12 -0
  208. package/lib/typescript/react-query/components/query-browser/ClearCacheButton.d.ts.map +1 -0
  209. package/lib/typescript/react-query/components/query-browser/Explorer.d.ts +19 -0
  210. package/lib/typescript/react-query/components/query-browser/Explorer.d.ts.map +1 -0
  211. package/lib/typescript/react-query/components/query-browser/MutationButton.d.ts +12 -0
  212. package/lib/typescript/react-query/components/query-browser/MutationButton.d.ts.map +1 -0
  213. package/lib/typescript/react-query/components/query-browser/MutationDetails.d.ts +10 -0
  214. package/lib/typescript/react-query/components/query-browser/MutationDetails.d.ts.map +1 -0
  215. package/lib/typescript/react-query/components/query-browser/MutationDetailsChips.d.ts +10 -0
  216. package/lib/typescript/react-query/components/query-browser/MutationDetailsChips.d.ts.map +1 -0
  217. package/lib/typescript/react-query/components/query-browser/MutationInformation.d.ts +8 -0
  218. package/lib/typescript/react-query/components/query-browser/MutationInformation.d.ts.map +1 -0
  219. package/lib/typescript/react-query/components/query-browser/MutationStatusCount.d.ts +12 -0
  220. package/lib/typescript/react-query/components/query-browser/MutationStatusCount.d.ts.map +1 -0
  221. package/lib/typescript/react-query/components/query-browser/MutationsList.d.ts +17 -0
  222. package/lib/typescript/react-query/components/query-browser/MutationsList.d.ts.map +1 -0
  223. package/lib/typescript/react-query/components/query-browser/NetworkToggleButton.d.ts +11 -0
  224. package/lib/typescript/react-query/components/query-browser/NetworkToggleButton.d.ts.map +1 -0
  225. package/lib/typescript/react-query/components/query-browser/QueryActions.d.ts +12 -0
  226. package/lib/typescript/react-query/components/query-browser/QueryActions.d.ts.map +1 -0
  227. package/lib/typescript/react-query/components/query-browser/QueryBrowser.d.ts +19 -0
  228. package/lib/typescript/react-query/components/query-browser/QueryBrowser.d.ts.map +1 -0
  229. package/lib/typescript/react-query/components/query-browser/QueryDetails.d.ts +10 -0
  230. package/lib/typescript/react-query/components/query-browser/QueryDetails.d.ts.map +1 -0
  231. package/lib/typescript/react-query/components/query-browser/QueryDetailsChip.d.ts +10 -0
  232. package/lib/typescript/react-query/components/query-browser/QueryDetailsChip.d.ts.map +1 -0
  233. package/lib/typescript/react-query/components/query-browser/QueryInformation.d.ts +12 -0
  234. package/lib/typescript/react-query/components/query-browser/QueryInformation.d.ts.map +1 -0
  235. package/lib/typescript/react-query/components/query-browser/QueryRow.d.ts +12 -0
  236. package/lib/typescript/react-query/components/query-browser/QueryRow.d.ts.map +1 -0
  237. package/lib/typescript/react-query/components/query-browser/QueryStatus.d.ts +17 -0
  238. package/lib/typescript/react-query/components/query-browser/QueryStatus.d.ts.map +1 -0
  239. package/lib/typescript/react-query/components/query-browser/QueryStatusCount.d.ts +11 -0
  240. package/lib/typescript/react-query/components/query-browser/QueryStatusCount.d.ts.map +1 -0
  241. package/lib/typescript/react-query/components/query-browser/StorageStatusCount.d.ts +18 -0
  242. package/lib/typescript/react-query/components/query-browser/StorageStatusCount.d.ts.map +1 -0
  243. package/lib/typescript/react-query/components/query-browser/index.d.ts +21 -0
  244. package/lib/typescript/react-query/components/query-browser/index.d.ts.map +1 -0
  245. package/lib/typescript/react-query/components/query-browser/svgs.d.ts +17 -0
  246. package/lib/typescript/react-query/components/query-browser/svgs.d.ts.map +1 -0
  247. package/lib/typescript/react-query/hooks/index.d.ts +13 -0
  248. package/lib/typescript/react-query/hooks/index.d.ts.map +1 -0
  249. package/lib/typescript/react-query/hooks/useActionButtons.d.ts +21 -0
  250. package/lib/typescript/react-query/hooks/useActionButtons.d.ts.map +1 -0
  251. package/lib/typescript/react-query/hooks/useAllMutations.d.ts +10 -0
  252. package/lib/typescript/react-query/hooks/useAllMutations.d.ts.map +1 -0
  253. package/lib/typescript/react-query/hooks/useAllQueries.d.ts +12 -0
  254. package/lib/typescript/react-query/hooks/useAllQueries.d.ts.map +1 -0
  255. package/lib/typescript/react-query/hooks/useModalManager.d.ts +39 -0
  256. package/lib/typescript/react-query/hooks/useModalManager.d.ts.map +1 -0
  257. package/lib/typescript/react-query/hooks/useModalPersistence.d.ts +29 -0
  258. package/lib/typescript/react-query/hooks/useModalPersistence.d.ts.map +1 -0
  259. package/lib/typescript/react-query/hooks/useMutationActionButtons.d.ts +15 -0
  260. package/lib/typescript/react-query/hooks/useMutationActionButtons.d.ts.map +1 -0
  261. package/lib/typescript/react-query/hooks/useQueryStatusCounts.d.ts +25 -0
  262. package/lib/typescript/react-query/hooks/useQueryStatusCounts.d.ts.map +1 -0
  263. package/lib/typescript/react-query/hooks/useReactQueryState.d.ts +9 -0
  264. package/lib/typescript/react-query/hooks/useReactQueryState.d.ts.map +1 -0
  265. package/lib/typescript/react-query/hooks/useSelectedMutation.d.ts +7 -0
  266. package/lib/typescript/react-query/hooks/useSelectedMutation.d.ts.map +1 -0
  267. package/lib/typescript/react-query/hooks/useSelectedQuery.d.ts +25 -0
  268. package/lib/typescript/react-query/hooks/useSelectedQuery.d.ts.map +1 -0
  269. package/lib/typescript/react-query/hooks/useStorageQueryCounts.d.ts +10 -0
  270. package/lib/typescript/react-query/hooks/useStorageQueryCounts.d.ts.map +1 -0
  271. package/lib/typescript/react-query/hooks/useWifiState.d.ts +9 -0
  272. package/lib/typescript/react-query/hooks/useWifiState.d.ts.map +1 -0
  273. package/lib/typescript/react-query/index.d.ts +2 -0
  274. package/lib/typescript/react-query/index.d.ts.map +1 -0
  275. package/lib/typescript/react-query/types/index.d.ts +2 -0
  276. package/lib/typescript/react-query/types/index.d.ts.map +1 -0
  277. package/lib/typescript/react-query/types/types.d.ts +10 -0
  278. package/lib/typescript/react-query/types/types.d.ts.map +1 -0
  279. package/lib/typescript/react-query/utils/actions/deleteItem.d.ts +9 -0
  280. package/lib/typescript/react-query/utils/actions/deleteItem.d.ts.map +1 -0
  281. package/lib/typescript/react-query/utils/actions/invalidate.d.ts +8 -0
  282. package/lib/typescript/react-query/utils/actions/invalidate.d.ts.map +1 -0
  283. package/lib/typescript/react-query/utils/actions/refetch.d.ts +7 -0
  284. package/lib/typescript/react-query/utils/actions/refetch.d.ts.map +1 -0
  285. package/lib/typescript/react-query/utils/actions/remove.d.ts +8 -0
  286. package/lib/typescript/react-query/utils/actions/remove.d.ts.map +1 -0
  287. package/lib/typescript/react-query/utils/actions/reset.d.ts +8 -0
  288. package/lib/typescript/react-query/utils/actions/reset.d.ts.map +1 -0
  289. package/lib/typescript/react-query/utils/actions/triggerError.d.ts +8 -0
  290. package/lib/typescript/react-query/utils/actions/triggerError.d.ts.map +1 -0
  291. package/lib/typescript/react-query/utils/actions/triggerLoading.d.ts +7 -0
  292. package/lib/typescript/react-query/utils/actions/triggerLoading.d.ts.map +1 -0
  293. package/lib/typescript/react-query/utils/deleteNestedDataByPath.d.ts +9 -0
  294. package/lib/typescript/react-query/utils/deleteNestedDataByPath.d.ts.map +1 -0
  295. package/lib/typescript/react-query/utils/formatRelativeTime.d.ts +7 -0
  296. package/lib/typescript/react-query/utils/formatRelativeTime.d.ts.map +1 -0
  297. package/lib/typescript/react-query/utils/getQueryStatusColor.d.ts +10 -0
  298. package/lib/typescript/react-query/utils/getQueryStatusColor.d.ts.map +1 -0
  299. package/lib/typescript/react-query/utils/getQueryStatusLabel.d.ts +9 -0
  300. package/lib/typescript/react-query/utils/getQueryStatusLabel.d.ts.map +1 -0
  301. package/lib/typescript/react-query/utils/getStorageQueryCounts.d.ts +13 -0
  302. package/lib/typescript/react-query/utils/getStorageQueryCounts.d.ts.map +1 -0
  303. package/lib/typescript/react-query/utils/index.d.ts +17 -0
  304. package/lib/typescript/react-query/utils/index.d.ts.map +1 -0
  305. package/lib/typescript/react-query/utils/modalStorageOperations.d.ts +55 -0
  306. package/lib/typescript/react-query/utils/modalStorageOperations.d.ts.map +1 -0
  307. package/lib/typescript/react-query/utils/storageQueryUtils.d.ts +69 -0
  308. package/lib/typescript/react-query/utils/storageQueryUtils.d.ts.map +1 -0
  309. package/lib/typescript/react-query/utils/updateNestedDataByPath.d.ts +10 -0
  310. package/lib/typescript/react-query/utils/updateNestedDataByPath.d.ts.map +1 -0
  311. package/package.json +68 -0
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.QueryBrowserModal = QueryBrowserModal;
7
+ var _sharedUi = require("@buoy-gg/shared-ui");
8
+ var _useSelectedQuery = require("../../hooks/useSelectedQuery");
9
+ var _ReactQueryModalHeader = require("./ReactQueryModalHeader");
10
+ var _QueryBrowserMode = require("../QueryBrowserMode");
11
+ var _QueryBrowserFooter = require("./QueryBrowserFooter");
12
+ var _QueryFilterViewV = require("../QueryFilterViewV3");
13
+ var _react = require("react");
14
+ var _reactNative = require("react-native");
15
+ var _useAllQueries = _interopRequireDefault(require("../../hooks/useAllQueries"));
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ /**
19
+ * Specialized modal for query browsing following "Decompose by Responsibility"
20
+ * Single purpose: Display query browser when no query is selected
21
+ */
22
+ function QueryBrowserModal({
23
+ visible,
24
+ selectedQueryKey,
25
+ onQuerySelect,
26
+ onClose,
27
+ onMinimize,
28
+ activeFilter: externalActiveFilter,
29
+ onFilterChange: externalOnFilterChange,
30
+ enableSharedModalDimensions = false,
31
+ onTabChange,
32
+ searchText = "",
33
+ onSearchChange
34
+ }) {
35
+ const selectedQuery = (0, _useSelectedQuery.useGetQueryByQueryKey)(selectedQueryKey);
36
+ const allQueries = (0, _useAllQueries.default)();
37
+
38
+ // Use external filter state if provided (for persistence), otherwise use internal state
39
+ const [internalActiveFilter, setInternalActiveFilter] = (0, _react.useState)(null);
40
+ const activeFilter = externalActiveFilter ?? internalActiveFilter;
41
+ const setActiveFilter = externalOnFilterChange ?? setInternalActiveFilter;
42
+
43
+ // Filter modal state
44
+ const [showFilterView, setShowFilterView] = (0, _react.useState)(false);
45
+ const [ignoredPatterns, setIgnoredPatterns] = (0, _react.useState)(new Set());
46
+ const [includedPatterns, setIncludedPatterns] = (0, _react.useState)(new Set());
47
+
48
+ // AsyncStorage for persisting ignored patterns
49
+ const {
50
+ getItem: safeGetItem,
51
+ setItem: safeSetItem
52
+ } = (0, _sharedUi.useSafeAsyncStorage)();
53
+
54
+ // Load ignored patterns from storage on mount
55
+ (0, _react.useEffect)(() => {
56
+ const loadFilters = async () => {
57
+ try {
58
+ const stored = await safeGetItem(_sharedUi.devToolsStorageKeys.reactQuery.ignoredPatterns());
59
+ if (stored) {
60
+ const patterns = JSON.parse(stored);
61
+ if (Array.isArray(patterns)) {
62
+ setIgnoredPatterns(new Set(patterns));
63
+ }
64
+ }
65
+ } catch (error) {
66
+ console.error("Failed to load ignored patterns:", error);
67
+ }
68
+ };
69
+ loadFilters();
70
+ }, [safeGetItem]);
71
+
72
+ // Load included patterns from storage on mount
73
+ (0, _react.useEffect)(() => {
74
+ const loadFilters = async () => {
75
+ try {
76
+ const stored = await safeGetItem(_sharedUi.devToolsStorageKeys.reactQuery.includedPatterns());
77
+ if (stored) {
78
+ const patterns = JSON.parse(stored);
79
+ if (Array.isArray(patterns)) {
80
+ setIncludedPatterns(new Set(patterns));
81
+ }
82
+ }
83
+ } catch (error) {
84
+ console.error("Failed to load included patterns:", error);
85
+ }
86
+ };
87
+ loadFilters();
88
+ }, [safeGetItem]);
89
+
90
+ // Save ignored patterns to storage when they change
91
+ (0, _react.useEffect)(() => {
92
+ const saveFilters = async () => {
93
+ try {
94
+ const patterns = Array.from(ignoredPatterns);
95
+ await safeSetItem(_sharedUi.devToolsStorageKeys.reactQuery.ignoredPatterns(), JSON.stringify(patterns));
96
+ } catch (error) {
97
+ console.error("Failed to save ignored patterns:", error);
98
+ }
99
+ };
100
+ saveFilters();
101
+ }, [ignoredPatterns, safeSetItem]);
102
+
103
+ // Save included patterns to storage when they change
104
+ (0, _react.useEffect)(() => {
105
+ const saveFilters = async () => {
106
+ try {
107
+ const patterns = Array.from(includedPatterns);
108
+ await safeSetItem(_sharedUi.devToolsStorageKeys.reactQuery.includedPatterns(), JSON.stringify(patterns));
109
+ } catch (error) {
110
+ console.error("Failed to save included patterns:", error);
111
+ }
112
+ };
113
+ saveFilters();
114
+ }, [includedPatterns, safeSetItem]);
115
+
116
+ // Toggle pattern in ignored set
117
+ const handlePatternToggle = (0, _react.useCallback)(pattern => {
118
+ setIgnoredPatterns(prev => {
119
+ const newSet = new Set(prev);
120
+ if (newSet.has(pattern)) {
121
+ newSet.delete(pattern);
122
+ } else {
123
+ newSet.add(pattern);
124
+ }
125
+ return newSet;
126
+ });
127
+ }, []);
128
+
129
+ // Toggle pattern in included set
130
+ const handleIncludedPatternToggle = (0, _react.useCallback)(pattern => {
131
+ setIncludedPatterns(prev => {
132
+ const newSet = new Set(prev);
133
+ if (newSet.has(pattern)) {
134
+ newSet.delete(pattern);
135
+ } else {
136
+ newSet.add(pattern);
137
+ }
138
+ return newSet;
139
+ });
140
+ }, []);
141
+
142
+ // Track modal mode for conditional styling
143
+ const [modalMode, setModalMode] = (0, _react.useState)("bottomSheet");
144
+ const storagePrefix = enableSharedModalDimensions ? _sharedUi.devToolsStorageKeys.reactQuery.modal() : _sharedUi.devToolsStorageKeys.reactQuery.browserModal();
145
+ const handleModeChange = (0, _react.useCallback)(mode => {
146
+ setModalMode(mode);
147
+ }, []);
148
+ if (!visible) return null;
149
+ const renderHeaderContent = () => {
150
+ // Filter view header with back button
151
+ if (showFilterView) {
152
+ const tabs = [{
153
+ key: "filters",
154
+ label: "Filters"
155
+ }];
156
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_sharedUi.ModalHeader, {
157
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ModalHeader.Navigation, {
158
+ onBack: () => setShowFilterView(false)
159
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ModalHeader.Content, {
160
+ title: "",
161
+ noMargin: true,
162
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.TabSelector, {
163
+ tabs: tabs,
164
+ activeTab: "filters",
165
+ onTabChange: () => {}
166
+ })
167
+ })]
168
+ });
169
+ }
170
+
171
+ // Normal query browser header
172
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ReactQueryModalHeader.ReactQueryModalHeader, {
173
+ selectedQuery: selectedQuery,
174
+ activeTab: "queries",
175
+ onTabChange: onTabChange,
176
+ onBack: () => onQuerySelect(undefined),
177
+ searchText: searchText,
178
+ onSearchChange: onSearchChange,
179
+ onFilterPress: () => setShowFilterView(true),
180
+ hasActiveFilters: activeFilter !== null || ignoredPatterns.size > 0 || includedPatterns.size > 0
181
+ });
182
+ };
183
+ const footerNode = /*#__PURE__*/(0, _jsxRuntime.jsx)(_QueryBrowserFooter.QueryBrowserFooter, {
184
+ activeFilter: activeFilter,
185
+ onFilterChange: setActiveFilter,
186
+ isFloatingMode: modalMode === "floating"
187
+ });
188
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.JsModal, {
189
+ visible: visible,
190
+ onClose: onClose,
191
+ onMinimize: onMinimize,
192
+ persistenceKey: storagePrefix,
193
+ header: {
194
+ customContent: renderHeaderContent(),
195
+ showToggleButton: true
196
+ },
197
+ onModeChange: handleModeChange,
198
+ enablePersistence: true,
199
+ initialMode: "bottomSheet",
200
+ enableGlitchEffects: true,
201
+ styles: {},
202
+ footer: !showFilterView ? footerNode : undefined,
203
+ footerHeight: !showFilterView ? 56 : undefined,
204
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
205
+ style: styles.container,
206
+ children: showFilterView ?
207
+ /*#__PURE__*/
208
+ /* Show filter view */
209
+ (0, _jsxRuntime.jsx)(_QueryFilterViewV.QueryFilterViewV3, {
210
+ queries: allQueries,
211
+ activeFilter: activeFilter,
212
+ onFilterChange: setActiveFilter,
213
+ ignoredPatterns: ignoredPatterns,
214
+ onPatternToggle: handlePatternToggle,
215
+ includedPatterns: includedPatterns,
216
+ onIncludedPatternToggle: handleIncludedPatternToggle
217
+ }) :
218
+ /*#__PURE__*/
219
+ /* Show query browser */
220
+ (0, _jsxRuntime.jsx)(_QueryBrowserMode.QueryBrowserMode, {
221
+ selectedQuery: selectedQuery,
222
+ onQuerySelect: onQuerySelect,
223
+ activeFilter: activeFilter,
224
+ searchText: searchText,
225
+ ignoredPatterns: ignoredPatterns,
226
+ includedPatterns: includedPatterns,
227
+ onFilterPress: () => setShowFilterView(true)
228
+ })
229
+ })
230
+ });
231
+ }
232
+ const styles = _reactNative.StyleSheet.create({
233
+ container: {
234
+ flex: 1,
235
+ backgroundColor: _sharedUi.buoyColors.base
236
+ }
237
+ });
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ReactQueryModal = ReactQueryModal;
7
+ var _QueryBrowserModal = require("./QueryBrowserModal");
8
+ var _DataEditorModal = require("./DataEditorModal");
9
+ var _MutationBrowserModal = require("./MutationBrowserModal");
10
+ var _MutationEditorModal = require("./MutationEditorModal");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ /**
13
+ * Refactored ReactQueryModal following composition principles
14
+ *
15
+ * Applied principles:
16
+ * - Decompose by Responsibility: Separated query browser and data editor modals
17
+ * - Prefer Composition over Configuration: Uses specialized modal components
18
+ * - Extract Reusable Logic: Modal routing logic based on query selection
19
+ * - Utilize Render Props: Each modal handles its own rendering responsibility
20
+ */
21
+ function ReactQueryModal({
22
+ visible,
23
+ selectedQueryKey,
24
+ selectedMutationId,
25
+ onQuerySelect,
26
+ onMutationSelect,
27
+ onClose,
28
+ onMinimize,
29
+ activeFilter,
30
+ onFilterChange,
31
+ activeTab,
32
+ onTabChange,
33
+ enableSharedModalDimensions = false,
34
+ searchText = "",
35
+ onSearchChange
36
+ }) {
37
+ // Check if we have a key/id even if the query/mutation hasn't been found yet
38
+ const inDetail = !!selectedQueryKey || !!selectedMutationId;
39
+ const isQueryMode = activeTab === "queries";
40
+ const isMutationMode = activeTab === "mutations";
41
+ const commonProps = {
42
+ onClose,
43
+ onMinimize,
44
+ activeFilter,
45
+ onFilterChange,
46
+ enableSharedModalDimensions
47
+ };
48
+ const showQueryBrowserModal = visible && !inDetail && isQueryMode;
49
+ const showMutationBrowserModal = visible && !inDetail && isMutationMode;
50
+ const showDataEditorModal = visible && inDetail && isQueryMode && !!selectedQueryKey;
51
+ const showMutationEditorModal = visible && inDetail && isMutationMode && !!selectedMutationId;
52
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
53
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_QueryBrowserModal.QueryBrowserModal, {
54
+ visible: showQueryBrowserModal,
55
+ selectedQueryKey: selectedQueryKey,
56
+ onQuerySelect: onQuerySelect,
57
+ onTabChange: onTabChange,
58
+ searchText: searchText,
59
+ onSearchChange: onSearchChange,
60
+ ...commonProps
61
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MutationBrowserModal.MutationBrowserModal, {
62
+ visible: showMutationBrowserModal,
63
+ selectedMutationId: selectedMutationId,
64
+ onMutationSelect: onMutationSelect,
65
+ onTabChange: onTabChange,
66
+ searchText: searchText,
67
+ onSearchChange: onSearchChange,
68
+ ...commonProps
69
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_DataEditorModal.DataEditorModal, {
70
+ visible: showDataEditorModal,
71
+ selectedQueryKey: selectedQueryKey,
72
+ onQuerySelect: onQuerySelect,
73
+ onTabChange: onTabChange,
74
+ ...commonProps
75
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MutationEditorModal.MutationEditorModal, {
76
+ visible: showMutationEditorModal,
77
+ selectedMutationId: selectedMutationId,
78
+ onMutationSelect: onMutationSelect,
79
+ onTabChange: onTabChange,
80
+ ...commonProps
81
+ })]
82
+ });
83
+ }
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ReactQueryModalHeader = ReactQueryModalHeader;
7
+ var _sharedUi = require("@buoy-gg/shared-ui");
8
+ var _react = require("react");
9
+ var _reactNative = require("react-native");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ /**
12
+ * Shared header for all React Query modals. Handles tab switching when browsing and presents
13
+ * breadcrumbs when a specific query or mutation is selected.
14
+ */
15
+ function ReactQueryModalHeader({
16
+ selectedQuery,
17
+ selectedMutation,
18
+ activeTab,
19
+ onTabChange,
20
+ onBack,
21
+ searchText = "",
22
+ onSearchChange,
23
+ onFilterPress,
24
+ hasActiveFilters = false
25
+ }) {
26
+ const [isSearchActive, setIsSearchActive] = (0, _react.useState)(false);
27
+ const searchInputRef = (0, _react.useRef)(null);
28
+
29
+ // Auto-focus search input when search becomes active
30
+ (0, _react.useEffect)(() => {
31
+ if (isSearchActive && searchInputRef.current) {
32
+ searchInputRef.current.focus();
33
+ }
34
+ }, [isSearchActive]);
35
+ const handleSearchToggle = () => {
36
+ setIsSearchActive(!isSearchActive);
37
+ if (isSearchActive && onSearchChange) {
38
+ onSearchChange("");
39
+ }
40
+ };
41
+ const handleSearch = text => {
42
+ if (onSearchChange) {
43
+ onSearchChange(text);
44
+ }
45
+ };
46
+ // Simple function to get query display text
47
+ const getQueryText = query => {
48
+ if (!query?.queryKey) return "Unknown Query";
49
+ const keys = Array.isArray(query.queryKey) ? query.queryKey : [query.queryKey];
50
+ return keys.filter(k => k != null).map(k => String(k)).join(" › ") || "Unknown Query";
51
+ };
52
+ const getItemText = item => {
53
+ if ("queryKey" in item) {
54
+ return getQueryText(item);
55
+ } else {
56
+ return item.options.mutationKey ? (Array.isArray(item.options.mutationKey) ? item.options.mutationKey : [item.options.mutationKey]).filter(k => k != null).map(k => String(k)).join(" › ") || `Mutation #${item.mutationId}` : `Mutation #${item.mutationId}`;
57
+ }
58
+ };
59
+ const tabs = [{
60
+ key: "queries",
61
+ label: "Queries"
62
+ }, {
63
+ key: "mutations",
64
+ label: "Mutations"
65
+ }];
66
+
67
+ // Show details view when an item is selected
68
+ if (selectedQuery || selectedMutation) {
69
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_sharedUi.ModalHeader, {
70
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ModalHeader.Navigation, {
71
+ onBack: onBack
72
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ModalHeader.Content, {
73
+ title: getItemText(selectedQuery ?? selectedMutation)
74
+ })]
75
+ });
76
+ }
77
+
78
+ // Show browser view with tabs when no item is selected
79
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_sharedUi.ModalHeader, {
80
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ModalHeader.Content, {
81
+ title: "",
82
+ noMargin: true,
83
+ children: isSearchActive ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
84
+ style: styles.headerSearchContainer,
85
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Search, {
86
+ size: 14,
87
+ color: _sharedUi.buoyColors.textSecondary
88
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
89
+ ref: searchInputRef,
90
+ style: styles.headerSearchInput,
91
+ placeholder: "Search query keys...",
92
+ placeholderTextColor: _sharedUi.buoyColors.textMuted,
93
+ value: searchText,
94
+ onChangeText: handleSearch,
95
+ onSubmitEditing: () => setIsSearchActive(false),
96
+ onBlur: () => setIsSearchActive(false),
97
+ "sentry-label": "ignore react query search header",
98
+ accessibilityLabel: "Search queries and mutations",
99
+ autoCapitalize: "none",
100
+ autoCorrect: false,
101
+ returnKeyType: "search"
102
+ }), searchText.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
103
+ onPress: () => {
104
+ handleSearch("");
105
+ setIsSearchActive(false);
106
+ },
107
+ "sentry-label": "ignore clear search header",
108
+ style: styles.headerSearchClear,
109
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.X, {
110
+ size: 14,
111
+ color: _sharedUi.buoyColors.textSecondary
112
+ })
113
+ }) : null]
114
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.TabSelector, {
115
+ tabs: tabs,
116
+ activeTab: activeTab,
117
+ onTabChange: tab => onTabChange(tab)
118
+ })
119
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_sharedUi.ModalHeader.Actions, {
120
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
121
+ "sentry-label": "ignore open search",
122
+ onPress: handleSearchToggle,
123
+ style: styles.headerActionButton,
124
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Search, {
125
+ size: 14,
126
+ color: _sharedUi.buoyColors.textSecondary
127
+ })
128
+ }), onFilterPress && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
129
+ "sentry-label": "ignore open filter",
130
+ onPress: onFilterPress,
131
+ style: [styles.headerActionButton, hasActiveFilters && styles.activeFilterButton],
132
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Filter, {
133
+ size: 14,
134
+ color: hasActiveFilters ? _sharedUi.buoyColors.primary : _sharedUi.buoyColors.textSecondary
135
+ })
136
+ })]
137
+ })]
138
+ });
139
+ }
140
+ const styles = _reactNative.StyleSheet.create({
141
+ headerSearchContainer: {
142
+ flexDirection: "row",
143
+ alignItems: "center",
144
+ backgroundColor: _sharedUi.buoyColors.input,
145
+ borderRadius: 6,
146
+ paddingHorizontal: 8,
147
+ paddingVertical: 4,
148
+ gap: 6,
149
+ marginHorizontal: 12,
150
+ marginVertical: 8
151
+ },
152
+ headerSearchInput: {
153
+ flex: 1,
154
+ color: _sharedUi.buoyColors.text,
155
+ fontSize: 13,
156
+ fontFamily: "monospace",
157
+ padding: 0,
158
+ margin: 0,
159
+ minHeight: 18
160
+ },
161
+ headerSearchClear: {
162
+ padding: 2
163
+ },
164
+ headerActionButton: {
165
+ padding: 6,
166
+ borderRadius: 4
167
+ },
168
+ activeFilterButton: {
169
+ backgroundColor: _sharedUi.buoyColors.primary + "33"
170
+ }
171
+ });
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SwipeIndicator = SwipeIndicator;
7
+ var _reactNative = require("react-native");
8
+ var _react = require("react");
9
+ var _sharedUi = require("@buoy-gg/shared-ui");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ /**
12
+ * Morphing swipe indicator – thin line ➜ pill ➜ circle with a pop-out cue at
13
+ * full commit. Visual-only; gesture logic lives upstream.
14
+ */
15
+
16
+ /* -------------------------------------------------------------------------- */
17
+ // VISUAL CONSTANTS – tuned for typical back-gesture UX
18
+ /* -------------------------------------------------------------------------- */
19
+ const INDICATOR_HEIGHT = 32; // ⬆️ bigger circle (line height)
20
+ const MIN_WIDTH = 6; // hairline start
21
+ const MAX_WIDTH = INDICATOR_HEIGHT; // circle when width == height
22
+ const DEFAULT_MAX_TRANSLATION = 120;
23
+ const POP_OUT_START = 0.95; // progress at which pop-out begins
24
+ const POP_OUT_SCALE = 1.15; // final scale factor when fully committed
25
+
26
+ function SwipeIndicator({
27
+ translationX,
28
+ maxTranslation = DEFAULT_MAX_TRANSLATION,
29
+ canSwipeLeft = true,
30
+ canSwipeRight = true
31
+ }) {
32
+ /* ---------------- LEFT EDGE (Back) ---------------- */
33
+ const leftProgress = (0, _react.useMemo)(() => {
34
+ return translationX.interpolate({
35
+ inputRange: [0, maxTranslation],
36
+ outputRange: [0, 1],
37
+ extrapolate: "clamp"
38
+ });
39
+ }, [translationX, maxTranslation]);
40
+ const leftIndicatorWidth = (0, _react.useMemo)(() => {
41
+ return leftProgress.interpolate({
42
+ inputRange: [0, 1],
43
+ outputRange: [MIN_WIDTH, MAX_WIDTH]
44
+ });
45
+ }, [leftProgress]);
46
+ const leftIndicatorScale = (0, _react.useMemo)(() => {
47
+ return leftProgress.interpolate({
48
+ inputRange: [0, POP_OUT_START, 1],
49
+ outputRange: [1, 1, POP_OUT_SCALE]
50
+ });
51
+ }, [leftProgress]);
52
+ const leftIndicatorTranslateX = (0, _react.useMemo)(() => {
53
+ return leftProgress.interpolate({
54
+ inputRange: [0, 0.99, 1],
55
+ outputRange: [0, 0, 16]
56
+ });
57
+ }, [leftProgress]);
58
+ const leftIndicatorOpacity = (0, _react.useMemo)(() => {
59
+ return leftProgress.interpolate({
60
+ inputRange: [0, 0.01],
61
+ outputRange: [0, 1],
62
+ extrapolate: "clamp"
63
+ });
64
+ }, [leftProgress]);
65
+ const leftArrowOpacity = (0, _react.useMemo)(() => {
66
+ return leftProgress.interpolate({
67
+ inputRange: [0, 0.5, 1],
68
+ outputRange: [0, 0, 1],
69
+ extrapolate: "clamp"
70
+ });
71
+ }, [leftProgress]);
72
+ const leftArrowScale = (0, _react.useMemo)(() => {
73
+ return leftProgress.interpolate({
74
+ inputRange: [0, 0.5, POP_OUT_START, 1],
75
+ outputRange: [0.8, 0.8, 1, 1.2]
76
+ });
77
+ }, [leftProgress]);
78
+
79
+ /* ---------------- RIGHT EDGE ---------------- */
80
+ const rightProgress = (0, _react.useMemo)(() => {
81
+ return translationX.interpolate({
82
+ inputRange: [-maxTranslation, 0],
83
+ outputRange: [1, 0],
84
+ extrapolate: "clamp"
85
+ });
86
+ }, [translationX, maxTranslation]);
87
+ const rightIndicatorWidth = (0, _react.useMemo)(() => {
88
+ return rightProgress.interpolate({
89
+ inputRange: [0, 1],
90
+ outputRange: [MIN_WIDTH, MAX_WIDTH]
91
+ });
92
+ }, [rightProgress]);
93
+ const rightIndicatorScale = (0, _react.useMemo)(() => {
94
+ return rightProgress.interpolate({
95
+ inputRange: [0, POP_OUT_START, 1],
96
+ outputRange: [1, 1, POP_OUT_SCALE]
97
+ });
98
+ }, [rightProgress]);
99
+ const rightIndicatorTranslateX = (0, _react.useMemo)(() => {
100
+ return rightProgress.interpolate({
101
+ inputRange: [0, 0.99, 1],
102
+ outputRange: [0, 0, -16]
103
+ });
104
+ }, [rightProgress]);
105
+ const rightIndicatorOpacity = (0, _react.useMemo)(() => {
106
+ return rightProgress.interpolate({
107
+ inputRange: [0, 0.01],
108
+ outputRange: [0, 1],
109
+ extrapolate: "clamp"
110
+ });
111
+ }, [rightProgress]);
112
+ const rightArrowOpacity = (0, _react.useMemo)(() => {
113
+ return rightProgress.interpolate({
114
+ inputRange: [0, 0.5, 1],
115
+ outputRange: [0, 0, 1],
116
+ extrapolate: "clamp"
117
+ });
118
+ }, [rightProgress]);
119
+ const rightArrowScale = (0, _react.useMemo)(() => {
120
+ return rightProgress.interpolate({
121
+ inputRange: [0, 0.5, POP_OUT_START, 1],
122
+ outputRange: [0.8, 0.8, 1, 1.2]
123
+ });
124
+ }, [rightProgress]);
125
+
126
+ /* ---------------- Render ---------------- */
127
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
128
+ style: styles.container,
129
+ pointerEvents: "none",
130
+ children: [canSwipeRight && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
131
+ style: [styles.leftWrapper, {
132
+ width: leftIndicatorWidth,
133
+ height: INDICATOR_HEIGHT,
134
+ borderRadius: INDICATOR_HEIGHT / 2,
135
+ backgroundColor: _sharedUi.buoyColors.text + "E6",
136
+ justifyContent: "center",
137
+ alignItems: "center",
138
+ opacity: leftIndicatorOpacity,
139
+ transform: [{
140
+ scale: leftIndicatorScale
141
+ }, {
142
+ translateX: leftIndicatorTranslateX
143
+ }]
144
+ }],
145
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
146
+ style: {
147
+ opacity: leftArrowOpacity,
148
+ transform: [{
149
+ scale: leftArrowScale
150
+ }]
151
+ },
152
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ChevronLeft, {
153
+ size: INDICATOR_HEIGHT * 0.6,
154
+ color: _sharedUi.buoyColors.primary,
155
+ strokeWidth: 3
156
+ })
157
+ })
158
+ }), canSwipeLeft && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
159
+ style: [styles.rightWrapper, {
160
+ width: rightIndicatorWidth,
161
+ height: INDICATOR_HEIGHT,
162
+ borderRadius: INDICATOR_HEIGHT / 2,
163
+ backgroundColor: _sharedUi.buoyColors.text + "E6",
164
+ justifyContent: "center",
165
+ alignItems: "center",
166
+ opacity: rightIndicatorOpacity,
167
+ transform: [{
168
+ scale: rightIndicatorScale
169
+ }, {
170
+ translateX: rightIndicatorTranslateX
171
+ }]
172
+ }],
173
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
174
+ style: {
175
+ opacity: rightArrowOpacity,
176
+ transform: [{
177
+ scale: rightArrowScale
178
+ }]
179
+ },
180
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ChevronRight, {
181
+ size: INDICATOR_HEIGHT * 0.6,
182
+ color: _sharedUi.buoyColors.primary,
183
+ strokeWidth: 3
184
+ })
185
+ })
186
+ })]
187
+ });
188
+ }
189
+ const styles = _reactNative.StyleSheet.create({
190
+ container: {
191
+ ..._reactNative.StyleSheet.absoluteFillObject,
192
+ zIndex: 1000,
193
+ justifyContent: "center",
194
+ alignItems: "center"
195
+ },
196
+ leftWrapper: {
197
+ position: "absolute",
198
+ left: 16
199
+ },
200
+ rightWrapper: {
201
+ position: "absolute",
202
+ right: 16
203
+ }
204
+ });