@buoy-gg/shared-ui 7.0.41 → 7.0.42

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 (1206) hide show
  1. package/dataViewer.js +1 -9
  2. package/floating.js +1 -2
  3. package/history.js +1 -7
  4. package/hooks.js +1 -7
  5. package/lib/commonjs/JsModal.js +1 -1766
  6. package/lib/commonjs/JsModal.web.js +1 -1589
  7. package/lib/commonjs/clipboard/autoDetectClipboard.js +1 -67
  8. package/lib/commonjs/clipboard/clipboard-impl.js +1 -128
  9. package/lib/commonjs/clipboard/clipboard-impl.web.js +1 -21
  10. package/lib/commonjs/clipboard/copyToClipboard.js +1 -64
  11. package/lib/commonjs/clipboard/index.js +1 -25
  12. package/lib/commonjs/colors/index.js +1 -49
  13. package/lib/commonjs/context/HintsContext.js +1 -49
  14. package/lib/commonjs/context/index.js +1 -24
  15. package/lib/commonjs/dataViewer/CyberpunkInput.js +1 -388
  16. package/lib/commonjs/dataViewer/DataTreeActionBar.js +1 -390
  17. package/lib/commonjs/dataViewer/DataTreeActionDock.js +1 -226
  18. package/lib/commonjs/dataViewer/DataViewer.js +1 -158
  19. package/lib/commonjs/dataViewer/DiffSummary.js +1 -134
  20. package/lib/commonjs/dataViewer/IndentGuides.js +1 -128
  21. package/lib/commonjs/dataViewer/IndentGuidesOverlay.js +1 -104
  22. package/lib/commonjs/dataViewer/JsonStringNotice.js +1 -59
  23. package/lib/commonjs/dataViewer/LiveExplorer.js +1 -943
  24. package/lib/commonjs/dataViewer/SplitDiffViewer.js +1 -421
  25. package/lib/commonjs/dataViewer/ThemedSplitView.js +1 -642
  26. package/lib/commonjs/dataViewer/TimestampDeltaBar.js +1 -96
  27. package/lib/commonjs/dataViewer/TypeLegend.js +1 -111
  28. package/lib/commonjs/dataViewer/ValueEditModal.js +1 -386
  29. package/lib/commonjs/dataViewer/VirtualizedDataExplorer.js +1 -1270
  30. package/lib/commonjs/dataViewer/diffThemes.js +1 -113
  31. package/lib/commonjs/dataViewer/index.js +1 -320
  32. package/lib/commonjs/dataViewer/jsonOps.js +1 -320
  33. package/lib/commonjs/dataViewer/jsonStringValue.js +1 -94
  34. package/lib/commonjs/dataViewer/lineDiff.js +1 -568
  35. package/lib/commonjs/dataViewer/nestedPath.js +1 -115
  36. package/lib/commonjs/dataViewer/objectDiff.js +1 -304
  37. package/lib/commonjs/dataViewer/timestampDiff.js +1 -146
  38. package/lib/commonjs/dataViewer/tree/TreeDiffViewer.js +1 -915
  39. package/lib/commonjs/dataViewer/treeActions.js +1 -168
  40. package/lib/commonjs/dataViewer/useTreeDraft.js +1 -125
  41. package/lib/commonjs/dataViewer/useTreeEditor.js +1 -105
  42. package/lib/commonjs/env/EnvironmentIndicator.js +1 -129
  43. package/lib/commonjs/env/EnvironmentIndicator.web.js +1 -114
  44. package/lib/commonjs/env/EnvironmentSelector.js +1 -205
  45. package/lib/commonjs/env/EnvironmentSelectorInline.js +1 -299
  46. package/lib/commonjs/env/EnvironmentSelectorInline.web.js +1 -178
  47. package/lib/commonjs/history/HistoryProvider.js +1 -246
  48. package/lib/commonjs/history/components/HistoryEntryRow.js +1 -146
  49. package/lib/commonjs/history/components/HistoryList.js +1 -174
  50. package/lib/commonjs/history/components/index.js +1 -25
  51. package/lib/commonjs/history/index.js +1 -61
  52. package/lib/commonjs/history/types.js +1 -5
  53. package/lib/commonjs/hooks/index.js +1 -77
  54. package/lib/commonjs/hooks/safe-area-impl.js +1 -28
  55. package/lib/commonjs/hooks/useChangeLog.js +1 -55
  56. package/lib/commonjs/hooks/useDeviceInfo.js +1 -524
  57. package/lib/commonjs/hooks/useEventStoreEvents.js +1 -65
  58. package/lib/commonjs/hooks/useFilterManager.js +1 -136
  59. package/lib/commonjs/hooks/usePersistedState.js +1 -106
  60. package/lib/commonjs/hooks/useSafeAreaInsets.js +1 -250
  61. package/lib/commonjs/hooks/useSafeAreaInsets.web.js +1 -41
  62. package/lib/commonjs/icons/BenchmarkIcon.js +1 -109
  63. package/lib/commonjs/icons/EnvLaptopIcon.js +1 -204
  64. package/lib/commonjs/icons/IconBackground.js +1 -279
  65. package/lib/commonjs/icons/ReactQueryIcon.js +1 -17
  66. package/lib/commonjs/icons/RenderCountIcon.js +1 -147
  67. package/lib/commonjs/icons/RouteMapIcon.js +1 -250
  68. package/lib/commonjs/icons/SentryBugIcon.js +1 -19
  69. package/lib/commonjs/icons/StackPulseIcon.js +1 -158
  70. package/lib/commonjs/icons/StorageStackIcon.js +1 -156
  71. package/lib/commonjs/icons/WifiCircuitIcon.js +1 -169
  72. package/lib/commonjs/icons/index.js +1 -840
  73. package/lib/commonjs/icons/lucide-icons-original-full.js +1 -3248
  74. package/lib/commonjs/icons/lucide-icons.js +1 -2476
  75. package/lib/commonjs/icons/primitives/GlobeIcon.js +1 -66
  76. package/lib/commonjs/icons/primitives/icon-primitives.js +1 -169
  77. package/lib/commonjs/icons/primitives/index.js +1 -49
  78. package/lib/commonjs/index.js +1 -1132
  79. package/lib/commonjs/license/AccountSetup.js +1 -35
  80. package/lib/commonjs/license/AccountSetup.web.js +2 -83
  81. package/lib/commonjs/license/AccountSetupContent.js +1 -482
  82. package/lib/commonjs/license/FeatureGate.js +1 -788
  83. package/lib/commonjs/license/FreeAccountPrompt.js +1 -59
  84. package/lib/commonjs/license/LicenseEntryModal.js +2 -387
  85. package/lib/commonjs/license/accountRuntime.js +1 -8
  86. package/lib/commonjs/license/accountRuntime.web.js +1 -9
  87. package/lib/commonjs/license/index.js +1 -106
  88. package/lib/commonjs/license/licenseModule.js +1 -121
  89. package/lib/commonjs/license/openPricing.js +1 -36
  90. package/lib/commonjs/license/tierLimits.js +1 -128
  91. package/lib/commonjs/logger/index-sentry.js +1 -245
  92. package/lib/commonjs/logger/index.js +1 -62
  93. package/lib/commonjs/logger/logDump.js +1 -19
  94. package/lib/commonjs/logger/types.js +1 -38
  95. package/lib/commonjs/settings/components/BubbleSettingsSection.js +1 -384
  96. package/lib/commonjs/settings/index.js +1 -24
  97. package/lib/commonjs/storage/definePersistedSetting.js +1 -67
  98. package/lib/commonjs/storage/devToolsStorageKeys.js +1 -359
  99. package/lib/commonjs/storage/index.js +1 -25
  100. package/lib/commonjs/stores/BaseEventStore.js +1 -343
  101. package/lib/commonjs/stores/ChangeLog.js +1 -197
  102. package/lib/commonjs/stores/createToolStore.js +1 -193
  103. package/lib/commonjs/stores/floatingToolStore.js +1 -71
  104. package/lib/commonjs/stores/floatingToolStore.test.js +1 -112
  105. package/lib/commonjs/stores/ignoredPatternsCore.js +1 -75
  106. package/lib/commonjs/stores/ignoredPatternsStore.js +1 -16
  107. package/lib/commonjs/stores/ignoredPatternsStore.shared.js +1 -205
  108. package/lib/commonjs/stores/ignoredPatternsStore.web.js +1 -16
  109. package/lib/commonjs/stores/index.js +1 -51
  110. package/lib/commonjs/sync/keyedArrays.js +1 -209
  111. package/lib/commonjs/sync/toolActionRegistry.js +1 -249
  112. package/lib/commonjs/sync/toolAttention.test.js +1 -51
  113. package/lib/commonjs/sync/toolSyncAdapter.js +1 -63
  114. package/lib/commonjs/sync/toolUiBridge.js +1 -132
  115. package/lib/commonjs/sync/typedEdit.js +1 -228
  116. package/lib/commonjs/sync/valuePath.js +1 -337
  117. package/lib/commonjs/sync/valueShape.js +1 -161
  118. package/lib/commonjs/sync/wireBudget.js +1 -97
  119. package/lib/commonjs/sync/wireForm.js +1 -172
  120. package/lib/commonjs/tools/defineTool.js +1 -79
  121. package/lib/commonjs/types/types.d.js +1 -1
  122. package/lib/commonjs/types/types.js +1 -37
  123. package/lib/commonjs/ui/backgrounds/BackgroundSwitcher.js +1 -354
  124. package/lib/commonjs/ui/backgrounds/ToolBackground.js +1 -76
  125. package/lib/commonjs/ui/backgrounds/backgroundStore.js +1 -130
  126. package/lib/commonjs/ui/backgrounds/index.js +1 -167
  127. package/lib/commonjs/ui/backgrounds/primitives.js +1 -369
  128. package/lib/commonjs/ui/backgrounds/registry.js +1 -98
  129. package/lib/commonjs/ui/backgrounds/rng.js +1 -93
  130. package/lib/commonjs/ui/backgrounds/skyClock.js +1 -45
  131. package/lib/commonjs/ui/backgrounds/types.js +1 -1
  132. package/lib/commonjs/ui/backgrounds/variants/daylight.js +1 -453
  133. package/lib/commonjs/ui/backgrounds/variants/deepField.js +1 -381
  134. package/lib/commonjs/ui/backgrounds/variants/hyperspace.js +1 -218
  135. package/lib/commonjs/ui/backgrounds/variants/liveSky.js +1 -898
  136. package/lib/commonjs/ui/backgrounds/variants/meteors.js +1 -401
  137. package/lib/commonjs/ui/backgrounds/variants/moonlight.js +1 -472
  138. package/lib/commonjs/ui/backgrounds/variants/underwater.js +1 -757
  139. package/lib/commonjs/ui/backgrounds/variants/wormhole/motion.js +1 -48
  140. package/lib/commonjs/ui/backgrounds/variants/wormhole/textures.js +1 -3
  141. package/lib/commonjs/ui/backgrounds/variants/wormhole.js +1 -136
  142. package/lib/commonjs/ui/components/BackButton.js +1 -47
  143. package/lib/commonjs/ui/components/Badge.js +1 -226
  144. package/lib/commonjs/ui/components/ChangeRow.js +1 -111
  145. package/lib/commonjs/ui/components/ChipStrip.js +1 -94
  146. package/lib/commonjs/ui/components/ClipboardHintBanner.js +1 -149
  147. package/lib/commonjs/ui/components/CollapsibleSection.js +1 -170
  148. package/lib/commonjs/ui/components/CompactFilterChips.js +1 -114
  149. package/lib/commonjs/ui/components/CompactRow.js +1 -295
  150. package/lib/commonjs/ui/components/CopyButton.js +1 -307
  151. package/lib/commonjs/ui/components/DataInspector.js +1 -323
  152. package/lib/commonjs/ui/components/DetailView.js +1 -358
  153. package/lib/commonjs/ui/components/DetailViewToggle.js +1 -130
  154. package/lib/commonjs/ui/components/DevToolsCard.js +1 -126
  155. package/lib/commonjs/ui/components/DraggableHeader.js +1 -215
  156. package/lib/commonjs/ui/components/DynamicFilterView.js +1 -758
  157. package/lib/commonjs/ui/components/EmptyState.js +1 -151
  158. package/lib/commonjs/ui/components/EntityFilterView.js +1 -355
  159. package/lib/commonjs/ui/components/EventHistoryViewer/CompareBar.js +1 -211
  160. package/lib/commonjs/ui/components/EventHistoryViewer/DiffModeTabs.js +1 -99
  161. package/lib/commonjs/ui/components/EventHistoryViewer/EventHistoryViewer.js +1 -184
  162. package/lib/commonjs/ui/components/EventHistoryViewer/EventPickerModal.js +1 -208
  163. package/lib/commonjs/ui/components/EventHistoryViewer/ViewToggleCards.js +1 -137
  164. package/lib/commonjs/ui/components/EventHistoryViewer/index.js +1 -40
  165. package/lib/commonjs/ui/components/EventHistoryViewer/types.js +1 -5
  166. package/lib/commonjs/ui/components/EventListItem.js +1 -247
  167. package/lib/commonjs/ui/components/EventStepperFooter.js +1 -185
  168. package/lib/commonjs/ui/components/ExpandablePopover.js +1 -381
  169. package/lib/commonjs/ui/components/ExpandedInfoRow.js +1 -108
  170. package/lib/commonjs/ui/components/ExportPreview.js +1 -174
  171. package/lib/commonjs/ui/components/FilterComponents.js +1 -291
  172. package/lib/commonjs/ui/components/GripVerticalIcon.js +1 -65
  173. package/lib/commonjs/ui/components/HeaderSearchButton.js +1 -50
  174. package/lib/commonjs/ui/components/InfoRow.js +1 -91
  175. package/lib/commonjs/ui/components/ListItem.js +1 -173
  176. package/lib/commonjs/ui/components/ModalHeader.js +1 -305
  177. package/lib/commonjs/ui/components/ModalHintBanner.js +1 -147
  178. package/lib/commonjs/ui/components/Pill.js +1 -115
  179. package/lib/commonjs/ui/components/PowerToggleButton.js +1 -78
  180. package/lib/commonjs/ui/components/SearchBar.js +1 -165
  181. package/lib/commonjs/ui/components/SectionHeader.js +1 -129
  182. package/lib/commonjs/ui/components/StatsCard.js +1 -198
  183. package/lib/commonjs/ui/components/StatusIndicator.js +1 -231
  184. package/lib/commonjs/ui/components/StorageTypeBadge.js +1 -97
  185. package/lib/commonjs/ui/components/TabSelector.js +1 -102
  186. package/lib/commonjs/ui/components/TimeDisplay.js +1 -142
  187. package/lib/commonjs/ui/components/ToggleRow.js +1 -116
  188. package/lib/commonjs/ui/components/ToolButton.js +1 -93
  189. package/lib/commonjs/ui/components/ToolEmptyState.js +1 -154
  190. package/lib/commonjs/ui/components/ToolFooter.js +1 -205
  191. package/lib/commonjs/ui/components/ValueTypeBadge.js +1 -147
  192. package/lib/commonjs/ui/components/WindowControls.js +1 -387
  193. package/lib/commonjs/ui/components/index.js +1 -507
  194. package/lib/commonjs/ui/components/windowDrag.js +1 -45
  195. package/lib/commonjs/ui/console/CyberpunkButtonOutline.js +1 -261
  196. package/lib/commonjs/ui/console/CyberpunkIconContainer.js +1 -186
  197. package/lib/commonjs/ui/console/CyberpunkSectionButton.js +1 -123
  198. package/lib/commonjs/ui/floating/FloatingTool.js +1 -1010
  199. package/lib/commonjs/ui/floating/FloatingTool.web.js +1 -601
  200. package/lib/commonjs/ui/floating/FloatingToolHost.js +1 -32
  201. package/lib/commonjs/ui/floating/FloatingToolHost.web.js +1 -28
  202. package/lib/commonjs/ui/floating/index.js +1 -105
  203. package/lib/commonjs/ui/floating/index.web.js +1 -105
  204. package/lib/commonjs/ui/floating/onboardingConstants.js +1 -70
  205. package/lib/commonjs/ui/floating/onboardingConstants.web.js +1 -34
  206. package/lib/commonjs/ui/fonts.js +1 -12
  207. package/lib/commonjs/ui/gameUI/components/GameUICollapsibleSection.js +1 -121
  208. package/lib/commonjs/ui/gameUI/components/GameUICompactStats.js +1 -336
  209. package/lib/commonjs/ui/gameUI/components/GameUIIssuesList.js +1 -284
  210. package/lib/commonjs/ui/gameUI/components/GameUIStatusHeader.js +1 -145
  211. package/lib/commonjs/ui/gameUI/constants/gameUIColors.js +1 -224
  212. package/lib/commonjs/ui/gameUI/constants/macOSDesignSystemColors.js +1 -224
  213. package/lib/commonjs/ui/gameUI/hooks/useGameUIAlertState.js +1 -110
  214. package/lib/commonjs/ui/gameUI/index.js +1 -72
  215. package/lib/commonjs/ui/index.js +1 -217
  216. package/lib/commonjs/ui/listPresets.js +1 -43
  217. package/lib/commonjs/ui/night/nightTheme.js +1 -130
  218. package/lib/commonjs/ui/night/primitives.js +1 -524
  219. package/lib/commonjs/ui/otto/OttoSceneView.js +1 -69
  220. package/lib/commonjs/ui/otto/OttoSprite.js +1 -510
  221. package/lib/commonjs/ui/otto/index.js +1 -60
  222. package/lib/commonjs/ui/otto/ottoEngine.js +1 -2737
  223. package/lib/commonjs/ui/otto/ottoScenes.js +1 -949
  224. package/lib/commonjs/ui/otto/ottoSheet.js +1 -191
  225. package/lib/commonjs/ui/toolTheme.js +1 -97
  226. package/lib/commonjs/utils/absoluteFill.js +1 -28
  227. package/lib/commonjs/utils/browserAsyncStorage.js +1 -157
  228. package/lib/commonjs/utils/browserNavigation.js +1 -116
  229. package/lib/commonjs/utils/devServer.js +1 -66
  230. package/lib/commonjs/utils/devServer.web.js +1 -10
  231. package/lib/commonjs/utils/displayValue.js +1 -41
  232. package/lib/commonjs/utils/domRuntime.js +1 -143
  233. package/lib/commonjs/utils/expoRouterModule.js +1 -51
  234. package/lib/commonjs/utils/expoRouterModule.web.js +1 -14
  235. package/lib/commonjs/utils/formatting/dataFormatting.js +1 -102
  236. package/lib/commonjs/utils/formatting/httpFormatting.js +1 -147
  237. package/lib/commonjs/utils/formatting/index.js +1 -27
  238. package/lib/commonjs/utils/getSafeAreaInsets.js +1 -40
  239. package/lib/commonjs/utils/getSafeAreaInsets.web.js +1 -35
  240. package/lib/commonjs/utils/index.js +1 -416
  241. package/lib/commonjs/utils/loadOptionalModule.js +1 -94
  242. package/lib/commonjs/utils/loadToolModule.js +1 -46
  243. package/lib/commonjs/utils/loadToolModule.web.js +1 -12
  244. package/lib/commonjs/utils/minimalSuperJSON.js +1 -347
  245. package/lib/commonjs/utils/modalStorage.js +1 -42
  246. package/lib/commonjs/utils/nativeWeb.js +1 -454
  247. package/lib/commonjs/utils/persistentStorage.js +1 -609
  248. package/lib/commonjs/utils/persistentStorage.web.js +1 -78
  249. package/lib/commonjs/utils/realNow.js +1 -0
  250. package/lib/commonjs/utils/reloadApp.js +1 -105
  251. package/lib/commonjs/utils/reloadPlatform.js +1 -37
  252. package/lib/commonjs/utils/reloadPlatform.web.js +1 -17
  253. package/lib/commonjs/utils/renderCaptureRegistry.js +1 -59
  254. package/lib/commonjs/utils/safeExpoRouter.js +1 -200
  255. package/lib/commonjs/utils/safeExpoRouter.web.js +1 -48
  256. package/lib/commonjs/utils/safeStringify.js +1 -229
  257. package/lib/commonjs/utils/snapshotProviderKit.js +1 -167
  258. package/lib/commonjs/utils/stateSnapshotRegistry.js +1 -71
  259. package/lib/commonjs/utils/stateTools.js +1 -160
  260. package/lib/commonjs/utils/subscribable.js +1 -113
  261. package/lib/commonjs/utils/subscriberCountNotifier.js +1 -72
  262. package/lib/commonjs/utils/time/RelativeTime.js +1 -31
  263. package/lib/commonjs/utils/time/TickContext.js +1 -43
  264. package/lib/commonjs/utils/time/formatRelativeTime.js +1 -34
  265. package/lib/commonjs/utils/time/index.js +1 -39
  266. package/lib/commonjs/utils/time/useRelativeTime.js +1 -36
  267. package/lib/commonjs/utils/toolModules.js +1 -25
  268. package/lib/commonjs/utils/typeHelpers.js +1 -142
  269. package/lib/commonjs/utils/valueFormatting.js +1 -140
  270. package/lib/module/JsModal.js +1 -1762
  271. package/lib/module/JsModal.web.js +1 -1585
  272. package/lib/module/clipboard/autoDetectClipboard.js +1 -45
  273. package/lib/module/clipboard/clipboard-impl.js +1 -121
  274. package/lib/module/clipboard/clipboard-impl.web.js +1 -14
  275. package/lib/module/clipboard/copyToClipboard.js +1 -60
  276. package/lib/module/clipboard/index.js +1 -5
  277. package/lib/module/colors/index.js +1 -21
  278. package/lib/module/context/HintsContext.js +1 -43
  279. package/lib/module/context/index.js +1 -3
  280. package/lib/module/dataViewer/CyberpunkInput.js +1 -384
  281. package/lib/module/dataViewer/DataTreeActionBar.js +1 -385
  282. package/lib/module/dataViewer/DataTreeActionDock.js +1 -222
  283. package/lib/module/dataViewer/DataViewer.js +1 -153
  284. package/lib/module/dataViewer/DiffSummary.js +1 -129
  285. package/lib/module/dataViewer/IndentGuides.js +1 -124
  286. package/lib/module/dataViewer/IndentGuidesOverlay.js +1 -99
  287. package/lib/module/dataViewer/JsonStringNotice.js +1 -54
  288. package/lib/module/dataViewer/LiveExplorer.js +1 -937
  289. package/lib/module/dataViewer/SplitDiffViewer.js +1 -416
  290. package/lib/module/dataViewer/ThemedSplitView.js +1 -637
  291. package/lib/module/dataViewer/TimestampDeltaBar.js +1 -91
  292. package/lib/module/dataViewer/TypeLegend.js +1 -105
  293. package/lib/module/dataViewer/ValueEditModal.js +1 -382
  294. package/lib/module/dataViewer/VirtualizedDataExplorer.js +1 -1265
  295. package/lib/module/dataViewer/diffThemes.js +1 -109
  296. package/lib/module/dataViewer/index.js +1 -57
  297. package/lib/module/dataViewer/jsonOps.js +1 -311
  298. package/lib/module/dataViewer/jsonStringValue.js +1 -89
  299. package/lib/module/dataViewer/lineDiff.js +1 -564
  300. package/lib/module/dataViewer/nestedPath.js +1 -109
  301. package/lib/module/dataViewer/objectDiff.js +1 -297
  302. package/lib/module/dataViewer/timestampDiff.js +1 -139
  303. package/lib/module/dataViewer/tree/TreeDiffViewer.js +1 -909
  304. package/lib/module/dataViewer/treeActions.js +1 -162
  305. package/lib/module/dataViewer/useTreeDraft.js +1 -121
  306. package/lib/module/dataViewer/useTreeEditor.js +1 -101
  307. package/lib/module/env/EnvironmentIndicator.js +1 -125
  308. package/lib/module/env/EnvironmentIndicator.web.js +1 -108
  309. package/lib/module/env/EnvironmentSelector.js +1 -201
  310. package/lib/module/env/EnvironmentSelectorInline.js +1 -295
  311. package/lib/module/env/EnvironmentSelectorInline.web.js +1 -173
  312. package/lib/module/history/HistoryProvider.js +1 -237
  313. package/lib/module/history/components/HistoryEntryRow.js +1 -142
  314. package/lib/module/history/components/HistoryList.js +1 -169
  315. package/lib/module/history/components/index.js +1 -8
  316. package/lib/module/history/index.js +1 -15
  317. package/lib/module/history/types.js +1 -3
  318. package/lib/module/hooks/index.js +1 -9
  319. package/lib/module/hooks/safe-area-impl.js +1 -23
  320. package/lib/module/hooks/useChangeLog.js +1 -50
  321. package/lib/module/hooks/useDeviceInfo.js +1 -519
  322. package/lib/module/hooks/useEventStoreEvents.js +1 -61
  323. package/lib/module/hooks/useFilterManager.js +1 -132
  324. package/lib/module/hooks/usePersistedState.js +1 -102
  325. package/lib/module/hooks/useSafeAreaInsets.js +1 -245
  326. package/lib/module/hooks/useSafeAreaInsets.web.js +1 -30
  327. package/lib/module/icons/BenchmarkIcon.js +1 -104
  328. package/lib/module/icons/EnvLaptopIcon.js +1 -199
  329. package/lib/module/icons/IconBackground.js +1 -274
  330. package/lib/module/icons/ReactQueryIcon.js +1 -12
  331. package/lib/module/icons/RenderCountIcon.js +1 -142
  332. package/lib/module/icons/RouteMapIcon.js +1 -245
  333. package/lib/module/icons/SentryBugIcon.js +1 -14
  334. package/lib/module/icons/StackPulseIcon.js +1 -153
  335. package/lib/module/icons/StorageStackIcon.js +1 -151
  336. package/lib/module/icons/WifiCircuitIcon.js +1 -164
  337. package/lib/module/icons/index.js +1 -63
  338. package/lib/module/icons/lucide-icons-original-full.js +1 -3178
  339. package/lib/module/icons/lucide-icons.js +1 -2420
  340. package/lib/module/icons/primitives/GlobeIcon.js +1 -61
  341. package/lib/module/icons/primitives/icon-primitives.js +1 -161
  342. package/lib/module/icons/primitives/index.js +1 -15
  343. package/lib/module/index.js +1 -111
  344. package/lib/module/license/AccountSetup.js +1 -31
  345. package/lib/module/license/AccountSetup.web.js +3 -80
  346. package/lib/module/license/AccountSetupContent.js +1 -476
  347. package/lib/module/license/FeatureGate.js +1 -778
  348. package/lib/module/license/FreeAccountPrompt.js +1 -50
  349. package/lib/module/license/LicenseEntryModal.js +2 -381
  350. package/lib/module/license/accountRuntime.js +1 -3
  351. package/lib/module/license/accountRuntime.web.js +1 -4
  352. package/lib/module/license/index.js +1 -9
  353. package/lib/module/license/licenseModule.js +1 -109
  354. package/lib/module/license/openPricing.js +1 -31
  355. package/lib/module/license/tierLimits.js +1 -122
  356. package/lib/module/logger/index-sentry.js +1 -230
  357. package/lib/module/logger/index.js +1 -13
  358. package/lib/module/logger/logDump.js +1 -13
  359. package/lib/module/logger/types.js +1 -37
  360. package/lib/module/settings/components/BubbleSettingsSection.js +1 -378
  361. package/lib/module/settings/index.js +1 -3
  362. package/lib/module/storage/definePersistedSetting.js +1 -63
  363. package/lib/module/storage/devToolsStorageKeys.js +1 -352
  364. package/lib/module/storage/index.js +1 -4
  365. package/lib/module/stores/BaseEventStore.js +1 -339
  366. package/lib/module/stores/ChangeLog.js +1 -192
  367. package/lib/module/stores/createToolStore.js +1 -189
  368. package/lib/module/stores/floatingToolStore.js +1 -61
  369. package/lib/module/stores/floatingToolStore.test.js +1 -111
  370. package/lib/module/stores/ignoredPatternsCore.js +1 -69
  371. package/lib/module/stores/ignoredPatternsStore.js +1 -3
  372. package/lib/module/stores/ignoredPatternsStore.shared.js +1 -189
  373. package/lib/module/stores/ignoredPatternsStore.web.js +1 -3
  374. package/lib/module/stores/index.js +1 -10
  375. package/lib/module/sync/keyedArrays.js +1 -204
  376. package/lib/module/sync/toolActionRegistry.js +1 -236
  377. package/lib/module/sync/toolAttention.test.js +1 -50
  378. package/lib/module/sync/toolSyncAdapter.js +1 -58
  379. package/lib/module/sync/toolUiBridge.js +1 -123
  380. package/lib/module/sync/typedEdit.js +1 -220
  381. package/lib/module/sync/valuePath.js +1 -330
  382. package/lib/module/sync/valueShape.js +1 -153
  383. package/lib/module/sync/wireBudget.js +1 -92
  384. package/lib/module/sync/wireForm.js +1 -159
  385. package/lib/module/tools/defineTool.js +1 -74
  386. package/lib/module/types/types.d.js +1 -1
  387. package/lib/module/types/types.js +1 -32
  388. package/lib/module/ui/backgrounds/BackgroundSwitcher.js +1 -350
  389. package/lib/module/ui/backgrounds/ToolBackground.js +1 -72
  390. package/lib/module/ui/backgrounds/backgroundStore.js +1 -125
  391. package/lib/module/ui/backgrounds/index.js +1 -19
  392. package/lib/module/ui/backgrounds/primitives.js +1 -365
  393. package/lib/module/ui/backgrounds/registry.js +1 -91
  394. package/lib/module/ui/backgrounds/rng.js +1 -85
  395. package/lib/module/ui/backgrounds/skyClock.js +1 -39
  396. package/lib/module/ui/backgrounds/types.js +1 -1
  397. package/lib/module/ui/backgrounds/variants/daylight.js +1 -449
  398. package/lib/module/ui/backgrounds/variants/deepField.js +1 -378
  399. package/lib/module/ui/backgrounds/variants/hyperspace.js +1 -214
  400. package/lib/module/ui/backgrounds/variants/liveSky.js +1 -893
  401. package/lib/module/ui/backgrounds/variants/meteors.js +1 -397
  402. package/lib/module/ui/backgrounds/variants/moonlight.js +1 -468
  403. package/lib/module/ui/backgrounds/variants/underwater.js +1 -753
  404. package/lib/module/ui/backgrounds/variants/wormhole/motion.js +1 -44
  405. package/lib/module/ui/backgrounds/variants/wormhole/textures.js +1 -3
  406. package/lib/module/ui/backgrounds/variants/wormhole.js +1 -132
  407. package/lib/module/ui/components/BackButton.js +1 -43
  408. package/lib/module/ui/components/Badge.js +1 -218
  409. package/lib/module/ui/components/ChangeRow.js +1 -106
  410. package/lib/module/ui/components/ChipStrip.js +1 -91
  411. package/lib/module/ui/components/ClipboardHintBanner.js +1 -145
  412. package/lib/module/ui/components/CollapsibleSection.js +1 -166
  413. package/lib/module/ui/components/CompactFilterChips.js +1 -110
  414. package/lib/module/ui/components/CompactRow.js +1 -291
  415. package/lib/module/ui/components/CopyButton.js +1 -303
  416. package/lib/module/ui/components/DataInspector.js +1 -319
  417. package/lib/module/ui/components/DetailView.js +1 -354
  418. package/lib/module/ui/components/DetailViewToggle.js +1 -125
  419. package/lib/module/ui/components/DevToolsCard.js +1 -122
  420. package/lib/module/ui/components/DraggableHeader.js +1 -211
  421. package/lib/module/ui/components/DynamicFilterView.js +1 -754
  422. package/lib/module/ui/components/EmptyState.js +1 -144
  423. package/lib/module/ui/components/EntityFilterView.js +1 -351
  424. package/lib/module/ui/components/EventHistoryViewer/CompareBar.js +1 -206
  425. package/lib/module/ui/components/EventHistoryViewer/DiffModeTabs.js +1 -94
  426. package/lib/module/ui/components/EventHistoryViewer/EventHistoryViewer.js +1 -179
  427. package/lib/module/ui/components/EventHistoryViewer/EventPickerModal.js +1 -203
  428. package/lib/module/ui/components/EventHistoryViewer/ViewToggleCards.js +1 -132
  429. package/lib/module/ui/components/EventHistoryViewer/index.js +1 -19
  430. package/lib/module/ui/components/EventHistoryViewer/types.js +1 -3
  431. package/lib/module/ui/components/EventListItem.js +1 -243
  432. package/lib/module/ui/components/EventStepperFooter.js +1 -180
  433. package/lib/module/ui/components/ExpandablePopover.js +1 -378
  434. package/lib/module/ui/components/ExpandedInfoRow.js +1 -103
  435. package/lib/module/ui/components/ExportPreview.js +1 -169
  436. package/lib/module/ui/components/FilterComponents.js +1 -282
  437. package/lib/module/ui/components/GripVerticalIcon.js +1 -61
  438. package/lib/module/ui/components/HeaderSearchButton.js +1 -46
  439. package/lib/module/ui/components/InfoRow.js +1 -87
  440. package/lib/module/ui/components/ListItem.js +1 -169
  441. package/lib/module/ui/components/ModalHeader.js +1 -297
  442. package/lib/module/ui/components/ModalHintBanner.js +1 -143
  443. package/lib/module/ui/components/Pill.js +1 -111
  444. package/lib/module/ui/components/PowerToggleButton.js +1 -74
  445. package/lib/module/ui/components/SearchBar.js +1 -161
  446. package/lib/module/ui/components/SectionHeader.js +1 -125
  447. package/lib/module/ui/components/StatsCard.js +1 -194
  448. package/lib/module/ui/components/StatusIndicator.js +1 -227
  449. package/lib/module/ui/components/StorageTypeBadge.js +1 -93
  450. package/lib/module/ui/components/TabSelector.js +1 -98
  451. package/lib/module/ui/components/TimeDisplay.js +1 -138
  452. package/lib/module/ui/components/ToggleRow.js +1 -112
  453. package/lib/module/ui/components/ToolButton.js +1 -89
  454. package/lib/module/ui/components/ToolEmptyState.js +1 -149
  455. package/lib/module/ui/components/ToolFooter.js +1 -197
  456. package/lib/module/ui/components/ValueTypeBadge.js +1 -143
  457. package/lib/module/ui/components/WindowControls.js +1 -383
  458. package/lib/module/ui/components/index.js +1 -52
  459. package/lib/module/ui/components/windowDrag.js +1 -41
  460. package/lib/module/ui/console/CyberpunkButtonOutline.js +1 -257
  461. package/lib/module/ui/console/CyberpunkIconContainer.js +1 -182
  462. package/lib/module/ui/console/CyberpunkSectionButton.js +1 -119
  463. package/lib/module/ui/floating/FloatingTool.js +1 -1003
  464. package/lib/module/ui/floating/FloatingTool.web.js +1 -600
  465. package/lib/module/ui/floating/FloatingToolHost.js +1 -29
  466. package/lib/module/ui/floating/FloatingToolHost.web.js +1 -25
  467. package/lib/module/ui/floating/index.js +1 -6
  468. package/lib/module/ui/floating/index.web.js +1 -6
  469. package/lib/module/ui/floating/onboardingConstants.js +1 -64
  470. package/lib/module/ui/floating/onboardingConstants.web.js +1 -27
  471. package/lib/module/ui/fonts.js +1 -8
  472. package/lib/module/ui/gameUI/components/GameUICollapsibleSection.js +1 -117
  473. package/lib/module/ui/gameUI/components/GameUICompactStats.js +1 -332
  474. package/lib/module/ui/gameUI/components/GameUIIssuesList.js +1 -280
  475. package/lib/module/ui/gameUI/components/GameUIStatusHeader.js +1 -141
  476. package/lib/module/ui/gameUI/constants/gameUIColors.js +1 -220
  477. package/lib/module/ui/gameUI/constants/macOSDesignSystemColors.js +1 -219
  478. package/lib/module/ui/gameUI/hooks/useGameUIAlertState.js +1 -105
  479. package/lib/module/ui/gameUI/index.js +1 -19
  480. package/lib/module/ui/index.js +1 -31
  481. package/lib/module/ui/listPresets.js +1 -39
  482. package/lib/module/ui/night/nightTheme.js +1 -126
  483. package/lib/module/ui/night/primitives.js +1 -511
  484. package/lib/module/ui/otto/OttoSceneView.js +1 -64
  485. package/lib/module/ui/otto/OttoSprite.js +1 -496
  486. package/lib/module/ui/otto/index.js +1 -22
  487. package/lib/module/ui/otto/ottoEngine.js +1 -2729
  488. package/lib/module/ui/otto/ottoScenes.js +1 -942
  489. package/lib/module/ui/otto/ottoSheet.js +1 -180
  490. package/lib/module/ui/toolTheme.js +1 -93
  491. package/lib/module/utils/absoluteFill.js +1 -24
  492. package/lib/module/utils/browserAsyncStorage.js +1 -151
  493. package/lib/module/utils/browserNavigation.js +1 -108
  494. package/lib/module/utils/devServer.js +1 -62
  495. package/lib/module/utils/devServer.web.js +1 -6
  496. package/lib/module/utils/displayValue.js +1 -36
  497. package/lib/module/utils/domRuntime.js +1 -134
  498. package/lib/module/utils/expoRouterModule.js +1 -46
  499. package/lib/module/utils/expoRouterModule.web.js +1 -9
  500. package/lib/module/utils/formatting/dataFormatting.js +1 -93
  501. package/lib/module/utils/formatting/httpFormatting.js +1 -142
  502. package/lib/module/utils/formatting/index.js +1 -8
  503. package/lib/module/utils/getSafeAreaInsets.js +1 -36
  504. package/lib/module/utils/getSafeAreaInsets.web.js +1 -31
  505. package/lib/module/utils/index.js +1 -23
  506. package/lib/module/utils/loadOptionalModule.js +1 -89
  507. package/lib/module/utils/loadToolModule.js +1 -42
  508. package/lib/module/utils/loadToolModule.web.js +1 -8
  509. package/lib/module/utils/minimalSuperJSON.js +1 -342
  510. package/lib/module/utils/modalStorage.js +1 -37
  511. package/lib/module/utils/nativeWeb.js +1 -107
  512. package/lib/module/utils/persistentStorage.js +1 -603
  513. package/lib/module/utils/persistentStorage.web.js +1 -72
  514. package/lib/module/utils/realNow.js +1 -0
  515. package/lib/module/utils/reloadApp.js +1 -99
  516. package/lib/module/utils/reloadPlatform.js +1 -31
  517. package/lib/module/utils/reloadPlatform.web.js +1 -11
  518. package/lib/module/utils/renderCaptureRegistry.js +1 -54
  519. package/lib/module/utils/safeExpoRouter.js +1 -189
  520. package/lib/module/utils/safeExpoRouter.web.js +1 -37
  521. package/lib/module/utils/safeStringify.js +1 -225
  522. package/lib/module/utils/snapshotProviderKit.js +1 -156
  523. package/lib/module/utils/stateSnapshotRegistry.js +1 -64
  524. package/lib/module/utils/stateTools.js +1 -154
  525. package/lib/module/utils/subscribable.js +1 -108
  526. package/lib/module/utils/subscriberCountNotifier.js +1 -66
  527. package/lib/module/utils/time/RelativeTime.js +1 -28
  528. package/lib/module/utils/time/TickContext.js +1 -38
  529. package/lib/module/utils/time/formatRelativeTime.js +1 -30
  530. package/lib/module/utils/time/index.js +1 -6
  531. package/lib/module/utils/time/useRelativeTime.js +1 -33
  532. package/lib/module/utils/toolModules.js +1 -19
  533. package/lib/module/utils/typeHelpers.js +1 -130
  534. package/lib/module/utils/valueFormatting.js +1 -131
  535. package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +1 -1
  536. package/lib/typescript/commonjs/icons/index.d.ts +1 -0
  537. package/lib/typescript/commonjs/index.d.ts +1 -1
  538. package/lib/typescript/commonjs/storage/devToolsStorageKeys.d.ts +8 -0
  539. package/lib/typescript/commonjs/ui/night/primitives.d.ts +9 -3
  540. package/lib/typescript/commonjs/utils/index.d.ts +1 -0
  541. package/lib/typescript/commonjs/utils/realNow.d.ts +11 -0
  542. package/lib/typescript/module/hooks/safe-area-impl.d.ts +1 -1
  543. package/lib/typescript/module/icons/index.d.ts +1 -0
  544. package/lib/typescript/module/index.d.ts +1 -1
  545. package/lib/typescript/module/storage/devToolsStorageKeys.d.ts +8 -0
  546. package/lib/typescript/module/ui/night/primitives.d.ts +9 -3
  547. package/lib/typescript/module/utils/index.d.ts +1 -0
  548. package/lib/typescript/module/utils/realNow.d.ts +11 -0
  549. package/lib/web/asyncStorage.mjs +1 -2
  550. package/lib/web/chunks/chunk-26OV3QDY.mjs +1 -0
  551. package/lib/web/chunks/chunk-3UTMGIUG.mjs +1 -2
  552. package/lib/web/chunks/chunk-53J2FMUD.mjs +1 -2
  553. package/lib/web/chunks/chunk-5KWAGM5V.mjs +1 -0
  554. package/lib/web/chunks/chunk-5NZOQR6Q.mjs +1 -2
  555. package/lib/web/chunks/chunk-7PRKERDN.mjs +1 -0
  556. package/lib/web/chunks/chunk-CE5U3CSQ.mjs +1 -2
  557. package/lib/web/chunks/chunk-D4RXBAOO.mjs +15 -0
  558. package/lib/web/chunks/chunk-ER3T3IDI.mjs +1 -0
  559. package/lib/web/chunks/chunk-GF5C5DVX.mjs +1 -2
  560. package/lib/web/chunks/chunk-K7CGIEFU.mjs +1 -2
  561. package/lib/web/chunks/{chunk-GTYIS7H7.mjs → chunk-L3AFTHWX.mjs} +8 -9
  562. package/lib/web/chunks/chunk-LZ7FZZ7R.mjs +1 -2
  563. package/lib/web/chunks/chunk-PTK5FO6C.mjs +1 -2
  564. package/lib/web/chunks/chunk-TJUBBXXK.mjs +1 -0
  565. package/lib/web/chunks/chunk-UKYVRCMZ.mjs +1 -0
  566. package/lib/web/chunks/chunk-XYUAUO57.mjs +1 -2
  567. package/lib/web/chunks/persistentStorage.web-6OAJAVRK.mjs +1 -0
  568. package/lib/web/colors.mjs +1 -2
  569. package/lib/web/dataViewer.mjs +2 -3
  570. package/lib/web/floating.mjs +1 -2
  571. package/lib/web/history.mjs +1 -2
  572. package/lib/web/hooks.mjs +1 -2
  573. package/lib/web/index.mjs +2 -3
  574. package/lib/web/native.mjs +1 -2
  575. package/lib/web/ui.mjs +1 -2
  576. package/lib/web/utils.mjs +1 -2
  577. package/package.json +8 -7
  578. package/scripts/detect-clipboard.js +5 -121
  579. package/scripts/detect-safe-area.js +3 -127
  580. package/ui.js +1 -7
  581. package/utils.js +1 -7
  582. package/lib/typescript/commonjs/JsModal.d.ts.map +0 -1
  583. package/lib/typescript/commonjs/JsModal.web.d.ts.map +0 -1
  584. package/lib/typescript/commonjs/clipboard/autoDetectClipboard.d.ts.map +0 -1
  585. package/lib/typescript/commonjs/clipboard/clipboard-impl.d.ts.map +0 -1
  586. package/lib/typescript/commonjs/clipboard/clipboard-impl.web.d.ts.map +0 -1
  587. package/lib/typescript/commonjs/clipboard/copyToClipboard.d.ts.map +0 -1
  588. package/lib/typescript/commonjs/clipboard/index.d.ts.map +0 -1
  589. package/lib/typescript/commonjs/colors/index.d.ts.map +0 -1
  590. package/lib/typescript/commonjs/context/HintsContext.d.ts.map +0 -1
  591. package/lib/typescript/commonjs/context/index.d.ts.map +0 -1
  592. package/lib/typescript/commonjs/dataViewer/CyberpunkInput.d.ts.map +0 -1
  593. package/lib/typescript/commonjs/dataViewer/DataTreeActionBar.d.ts.map +0 -1
  594. package/lib/typescript/commonjs/dataViewer/DataTreeActionDock.d.ts.map +0 -1
  595. package/lib/typescript/commonjs/dataViewer/DataViewer.d.ts.map +0 -1
  596. package/lib/typescript/commonjs/dataViewer/DiffSummary.d.ts.map +0 -1
  597. package/lib/typescript/commonjs/dataViewer/IndentGuides.d.ts.map +0 -1
  598. package/lib/typescript/commonjs/dataViewer/IndentGuidesOverlay.d.ts.map +0 -1
  599. package/lib/typescript/commonjs/dataViewer/JsonStringNotice.d.ts.map +0 -1
  600. package/lib/typescript/commonjs/dataViewer/LiveExplorer.d.ts.map +0 -1
  601. package/lib/typescript/commonjs/dataViewer/SplitDiffViewer.d.ts.map +0 -1
  602. package/lib/typescript/commonjs/dataViewer/ThemedSplitView.d.ts.map +0 -1
  603. package/lib/typescript/commonjs/dataViewer/TimestampDeltaBar.d.ts.map +0 -1
  604. package/lib/typescript/commonjs/dataViewer/TypeLegend.d.ts.map +0 -1
  605. package/lib/typescript/commonjs/dataViewer/ValueEditModal.d.ts.map +0 -1
  606. package/lib/typescript/commonjs/dataViewer/VirtualizedDataExplorer.d.ts.map +0 -1
  607. package/lib/typescript/commonjs/dataViewer/diffThemes.d.ts.map +0 -1
  608. package/lib/typescript/commonjs/dataViewer/index.d.ts.map +0 -1
  609. package/lib/typescript/commonjs/dataViewer/jsonOps.d.ts.map +0 -1
  610. package/lib/typescript/commonjs/dataViewer/jsonStringValue.d.ts.map +0 -1
  611. package/lib/typescript/commonjs/dataViewer/lineDiff.d.ts.map +0 -1
  612. package/lib/typescript/commonjs/dataViewer/nestedPath.d.ts.map +0 -1
  613. package/lib/typescript/commonjs/dataViewer/objectDiff.d.ts.map +0 -1
  614. package/lib/typescript/commonjs/dataViewer/timestampDiff.d.ts.map +0 -1
  615. package/lib/typescript/commonjs/dataViewer/tree/TreeDiffViewer.d.ts.map +0 -1
  616. package/lib/typescript/commonjs/dataViewer/treeActions.d.ts.map +0 -1
  617. package/lib/typescript/commonjs/dataViewer/useTreeDraft.d.ts.map +0 -1
  618. package/lib/typescript/commonjs/dataViewer/useTreeEditor.d.ts.map +0 -1
  619. package/lib/typescript/commonjs/env/EnvironmentIndicator.d.ts.map +0 -1
  620. package/lib/typescript/commonjs/env/EnvironmentIndicator.web.d.ts.map +0 -1
  621. package/lib/typescript/commonjs/env/EnvironmentSelector.d.ts.map +0 -1
  622. package/lib/typescript/commonjs/env/EnvironmentSelectorInline.d.ts.map +0 -1
  623. package/lib/typescript/commonjs/env/EnvironmentSelectorInline.web.d.ts.map +0 -1
  624. package/lib/typescript/commonjs/history/HistoryProvider.d.ts.map +0 -1
  625. package/lib/typescript/commonjs/history/components/HistoryEntryRow.d.ts.map +0 -1
  626. package/lib/typescript/commonjs/history/components/HistoryList.d.ts.map +0 -1
  627. package/lib/typescript/commonjs/history/components/index.d.ts.map +0 -1
  628. package/lib/typescript/commonjs/history/index.d.ts.map +0 -1
  629. package/lib/typescript/commonjs/history/types.d.ts.map +0 -1
  630. package/lib/typescript/commonjs/hooks/index.d.ts.map +0 -1
  631. package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts.map +0 -1
  632. package/lib/typescript/commonjs/hooks/useChangeLog.d.ts.map +0 -1
  633. package/lib/typescript/commonjs/hooks/useDeviceInfo.d.ts.map +0 -1
  634. package/lib/typescript/commonjs/hooks/useEventStoreEvents.d.ts.map +0 -1
  635. package/lib/typescript/commonjs/hooks/useFilterManager.d.ts.map +0 -1
  636. package/lib/typescript/commonjs/hooks/usePersistedState.d.ts.map +0 -1
  637. package/lib/typescript/commonjs/hooks/useSafeAreaInsets.d.ts.map +0 -1
  638. package/lib/typescript/commonjs/hooks/useSafeAreaInsets.web.d.ts.map +0 -1
  639. package/lib/typescript/commonjs/icons/BenchmarkIcon.d.ts.map +0 -1
  640. package/lib/typescript/commonjs/icons/EnvLaptopIcon.d.ts.map +0 -1
  641. package/lib/typescript/commonjs/icons/IconBackground.d.ts.map +0 -1
  642. package/lib/typescript/commonjs/icons/ReactQueryIcon.d.ts.map +0 -1
  643. package/lib/typescript/commonjs/icons/RenderCountIcon.d.ts.map +0 -1
  644. package/lib/typescript/commonjs/icons/RouteMapIcon.d.ts.map +0 -1
  645. package/lib/typescript/commonjs/icons/SentryBugIcon.d.ts.map +0 -1
  646. package/lib/typescript/commonjs/icons/StackPulseIcon.d.ts.map +0 -1
  647. package/lib/typescript/commonjs/icons/StorageStackIcon.d.ts.map +0 -1
  648. package/lib/typescript/commonjs/icons/WifiCircuitIcon.d.ts.map +0 -1
  649. package/lib/typescript/commonjs/icons/index.d.ts.map +0 -1
  650. package/lib/typescript/commonjs/icons/lucide-icons-original-full.d.ts.map +0 -1
  651. package/lib/typescript/commonjs/icons/lucide-icons.d.ts.map +0 -1
  652. package/lib/typescript/commonjs/icons/primitives/GlobeIcon.d.ts.map +0 -1
  653. package/lib/typescript/commonjs/icons/primitives/icon-primitives.d.ts.map +0 -1
  654. package/lib/typescript/commonjs/icons/primitives/index.d.ts.map +0 -1
  655. package/lib/typescript/commonjs/index.d.ts.map +0 -1
  656. package/lib/typescript/commonjs/license/AccountSetup.d.ts.map +0 -1
  657. package/lib/typescript/commonjs/license/AccountSetup.web.d.ts.map +0 -1
  658. package/lib/typescript/commonjs/license/AccountSetupContent.d.ts.map +0 -1
  659. package/lib/typescript/commonjs/license/FeatureGate.d.ts.map +0 -1
  660. package/lib/typescript/commonjs/license/FreeAccountPrompt.d.ts.map +0 -1
  661. package/lib/typescript/commonjs/license/LicenseEntryModal.d.ts.map +0 -1
  662. package/lib/typescript/commonjs/license/accountRuntime.d.ts.map +0 -1
  663. package/lib/typescript/commonjs/license/accountRuntime.web.d.ts.map +0 -1
  664. package/lib/typescript/commonjs/license/index.d.ts.map +0 -1
  665. package/lib/typescript/commonjs/license/licenseModule.d.ts.map +0 -1
  666. package/lib/typescript/commonjs/license/openPricing.d.ts.map +0 -1
  667. package/lib/typescript/commonjs/license/tierLimits.d.ts.map +0 -1
  668. package/lib/typescript/commonjs/logger/index-sentry.d.ts.map +0 -1
  669. package/lib/typescript/commonjs/logger/index.d.ts.map +0 -1
  670. package/lib/typescript/commonjs/logger/logDump.d.ts.map +0 -1
  671. package/lib/typescript/commonjs/logger/types.d.ts.map +0 -1
  672. package/lib/typescript/commonjs/settings/components/BubbleSettingsSection.d.ts.map +0 -1
  673. package/lib/typescript/commonjs/settings/index.d.ts.map +0 -1
  674. package/lib/typescript/commonjs/storage/definePersistedSetting.d.ts.map +0 -1
  675. package/lib/typescript/commonjs/storage/devToolsStorageKeys.d.ts.map +0 -1
  676. package/lib/typescript/commonjs/storage/index.d.ts.map +0 -1
  677. package/lib/typescript/commonjs/stores/BaseEventStore.d.ts.map +0 -1
  678. package/lib/typescript/commonjs/stores/ChangeLog.d.ts.map +0 -1
  679. package/lib/typescript/commonjs/stores/createToolStore.d.ts.map +0 -1
  680. package/lib/typescript/commonjs/stores/floatingToolStore.d.ts.map +0 -1
  681. package/lib/typescript/commonjs/stores/floatingToolStore.test.d.ts.map +0 -1
  682. package/lib/typescript/commonjs/stores/ignoredPatternsCore.d.ts.map +0 -1
  683. package/lib/typescript/commonjs/stores/ignoredPatternsStore.d.ts.map +0 -1
  684. package/lib/typescript/commonjs/stores/ignoredPatternsStore.shared.d.ts.map +0 -1
  685. package/lib/typescript/commonjs/stores/ignoredPatternsStore.web.d.ts.map +0 -1
  686. package/lib/typescript/commonjs/stores/index.d.ts.map +0 -1
  687. package/lib/typescript/commonjs/sync/keyedArrays.d.ts.map +0 -1
  688. package/lib/typescript/commonjs/sync/toolActionRegistry.d.ts.map +0 -1
  689. package/lib/typescript/commonjs/sync/toolAttention.test.d.ts.map +0 -1
  690. package/lib/typescript/commonjs/sync/toolSyncAdapter.d.ts.map +0 -1
  691. package/lib/typescript/commonjs/sync/toolUiBridge.d.ts.map +0 -1
  692. package/lib/typescript/commonjs/sync/typedEdit.d.ts.map +0 -1
  693. package/lib/typescript/commonjs/sync/valuePath.d.ts.map +0 -1
  694. package/lib/typescript/commonjs/sync/valueShape.d.ts.map +0 -1
  695. package/lib/typescript/commonjs/sync/wireBudget.d.ts.map +0 -1
  696. package/lib/typescript/commonjs/sync/wireForm.d.ts.map +0 -1
  697. package/lib/typescript/commonjs/tools/defineTool.d.ts.map +0 -1
  698. package/lib/typescript/commonjs/types/types.d.ts.map +0 -1
  699. package/lib/typescript/commonjs/ui/backgrounds/BackgroundSwitcher.d.ts.map +0 -1
  700. package/lib/typescript/commonjs/ui/backgrounds/ToolBackground.d.ts.map +0 -1
  701. package/lib/typescript/commonjs/ui/backgrounds/backgroundStore.d.ts.map +0 -1
  702. package/lib/typescript/commonjs/ui/backgrounds/index.d.ts.map +0 -1
  703. package/lib/typescript/commonjs/ui/backgrounds/primitives.d.ts.map +0 -1
  704. package/lib/typescript/commonjs/ui/backgrounds/registry.d.ts.map +0 -1
  705. package/lib/typescript/commonjs/ui/backgrounds/rng.d.ts.map +0 -1
  706. package/lib/typescript/commonjs/ui/backgrounds/skyClock.d.ts.map +0 -1
  707. package/lib/typescript/commonjs/ui/backgrounds/types.d.ts.map +0 -1
  708. package/lib/typescript/commonjs/ui/backgrounds/variants/daylight.d.ts.map +0 -1
  709. package/lib/typescript/commonjs/ui/backgrounds/variants/deepField.d.ts.map +0 -1
  710. package/lib/typescript/commonjs/ui/backgrounds/variants/hyperspace.d.ts.map +0 -1
  711. package/lib/typescript/commonjs/ui/backgrounds/variants/liveSky.d.ts.map +0 -1
  712. package/lib/typescript/commonjs/ui/backgrounds/variants/meteors.d.ts.map +0 -1
  713. package/lib/typescript/commonjs/ui/backgrounds/variants/moonlight.d.ts.map +0 -1
  714. package/lib/typescript/commonjs/ui/backgrounds/variants/underwater.d.ts.map +0 -1
  715. package/lib/typescript/commonjs/ui/backgrounds/variants/wormhole/motion.d.ts.map +0 -1
  716. package/lib/typescript/commonjs/ui/backgrounds/variants/wormhole/textures.d.ts.map +0 -1
  717. package/lib/typescript/commonjs/ui/backgrounds/variants/wormhole.d.ts.map +0 -1
  718. package/lib/typescript/commonjs/ui/components/BackButton.d.ts.map +0 -1
  719. package/lib/typescript/commonjs/ui/components/Badge.d.ts.map +0 -1
  720. package/lib/typescript/commonjs/ui/components/ChangeRow.d.ts.map +0 -1
  721. package/lib/typescript/commonjs/ui/components/ChipStrip.d.ts.map +0 -1
  722. package/lib/typescript/commonjs/ui/components/ClipboardHintBanner.d.ts.map +0 -1
  723. package/lib/typescript/commonjs/ui/components/CollapsibleSection.d.ts.map +0 -1
  724. package/lib/typescript/commonjs/ui/components/CompactFilterChips.d.ts.map +0 -1
  725. package/lib/typescript/commonjs/ui/components/CompactRow.d.ts.map +0 -1
  726. package/lib/typescript/commonjs/ui/components/CopyButton.d.ts.map +0 -1
  727. package/lib/typescript/commonjs/ui/components/DataInspector.d.ts.map +0 -1
  728. package/lib/typescript/commonjs/ui/components/DetailView.d.ts.map +0 -1
  729. package/lib/typescript/commonjs/ui/components/DetailViewToggle.d.ts.map +0 -1
  730. package/lib/typescript/commonjs/ui/components/DevToolsCard.d.ts.map +0 -1
  731. package/lib/typescript/commonjs/ui/components/DraggableHeader.d.ts.map +0 -1
  732. package/lib/typescript/commonjs/ui/components/DynamicFilterView.d.ts.map +0 -1
  733. package/lib/typescript/commonjs/ui/components/EmptyState.d.ts.map +0 -1
  734. package/lib/typescript/commonjs/ui/components/EntityFilterView.d.ts.map +0 -1
  735. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/CompareBar.d.ts.map +0 -1
  736. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/DiffModeTabs.d.ts.map +0 -1
  737. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/EventHistoryViewer.d.ts.map +0 -1
  738. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/EventPickerModal.d.ts.map +0 -1
  739. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/ViewToggleCards.d.ts.map +0 -1
  740. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/index.d.ts.map +0 -1
  741. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/types.d.ts.map +0 -1
  742. package/lib/typescript/commonjs/ui/components/EventListItem.d.ts.map +0 -1
  743. package/lib/typescript/commonjs/ui/components/EventStepperFooter.d.ts.map +0 -1
  744. package/lib/typescript/commonjs/ui/components/ExpandablePopover.d.ts.map +0 -1
  745. package/lib/typescript/commonjs/ui/components/ExpandedInfoRow.d.ts.map +0 -1
  746. package/lib/typescript/commonjs/ui/components/ExportPreview.d.ts.map +0 -1
  747. package/lib/typescript/commonjs/ui/components/FilterComponents.d.ts.map +0 -1
  748. package/lib/typescript/commonjs/ui/components/GripVerticalIcon.d.ts.map +0 -1
  749. package/lib/typescript/commonjs/ui/components/HeaderSearchButton.d.ts.map +0 -1
  750. package/lib/typescript/commonjs/ui/components/InfoRow.d.ts.map +0 -1
  751. package/lib/typescript/commonjs/ui/components/ListItem.d.ts.map +0 -1
  752. package/lib/typescript/commonjs/ui/components/ModalHeader.d.ts.map +0 -1
  753. package/lib/typescript/commonjs/ui/components/ModalHintBanner.d.ts.map +0 -1
  754. package/lib/typescript/commonjs/ui/components/Pill.d.ts.map +0 -1
  755. package/lib/typescript/commonjs/ui/components/PowerToggleButton.d.ts.map +0 -1
  756. package/lib/typescript/commonjs/ui/components/SearchBar.d.ts.map +0 -1
  757. package/lib/typescript/commonjs/ui/components/SectionHeader.d.ts.map +0 -1
  758. package/lib/typescript/commonjs/ui/components/StatsCard.d.ts.map +0 -1
  759. package/lib/typescript/commonjs/ui/components/StatusIndicator.d.ts.map +0 -1
  760. package/lib/typescript/commonjs/ui/components/StorageTypeBadge.d.ts.map +0 -1
  761. package/lib/typescript/commonjs/ui/components/TabSelector.d.ts.map +0 -1
  762. package/lib/typescript/commonjs/ui/components/TimeDisplay.d.ts.map +0 -1
  763. package/lib/typescript/commonjs/ui/components/ToggleRow.d.ts.map +0 -1
  764. package/lib/typescript/commonjs/ui/components/ToolButton.d.ts.map +0 -1
  765. package/lib/typescript/commonjs/ui/components/ToolEmptyState.d.ts.map +0 -1
  766. package/lib/typescript/commonjs/ui/components/ToolFooter.d.ts.map +0 -1
  767. package/lib/typescript/commonjs/ui/components/ValueTypeBadge.d.ts.map +0 -1
  768. package/lib/typescript/commonjs/ui/components/WindowControls.d.ts.map +0 -1
  769. package/lib/typescript/commonjs/ui/components/index.d.ts.map +0 -1
  770. package/lib/typescript/commonjs/ui/components/windowDrag.d.ts.map +0 -1
  771. package/lib/typescript/commonjs/ui/console/CyberpunkButtonOutline.d.ts.map +0 -1
  772. package/lib/typescript/commonjs/ui/console/CyberpunkIconContainer.d.ts.map +0 -1
  773. package/lib/typescript/commonjs/ui/console/CyberpunkSectionButton.d.ts.map +0 -1
  774. package/lib/typescript/commonjs/ui/floating/FloatingTool.d.ts.map +0 -1
  775. package/lib/typescript/commonjs/ui/floating/FloatingTool.web.d.ts.map +0 -1
  776. package/lib/typescript/commonjs/ui/floating/FloatingToolHost.d.ts.map +0 -1
  777. package/lib/typescript/commonjs/ui/floating/FloatingToolHost.web.d.ts.map +0 -1
  778. package/lib/typescript/commonjs/ui/floating/index.d.ts.map +0 -1
  779. package/lib/typescript/commonjs/ui/floating/index.web.d.ts.map +0 -1
  780. package/lib/typescript/commonjs/ui/floating/onboardingConstants.d.ts.map +0 -1
  781. package/lib/typescript/commonjs/ui/floating/onboardingConstants.web.d.ts.map +0 -1
  782. package/lib/typescript/commonjs/ui/fonts.d.ts.map +0 -1
  783. package/lib/typescript/commonjs/ui/gameUI/components/GameUICollapsibleSection.d.ts.map +0 -1
  784. package/lib/typescript/commonjs/ui/gameUI/components/GameUICompactStats.d.ts.map +0 -1
  785. package/lib/typescript/commonjs/ui/gameUI/components/GameUIIssuesList.d.ts.map +0 -1
  786. package/lib/typescript/commonjs/ui/gameUI/components/GameUIStatusHeader.d.ts.map +0 -1
  787. package/lib/typescript/commonjs/ui/gameUI/constants/gameUIColors.d.ts.map +0 -1
  788. package/lib/typescript/commonjs/ui/gameUI/constants/macOSDesignSystemColors.d.ts.map +0 -1
  789. package/lib/typescript/commonjs/ui/gameUI/hooks/useGameUIAlertState.d.ts.map +0 -1
  790. package/lib/typescript/commonjs/ui/gameUI/index.d.ts.map +0 -1
  791. package/lib/typescript/commonjs/ui/index.d.ts.map +0 -1
  792. package/lib/typescript/commonjs/ui/listPresets.d.ts.map +0 -1
  793. package/lib/typescript/commonjs/ui/night/nightTheme.d.ts.map +0 -1
  794. package/lib/typescript/commonjs/ui/night/primitives.d.ts.map +0 -1
  795. package/lib/typescript/commonjs/ui/otto/OttoSceneView.d.ts.map +0 -1
  796. package/lib/typescript/commonjs/ui/otto/OttoSprite.d.ts.map +0 -1
  797. package/lib/typescript/commonjs/ui/otto/index.d.ts.map +0 -1
  798. package/lib/typescript/commonjs/ui/otto/ottoEngine.d.ts.map +0 -1
  799. package/lib/typescript/commonjs/ui/otto/ottoScenes.d.ts.map +0 -1
  800. package/lib/typescript/commonjs/ui/otto/ottoSheet.d.ts.map +0 -1
  801. package/lib/typescript/commonjs/ui/toolTheme.d.ts.map +0 -1
  802. package/lib/typescript/commonjs/utils/absoluteFill.d.ts.map +0 -1
  803. package/lib/typescript/commonjs/utils/browserAsyncStorage.d.ts.map +0 -1
  804. package/lib/typescript/commonjs/utils/browserNavigation.d.ts.map +0 -1
  805. package/lib/typescript/commonjs/utils/devServer.d.ts.map +0 -1
  806. package/lib/typescript/commonjs/utils/devServer.web.d.ts.map +0 -1
  807. package/lib/typescript/commonjs/utils/displayValue.d.ts.map +0 -1
  808. package/lib/typescript/commonjs/utils/domRuntime.d.ts.map +0 -1
  809. package/lib/typescript/commonjs/utils/expoRouterModule.d.ts.map +0 -1
  810. package/lib/typescript/commonjs/utils/expoRouterModule.web.d.ts.map +0 -1
  811. package/lib/typescript/commonjs/utils/formatting/dataFormatting.d.ts.map +0 -1
  812. package/lib/typescript/commonjs/utils/formatting/httpFormatting.d.ts.map +0 -1
  813. package/lib/typescript/commonjs/utils/formatting/index.d.ts.map +0 -1
  814. package/lib/typescript/commonjs/utils/getSafeAreaInsets.d.ts.map +0 -1
  815. package/lib/typescript/commonjs/utils/getSafeAreaInsets.web.d.ts.map +0 -1
  816. package/lib/typescript/commonjs/utils/index.d.ts.map +0 -1
  817. package/lib/typescript/commonjs/utils/loadOptionalModule.d.ts.map +0 -1
  818. package/lib/typescript/commonjs/utils/loadToolModule.d.ts.map +0 -1
  819. package/lib/typescript/commonjs/utils/loadToolModule.web.d.ts.map +0 -1
  820. package/lib/typescript/commonjs/utils/minimalSuperJSON.d.ts.map +0 -1
  821. package/lib/typescript/commonjs/utils/modalStorage.d.ts.map +0 -1
  822. package/lib/typescript/commonjs/utils/nativeWeb.d.ts.map +0 -1
  823. package/lib/typescript/commonjs/utils/persistentStorage.d.ts.map +0 -1
  824. package/lib/typescript/commonjs/utils/persistentStorage.web.d.ts.map +0 -1
  825. package/lib/typescript/commonjs/utils/reloadApp.d.ts.map +0 -1
  826. package/lib/typescript/commonjs/utils/reloadPlatform.d.ts.map +0 -1
  827. package/lib/typescript/commonjs/utils/reloadPlatform.web.d.ts.map +0 -1
  828. package/lib/typescript/commonjs/utils/renderCaptureRegistry.d.ts.map +0 -1
  829. package/lib/typescript/commonjs/utils/safeExpoRouter.d.ts.map +0 -1
  830. package/lib/typescript/commonjs/utils/safeExpoRouter.web.d.ts.map +0 -1
  831. package/lib/typescript/commonjs/utils/safeStringify.d.ts.map +0 -1
  832. package/lib/typescript/commonjs/utils/snapshotProviderKit.d.ts.map +0 -1
  833. package/lib/typescript/commonjs/utils/stateSnapshotRegistry.d.ts.map +0 -1
  834. package/lib/typescript/commonjs/utils/stateTools.d.ts.map +0 -1
  835. package/lib/typescript/commonjs/utils/subscribable.d.ts.map +0 -1
  836. package/lib/typescript/commonjs/utils/subscriberCountNotifier.d.ts.map +0 -1
  837. package/lib/typescript/commonjs/utils/time/RelativeTime.d.ts.map +0 -1
  838. package/lib/typescript/commonjs/utils/time/TickContext.d.ts.map +0 -1
  839. package/lib/typescript/commonjs/utils/time/formatRelativeTime.d.ts.map +0 -1
  840. package/lib/typescript/commonjs/utils/time/index.d.ts.map +0 -1
  841. package/lib/typescript/commonjs/utils/time/useRelativeTime.d.ts.map +0 -1
  842. package/lib/typescript/commonjs/utils/toolModules.d.ts.map +0 -1
  843. package/lib/typescript/commonjs/utils/typeHelpers.d.ts.map +0 -1
  844. package/lib/typescript/commonjs/utils/valueFormatting.d.ts.map +0 -1
  845. package/lib/typescript/module/JsModal.d.ts.map +0 -1
  846. package/lib/typescript/module/JsModal.web.d.ts.map +0 -1
  847. package/lib/typescript/module/clipboard/autoDetectClipboard.d.ts.map +0 -1
  848. package/lib/typescript/module/clipboard/clipboard-impl.d.ts.map +0 -1
  849. package/lib/typescript/module/clipboard/clipboard-impl.web.d.ts.map +0 -1
  850. package/lib/typescript/module/clipboard/copyToClipboard.d.ts.map +0 -1
  851. package/lib/typescript/module/clipboard/index.d.ts.map +0 -1
  852. package/lib/typescript/module/colors/index.d.ts.map +0 -1
  853. package/lib/typescript/module/context/HintsContext.d.ts.map +0 -1
  854. package/lib/typescript/module/context/index.d.ts.map +0 -1
  855. package/lib/typescript/module/dataViewer/CyberpunkInput.d.ts.map +0 -1
  856. package/lib/typescript/module/dataViewer/DataTreeActionBar.d.ts.map +0 -1
  857. package/lib/typescript/module/dataViewer/DataTreeActionDock.d.ts.map +0 -1
  858. package/lib/typescript/module/dataViewer/DataViewer.d.ts.map +0 -1
  859. package/lib/typescript/module/dataViewer/DiffSummary.d.ts.map +0 -1
  860. package/lib/typescript/module/dataViewer/IndentGuides.d.ts.map +0 -1
  861. package/lib/typescript/module/dataViewer/IndentGuidesOverlay.d.ts.map +0 -1
  862. package/lib/typescript/module/dataViewer/JsonStringNotice.d.ts.map +0 -1
  863. package/lib/typescript/module/dataViewer/LiveExplorer.d.ts.map +0 -1
  864. package/lib/typescript/module/dataViewer/SplitDiffViewer.d.ts.map +0 -1
  865. package/lib/typescript/module/dataViewer/ThemedSplitView.d.ts.map +0 -1
  866. package/lib/typescript/module/dataViewer/TimestampDeltaBar.d.ts.map +0 -1
  867. package/lib/typescript/module/dataViewer/TypeLegend.d.ts.map +0 -1
  868. package/lib/typescript/module/dataViewer/ValueEditModal.d.ts.map +0 -1
  869. package/lib/typescript/module/dataViewer/VirtualizedDataExplorer.d.ts.map +0 -1
  870. package/lib/typescript/module/dataViewer/diffThemes.d.ts.map +0 -1
  871. package/lib/typescript/module/dataViewer/index.d.ts.map +0 -1
  872. package/lib/typescript/module/dataViewer/jsonOps.d.ts.map +0 -1
  873. package/lib/typescript/module/dataViewer/jsonStringValue.d.ts.map +0 -1
  874. package/lib/typescript/module/dataViewer/lineDiff.d.ts.map +0 -1
  875. package/lib/typescript/module/dataViewer/nestedPath.d.ts.map +0 -1
  876. package/lib/typescript/module/dataViewer/objectDiff.d.ts.map +0 -1
  877. package/lib/typescript/module/dataViewer/timestampDiff.d.ts.map +0 -1
  878. package/lib/typescript/module/dataViewer/tree/TreeDiffViewer.d.ts.map +0 -1
  879. package/lib/typescript/module/dataViewer/treeActions.d.ts.map +0 -1
  880. package/lib/typescript/module/dataViewer/useTreeDraft.d.ts.map +0 -1
  881. package/lib/typescript/module/dataViewer/useTreeEditor.d.ts.map +0 -1
  882. package/lib/typescript/module/env/EnvironmentIndicator.d.ts.map +0 -1
  883. package/lib/typescript/module/env/EnvironmentIndicator.web.d.ts.map +0 -1
  884. package/lib/typescript/module/env/EnvironmentSelector.d.ts.map +0 -1
  885. package/lib/typescript/module/env/EnvironmentSelectorInline.d.ts.map +0 -1
  886. package/lib/typescript/module/env/EnvironmentSelectorInline.web.d.ts.map +0 -1
  887. package/lib/typescript/module/history/HistoryProvider.d.ts.map +0 -1
  888. package/lib/typescript/module/history/components/HistoryEntryRow.d.ts.map +0 -1
  889. package/lib/typescript/module/history/components/HistoryList.d.ts.map +0 -1
  890. package/lib/typescript/module/history/components/index.d.ts.map +0 -1
  891. package/lib/typescript/module/history/index.d.ts.map +0 -1
  892. package/lib/typescript/module/history/types.d.ts.map +0 -1
  893. package/lib/typescript/module/hooks/index.d.ts.map +0 -1
  894. package/lib/typescript/module/hooks/safe-area-impl.d.ts.map +0 -1
  895. package/lib/typescript/module/hooks/useChangeLog.d.ts.map +0 -1
  896. package/lib/typescript/module/hooks/useDeviceInfo.d.ts.map +0 -1
  897. package/lib/typescript/module/hooks/useEventStoreEvents.d.ts.map +0 -1
  898. package/lib/typescript/module/hooks/useFilterManager.d.ts.map +0 -1
  899. package/lib/typescript/module/hooks/usePersistedState.d.ts.map +0 -1
  900. package/lib/typescript/module/hooks/useSafeAreaInsets.d.ts.map +0 -1
  901. package/lib/typescript/module/hooks/useSafeAreaInsets.web.d.ts.map +0 -1
  902. package/lib/typescript/module/icons/BenchmarkIcon.d.ts.map +0 -1
  903. package/lib/typescript/module/icons/EnvLaptopIcon.d.ts.map +0 -1
  904. package/lib/typescript/module/icons/IconBackground.d.ts.map +0 -1
  905. package/lib/typescript/module/icons/ReactQueryIcon.d.ts.map +0 -1
  906. package/lib/typescript/module/icons/RenderCountIcon.d.ts.map +0 -1
  907. package/lib/typescript/module/icons/RouteMapIcon.d.ts.map +0 -1
  908. package/lib/typescript/module/icons/SentryBugIcon.d.ts.map +0 -1
  909. package/lib/typescript/module/icons/StackPulseIcon.d.ts.map +0 -1
  910. package/lib/typescript/module/icons/StorageStackIcon.d.ts.map +0 -1
  911. package/lib/typescript/module/icons/WifiCircuitIcon.d.ts.map +0 -1
  912. package/lib/typescript/module/icons/index.d.ts.map +0 -1
  913. package/lib/typescript/module/icons/lucide-icons-original-full.d.ts.map +0 -1
  914. package/lib/typescript/module/icons/lucide-icons.d.ts.map +0 -1
  915. package/lib/typescript/module/icons/primitives/GlobeIcon.d.ts.map +0 -1
  916. package/lib/typescript/module/icons/primitives/icon-primitives.d.ts.map +0 -1
  917. package/lib/typescript/module/icons/primitives/index.d.ts.map +0 -1
  918. package/lib/typescript/module/index.d.ts.map +0 -1
  919. package/lib/typescript/module/license/AccountSetup.d.ts.map +0 -1
  920. package/lib/typescript/module/license/AccountSetup.web.d.ts.map +0 -1
  921. package/lib/typescript/module/license/AccountSetupContent.d.ts.map +0 -1
  922. package/lib/typescript/module/license/FeatureGate.d.ts.map +0 -1
  923. package/lib/typescript/module/license/FreeAccountPrompt.d.ts.map +0 -1
  924. package/lib/typescript/module/license/LicenseEntryModal.d.ts.map +0 -1
  925. package/lib/typescript/module/license/accountRuntime.d.ts.map +0 -1
  926. package/lib/typescript/module/license/accountRuntime.web.d.ts.map +0 -1
  927. package/lib/typescript/module/license/index.d.ts.map +0 -1
  928. package/lib/typescript/module/license/licenseModule.d.ts.map +0 -1
  929. package/lib/typescript/module/license/openPricing.d.ts.map +0 -1
  930. package/lib/typescript/module/license/tierLimits.d.ts.map +0 -1
  931. package/lib/typescript/module/logger/index-sentry.d.ts.map +0 -1
  932. package/lib/typescript/module/logger/index.d.ts.map +0 -1
  933. package/lib/typescript/module/logger/logDump.d.ts.map +0 -1
  934. package/lib/typescript/module/logger/types.d.ts.map +0 -1
  935. package/lib/typescript/module/settings/components/BubbleSettingsSection.d.ts.map +0 -1
  936. package/lib/typescript/module/settings/index.d.ts.map +0 -1
  937. package/lib/typescript/module/storage/definePersistedSetting.d.ts.map +0 -1
  938. package/lib/typescript/module/storage/devToolsStorageKeys.d.ts.map +0 -1
  939. package/lib/typescript/module/storage/index.d.ts.map +0 -1
  940. package/lib/typescript/module/stores/BaseEventStore.d.ts.map +0 -1
  941. package/lib/typescript/module/stores/ChangeLog.d.ts.map +0 -1
  942. package/lib/typescript/module/stores/createToolStore.d.ts.map +0 -1
  943. package/lib/typescript/module/stores/floatingToolStore.d.ts.map +0 -1
  944. package/lib/typescript/module/stores/floatingToolStore.test.d.ts.map +0 -1
  945. package/lib/typescript/module/stores/ignoredPatternsCore.d.ts.map +0 -1
  946. package/lib/typescript/module/stores/ignoredPatternsStore.d.ts.map +0 -1
  947. package/lib/typescript/module/stores/ignoredPatternsStore.shared.d.ts.map +0 -1
  948. package/lib/typescript/module/stores/ignoredPatternsStore.web.d.ts.map +0 -1
  949. package/lib/typescript/module/stores/index.d.ts.map +0 -1
  950. package/lib/typescript/module/sync/keyedArrays.d.ts.map +0 -1
  951. package/lib/typescript/module/sync/toolActionRegistry.d.ts.map +0 -1
  952. package/lib/typescript/module/sync/toolAttention.test.d.ts.map +0 -1
  953. package/lib/typescript/module/sync/toolSyncAdapter.d.ts.map +0 -1
  954. package/lib/typescript/module/sync/toolUiBridge.d.ts.map +0 -1
  955. package/lib/typescript/module/sync/typedEdit.d.ts.map +0 -1
  956. package/lib/typescript/module/sync/valuePath.d.ts.map +0 -1
  957. package/lib/typescript/module/sync/valueShape.d.ts.map +0 -1
  958. package/lib/typescript/module/sync/wireBudget.d.ts.map +0 -1
  959. package/lib/typescript/module/sync/wireForm.d.ts.map +0 -1
  960. package/lib/typescript/module/tools/defineTool.d.ts.map +0 -1
  961. package/lib/typescript/module/types/types.d.ts.map +0 -1
  962. package/lib/typescript/module/ui/backgrounds/BackgroundSwitcher.d.ts.map +0 -1
  963. package/lib/typescript/module/ui/backgrounds/ToolBackground.d.ts.map +0 -1
  964. package/lib/typescript/module/ui/backgrounds/backgroundStore.d.ts.map +0 -1
  965. package/lib/typescript/module/ui/backgrounds/index.d.ts.map +0 -1
  966. package/lib/typescript/module/ui/backgrounds/primitives.d.ts.map +0 -1
  967. package/lib/typescript/module/ui/backgrounds/registry.d.ts.map +0 -1
  968. package/lib/typescript/module/ui/backgrounds/rng.d.ts.map +0 -1
  969. package/lib/typescript/module/ui/backgrounds/skyClock.d.ts.map +0 -1
  970. package/lib/typescript/module/ui/backgrounds/types.d.ts.map +0 -1
  971. package/lib/typescript/module/ui/backgrounds/variants/daylight.d.ts.map +0 -1
  972. package/lib/typescript/module/ui/backgrounds/variants/deepField.d.ts.map +0 -1
  973. package/lib/typescript/module/ui/backgrounds/variants/hyperspace.d.ts.map +0 -1
  974. package/lib/typescript/module/ui/backgrounds/variants/liveSky.d.ts.map +0 -1
  975. package/lib/typescript/module/ui/backgrounds/variants/meteors.d.ts.map +0 -1
  976. package/lib/typescript/module/ui/backgrounds/variants/moonlight.d.ts.map +0 -1
  977. package/lib/typescript/module/ui/backgrounds/variants/underwater.d.ts.map +0 -1
  978. package/lib/typescript/module/ui/backgrounds/variants/wormhole/motion.d.ts.map +0 -1
  979. package/lib/typescript/module/ui/backgrounds/variants/wormhole/textures.d.ts.map +0 -1
  980. package/lib/typescript/module/ui/backgrounds/variants/wormhole.d.ts.map +0 -1
  981. package/lib/typescript/module/ui/components/BackButton.d.ts.map +0 -1
  982. package/lib/typescript/module/ui/components/Badge.d.ts.map +0 -1
  983. package/lib/typescript/module/ui/components/ChangeRow.d.ts.map +0 -1
  984. package/lib/typescript/module/ui/components/ChipStrip.d.ts.map +0 -1
  985. package/lib/typescript/module/ui/components/ClipboardHintBanner.d.ts.map +0 -1
  986. package/lib/typescript/module/ui/components/CollapsibleSection.d.ts.map +0 -1
  987. package/lib/typescript/module/ui/components/CompactFilterChips.d.ts.map +0 -1
  988. package/lib/typescript/module/ui/components/CompactRow.d.ts.map +0 -1
  989. package/lib/typescript/module/ui/components/CopyButton.d.ts.map +0 -1
  990. package/lib/typescript/module/ui/components/DataInspector.d.ts.map +0 -1
  991. package/lib/typescript/module/ui/components/DetailView.d.ts.map +0 -1
  992. package/lib/typescript/module/ui/components/DetailViewToggle.d.ts.map +0 -1
  993. package/lib/typescript/module/ui/components/DevToolsCard.d.ts.map +0 -1
  994. package/lib/typescript/module/ui/components/DraggableHeader.d.ts.map +0 -1
  995. package/lib/typescript/module/ui/components/DynamicFilterView.d.ts.map +0 -1
  996. package/lib/typescript/module/ui/components/EmptyState.d.ts.map +0 -1
  997. package/lib/typescript/module/ui/components/EntityFilterView.d.ts.map +0 -1
  998. package/lib/typescript/module/ui/components/EventHistoryViewer/CompareBar.d.ts.map +0 -1
  999. package/lib/typescript/module/ui/components/EventHistoryViewer/DiffModeTabs.d.ts.map +0 -1
  1000. package/lib/typescript/module/ui/components/EventHistoryViewer/EventHistoryViewer.d.ts.map +0 -1
  1001. package/lib/typescript/module/ui/components/EventHistoryViewer/EventPickerModal.d.ts.map +0 -1
  1002. package/lib/typescript/module/ui/components/EventHistoryViewer/ViewToggleCards.d.ts.map +0 -1
  1003. package/lib/typescript/module/ui/components/EventHistoryViewer/index.d.ts.map +0 -1
  1004. package/lib/typescript/module/ui/components/EventHistoryViewer/types.d.ts.map +0 -1
  1005. package/lib/typescript/module/ui/components/EventListItem.d.ts.map +0 -1
  1006. package/lib/typescript/module/ui/components/EventStepperFooter.d.ts.map +0 -1
  1007. package/lib/typescript/module/ui/components/ExpandablePopover.d.ts.map +0 -1
  1008. package/lib/typescript/module/ui/components/ExpandedInfoRow.d.ts.map +0 -1
  1009. package/lib/typescript/module/ui/components/ExportPreview.d.ts.map +0 -1
  1010. package/lib/typescript/module/ui/components/FilterComponents.d.ts.map +0 -1
  1011. package/lib/typescript/module/ui/components/GripVerticalIcon.d.ts.map +0 -1
  1012. package/lib/typescript/module/ui/components/HeaderSearchButton.d.ts.map +0 -1
  1013. package/lib/typescript/module/ui/components/InfoRow.d.ts.map +0 -1
  1014. package/lib/typescript/module/ui/components/ListItem.d.ts.map +0 -1
  1015. package/lib/typescript/module/ui/components/ModalHeader.d.ts.map +0 -1
  1016. package/lib/typescript/module/ui/components/ModalHintBanner.d.ts.map +0 -1
  1017. package/lib/typescript/module/ui/components/Pill.d.ts.map +0 -1
  1018. package/lib/typescript/module/ui/components/PowerToggleButton.d.ts.map +0 -1
  1019. package/lib/typescript/module/ui/components/SearchBar.d.ts.map +0 -1
  1020. package/lib/typescript/module/ui/components/SectionHeader.d.ts.map +0 -1
  1021. package/lib/typescript/module/ui/components/StatsCard.d.ts.map +0 -1
  1022. package/lib/typescript/module/ui/components/StatusIndicator.d.ts.map +0 -1
  1023. package/lib/typescript/module/ui/components/StorageTypeBadge.d.ts.map +0 -1
  1024. package/lib/typescript/module/ui/components/TabSelector.d.ts.map +0 -1
  1025. package/lib/typescript/module/ui/components/TimeDisplay.d.ts.map +0 -1
  1026. package/lib/typescript/module/ui/components/ToggleRow.d.ts.map +0 -1
  1027. package/lib/typescript/module/ui/components/ToolButton.d.ts.map +0 -1
  1028. package/lib/typescript/module/ui/components/ToolEmptyState.d.ts.map +0 -1
  1029. package/lib/typescript/module/ui/components/ToolFooter.d.ts.map +0 -1
  1030. package/lib/typescript/module/ui/components/ValueTypeBadge.d.ts.map +0 -1
  1031. package/lib/typescript/module/ui/components/WindowControls.d.ts.map +0 -1
  1032. package/lib/typescript/module/ui/components/index.d.ts.map +0 -1
  1033. package/lib/typescript/module/ui/components/windowDrag.d.ts.map +0 -1
  1034. package/lib/typescript/module/ui/console/CyberpunkButtonOutline.d.ts.map +0 -1
  1035. package/lib/typescript/module/ui/console/CyberpunkIconContainer.d.ts.map +0 -1
  1036. package/lib/typescript/module/ui/console/CyberpunkSectionButton.d.ts.map +0 -1
  1037. package/lib/typescript/module/ui/floating/FloatingTool.d.ts.map +0 -1
  1038. package/lib/typescript/module/ui/floating/FloatingTool.web.d.ts.map +0 -1
  1039. package/lib/typescript/module/ui/floating/FloatingToolHost.d.ts.map +0 -1
  1040. package/lib/typescript/module/ui/floating/FloatingToolHost.web.d.ts.map +0 -1
  1041. package/lib/typescript/module/ui/floating/index.d.ts.map +0 -1
  1042. package/lib/typescript/module/ui/floating/index.web.d.ts.map +0 -1
  1043. package/lib/typescript/module/ui/floating/onboardingConstants.d.ts.map +0 -1
  1044. package/lib/typescript/module/ui/floating/onboardingConstants.web.d.ts.map +0 -1
  1045. package/lib/typescript/module/ui/fonts.d.ts.map +0 -1
  1046. package/lib/typescript/module/ui/gameUI/components/GameUICollapsibleSection.d.ts.map +0 -1
  1047. package/lib/typescript/module/ui/gameUI/components/GameUICompactStats.d.ts.map +0 -1
  1048. package/lib/typescript/module/ui/gameUI/components/GameUIIssuesList.d.ts.map +0 -1
  1049. package/lib/typescript/module/ui/gameUI/components/GameUIStatusHeader.d.ts.map +0 -1
  1050. package/lib/typescript/module/ui/gameUI/constants/gameUIColors.d.ts.map +0 -1
  1051. package/lib/typescript/module/ui/gameUI/constants/macOSDesignSystemColors.d.ts.map +0 -1
  1052. package/lib/typescript/module/ui/gameUI/hooks/useGameUIAlertState.d.ts.map +0 -1
  1053. package/lib/typescript/module/ui/gameUI/index.d.ts.map +0 -1
  1054. package/lib/typescript/module/ui/index.d.ts.map +0 -1
  1055. package/lib/typescript/module/ui/listPresets.d.ts.map +0 -1
  1056. package/lib/typescript/module/ui/night/nightTheme.d.ts.map +0 -1
  1057. package/lib/typescript/module/ui/night/primitives.d.ts.map +0 -1
  1058. package/lib/typescript/module/ui/otto/OttoSceneView.d.ts.map +0 -1
  1059. package/lib/typescript/module/ui/otto/OttoSprite.d.ts.map +0 -1
  1060. package/lib/typescript/module/ui/otto/index.d.ts.map +0 -1
  1061. package/lib/typescript/module/ui/otto/ottoEngine.d.ts.map +0 -1
  1062. package/lib/typescript/module/ui/otto/ottoScenes.d.ts.map +0 -1
  1063. package/lib/typescript/module/ui/otto/ottoSheet.d.ts.map +0 -1
  1064. package/lib/typescript/module/ui/toolTheme.d.ts.map +0 -1
  1065. package/lib/typescript/module/utils/absoluteFill.d.ts.map +0 -1
  1066. package/lib/typescript/module/utils/browserAsyncStorage.d.ts.map +0 -1
  1067. package/lib/typescript/module/utils/browserNavigation.d.ts.map +0 -1
  1068. package/lib/typescript/module/utils/devServer.d.ts.map +0 -1
  1069. package/lib/typescript/module/utils/devServer.web.d.ts.map +0 -1
  1070. package/lib/typescript/module/utils/displayValue.d.ts.map +0 -1
  1071. package/lib/typescript/module/utils/domRuntime.d.ts.map +0 -1
  1072. package/lib/typescript/module/utils/expoRouterModule.d.ts.map +0 -1
  1073. package/lib/typescript/module/utils/expoRouterModule.web.d.ts.map +0 -1
  1074. package/lib/typescript/module/utils/formatting/dataFormatting.d.ts.map +0 -1
  1075. package/lib/typescript/module/utils/formatting/httpFormatting.d.ts.map +0 -1
  1076. package/lib/typescript/module/utils/formatting/index.d.ts.map +0 -1
  1077. package/lib/typescript/module/utils/getSafeAreaInsets.d.ts.map +0 -1
  1078. package/lib/typescript/module/utils/getSafeAreaInsets.web.d.ts.map +0 -1
  1079. package/lib/typescript/module/utils/index.d.ts.map +0 -1
  1080. package/lib/typescript/module/utils/loadOptionalModule.d.ts.map +0 -1
  1081. package/lib/typescript/module/utils/loadToolModule.d.ts.map +0 -1
  1082. package/lib/typescript/module/utils/loadToolModule.web.d.ts.map +0 -1
  1083. package/lib/typescript/module/utils/minimalSuperJSON.d.ts.map +0 -1
  1084. package/lib/typescript/module/utils/modalStorage.d.ts.map +0 -1
  1085. package/lib/typescript/module/utils/nativeWeb.d.ts.map +0 -1
  1086. package/lib/typescript/module/utils/persistentStorage.d.ts.map +0 -1
  1087. package/lib/typescript/module/utils/persistentStorage.web.d.ts.map +0 -1
  1088. package/lib/typescript/module/utils/reloadApp.d.ts.map +0 -1
  1089. package/lib/typescript/module/utils/reloadPlatform.d.ts.map +0 -1
  1090. package/lib/typescript/module/utils/reloadPlatform.web.d.ts.map +0 -1
  1091. package/lib/typescript/module/utils/renderCaptureRegistry.d.ts.map +0 -1
  1092. package/lib/typescript/module/utils/safeExpoRouter.d.ts.map +0 -1
  1093. package/lib/typescript/module/utils/safeExpoRouter.web.d.ts.map +0 -1
  1094. package/lib/typescript/module/utils/safeStringify.d.ts.map +0 -1
  1095. package/lib/typescript/module/utils/snapshotProviderKit.d.ts.map +0 -1
  1096. package/lib/typescript/module/utils/stateSnapshotRegistry.d.ts.map +0 -1
  1097. package/lib/typescript/module/utils/stateTools.d.ts.map +0 -1
  1098. package/lib/typescript/module/utils/subscribable.d.ts.map +0 -1
  1099. package/lib/typescript/module/utils/subscriberCountNotifier.d.ts.map +0 -1
  1100. package/lib/typescript/module/utils/time/RelativeTime.d.ts.map +0 -1
  1101. package/lib/typescript/module/utils/time/TickContext.d.ts.map +0 -1
  1102. package/lib/typescript/module/utils/time/formatRelativeTime.d.ts.map +0 -1
  1103. package/lib/typescript/module/utils/time/index.d.ts.map +0 -1
  1104. package/lib/typescript/module/utils/time/useRelativeTime.d.ts.map +0 -1
  1105. package/lib/typescript/module/utils/toolModules.d.ts.map +0 -1
  1106. package/lib/typescript/module/utils/typeHelpers.d.ts.map +0 -1
  1107. package/lib/typescript/module/utils/valueFormatting.d.ts.map +0 -1
  1108. package/lib/web/chunks/chunk-2MHKRRQW.mjs +0 -8
  1109. package/lib/web/chunks/chunk-2Q3SDPH2.mjs +0 -14
  1110. package/lib/web/chunks/chunk-34YQ42KI.mjs +0 -2
  1111. package/lib/web/chunks/chunk-3NNNCQYP.mjs +0 -14
  1112. package/lib/web/chunks/chunk-46CXXOQB.mjs +0 -2
  1113. package/lib/web/chunks/chunk-475BSDCB.mjs +0 -2
  1114. package/lib/web/chunks/chunk-552W4COI.mjs +0 -2
  1115. package/lib/web/chunks/chunk-56TTTMX4.mjs +0 -6145
  1116. package/lib/web/chunks/chunk-5LOQZINQ.mjs +0 -14
  1117. package/lib/web/chunks/chunk-5NOIO6ZM.mjs +0 -16
  1118. package/lib/web/chunks/chunk-6CCRCSA2.mjs +0 -2
  1119. package/lib/web/chunks/chunk-6Q52HRBL.mjs +0 -2
  1120. package/lib/web/chunks/chunk-6TEDFSNM.mjs +0 -655
  1121. package/lib/web/chunks/chunk-7BMRSMHN.mjs +0 -2
  1122. package/lib/web/chunks/chunk-A2SOFE47.mjs +0 -24
  1123. package/lib/web/chunks/chunk-A7KJCK4R.mjs +0 -14
  1124. package/lib/web/chunks/chunk-AEXGGXS7.mjs +0 -2
  1125. package/lib/web/chunks/chunk-AGD7ZT6O.mjs +0 -15
  1126. package/lib/web/chunks/chunk-AIEOQWNG.mjs +0 -2
  1127. package/lib/web/chunks/chunk-ASTM35HG.mjs +0 -16
  1128. package/lib/web/chunks/chunk-AZBMFPMX.mjs +0 -1421
  1129. package/lib/web/chunks/chunk-B2V2UDCU.mjs +0 -16
  1130. package/lib/web/chunks/chunk-BFGKGTAC.mjs +0 -2
  1131. package/lib/web/chunks/chunk-BHW6AFO6.mjs +0 -2
  1132. package/lib/web/chunks/chunk-BWRW3NJ2.mjs +0 -16
  1133. package/lib/web/chunks/chunk-CBM2IZAK.mjs +0 -2
  1134. package/lib/web/chunks/chunk-CDLCFF44.mjs +0 -2
  1135. package/lib/web/chunks/chunk-CI5CO7FQ.mjs +0 -2
  1136. package/lib/web/chunks/chunk-CIB4U2YK.mjs +0 -2
  1137. package/lib/web/chunks/chunk-CLLTZQGD.mjs +0 -596
  1138. package/lib/web/chunks/chunk-D5HQLRFW.mjs +0 -655
  1139. package/lib/web/chunks/chunk-DZDTNXXK.mjs +0 -2
  1140. package/lib/web/chunks/chunk-FDOZ6YSS.mjs +0 -2
  1141. package/lib/web/chunks/chunk-FMEWNGQO.mjs +0 -2
  1142. package/lib/web/chunks/chunk-G4DH7GMT.mjs +0 -2
  1143. package/lib/web/chunks/chunk-GBUZCZE4.mjs +0 -2
  1144. package/lib/web/chunks/chunk-GLMS5ZLJ.mjs +0 -445
  1145. package/lib/web/chunks/chunk-GNGMIA7V.mjs +0 -2
  1146. package/lib/web/chunks/chunk-HJ36IONA.mjs +0 -15
  1147. package/lib/web/chunks/chunk-HXPTZMAZ.mjs +0 -2
  1148. package/lib/web/chunks/chunk-I27M4JCS.mjs +0 -2
  1149. package/lib/web/chunks/chunk-IVCT27JB.mjs +0 -2
  1150. package/lib/web/chunks/chunk-JG4QSK5B.mjs +0 -2
  1151. package/lib/web/chunks/chunk-JR7BJW6B.mjs +0 -389
  1152. package/lib/web/chunks/chunk-K46ZJUXJ.mjs +0 -90
  1153. package/lib/web/chunks/chunk-K4LXMO4D.mjs +0 -2
  1154. package/lib/web/chunks/chunk-KBTYK5YE.mjs +0 -662
  1155. package/lib/web/chunks/chunk-KHP6CSSM.mjs +0 -2
  1156. package/lib/web/chunks/chunk-KRDRIW7T.mjs +0 -14
  1157. package/lib/web/chunks/chunk-L2DTKDER.mjs +0 -2
  1158. package/lib/web/chunks/chunk-LFDFDGHY.mjs +0 -655
  1159. package/lib/web/chunks/chunk-MAIUUK4E.mjs +0 -2
  1160. package/lib/web/chunks/chunk-MKJKS3IG.mjs +0 -275
  1161. package/lib/web/chunks/chunk-MRQKVLXG.mjs +0 -2
  1162. package/lib/web/chunks/chunk-NK3OISOL.mjs +0 -14
  1163. package/lib/web/chunks/chunk-NLJDDIXW.mjs +0 -2
  1164. package/lib/web/chunks/chunk-OENR3XFI.mjs +0 -11
  1165. package/lib/web/chunks/chunk-OZB3VKZE.mjs +0 -2
  1166. package/lib/web/chunks/chunk-P64PFJT3.mjs +0 -17618
  1167. package/lib/web/chunks/chunk-PACPGYH7.mjs +0 -2
  1168. package/lib/web/chunks/chunk-PART6HOE.mjs +0 -14
  1169. package/lib/web/chunks/chunk-PMRXUQRH.mjs +0 -2
  1170. package/lib/web/chunks/chunk-PZ45TQ55.mjs +0 -14
  1171. package/lib/web/chunks/chunk-Q5LN7GET.mjs +0 -17624
  1172. package/lib/web/chunks/chunk-QCD6T6L4.mjs +0 -297
  1173. package/lib/web/chunks/chunk-QD5EUANU.mjs +0 -2
  1174. package/lib/web/chunks/chunk-QJTECJCO.mjs +0 -2
  1175. package/lib/web/chunks/chunk-QPIZURPZ.mjs +0 -2
  1176. package/lib/web/chunks/chunk-QPY45R5F.mjs +0 -274
  1177. package/lib/web/chunks/chunk-R2SGZIG5.mjs +0 -2
  1178. package/lib/web/chunks/chunk-S3GYQYVJ.mjs +0 -16
  1179. package/lib/web/chunks/chunk-SCCXVTDM.mjs +0 -2
  1180. package/lib/web/chunks/chunk-SHJHD646.mjs +0 -2
  1181. package/lib/web/chunks/chunk-TCRVZ55E.mjs +0 -2
  1182. package/lib/web/chunks/chunk-TJ6ZVV2L.mjs +0 -15
  1183. package/lib/web/chunks/chunk-TPSY4RC3.mjs +0 -14
  1184. package/lib/web/chunks/chunk-U5KNX5O6.mjs +0 -17624
  1185. package/lib/web/chunks/chunk-UCKELQSM.mjs +0 -2
  1186. package/lib/web/chunks/chunk-UGGCYHRH.mjs +0 -15
  1187. package/lib/web/chunks/chunk-UNYQJZET.mjs +0 -16
  1188. package/lib/web/chunks/chunk-VE72SWLV.mjs +0 -15
  1189. package/lib/web/chunks/chunk-VKONO6MI.mjs +0 -2
  1190. package/lib/web/chunks/chunk-W4BGMPJO.mjs +0 -2
  1191. package/lib/web/chunks/chunk-WHNEEKLR.mjs +0 -2
  1192. package/lib/web/chunks/chunk-WLGUP3KY.mjs +0 -16
  1193. package/lib/web/chunks/chunk-WY7D4WBZ.mjs +0 -2
  1194. package/lib/web/chunks/chunk-XRNB2MHO.mjs +0 -107
  1195. package/lib/web/chunks/chunk-XXTIAXQY.mjs +0 -2
  1196. package/lib/web/chunks/chunk-YG6DIKQD.mjs +0 -2
  1197. package/lib/web/chunks/chunk-YIZFMU66.mjs +0 -2
  1198. package/lib/web/chunks/chunk-YOGAPOGC.mjs +0 -2
  1199. package/lib/web/chunks/chunk-Z7373DS5.mjs +0 -2
  1200. package/lib/web/chunks/chunk-Z76GRN66.mjs +0 -17627
  1201. package/lib/web/chunks/persistentStorage.web-4FBAOYJ4.mjs +0 -12
  1202. package/lib/web/chunks/persistentStorage.web-7W3Y6Q24.mjs +0 -12
  1203. package/lib/web/chunks/persistentStorage.web-GOWNFMVT.mjs +0 -2
  1204. package/lib/web/chunks/persistentStorage.web-RF47FXIK.mjs +0 -12
  1205. package/scripts/generate-wormhole-textures.cjs +0 -261
  1206. package/scripts/test-wormhole-motion.cjs +0 -59
@@ -1,1762 +1 @@
1
- "use strict";
2
-
3
- import { getUseAccountAccess } from "./license/licenseModule.js";
4
- import { AccountSetup } from "./license/AccountSetup";
5
- /**
6
- * JsModal - Ultra-optimized for true 60FPS performance
7
- *
8
- * Achieves 60FPS by following the principles from the dial menu:
9
- * 1. ALWAYS use native driver (useNativeDriver: true)
10
- * 2. Use transforms instead of layout properties (translateY instead of height)
11
- * 3. Use interpolation for all calculations (no JS thread math)
12
- * 4. Minimize PanResponder JS work (direct setValue, no state updates)
13
- *
14
- * Structure follows SRP with each function doing ONE thing only.
15
- */
16
-
17
- import { useState, useRef, useEffect, useMemo, useCallback, memo, isValidElement, cloneElement } from "react";
18
- import { View, StyleSheet, TouchableWithoutFeedback, Dimensions, PanResponder, Animated, ScrollView, Text } from "react-native";
19
- import { absoluteFill } from "./utils/absoluteFill.js";
20
- import { useSafeAreaInsets } from "./hooks/useSafeAreaInsets";
21
- import { gameUIColors, buoyColors } from "./ui/gameUI/index.js";
22
- import { DraggableHeader, ModalHintBanner, WindowControls } from "./ui/components/index.js";
23
- import { ToolBackground } from "./ui/backgrounds/ToolBackground.js";
24
- import { night } from "./ui/night/nightTheme.js";
25
- import { persistentStorage } from "./utils/persistentStorage";
26
- import { ModalStorage } from "./utils/modalStorage.js";
27
- import { devToolsStorageKeys } from "./storage/devToolsStorageKeys.js";
28
- import { useHintsDisabled } from "./context/index.js";
29
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
30
- // ============================================================================
31
- // CONSTANTS - Modal dimensions and configuration
32
- // ============================================================================
33
-
34
- /**
35
- * Tool modals open and close without an entrance animation.
36
- *
37
- * The animated entrance was `parallel([spring(tension:180, friction:22),
38
- * timing(200ms)])`. Two measured problems: the modal mounts at opacity 0 and
39
- * the fade only starts once its content has committed, so a tap left the screen
40
- * unchanged for ~240ms; and the spring's completion did not land until ~1s,
41
- * creeping long after it looked settled. Snapping to the final state made the
42
- * whole devtools UI feel markedly faster.
43
- *
44
- * Setting this to `false` restores the animation for every tool modal — this is
45
- * shared chrome, not settings-specific.
46
- */
47
- const INSTANT_MODAL_ENTRANCE = true;
48
- const SCREEN = Dimensions.get("window");
49
- const MIN_HEIGHT = 100;
50
- const DEFAULT_HEIGHT = 400;
51
- const FLOATING_WIDTH = SCREEN.width; // Full width
52
- const FLOATING_HEIGHT = 500;
53
- const FLOATING_MIN_WIDTH = SCREEN.width * 0.25; // 1/4 of screen width
54
- const FLOATING_MIN_HEIGHT = 80; // Just a bit more than header height (60px header + 20px content)
55
-
56
- /**
57
- * Vertical band the absolutely-positioned window controls occupy at the top
58
- * right of the chrome: `windowControlsContainer` top 4 + the expandable
59
- * trigger's 2pt padding + a 12pt dot + 2 = 20. The drag-indicator strip above
60
- * custom header content reserves exactly this, which is what lets a tool's
61
- * header row below run the FULL width instead of buying its clearance with a
62
- * right inset (that inset read as a hole on the right of every tool's nav).
63
- */
64
- const WINDOW_CONTROLS_BAND = 20;
65
-
66
- // ============================================================================
67
- // TYPE DEFINITIONS - Interface contracts for the modal
68
- // ============================================================================
69
-
70
- /**
71
- * Chrome variant. "night" (the default since the suite-wide theme move) is
72
- * the Everlights-style sheet (see ui/night): near-black `#050505` surfaces at
73
- * radius 16, a hairline accent border, a neutral drag handle instead of the
74
- * teal bar, a transparent header, and the ToolBackground hoisted to the sheet
75
- * root so the star field runs through the header instead of stopping under
76
- * it. "default" is the legacy card-grey chrome, kept as an escape hatch.
77
- */
78
-
79
- /**
80
- * Modal state that can be saved and restored when minimizing/restoring
81
- */
82
-
83
- // ============================================================================
84
- // ICON COMPONENTS - Visual indicators for modal controls
85
- // ============================================================================
86
-
87
- /**
88
- * DragIndicator - Visual feedback for draggable areas
89
- */
90
- const DragIndicator = /*#__PURE__*/memo(function DragIndicator({
91
- isResizing,
92
- mode,
93
- hasCustomContent = false,
94
- variant = "default"
95
- }) {
96
- return /*#__PURE__*/_jsxs(View, {
97
- style: [styles.dragIndicatorContainer, hasCustomContent && styles.dragIndicatorContainerCustom],
98
- children: [/*#__PURE__*/_jsx(View, {
99
- style: [styles.dragIndicator, mode === "floating" && styles.floatingDragIndicator, isResizing && styles.dragIndicatorActive,
100
- // Night: the neutral Everlights sheet handle, no glow, both modes.
101
- variant === "night" && styles.nightDragIndicator]
102
- }), isResizing && mode === "bottomSheet" && /*#__PURE__*/_jsxs(View, {
103
- style: styles.resizeGripContainer,
104
- children: [/*#__PURE__*/_jsx(View, {
105
- style: styles.resizeGripLine
106
- }), /*#__PURE__*/_jsx(View, {
107
- style: styles.resizeGripLine
108
- }), /*#__PURE__*/_jsx(View, {
109
- style: styles.resizeGripLine
110
- })]
111
- })]
112
- });
113
- });
114
-
115
- /**
116
- * CornerHandle - Resize handle for floating mode corners
117
- */
118
- const CornerHandle = /*#__PURE__*/memo(function CornerHandle({
119
- position,
120
- isActive
121
- }) {
122
- return /*#__PURE__*/_jsx(View, {
123
- style: [styles.cornerHandle],
124
- children: /*#__PURE__*/_jsx(View, {
125
- style: [styles.handler, isActive && styles.handlerActive]
126
- })
127
- });
128
- });
129
-
130
- /**
131
- * ModalHeader - Header bar with title, controls, and drag area
132
- */
133
-
134
- const ModalHeader = /*#__PURE__*/memo(function ModalHeader({
135
- header,
136
- onClose,
137
- onToggleMode,
138
- onMinimize,
139
- isResizing,
140
- mode,
141
- panHandlers,
142
- variant = "default"
143
- }) {
144
- const lastTapRef = useRef(0);
145
- const tapCountRef = useRef(0);
146
- const tapTimeoutRef = useRef(null);
147
- const handleHeaderTap = useCallback(() => {
148
- const now = Date.now();
149
- const timeSinceLastTap = now - lastTapRef.current;
150
-
151
- // Reset tap count if more than 500ms since last tap
152
- if (timeSinceLastTap > 500) {
153
- tapCountRef.current = 0;
154
- }
155
- tapCountRef.current++;
156
- lastTapRef.current = now;
157
-
158
- // Clear existing timeout
159
- if (tapTimeoutRef.current) {
160
- clearTimeout(tapTimeoutRef.current);
161
- }
162
-
163
- // Set timeout to process the tap gesture
164
- tapTimeoutRef.current = setTimeout(() => {
165
- if (tapCountRef.current === 2) {
166
- // Double tap - toggle mode
167
- onToggleMode();
168
- } else if (tapCountRef.current >= 3) {
169
- // Triple tap - minimize modal (if available)
170
- if (onMinimize) {
171
- onMinimize();
172
- }
173
- }
174
- tapCountRef.current = 0;
175
- }, 300);
176
- }, [onToggleMode, onMinimize]);
177
-
178
- // Clean up timeout on unmount
179
- useEffect(() => {
180
- return () => {
181
- if (tapTimeoutRef.current) {
182
- clearTimeout(tapTimeoutRef.current);
183
- }
184
- };
185
- }, []);
186
- const headerProps = panHandlers ? panHandlers : {};
187
- // Disable tap handling when no panHandlers (i.e., when using DraggableHeader in floating mode)
188
- const shouldHandleTap = !!panHandlers;
189
-
190
- // If custom content is provided, check if it's a complete replacement
191
- if (header?.customContent) {
192
- // Check if the custom content is a complete header replacement (like CyberpunkModalHeader)
193
- // by checking if it's a React element with specific props
194
- const isCompleteReplacement = /*#__PURE__*/isValidElement(header.customContent) && typeof header.customContent.type === "function" && header.customContent.type.name === "CyberpunkModalHeader";
195
- if (isCompleteReplacement) {
196
- // Clone the element and pass the necessary props
197
- return /*#__PURE__*/cloneElement(header.customContent, {
198
- onToggleMode,
199
- onClose,
200
- mode,
201
- panHandlers: headerProps,
202
- showToggleButton: header?.showToggleButton !== false,
203
- hideCloseButton: header?.hideCloseButton
204
- });
205
- }
206
-
207
- // Otherwise, render custom content within the standard header structure
208
- // Apply pan handlers to the outer View for dragging in floating mode
209
- // If the custom content is a React element, inject onMinimize so it can trigger minimize
210
- let customContentWithMinimize = header.customContent;
211
- if (/*#__PURE__*/isValidElement(header.customContent) && onMinimize) {
212
- customContentWithMinimize = /*#__PURE__*/cloneElement(header.customContent, {
213
- onMinimize
214
- });
215
- }
216
- const headerContent = /*#__PURE__*/_jsxs(View, {
217
- style: styles.headerInner,
218
- children: [/*#__PURE__*/_jsx(DragIndicator, {
219
- isResizing: isResizing,
220
- mode: mode,
221
- hasCustomContent: true,
222
- variant: variant
223
- }), customContentWithMinimize]
224
- });
225
- return /*#__PURE__*/_jsx(View, {
226
- style: [styles.header, variant === "night" && styles.nightHeader],
227
- ...headerProps,
228
- children: shouldHandleTap ? /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
229
- onPress: handleHeaderTap,
230
- children: headerContent
231
- }) : headerContent
232
- });
233
- }
234
- const headerContent = /*#__PURE__*/_jsxs(View, {
235
- style: styles.headerInner,
236
- children: [/*#__PURE__*/_jsx(DragIndicator, {
237
- isResizing: isResizing,
238
- mode: mode,
239
- variant: variant
240
- }), /*#__PURE__*/_jsxs(View, {
241
- style: styles.headerContent,
242
- children: [header?.title && /*#__PURE__*/_jsx(Text, {
243
- style: styles.headerTitle,
244
- children: header.title
245
- }), header?.subtitle && /*#__PURE__*/_jsx(Text, {
246
- style: styles.headerSubtitle,
247
- children: header.subtitle
248
- })]
249
- }), /*#__PURE__*/_jsx(View, {
250
- style: styles.headerHintText,
251
- children: /*#__PURE__*/_jsx(Text, {
252
- style: styles.hintText,
253
- children: "Double tap: Toggle \u2022 Triple tap: Close"
254
- })
255
- })]
256
- });
257
- return /*#__PURE__*/_jsx(View, {
258
- style: [styles.header, mode === "floating" && styles.floatingModeHeader, variant === "night" && styles.nightHeader],
259
- ...headerProps,
260
- children: shouldHandleTap ? /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
261
- onPress: handleHeaderTap,
262
- children: headerContent
263
- }) : headerContent
264
- });
265
- });
266
-
267
- // ============================================================================
268
- // MAIN COMPONENT - Optimized for 60FPS with transforms and interpolation
269
- // ============================================================================
270
- /**
271
- * JsModal - Ultra-optimized modal component for true 60FPS performance
272
- *
273
- * This modal component is designed for maximum performance using native driver
274
- * animations, transforms instead of layout properties, and minimal JavaScript
275
- * thread work. It supports two modes: bottom sheet and floating window.
276
- *
277
- * Key Performance Features:
278
- * - Uses native driver for all animations (useNativeDriver: true)
279
- * - Transform-based positioning instead of layout changes
280
- * - Interpolation for all calculations on the native thread
281
- * - Minimal PanResponder JavaScript work
282
- * - State persistence with AsyncStorage
283
- * - Drag and resize functionality in both modes
284
- *
285
- * @param props - Modal configuration and content
286
- * @returns JSX.Element representing the modal
287
- *
288
- * @example
289
- * ```typescript
290
- * <JsModal
291
- * visible={isVisible}
292
- * onClose={() => setVisible(false)}
293
- * header={{
294
- * title: "Settings",
295
- * subtitle: "Configure your preferences"
296
- * }}
297
- * persistenceKey="settings-modal"
298
- * enablePersistence={true}
299
- * >
300
- * <SettingsContent />
301
- * </JsModal>
302
- * ```
303
- *
304
- * @performance All animations use native driver for 60FPS performance
305
- * @performance Uses transform-based positioning for optimal rendering
306
- * @performance Includes state persistence and restoration capabilities
307
- */
308
- const JsModalComponent = ({
309
- visible,
310
- onClose,
311
- children,
312
- header,
313
- styles: customStyles = {},
314
- minHeight = MIN_HEIGHT,
315
- maxHeight,
316
- initialHeight = DEFAULT_HEIGHT,
317
- animatedHeight: externalAnimatedHeight,
318
- benchMotion,
319
- initialMode = "bottomSheet",
320
- onModeChange,
321
- persistenceKey,
322
- enablePersistence = true,
323
- initialFloatingPosition,
324
- footer,
325
- footerHeight = 0,
326
- onBack,
327
- onMinimize,
328
- minimizeRequest = 0,
329
- minimizeTargetPosition,
330
- initialModalState,
331
- zIndex,
332
- disableScrollWrapper = false,
333
- background = true,
334
- variant = "night"
335
- }) => {
336
- const insets = useSafeAreaInsets();
337
- const [isStateLoaded, setIsStateLoaded] = useState(!enablePersistence);
338
- const [mode, setMode] = useState(initialMode);
339
- const [isResizing, setIsResizing] = useState(false);
340
- const [isDragging, setIsDragging] = useState(false);
341
- const [panelHeight, setPanelHeight] = useState(initialHeight);
342
- const [dimensions, setDimensions] = useState({
343
- width: FLOATING_WIDTH,
344
- height: FLOATING_HEIGHT,
345
- top: (SCREEN.height - FLOATING_HEIGHT) / 2,
346
- left: 0 // Flush with left edge
347
- });
348
- const [containerBounds] = useState({
349
- width: SCREEN.width,
350
- height: SCREEN.height
351
- });
352
- const [showHint, setShowHint] = useState(false);
353
- const [hintLoaded, setHintLoaded] = useState(false);
354
- const hintsDisabled = useHintsDisabled();
355
-
356
- // ============================================================================
357
- // ANIMATED VALUES - All using native driver
358
- // ============================================================================
359
-
360
- // Main visibility progress (0 = hidden, 1 = visible)
361
- const visibilityProgress = useRef(new Animated.Value(0)).current;
362
-
363
- // Bottom sheet specific - using translateY for performance!
364
- const bottomSheetTranslateY = useRef(new Animated.Value(SCREEN.height)).current;
365
- const dragOffset = useRef(new Animated.Value(0)).current;
366
-
367
- // Height tracking for resize - actual position from bottom
368
- const animatedBottomPosition = useRef(new Animated.Value(initialHeight)).current;
369
- const currentHeightRef = useRef(initialHeight);
370
-
371
- // Save state with debounce
372
- useEffect(() => {
373
- if (!enablePersistence || !persistenceKey || !isStateLoaded) return;
374
- const timeoutId = setTimeout(() => {
375
- ModalStorage.save(persistenceKey, {
376
- mode,
377
- panelHeight: currentHeightRef.current,
378
- dimensions,
379
- isVisible: visible
380
- });
381
- }, 500);
382
- return () => clearTimeout(timeoutId);
383
- }, [mode, panelHeight, dimensions, visible, persistenceKey, enablePersistence, isStateLoaded]);
384
-
385
- // Seed the external height ONCE. This used to re-run when `isResizing`
386
- // flipped, which snapped an externally-controlled sheet back to
387
- // initialHeight the moment a drag-resize ended (the release handler had
388
- // just written the real height). The host owns the value after the seed;
389
- // persistence restore above may overwrite the seed, which is correct.
390
- const externalHeightSeeded = useRef(false);
391
- useEffect(() => {
392
- if (externalAnimatedHeight && !externalHeightSeeded.current) {
393
- externalHeightSeeded.current = true;
394
- currentHeightRef.current = initialHeight;
395
- externalAnimatedHeight.setValue(initialHeight);
396
- }
397
- }, [externalAnimatedHeight, initialHeight]);
398
-
399
- // Update refs when dimensions change
400
- useEffect(() => {
401
- currentDimensionsRef.current = dimensions;
402
- }, [dimensions]);
403
-
404
- // Floating mode animations - use initialFloatingPosition if provided
405
- const floatingPosition = useRef(new Animated.ValueXY({
406
- x: initialFloatingPosition?.x ?? 0,
407
- // Flush with left edge
408
- y: initialFloatingPosition?.y ?? (SCREEN.height - FLOATING_HEIGHT) / 2
409
- })).current;
410
- const floatingScale = useRef(new Animated.Value(0)).current;
411
- const animatedWidth = useRef(new Animated.Value(FLOATING_WIDTH)).current;
412
- const animatedFloatingHeight = useRef(new Animated.Value(FLOATING_HEIGHT)).current;
413
-
414
- // Refs for resize handles
415
- const currentDimensionsRef = useRef(dimensions);
416
- const startDimensionsRef = useRef(dimensions);
417
- const offsetX = useRef(0);
418
- const offsetY = useRef(0);
419
- const sHeight = useRef(0);
420
- const sWidth = useRef(0);
421
-
422
- // Load hint acknowledgment status on mount
423
- useEffect(() => {
424
- let mounted = true;
425
- const loadHintStatus = async () => {
426
- try {
427
- const hintKey = devToolsStorageKeys.modal.hintAcknowledged();
428
- const acknowledged = await persistentStorage.getItem(hintKey);
429
- if (mounted) {
430
- // Show hint if not acknowledged yet
431
- setShowHint(acknowledged !== "true");
432
- setHintLoaded(true);
433
- }
434
- } catch (error) {
435
- // Failed to load hint status, default to showing hint
436
- if (mounted) {
437
- setShowHint(true);
438
- setHintLoaded(true);
439
- }
440
- }
441
- };
442
- loadHintStatus();
443
- return () => {
444
- mounted = false;
445
- };
446
- }, []);
447
-
448
- // Handle hint acknowledgment
449
- const handleHintAcknowledge = useCallback(async () => {
450
- try {
451
- const hintKey = devToolsStorageKeys.modal.hintAcknowledged();
452
- await persistentStorage.setItem(hintKey, "true");
453
- setShowHint(false);
454
- } catch (error) {
455
- // Failed to save hint acknowledgment, just hide it locally
456
- setShowHint(false);
457
- }
458
- }, []);
459
-
460
- // Parents routinely pass an inline `onModeChange` (a new identity every
461
- // render). The persisted-state load below is mount/key-scoped — if the
462
- // callback identity re-triggered it, every parent re-render would reload
463
- // the OLD persisted mode and stomp a live toggleMode() before the 500ms
464
- // save debounce could write the new one (mode flipped to floating, then
465
- // snapped back ~50ms later). So the callback rides in a ref instead of
466
- // the dependency list.
467
- const onModeChangeRef = useRef(onModeChange);
468
- onModeChangeRef.current = onModeChange;
469
-
470
- // Load persisted state on mount
471
- useEffect(() => {
472
- if (!enablePersistence || !persistenceKey) {
473
- setIsStateLoaded(true);
474
- return;
475
- }
476
- let mounted = true;
477
- const loadState = async () => {
478
- const savedState = await ModalStorage.load(persistenceKey);
479
- if (mounted && savedState) {
480
- // Restore mode
481
- if (savedState.mode) {
482
- setMode(savedState.mode);
483
- // Notify parent of loaded mode
484
- onModeChangeRef.current?.(savedState.mode);
485
- }
486
-
487
- // Restore bottom sheet height. The external animated height (when a
488
- // host passes one) IS the rendered height, so it must be restored
489
- // too or a persisted sheet always reopens at initialHeight.
490
- if (savedState.panelHeight) {
491
- setPanelHeight(savedState.panelHeight);
492
- currentHeightRef.current = savedState.panelHeight;
493
- animatedBottomPosition.setValue(savedState.panelHeight);
494
- externalAnimatedHeight?.setValue(savedState.panelHeight);
495
- }
496
-
497
- // Restore floating dimensions and position
498
- if (savedState.dimensions) {
499
- setDimensions(savedState.dimensions);
500
- floatingPosition.setValue({
501
- x: savedState.dimensions.left,
502
- y: savedState.dimensions.top
503
- });
504
- animatedWidth.setValue(savedState.dimensions.width);
505
- animatedFloatingHeight.setValue(savedState.dimensions.height);
506
- }
507
- }
508
- if (mounted) setIsStateLoaded(true);
509
- };
510
- loadState();
511
- return () => {
512
- mounted = false;
513
- };
514
- }, [persistenceKey, enablePersistence, animatedBottomPosition, animatedFloatingHeight, animatedWidth, floatingPosition]);
515
-
516
- // Cleanup on unmount
517
- useEffect(() => {
518
- // Mount/Unmount effect
519
- return () => {
520
- // Stop all animations and reset when component unmounts
521
- visibilityProgress.stopAnimation();
522
- bottomSheetTranslateY.stopAnimation();
523
- floatingScale.stopAnimation();
524
- dragOffset.stopAnimation();
525
- animatedBottomPosition.stopAnimation();
526
- floatingPosition.stopAnimation();
527
- animatedWidth.stopAnimation();
528
- animatedFloatingHeight.stopAnimation();
529
-
530
- // Reset to initial values
531
- visibilityProgress.setValue(0);
532
- bottomSheetTranslateY.setValue(SCREEN.height);
533
- floatingScale.setValue(0);
534
- dragOffset.setValue(0);
535
- animatedBottomPosition.setValue(initialHeight);
536
- currentHeightRef.current = initialHeight;
537
- };
538
- }, []);
539
-
540
- // ============================================================================
541
- // INTERPOLATIONS - All math done natively!
542
- // ============================================================================
543
-
544
- // Opacity interpolation for smooth fade
545
- const modalOpacity = visibilityProgress.interpolate({
546
- inputRange: [0, 1],
547
- outputRange: [0, 1],
548
- extrapolate: "clamp"
549
- });
550
-
551
- // ============================================================================
552
- // REFS for values we need to track
553
- // ============================================================================
554
- const effectiveMaxHeight = maxHeight || SCREEN.height - insets.top;
555
-
556
- // Mode toggle handler
557
- /**
558
- * Toggle between bottom sheet and floating modal modes
559
- *
560
- * Clears active dragging and resizing states to prevent visual artifacts
561
- * when switching between modes with different interaction patterns.
562
- */
563
- const toggleMode = useCallback(() => {
564
- // Avoid carrying active styling across modes
565
- setIsDragging(false);
566
- setIsResizing(false);
567
- const newMode = mode === "bottomSheet" ? "floating" : "bottomSheet";
568
- setMode(newMode);
569
- onModeChange?.(newMode);
570
- }, [mode, onModeChange]);
571
-
572
- // Belt-and-suspenders: also clear flags when mode changes
573
- useEffect(() => {
574
- setIsDragging(false);
575
- setIsResizing(false);
576
- }, [mode]);
577
-
578
- // Minimize handler - captures current state and animates out
579
- const handleMinimize = useCallback(() => {
580
- if (!onMinimize) return;
581
-
582
- // Capture current modal state for restoration
583
- const currentState = {
584
- mode,
585
- panelHeight: currentHeightRef.current,
586
- floatingPosition: {
587
- x: currentDimensionsRef.current.left,
588
- y: currentDimensionsRef.current.top
589
- },
590
- floatingDimensions: {
591
- width: currentDimensionsRef.current.width,
592
- height: currentDimensionsRef.current.height
593
- }
594
- };
595
- if (enablePersistence && persistenceKey) void ModalStorage.saveMinimized(persistenceKey, currentState);
596
-
597
- // Animate modal shrinking toward target position
598
- const targetX = minimizeTargetPosition?.x ?? SCREEN.width - 50;
599
- const targetY = minimizeTargetPosition?.y ?? SCREEN.height - 150;
600
-
601
- // Calculate animation based on current mode
602
- if (mode === "bottomSheet") {
603
- // Animate bottom sheet shrinking and moving toward target
604
- Animated.parallel([Animated.timing(visibilityProgress, {
605
- toValue: 0,
606
- duration: 300,
607
- useNativeDriver: true
608
- }), Animated.timing(bottomSheetTranslateY, {
609
- toValue: SCREEN.height,
610
- duration: 300,
611
- useNativeDriver: true
612
- })]).start(() => {
613
- onMinimize(currentState);
614
- });
615
- } else {
616
- // Floating mode - animate scale and position toward icon
617
- Animated.parallel([Animated.timing(floatingScale, {
618
- toValue: 0,
619
- duration: 300,
620
- useNativeDriver: true
621
- }), Animated.timing(visibilityProgress, {
622
- toValue: 0,
623
- duration: 300,
624
- useNativeDriver: true
625
- }), Animated.timing(floatingPosition, {
626
- toValue: {
627
- x: targetX,
628
- y: targetY
629
- },
630
- duration: 300,
631
- useNativeDriver: true
632
- })]).start(() => {
633
- onMinimize(currentState);
634
- });
635
- }
636
- }, [mode, onMinimize, minimizeTargetPosition, enablePersistence, persistenceKey, visibilityProgress, bottomSheetTranslateY, floatingScale, floatingPosition]);
637
- const lastMinimizeRequest = useRef(minimizeRequest);
638
- useEffect(() => {
639
- if (lastMinimizeRequest.current === minimizeRequest) return;
640
- lastMinimizeRequest.current = minimizeRequest;
641
- handleMinimize();
642
- }, [minimizeRequest, handleMinimize]);
643
-
644
- // Apply initial modal state when restoring from minimized
645
- useEffect(() => {
646
- if (!initialModalState) return;
647
-
648
- // Restore mode
649
- if (initialModalState.mode) {
650
- setMode(initialModalState.mode);
651
- onModeChange?.(initialModalState.mode);
652
- }
653
-
654
- // Restore bottom sheet height
655
- if (initialModalState.panelHeight) {
656
- setPanelHeight(initialModalState.panelHeight);
657
- currentHeightRef.current = initialModalState.panelHeight;
658
- animatedBottomPosition.setValue(initialModalState.panelHeight);
659
- }
660
-
661
- // Restore floating dimensions and position
662
- if (initialModalState.floatingDimensions && initialModalState.floatingPosition) {
663
- const newDimensions = {
664
- width: initialModalState.floatingDimensions.width,
665
- height: initialModalState.floatingDimensions.height,
666
- top: initialModalState.floatingPosition.y,
667
- left: initialModalState.floatingPosition.x
668
- };
669
- setDimensions(newDimensions);
670
- floatingPosition.setValue({
671
- x: initialModalState.floatingPosition.x,
672
- y: initialModalState.floatingPosition.y
673
- });
674
- animatedWidth.setValue(initialModalState.floatingDimensions.width);
675
- animatedFloatingHeight.setValue(initialModalState.floatingDimensions.height);
676
- }
677
- }, [initialModalState]);
678
-
679
- // ============================================================================
680
- // EFFECT: Visibility Animations - All using native driver!
681
- // ============================================================================
682
- const snapVisibility = shown => {
683
- if (shown) {
684
- if (mode === "bottomSheet") {
685
- bottomSheetTranslateY.setValue(0);
686
- } else {
687
- floatingScale.setValue(1);
688
- floatingPosition.setValue({
689
- x: currentDimensionsRef.current.left,
690
- y: currentDimensionsRef.current.top
691
- });
692
- }
693
- visibilityProgress.setValue(1);
694
- } else {
695
- if (mode === "bottomSheet") {
696
- bottomSheetTranslateY.setValue(SCREEN.height);
697
- }
698
- visibilityProgress.setValue(0);
699
- }
700
- };
701
-
702
- /**
703
- * Snap DURING RENDER when `visible` flips, not only in the effect below.
704
- *
705
- * These values drive the sheet's opacity/translate through the native
706
- * driver. The React commit for a `visible` change carries whatever the
707
- * JS-side values are at render time — the OLD, hidden ones when the snap
708
- * only happens in the effect — and on Fabric that commit's mount can land
709
- * on the main thread AFTER the effect's native `setValue`, overwriting it.
710
- * The Animated node then says "shown" while the UIView sits at opacity 0,
711
- * until some unrelated re-render commits the JS-side values again. That
712
- * is how "restore tool A: nothing; restore tool B: A appears; hide B: now
713
- * B appears" happened — every restore was one commit behind.
714
- *
715
- * Setting the values before the render's props are computed makes the
716
- * commit and the native node agree, whichever lands last. `setValue` is
717
- * idempotent, so a re-run render is harmless.
718
- */
719
- const snappedVisibleRef = useRef(null);
720
- if (INSTANT_MODAL_ENTRANCE && snappedVisibleRef.current !== visible) {
721
- snappedVisibleRef.current = visible;
722
- snapVisibility(visible);
723
- }
724
- useEffect(() => {
725
- // Visibility effect
726
- let openAnimation = null;
727
- let closeAnimation = null;
728
- if (INSTANT_MODAL_ENTRANCE) {
729
- // Snap to the final state — no animation in either direction. The
730
- // render-phase snap above already did this for a `visible` flip; this
731
- // re-applies it for a `mode` change while shown.
732
- snapVisibility(visible);
733
- return;
734
- }
735
- if (visible) {
736
- // Reset position if needed and then open
737
- bottomSheetTranslateY.setValue(SCREEN.height);
738
- visibilityProgress.setValue(0);
739
-
740
- // Open animations
741
- if (mode === "bottomSheet") {
742
- // Parallel animations for smooth opening
743
- openAnimation = Animated.parallel([
744
- // Slide up from bottom
745
- Animated.spring(bottomSheetTranslateY, {
746
- toValue: 0,
747
- tension: 180,
748
- friction: 22,
749
- useNativeDriver: true
750
- }),
751
- // Fade in backdrop
752
- Animated.timing(visibilityProgress, {
753
- toValue: 1,
754
- duration: 200,
755
- useNativeDriver: true
756
- })]);
757
- openAnimation.start();
758
- } else {
759
- // Floating mode entrance - simple fade without scale pop
760
- floatingScale.setValue(1); // Set scale to 1 directly, no animation
761
- // Minimizing animated the window to the dock icon's corner. Put it
762
- // back where it actually lives, or reopening leaves it parked
763
- // off-screen — `initialModalState` only covers the dock's restore
764
- // path, and the dial opens the same tool without one.
765
- floatingPosition.setValue({
766
- x: currentDimensionsRef.current.left,
767
- y: currentDimensionsRef.current.top
768
- });
769
- openAnimation = Animated.timing(visibilityProgress, {
770
- toValue: 1,
771
- duration: 200,
772
- useNativeDriver: true
773
- });
774
- openAnimation.start();
775
- }
776
- } else {
777
- // Close animations
778
- if (mode === "bottomSheet") {
779
- closeAnimation = Animated.parallel([
780
- // Slide down
781
- Animated.spring(bottomSheetTranslateY, {
782
- toValue: SCREEN.height,
783
- tension: 180,
784
- friction: 22,
785
- useNativeDriver: true
786
- }),
787
- // Fade out backdrop
788
- Animated.timing(visibilityProgress, {
789
- toValue: 0,
790
- duration: 200,
791
- useNativeDriver: true
792
- })]);
793
- closeAnimation.start();
794
- } else {
795
- // Floating mode exit - simple fade without scale
796
- closeAnimation = Animated.timing(visibilityProgress, {
797
- toValue: 0,
798
- duration: 200,
799
- useNativeDriver: true
800
- });
801
- closeAnimation.start();
802
- }
803
- }
804
-
805
- // Cleanup function - only stop animations, don't reset values
806
- return () => {
807
- // Cleanup animations
808
- if (openAnimation) {
809
- openAnimation.stop();
810
- // Stopped open animation
811
- }
812
- if (closeAnimation) {
813
- closeAnimation.stop();
814
- // Stopped close animation
815
- }
816
- };
817
- }, [visible, mode, visibilityProgress, bottomSheetTranslateY, floatingScale, floatingPosition, externalAnimatedHeight]); // Removed initialHeight to prevent animation restarts on height changes
818
-
819
- // ============================================================================
820
- // OPTIMIZED PAN RESPONDER: Bottom Sheet Resize
821
- // Following the documentation pattern for proper resize
822
- // ============================================================================
823
- const headerTouchOffsetRef = useRef(0);
824
-
825
- // DEV-ONLY scripted resize motion (see benchMotion prop). Mirrors
826
- // onPanResponderMove exactly: direct setValue, no per-frame state. Every
827
- // ~2.5s it simulates a grab/release (setIsResizing toggles) so the
828
- // benchmark includes the gesture-boundary re-render cost.
829
- useEffect(() => {
830
- if (!__DEV__ || !benchMotion || !visible) return undefined;
831
- let rafId = null;
832
- let intervalId = null;
833
- let running = true;
834
- const start = Date.now();
835
- let grabbed = false;
836
- const setGrab = on => {
837
- grabbed = on;
838
- if (benchMotion === "resize" || benchMotion === "float-resize") {
839
- setIsResizing(on);
840
- } else if (benchMotion === "float-drag") {
841
- setIsDragging(on);
842
- }
843
- };
844
- if (benchMotion === "mode-cycle") {
845
- intervalId = setInterval(() => toggleMode(), 2200);
846
- } else {
847
- const min = minHeight;
848
- const max = effectiveMaxHeight;
849
- const tick = () => {
850
- if (!running) return;
851
- const t = (Date.now() - start) / 1000;
852
- const phase = t % 2.5; // grab 2s, release 0.5s
853
- if (phase < 2 && !grabbed) setGrab(true);else if (phase >= 2 && grabbed) setGrab(false);
854
- if (grabbed) {
855
- const wave = (Math.sin(t * 2.2) + 1) / 2;
856
- if (benchMotion === "resize") {
857
- const targetHeight = min + wave * (max - min);
858
- animatedBottomPosition.setValue(targetHeight);
859
- currentHeightRef.current = targetHeight;
860
- if (externalAnimatedHeight) {
861
- externalAnimatedHeight.setValue(targetHeight);
862
- }
863
- } else if (benchMotion === "float-drag") {
864
- // Same write DraggableHeader makes per move event.
865
- const wave2 = (Math.sin(t * 1.7) + 1) / 2;
866
- floatingPosition.setValue({
867
- x: 10 + wave * Math.max(SCREEN.width - FLOATING_WIDTH - 20, 0),
868
- y: 70 + wave2 * 260
869
- });
870
- } else if (benchMotion === "float-resize") {
871
- // Same writes as the bottom-right corner resize handler.
872
- const width = FLOATING_WIDTH + wave * Math.max(SCREEN.width - FLOATING_WIDTH - 40, 0);
873
- const height = FLOATING_HEIGHT + wave * 240;
874
- animatedWidth.setValue(width);
875
- animatedFloatingHeight.setValue(height);
876
- currentDimensionsRef.current = {
877
- ...currentDimensionsRef.current,
878
- width,
879
- height
880
- };
881
- }
882
- }
883
- rafId = requestAnimationFrame(tick);
884
- };
885
- rafId = requestAnimationFrame(tick);
886
- }
887
- return () => {
888
- running = false;
889
- if (rafId != null) cancelAnimationFrame(rafId);
890
- if (intervalId != null) clearInterval(intervalId);
891
- setIsResizing(false);
892
- setIsDragging(false);
893
- };
894
- // eslint-disable-next-line react-hooks/exhaustive-deps
895
- }, [benchMotion, visible]);
896
- const bottomSheetPanResponder = useMemo(() => PanResponder.create({
897
- // An external `animatedHeight` used to disable this responder
898
- // outright ("externally controlled"), which left Ask Buoy's sheet —
899
- // the one host that passes one, for its peek animation — with a
900
- // header that could not be dragged in bottom-sheet mode. The move
901
- // and release handlers below already write every height into the
902
- // external value, so the host and the finger share one number; the
903
- // grab just has to stop whatever the host is animating first.
904
- onStartShouldSetPanResponder: () => mode === "bottomSheet",
905
- onMoveShouldSetPanResponder: (evt, gestureState) => mode === "bottomSheet" && Math.abs(gestureState.dy) > 3,
906
- onPanResponderTerminationRequest: () => false,
907
- onPanResponderGrant: evt => {
908
- setIsResizing(true);
909
-
910
- // Where inside the header the finger grabbed
911
- headerTouchOffsetRef.current = evt.nativeEvent.locationY || 0;
912
-
913
- // Stop any in-flight animations so we start from truth
914
- animatedBottomPosition.stopAnimation(val => {
915
- currentHeightRef.current = val;
916
- });
917
- externalAnimatedHeight?.stopAnimation();
918
- bottomSheetTranslateY.stopAnimation();
919
- },
920
- onPanResponderMove: evt => {
921
- // Absolute finger anchoring: sheet top should match finger (minus header offset)
922
- const sheetTop = evt.nativeEvent.pageY - headerTouchOffsetRef.current;
923
- // Height is from bottom of screen to sheetTop
924
- let targetHeight = SCREEN.height - sheetTop;
925
-
926
- // Clamp
927
- targetHeight = Math.max(minHeight, Math.min(targetHeight, effectiveMaxHeight));
928
-
929
- // Push to UI (no React state!)
930
- animatedBottomPosition.setValue(targetHeight);
931
- currentHeightRef.current = targetHeight;
932
- if (externalAnimatedHeight) {
933
- externalAnimatedHeight.setValue(targetHeight);
934
- }
935
- },
936
- onPanResponderRelease: (evt, gestureState) => {
937
- setIsResizing(false);
938
- const finalHeight = currentHeightRef.current;
939
-
940
- // Optional: close with fast downward swipe
941
- const shouldClose = gestureState.vy > 0.8 && gestureState.dy > 50 || gestureState.dy > 150 && finalHeight <= minHeight;
942
- if (shouldClose) {
943
- Animated.parallel([Animated.timing(visibilityProgress, {
944
- toValue: 0,
945
- duration: 200,
946
- useNativeDriver: true
947
- }), Animated.spring(bottomSheetTranslateY, {
948
- toValue: SCREEN.height,
949
- tension: 180,
950
- friction: 22,
951
- useNativeDriver: true
952
- })]).start(() => onClose());
953
- return;
954
- }
955
-
956
- // We're already at the finger-tracked height; avoid re-animating it.
957
- setPanelHeight(finalHeight);
958
- if (externalAnimatedHeight) externalAnimatedHeight.setValue(finalHeight);
959
- },
960
- onPanResponderTerminate: () => {
961
- setIsResizing(false);
962
- // snap back to the last stable height if you want; otherwise no-op
963
- }
964
- }), [mode, minHeight, effectiveMaxHeight, animatedBottomPosition, externalAnimatedHeight, bottomSheetTranslateY, visibilityProgress, onClose]);
965
-
966
- // ============================================================================
967
- // CREATE RESIZE HANDLER: For 4-corner resize in floating mode (fixed geometry)
968
- // ============================================================================
969
- /**
970
- * Create a PanResponder for handling corner-based resizing in floating mode
971
- *
972
- * This function generates resize handlers for each corner that allow users to
973
- * resize the floating modal by dragging from any corner. It includes boundary
974
- * checking and minimum size constraints.
975
- *
976
- * @param corner - Which corner this handler is for
977
- * @returns PanResponder configured for that corner's resize behavior
978
- *
979
- * @performance Uses direct animated value updates for smooth resizing
980
- * @performance Includes safe area boundary checking for all corners
981
- */
982
- const createResizeHandler = useCallback(corner => {
983
- let didResize = false;
984
- return PanResponder.create({
985
- onStartShouldSetPanResponder: () => mode === "floating",
986
- onMoveShouldSetPanResponder: () => mode === "floating",
987
- onPanResponderGrant: () => {
988
- didResize = false;
989
- const currentDims = currentDimensionsRef.current;
990
-
991
- // If any animation is in-flight, stop and capture final XY to keep math consistent
992
- floatingPosition.stopAnimation(({
993
- x,
994
- y
995
- }) => {
996
- floatingPosition.setValue({
997
- x,
998
- y
999
- });
1000
- });
1001
- setIsResizing(true);
1002
- // Snapshot starting rect
1003
- startDimensionsRef.current = {
1004
- ...currentDims
1005
- };
1006
-
1007
- // Keep your existing refs up-to-date (not strictly needed now, but harmless)
1008
- sHeight.current = currentDims.height;
1009
- sWidth.current = currentDims.width;
1010
- offsetX.current = currentDims.left;
1011
- offsetY.current = currentDims.top;
1012
- },
1013
- onPanResponderMove: (_evt, gestureState) => {
1014
- const {
1015
- dx,
1016
- dy
1017
- } = gestureState;
1018
- if (Math.abs(dx) < 0.5 && Math.abs(dy) < 0.5) return;
1019
- didResize = true;
1020
- // Safe-area–aware bounds
1021
- const minLeft = Math.max(0, insets.left || 0);
1022
- const maxRight = containerBounds.width - Math.max(0, insets.right || 0);
1023
- const minTop = Math.max(0, insets.top || 0);
1024
- const maxBottom = containerBounds.height - Math.max(0, insets.bottom || 0);
1025
- const start = startDimensionsRef.current;
1026
- const startRight = start.left + start.width;
1027
- const startBottom = start.top + start.height;
1028
- let left = start.left;
1029
- let top = start.top;
1030
- let right = startRight;
1031
- let bottom = startBottom;
1032
- switch (corner) {
1033
- case "topLeft":
1034
- {
1035
- // Move left & top; anchor right & bottom
1036
- const newLeft = Math.max(minLeft, Math.min(start.left + dx, startRight - FLOATING_MIN_WIDTH));
1037
- const newTop = Math.max(minTop, Math.min(start.top + dy, startBottom - FLOATING_MIN_HEIGHT));
1038
- left = newLeft;
1039
- top = newTop;
1040
- right = startRight;
1041
- bottom = startBottom;
1042
- break;
1043
- }
1044
- case "topRight":
1045
- {
1046
- // Move right & top; anchor left & bottom
1047
- const newRight = Math.min(maxRight, Math.max(startRight + dx, start.left + FLOATING_MIN_WIDTH));
1048
- const newTop = Math.max(minTop, Math.min(start.top + dy, startBottom - FLOATING_MIN_HEIGHT));
1049
- left = start.left;
1050
- top = newTop;
1051
- right = newRight;
1052
- bottom = startBottom;
1053
- break;
1054
- }
1055
- case "bottomLeft":
1056
- {
1057
- // Move left & bottom; anchor right & top
1058
- const newLeft = Math.max(minLeft, Math.min(start.left + dx, startRight - FLOATING_MIN_WIDTH));
1059
- const newBottom = Math.min(maxBottom, Math.max(startBottom + dy, start.top + FLOATING_MIN_HEIGHT));
1060
- left = newLeft;
1061
- top = start.top;
1062
- right = startRight;
1063
- bottom = newBottom;
1064
- break;
1065
- }
1066
- case "bottomRight":
1067
- {
1068
- // Move right & bottom; anchor left & top
1069
- const newRight = Math.min(maxRight, Math.max(startRight + dx, start.left + FLOATING_MIN_WIDTH));
1070
- const newBottom = Math.min(maxBottom, Math.max(startBottom + dy, start.top + FLOATING_MIN_HEIGHT));
1071
- left = start.left;
1072
- top = start.top;
1073
- right = newRight;
1074
- bottom = newBottom;
1075
- break;
1076
- }
1077
- }
1078
-
1079
- // Derive width/height from the edges
1080
- const updatedWidth = Math.max(FLOATING_MIN_WIDTH, right - left);
1081
- const updatedHeight = Math.max(FLOATING_MIN_HEIGHT, bottom - top);
1082
-
1083
- // Push to UI
1084
- setDimensions({
1085
- width: updatedWidth,
1086
- height: updatedHeight,
1087
- left,
1088
- top
1089
- });
1090
-
1091
- // Keep animated values in sync for your transforms
1092
- animatedWidth.setValue(updatedWidth);
1093
- animatedFloatingHeight.setValue(updatedHeight);
1094
- floatingPosition.setValue({
1095
- x: left,
1096
- y: top
1097
- });
1098
-
1099
- // Cache
1100
- currentDimensionsRef.current = {
1101
- width: updatedWidth,
1102
- height: updatedHeight,
1103
- left,
1104
- top
1105
- };
1106
- },
1107
- onPanResponderRelease: () => {
1108
- setIsResizing(false);
1109
- didResize = false;
1110
- // currentDimensionsRef already holds the last values
1111
- setDimensions(currentDimensionsRef.current);
1112
- },
1113
- onPanResponderTerminate: () => {
1114
- setIsResizing(false);
1115
- didResize = false;
1116
- }
1117
- });
1118
- }, [mode, containerBounds, insets.left, insets.right, insets.top, insets.bottom, floatingPosition, animatedWidth, animatedFloatingHeight, onClose, onBack]);
1119
- const resizeHandlers = useMemo(() => {
1120
- return {
1121
- topLeft: createResizeHandler("topLeft"),
1122
- topRight: createResizeHandler("topRight"),
1123
- bottomLeft: createResizeHandler("bottomLeft"),
1124
- bottomRight: createResizeHandler("bottomRight")
1125
- };
1126
- }, [createResizeHandler]);
1127
-
1128
- // ============================================================================
1129
- // Floating Mode Drag Handlers for DraggableHeader
1130
- // ============================================================================
1131
- const handleFloatingDragStart = useCallback(() => {
1132
- setIsDragging(true);
1133
- }, []);
1134
- const handleFloatingDragEnd = useCallback(finalPosition => {
1135
- setIsDragging(false);
1136
-
1137
- // Update dimensions state to match final position
1138
- const currentDims = currentDimensionsRef.current;
1139
- const newDimensions = {
1140
- ...currentDims,
1141
- left: finalPosition.x,
1142
- top: finalPosition.y
1143
- };
1144
- setDimensions(newDimensions);
1145
- }, []);
1146
-
1147
- // Track taps for double/triple tap functionality
1148
- const lastTapRef = useRef(0);
1149
- const tapCountRef = useRef(0);
1150
- const tapTimeoutRef = useRef(null);
1151
- const handleFloatingTap = useCallback(() => {
1152
- const now = Date.now();
1153
- const timeSinceLastTap = now - lastTapRef.current;
1154
-
1155
- // Reset tap count if more than 500ms since last tap
1156
- if (timeSinceLastTap > 500) {
1157
- tapCountRef.current = 0;
1158
- }
1159
- tapCountRef.current++;
1160
- lastTapRef.current = now;
1161
-
1162
- // Clear existing timeout
1163
- if (tapTimeoutRef.current) {
1164
- clearTimeout(tapTimeoutRef.current);
1165
- }
1166
-
1167
- // Set timeout to process the tap gesture
1168
- tapTimeoutRef.current = setTimeout(() => {
1169
- if (tapCountRef.current === 2) {
1170
- // Double tap - toggle mode
1171
- toggleMode();
1172
- } else if (tapCountRef.current >= 3) {
1173
- // Triple tap - minimize modal (if available)
1174
- if (onMinimize) {
1175
- handleMinimize();
1176
- }
1177
- }
1178
- tapCountRef.current = 0;
1179
- }, 300);
1180
- }, [toggleMode, onMinimize, handleMinimize]);
1181
-
1182
- // Clean up timeout on unmount for main component tap handler
1183
- useEffect(() => {
1184
- return () => {
1185
- if (tapTimeoutRef.current) {
1186
- clearTimeout(tapTimeoutRef.current);
1187
- }
1188
- };
1189
- }, []);
1190
-
1191
- // ============================================================================
1192
- // RENDER: Modal UI with transform-based animations
1193
- // ============================================================================
1194
-
1195
- // When not visible the SAME tree is rendered, just parked off-screen. It has
1196
- // to be the same tree: React reconciles by position, so a separate "hidden"
1197
- // branch would unmount and rebuild every child on each minimize AND each
1198
- // restore — which is the whole cost minimizing is supposed to avoid.
1199
-
1200
- // Render floating mode
1201
- if (mode === "floating") {
1202
- return /*#__PURE__*/_jsxs(Animated.View, {
1203
- nativeID: "jsmodal-root",
1204
- pointerEvents: visible ? "auto" : "none",
1205
- accessibilityElementsHidden: !visible,
1206
- importantForAccessibility: visible ? "auto" : "no-hide-descendants",
1207
- style: [styles.floatingModal, {
1208
- width: dimensions.width,
1209
- // Use state dimensions for real-time updates
1210
- height: dimensions.height,
1211
- opacity: modalOpacity,
1212
- transform: [{
1213
- translateX: floatingPosition.x
1214
- }, {
1215
- translateY: floatingPosition.y
1216
- }],
1217
- ...(zIndex !== undefined && {
1218
- zIndex
1219
- })
1220
- }, variant === "night" && styles.nightFloatingModal, (isDragging || isResizing) && styles.floatingModalDragging, customStyles.container, !visible && styles.parkedOffscreen],
1221
- children: [background && variant === "night" ? /*#__PURE__*/_jsx(View, {
1222
- style: styles.nightBackdropFloating,
1223
- pointerEvents: "none",
1224
- children: /*#__PURE__*/_jsx(ToolBackground, {})
1225
- }) : null, /*#__PURE__*/_jsx(DraggableHeader, {
1226
- position: floatingPosition,
1227
- onDragStart: handleFloatingDragStart,
1228
- onDragEnd: handleFloatingDragEnd,
1229
- onTap: handleFloatingTap,
1230
- containerBounds: containerBounds,
1231
- elementSize: dimensions,
1232
- minPosition: {
1233
- x: 0,
1234
- y: insets.top
1235
- },
1236
- style: styles.floatingHeader,
1237
- enabled: mode === "floating" && !isResizing,
1238
- children: /*#__PURE__*/_jsx(ModalHeader, {
1239
- header: header,
1240
- onClose: onClose,
1241
- onToggleMode: toggleMode,
1242
- onMinimize: onMinimize ? handleMinimize : undefined,
1243
- isResizing: isDragging || isResizing,
1244
- mode: mode,
1245
- variant: variant
1246
- })
1247
- }), /*#__PURE__*/_jsx(View, {
1248
- style: styles.windowControlsContainer,
1249
- children: /*#__PURE__*/_jsx(WindowControls, {
1250
- onClose: onClose,
1251
- onMinimize: onMinimize ? handleMinimize : undefined,
1252
- onToggleMode: toggleMode,
1253
- mode: mode,
1254
- variant: variant
1255
- })
1256
- }), /*#__PURE__*/_jsxs(View, {
1257
- style: [styles.content, variant === "night" && styles.nightContent, customStyles.content],
1258
- children: [background && variant !== "night" ? /*#__PURE__*/_jsx(ToolBackground, {}) : null, disableScrollWrapper ?
1259
- /*#__PURE__*/
1260
- // Render children directly when they manage their own scrolling (FlatList, etc.)
1261
- _jsx(View, {
1262
- style: {
1263
- flex: 1,
1264
- paddingBottom: footerHeight
1265
- },
1266
- children: children
1267
- }) :
1268
- /*#__PURE__*/
1269
- // Wrap in ScrollView for content that needs scrolling
1270
- _jsx(ScrollView, {
1271
- style: {
1272
- flex: 1
1273
- },
1274
- contentContainerStyle: {
1275
- flexGrow: 1,
1276
- paddingBottom: footerHeight
1277
- },
1278
- showsVerticalScrollIndicator: true,
1279
- nestedScrollEnabled: true
1280
- // Without this, a tap on a button while the keyboard is up only
1281
- // dismisses the keyboard: typing a URL and tapping Load did nothing.
1282
- ,
1283
- keyboardShouldPersistTaps: "handled",
1284
- children: children
1285
- }), footer ? /*#__PURE__*/_jsx(View, {
1286
- style: footerStyles.footerContainer,
1287
- children: footer
1288
- }) : null]
1289
- }), /*#__PURE__*/_jsx(View, {
1290
- ...resizeHandlers.bottomLeft.panHandlers,
1291
- style: [styles.cornerHandleWrapper, {
1292
- bottom: 4,
1293
- left: 4
1294
- }],
1295
- hitSlop: {
1296
- top: 2,
1297
- left: 2,
1298
- right: 2,
1299
- bottom: 2
1300
- },
1301
- children: /*#__PURE__*/_jsx(CornerHandle, {
1302
- position: "bottomLeft",
1303
- isActive: isDragging || isResizing
1304
- })
1305
- }), /*#__PURE__*/_jsx(View, {
1306
- ...resizeHandlers.bottomRight.panHandlers,
1307
- style: [styles.cornerHandleWrapper, {
1308
- bottom: 4,
1309
- right: 4
1310
- }],
1311
- hitSlop: {
1312
- top: 2,
1313
- left: 2,
1314
- right: 2,
1315
- bottom: 2
1316
- },
1317
- children: /*#__PURE__*/_jsx(CornerHandle, {
1318
- position: "bottomRight",
1319
- isActive: isDragging || isResizing
1320
- })
1321
- })]
1322
- });
1323
- }
1324
-
1325
- // Render bottom sheet mode with proper height animation
1326
- return /*#__PURE__*/_jsx(View, {
1327
- style: [
1328
- // Same box either way — parking it off-screen instead of resizing it
1329
- // keeps the sheet's layout intact, so coming back is a translate and
1330
- // not a full relayout.
1331
- visible ? styles.fullScreenContainer : styles.parkedFullScreen, visible && zIndex !== undefined && {
1332
- zIndex
1333
- }],
1334
- pointerEvents: visible ? "box-none" : "none",
1335
- accessibilityElementsHidden: !visible,
1336
- importantForAccessibility: visible ? "auto" : "no-hide-descendants",
1337
- children: /*#__PURE__*/_jsx(Animated.View, {
1338
- nativeID: "jsmodal-root",
1339
- style: [styles.bottomSheetWrapper, {
1340
- opacity: modalOpacity,
1341
- transform: [{
1342
- translateY: bottomSheetTranslateY
1343
- }]
1344
- }],
1345
- children: /*#__PURE__*/_jsxs(Animated.View, {
1346
- style: [styles.bottomSheet, variant === "night" && styles.nightBottomSheet, customStyles.container, {
1347
- height: externalAnimatedHeight || animatedBottomPosition
1348
- }],
1349
- children: [background && variant === "night" ? /*#__PURE__*/_jsx(View, {
1350
- style: styles.nightBackdropSheet,
1351
- pointerEvents: "none",
1352
- children: /*#__PURE__*/_jsx(ToolBackground, {})
1353
- }) : null, /*#__PURE__*/_jsx(ModalHeader, {
1354
- header: header,
1355
- onClose: onClose,
1356
- onToggleMode: toggleMode,
1357
- onMinimize: onMinimize ? handleMinimize : undefined,
1358
- isResizing: isResizing,
1359
- mode: mode,
1360
- panHandlers: bottomSheetPanResponder.panHandlers,
1361
- variant: variant
1362
- }), /*#__PURE__*/_jsx(View, {
1363
- style: styles.windowControlsContainer,
1364
- children: /*#__PURE__*/_jsx(WindowControls, {
1365
- onClose: onClose,
1366
- onMinimize: onMinimize ? handleMinimize : undefined,
1367
- onToggleMode: toggleMode,
1368
- mode: mode,
1369
- variant: variant
1370
- })
1371
- }), hintLoaded && showHint && mode === "bottomSheet" && !hintsDisabled && /*#__PURE__*/_jsx(ModalHintBanner, {
1372
- onAcknowledge: handleHintAcknowledge
1373
- }), /*#__PURE__*/_jsxs(View, {
1374
- style: [styles.content, variant === "night" && styles.nightContent, customStyles.content],
1375
- children: [background && variant !== "night" ? /*#__PURE__*/_jsx(ToolBackground, {}) : null, disableScrollWrapper ?
1376
- /*#__PURE__*/
1377
- // Render children directly when they manage their own scrolling (FlatList, etc.)
1378
- _jsx(View, {
1379
- style: {
1380
- flex: 1,
1381
- paddingBottom: footerHeight
1382
- },
1383
- children: children
1384
- }) :
1385
- /*#__PURE__*/
1386
- // Wrap in ScrollView for content that needs scrolling
1387
- _jsx(ScrollView, {
1388
- style: {
1389
- flex: 1
1390
- },
1391
- contentContainerStyle: {
1392
- flexGrow: 1,
1393
- paddingBottom: footerHeight
1394
- },
1395
- showsVerticalScrollIndicator: true,
1396
- nestedScrollEnabled: true,
1397
- keyboardShouldPersistTaps: "handled",
1398
- children: children
1399
- }), footer ? /*#__PURE__*/_jsx(View, {
1400
- style: footerStyles.footerContainer,
1401
- children: footer
1402
- }) : null]
1403
- })]
1404
- })
1405
- })
1406
- });
1407
- };
1408
-
1409
- // ============================================================================
1410
- // STYLES - Visual styling for all modal components
1411
- // ============================================================================
1412
- const styles = StyleSheet.create({
1413
- fullScreenContainer: {
1414
- ...absoluteFill,
1415
- zIndex: 1000
1416
- },
1417
- bottomSheetWrapper: {
1418
- position: "absolute",
1419
- bottom: 0,
1420
- left: 0,
1421
- right: 0
1422
- },
1423
- bottomSheet: {
1424
- backgroundColor: buoyColors.card,
1425
- // Buoy card
1426
- borderTopLeftRadius: 6,
1427
- borderTopRightRadius: 6,
1428
- borderWidth: 1,
1429
- borderColor: buoyColors.border,
1430
- shadowColor: buoyColors.primary,
1431
- shadowOffset: {
1432
- width: 0,
1433
- height: -4
1434
- },
1435
- shadowOpacity: 0.2,
1436
- shadowRadius: 12,
1437
- elevation: 20
1438
- },
1439
- /** Off-screen park for a minimized floating modal — same box, moved away. */
1440
- parkedOffscreen: {
1441
- left: -9999,
1442
- top: -9999,
1443
- opacity: 0
1444
- },
1445
- /**
1446
- * Off-screen park for a minimized bottom sheet. Screen-sized on purpose:
1447
- * `fullScreenContainer` is an absolute fill, and shrinking it here would
1448
- * relayout the whole sheet on every minimize/restore.
1449
- */
1450
- parkedFullScreen: {
1451
- position: "absolute",
1452
- left: -9999,
1453
- top: -9999,
1454
- width: SCREEN.width,
1455
- height: SCREEN.height,
1456
- opacity: 0
1457
- },
1458
- floatingModal: {
1459
- position: "absolute",
1460
- backgroundColor: buoyColors.card,
1461
- borderRadius: 6,
1462
- borderWidth: 1,
1463
- borderColor: buoyColors.border,
1464
- shadowColor: buoyColors.primary,
1465
- shadowOffset: {
1466
- width: 0,
1467
- height: 0
1468
- },
1469
- shadowOpacity: 0.3,
1470
- shadowRadius: 20,
1471
- elevation: 24,
1472
- zIndex: 1000,
1473
- // Default dimensions, will be overridden by animated values
1474
- width: FLOATING_WIDTH,
1475
- height: FLOATING_HEIGHT
1476
- },
1477
- floatingModalDragging: {
1478
- borderColor: buoyColors.primary,
1479
- borderWidth: 2,
1480
- shadowColor: buoyColors.primary + "99",
1481
- shadowOpacity: 0.8,
1482
- shadowRadius: 12
1483
- },
1484
- header: {
1485
- borderTopLeftRadius: 6,
1486
- borderTopRightRadius: 6,
1487
- backgroundColor: buoyColors.card,
1488
- // Buoy card color
1489
- minHeight: 56,
1490
- borderWidth: 1,
1491
- borderColor: buoyColors.border,
1492
- // Buoy border
1493
- borderBottomWidth: 1,
1494
- borderBottomColor: buoyColors.border
1495
- },
1496
- // ── Night variant (Everlights sheet — see ui/night/nightTheme.ts) ────────
1497
- // NO `overflow: "hidden"` on the sheets: Fabric clips children to the
1498
- // square rect, so the star-field layer's corner painted OVER the rounded
1499
- // corner (it read as chopped off) — and iOS suppresses a layer's own shadow
1500
- // when it clips. The backdrop clips itself instead (nightBackdrop* below).
1501
- nightBottomSheet: {
1502
- backgroundColor: night.color.bg,
1503
- borderTopLeftRadius: night.radius.sheet,
1504
- borderTopRightRadius: night.radius.sheet,
1505
- borderWidth: StyleSheet.hairlineWidth,
1506
- borderColor: night.color.accent + "55",
1507
- shadowColor: night.color.accent,
1508
- shadowOffset: {
1509
- width: 0,
1510
- height: -4
1511
- },
1512
- shadowOpacity: 0.22,
1513
- shadowRadius: 10
1514
- },
1515
- nightFloatingModal: {
1516
- backgroundColor: night.color.bg,
1517
- borderRadius: night.radius.sheet,
1518
- borderWidth: StyleSheet.hairlineWidth,
1519
- borderColor: night.color.accent + "55",
1520
- shadowColor: night.color.accent,
1521
- shadowOffset: {
1522
- width: 0,
1523
- height: 0
1524
- },
1525
- shadowOpacity: 0.22,
1526
- shadowRadius: 14
1527
- },
1528
- /** The header is glass — the sheet-level star field runs through it. */
1529
- nightHeader: {
1530
- backgroundColor: "transparent",
1531
- borderWidth: 0,
1532
- borderBottomWidth: 0,
1533
- borderTopLeftRadius: night.radius.sheet,
1534
- borderTopRightRadius: night.radius.sheet
1535
- },
1536
- nightContent: {
1537
- backgroundColor: "transparent"
1538
- },
1539
- /**
1540
- * The hoisted star field clips ITSELF to the sheet's corners (matching
1541
- * radii + overflow hidden) — see the note on the sheet styles above. It
1542
- * also keeps scenes that animate outside their own bounds (Hyperspace's
1543
- * scaled shells) from bleeding past the window.
1544
- */
1545
- nightBackdropSheet: {
1546
- ...absoluteFill,
1547
- borderTopLeftRadius: night.radius.sheet,
1548
- borderTopRightRadius: night.radius.sheet,
1549
- overflow: "hidden"
1550
- },
1551
- nightBackdropFloating: {
1552
- ...absoluteFill,
1553
- borderRadius: night.radius.sheet,
1554
- overflow: "hidden"
1555
- },
1556
- /** Neutral Everlights handle instead of the glowing teal bar. */
1557
- nightDragIndicator: {
1558
- width: 36,
1559
- height: 5,
1560
- borderRadius: 2.5,
1561
- backgroundColor: night.color.placeholder,
1562
- shadowOpacity: 0,
1563
- elevation: 0
1564
- },
1565
- floatingHeader: {
1566
- borderTopLeftRadius: 6,
1567
- borderTopRightRadius: 6
1568
- },
1569
- windowControlsContainer: {
1570
- position: "absolute",
1571
- top: 4,
1572
- right: 4,
1573
- zIndex: 10
1574
- },
1575
- floatingModeHeader: {
1576
- borderTopLeftRadius: 6,
1577
- borderTopRightRadius: 6
1578
- },
1579
- headerInner: {
1580
- flex: 1,
1581
- justifyContent: "center"
1582
- },
1583
- dragIndicatorContainer: {
1584
- alignItems: "center",
1585
- paddingVertical: 8,
1586
- backgroundColor: "transparent"
1587
- },
1588
- /**
1589
- * With custom header content the pill shares the top band with the window
1590
- * controls, so the strip claims that band (and centres the pill in it)
1591
- * rather than the header row below paying for the clearance sideways.
1592
- */
1593
- dragIndicatorContainerCustom: {
1594
- minHeight: WINDOW_CONTROLS_BAND,
1595
- justifyContent: "center",
1596
- paddingVertical: 0,
1597
- backgroundColor: "transparent"
1598
- },
1599
- dragIndicator: {
1600
- width: 40,
1601
- height: 3,
1602
- backgroundColor: buoyColors.primary,
1603
- // Buoy primary teal
1604
- borderRadius: 2,
1605
- shadowColor: buoyColors.primary,
1606
- shadowOffset: {
1607
- width: 0,
1608
- height: 0
1609
- },
1610
- shadowOpacity: 0.6,
1611
- shadowRadius: 4
1612
- },
1613
- floatingDragIndicator: {
1614
- width: 50,
1615
- height: 5,
1616
- backgroundColor: buoyColors.textMuted
1617
- },
1618
- dragIndicatorActive: {
1619
- backgroundColor: buoyColors.primary,
1620
- width: 40
1621
- },
1622
- resizeGripContainer: {
1623
- position: "absolute",
1624
- flexDirection: "row",
1625
- gap: 2,
1626
- marginTop: 12
1627
- },
1628
- resizeGripLine: {
1629
- width: 12,
1630
- height: 1,
1631
- backgroundColor: gameUIColors.success,
1632
- opacity: 0.6
1633
- },
1634
- headerContent: {
1635
- paddingHorizontal: 16,
1636
- alignItems: "center"
1637
- },
1638
- headerControls: {
1639
- position: "absolute",
1640
- top: 8,
1641
- right: 16,
1642
- flexDirection: "row",
1643
- alignItems: "center"
1644
- },
1645
- headerTitle: {
1646
- fontSize: 16,
1647
- fontWeight: "600",
1648
- color: gameUIColors.primary
1649
- },
1650
- headerSubtitle: {
1651
- fontSize: 12,
1652
- color: gameUIColors.secondary,
1653
- paddingTop: 4
1654
- },
1655
- headerHintText: {
1656
- position: "absolute",
1657
- top: 0,
1658
- left: 0,
1659
- right: 0,
1660
- bottom: 0,
1661
- justifyContent: "center",
1662
- alignItems: "center"
1663
- },
1664
- hintText: {
1665
- fontSize: 10,
1666
- color: gameUIColors.muted,
1667
- fontStyle: "italic"
1668
- },
1669
- controlButton: {
1670
- width: 28,
1671
- height: 28,
1672
- borderRadius: 6,
1673
- justifyContent: "center",
1674
- alignItems: "center",
1675
- marginLeft: 8
1676
- },
1677
- toggleButton: {
1678
- backgroundColor: gameUIColors.info + "1A",
1679
- borderWidth: 1,
1680
- borderColor: gameUIColors.info + "33"
1681
- },
1682
- closeButton: {
1683
- width: 28,
1684
- height: 28,
1685
- borderRadius: 6,
1686
- justifyContent: "center",
1687
- alignItems: "center",
1688
- backgroundColor: gameUIColors.error + "1A",
1689
- borderWidth: 1,
1690
- borderColor: gameUIColors.error + "33",
1691
- marginLeft: 8
1692
- },
1693
- iconLine: {
1694
- position: "absolute",
1695
- top: 7.25,
1696
- left: 2,
1697
- width: 12,
1698
- height: 1.5,
1699
- backgroundColor: gameUIColors.error
1700
- },
1701
- content: {
1702
- flex: 1,
1703
- backgroundColor: buoyColors.base,
1704
- borderBottomLeftRadius: 16,
1705
- borderBottomRightRadius: 16,
1706
- overflow: "hidden"
1707
- },
1708
- cornerHandle: {
1709
- position: "absolute",
1710
- zIndex: 1
1711
- },
1712
- cornerHandleWrapper: {
1713
- position: "absolute",
1714
- width: 30,
1715
- height: 30,
1716
- zIndex: 1000
1717
- },
1718
- handler: {
1719
- width: 20,
1720
- height: 20,
1721
- backgroundColor: "transparent",
1722
- borderRadius: 10,
1723
- borderWidth: 0,
1724
- borderColor: "transparent"
1725
- },
1726
- handlerActive: {
1727
- backgroundColor: gameUIColors.success + "1A",
1728
- borderColor: gameUIColors.success,
1729
- borderWidth: 2,
1730
- shadowColor: gameUIColors.success + "99",
1731
- shadowOffset: {
1732
- width: 0,
1733
- height: 0
1734
- },
1735
- shadowOpacity: 1,
1736
- shadowRadius: 8
1737
- }
1738
- });
1739
-
1740
- // Footer container styles (absolute within modal content area)
1741
- const footerStyles = StyleSheet.create({
1742
- footerContainer: {
1743
- position: "absolute",
1744
- left: 0,
1745
- right: 0,
1746
- bottom: 0,
1747
- backgroundColor: buoyColors.base,
1748
- borderBottomLeftRadius: 16,
1749
- borderBottomRightRadius: 16
1750
- }
1751
- });
1752
-
1753
- // ============================================================================
1754
- // EXPORT - Memoized modal component for optimal performance
1755
- // ============================================================================
1756
- export const JsModal = /*#__PURE__*/memo(props => {
1757
- const access = getUseAccountAccess()();
1758
- if (access.status !== "admitted") return props.visible ? /*#__PURE__*/_jsx(AccountSetup, {}) : null;
1759
- return /*#__PURE__*/_jsx(JsModalComponent, {
1760
- ...props
1761
- });
1762
- });
1
+ "use strict";import{getUseAccountAccess as ke}from"./license/licenseModule.js";import{AccountSetup as Le}from"./license/AccountSetup";import{useState as j,useRef as d,useEffect as V,useMemo as ne,useCallback as Q,memo as kt,isValidElement as re,cloneElement as ie}from"react";import{View as s,StyleSheet as Lt,TouchableWithoutFeedback as ae,Dimensions as Be,PanResponder as se,Animated as i,ScrollView as le,Text as Ft}from"react-native";import{absoluteFill as Pt}from"./utils/absoluteFill.js";import{useSafeAreaInsets as Ae}from"./hooks/useSafeAreaInsets";import{gameUIColors as L,buoyColors as m}from"./ui/gameUI/index.js";import{DraggableHeader as We,ModalHintBanner as Me,WindowControls as de}from"./ui/components/index.js";import{ToolBackground as Bt}from"./ui/backgrounds/ToolBackground.js";import{night as C}from"./ui/night/nightTheme.js";import{persistentStorage as ce}from"./utils/persistentStorage";import{ModalStorage as Gt}from"./utils/modalStorage.js";import{devToolsStorageKeys as ue}from"./storage/devToolsStorageKeys.js";import{useHintsDisabled as Ne}from"./context/index.js";import{jsx as o,jsxs as Y}from"react/jsx-runtime";const he=true;const h=Be.get("window");const Oe=100;const Ee=400;const ut=h.width;const ht=500;const Rt=h.width*.25;const Tt=80;const Fe=20;const fe=kt(function c({isResizing:a,mode:B,hasCustomContent:X=false,variant:D="default"}){return Y(s,{style:[e.dragIndicatorContainer,X&&e.dragIndicatorContainerCustom],children:[o(s,{style:[e.dragIndicator,B==="floating"&&e.floatingDragIndicator,a&&e.dragIndicatorActive,D==="night"&&e.nightDragIndicator]}),a&&B==="bottomSheet"&&Y(s,{style:e.resizeGripContainer,children:[o(s,{style:e.resizeGripLine}),o(s,{style:e.resizeGripLine}),o(s,{style:e.resizeGripLine})]})]})});const ge=kt(function c({position:a,isActive:B}){return o(s,{style:[e.cornerHandle],children:o(s,{style:[e.handler,B&&e.handlerActive]})})});const pe=kt(function c({header:a,onClose:B,onToggleMode:X,onMinimize:D,isResizing:Z,mode:at,panHandlers:I,variant:f="default"}){const S=d(0);const $=d(0);const A=d(null);const x=Q(()=>{const P=Date.now();const st=P-S.current;if(st>500){$.current=0}$.current++;S.current=P;if(A.current){clearTimeout(A.current)}A.current=setTimeout(()=>{if($.current===2){X()}else if($.current>=3){if(D){D()}}$.current=0},300)},[X,D]);V(()=>{return()=>{if(A.current){clearTimeout(A.current)}}},[]);const W=I?I:{};const ft=!!I;if(a?.customContent){const P=re(a.customContent)&&typeof a.customContent.type==="function"&&a.customContent.type.name==="CyberpunkModalHeader";if(P){return ie(a.customContent,{onToggleMode:X,onClose:B,mode:at,panHandlers:W,showToggleButton:a?.showToggleButton!==false,hideCloseButton:a?.hideCloseButton})}let st=a.customContent;if(re(a.customContent)&&D){st=ie(a.customContent,{onMinimize:D})}const T=Y(s,{style:e.headerInner,children:[o(fe,{isResizing:Z,mode:at,hasCustomContent:true,variant:f}),st]});return o(s,{style:[e.header,f==="night"&&e.nightHeader],...W,children:ft?o(ae,{onPress:x,children:T}):T})}const K=Y(s,{style:e.headerInner,children:[o(fe,{isResizing:Z,mode:at,variant:f}),Y(s,{style:e.headerContent,children:[a?.title&&o(Ft,{style:e.headerTitle,children:a.title}),a?.subtitle&&o(Ft,{style:e.headerSubtitle,children:a.subtitle})]}),o(s,{style:e.headerHintText,children:o(Ft,{style:e.hintText,children:"Double tap: Toggle \u2022 Triple tap: Close"})})]});return o(s,{style:[e.header,at==="floating"&&e.floatingModeHeader,f==="night"&&e.nightHeader],...W,children:ft?o(ae,{onPress:x,children:K}):K})});const Pe=({visible:c,onClose:a,children:B,header:X,styles:D={},minHeight:Z=Oe,maxHeight:at,initialHeight:I=Ee,animatedHeight:f,benchMotion:S,initialMode:$="bottomSheet",onModeChange:A,persistenceKey:x,enablePersistence:W=true,initialFloatingPosition:ft,footer:K,footerHeight:P=0,onBack:st,onMinimize:T,minimizeRequest:Vt=0,minimizeTargetPosition:At,initialModalState:g,zIndex:Dt,disableScrollWrapper:_t=false,background:It=true,variant:H="night"})=>{const N=Ae();const[zt,jt]=j(!W);const[l,Wt]=j($);const[lt,O]=j(false);const[St,dt]=j(false);const[we,Mt]=j(I);const[G,gt]=j({width:ut,height:ht,top:(h.height-ht)/2,left:0});const[xt]=j({width:h.width,height:h.height});const[be,Ht]=j(false);const[ye,Yt]=j(false);const Ce=Ne();const w=d(new i.Value(0)).current;const R=d(new i.Value(h.height)).current;const Xt=d(new i.Value(0)).current;const E=d(new i.Value(I)).current;const F=d(I);V(()=>{if(!W||!x||!zt)return;const t=setTimeout(()=>{Gt.save(x,{mode:l,panelHeight:F.current,dimensions:G,isVisible:c})},500);return()=>clearTimeout(t)},[l,we,G,c,x,W,zt]);const Ut=d(false);V(()=>{if(f&&!Ut.current){Ut.current=true;F.current=I;f.setValue(I)}},[f,I]);V(()=>{y.current=G},[G]);const p=d(new i.ValueXY({x:ft?.x??0,y:ft?.y??(h.height-ht)/2})).current;const tt=d(new i.Value(0)).current;const et=d(new i.Value(ut)).current;const ot=d(new i.Value(ht)).current;const y=d(G);const Jt=d(G);const Re=d(0);const Te=d(0);const Ve=d(0);const De=d(0);V(()=>{let t=true;const r=async()=>{try{const n=ue.modal.hintAcknowledged();const _=await ce.getItem(n);if(t){Ht(_!=="true");Yt(true)}}catch(n){if(t){Ht(true);Yt(true)}}};r();return()=>{t=false}},[]);const Ie=Q(async()=>{try{const t=ue.modal.hintAcknowledged();await ce.setItem(t,"true");Ht(false)}catch(t){Ht(false)}},[]);const qt=d(A);qt.current=A;V(()=>{if(!W||!x){jt(true);return}let t=true;const r=async()=>{const n=await Gt.load(x);if(t&&n){if(n.mode){Wt(n.mode);qt.current?.(n.mode)}if(n.panelHeight){Mt(n.panelHeight);F.current=n.panelHeight;E.setValue(n.panelHeight);f?.setValue(n.panelHeight)}if(n.dimensions){gt(n.dimensions);p.setValue({x:n.dimensions.left,y:n.dimensions.top});et.setValue(n.dimensions.width);ot.setValue(n.dimensions.height)}}if(t)jt(true)};r();return()=>{t=false}},[x,W,E,ot,et,p]);V(()=>{return()=>{w.stopAnimation();R.stopAnimation();tt.stopAnimation();Xt.stopAnimation();E.stopAnimation();p.stopAnimation();et.stopAnimation();ot.stopAnimation();w.setValue(0);R.setValue(h.height);tt.setValue(0);Xt.setValue(0);E.setValue(I);F.current=I}},[]);const Qt=w.interpolate({inputRange:[0,1],outputRange:[0,1],extrapolate:"clamp"});const Nt=at||h.height-N.top;const nt=Q(()=>{dt(false);O(false);const t=l==="bottomSheet"?"floating":"bottomSheet";Wt(t);A?.(t)},[l,A]);V(()=>{dt(false);O(false)},[l]);const U=Q(()=>{if(!T)return;const t={mode:l,panelHeight:F.current,floatingPosition:{x:y.current.left,y:y.current.top},floatingDimensions:{width:y.current.width,height:y.current.height}};if(W&&x)void Gt.saveMinimized(x,t);const r=At?.x??h.width-50;const n=At?.y??h.height-150;if(l==="bottomSheet"){i.parallel([i.timing(w,{toValue:0,duration:300,useNativeDriver:true}),i.timing(R,{toValue:h.height,duration:300,useNativeDriver:true})]).start(()=>{T(t)})}else{i.parallel([i.timing(tt,{toValue:0,duration:300,useNativeDriver:true}),i.timing(w,{toValue:0,duration:300,useNativeDriver:true}),i.timing(p,{toValue:{x:r,y:n},duration:300,useNativeDriver:true})]).start(()=>{T(t)})}},[l,T,At,W,x,w,R,tt,p]);const Zt=d(Vt);V(()=>{if(Zt.current===Vt)return;Zt.current=Vt;U()},[Vt,U]);V(()=>{if(!g)return;if(g.mode){Wt(g.mode);A?.(g.mode)}if(g.panelHeight){Mt(g.panelHeight);F.current=g.panelHeight;E.setValue(g.panelHeight)}if(g.floatingDimensions&&g.floatingPosition){const t={width:g.floatingDimensions.width,height:g.floatingDimensions.height,top:g.floatingPosition.y,left:g.floatingPosition.x};gt(t);p.setValue({x:g.floatingPosition.x,y:g.floatingPosition.y});et.setValue(g.floatingDimensions.width);ot.setValue(g.floatingDimensions.height)}},[g]);const $t=t=>{if(t){if(l==="bottomSheet"){R.setValue(0)}else{tt.setValue(1);p.setValue({x:y.current.left,y:y.current.top})}w.setValue(1)}else{if(l==="bottomSheet"){R.setValue(h.height)}w.setValue(0)}};const Kt=d(null);if(he&&Kt.current!==c){Kt.current=c;$t(c)}V(()=>{let t=null;let r=null;if(he){$t(c);return}if(c){R.setValue(h.height);w.setValue(0);if(l==="bottomSheet"){t=i.parallel([i.spring(R,{toValue:0,tension:180,friction:22,useNativeDriver:true}),i.timing(w,{toValue:1,duration:200,useNativeDriver:true})]);t.start()}else{tt.setValue(1);p.setValue({x:y.current.left,y:y.current.top});t=i.timing(w,{toValue:1,duration:200,useNativeDriver:true});t.start()}}else{if(l==="bottomSheet"){r=i.parallel([i.spring(R,{toValue:h.height,tension:180,friction:22,useNativeDriver:true}),i.timing(w,{toValue:0,duration:200,useNativeDriver:true})]);r.start()}else{r=i.timing(w,{toValue:0,duration:200,useNativeDriver:true});r.start()}}return()=>{if(t){t.stop()}if(r){r.stop()}}},[c,l,w,R,tt,p,f]);const te=d(0);V(()=>{if(!__DEV__||!S||!c)return void 0;let t=null;let r=null;let n=true;const _=Date.now();let v=false;const J=z=>{v=z;if(S==="resize"||S==="float-resize"){O(z)}else if(S==="float-drag"){dt(z)}};if(S==="mode-cycle"){r=setInterval(()=>nt(),2200)}else{const z=Z;const vt=Nt;const bt=()=>{if(!n)return;const ct=(Date.now()-_)/1e3;const u=ct%2.5;if(u<2&&!v)J(true);else if(u>=2&&v)J(false);if(v){const k=(Math.sin(ct*2.2)+1)/2;if(S==="resize"){const b=z+k*(vt-z);E.setValue(b);F.current=b;if(f){f.setValue(b)}}else if(S==="float-drag"){const b=(Math.sin(ct*1.7)+1)/2;p.setValue({x:10+k*Math.max(h.width-ut-20,0),y:70+b*260})}else if(S==="float-resize"){const b=ut+k*Math.max(h.width-ut-40,0);const M=ht+k*240;et.setValue(b);ot.setValue(M);y.current={...y.current,width:b,height:M}}}t=requestAnimationFrame(bt)};t=requestAnimationFrame(bt)}return()=>{n=false;if(t!=null)cancelAnimationFrame(t);if(r!=null)clearInterval(r);O(false);dt(false)}},[S,c]);const Se=ne(()=>se.create({onStartShouldSetPanResponder:()=>l==="bottomSheet",onMoveShouldSetPanResponder:(t,r)=>l==="bottomSheet"&&Math.abs(r.dy)>3,onPanResponderTerminationRequest:()=>false,onPanResponderGrant:t=>{O(true);te.current=t.nativeEvent.locationY||0;E.stopAnimation(r=>{F.current=r});f?.stopAnimation();R.stopAnimation()},onPanResponderMove:t=>{const r=t.nativeEvent.pageY-te.current;let n=h.height-r;n=Math.max(Z,Math.min(n,Nt));E.setValue(n);F.current=n;if(f){f.setValue(n)}},onPanResponderRelease:(t,r)=>{O(false);const n=F.current;const _=r.vy>.8&&r.dy>50||r.dy>150&&n<=Z;if(_){i.parallel([i.timing(w,{toValue:0,duration:200,useNativeDriver:true}),i.spring(R,{toValue:h.height,tension:180,friction:22,useNativeDriver:true})]).start(()=>a());return}Mt(n);if(f)f.setValue(n)},onPanResponderTerminate:()=>{O(false)}}),[l,Z,Nt,E,f,R,w,a]);const pt=Q(t=>{let r=false;return se.create({onStartShouldSetPanResponder:()=>l==="floating",onMoveShouldSetPanResponder:()=>l==="floating",onPanResponderGrant:()=>{r=false;const n=y.current;p.stopAnimation(({x:_,y:v})=>{p.setValue({x:_,y:v})});O(true);Jt.current={...n};Ve.current=n.height;De.current=n.width;Re.current=n.left;Te.current=n.top},onPanResponderMove:(n,_)=>{const{dx:v,dy:J}=_;if(Math.abs(v)<.5&&Math.abs(J)<.5)return;r=true;const z=Math.max(0,N.left||0);const vt=xt.width-Math.max(0,N.right||0);const bt=Math.max(0,N.top||0);const ct=xt.height-Math.max(0,N.bottom||0);const u=Jt.current;const k=u.left+u.width;const b=u.top+u.height;let M=u.left;let q=u.top;let yt=k;let Ct=b;switch(t){case"topLeft":{const rt=Math.max(z,Math.min(u.left+v,k-Rt));const it=Math.max(bt,Math.min(u.top+J,b-Tt));M=rt;q=it;yt=k;Ct=b;break}case"topRight":{const rt=Math.min(vt,Math.max(k+v,u.left+Rt));const it=Math.max(bt,Math.min(u.top+J,b-Tt));M=u.left;q=it;yt=rt;Ct=b;break}case"bottomLeft":{const rt=Math.max(z,Math.min(u.left+v,k-Rt));const it=Math.min(ct,Math.max(b+J,u.top+Tt));M=rt;q=u.top;yt=k;Ct=it;break}case"bottomRight":{const rt=Math.min(vt,Math.max(k+v,u.left+Rt));const it=Math.min(ct,Math.max(b+J,u.top+Tt));M=u.left;q=u.top;yt=rt;Ct=it;break}}const Ot=Math.max(Rt,yt-M);const Et=Math.max(Tt,Ct-q);gt({width:Ot,height:Et,left:M,top:q});et.setValue(Ot);ot.setValue(Et);p.setValue({x:M,y:q});y.current={width:Ot,height:Et,left:M,top:q}},onPanResponderRelease:()=>{O(false);r=false;gt(y.current)},onPanResponderTerminate:()=>{O(false);r=false}})},[l,xt,N.left,N.right,N.top,N.bottom,p,et,ot,a,st]);const ee=ne(()=>{return{topLeft:pt("topLeft"),topRight:pt("topRight"),bottomLeft:pt("bottomLeft"),bottomRight:pt("bottomRight")}},[pt]);const xe=Q(()=>{dt(true)},[]);const He=Q(t=>{dt(false);const r=y.current;const n={...r,left:t.x,top:t.y};gt(n)},[]);const oe=d(0);const mt=d(0);const wt=d(null);const ve=Q(()=>{const t=Date.now();const r=t-oe.current;if(r>500){mt.current=0}mt.current++;oe.current=t;if(wt.current){clearTimeout(wt.current)}wt.current=setTimeout(()=>{if(mt.current===2){nt()}else if(mt.current>=3){if(T){U()}}mt.current=0},300)},[nt,T,U]);V(()=>{return()=>{if(wt.current){clearTimeout(wt.current)}}},[]);if(l==="floating"){return Y(i.View,{nativeID:"jsmodal-root",pointerEvents:c?"auto":"none",accessibilityElementsHidden:!c,importantForAccessibility:c?"auto":"no-hide-descendants",style:[e.floatingModal,{width:G.width,height:G.height,opacity:Qt,transform:[{translateX:p.x},{translateY:p.y}],...Dt!==void 0&&{zIndex:Dt}},H==="night"&&e.nightFloatingModal,(St||lt)&&e.floatingModalDragging,D.container,!c&&e.parkedOffscreen],children:[It&&H==="night"?o(s,{style:e.nightBackdropFloating,pointerEvents:"none",children:o(Bt,{})}):null,o(We,{position:p,onDragStart:xe,onDragEnd:He,onTap:ve,containerBounds:xt,elementSize:G,minPosition:{x:0,y:N.top},style:e.floatingHeader,enabled:l==="floating"&&!lt,children:o(pe,{header:X,onClose:a,onToggleMode:nt,onMinimize:T?U:void 0,isResizing:St||lt,mode:l,variant:H})}),o(s,{style:e.windowControlsContainer,children:o(de,{onClose:a,onMinimize:T?U:void 0,onToggleMode:nt,mode:l,variant:H})}),Y(s,{style:[e.content,H==="night"&&e.nightContent,D.content],children:[It&&H!=="night"?o(Bt,{}):null,_t?o(s,{style:{flex:1,paddingBottom:P},children:B}):o(le,{style:{flex:1},contentContainerStyle:{flexGrow:1,paddingBottom:P},showsVerticalScrollIndicator:true,nestedScrollEnabled:true,keyboardShouldPersistTaps:"handled",children:B}),K?o(s,{style:me.footerContainer,children:K}):null]}),o(s,{...ee.bottomLeft.panHandlers,style:[e.cornerHandleWrapper,{bottom:4,left:4}],hitSlop:{top:2,left:2,right:2,bottom:2},children:o(ge,{position:"bottomLeft",isActive:St||lt})}),o(s,{...ee.bottomRight.panHandlers,style:[e.cornerHandleWrapper,{bottom:4,right:4}],hitSlop:{top:2,left:2,right:2,bottom:2},children:o(ge,{position:"bottomRight",isActive:St||lt})})]})}return o(s,{style:[c?e.fullScreenContainer:e.parkedFullScreen,c&&Dt!==void 0&&{zIndex:Dt}],pointerEvents:c?"box-none":"none",accessibilityElementsHidden:!c,importantForAccessibility:c?"auto":"no-hide-descendants",children:o(i.View,{nativeID:"jsmodal-root",style:[e.bottomSheetWrapper,{opacity:Qt,transform:[{translateY:R}]}],children:Y(i.View,{style:[e.bottomSheet,H==="night"&&e.nightBottomSheet,D.container,{height:f||E}],children:[It&&H==="night"?o(s,{style:e.nightBackdropSheet,pointerEvents:"none",children:o(Bt,{})}):null,o(pe,{header:X,onClose:a,onToggleMode:nt,onMinimize:T?U:void 0,isResizing:lt,mode:l,panHandlers:Se.panHandlers,variant:H}),o(s,{style:e.windowControlsContainer,children:o(de,{onClose:a,onMinimize:T?U:void 0,onToggleMode:nt,mode:l,variant:H})}),ye&&be&&l==="bottomSheet"&&!Ce&&o(Me,{onAcknowledge:Ie}),Y(s,{style:[e.content,H==="night"&&e.nightContent,D.content],children:[It&&H!=="night"?o(Bt,{}):null,_t?o(s,{style:{flex:1,paddingBottom:P},children:B}):o(le,{style:{flex:1},contentContainerStyle:{flexGrow:1,paddingBottom:P},showsVerticalScrollIndicator:true,nestedScrollEnabled:true,keyboardShouldPersistTaps:"handled",children:B}),K?o(s,{style:me.footerContainer,children:K}):null]})]})})})};const e=Lt.create({fullScreenContainer:{...Pt,zIndex:1e3},bottomSheetWrapper:{position:"absolute",bottom:0,left:0,right:0},bottomSheet:{backgroundColor:m.card,borderTopLeftRadius:6,borderTopRightRadius:6,borderWidth:1,borderColor:m.border,shadowColor:m.primary,shadowOffset:{width:0,height:-4},shadowOpacity:.2,shadowRadius:12,elevation:20},parkedOffscreen:{left:-9999,top:-9999,opacity:0},parkedFullScreen:{position:"absolute",left:-9999,top:-9999,width:h.width,height:h.height,opacity:0},floatingModal:{position:"absolute",backgroundColor:m.card,borderRadius:6,borderWidth:1,borderColor:m.border,shadowColor:m.primary,shadowOffset:{width:0,height:0},shadowOpacity:.3,shadowRadius:20,elevation:24,zIndex:1e3,width:ut,height:ht},floatingModalDragging:{borderColor:m.primary,borderWidth:2,shadowColor:m.primary+"99",shadowOpacity:.8,shadowRadius:12},header:{borderTopLeftRadius:6,borderTopRightRadius:6,backgroundColor:m.card,minHeight:56,borderWidth:1,borderColor:m.border,borderBottomWidth:1,borderBottomColor:m.border},nightBottomSheet:{backgroundColor:C.color.bg,borderTopLeftRadius:C.radius.sheet,borderTopRightRadius:C.radius.sheet,borderWidth:Lt.hairlineWidth,borderColor:C.color.accent+"55",shadowColor:C.color.accent,shadowOffset:{width:0,height:-4},shadowOpacity:.22,shadowRadius:10},nightFloatingModal:{backgroundColor:C.color.bg,borderRadius:C.radius.sheet,borderWidth:Lt.hairlineWidth,borderColor:C.color.accent+"55",shadowColor:C.color.accent,shadowOffset:{width:0,height:0},shadowOpacity:.22,shadowRadius:14},nightHeader:{backgroundColor:"transparent",borderWidth:0,borderBottomWidth:0,borderTopLeftRadius:C.radius.sheet,borderTopRightRadius:C.radius.sheet},nightContent:{backgroundColor:"transparent"},nightBackdropSheet:{...Pt,borderTopLeftRadius:C.radius.sheet,borderTopRightRadius:C.radius.sheet,overflow:"hidden"},nightBackdropFloating:{...Pt,borderRadius:C.radius.sheet,overflow:"hidden"},nightDragIndicator:{width:36,height:5,borderRadius:2.5,backgroundColor:C.color.placeholder,shadowOpacity:0,elevation:0},floatingHeader:{borderTopLeftRadius:6,borderTopRightRadius:6},windowControlsContainer:{position:"absolute",top:4,right:4,zIndex:10},floatingModeHeader:{borderTopLeftRadius:6,borderTopRightRadius:6},headerInner:{flex:1,justifyContent:"center"},dragIndicatorContainer:{alignItems:"center",paddingVertical:8,backgroundColor:"transparent"},dragIndicatorContainerCustom:{minHeight:Fe,justifyContent:"center",paddingVertical:0,backgroundColor:"transparent"},dragIndicator:{width:40,height:3,backgroundColor:m.primary,borderRadius:2,shadowColor:m.primary,shadowOffset:{width:0,height:0},shadowOpacity:.6,shadowRadius:4},floatingDragIndicator:{width:50,height:5,backgroundColor:m.textMuted},dragIndicatorActive:{backgroundColor:m.primary,width:40},resizeGripContainer:{position:"absolute",flexDirection:"row",gap:2,marginTop:12},resizeGripLine:{width:12,height:1,backgroundColor:L.success,opacity:.6},headerContent:{paddingHorizontal:16,alignItems:"center"},headerControls:{position:"absolute",top:8,right:16,flexDirection:"row",alignItems:"center"},headerTitle:{fontSize:16,fontWeight:"600",color:L.primary},headerSubtitle:{fontSize:12,color:L.secondary,paddingTop:4},headerHintText:{position:"absolute",top:0,left:0,right:0,bottom:0,justifyContent:"center",alignItems:"center"},hintText:{fontSize:10,color:L.muted,fontStyle:"italic"},controlButton:{width:28,height:28,borderRadius:6,justifyContent:"center",alignItems:"center",marginLeft:8},toggleButton:{backgroundColor:L.info+"1A",borderWidth:1,borderColor:L.info+"33"},closeButton:{width:28,height:28,borderRadius:6,justifyContent:"center",alignItems:"center",backgroundColor:L.error+"1A",borderWidth:1,borderColor:L.error+"33",marginLeft:8},iconLine:{position:"absolute",top:7.25,left:2,width:12,height:1.5,backgroundColor:L.error},content:{flex:1,backgroundColor:m.base,borderBottomLeftRadius:16,borderBottomRightRadius:16,overflow:"hidden"},cornerHandle:{position:"absolute",zIndex:1},cornerHandleWrapper:{position:"absolute",width:30,height:30,zIndex:1e3},handler:{width:20,height:20,backgroundColor:"transparent",borderRadius:10,borderWidth:0,borderColor:"transparent"},handlerActive:{backgroundColor:L.success+"1A",borderColor:L.success,borderWidth:2,shadowColor:L.success+"99",shadowOffset:{width:0,height:0},shadowOpacity:1,shadowRadius:8}});const me=Lt.create({footerContainer:{position:"absolute",left:0,right:0,bottom:0,backgroundColor:m.base,borderBottomLeftRadius:16,borderBottomRightRadius:16}});export const JsModal=kt(c=>{const a=ke()();if(a.status!=="admitted")return c.visible?o(Le,{}):null;return o(Pe,{...c})});