@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,1585 +1 @@
1
- "use strict";
2
-
3
- import { getUseAccountAccess } from "./license/licenseModule.js";
4
- import { AccountSetup } from "./license/AccountSetup";
5
- /**
6
- * JsModal.web — DOM port of JsModal.tsx (React Native).
7
- *
8
- * The dual-mode tool-panel container: draggable bottom sheet ⇄ floating
9
- * window. Same exported names (`JsModal`, `ModalMode`, `ModalState`), same
10
- * prop contract, same gesture spec and persistence key/JSON shape as the
11
- * native file. Zero react-native imports — header chrome that lives in
12
- * shared-ui RN components (`WindowControls`, `DraggableHeader`, `ModalHeader`,
13
- * `ModalHintBanner`) is replicated as DOM with provenance comments, the same
14
- * way the browser host supplies DOM positioning.
15
- *
16
- * Gesture spec (verbatim from native):
17
- * - Sheet header drag: steal at |dy| > 3px, absolute finger anchoring
18
- * (height = screenH − (pointerY − grab offset)), clamped to
19
- * [minHeight, maxHeight ?? screenH − safeTop]. Fast downward swipe closes:
20
- * (vy > 0.8 px/ms && dy > 50) || (dy > 150 && height <= minHeight).
21
- * - Floating header drag (DraggableHeader.tsx): drag starts at
22
- * |dx|+|dy| > 5, position unclamped during move, clamped on release to
23
- * x ∈ [0, screenW − width], y ∈ [safeTop, screenH − height].
24
- * - Corner resize (bottom corners only): moves < 0.5px ignored; rect clamped
25
- * to safe-area bounds; min size = screenW*0.25 × 80.
26
- * - Header taps (both modes): taps accumulate within a 500ms window and
27
- * settle after 300ms — 2 taps toggles mode, ≥3 taps minimizes.
28
- *
29
- * Persistence uses the shared ModalStorage implementation and platform storage.
30
- * State is saved on a 500ms debounce, with an immediate save on minimize.
31
- *
32
- * Intentional deviations from the native file (all logged):
33
- * - No native-driver springs: rAF drives all animations. The open/close
34
- * spring (tension 180, friction 22, ~300ms settle) is approximated with a
35
- * 300ms ease-out-cubic; native `Animated.timing` calls keep their exact
36
- * durations (200ms fades, 300ms minimize) with ease-in-out.
37
- * - No RN Modal/overlay layer: fixed-position divs with the `zIndex` prop
38
- * (default 1000, same as the native styles).
39
- * - `benchMotion` and `animatedHeight` (DEV-only benchmark seams) are
40
- * accepted and no-op'd — the web build has no tool-bench harness.
41
- * - `CyberpunkModalHeader` complete-replacement detection in ModalHeader is
42
- * not ported (that component is RN-only); custom header content renders
43
- * inside the standard header structure, with `onMinimize` injected via
44
- * cloneElement like native's non-replacement path.
45
- * - Native captures `Dimensions.get("window")` once at module load; the web
46
- * twin reads `window.innerWidth/innerHeight` lazily so late layout (Tauri/
47
- * WKWebView) doesn't bake in a 0×0 screen.
48
- * - Safe-area insets come from a one-shot `env(safe-area-inset-*)` probe
49
- * (same trick as floatingTools.web.tsx) instead of the RN hook.
50
- * - On restore, the floating position re-syncs from the saved dimensions.
51
- * Some tool components do not forward `initialModalState`.
52
- * - `JsModalProps` is additionally exported (native keeps it private) so web
53
- * consumers can type wrappers without redeclaring the contract.
54
- * - `visible={false}` hides the content in a `display:none` container.
55
- * Tool state that must survive shell changes belongs above this component.
56
- * - The hidden/floating/bottomSheet root branches carry distinct React keys:
57
- * the rAF animations write opacity/transform straight to the DOM, and DOM
58
- * reuse across branches (e.g. an async persisted-mode flip mid-entrance)
59
- * would leak those styles onto unrelated chrome (blank header bug).
60
- *
61
- * @platform React DOM Web (Vite, Tauri, Capacitor/Ionic, Electron)
62
- */
63
-
64
- import { useState, useRef, useEffect, useLayoutEffect, useCallback, memo, isValidElement, cloneElement } from "react";
65
- import { persistentStorage as webPersistentStorage } from "./utils/persistentStorage";
66
- import { ModalStorage } from "./utils/modalStorage.js";
67
- import { devToolsStorageKeys } from "./storage/devToolsStorageKeys.js";
68
- import { useHintsDisabled } from "./context/index.js";
69
- // RN component, but safe here: every consumer of the web modal (desktop
70
- // renderer, website demos) aliases `react-native` to react-native-web, and
71
- // the backgrounds primitives handle RNW explicitly (see backgrounds/README).
72
- import { ToolBackground } from "./ui/backgrounds/ToolBackground.js";
73
- // Pure token module (no react-native import) — safe on web.
74
- import { night } from "./ui/night/nightTheme.js";
75
-
76
- // ============================================================================
77
- // PALETTE — inlined from shared-ui with provenance (RN-only modules on web)
78
- // ============================================================================
79
-
80
- /** buoyColors from ui/gameUI/constants/gameUIColors.ts — inlined verbatim. */
81
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
82
- const buoy = {
83
- base: "#121212",
84
- card: "#1A1A1A",
85
- border: "#333333",
86
- textMuted: "#888888",
87
- primary: "#20C997" // Buoy teal
88
- };
89
-
90
- /**
91
- * gameUIColors resolved values (macOS theme active — see gameUIColors.ts
92
- * `activeTheme = macOSTheme` and macOSDesignSystemColors.ts).
93
- */
94
- const gameUI = {
95
- primary: "#F5F5F7",
96
- // macOSColors.text.primary — header title
97
- primaryLight: "#F5F5F7",
98
- // macOS theme maps primaryLight to text.primary too
99
- secondary: "#A1A1A6",
100
- // macOSColors.text.secondary — header subtitle
101
- muted: "#8E8E93",
102
- // macOSColors.text.muted — hint text
103
- success: "#34C759",
104
- // macOSColors.semantic.success — resize grips/handles
105
- info: "#00B8E6" // macOSColors.semantic.info — hint banner
106
- };
107
-
108
- // ============================================================================
109
- // CONSTANTS — same values as native JsModal.tsx
110
- // ============================================================================
111
- const MIN_HEIGHT = 100;
112
- const DEFAULT_HEIGHT = 400;
113
- const FLOATING_HEIGHT = 500;
114
- const FLOATING_MIN_HEIGHT = 80; // header (60) + 20px content
115
- // native: FLOATING_WIDTH = SCREEN.width, FLOATING_MIN_WIDTH = SCREEN.width/4 —
116
- // read lazily on web (see deviations in the file header).
117
- const screenW = () => typeof window !== "undefined" ? window.innerWidth : 0;
118
- const screenH = () => typeof window !== "undefined" ? window.innerHeight : 0;
119
-
120
- // ============================================================================
121
- // STORAGE — exact native ModalStorage semantics over localStorage
122
- // ============================================================================
123
-
124
- // ============================================================================
125
- // TYPES — same exported names as native
126
- // ============================================================================
127
-
128
- /** Modal state that can be saved and restored when minimizing/restoring. */
129
-
130
- // ============================================================================
131
- // rAF ANIMATION HELPERS (native-driver springs/timings stand-in)
132
- // ============================================================================
133
-
134
- const easeOutCubic = t => 1 - Math.pow(1 - t, 3);
135
- // Animated.timing's default easing is ease-in-out
136
- const easeInOut = t => t < 0.5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2;
137
- function runAnim(duration, ease, onFrame, onDone) {
138
- let raf = 0;
139
- let cancelled = false;
140
- const start = performance.now();
141
- const tick = now => {
142
- if (cancelled) return;
143
- const t = Math.min((now - start) / duration, 1);
144
- onFrame(ease(t));
145
- if (t < 1) {
146
- raf = requestAnimationFrame(tick);
147
- } else {
148
- onDone?.();
149
- }
150
- };
151
- raf = requestAnimationFrame(tick);
152
- return () => {
153
- cancelled = true;
154
- cancelAnimationFrame(raf);
155
- };
156
- }
157
-
158
- // ============================================================================
159
- // SAFE AREA — env() probe (floatingTools.web.tsx pattern), one-shot on mount
160
- // ============================================================================
161
-
162
- function readSafeAreaInsets() {
163
- if (typeof document === "undefined") {
164
- return {
165
- top: 0,
166
- left: 0,
167
- right: 0,
168
- bottom: 0
169
- };
170
- }
171
- const probe = document.createElement("div");
172
- probe.style.cssText = "position:fixed;top:env(safe-area-inset-top);left:env(safe-area-inset-left);" + "right:env(safe-area-inset-right);bottom:env(safe-area-inset-bottom);" + "visibility:hidden;pointer-events:none";
173
- document.body.appendChild(probe);
174
- const rect = probe.getBoundingClientRect();
175
- document.body.removeChild(probe);
176
- return {
177
- top: Math.max(0, rect.top),
178
- left: Math.max(0, rect.left),
179
- right: Math.max(0, window.innerWidth - rect.right),
180
- bottom: Math.max(0, window.innerHeight - rect.bottom)
181
- };
182
- }
183
-
184
- /**
185
- * Keep a floating rect fully inside the safe area. Applied on every entry
186
- * path — initial position, persisted restore, drag release — so the window
187
- * can never sit under a notch/Dynamic Island or the home indicator.
188
- * (Deliberate improvement over native, whose release clamp allows the
189
- * window to reach the raw screen bottom.)
190
- */
191
- function clampRectToSafeArea(rect, insets) {
192
- const maxW = Math.max(FLOATING_MIN_HEIGHT, window.innerWidth - insets.left - insets.right);
193
- const maxH = Math.max(FLOATING_MIN_HEIGHT, window.innerHeight - insets.top - insets.bottom);
194
- const width = Math.min(rect.width, maxW);
195
- const height = Math.min(rect.height, maxH);
196
- return {
197
- width,
198
- height,
199
- left: Math.max(insets.left, Math.min(rect.left, window.innerWidth - insets.right - width)),
200
- top: Math.max(insets.top, Math.min(rect.top, window.innerHeight - insets.bottom - height))
201
- };
202
- }
203
-
204
- // ============================================================================
205
- // ICONS — DOM twins of shared-ui icons (icons/lucide-icons.tsx)
206
- // ============================================================================
207
-
208
- /** shared-ui X icon (lucide-icons.tsx). */
209
- const XIcon = ({
210
- size = 24,
211
- color = "currentColor",
212
- strokeWidth = 2
213
- }) => /*#__PURE__*/_jsxs("svg", {
214
- width: size,
215
- height: size,
216
- viewBox: "0 0 24 24",
217
- fill: "none",
218
- children: [/*#__PURE__*/_jsx("line", {
219
- x1: 18,
220
- y1: 6,
221
- x2: 6,
222
- y2: 18,
223
- stroke: color,
224
- strokeWidth: strokeWidth,
225
- strokeLinecap: "round"
226
- }), /*#__PURE__*/_jsx("line", {
227
- x1: 6,
228
- y1: 6,
229
- x2: 18,
230
- y2: 18,
231
- stroke: color,
232
- strokeWidth: strokeWidth,
233
- strokeLinecap: "round"
234
- })]
235
- });
236
-
237
- /** shared-ui Minus icon (lucide-icons.tsx). */
238
- const MinusIcon = ({
239
- size = 24,
240
- color = "currentColor",
241
- strokeWidth = 2
242
- }) => /*#__PURE__*/_jsx("svg", {
243
- width: size,
244
- height: size,
245
- viewBox: "0 0 24 24",
246
- fill: "none",
247
- children: /*#__PURE__*/_jsx("line", {
248
- x1: 5,
249
- y1: 12,
250
- x2: 19,
251
- y2: 12,
252
- stroke: color,
253
- strokeWidth: strokeWidth,
254
- strokeLinecap: "round"
255
- })
256
- });
257
-
258
- /** shared-ui DockBottom icon — outer frame + filled bottom panel. */
259
- const DockBottomIcon = ({
260
- size = 24,
261
- color = "currentColor",
262
- strokeWidth = 2
263
- }) => /*#__PURE__*/_jsxs("svg", {
264
- width: size,
265
- height: size,
266
- viewBox: "0 0 24 24",
267
- fill: "none",
268
- children: [/*#__PURE__*/_jsx("rect", {
269
- x: 3,
270
- y: 3,
271
- width: 18,
272
- height: 18,
273
- rx: 2,
274
- stroke: color,
275
- strokeWidth: strokeWidth
276
- }), /*#__PURE__*/_jsx("rect", {
277
- x: 3,
278
- y: 14,
279
- width: 18,
280
- height: 7,
281
- fill: color
282
- })]
283
- });
284
-
285
- /** shared-ui FloatWindow icon — window with offset shadow. */
286
- const FloatWindowIcon = ({
287
- size = 24,
288
- color = "currentColor",
289
- strokeWidth = 2
290
- }) => /*#__PURE__*/_jsxs("svg", {
291
- width: size,
292
- height: size,
293
- viewBox: "0 0 24 24",
294
- fill: "none",
295
- children: [/*#__PURE__*/_jsx("rect", {
296
- x: 3,
297
- y: 3,
298
- width: 14,
299
- height: 14,
300
- rx: 2,
301
- stroke: color,
302
- strokeWidth: strokeWidth
303
- }), /*#__PURE__*/_jsx("line", {
304
- x1: 7,
305
- y1: 17,
306
- x2: 7,
307
- y2: 21,
308
- stroke: color,
309
- strokeWidth: strokeWidth
310
- }), /*#__PURE__*/_jsx("line", {
311
- x1: 7,
312
- y1: 21,
313
- x2: 21,
314
- y2: 21,
315
- stroke: color,
316
- strokeWidth: strokeWidth
317
- }), /*#__PURE__*/_jsx("line", {
318
- x1: 21,
319
- y1: 21,
320
- x2: 21,
321
- y2: 7,
322
- stroke: color,
323
- strokeWidth: strokeWidth
324
- }), /*#__PURE__*/_jsx("line", {
325
- x1: 17,
326
- y1: 7,
327
- x2: 21,
328
- y2: 7,
329
- stroke: color,
330
- strokeWidth: strokeWidth
331
- })]
332
- });
333
-
334
- // ============================================================================
335
- // WINDOW CONTROLS — DOM twin of ui/components/WindowControls.tsx.
336
- // Native renders the non-expandable branch on web (EXPANDABLE_SUPPORTED =
337
- // Platform.OS !== "web"), so the plain macOS dots ARE the 1:1 web look.
338
- // ============================================================================
339
- // native WindowControls COLORS
340
- const WC_COLORS = {
341
- close: "#FF5F57",
342
- minimize: "#FEBC2E",
343
- toggleMode: "#28C840"
344
- };
345
- const WC_BUTTON_SIZE = 24;
346
- const WC_BUTTON_SPACING = 2;
347
- const WC_ICON_SIZE = 8; // native ICON_SIZE
348
-
349
- const wcDotStyle = bg => ({
350
- width: WC_BUTTON_SIZE,
351
- height: WC_BUTTON_SIZE,
352
- borderRadius: WC_BUTTON_SIZE / 2,
353
- display: "flex",
354
- alignItems: "center",
355
- justifyContent: "center",
356
- background: `radial-gradient(circle, ${bg} 6px, transparent 6px)`,
357
- border: "none",
358
- padding: 0,
359
- cursor: "pointer",
360
- flexShrink: 0
361
- });
362
- function WindowControls({
363
- onClose,
364
- onMinimize,
365
- onToggleMode,
366
- mode
367
- }) {
368
- const ToggleModeIcon = mode === "floating" ? DockBottomIcon : FloatWindowIcon;
369
- const toggleModeLabel = mode === "floating" ? "Dock to bottom sheet" : "Make floating window";
370
- return /*#__PURE__*/_jsxs("div", {
371
- style: {
372
- display: "flex",
373
- flexDirection: "row",
374
- alignItems: "center",
375
- gap: WC_BUTTON_SPACING
376
- },
377
- children: [onMinimize && /*#__PURE__*/_jsx("button", {
378
- type: "button",
379
- onClick: onMinimize,
380
- style: wcDotStyle(WC_COLORS.minimize),
381
- "aria-label": "Minimize modal",
382
- children: /*#__PURE__*/_jsx(MinusIcon, {
383
- size: WC_ICON_SIZE,
384
- color: "#7A5A00",
385
- strokeWidth: 1.5
386
- })
387
- }), onToggleMode && /*#__PURE__*/_jsx("button", {
388
- type: "button",
389
- onClick: onToggleMode,
390
- style: wcDotStyle(WC_COLORS.toggleMode),
391
- "aria-label": toggleModeLabel,
392
- children: /*#__PURE__*/_jsx(ToggleModeIcon, {
393
- size: WC_ICON_SIZE,
394
- color: "#004A1A",
395
- strokeWidth: 1.5
396
- })
397
- }), /*#__PURE__*/_jsx("button", {
398
- type: "button",
399
- onClick: onClose,
400
- style: wcDotStyle(WC_COLORS.close),
401
- "aria-label": "Close modal",
402
- children: /*#__PURE__*/_jsx(XIcon, {
403
- size: WC_ICON_SIZE,
404
- color: "#4A0000",
405
- strokeWidth: 1.5
406
- })
407
- })]
408
- });
409
- }
410
-
411
- // ============================================================================
412
- // DRAG INDICATOR — DOM twin of native DragIndicator
413
- // ============================================================================
414
- const DragIndicator = /*#__PURE__*/memo(function DragIndicator({
415
- isResizing,
416
- mode,
417
- hasCustomContent = false,
418
- variant = "default"
419
- }) {
420
- const floating = mode === "floating";
421
- const isNight = variant === "night";
422
- return /*#__PURE__*/_jsxs("div", {
423
- style: {
424
- display: "flex",
425
- flexDirection: "column",
426
- alignItems: "center",
427
- position: "relative",
428
- // native dragIndicatorContainer: paddingVertical 8; custom variant
429
- // reserves room for the browser window controls
430
- // so the header row below can run the full width.
431
- justifyContent: hasCustomContent ? "center" : undefined,
432
- minHeight: hasCustomContent ? 32 : undefined,
433
- paddingTop: hasCustomContent ? 0 : 8,
434
- paddingBottom: hasCustomContent ? 0 : 8,
435
- backgroundColor: "transparent"
436
- },
437
- children: [/*#__PURE__*/_jsx("div", {
438
- style: {
439
- // native dragIndicator: 40x3 teal bar, radius 2, teal glow
440
- // (shadowOpacity 0.6, radius 4); floating variant: 50x5 textMuted;
441
- // active (isResizing/isDragging): teal, width 40.
442
- // Night: the neutral 36x5 Everlights handle, no glow, both modes.
443
- width: isNight ? 36 : isResizing ? 40 : floating ? 50 : 40,
444
- height: isNight ? 5 : floating ? 5 : 3,
445
- backgroundColor: isNight ? night.color.placeholder : isResizing ? buoy.primary : floating ? buoy.textMuted : buoy.primary,
446
- borderRadius: isNight ? 2.5 : 2,
447
- boxShadow: isNight ? "none" : `0 0 4px ${buoy.primary}99`
448
- }
449
- }), isResizing && mode === "bottomSheet" && /*#__PURE__*/_jsx("div", {
450
- style: {
451
- position: "absolute",
452
- display: "flex",
453
- flexDirection: "row",
454
- gap: 2,
455
- // native resizeGripContainer: gap 2
456
- marginTop: 12 // native: marginTop 12
457
- },
458
- children: [0, 1, 2].map(i => /*#__PURE__*/_jsx("div", {
459
- style: {
460
- width: 12,
461
- // native resizeGripLine: 12x1
462
- height: 1,
463
- backgroundColor: gameUI.success,
464
- opacity: 0.6
465
- }
466
- }, i))
467
- })]
468
- });
469
- });
470
-
471
- // ============================================================================
472
- // MODAL HINT BANNER — DOM twin of ui/components/ModalHintBanner.tsx
473
- // ============================================================================
474
- const ModalHintBanner = /*#__PURE__*/memo(function ModalHintBanner({
475
- onAcknowledge
476
- }) {
477
- return /*#__PURE__*/_jsx("div", {
478
- style: {
479
- // native container: info+15 bg, 3px info left border, radius 8,
480
- // marginHorizontal 12, mt 8, mb 4, info glow (opacity 0.3, radius 8)
481
- backgroundColor: `${gameUI.info}15`,
482
- borderLeft: `3px solid ${gameUI.info}`,
483
- borderRadius: 8,
484
- margin: "8px 12px 4px",
485
- overflow: "hidden",
486
- boxShadow: `0 0 8px ${gameUI.info}4D`,
487
- flexShrink: 0
488
- },
489
- children: /*#__PURE__*/_jsxs("div", {
490
- style: {
491
- display: "flex",
492
- flexDirection: "row",
493
- alignItems: "center",
494
- padding: 12,
495
- // native inner: padding 12, gap 12
496
- gap: 12
497
- },
498
- children: [/*#__PURE__*/_jsxs("div", {
499
- style: {
500
- width: 32,
501
- height: 32,
502
- position: "relative",
503
- display: "flex",
504
- alignItems: "center",
505
- justifyContent: "center",
506
- flexShrink: 0
507
- },
508
- children: [/*#__PURE__*/_jsx("div", {
509
- style: {
510
- position: "absolute",
511
- width: 20,
512
- height: 20,
513
- borderRadius: 10,
514
- border: `2px solid ${gameUI.info}`,
515
- opacity: 0.6,
516
- transform: "scale(0.8)",
517
- boxSizing: "border-box"
518
- }
519
- }), /*#__PURE__*/_jsx("div", {
520
- style: {
521
- position: "absolute",
522
- width: 20,
523
- height: 20,
524
- borderRadius: 10,
525
- border: `2px solid ${gameUI.info}`,
526
- boxSizing: "border-box"
527
- }
528
- })]
529
- }), /*#__PURE__*/_jsxs("div", {
530
- style: {
531
- flex: 1,
532
- display: "flex",
533
- flexDirection: "column",
534
- gap: 2
535
- },
536
- children: [/*#__PURE__*/_jsx("span", {
537
- style: {
538
- fontSize: 13,
539
- fontWeight: 600,
540
- color: gameUI.info,
541
- letterSpacing: 0.3
542
- },
543
- children: "\uD83D\uDCA1 Pro Tip"
544
- }), /*#__PURE__*/_jsx("span", {
545
- style: {
546
- fontSize: 12,
547
- color: gameUI.primaryLight,
548
- lineHeight: "16px"
549
- },
550
- children: "Double-tap the header to transform this into a floating modal"
551
- })]
552
- }), /*#__PURE__*/_jsx("button", {
553
- type: "button",
554
- onClick: onAcknowledge,
555
- style: {
556
- backgroundColor: `${gameUI.info}30`,
557
- padding: "6px 12px",
558
- // native: paddingVertical 6 / horizontal 12
559
- borderRadius: 6,
560
- border: `1px solid ${gameUI.info}50`,
561
- fontSize: 12,
562
- fontWeight: 600,
563
- color: gameUI.info,
564
- cursor: "pointer",
565
- fontFamily: "inherit",
566
- flexShrink: 0
567
- },
568
- children: "Got it!"
569
- })]
570
- })
571
- });
572
- });
573
-
574
- // ============================================================================
575
- // MODAL HEADER — DOM twin of native ModalHeader (title/subtitle/hint text)
576
- // ============================================================================
577
- function ModalHeaderContent({
578
- header,
579
- isResizing,
580
- mode,
581
- onMinimize,
582
- variant = "default"
583
- }) {
584
- if (header?.customContent) {
585
- // native (non-CyberpunkModalHeader path): inject onMinimize into the
586
- // custom element so it can trigger minimize; render inside the standard
587
- // header structure with the compact drag indicator.
588
- let customContent = header.customContent;
589
- if (/*#__PURE__*/isValidElement(header.customContent) && onMinimize) {
590
- customContent = /*#__PURE__*/cloneElement(header.customContent, {
591
- onMinimize
592
- });
593
- }
594
- return /*#__PURE__*/_jsxs("div", {
595
- style: {
596
- flex: 1,
597
- display: "flex",
598
- flexDirection: "column",
599
- justifyContent: "center",
600
- minWidth: 0
601
- },
602
- children: [/*#__PURE__*/_jsx(DragIndicator, {
603
- isResizing: isResizing,
604
- mode: mode,
605
- hasCustomContent: true,
606
- variant: variant
607
- }), customContent]
608
- });
609
- }
610
- return /*#__PURE__*/_jsxs("div", {
611
- style: {
612
- flex: 1,
613
- display: "flex",
614
- flexDirection: "column",
615
- justifyContent: "center",
616
- position: "relative",
617
- minWidth: 0
618
- },
619
- children: [/*#__PURE__*/_jsx(DragIndicator, {
620
- isResizing: isResizing,
621
- mode: mode,
622
- variant: variant
623
- }), /*#__PURE__*/_jsxs("div", {
624
- style: {
625
- // native headerContent: paddingHorizontal 16, alignItems center
626
- padding: "0 16px",
627
- display: "flex",
628
- flexDirection: "column",
629
- alignItems: "center"
630
- },
631
- children: [header?.title && /*#__PURE__*/_jsx("span", {
632
- style: {
633
- fontSize: 16,
634
- // native headerTitle
635
- fontWeight: 600,
636
- color: gameUI.primary
637
- },
638
- children: header.title
639
- }), header?.subtitle && /*#__PURE__*/_jsx("span", {
640
- style: {
641
- fontSize: 12,
642
- // native headerSubtitle
643
- color: gameUI.secondary,
644
- paddingTop: 4
645
- },
646
- children: header.subtitle
647
- })]
648
- }), /*#__PURE__*/_jsx("div", {
649
- style: {
650
- position: "absolute",
651
- inset: 0,
652
- display: "flex",
653
- alignItems: "center",
654
- justifyContent: "center",
655
- pointerEvents: "none"
656
- },
657
- children: /*#__PURE__*/_jsx("span", {
658
- style: {
659
- fontSize: 10,
660
- // native hintText
661
- color: gameUI.muted,
662
- fontStyle: "italic"
663
- },
664
- children: "Double tap: Toggle \u2022 Triple tap: Close"
665
- })
666
- })]
667
- });
668
- }
669
-
670
- // ============================================================================
671
- // MAIN COMPONENT
672
- // ============================================================================
673
- const JsModalComponent = ({
674
- visible,
675
- onClose,
676
- children,
677
- header,
678
- styles: customStyles = {},
679
- minHeight = MIN_HEIGHT,
680
- maxHeight,
681
- initialHeight = DEFAULT_HEIGHT,
682
- animatedHeight: _animatedHeight,
683
- // no-op on web (DEV benchmark seam)
684
- benchMotion: _benchMotion,
685
- // no-op on web (DEV benchmark seam)
686
- initialMode = "bottomSheet",
687
- onModeChange,
688
- persistenceKey,
689
- enablePersistence = true,
690
- initialFloatingPosition,
691
- footer,
692
- footerHeight = 0,
693
- onBack: _onBack,
694
- // native never invokes it from JsModal either
695
- onMinimize,
696
- minimizeRequest = 0,
697
- minimizeTargetPosition,
698
- initialModalState,
699
- zIndex,
700
- disableScrollWrapper = false,
701
- background = true,
702
- variant = "night"
703
- }) => {
704
- const [insets] = useState(readSafeAreaInsets);
705
- const [isStateLoaded, setIsStateLoaded] = useState(!enablePersistence);
706
- const [mode, setMode] = useState(initialMode);
707
- const onModeChangeRef = useRef(onModeChange);
708
- onModeChangeRef.current = onModeChange;
709
- const [isResizing, setIsResizing] = useState(false);
710
- const [isDragging, setIsDragging] = useState(false);
711
- const [panelHeight, setPanelHeight] = useState(initialHeight);
712
- const [dimensions, setDimensions] = useState(() => clampRectToSafeArea({
713
- width: screenW(),
714
- // native FLOATING_WIDTH = SCREEN.width
715
- height: FLOATING_HEIGHT,
716
- top: initialFloatingPosition?.y ?? (screenH() - FLOATING_HEIGHT) / 2,
717
- left: initialFloatingPosition?.x ?? 0 // flush with left edge
718
- }, insets));
719
- const [showHint, setShowHint] = useState(false);
720
- const [hintLoaded, setHintLoaded] = useState(false);
721
- const hintsDisabled = useHintsDisabled();
722
-
723
- // -- imperative value refs (native Animated.Value stand-ins) --------------
724
- const currentHeightRef = useRef(initialHeight);
725
- const currentDimensionsRef = useRef(dimensions);
726
- const posRef = useRef({
727
- x: dimensions.left,
728
- y: dimensions.top
729
- });
730
-
731
- // -- DOM refs -------------------------------------------------------------
732
- const sheetWrapperRef = useRef(null);
733
- const sheetRef = useRef(null);
734
- const floatRef = useRef(null);
735
-
736
- // Active rAF animations (cancelled on new visibility runs / unmount).
737
- const animCancelsRef = useRef([]);
738
- const cancelAnims = useCallback(() => {
739
- animCancelsRef.current.forEach(c => c());
740
- animCancelsRef.current = [];
741
- }, []);
742
- useEffect(() => {
743
- currentDimensionsRef.current = dimensions;
744
- }, [dimensions]);
745
- useEffect(() => cancelAnims, [cancelAnims]);
746
- const effectiveMaxHeight = maxHeight || screenH() - insets.top;
747
-
748
- // ==========================================================================
749
- // PERSISTENCE — exact native key usage, shape and 500ms debounce
750
- // ==========================================================================
751
- useEffect(() => {
752
- if (!enablePersistence || !persistenceKey) {
753
- setIsStateLoaded(true);
754
- return;
755
- }
756
- let mounted = true;
757
- const loadState = async () => {
758
- const savedState = await ModalStorage.load(persistenceKey);
759
- if (mounted && savedState) {
760
- if (savedState.mode) {
761
- setMode(savedState.mode);
762
- onModeChangeRef.current?.(savedState.mode);
763
- }
764
- if (savedState.panelHeight) {
765
- setPanelHeight(savedState.panelHeight);
766
- currentHeightRef.current = savedState.panelHeight;
767
- }
768
- if (savedState.dimensions) {
769
- // Clamp persisted rects too — a position saved on a different
770
- // viewport (or before the safe-area fix) may be out of bounds.
771
- const clamped = clampRectToSafeArea(savedState.dimensions, insets);
772
- setDimensions(clamped);
773
- posRef.current = {
774
- x: clamped.left,
775
- y: clamped.top
776
- };
777
- }
778
- }
779
- if (mounted) setIsStateLoaded(true);
780
- };
781
- loadState();
782
- return () => {
783
- mounted = false;
784
- };
785
- // eslint-disable-next-line react-hooks/exhaustive-deps
786
- }, [persistenceKey, enablePersistence]);
787
- useEffect(() => {
788
- if (!enablePersistence || !persistenceKey || !isStateLoaded) return;
789
- const timeoutId = setTimeout(() => {
790
- ModalStorage.save(persistenceKey, {
791
- mode,
792
- panelHeight: currentHeightRef.current,
793
- dimensions,
794
- isVisible: visible
795
- });
796
- }, 500); // native: 500ms debounce
797
- return () => clearTimeout(timeoutId);
798
- }, [mode, panelHeight, dimensions, visible, persistenceKey, enablePersistence, isStateLoaded]);
799
-
800
- // ==========================================================================
801
- // HINT BANNER — same @react_buoy_modal_hint_acknowledged key as native
802
- // ==========================================================================
803
- useEffect(() => {
804
- let mounted = true;
805
- const loadHintStatus = async () => {
806
- try {
807
- const hintKey = devToolsStorageKeys.modal.hintAcknowledged();
808
- const acknowledged = await webPersistentStorage.getItem(hintKey);
809
- if (mounted) {
810
- setShowHint(acknowledged !== "true");
811
- setHintLoaded(true);
812
- }
813
- } catch {
814
- if (mounted) {
815
- setShowHint(true);
816
- setHintLoaded(true);
817
- }
818
- }
819
- };
820
- loadHintStatus();
821
- return () => {
822
- mounted = false;
823
- };
824
- }, []);
825
- const handleHintAcknowledge = useCallback(async () => {
826
- try {
827
- const hintKey = devToolsStorageKeys.modal.hintAcknowledged();
828
- await webPersistentStorage.setItem(hintKey, "true");
829
- setShowHint(false);
830
- } catch {
831
- setShowHint(false);
832
- }
833
- }, []);
834
-
835
- // ==========================================================================
836
- // MODE TOGGLE + MINIMIZE
837
- // ==========================================================================
838
- const toggleMode = useCallback(() => {
839
- setIsDragging(false);
840
- setIsResizing(false);
841
- const newMode = mode === "bottomSheet" ? "floating" : "bottomSheet";
842
- setMode(newMode);
843
- onModeChangeRef.current?.(newMode);
844
- }, [mode]);
845
-
846
- // Belt-and-suspenders: also clear flags when mode changes (native parity).
847
- useEffect(() => {
848
- setIsDragging(false);
849
- setIsResizing(false);
850
- }, [mode]);
851
- const handleMinimize = useCallback(() => {
852
- if (!onMinimize) return;
853
- const currentState = {
854
- mode,
855
- panelHeight: currentHeightRef.current,
856
- floatingPosition: {
857
- x: currentDimensionsRef.current.left,
858
- y: currentDimensionsRef.current.top
859
- },
860
- floatingDimensions: {
861
- width: currentDimensionsRef.current.width,
862
- height: currentDimensionsRef.current.height
863
- }
864
- };
865
- if (enablePersistence && persistenceKey) void ModalStorage.saveMinimized(persistenceKey, currentState);
866
-
867
- // native defaults: SCREEN.width - 50 / SCREEN.height - 150
868
- const targetX = minimizeTargetPosition?.x ?? screenW() - 50;
869
- const targetY = minimizeTargetPosition?.y ?? screenH() - 150;
870
- cancelAnims();
871
- if (mode === "bottomSheet") {
872
- const wrapper = sheetWrapperRef.current;
873
- if (!wrapper) {
874
- onMinimize(currentState);
875
- return;
876
- }
877
- const distance = screenH();
878
- // native: parallel timing(300) opacity→0 + translateY→SCREEN.height
879
- animCancelsRef.current.push(runAnim(300, easeInOut, v => {
880
- wrapper.style.opacity = String(1 - v);
881
- wrapper.style.transform = `translateY(${v * distance}px)`;
882
- }, () => onMinimize(currentState)));
883
- } else {
884
- const el = floatRef.current;
885
- if (!el) {
886
- onMinimize(currentState);
887
- return;
888
- }
889
- const from = {
890
- ...posRef.current
891
- };
892
- // native animates floatingScale too, but the floating render never
893
- // applies scale in its transform list — so visually it's fade + move,
894
- // which is what we replicate.
895
- animCancelsRef.current.push(runAnim(300, easeInOut, v => {
896
- el.style.opacity = String(1 - v);
897
- const x = from.x + (targetX - from.x) * v;
898
- const y = from.y + (targetY - from.y) * v;
899
- el.style.transform = `translate(${x}px, ${y}px)`;
900
- }, () => onMinimize(currentState)));
901
- }
902
- }, [mode, onMinimize, minimizeTargetPosition, cancelAnims, enablePersistence, persistenceKey]);
903
- const lastMinimizeRequest = useRef(minimizeRequest);
904
- useEffect(() => {
905
- if (lastMinimizeRequest.current === minimizeRequest) return;
906
- lastMinimizeRequest.current = minimizeRequest;
907
- handleMinimize();
908
- }, [minimizeRequest, handleMinimize]);
909
-
910
- // Apply initial modal state when restoring from minimized (native parity).
911
- useEffect(() => {
912
- if (!initialModalState) return;
913
- if (initialModalState.mode) {
914
- setMode(initialModalState.mode);
915
- onModeChangeRef.current?.(initialModalState.mode);
916
- }
917
- if (initialModalState.panelHeight) {
918
- setPanelHeight(initialModalState.panelHeight);
919
- currentHeightRef.current = initialModalState.panelHeight;
920
- }
921
- if (initialModalState.floatingDimensions && initialModalState.floatingPosition) {
922
- const newDimensions = {
923
- width: initialModalState.floatingDimensions.width,
924
- height: initialModalState.floatingDimensions.height,
925
- top: initialModalState.floatingPosition.y,
926
- left: initialModalState.floatingPosition.x
927
- };
928
- setDimensions(newDimensions);
929
- posRef.current = {
930
- x: initialModalState.floatingPosition.x,
931
- y: initialModalState.floatingPosition.y
932
- };
933
- }
934
- // eslint-disable-next-line react-hooks/exhaustive-deps
935
- }, [initialModalState]);
936
-
937
- // ==========================================================================
938
- // VISIBILITY / OPEN ANIMATIONS (mirrors native visibility effect: runs on
939
- // visible AND mode changes; visible=false skips — the hidden tree renders)
940
- // ==========================================================================
941
- useLayoutEffect(() => {
942
- if (!visible) return;
943
- cancelAnims();
944
- if (mode === "bottomSheet") {
945
- const wrapper = sheetWrapperRef.current;
946
- if (!wrapper) return;
947
- const distance = screenH();
948
- // native: reset translateY to SCREEN.height + progress 0, then
949
- // spring(tension 180, friction 22) → 0 and timing(200) opacity → 1.
950
- wrapper.style.transform = `translateY(${distance}px)`;
951
- wrapper.style.opacity = "0";
952
- animCancelsRef.current.push(
953
- // spring stand-in: 300ms ease-out-cubic (logged deviation)
954
- runAnim(300, easeOutCubic, v => {
955
- wrapper.style.transform = `translateY(${(1 - v) * distance}px)`;
956
- }), runAnim(200, easeInOut, v => {
957
- wrapper.style.opacity = String(v);
958
- }));
959
- } else {
960
- const el = floatRef.current;
961
- if (!el) return;
962
- // Restore the saved position after the minimize animation.
963
- posRef.current = {
964
- x: currentDimensionsRef.current.left,
965
- y: currentDimensionsRef.current.top
966
- };
967
- el.style.transform = `translate(${posRef.current.x}px, ${posRef.current.y}px)`;
968
- // native: floatingScale jumps to 1 (no pop) + timing(200) opacity → 1
969
- el.style.opacity = "0";
970
- animCancelsRef.current.push(runAnim(200, easeInOut, v => {
971
- el.style.opacity = String(v);
972
- }));
973
- }
974
- }, [visible, mode, cancelAnims]);
975
-
976
- // ==========================================================================
977
- // TAP COUNTING — native spec: 500ms window, 300ms settle;
978
- // 2 taps → toggle mode, ≥3 taps → minimize
979
- // ==========================================================================
980
- const lastTapRef = useRef(0);
981
- const tapCountRef = useRef(0);
982
- const tapTimeoutRef = useRef(null);
983
- const registerTap = useCallback(() => {
984
- const now = Date.now();
985
- if (now - lastTapRef.current > 500) {
986
- tapCountRef.current = 0;
987
- }
988
- tapCountRef.current++;
989
- lastTapRef.current = now;
990
- if (tapTimeoutRef.current) clearTimeout(tapTimeoutRef.current);
991
- tapTimeoutRef.current = setTimeout(() => {
992
- if (tapCountRef.current === 2) {
993
- toggleMode();
994
- } else if (tapCountRef.current >= 3) {
995
- if (onMinimize) handleMinimize();
996
- }
997
- tapCountRef.current = 0;
998
- }, 300);
999
- }, [toggleMode, onMinimize, handleMinimize]);
1000
- useEffect(() => {
1001
- return () => {
1002
- if (tapTimeoutRef.current) clearTimeout(tapTimeoutRef.current);
1003
- };
1004
- }, []);
1005
-
1006
- // ==========================================================================
1007
- // GESTURE: bottom-sheet header drag-resize (native bottomSheetPanResponder)
1008
- // ==========================================================================
1009
- const sheetGestureRef = useRef({
1010
- active: false,
1011
- resizing: false,
1012
- startY: 0,
1013
- headerOffsetY: 0,
1014
- samples: []
1015
- });
1016
- const handleSheetPointerDown = useCallback(e => {
1017
- if (mode !== "bottomSheet") return;
1018
- // Ignore clicks on interactive header children (window controls live
1019
- // outside the header, but custom content may contain buttons).
1020
- if (e.button !== 0 || e.target.closest('button, a, input, textarea, select, [role="button"], [role="tab"], [role="switch"], [contenteditable="true"], [tabindex]')) return;
1021
- const g = sheetGestureRef.current;
1022
- g.active = true;
1023
- g.resizing = false;
1024
- g.startY = e.clientY;
1025
- // native onPanResponderGrant: locationY — where inside the header the
1026
- // pointer grabbed (absolute finger anchoring).
1027
- const rect = e.currentTarget.getBoundingClientRect();
1028
- g.headerOffsetY = e.clientY - rect.top;
1029
- g.samples = [{
1030
- t: performance.now(),
1031
- y: e.clientY
1032
- }];
1033
- e.currentTarget.setPointerCapture(e.pointerId);
1034
- }, [mode]);
1035
- const handleSheetPointerMove = useCallback(e => {
1036
- const g = sheetGestureRef.current;
1037
- if (!g.active) return;
1038
- const dy = e.clientY - g.startY;
1039
- // native onMoveShouldSetPanResponder: |dy| > 3
1040
- if (!g.resizing && Math.abs(dy) > 3) {
1041
- g.resizing = true;
1042
- cancelAnims();
1043
- setIsResizing(true);
1044
- }
1045
- if (!g.resizing) return;
1046
- // native onPanResponderMove: sheetTop = pageY - headerTouchOffset;
1047
- // height = SCREEN.height - sheetTop, clamped
1048
- const sheetTop = e.clientY - g.headerOffsetY;
1049
- let targetHeight = screenH() - sheetTop;
1050
- targetHeight = Math.max(minHeight, Math.min(targetHeight, effectiveMaxHeight));
1051
- currentHeightRef.current = targetHeight;
1052
- if (sheetRef.current) sheetRef.current.style.height = `${targetHeight}px`;
1053
- // velocity samples (~last 100ms) for the swipe-to-close check
1054
- const now = performance.now();
1055
- g.samples.push({
1056
- t: now,
1057
- y: e.clientY
1058
- });
1059
- while (g.samples.length > 2 && now - g.samples[0].t > 100) g.samples.shift();
1060
- }, [minHeight, effectiveMaxHeight, cancelAnims]);
1061
- const handleSheetPointerUp = useCallback(e => {
1062
- const g = sheetGestureRef.current;
1063
- if (!g.active) return;
1064
- g.active = false;
1065
- if (!g.resizing) {
1066
- // Tap path — native: TouchableWithoutFeedback keeps the touch when
1067
- // movement stays under the 3px steal threshold.
1068
- registerTap();
1069
- return;
1070
- }
1071
- setIsResizing(false);
1072
- const finalHeight = currentHeightRef.current;
1073
- const dy = e.clientY - g.startY;
1074
- // vy in px/ms — same unit as RN gestureState.vy
1075
- const first = g.samples[0];
1076
- const last = g.samples[g.samples.length - 1];
1077
- const vy = last && first && last.t > first.t ? (last.y - first.y) / (last.t - first.t) : 0;
1078
-
1079
- // native close spec: (vy > 0.8 && dy > 50) || (dy > 150 && h <= minHeight)
1080
- const shouldClose = vy > 0.8 && dy > 50 || dy > 150 && finalHeight <= minHeight;
1081
- if (shouldClose) {
1082
- const wrapper = sheetWrapperRef.current;
1083
- cancelAnims();
1084
- if (wrapper) {
1085
- const distance = screenH();
1086
- // native: timing(200) opacity→0 + spring translateY→SCREEN.height
1087
- animCancelsRef.current.push(runAnim(200, easeInOut, v => {
1088
- wrapper.style.opacity = String(1 - v);
1089
- }), runAnim(300, easeOutCubic, v => {
1090
- wrapper.style.transform = `translateY(${v * distance}px)`;
1091
- }, () => onClose()));
1092
- } else {
1093
- onClose();
1094
- }
1095
- return;
1096
- }
1097
-
1098
- // Already at the finger-tracked height; just commit state.
1099
- setPanelHeight(finalHeight);
1100
- }, [minHeight, onClose, registerTap, cancelAnims]);
1101
- const handleSheetPointerCancel = useCallback(() => {
1102
- const g = sheetGestureRef.current;
1103
- if (!g.active) return;
1104
- g.active = false;
1105
- g.resizing = false;
1106
- setIsResizing(false);
1107
- }, []);
1108
-
1109
- // ==========================================================================
1110
- // GESTURE: floating header drag (native DraggableHeader semantics)
1111
- // ==========================================================================
1112
- const dragGestureRef = useRef({
1113
- active: false,
1114
- dragging: false,
1115
- startX: 0,
1116
- startY: 0,
1117
- startPos: {
1118
- x: 0,
1119
- y: 0
1120
- }
1121
- });
1122
- const handleFloatPointerDown = useCallback(e => {
1123
- // native: DraggableHeader enabled = mode === "floating" && !isResizing
1124
- if (mode !== "floating" || isResizing) return;
1125
- if (e.button !== 0 || e.target.closest('button, a, input, textarea, select, [role="button"], [role="tab"], [role="switch"], [contenteditable="true"], [tabindex]')) return;
1126
- const g = dragGestureRef.current;
1127
- g.active = true;
1128
- g.dragging = false;
1129
- g.startX = e.clientX;
1130
- g.startY = e.clientY;
1131
- g.startPos = {
1132
- ...posRef.current
1133
- };
1134
- e.currentTarget.setPointerCapture(e.pointerId);
1135
- }, [mode, isResizing]);
1136
- const handleFloatPointerMove = useCallback(e => {
1137
- const g = dragGestureRef.current;
1138
- if (!g.active) return;
1139
- const dx = e.clientX - g.startX;
1140
- const dy = e.clientY - g.startY;
1141
- // native DraggableHeader: drag begins when |dx| + |dy| > 5
1142
- if (!g.dragging && Math.abs(dx) + Math.abs(dy) > 5) {
1143
- g.dragging = true;
1144
- setIsDragging(true);
1145
- }
1146
- if (!g.dragging) return;
1147
- // relative dx/dy motion, unclamped during move (native parity)
1148
- const x = g.startPos.x + dx;
1149
- const y = g.startPos.y + dy;
1150
- posRef.current = {
1151
- x,
1152
- y
1153
- };
1154
- if (floatRef.current) {
1155
- floatRef.current.style.transform = `translate(${x}px, ${y}px)`;
1156
- }
1157
- }, []);
1158
- const handleFloatPointerUp = useCallback(() => {
1159
- const g = dragGestureRef.current;
1160
- if (!g.active) return;
1161
- g.active = false;
1162
- if (!g.dragging) {
1163
- registerTap(); // native: DraggableHeader onTap → handleFloatingTap
1164
- return;
1165
- }
1166
- setIsDragging(false);
1167
- // Release clamp keeps the whole window inside the safe area (all four
1168
- // insets — deliberate improvement over native, which only clamps top).
1169
- const dims = currentDimensionsRef.current;
1170
- const clampedRect = clampRectToSafeArea({
1171
- ...dims,
1172
- left: posRef.current.x,
1173
- top: posRef.current.y
1174
- }, insets);
1175
- const clampedX = clampedRect.left;
1176
- const clampedY = clampedRect.top;
1177
- posRef.current = {
1178
- x: clampedX,
1179
- y: clampedY
1180
- };
1181
- if (floatRef.current) {
1182
- floatRef.current.style.transform = `translate(${clampedX}px, ${clampedY}px)`;
1183
- }
1184
- setDimensions(prev => ({
1185
- ...prev,
1186
- left: clampedX,
1187
- top: clampedY
1188
- }));
1189
- }, [insets, registerTap]);
1190
- const handleFloatPointerCancel = useCallback(() => {
1191
- const g = dragGestureRef.current;
1192
- if (!g.active) return;
1193
- g.active = false;
1194
- g.dragging = false;
1195
- setIsDragging(false);
1196
- }, []);
1197
-
1198
- // ==========================================================================
1199
- // GESTURE: floating corner resize (native createResizeHandler — only the
1200
- // bottom corners are rendered, to avoid conflicts with the window controls)
1201
- // ==========================================================================
1202
- const resizeGestureRef = useRef({
1203
- active: false,
1204
- corner: "bottomRight",
1205
- startX: 0,
1206
- startY: 0,
1207
- start: {
1208
- width: 0,
1209
- height: 0,
1210
- top: 0,
1211
- left: 0
1212
- }
1213
- });
1214
- const handleResizePointerDown = useCallback(corner => e => {
1215
- if (mode !== "floating") return;
1216
- e.stopPropagation();
1217
- const g = resizeGestureRef.current;
1218
- g.active = true;
1219
- g.corner = corner;
1220
- g.startX = e.clientX;
1221
- g.startY = e.clientY;
1222
- g.start = {
1223
- ...currentDimensionsRef.current
1224
- };
1225
- setIsResizing(true);
1226
- e.currentTarget.setPointerCapture(e.pointerId);
1227
- }, [mode]);
1228
- const handleResizePointerMove = useCallback(e => {
1229
- const g = resizeGestureRef.current;
1230
- if (!g.active) return;
1231
- const dx = e.clientX - g.startX;
1232
- const dy = e.clientY - g.startY;
1233
- // native: moves under 0.5px are ignored
1234
- if (Math.abs(dx) < 0.5 && Math.abs(dy) < 0.5) return;
1235
-
1236
- // native safe-area-aware bounds
1237
- const minLeft = Math.max(0, insets.left);
1238
- const maxBottom = screenH() - Math.max(0, insets.bottom);
1239
- const maxRight = screenW() - Math.max(0, insets.right);
1240
- const floatingMinWidth = screenW() * 0.25; // native FLOATING_MIN_WIDTH
1241
- const start = g.start;
1242
- const startRight = start.left + start.width;
1243
- const startBottom = start.top + start.height;
1244
- let left = start.left;
1245
- const top = start.top; // bottom corners anchor the top edge
1246
- let right = startRight;
1247
- let bottom = startBottom;
1248
- if (g.corner === "bottomLeft") {
1249
- // move left & bottom; anchor right & top
1250
- left = Math.max(minLeft, Math.min(start.left + dx, startRight - floatingMinWidth));
1251
- bottom = Math.min(maxBottom, Math.max(startBottom + dy, start.top + FLOATING_MIN_HEIGHT));
1252
- } else {
1253
- // bottomRight: move right & bottom; anchor left & top
1254
- right = Math.min(maxRight, Math.max(startRight + dx, start.left + floatingMinWidth));
1255
- bottom = Math.min(maxBottom, Math.max(startBottom + dy, start.top + FLOATING_MIN_HEIGHT));
1256
- }
1257
- const updatedWidth = Math.max(floatingMinWidth, right - left);
1258
- const updatedHeight = Math.max(FLOATING_MIN_HEIGHT, bottom - top);
1259
- const next = {
1260
- width: updatedWidth,
1261
- height: updatedHeight,
1262
- left,
1263
- top
1264
- };
1265
- currentDimensionsRef.current = next;
1266
- posRef.current = {
1267
- x: left,
1268
- y: top
1269
- };
1270
- // native pushes setDimensions per move (state drives width/height)
1271
- setDimensions(next);
1272
- if (floatRef.current) {
1273
- floatRef.current.style.transform = `translate(${left}px, ${top}px)`;
1274
- }
1275
- }, [insets.left, insets.right, insets.bottom]);
1276
- const handleResizePointerUp = useCallback(() => {
1277
- const g = resizeGestureRef.current;
1278
- if (!g.active) return;
1279
- g.active = false;
1280
- setIsResizing(false);
1281
- setDimensions(currentDimensionsRef.current);
1282
- }, []);
1283
-
1284
- // ==========================================================================
1285
- // RENDER
1286
- // ==========================================================================
1287
-
1288
- // Hidden but mounted — panel state and listeners survive minimize/close-
1289
- // to-background, same as native's offscreen container.
1290
- // The three branches below carry distinct keys ON PURPOSE: the open/
1291
- // minimize animations write opacity/transform imperatively (rAF, outside
1292
- // React's style props), so if React reused a DOM node across branches —
1293
- // e.g. a fresh mount whose async-persisted mode flips bottomSheet→floating
1294
- // mid-entrance — the old sheet wrapper (opacity ≈ 0, translateY offscreen)
1295
- // would be recycled as the floating header and render a blank strip.
1296
- // React never clears styles it didn't set via props; distinct keys force a
1297
- // clean remount of the chrome instead. (Children remount with it, matching
1298
- // native, whose mode branches are different trees too — tool panels hold
1299
- // their state above JsModal or in external stores.)
1300
- if (!visible) {
1301
- return /*#__PURE__*/_jsx("div", {
1302
- style: {
1303
- display: "none"
1304
- },
1305
- "aria-hidden": true,
1306
- children: children
1307
- }, "hidden");
1308
- }
1309
- const dialogLabel = header?.title || "Dev tool panel";
1310
- const isNight = variant === "night";
1311
-
1312
- // Night: the star field fills the whole sheet — header included — instead
1313
- // of starting under the header band (native parity: hoisted to sheet root).
1314
- const nightBackdrop = background && isNight ? /*#__PURE__*/_jsx("div", {
1315
- style: {
1316
- position: "absolute",
1317
- inset: 0,
1318
- pointerEvents: "none"
1319
- },
1320
- "aria-hidden": true,
1321
- children: /*#__PURE__*/_jsx(ToolBackground, {})
1322
- }) : null;
1323
-
1324
- // Content block shared by both modes — native styles.content:
1325
- // flex 1, bg base #121212, borderBottomRadius 16, overflow hidden.
1326
- // Night: transparent, so the sheet-level star field shows through.
1327
- const contentBlock = /*#__PURE__*/_jsxs("div", {
1328
- style: {
1329
- flex: 1,
1330
- minHeight: 0,
1331
- position: "relative",
1332
- display: "flex",
1333
- flexDirection: "column",
1334
- backgroundColor: isNight ? "transparent" : buoy.base,
1335
- borderBottomLeftRadius: 16,
1336
- borderBottomRightRadius: 16,
1337
- overflow: "hidden",
1338
- ...customStyles.content
1339
- },
1340
- children: [background && !isNight ? /*#__PURE__*/_jsx(ToolBackground, {}) : null, disableScrollWrapper ?
1341
- /*#__PURE__*/
1342
- // children manage their own scrolling (native: plain flex View)
1343
- _jsx("div", {
1344
- style: {
1345
- flex: 1,
1346
- minHeight: 0,
1347
- display: "flex",
1348
- flexDirection: "column",
1349
- paddingBottom: footerHeight
1350
- },
1351
- children: children
1352
- }) :
1353
- /*#__PURE__*/
1354
- // native: ScrollView with flexGrow 1 + paddingBottom footerHeight
1355
- _jsx("div", {
1356
- style: {
1357
- flex: 1,
1358
- minHeight: 0,
1359
- overflowY: "auto",
1360
- paddingBottom: footerHeight
1361
- },
1362
- children: children
1363
- }), footer ? /*#__PURE__*/_jsx("div", {
1364
- style: {
1365
- // native footerStyles.footerContainer
1366
- position: "absolute",
1367
- left: 0,
1368
- right: 0,
1369
- bottom: 0,
1370
- backgroundColor: buoy.base,
1371
- borderBottomLeftRadius: 16,
1372
- borderBottomRightRadius: 16
1373
- },
1374
- children: footer
1375
- }) : null]
1376
- });
1377
- const windowControlsBlock =
1378
- /*#__PURE__*/
1379
- // native windowControlsContainer: absolute top 4 right 4, zIndex 10
1380
- _jsx("div", {
1381
- style: {
1382
- position: "absolute",
1383
- top: 4,
1384
- right: 4,
1385
- zIndex: 10
1386
- },
1387
- children: /*#__PURE__*/_jsx(WindowControls, {
1388
- onClose: onClose,
1389
- onMinimize: onMinimize ? handleMinimize : undefined,
1390
- onToggleMode: toggleMode,
1391
- mode: mode
1392
- })
1393
- });
1394
-
1395
- // ----- FLOATING MODE ------------------------------------------------------
1396
- if (mode === "floating") {
1397
- const active = isDragging || isResizing;
1398
- return /*#__PURE__*/_jsxs("div", {
1399
- ref: floatRef,
1400
- role: "dialog",
1401
- "aria-label": dialogLabel,
1402
- style: {
1403
- // native floatingModal: absolute, card bg, radius 6, 1px #333
1404
- // border, teal glow (shadowOpacity 0.3, radius 20), zIndex 1000.
1405
- // Dragging: 2px teal border + tighter teal glow
1406
- // (primary+"99" × shadowOpacity 0.8 ≈ 0.48 effective alpha).
1407
- position: "fixed",
1408
- left: 0,
1409
- top: 0,
1410
- width: dimensions.width,
1411
- height: dimensions.height,
1412
- transform: `translate(${posRef.current.x}px, ${posRef.current.y}px)`,
1413
- display: "flex",
1414
- flexDirection: "column",
1415
- backgroundColor: isNight ? night.color.bg : buoy.card,
1416
- borderRadius: isNight ? night.radius.sheet : 6,
1417
- border: isNight ? `1px solid ${night.color.accent}55` : active ? `2px solid ${buoy.primary}` : `1px solid ${buoy.border}`,
1418
- boxShadow: isNight ? `0 0 14px ${night.color.accent}38` : active ? `0 0 12px ${buoy.primary}7A` : `0 0 20px ${buoy.primary}4D`,
1419
- // Night clips the hoisted star field to the rounded window.
1420
- ...(isNight ? {
1421
- overflow: "hidden"
1422
- } : null),
1423
- boxSizing: "border-box",
1424
- // RN borders draw inside the rect
1425
- zIndex: zIndex ?? 1000,
1426
- ...customStyles.container
1427
- },
1428
- children: [nightBackdrop, /*#__PURE__*/_jsx("div", {
1429
- onPointerDown: handleFloatPointerDown,
1430
- onPointerMove: handleFloatPointerMove,
1431
- onPointerUp: handleFloatPointerUp,
1432
- onPointerCancel: handleFloatPointerCancel,
1433
- style: {
1434
- // native styles.header (+ floatingHeader top radius 6);
1435
- // night: transparent glass, no border — the field runs through
1436
- borderTopLeftRadius: isNight ? night.radius.sheet : 6,
1437
- borderTopRightRadius: isNight ? night.radius.sheet : 6,
1438
- backgroundColor: isNight ? "transparent" : buoy.card,
1439
- minHeight: 56,
1440
- border: isNight ? "none" : `1px solid ${buoy.border}`,
1441
- boxSizing: "border-box",
1442
- display: "flex",
1443
- flexDirection: "column",
1444
- justifyContent: "center",
1445
- flexShrink: 0,
1446
- touchAction: "none",
1447
- userSelect: "none",
1448
- cursor: isDragging ? "grabbing" : "grab",
1449
- // web-only affordance
1450
- position: "relative"
1451
- },
1452
- children: /*#__PURE__*/_jsx(ModalHeaderContent, {
1453
- header: header,
1454
- isResizing: isDragging || isResizing,
1455
- mode: mode,
1456
- onMinimize: onMinimize ? handleMinimize : undefined,
1457
- variant: variant
1458
- })
1459
- }), windowControlsBlock, contentBlock, ["bottomLeft", "bottomRight"].map(corner => /*#__PURE__*/_jsx("div", {
1460
- onPointerDown: handleResizePointerDown(corner),
1461
- onPointerMove: handleResizePointerMove,
1462
- onPointerUp: handleResizePointerUp,
1463
- onPointerCancel: handleResizePointerUp,
1464
- style: {
1465
- position: "absolute",
1466
- width: 30,
1467
- height: 30,
1468
- bottom: 4,
1469
- ...(corner === "bottomLeft" ? {
1470
- left: 4
1471
- } : {
1472
- right: 4
1473
- }),
1474
- zIndex: 1000,
1475
- touchAction: "none",
1476
- cursor: corner === "bottomLeft" ? "nesw-resize" : "nwse-resize"
1477
- },
1478
- children: /*#__PURE__*/_jsx("div", {
1479
- style: {
1480
- width: 20,
1481
- height: 20,
1482
- borderRadius: 10,
1483
- boxSizing: "border-box",
1484
- backgroundColor: active ? `${gameUI.success}1A` : "transparent",
1485
- border: active ? `2px solid ${gameUI.success}` : "none",
1486
- boxShadow: active ? `0 0 8px ${gameUI.success}99` : "none"
1487
- }
1488
- })
1489
- }, corner))]
1490
- }, "floating");
1491
- }
1492
-
1493
- // ----- BOTTOM SHEET MODE --------------------------------------------------
1494
- return (
1495
- /*#__PURE__*/
1496
- // native fullScreenContainer: absolute fill, zIndex 1000, box-none
1497
- _jsx("div", {
1498
- style: {
1499
- position: "fixed",
1500
- inset: 0,
1501
- zIndex: zIndex ?? 1000,
1502
- pointerEvents: "none"
1503
- },
1504
- children: /*#__PURE__*/_jsx("div", {
1505
- ref: sheetWrapperRef,
1506
- style: {
1507
- position: "absolute",
1508
- bottom: 0,
1509
- left: 0,
1510
- right: 0,
1511
- pointerEvents: "auto"
1512
- },
1513
- children: /*#__PURE__*/_jsxs("div", {
1514
- ref: sheetRef,
1515
- role: "dialog",
1516
- "aria-label": dialogLabel,
1517
- style: {
1518
- // native bottomSheet: card bg, top radius 6, 1px #333 border,
1519
- // teal shadow (offset 0/-4, opacity 0.2, radius 12).
1520
- // Night: #050505 sheet, top radius 16, hairline accent border.
1521
- height: currentHeightRef.current,
1522
- display: "flex",
1523
- flexDirection: "column",
1524
- backgroundColor: isNight ? night.color.bg : buoy.card,
1525
- borderTopLeftRadius: isNight ? night.radius.sheet : 6,
1526
- borderTopRightRadius: isNight ? night.radius.sheet : 6,
1527
- border: isNight ? `1px solid ${night.color.accent}55` : `1px solid ${buoy.border}`,
1528
- boxShadow: isNight ? `0 -4px 10px ${night.color.accent}38` : `0 -4px 12px ${buoy.primary}33`,
1529
- // Night clips the hoisted star field to the rounded sheet.
1530
- ...(isNight ? {
1531
- overflow: "hidden"
1532
- } : null),
1533
- boxSizing: "border-box",
1534
- position: "relative",
1535
- ...customStyles.container
1536
- },
1537
- children: [nightBackdrop, /*#__PURE__*/_jsx("div", {
1538
- onPointerDown: handleSheetPointerDown,
1539
- onPointerMove: handleSheetPointerMove,
1540
- onPointerUp: handleSheetPointerUp,
1541
- onPointerCancel: handleSheetPointerCancel,
1542
- style: {
1543
- // native styles.header; night: transparent glass, no border
1544
- borderTopLeftRadius: isNight ? night.radius.sheet : 6,
1545
- borderTopRightRadius: isNight ? night.radius.sheet : 6,
1546
- backgroundColor: isNight ? "transparent" : buoy.card,
1547
- minHeight: 56,
1548
- border: isNight ? "none" : `1px solid ${buoy.border}`,
1549
- boxSizing: "border-box",
1550
- display: "flex",
1551
- flexDirection: "column",
1552
- justifyContent: "center",
1553
- flexShrink: 0,
1554
- touchAction: "none",
1555
- userSelect: "none",
1556
- cursor: "ns-resize",
1557
- // web-only affordance
1558
- position: "relative"
1559
- },
1560
- children: /*#__PURE__*/_jsx(ModalHeaderContent, {
1561
- header: header,
1562
- isResizing: isResizing,
1563
- mode: mode,
1564
- onMinimize: onMinimize ? handleMinimize : undefined,
1565
- variant: variant
1566
- })
1567
- }), windowControlsBlock, hintLoaded && showHint && !hintsDisabled && /*#__PURE__*/_jsx(ModalHintBanner, {
1568
- onAcknowledge: handleHintAcknowledge
1569
- }), contentBlock]
1570
- })
1571
- })
1572
- }, "bottomSheet")
1573
- );
1574
- };
1575
-
1576
- // ============================================================================
1577
- // EXPORT — memoized like native
1578
- // ============================================================================
1579
- export const JsModal = /*#__PURE__*/memo(props => {
1580
- const access = getUseAccountAccess()();
1581
- if (access.status !== "admitted") return props.visible ? /*#__PURE__*/_jsx(AccountSetup, {}) : null;
1582
- return /*#__PURE__*/_jsx(JsModalComponent, {
1583
- ...props
1584
- });
1585
- });
1
+ "use strict";import{getUseAccountAccess as ye}from"./license/licenseModule.js";import{AccountSetup as be}from"./license/AccountSetup";import{useState as A,useRef as b,useEffect as P,useLayoutEffect as we,useCallback as y,memo as bt,isValidElement as ve,cloneElement as Ce}from"react";import{persistentStorage as Ut}from"./utils/persistentStorage";import{ModalStorage as wt}from"./utils/modalStorage.js";import{devToolsStorageKeys as Nt}from"./storage/devToolsStorageKeys.js";import{useHintsDisabled as ke}from"./context/index.js";import{ToolBackground as Jt}from"./ui/backgrounds/ToolBackground.js";import{night as C}from"./ui/night/nightTheme.js";import{jsx as o,jsxs as k}from"react/jsx-runtime";const p={base:"#121212",card:"#1A1A1A",border:"#333333",textMuted:"#888888",primary:"#20C997"};const m={primary:"#F5F5F7",primaryLight:"#F5F5F7",secondary:"#A1A1A6",muted:"#8E8E93",success:"#34C759",info:"#00B8E6"};const Re=100;const Se=400;const Vt=500;const Q=80;const ct=()=>typeof window!=="undefined"?window.innerWidth:0;const Y=()=>typeof window!=="undefined"?window.innerHeight:0;const Zt=n=>1-Math.pow(1-n,3);const K=n=>n<.5?2*n*n:1-Math.pow(-2*n+2,2)/2;function j(n,r,s,h){let g=0;let f=false;const H=performance.now();const B=Dt=>{if(f)return;const lt=Math.min((Dt-H)/n,1);s(r(lt));if(lt<1){g=requestAnimationFrame(B)}else{h?.()}};g=requestAnimationFrame(B);return()=>{f=true;cancelAnimationFrame(g)}}function De(){if(typeof document==="undefined"){return{top:0,left:0,right:0,bottom:0}}const n=document.createElement("div");n.style.cssText="position:fixed;top:env(safe-area-inset-top);left:env(safe-area-inset-left);right:env(safe-area-inset-right);bottom:env(safe-area-inset-bottom);visibility:hidden;pointer-events:none";document.body.appendChild(n);const r=n.getBoundingClientRect();document.body.removeChild(n);return{top:Math.max(0,r.top),left:Math.max(0,r.left),right:Math.max(0,window.innerWidth-r.right),bottom:Math.max(0,window.innerHeight-r.bottom)}}function vt(n,r){const s=Math.max(Q,window.innerWidth-r.left-r.right);const h=Math.max(Q,window.innerHeight-r.top-r.bottom);const g=Math.min(n.width,s);const f=Math.min(n.height,h);return{width:g,height:f,left:Math.max(r.left,Math.min(n.left,window.innerWidth-r.right-g)),top:Math.max(r.top,Math.min(n.top,window.innerHeight-r.bottom-f))}}const Me=({size:n=24,color:r="currentColor",strokeWidth:s=2})=>k("svg",{width:n,height:n,viewBox:"0 0 24 24",fill:"none",children:[o("line",{x1:18,y1:6,x2:6,y2:18,stroke:r,strokeWidth:s,strokeLinecap:"round"}),o("line",{x1:6,y1:6,x2:18,y2:18,stroke:r,strokeWidth:s,strokeLinecap:"round"})]});const He=({size:n=24,color:r="currentColor",strokeWidth:s=2})=>o("svg",{width:n,height:n,viewBox:"0 0 24 24",fill:"none",children:o("line",{x1:5,y1:12,x2:19,y2:12,stroke:r,strokeWidth:s,strokeLinecap:"round"})});const Ie=({size:n=24,color:r="currentColor",strokeWidth:s=2})=>k("svg",{width:n,height:n,viewBox:"0 0 24 24",fill:"none",children:[o("rect",{x:3,y:3,width:18,height:18,rx:2,stroke:r,strokeWidth:s}),o("rect",{x:3,y:14,width:18,height:7,fill:r})]});const $e=({size:n=24,color:r="currentColor",strokeWidth:s=2})=>k("svg",{width:n,height:n,viewBox:"0 0 24 24",fill:"none",children:[o("rect",{x:3,y:3,width:14,height:14,rx:2,stroke:r,strokeWidth:s}),o("line",{x1:7,y1:17,x2:7,y2:21,stroke:r,strokeWidth:s}),o("line",{x1:7,y1:21,x2:21,y2:21,stroke:r,strokeWidth:s}),o("line",{x1:21,y1:21,x2:21,y2:7,stroke:r,strokeWidth:s}),o("line",{x1:17,y1:7,x2:21,y2:7,stroke:r,strokeWidth:s})]});const Ct={close:"#FF5F57",minimize:"#FEBC2E",toggleMode:"#28C840"};const kt=24;const Te=2;const Rt=8;const St=n=>({width:kt,height:kt,borderRadius:kt/2,display:"flex",alignItems:"center",justifyContent:"center",background:`radial-gradient(circle, ${n} 6px, transparent 6px)`,border:"none",padding:0,cursor:"pointer",flexShrink:0});function Ae({onClose:n,onMinimize:r,onToggleMode:s,mode:h}){const g=h==="floating"?Ie:$e;const f=h==="floating"?"Dock to bottom sheet":"Make floating window";return k("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:Te},children:[r&&o("button",{type:"button",onClick:r,style:St(Ct.minimize),"aria-label":"Minimize modal",children:o(He,{size:Rt,color:"#7A5A00",strokeWidth:1.5})}),s&&o("button",{type:"button",onClick:s,style:St(Ct.toggleMode),"aria-label":f,children:o(g,{size:Rt,color:"#004A1A",strokeWidth:1.5})}),o("button",{type:"button",onClick:n,style:St(Ct.close),"aria-label":"Close modal",children:o(Me,{size:Rt,color:"#4A0000",strokeWidth:1.5})})]})}const qt=bt(function n({isResizing:r,mode:s,hasCustomContent:h=false,variant:g="default"}){const f=s==="floating";const H=g==="night";return k("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",position:"relative",justifyContent:h?"center":void 0,minHeight:h?32:void 0,paddingTop:h?0:8,paddingBottom:h?0:8,backgroundColor:"transparent"},children:[o("div",{style:{width:H?36:r?40:f?50:40,height:H?5:f?5:3,backgroundColor:H?C.color.placeholder:r?p.primary:f?p.textMuted:p.primary,borderRadius:H?2.5:2,boxShadow:H?"none":`0 0 4px ${p.primary}99`}}),r&&s==="bottomSheet"&&o("div",{style:{position:"absolute",display:"flex",flexDirection:"row",gap:2,marginTop:12},children:[0,1,2].map(B=>o("div",{style:{width:12,height:1,backgroundColor:m.success,opacity:.6}},B))})]})});const Pe=bt(function n({onAcknowledge:r}){return o("div",{style:{backgroundColor:`${m.info}15`,borderLeft:`3px solid ${m.info}`,borderRadius:8,margin:"8px 12px 4px",overflow:"hidden",boxShadow:`0 0 8px ${m.info}4D`,flexShrink:0},children:k("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",padding:12,gap:12},children:[k("div",{style:{width:32,height:32,position:"relative",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:[o("div",{style:{position:"absolute",width:20,height:20,borderRadius:10,border:`2px solid ${m.info}`,opacity:.6,transform:"scale(0.8)",boxSizing:"border-box"}}),o("div",{style:{position:"absolute",width:20,height:20,borderRadius:10,border:`2px solid ${m.info}`,boxSizing:"border-box"}})]}),k("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:2},children:[o("span",{style:{fontSize:13,fontWeight:600,color:m.info,letterSpacing:.3},children:"\u{1F4A1} Pro Tip"}),o("span",{style:{fontSize:12,color:m.primaryLight,lineHeight:"16px"},children:"Double-tap the header to transform this into a floating modal"})]}),o("button",{type:"button",onClick:r,style:{backgroundColor:`${m.info}30`,padding:"6px 12px",borderRadius:6,border:`1px solid ${m.info}50`,fontSize:12,fontWeight:600,color:m.info,cursor:"pointer",fontFamily:"inherit",flexShrink:0},children:"Got it!"})]})})});function Qt({header:n,isResizing:r,mode:s,onMinimize:h,variant:g="default"}){if(n?.customContent){let f=n.customContent;if(ve(n.customContent)&&h){f=Ce(n.customContent,{onMinimize:h})}return k("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center",minWidth:0},children:[o(qt,{isResizing:r,mode:s,hasCustomContent:true,variant:g}),f]})}return k("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center",position:"relative",minWidth:0},children:[o(qt,{isResizing:r,mode:s,variant:g}),k("div",{style:{padding:"0 16px",display:"flex",flexDirection:"column",alignItems:"center"},children:[n?.title&&o("span",{style:{fontSize:16,fontWeight:600,color:m.primary},children:n.title}),n?.subtitle&&o("span",{style:{fontSize:12,color:m.secondary,paddingTop:4},children:n.subtitle})]}),o("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"},children:o("span",{style:{fontSize:10,color:m.muted,fontStyle:"italic"},children:"Double tap: Toggle \u2022 Triple tap: Close"})})]})}const Ye=({visible:n,onClose:r,children:s,header:h,styles:g={},minHeight:f=Re,maxHeight:H,initialHeight:B=Se,animatedHeight:Dt,benchMotion:lt,initialMode:Kt="bottomSheet",onModeChange:Mt,persistenceKey:I,enablePersistence:L=true,initialFloatingPosition:Ht,footer:It,footerHeight:$t=0,onBack:Be,onMinimize:R,minimizeRequest:tt=0,minimizeTargetPosition:dt,initialModalState:x,zIndex:Tt,disableScrollWrapper:te=false,background:At=true,variant:ut="night"})=>{const[S]=A(De);const[Pt,Yt]=A(!L);const[u,ft]=A(Kt);const et=b(Mt);et.current=Mt;const[O,W]=A(false);const[ht,G]=A(false);const[ee,pt]=A(B);const[$,U]=A(()=>vt({width:ct(),height:Vt,top:Ht?.y??(Y()-Vt)/2,left:Ht?.x??0},S));const[ne,nt]=A(false);const[oe,Bt]=A(false);const re=ke();const z=b(B);const D=b($);const w=b({x:$.left,y:$.top});const ot=b(null);const gt=b(null);const T=b(null);const E=b([]);const M=y(()=>{E.current.forEach(t=>t());E.current=[]},[]);P(()=>{D.current=$},[$]);P(()=>M,[M]);const Lt=H||Y()-S.top;P(()=>{if(!L||!I){Yt(true);return}let t=true;const e=async()=>{const i=await wt.load(I);if(t&&i){if(i.mode){ft(i.mode);et.current?.(i.mode)}if(i.panelHeight){pt(i.panelHeight);z.current=i.panelHeight}if(i.dimensions){const a=vt(i.dimensions,S);U(a);w.current={x:a.left,y:a.top}}}if(t)Yt(true)};e();return()=>{t=false}},[I,L]);P(()=>{if(!L||!I||!Pt)return;const t=setTimeout(()=>{wt.save(I,{mode:u,panelHeight:z.current,dimensions:$,isVisible:n})},500);return()=>clearTimeout(t)},[u,ee,$,n,I,L,Pt]);P(()=>{let t=true;const e=async()=>{try{const i=Nt.modal.hintAcknowledged();const a=await Ut.getItem(i);if(t){nt(a!=="true");Bt(true)}}catch{if(t){nt(true);Bt(true)}}};e();return()=>{t=false}},[]);const ie=y(async()=>{try{const t=Nt.modal.hintAcknowledged();await Ut.setItem(t,"true");nt(false)}catch{nt(false)}},[]);const mt=y(()=>{G(false);W(false);const t=u==="bottomSheet"?"floating":"bottomSheet";ft(t);et.current?.(t)},[u]);P(()=>{G(false);W(false)},[u]);const F=y(()=>{if(!R)return;const t={mode:u,panelHeight:z.current,floatingPosition:{x:D.current.left,y:D.current.top},floatingDimensions:{width:D.current.width,height:D.current.height}};if(L&&I)void wt.saveMinimized(I,t);const e=dt?.x??ct()-50;const i=dt?.y??Y()-150;M();if(u==="bottomSheet"){const a=ot.current;if(!a){R(t);return}const c=Y();E.current.push(j(300,K,d=>{a.style.opacity=String(1-d);a.style.transform=`translateY(${d*c}px)`},()=>R(t)))}else{const a=T.current;if(!a){R(t);return}const c={...w.current};E.current.push(j(300,K,d=>{a.style.opacity=String(1-d);const V=c.x+(e-c.x)*d;const _=c.y+(i-c.y)*d;a.style.transform=`translate(${V}px, ${_}px)`},()=>R(t)))}},[u,R,dt,M,L,I]);const Wt=b(tt);P(()=>{if(Wt.current===tt)return;Wt.current=tt;F()},[tt,F]);P(()=>{if(!x)return;if(x.mode){ft(x.mode);et.current?.(x.mode)}if(x.panelHeight){pt(x.panelHeight);z.current=x.panelHeight}if(x.floatingDimensions&&x.floatingPosition){const t={width:x.floatingDimensions.width,height:x.floatingDimensions.height,top:x.floatingPosition.y,left:x.floatingPosition.x};U(t);w.current={x:x.floatingPosition.x,y:x.floatingPosition.y}}},[x]);we(()=>{if(!n)return;M();if(u==="bottomSheet"){const t=ot.current;if(!t)return;const e=Y();t.style.transform=`translateY(${e}px)`;t.style.opacity="0";E.current.push(j(300,Zt,i=>{t.style.transform=`translateY(${(1-i)*e}px)`}),j(200,K,i=>{t.style.opacity=String(i)}))}else{const t=T.current;if(!t)return;w.current={x:D.current.left,y:D.current.top};t.style.transform=`translate(${w.current.x}px, ${w.current.y}px)`;t.style.opacity="0";E.current.push(j(200,K,e=>{t.style.opacity=String(e)}))}},[n,u,M]);const zt=b(0);const N=b(0);const J=b(null);const rt=y(()=>{const t=Date.now();if(t-zt.current>500){N.current=0}N.current++;zt.current=t;if(J.current)clearTimeout(J.current);J.current=setTimeout(()=>{if(N.current===2){mt()}else if(N.current>=3){if(R)F()}N.current=0},300)},[mt,R,F]);P(()=>{return()=>{if(J.current)clearTimeout(J.current)}},[]);const it=b({active:false,resizing:false,startY:0,headerOffsetY:0,samples:[]});const se=y(t=>{if(u!=="bottomSheet")return;if(t.button!==0||t.target.closest('button, a, input, textarea, select, [role="button"], [role="tab"], [role="switch"], [contenteditable="true"], [tabindex]'))return;const e=it.current;e.active=true;e.resizing=false;e.startY=t.clientY;const i=t.currentTarget.getBoundingClientRect();e.headerOffsetY=t.clientY-i.top;e.samples=[{t:performance.now(),y:t.clientY}];t.currentTarget.setPointerCapture(t.pointerId)},[u]);const ae=y(t=>{const e=it.current;if(!e.active)return;const i=t.clientY-e.startY;if(!e.resizing&&Math.abs(i)>3){e.resizing=true;M();W(true)}if(!e.resizing)return;const a=t.clientY-e.headerOffsetY;let c=Y()-a;c=Math.max(f,Math.min(c,Lt));z.current=c;if(gt.current)gt.current.style.height=`${c}px`;const d=performance.now();e.samples.push({t:d,y:t.clientY});while(e.samples.length>2&&d-e.samples[0].t>100)e.samples.shift()},[f,Lt,M]);const ce=y(t=>{const e=it.current;if(!e.active)return;e.active=false;if(!e.resizing){rt();return}W(false);const i=z.current;const a=t.clientY-e.startY;const c=e.samples[0];const d=e.samples[e.samples.length-1];const V=d&&c&&d.t>c.t?(d.y-c.y)/(d.t-c.t):0;const _=V>.8&&a>50||a>150&&i<=f;if(_){const v=ot.current;M();if(v){const Z=Y();E.current.push(j(200,K,X=>{v.style.opacity=String(1-X)}),j(300,Zt,X=>{v.style.transform=`translateY(${X*Z}px)`},()=>r()))}else{r()}return}pt(i)},[f,r,rt,M]);const le=y(()=>{const t=it.current;if(!t.active)return;t.active=false;t.resizing=false;W(false)},[]);const st=b({active:false,dragging:false,startX:0,startY:0,startPos:{x:0,y:0}});const de=y(t=>{if(u!=="floating"||O)return;if(t.button!==0||t.target.closest('button, a, input, textarea, select, [role="button"], [role="tab"], [role="switch"], [contenteditable="true"], [tabindex]'))return;const e=st.current;e.active=true;e.dragging=false;e.startX=t.clientX;e.startY=t.clientY;e.startPos={...w.current};t.currentTarget.setPointerCapture(t.pointerId)},[u,O]);const ue=y(t=>{const e=st.current;if(!e.active)return;const i=t.clientX-e.startX;const a=t.clientY-e.startY;if(!e.dragging&&Math.abs(i)+Math.abs(a)>5){e.dragging=true;G(true)}if(!e.dragging)return;const c=e.startPos.x+i;const d=e.startPos.y+a;w.current={x:c,y:d};if(T.current){T.current.style.transform=`translate(${c}px, ${d}px)`}},[]);const fe=y(()=>{const t=st.current;if(!t.active)return;t.active=false;if(!t.dragging){rt();return}G(false);const e=D.current;const i=vt({...e,left:w.current.x,top:w.current.y},S);const a=i.left;const c=i.top;w.current={x:a,y:c};if(T.current){T.current.style.transform=`translate(${a}px, ${c}px)`}U(d=>({...d,left:a,top:c}))},[S,rt]);const he=y(()=>{const t=st.current;if(!t.active)return;t.active=false;t.dragging=false;G(false)},[]);const xt=b({active:false,corner:"bottomRight",startX:0,startY:0,start:{width:0,height:0,top:0,left:0}});const pe=y(t=>e=>{if(u!=="floating")return;e.stopPropagation();const i=xt.current;i.active=true;i.corner=t;i.startX=e.clientX;i.startY=e.clientY;i.start={...D.current};W(true);e.currentTarget.setPointerCapture(e.pointerId)},[u]);const ge=y(t=>{const e=xt.current;if(!e.active)return;const i=t.clientX-e.startX;const a=t.clientY-e.startY;if(Math.abs(i)<.5&&Math.abs(a)<.5)return;const c=Math.max(0,S.left);const d=Y()-Math.max(0,S.bottom);const V=ct()-Math.max(0,S.right);const _=ct()*.25;const v=e.start;const Z=v.left+v.width;const X=v.top+v.height;let q=v.left;const at=v.top;let Ot=Z;let yt=X;if(e.corner==="bottomLeft"){q=Math.max(c,Math.min(v.left+i,Z-_));yt=Math.min(d,Math.max(X+a,v.top+Q))}else{Ot=Math.min(V,Math.max(Z+i,v.left+_));yt=Math.min(d,Math.max(X+a,v.top+Q))}const me=Math.max(_,Ot-q);const xe=Math.max(Q,yt-at);const Gt={width:me,height:xe,left:q,top:at};D.current=Gt;w.current={x:q,y:at};U(Gt);if(T.current){T.current.style.transform=`translate(${q}px, ${at}px)`}},[S.left,S.right,S.bottom]);const Et=y(()=>{const t=xt.current;if(!t.active)return;t.active=false;W(false);U(D.current)},[]);if(!n){return o("div",{style:{display:"none"},"aria-hidden":true,children:s},"hidden")}const Ft=h?.title||"Dev tool panel";const l=ut==="night";const _t=At&&l?o("div",{style:{position:"absolute",inset:0,pointerEvents:"none"},"aria-hidden":true,children:o(Jt,{})}):null;const Xt=k("div",{style:{flex:1,minHeight:0,position:"relative",display:"flex",flexDirection:"column",backgroundColor:l?"transparent":p.base,borderBottomLeftRadius:16,borderBottomRightRadius:16,overflow:"hidden",...g.content},children:[At&&!l?o(Jt,{}):null,te?o("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column",paddingBottom:$t},children:s}):o("div",{style:{flex:1,minHeight:0,overflowY:"auto",paddingBottom:$t},children:s}),It?o("div",{style:{position:"absolute",left:0,right:0,bottom:0,backgroundColor:p.base,borderBottomLeftRadius:16,borderBottomRightRadius:16},children:It}):null]});const jt=o("div",{style:{position:"absolute",top:4,right:4,zIndex:10},children:o(Ae,{onClose:r,onMinimize:R?F:void 0,onToggleMode:mt,mode:u})});if(u==="floating"){const t=ht||O;return k("div",{ref:T,role:"dialog","aria-label":Ft,style:{position:"fixed",left:0,top:0,width:$.width,height:$.height,transform:`translate(${w.current.x}px, ${w.current.y}px)`,display:"flex",flexDirection:"column",backgroundColor:l?C.color.bg:p.card,borderRadius:l?C.radius.sheet:6,border:l?`1px solid ${C.color.accent}55`:t?`2px solid ${p.primary}`:`1px solid ${p.border}`,boxShadow:l?`0 0 14px ${C.color.accent}38`:t?`0 0 12px ${p.primary}7A`:`0 0 20px ${p.primary}4D`,...l?{overflow:"hidden"}:null,boxSizing:"border-box",zIndex:Tt??1e3,...g.container},children:[_t,o("div",{onPointerDown:de,onPointerMove:ue,onPointerUp:fe,onPointerCancel:he,style:{borderTopLeftRadius:l?C.radius.sheet:6,borderTopRightRadius:l?C.radius.sheet:6,backgroundColor:l?"transparent":p.card,minHeight:56,border:l?"none":`1px solid ${p.border}`,boxSizing:"border-box",display:"flex",flexDirection:"column",justifyContent:"center",flexShrink:0,touchAction:"none",userSelect:"none",cursor:ht?"grabbing":"grab",position:"relative"},children:o(Qt,{header:h,isResizing:ht||O,mode:u,onMinimize:R?F:void 0,variant:ut})}),jt,Xt,["bottomLeft","bottomRight"].map(e=>o("div",{onPointerDown:pe(e),onPointerMove:ge,onPointerUp:Et,onPointerCancel:Et,style:{position:"absolute",width:30,height:30,bottom:4,...e==="bottomLeft"?{left:4}:{right:4},zIndex:1e3,touchAction:"none",cursor:e==="bottomLeft"?"nesw-resize":"nwse-resize"},children:o("div",{style:{width:20,height:20,borderRadius:10,boxSizing:"border-box",backgroundColor:t?`${m.success}1A`:"transparent",border:t?`2px solid ${m.success}`:"none",boxShadow:t?`0 0 8px ${m.success}99`:"none"}})},e))]},"floating")}return o("div",{style:{position:"fixed",inset:0,zIndex:Tt??1e3,pointerEvents:"none"},children:o("div",{ref:ot,style:{position:"absolute",bottom:0,left:0,right:0,pointerEvents:"auto"},children:k("div",{ref:gt,role:"dialog","aria-label":Ft,style:{height:z.current,display:"flex",flexDirection:"column",backgroundColor:l?C.color.bg:p.card,borderTopLeftRadius:l?C.radius.sheet:6,borderTopRightRadius:l?C.radius.sheet:6,border:l?`1px solid ${C.color.accent}55`:`1px solid ${p.border}`,boxShadow:l?`0 -4px 10px ${C.color.accent}38`:`0 -4px 12px ${p.primary}33`,...l?{overflow:"hidden"}:null,boxSizing:"border-box",position:"relative",...g.container},children:[_t,o("div",{onPointerDown:se,onPointerMove:ae,onPointerUp:ce,onPointerCancel:le,style:{borderTopLeftRadius:l?C.radius.sheet:6,borderTopRightRadius:l?C.radius.sheet:6,backgroundColor:l?"transparent":p.card,minHeight:56,border:l?"none":`1px solid ${p.border}`,boxSizing:"border-box",display:"flex",flexDirection:"column",justifyContent:"center",flexShrink:0,touchAction:"none",userSelect:"none",cursor:"ns-resize",position:"relative"},children:o(Qt,{header:h,isResizing:O,mode:u,onMinimize:R?F:void 0,variant:ut})}),jt,oe&&ne&&!re&&o(Pe,{onAcknowledge:ie}),Xt]})})},"bottomSheet")};export const JsModal=bt(n=>{const r=ye()();if(r.status!=="admitted")return n.visible?o(be,{}):null;return o(Ye,{...n})});