@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,983 @@
1
+ "use strict";
2
+
3
+ import { useState, useMemo, useCallback, useRef, useEffect, memo } from "react";
4
+ import { useQueryClient } from "@tanstack/react-query";
5
+ import { updateNestedDataByPath } from "../../utils/updateNestedDataByPath";
6
+ import { displayValue, buoyColors } from "@buoy-gg/shared-ui";
7
+ import deleteItem from "../../utils/actions/deleteItem";
8
+ import { Text, TouchableOpacity, View, StyleSheet } from "react-native";
9
+ import { CopyButton as SharedCopyButton } from "@buoy-gg/shared-ui";
10
+ import { ChevronRight, ChevronDown, Trash } from "@buoy-gg/shared-ui";
11
+ import { CyberpunkInput } from "@buoy-gg/shared-ui/dataViewer";
12
+
13
+ // Stable constants to prevent re-renders [[memory:4875251]]
14
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
15
+ const CHUNK_SIZE = 100;
16
+ const HIT_SLOP_OPTIMIZED = {
17
+ top: 8,
18
+ bottom: 8,
19
+ left: 8,
20
+ right: 8
21
+ };
22
+ const EXPANDER_SIZE = 12;
23
+
24
+ // Optimized chunking function moved to module scope [[memory:4875251]]
25
+ const chunkArray = (array, size = CHUNK_SIZE) => {
26
+ if (size < 1 || array.length === 0) return [];
27
+ const result = [];
28
+ for (let i = 0; i < array.length; i += size) {
29
+ result.push(array.slice(i, i + size));
30
+ }
31
+ return result;
32
+ };
33
+ // Memoized Expander component for performance [[memory:4875251]]
34
+ const Expander = /*#__PURE__*/memo(({
35
+ expanded,
36
+ isFocused = false,
37
+ isMain = false
38
+ }) => {
39
+ return /*#__PURE__*/_jsx(View, {
40
+ style: [styles.expanderIcon, isMain && styles.expanderIconMain, expanded ? styles.expanded : styles.collapsed],
41
+ children: expanded ? /*#__PURE__*/_jsx(ChevronDown, {
42
+ size: isMain ? 14 : EXPANDER_SIZE,
43
+ color: isFocused ? buoyColors.primary : isMain ? buoyColors.text : buoyColors.textSecondary,
44
+ strokeWidth: 2.5
45
+ }) : /*#__PURE__*/_jsx(ChevronRight, {
46
+ size: isMain ? 14 : EXPANDER_SIZE,
47
+ color: isFocused ? buoyColors.primary : isMain ? buoyColors.text : buoyColors.textSecondary,
48
+ strokeWidth: 2.5
49
+ })
50
+ });
51
+ });
52
+ Expander.displayName = "Expander";
53
+ // Local wrapper for the shared CopyButton to maintain backward compatibility
54
+ const CopyButton = /*#__PURE__*/memo(({
55
+ value,
56
+ isFocused = false
57
+ }) => {
58
+ return /*#__PURE__*/_jsx(SharedCopyButton, {
59
+ value: value,
60
+ isFocused: isFocused,
61
+ buttonStyle: isFocused ? {
62
+ ...styles.buttonStyle,
63
+ ...styles.buttonStyleFocused
64
+ } : styles.buttonStyle
65
+ });
66
+ });
67
+ CopyButton.displayName = "CopyButton";
68
+
69
+ // Memoized DeleteItemButton component [[memory:4875251]]
70
+ const DeleteItemButton = /*#__PURE__*/memo(({
71
+ dataPath,
72
+ activeQuery,
73
+ isFocused = false
74
+ }) => {
75
+ const queryClient = useQueryClient();
76
+ const handleDelete = useCallback(() => {
77
+ if (!activeQuery) return;
78
+ deleteItem({
79
+ queryClient,
80
+ activeQuery: activeQuery,
81
+ dataPath: dataPath
82
+ });
83
+ }, [queryClient, activeQuery, dataPath]);
84
+ if (!activeQuery) return null;
85
+ return /*#__PURE__*/_jsx(TouchableOpacity, {
86
+ "sentry-label": "ignore devtools explorer delete button",
87
+ onPress: handleDelete,
88
+ style: [styles.deleteButton, isFocused && styles.deleteButtonFocused],
89
+ accessibilityLabel: "Delete item",
90
+ hitSlop: HIT_SLOP_OPTIMIZED,
91
+ activeOpacity: 0.7,
92
+ children: /*#__PURE__*/_jsx(Trash, {
93
+ size: 14,
94
+ strokeWidth: 2,
95
+ color: isFocused ? buoyColors.error : buoyColors.error + "CC"
96
+ })
97
+ });
98
+ });
99
+ DeleteItemButton.displayName = "DeleteItemButton";
100
+ // Memoized ClearArrayButton component [[memory:4875251]]
101
+ const ClearArrayButton = /*#__PURE__*/memo(({
102
+ dataPath,
103
+ activeQuery,
104
+ isFocused = false
105
+ }) => {
106
+ const queryClient = useQueryClient();
107
+ const handleClear = useCallback(() => {
108
+ if (!activeQuery) return;
109
+ const oldData = activeQuery.state.data;
110
+ const newData = updateNestedDataByPath(oldData, dataPath, []);
111
+ queryClient.setQueryData(activeQuery.queryKey, newData);
112
+ }, [queryClient, activeQuery, dataPath]);
113
+ if (!activeQuery) return null;
114
+ return /*#__PURE__*/_jsx(TouchableOpacity, {
115
+ "sentry-label": "ignore devtools explorer clear button",
116
+ style: [styles.clearButton, isFocused && styles.clearButtonFocused],
117
+ "aria-label": "Remove all items",
118
+ onPress: handleClear,
119
+ hitSlop: HIT_SLOP_OPTIMIZED,
120
+ activeOpacity: 0.7,
121
+ children: /*#__PURE__*/_jsx(Text, {
122
+ style: [styles.clearButtonText, {
123
+ color: isFocused ? buoyColors.warning : buoyColors.warning + "CC"
124
+ }],
125
+ children: "[]"
126
+ })
127
+ });
128
+ });
129
+ ClearArrayButton.displayName = "ClearArrayButton";
130
+ // ToggleValueButton - not memoized because parent Explorer passes new dataPath array each render
131
+ // which defeats memo anyway, and we need reliable re-renders when value changes
132
+ function ToggleValueButton({
133
+ dataPath,
134
+ activeQuery,
135
+ value,
136
+ itemsDeletable
137
+ }) {
138
+ const queryClient = useQueryClient();
139
+ const handleClick = useCallback(() => {
140
+ if (!activeQuery) return;
141
+ const oldData = activeQuery.state.data;
142
+ const currentValue = typeof value === "boolean" ? value : false;
143
+ const newData = updateNestedDataByPath(oldData, dataPath, !currentValue);
144
+ queryClient.setQueryData(activeQuery.queryKey, newData);
145
+ }, [queryClient, activeQuery, dataPath, value]);
146
+ const handleDelete = useCallback(() => {
147
+ if (!activeQuery) return;
148
+ deleteItem({
149
+ queryClient,
150
+ activeQuery: activeQuery,
151
+ dataPath: dataPath
152
+ });
153
+ }, [queryClient, activeQuery, dataPath]);
154
+ if (!activeQuery) return null;
155
+
156
+ // Pre-compute styles based on value state
157
+ const badgeStyle = value ? styles.toggleBadgeTrue : styles.toggleBadgeFalse;
158
+ const textStyle = value ? styles.toggleTextTrue : styles.toggleTextFalse;
159
+ return /*#__PURE__*/_jsxs(TouchableOpacity, {
160
+ "sentry-label": "ignore devtools explorer toggle button",
161
+ style: styles.modernToggleButton,
162
+ onPress: handleClick,
163
+ hitSlop: HIT_SLOP_OPTIMIZED,
164
+ activeOpacity: 0.8,
165
+ children: [/*#__PURE__*/_jsx(View, {
166
+ style: [styles.toggleBadge, badgeStyle],
167
+ children: /*#__PURE__*/_jsx(Text, {
168
+ style: [styles.toggleBadgeText, textStyle],
169
+ children: value ? "TRUE" : "FALSE"
170
+ })
171
+ }), itemsDeletable && /*#__PURE__*/_jsx(TouchableOpacity, {
172
+ "sentry-label": "ignore devtools explorer delete button in toggle",
173
+ onPress: handleDelete,
174
+ style: styles.deleteButtonInToggle,
175
+ accessibilityLabel: "Delete item",
176
+ hitSlop: HIT_SLOP_OPTIMIZED,
177
+ activeOpacity: 0.7,
178
+ children: /*#__PURE__*/_jsx(Trash, {
179
+ size: 14,
180
+ strokeWidth: 2,
181
+ color: buoyColors.error + "CC"
182
+ })
183
+ })]
184
+ });
185
+ }
186
+ // Optimized Explorer component following rule2 guidelines [[memory:4875251]]
187
+ /**
188
+ * Recursive data explorer component used for both editable and read-only JSON trees inside the
189
+ * React Query dev tools.
190
+ */
191
+ export default function Explorer({
192
+ editable,
193
+ label,
194
+ value,
195
+ defaultExpanded,
196
+ activeQuery,
197
+ dataPath,
198
+ itemsDeletable,
199
+ dataVersion = 0
200
+ }) {
201
+ const queryClient = useQueryClient();
202
+ const [isRowFocused, setIsRowFocused] = useState(false);
203
+
204
+ // Local state for input value to handle typing properly
205
+ const [localInputValue, setLocalInputValue] = useState("");
206
+
207
+ // Sync local state with prop value
208
+ // ⚠️ CRITICAL: Do NOT add localInputValue to the dependency array!
209
+ // Adding localInputValue causes a race condition where user edits get reverted:
210
+ // 1. User types "5101" → setLocalInputValue("5101")
211
+ // 2. Cache updates
212
+ // 3. useEffect fires because localInputValue changed
213
+ // 4. At this moment, value prop is still old (5100)
214
+ // 5. Syncs back to 5100, reverting user's change ❌
215
+ // Only sync when EXTERNAL changes happen (value, label, dataVersion)
216
+ useEffect(() => {
217
+ if (value !== null && value !== undefined && (typeof value === "string" || typeof value === "number")) {
218
+ const newValue = value.toString();
219
+ setLocalInputValue(newValue);
220
+ }
221
+ }, [value, label, dataVersion]); // ⚠️ DO NOT add localInputValue here!
222
+
223
+ // Determine if this is a main section
224
+ const isMainSection = useMemo(() => {
225
+ const upperLabel = label.toUpperCase();
226
+ return ["DATA", "QUERY", "QUERYKEY", "TYPES", "STATS", "OPTIONS", "OBSERVERS"].includes(upperLabel);
227
+ }, [label]);
228
+
229
+ // Explorer's section is expanded or collapsed
230
+ const [isExpanded, setIsExpanded] = useState((defaultExpanded || []).includes(label));
231
+ // Remove unnecessary useCallback - simple state setter [[memory:4875251]]
232
+ const toggleExpanded = () => setIsExpanded(old => !old);
233
+ const [expandedPages, setExpandedPages] = useState([]);
234
+
235
+ // Optimized subEntries computation with early returns and limited processing [[memory:4875251]]
236
+ const subEntries = useMemo(() => {
237
+ // Early return for primitive values to avoid unnecessary computation
238
+ if (value === null || value === undefined || typeof value !== "object") {
239
+ return [];
240
+ }
241
+ if (Array.isArray(value)) {
242
+ // Limit array processing for performance [[memory:4875251]]
243
+ const limitedValue = value.length > 1000 ? value.slice(0, 1000) : value;
244
+ return limitedValue.map((d, i) => ({
245
+ label: i.toString(),
246
+ value: d
247
+ }));
248
+ }
249
+ if (value instanceof Map) {
250
+ // Limit Map entries for performance
251
+ const entries = Array.from(value.entries()).slice(0, 1000);
252
+ return entries.map(([key, val]) => ({
253
+ label: key.toString(),
254
+ value: val
255
+ }));
256
+ }
257
+ if (value instanceof Set) {
258
+ // Limit Set entries for performance
259
+ const entries = Array.from(value).slice(0, 1000);
260
+ return entries.map((val, i) => ({
261
+ label: i.toString(),
262
+ value: val
263
+ }));
264
+ }
265
+
266
+ // Handle regular objects with key limiting
267
+ const entries = Object.entries(value).slice(0, 1000);
268
+ return entries.map(([key, val]) => ({
269
+ label: key,
270
+ value: val
271
+ }));
272
+ }, [value]);
273
+
274
+ // Optimized valueType computation with early returns [[memory:4875251]]
275
+ const valueType = useMemo(() => {
276
+ if (Array.isArray(value)) return "array";
277
+ if (value === null || typeof value !== "object") return typeof value;
278
+ if (value instanceof Map || value instanceof Set) return "Iterable";
279
+ return "object";
280
+ }, [value]);
281
+
282
+ // Optimized chunking with stable chunk size [[memory:4875251]]
283
+ const subEntryPages = useMemo(() => {
284
+ return chunkArray(subEntries, CHUNK_SIZE);
285
+ }, [subEntries]);
286
+ const currentDataPath = dataPath ?? [];
287
+
288
+ // Optimize handleChange using refs to avoid dependency arrays [[memory:4875251]]
289
+ const activeQueryRef = useRef(activeQuery);
290
+ const dataPathRef = useRef(currentDataPath);
291
+ const valueTypeRef = useRef(valueType);
292
+ activeQueryRef.current = activeQuery;
293
+ dataPathRef.current = currentDataPath;
294
+ valueTypeRef.current = valueType;
295
+ const handleChange = useCallback((isNumber, newValue) => {
296
+ // Update local state immediately for responsive typing
297
+ setLocalInputValue(newValue);
298
+ if (!activeQueryRef.current) return;
299
+ const oldData = activeQueryRef.current.state.data;
300
+ if (isNumber && isNaN(Number(newValue))) return;
301
+ const updatedValue = valueTypeRef.current === "number" ? Number(newValue) : newValue;
302
+ const newData = updateNestedDataByPath(oldData, dataPathRef.current, updatedValue);
303
+ queryClient.setQueryData(activeQueryRef.current.queryKey, newData);
304
+ }, [queryClient, setLocalInputValue]);
305
+ return /*#__PURE__*/_jsx(View, {
306
+ style: styles.minWidthWrapper,
307
+ children: /*#__PURE__*/_jsxs(View, {
308
+ style: styles.fullWidthMarginRight,
309
+ children: [subEntryPages.length > 0 && /*#__PURE__*/_jsxs(_Fragment, {
310
+ children: [/*#__PURE__*/_jsxs(View, {
311
+ style: [styles.flexRowItemsCenterGap, isMainSection && styles.flexRowItemsCenterGapMain],
312
+ children: [/*#__PURE__*/_jsxs(TouchableOpacity, {
313
+ "sentry-label": "ignore devtools explorer expander button",
314
+ style: styles.expanderButton,
315
+ onPress: toggleExpanded,
316
+ hitSlop: HIT_SLOP_OPTIMIZED,
317
+ activeOpacity: 0.6,
318
+ children: [/*#__PURE__*/_jsx(Expander, {
319
+ expanded: isExpanded,
320
+ isFocused: isRowFocused,
321
+ isMain: isMainSection
322
+ }), /*#__PURE__*/_jsx(Text, {
323
+ style: [styles.labelText, isRowFocused && styles.labelTextFocused, isMainSection && styles.labelTextMain],
324
+ children: label
325
+ }), /*#__PURE__*/_jsx(Text, {
326
+ style: styles.textGray500,
327
+ children: `${String(valueType).toLowerCase() === "iterable" ? "(Iterable) " : ""}${subEntries.length} ${subEntries.length > 1 ? `items` : `item`}`
328
+ })]
329
+ }), editable && /*#__PURE__*/_jsxs(View, {
330
+ style: styles.flexRowGapItemsCenter,
331
+ children: [/*#__PURE__*/_jsx(CopyButton, {
332
+ value: value,
333
+ isFocused: isRowFocused
334
+ }), itemsDeletable && activeQuery !== undefined && /*#__PURE__*/_jsx(DeleteItemButton, {
335
+ activeQuery: activeQuery,
336
+ dataPath: currentDataPath,
337
+ isFocused: isRowFocused
338
+ }), valueType === "array" && activeQuery !== undefined && /*#__PURE__*/_jsx(ClearArrayButton, {
339
+ activeQuery: activeQuery,
340
+ dataPath: currentDataPath,
341
+ isFocused: isRowFocused
342
+ })]
343
+ })]
344
+ }), isExpanded && /*#__PURE__*/_jsxs(_Fragment, {
345
+ children: [subEntryPages.length === 1 && /*#__PURE__*/_jsx(View, {
346
+ style: [styles.singleEntryContainer, isMainSection && styles.singleEntryContainerMain],
347
+ children: subEntries.map((entry, index) => /*#__PURE__*/_jsx(Explorer, {
348
+ defaultExpanded: defaultExpanded,
349
+ label: entry.label,
350
+ value: entry.value,
351
+ editable: editable,
352
+ dataPath: [...currentDataPath, entry.label],
353
+ activeQuery: activeQuery,
354
+ itemsDeletable: valueType === "array" || valueType === "Iterable" || valueType === "object",
355
+ dataVersion: dataVersion
356
+ }, entry.label + index))
357
+ }), subEntryPages.length > 1 && /*#__PURE__*/_jsx(View, {
358
+ style: styles.multiEntryContainer,
359
+ children: subEntryPages.map((entries, index) => /*#__PURE__*/_jsx(View, {
360
+ children: /*#__PURE__*/_jsxs(View, {
361
+ style: styles.relativeOutlineNone,
362
+ children: [/*#__PURE__*/_jsxs(TouchableOpacity, {
363
+ "sentry-label": "ignore devtools explorer page toggle",
364
+ onPress: () => setExpandedPages(old => old.includes(index) ? old.filter(d => d !== index) : [...old, index]),
365
+ style: styles.pageExpanderButton,
366
+ hitSlop: HIT_SLOP_OPTIMIZED,
367
+ children: [/*#__PURE__*/_jsx(Expander, {
368
+ expanded: expandedPages.includes(index)
369
+ }), /*#__PURE__*/_jsxs(Text, {
370
+ style: styles.pageRangeText,
371
+ children: ["[", index * CHUNK_SIZE, "...", index * CHUNK_SIZE + CHUNK_SIZE - 1, "]"]
372
+ })]
373
+ }), expandedPages.includes(index) && /*#__PURE__*/_jsx(View, {
374
+ style: styles.entriesContainer,
375
+ children: entries.map(entry => /*#__PURE__*/_jsx(Explorer, {
376
+ defaultExpanded: defaultExpanded,
377
+ label: entry.label,
378
+ value: entry.value,
379
+ editable: editable,
380
+ dataPath: [...currentDataPath, entry.label],
381
+ activeQuery: activeQuery,
382
+ dataVersion: dataVersion
383
+ }, entry.label))
384
+ })]
385
+ })
386
+ }, index))
387
+ })]
388
+ })]
389
+ }), subEntryPages.length === 0 && /*#__PURE__*/_jsxs(View, {
390
+ style: styles.flexRowGapFullWidth,
391
+ children: [editable && activeQuery !== undefined && (valueType === "string" || valueType === "number" || valueType === "boolean") ? /*#__PURE__*/_jsxs(_Fragment, {
392
+ children: [editable && activeQuery && (valueType === "string" || valueType === "number") && /*#__PURE__*/_jsx(View, {
393
+ style: styles.nebulaInputWrapper,
394
+ children: /*#__PURE__*/_jsx(CyberpunkInput, {
395
+ label: label,
396
+ accessibilityLabel: "Data input field for editing values",
397
+ style: [valueType === "number" ? styles.textNumber : styles.textString],
398
+ keyboardType: valueType === "number" ? "numeric" : "default",
399
+ value: localInputValue,
400
+ onChangeText: newValue => handleChange(valueType === "number", newValue),
401
+ onFocus: () => setIsRowFocused(true),
402
+ onBlur: () => setIsRowFocused(false),
403
+ showNumberControls: valueType === "number",
404
+ onIncrement: () => {
405
+ const currentNum = Number(localInputValue) || 0;
406
+ handleChange(true, String(currentNum + 1));
407
+ },
408
+ onDecrement: () => {
409
+ const currentNum = Number(localInputValue) || 0;
410
+ handleChange(true, String(currentNum - 1));
411
+ },
412
+ showDeleteButton: itemsDeletable,
413
+ onDelete: () => {
414
+ deleteItem({
415
+ queryClient,
416
+ activeQuery,
417
+ dataPath: currentDataPath
418
+ });
419
+ }
420
+ })
421
+ }), valueType === "boolean" && /*#__PURE__*/_jsxs(View, {
422
+ style: styles.booleanRowContainer,
423
+ children: [/*#__PURE__*/_jsx(Text, {
424
+ style: styles.booleanLabel,
425
+ children: label
426
+ }), /*#__PURE__*/_jsx(View, {
427
+ style: styles.booleanToggleWrapper,
428
+ children: /*#__PURE__*/_jsx(ToggleValueButton, {
429
+ activeQuery: activeQuery,
430
+ dataPath: currentDataPath,
431
+ value: value,
432
+ itemsDeletable: itemsDeletable
433
+ })
434
+ })]
435
+ })]
436
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
437
+ children: [/*#__PURE__*/_jsx(Text, {
438
+ style: styles.text344054,
439
+ children: label
440
+ }), /*#__PURE__*/_jsx(Text, {
441
+ style: styles.displayValueText,
442
+ children: displayValue(value)
443
+ })]
444
+ }), editable && itemsDeletable && activeQuery !== undefined && valueType !== "string" && valueType !== "number" && valueType !== "boolean" && /*#__PURE__*/_jsx(DeleteItemButton, {
445
+ activeQuery: activeQuery,
446
+ dataPath: currentDataPath,
447
+ isFocused: isRowFocused
448
+ })]
449
+ })]
450
+ })
451
+ });
452
+ }
453
+ const styles = StyleSheet.create({
454
+ buttonStyle: {
455
+ backgroundColor: buoyColors.card + "E6",
456
+ borderWidth: 1,
457
+ borderColor: buoyColors.textSecondary + "33",
458
+ borderRadius: 6,
459
+ flexDirection: "row",
460
+ alignItems: "center",
461
+ justifyContent: "center",
462
+ width: 28,
463
+ height: 28,
464
+ position: "relative",
465
+ shadowColor: "#000",
466
+ shadowOffset: {
467
+ width: 0,
468
+ height: 1
469
+ },
470
+ shadowOpacity: 0.2,
471
+ shadowRadius: 2
472
+ },
473
+ buttonStyleFocused: {
474
+ borderColor: buoyColors.primary + "CC",
475
+ backgroundColor: buoyColors.primary + "26",
476
+ shadowColor: buoyColors.primary,
477
+ shadowOpacity: 0.3,
478
+ shadowRadius: 4
479
+ },
480
+ deleteButton: {
481
+ backgroundColor: buoyColors.error + "1A",
482
+ borderColor: buoyColors.error + "4D",
483
+ borderWidth: 1,
484
+ borderRadius: 6,
485
+ padding: 0,
486
+ alignItems: "center",
487
+ justifyContent: "center",
488
+ width: 28,
489
+ height: 28,
490
+ position: "relative",
491
+ shadowColor: buoyColors.error,
492
+ shadowOffset: {
493
+ width: 0,
494
+ height: 0
495
+ },
496
+ shadowOpacity: 0.15,
497
+ shadowRadius: 3
498
+ },
499
+ deleteButtonFocused: {
500
+ borderColor: buoyColors.error + "CC",
501
+ backgroundColor: buoyColors.error + "33",
502
+ shadowOpacity: 0.3,
503
+ shadowRadius: 5
504
+ },
505
+ deleteButtonInToggle: {
506
+ backgroundColor: buoyColors.error + "1A",
507
+ borderColor: buoyColors.error + "4D",
508
+ borderWidth: 1,
509
+ borderRadius: 6,
510
+ padding: 0,
511
+ alignItems: "center",
512
+ justifyContent: "center",
513
+ width: 28,
514
+ height: 28,
515
+ shadowColor: buoyColors.error,
516
+ shadowOffset: {
517
+ width: 0,
518
+ height: 0
519
+ },
520
+ shadowOpacity: 0.15,
521
+ shadowRadius: 3
522
+ },
523
+ clearButton: {
524
+ backgroundColor: buoyColors.warning + "1A",
525
+ borderWidth: 1,
526
+ borderColor: buoyColors.warning + "4D",
527
+ borderRadius: 6,
528
+ flexDirection: "row",
529
+ padding: 0,
530
+ alignItems: "center",
531
+ justifyContent: "center",
532
+ width: 28,
533
+ height: 28,
534
+ position: "relative",
535
+ zIndex: 10,
536
+ shadowColor: buoyColors.warning,
537
+ shadowOffset: {
538
+ width: 0,
539
+ height: 0
540
+ },
541
+ shadowOpacity: 0.15,
542
+ shadowRadius: 3
543
+ },
544
+ clearButtonFocused: {
545
+ borderColor: buoyColors.warning + "CC",
546
+ backgroundColor: buoyColors.warning + "33",
547
+ shadowOpacity: 0.3,
548
+ shadowRadius: 5
549
+ },
550
+ clearButtonText: {
551
+ fontSize: 12,
552
+ fontWeight: "700",
553
+ fontFamily: "monospace"
554
+ },
555
+ expanderIcon: {
556
+ width: 18,
557
+ height: 18,
558
+ alignItems: "center",
559
+ justifyContent: "center",
560
+ marginRight: 1,
561
+ backgroundColor: buoyColors.textSecondary + "14",
562
+ borderRadius: 3
563
+ },
564
+ expanderIconMain: {
565
+ backgroundColor: buoyColors.textSecondary + "1A",
566
+ width: 20,
567
+ height: 20,
568
+ borderRadius: 4,
569
+ borderWidth: 0.5,
570
+ borderColor: buoyColors.textSecondary + "33"
571
+ },
572
+ expanded: {
573
+ transform: [{
574
+ rotate: "0deg"
575
+ }]
576
+ },
577
+ collapsed: {
578
+ transform: [{
579
+ rotate: "0deg"
580
+ }]
581
+ },
582
+ minWidthWrapper: {
583
+ minWidth: 180,
584
+ fontSize: 11,
585
+ flexDirection: "row",
586
+ flexWrap: "wrap",
587
+ width: "100%",
588
+ marginVertical: 0.5
589
+ },
590
+ fullWidthMarginRight: {
591
+ position: "relative",
592
+ width: "100%",
593
+ marginRight: 1
594
+ },
595
+ flexRowItemsCenterGap: {
596
+ flexDirection: "row",
597
+ alignItems: "center",
598
+ justifyContent: "space-between",
599
+ paddingVertical: 3,
600
+ paddingHorizontal: 6,
601
+ marginVertical: 1,
602
+ borderRadius: 4,
603
+ backgroundColor: buoyColors.card + "66",
604
+ borderWidth: 0.5,
605
+ borderColor: buoyColors.textSecondary + "1A"
606
+ },
607
+ flexRowItemsCenterGapMain: {
608
+ backgroundColor: buoyColors.card + "E6",
609
+ borderLeftWidth: 2.5,
610
+ borderLeftColor: buoyColors.textSecondary + "80",
611
+ borderColor: buoyColors.textSecondary + "26",
612
+ paddingVertical: 5,
613
+ paddingHorizontal: 8,
614
+ marginBottom: 3,
615
+ borderWidth: 1,
616
+ shadowColor: "#000",
617
+ shadowOffset: {
618
+ width: 0,
619
+ height: 0
620
+ },
621
+ shadowOpacity: 0.08,
622
+ shadowRadius: 3
623
+ },
624
+ expanderButton: {
625
+ flexDirection: "row",
626
+ alignItems: "center",
627
+ backgroundColor: "transparent",
628
+ paddingVertical: 1,
629
+ paddingHorizontal: 2,
630
+ gap: 6,
631
+ borderWidth: 0,
632
+ minHeight: 24,
633
+ flex: 1
634
+ },
635
+ labelText: {
636
+ color: buoyColors.textSecondary,
637
+ fontSize: 10,
638
+ fontWeight: "600",
639
+ marginRight: 4,
640
+ fontFamily: "monospace",
641
+ letterSpacing: 0.4
642
+ },
643
+ labelTextFocused: {
644
+ color: buoyColors.text
645
+ },
646
+ labelTextMain: {
647
+ color: buoyColors.text,
648
+ fontSize: 11,
649
+ fontWeight: "700",
650
+ letterSpacing: 0.6
651
+ },
652
+ textGray500: {
653
+ color: buoyColors.textMuted,
654
+ fontSize: 10,
655
+ fontWeight: "400",
656
+ fontFamily: "monospace",
657
+ opacity: 0.7
658
+ },
659
+ pageRangeText: {
660
+ color: buoyColors.textSecondary,
661
+ fontSize: 10,
662
+ fontWeight: "600",
663
+ fontFamily: "monospace"
664
+ },
665
+ flexRowGapItemsCenter: {
666
+ flexDirection: "row",
667
+ alignItems: "center",
668
+ gap: 4,
669
+ paddingLeft: 2
670
+ },
671
+ singleEntryContainer: {
672
+ marginLeft: 2,
673
+ marginTop: 2,
674
+ paddingLeft: 8,
675
+ borderLeftWidth: 1.5,
676
+ borderLeftColor: buoyColors.textSecondary + "40"
677
+ },
678
+ singleEntryContainerMain: {
679
+ borderLeftColor: buoyColors.textSecondary + "4D",
680
+ marginLeft: 4,
681
+ paddingLeft: 10
682
+ },
683
+ multiEntryContainer: {
684
+ marginLeft: 2,
685
+ marginTop: 2,
686
+ paddingLeft: 8,
687
+ borderLeftWidth: 1.5,
688
+ borderLeftColor: buoyColors.textSecondary + "40"
689
+ },
690
+ multiEntryContainerMain: {
691
+ borderLeftColor: buoyColors.textSecondary + "4D",
692
+ marginLeft: 4,
693
+ paddingLeft: 10
694
+ },
695
+ relativeOutlineNone: {
696
+ position: "relative"
697
+ },
698
+ pageExpanderButton: {
699
+ flexDirection: "row",
700
+ alignItems: "center",
701
+ backgroundColor: buoyColors.card + "66",
702
+ paddingVertical: 3,
703
+ paddingHorizontal: 6,
704
+ gap: 6,
705
+ borderRadius: 4,
706
+ borderWidth: 0.5,
707
+ borderColor: buoyColors.textSecondary + "1A",
708
+ marginBottom: 2,
709
+ minHeight: 24
710
+ },
711
+ entriesContainer: {
712
+ marginLeft: 2,
713
+ paddingLeft: 8,
714
+ marginTop: 2,
715
+ borderLeftWidth: 1.5,
716
+ borderLeftColor: buoyColors.textSecondary + "40"
717
+ },
718
+ textNumber: {
719
+ color: buoyColors.text,
720
+ fontWeight: "600",
721
+ fontFamily: "monospace"
722
+ },
723
+ textString: {
724
+ color: buoyColors.text,
725
+ fontFamily: "monospace"
726
+ },
727
+ flexRowGapFullWidth: {
728
+ flexDirection: "row",
729
+ width: "100%",
730
+ alignItems: "center",
731
+ marginVertical: 1,
732
+ gap: 6,
733
+ paddingHorizontal: 4,
734
+ paddingVertical: 2,
735
+ borderRadius: 3
736
+ },
737
+ text344054: {
738
+ color: buoyColors.textSecondary,
739
+ fontWeight: "600",
740
+ fontSize: 9,
741
+ minWidth: 50,
742
+ fontFamily: "monospace",
743
+ letterSpacing: 0.4,
744
+ opacity: 0.8
745
+ },
746
+ numberInputButtons: {
747
+ position: "absolute",
748
+ right: 8,
749
+ top: "50%",
750
+ transform: [{
751
+ translateY: -18
752
+ }],
753
+ flexDirection: "row",
754
+ gap: 4,
755
+ zIndex: 10
756
+ },
757
+ touchableButton: {
758
+ width: 32,
759
+ height: 32,
760
+ borderRadius: 6,
761
+ backgroundColor: buoyColors.card + "E6",
762
+ borderWidth: 1,
763
+ borderColor: buoyColors.textSecondary + "33",
764
+ alignItems: "center",
765
+ justifyContent: "center",
766
+ marginLeft: 2,
767
+ shadowColor: "#000",
768
+ shadowOffset: {
769
+ width: 0,
770
+ height: 1
771
+ },
772
+ shadowOpacity: 0.2,
773
+ shadowRadius: 2
774
+ },
775
+ touchableButtonFocused: {
776
+ borderColor: buoyColors.primary + "CC",
777
+ backgroundColor: buoyColors.primary + "26",
778
+ shadowColor: buoyColors.primary,
779
+ shadowOffset: {
780
+ width: 0,
781
+ height: 0
782
+ },
783
+ shadowOpacity: 0.3,
784
+ shadowRadius: 4,
785
+ elevation: 3
786
+ },
787
+ nebulaInputWrapper: {
788
+ flex: 1,
789
+ width: "100%",
790
+ position: "relative"
791
+ },
792
+ displayValueText: {
793
+ flex: 1,
794
+ color: buoyColors.text,
795
+ fontWeight: "400",
796
+ fontFamily: "monospace",
797
+ fontSize: 12,
798
+ paddingVertical: 6,
799
+ paddingHorizontal: 10,
800
+ borderRadius: 6,
801
+ borderWidth: 1,
802
+ borderColor: buoyColors.textMuted + "66",
803
+ minHeight: 34
804
+ },
805
+ // New redesigned styles (kept for future use)
806
+ dataRow: {
807
+ flexDirection: "row",
808
+ alignItems: "center",
809
+ paddingVertical: 4,
810
+ paddingHorizontal: 8,
811
+ minHeight: 44,
812
+ gap: 12
813
+ },
814
+ dataLabel: {
815
+ color: buoyColors.textSecondary,
816
+ fontSize: 13,
817
+ fontWeight: "500",
818
+ minWidth: 80,
819
+ flexShrink: 0
820
+ },
821
+ dataValueContainer: {
822
+ flex: 1,
823
+ flexDirection: "row",
824
+ alignItems: "center"
825
+ },
826
+ inputWithActions: {
827
+ flex: 1,
828
+ position: "relative"
829
+ },
830
+ numberControls: {
831
+ position: "absolute",
832
+ right: 8,
833
+ top: "50%",
834
+ transform: [{
835
+ translateY: -16
836
+ }],
837
+ flexDirection: "column",
838
+ gap: 2
839
+ },
840
+ numberButton: {
841
+ width: 32,
842
+ height: 16,
843
+ borderRadius: 4,
844
+ alignItems: "center",
845
+ justifyContent: "center",
846
+ borderWidth: 1,
847
+ borderColor: buoyColors.primary + "0F"
848
+ },
849
+ readOnlyValue: {
850
+ color: buoyColors.text,
851
+ fontSize: 13,
852
+ fontFamily: "monospace",
853
+ paddingVertical: 8,
854
+ paddingHorizontal: 12,
855
+ borderRadius: 6,
856
+ borderWidth: 1,
857
+ borderColor: buoyColors.textMuted + "33",
858
+ flex: 1
859
+ },
860
+ actionButtons: {
861
+ flexDirection: "row",
862
+ gap: 6,
863
+ paddingLeft: 8
864
+ },
865
+ booleanContainer: {
866
+ flexDirection: "row",
867
+ alignItems: "center",
868
+ padding: 8,
869
+ borderRadius: 6,
870
+ borderWidth: 1,
871
+ borderColor: buoyColors.textMuted + "4D",
872
+ flex: 1
873
+ },
874
+ booleanText: {
875
+ marginLeft: 8,
876
+ color: buoyColors.warning,
877
+ fontWeight: "500",
878
+ fontFamily: "monospace"
879
+ },
880
+ modernToggleButton: {
881
+ flexDirection: "row",
882
+ alignItems: "center",
883
+ justifyContent: "space-between",
884
+ borderRadius: 6,
885
+ borderWidth: 1,
886
+ borderColor: buoyColors.textMuted + "99",
887
+ paddingHorizontal: 8,
888
+ paddingVertical: 6,
889
+ marginVertical: 2,
890
+ minHeight: 34,
891
+ gap: 8
892
+ },
893
+ toggleIconContainer: {
894
+ marginRight: 6
895
+ },
896
+ toggleIcon: {
897
+ padding: 8,
898
+ borderRadius: 8,
899
+ alignItems: "center",
900
+ justifyContent: "center",
901
+ width: 32,
902
+ height: 32
903
+ },
904
+ toggleIconSmall: {
905
+ width: 8,
906
+ height: 8,
907
+ borderRadius: 4
908
+ },
909
+ toggleContent: {
910
+ flex: 1,
911
+ minWidth: 0
912
+ },
913
+ toggleLabel: {
914
+ color: "#E5E7EB",
915
+ fontSize: 11,
916
+ fontWeight: "600",
917
+ fontFamily: "monospace",
918
+ letterSpacing: 0.3
919
+ },
920
+ toggleStatus: {
921
+ color: "#9CA3AF",
922
+ fontSize: 11
923
+ },
924
+ toggleBadge: {
925
+ marginLeft: 6,
926
+ paddingHorizontal: 6,
927
+ paddingVertical: 3,
928
+ borderRadius: 4,
929
+ borderWidth: 1
930
+ },
931
+ toggleBadgeText: {
932
+ fontSize: 9,
933
+ fontWeight: "700",
934
+ textTransform: "uppercase",
935
+ letterSpacing: 0.8,
936
+ fontFamily: "monospace"
937
+ },
938
+ // Pre-computed toggle icon styles to avoid inline objects [[memory:4875251]]
939
+ toggleIconTrue: {
940
+ backgroundColor: buoyColors.primary
941
+ },
942
+ toggleIconFalse: {
943
+ backgroundColor: buoyColors.textMuted
944
+ },
945
+ // Pre-computed toggle badge styles [[memory:4875251]]
946
+ toggleBadgeTrue: {
947
+ backgroundColor: buoyColors.primary + "1A",
948
+ borderColor: buoyColors.primary + "4D"
949
+ },
950
+ toggleBadgeFalse: {
951
+ backgroundColor: buoyColors.textMuted + "1A",
952
+ borderColor: buoyColors.textMuted + "4D"
953
+ },
954
+ // Pre-computed toggle text styles [[memory:4875251]]
955
+ toggleTextTrue: {
956
+ color: buoyColors.primary,
957
+ fontWeight: "600"
958
+ },
959
+ toggleTextFalse: {
960
+ color: buoyColors.textSecondary,
961
+ fontWeight: "500"
962
+ },
963
+ // Boolean row container styles
964
+ booleanRowContainer: {
965
+ flexDirection: "row",
966
+ alignItems: "center",
967
+ width: "100%",
968
+ gap: 8,
969
+ paddingVertical: 2
970
+ },
971
+ booleanLabel: {
972
+ color: buoyColors.textSecondary,
973
+ fontSize: 10,
974
+ fontWeight: "600",
975
+ fontFamily: "monospace",
976
+ letterSpacing: 0.4,
977
+ minWidth: 60,
978
+ flexShrink: 0
979
+ },
980
+ booleanToggleWrapper: {
981
+ flex: 1
982
+ }
983
+ });