@buoy-gg/shared-ui 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (820) hide show
  1. package/README.md +34 -0
  2. package/lib/commonjs/JsModal.js +1473 -0
  3. package/lib/commonjs/clipboard/autoDetectClipboard.js +67 -0
  4. package/lib/commonjs/clipboard/clipboard-impl.js +26 -0
  5. package/lib/commonjs/clipboard/copyToClipboard.js +66 -0
  6. package/lib/commonjs/clipboard/index.js +25 -0
  7. package/lib/commonjs/context/HintsContext.js +49 -0
  8. package/lib/commonjs/context/index.js +24 -0
  9. package/lib/commonjs/dataViewer/CyberpunkInput.js +382 -0
  10. package/lib/commonjs/dataViewer/DataViewer.js +142 -0
  11. package/lib/commonjs/dataViewer/DiffSummary.js +133 -0
  12. package/lib/commonjs/dataViewer/IndentGuides.js +128 -0
  13. package/lib/commonjs/dataViewer/IndentGuidesOverlay.js +104 -0
  14. package/lib/commonjs/dataViewer/SplitDiffViewer.js +420 -0
  15. package/lib/commonjs/dataViewer/TypeLegend.js +111 -0
  16. package/lib/commonjs/dataViewer/VirtualizedDataExplorer.js +1057 -0
  17. package/lib/commonjs/dataViewer/diffThemes.js +108 -0
  18. package/lib/commonjs/dataViewer/index.js +101 -0
  19. package/lib/commonjs/dataViewer/lineDiff.js +366 -0
  20. package/lib/commonjs/dataViewer/tree/TreeDiffViewer.js +887 -0
  21. package/lib/commonjs/env/EnvironmentIndicator.js +121 -0
  22. package/lib/commonjs/env/EnvironmentSelector.js +204 -0
  23. package/lib/commonjs/env/EnvironmentSelectorInline.js +298 -0
  24. package/lib/commonjs/hooks/index.js +44 -0
  25. package/lib/commonjs/hooks/safe-area-impl.js +28 -0
  26. package/lib/commonjs/hooks/useDeviceInfo.js +524 -0
  27. package/lib/commonjs/hooks/useFilterManager.js +136 -0
  28. package/lib/commonjs/hooks/useSafeAreaInsets.js +256 -0
  29. package/lib/commonjs/icons/BenchmarkIcon.js +109 -0
  30. package/lib/commonjs/icons/EnvLaptopIcon.js +204 -0
  31. package/lib/commonjs/icons/IconBackground.js +279 -0
  32. package/lib/commonjs/icons/ReactQueryIcon.js +169 -0
  33. package/lib/commonjs/icons/RenderCountIcon.js +147 -0
  34. package/lib/commonjs/icons/RouteMapIcon.js +250 -0
  35. package/lib/commonjs/icons/SentryBugIcon.js +181 -0
  36. package/lib/commonjs/icons/StackPulseIcon.js +158 -0
  37. package/lib/commonjs/icons/StorageStackIcon.js +156 -0
  38. package/lib/commonjs/icons/WifiCircuitIcon.js +169 -0
  39. package/lib/commonjs/icons/index.js +175 -0
  40. package/lib/commonjs/icons/lucide-icons-original-full.js +3244 -0
  41. package/lib/commonjs/icons/lucide-icons.js +2252 -0
  42. package/lib/commonjs/icons/primitives/GlobeIcon.js +66 -0
  43. package/lib/commonjs/icons/primitives/icon-primitives.js +169 -0
  44. package/lib/commonjs/icons/primitives/index.js +49 -0
  45. package/lib/commonjs/index.js +485 -0
  46. package/lib/commonjs/license/FeatureGate.js +764 -0
  47. package/lib/commonjs/license/LicenseEntryModal.js +950 -0
  48. package/lib/commonjs/license/ManageDevicesModal.js +545 -0
  49. package/lib/commonjs/license/index.js +62 -0
  50. package/lib/commonjs/logger/index-sentry.js +245 -0
  51. package/lib/commonjs/logger/index.js +62 -0
  52. package/lib/commonjs/logger/logDump.js +19 -0
  53. package/lib/commonjs/logger/types.js +38 -0
  54. package/lib/commonjs/package.json +1 -0
  55. package/lib/commonjs/settings/components/BubbleSettingsSection.js +382 -0
  56. package/lib/commonjs/settings/index.js +24 -0
  57. package/lib/commonjs/storage/devToolsStorageKeys.js +235 -0
  58. package/lib/commonjs/storage/index.js +18 -0
  59. package/lib/commonjs/types/index.js +16 -0
  60. package/lib/commonjs/types/types.d.js +1 -0
  61. package/lib/commonjs/types/types.js +12 -0
  62. package/lib/commonjs/ui/components/BackButton.js +47 -0
  63. package/lib/commonjs/ui/components/Badge.js +221 -0
  64. package/lib/commonjs/ui/components/ClipboardHintBanner.js +149 -0
  65. package/lib/commonjs/ui/components/CollapsibleSection.js +170 -0
  66. package/lib/commonjs/ui/components/CompactFilterChips.js +114 -0
  67. package/lib/commonjs/ui/components/CompactRow.js +230 -0
  68. package/lib/commonjs/ui/components/CopyButton.js +256 -0
  69. package/lib/commonjs/ui/components/DataInspector.js +322 -0
  70. package/lib/commonjs/ui/components/DetailView.js +357 -0
  71. package/lib/commonjs/ui/components/Divider.js +18 -0
  72. package/lib/commonjs/ui/components/DraggableHeader.js +144 -0
  73. package/lib/commonjs/ui/components/DynamicFilterView.js +725 -0
  74. package/lib/commonjs/ui/components/EmptyState.js +136 -0
  75. package/lib/commonjs/ui/components/ErrorBoundary.js +112 -0
  76. package/lib/commonjs/ui/components/EventHistoryViewer/CompareBar.js +210 -0
  77. package/lib/commonjs/ui/components/EventHistoryViewer/DiffModeTabs.js +90 -0
  78. package/lib/commonjs/ui/components/EventHistoryViewer/EventHistoryViewer.js +130 -0
  79. package/lib/commonjs/ui/components/EventHistoryViewer/EventPickerModal.js +206 -0
  80. package/lib/commonjs/ui/components/EventHistoryViewer/ViewToggleCards.js +137 -0
  81. package/lib/commonjs/ui/components/EventHistoryViewer/index.js +40 -0
  82. package/lib/commonjs/ui/components/EventHistoryViewer/types.js +5 -0
  83. package/lib/commonjs/ui/components/EventListItem.js +247 -0
  84. package/lib/commonjs/ui/components/EventStepperFooter.js +148 -0
  85. package/lib/commonjs/ui/components/ExpandablePopover.js +341 -0
  86. package/lib/commonjs/ui/components/ExpandableSection.js +71 -0
  87. package/lib/commonjs/ui/components/ExpandableSectionHeader.js +86 -0
  88. package/lib/commonjs/ui/components/ExpandableSectionWithModal.js +182 -0
  89. package/lib/commonjs/ui/components/FilterComponents.js +267 -0
  90. package/lib/commonjs/ui/components/FilterViewPattern.js +174 -0
  91. package/lib/commonjs/ui/components/HeaderSearchButton.js +32 -0
  92. package/lib/commonjs/ui/components/ListItem.js +171 -0
  93. package/lib/commonjs/ui/components/ModalHeader.js +173 -0
  94. package/lib/commonjs/ui/components/ModalHintBanner.js +147 -0
  95. package/lib/commonjs/ui/components/SearchBar.js +264 -0
  96. package/lib/commonjs/ui/components/SectionHeader.js +125 -0
  97. package/lib/commonjs/ui/components/StatsCard.js +198 -0
  98. package/lib/commonjs/ui/components/StatusIndicator.js +231 -0
  99. package/lib/commonjs/ui/components/StorageTypeBadge.js +96 -0
  100. package/lib/commonjs/ui/components/TabSelector.js +70 -0
  101. package/lib/commonjs/ui/components/TimeDisplay.js +142 -0
  102. package/lib/commonjs/ui/components/TypeBadge.js +100 -0
  103. package/lib/commonjs/ui/components/ValueTypeBadge.js +146 -0
  104. package/lib/commonjs/ui/components/WindowControls.js +118 -0
  105. package/lib/commonjs/ui/components/index.js +323 -0
  106. package/lib/commonjs/ui/components/types.js +5 -0
  107. package/lib/commonjs/ui/console/BubbleSettingsModal.js +50 -0
  108. package/lib/commonjs/ui/console/ConsoleSection.js +50 -0
  109. package/lib/commonjs/ui/console/CyberpunkButtonOutline.js +261 -0
  110. package/lib/commonjs/ui/console/CyberpunkConsoleSection.js +649 -0
  111. package/lib/commonjs/ui/console/CyberpunkIconContainer.js +186 -0
  112. package/lib/commonjs/ui/console/CyberpunkSectionButton.js +122 -0
  113. package/lib/commonjs/ui/console/GalaxyButton.js +99 -0
  114. package/lib/commonjs/ui/console/index.js +12 -0
  115. package/lib/commonjs/ui/gameUI/components/GameUICollapsibleSection.js +120 -0
  116. package/lib/commonjs/ui/gameUI/components/GameUICompactStats.js +335 -0
  117. package/lib/commonjs/ui/gameUI/components/GameUIIssuesList.js +283 -0
  118. package/lib/commonjs/ui/gameUI/components/GameUIStatusHeader.js +143 -0
  119. package/lib/commonjs/ui/gameUI/constants/gameUIColors.js +186 -0
  120. package/lib/commonjs/ui/gameUI/constants/macOSDesignSystemColors.js +206 -0
  121. package/lib/commonjs/ui/gameUI/hooks/useGameUIAlertState.js +110 -0
  122. package/lib/commonjs/ui/gameUI/index.js +72 -0
  123. package/lib/commonjs/ui/index.js +39 -0
  124. package/lib/commonjs/utils/displayValue.js +41 -0
  125. package/lib/commonjs/utils/formatting/dataFormatting.js +73 -0
  126. package/lib/commonjs/utils/formatting/httpFormatting.js +153 -0
  127. package/lib/commonjs/utils/formatting/index.js +27 -0
  128. package/lib/commonjs/utils/getSafeAreaInsets.js +40 -0
  129. package/lib/commonjs/utils/index.js +175 -0
  130. package/lib/commonjs/utils/loadOptionalModule.js +94 -0
  131. package/lib/commonjs/utils/minimalSuperJSON.js +337 -0
  132. package/lib/commonjs/utils/persistentStorage.js +594 -0
  133. package/lib/commonjs/utils/safeAsyncStorage.js +71 -0
  134. package/lib/commonjs/utils/safeStringify.js +229 -0
  135. package/lib/commonjs/utils/time/formatRelativeTime.js +34 -0
  136. package/lib/commonjs/utils/time/index.js +12 -0
  137. package/lib/commonjs/utils/typeHelpers.js +142 -0
  138. package/lib/commonjs/utils/valueFormatting.js +140 -0
  139. package/lib/module/JsModal.js +1469 -0
  140. package/lib/module/clipboard/autoDetectClipboard.js +45 -0
  141. package/lib/module/clipboard/clipboard-impl.js +20 -0
  142. package/lib/module/clipboard/copyToClipboard.js +62 -0
  143. package/lib/module/clipboard/index.js +5 -0
  144. package/lib/module/context/HintsContext.js +43 -0
  145. package/lib/module/context/index.js +3 -0
  146. package/lib/module/dataViewer/CyberpunkInput.js +378 -0
  147. package/lib/module/dataViewer/DataViewer.js +137 -0
  148. package/lib/module/dataViewer/DiffSummary.js +128 -0
  149. package/lib/module/dataViewer/IndentGuides.js +124 -0
  150. package/lib/module/dataViewer/IndentGuidesOverlay.js +99 -0
  151. package/lib/module/dataViewer/SplitDiffViewer.js +415 -0
  152. package/lib/module/dataViewer/TypeLegend.js +105 -0
  153. package/lib/module/dataViewer/VirtualizedDataExplorer.js +1053 -0
  154. package/lib/module/dataViewer/diffThemes.js +104 -0
  155. package/lib/module/dataViewer/index.js +17 -0
  156. package/lib/module/dataViewer/lineDiff.js +362 -0
  157. package/lib/module/dataViewer/tree/TreeDiffViewer.js +882 -0
  158. package/lib/module/env/EnvironmentIndicator.js +117 -0
  159. package/lib/module/env/EnvironmentSelector.js +199 -0
  160. package/lib/module/env/EnvironmentSelectorInline.js +293 -0
  161. package/lib/module/hooks/index.js +6 -0
  162. package/lib/module/hooks/safe-area-impl.js +23 -0
  163. package/lib/module/hooks/useDeviceInfo.js +519 -0
  164. package/lib/module/hooks/useFilterManager.js +132 -0
  165. package/lib/module/hooks/useSafeAreaInsets.js +250 -0
  166. package/lib/module/icons/BenchmarkIcon.js +104 -0
  167. package/lib/module/icons/EnvLaptopIcon.js +199 -0
  168. package/lib/module/icons/IconBackground.js +274 -0
  169. package/lib/module/icons/ReactQueryIcon.js +164 -0
  170. package/lib/module/icons/RenderCountIcon.js +142 -0
  171. package/lib/module/icons/RouteMapIcon.js +245 -0
  172. package/lib/module/icons/SentryBugIcon.js +176 -0
  173. package/lib/module/icons/StackPulseIcon.js +153 -0
  174. package/lib/module/icons/StorageStackIcon.js +151 -0
  175. package/lib/module/icons/WifiCircuitIcon.js +164 -0
  176. package/lib/module/icons/index.js +23 -0
  177. package/lib/module/icons/lucide-icons-original-full.js +3174 -0
  178. package/lib/module/icons/lucide-icons.js +2199 -0
  179. package/lib/module/icons/primitives/GlobeIcon.js +61 -0
  180. package/lib/module/icons/primitives/icon-primitives.js +161 -0
  181. package/lib/module/icons/primitives/index.js +15 -0
  182. package/lib/module/index.js +58 -0
  183. package/lib/module/license/FeatureGate.js +754 -0
  184. package/lib/module/license/LicenseEntryModal.js +944 -0
  185. package/lib/module/license/ManageDevicesModal.js +539 -0
  186. package/lib/module/license/index.js +5 -0
  187. package/lib/module/logger/index-sentry.js +230 -0
  188. package/lib/module/logger/index.js +13 -0
  189. package/lib/module/logger/logDump.js +13 -0
  190. package/lib/module/logger/types.js +37 -0
  191. package/lib/module/package.json +1 -0
  192. package/lib/module/settings/components/BubbleSettingsSection.js +376 -0
  193. package/lib/module/settings/index.js +3 -0
  194. package/lib/module/storage/devToolsStorageKeys.js +228 -0
  195. package/lib/module/storage/index.js +3 -0
  196. package/lib/module/types/index.js +3 -0
  197. package/lib/module/types/types.d.js +1 -0
  198. package/lib/module/types/types.js +8 -0
  199. package/lib/module/ui/components/BackButton.js +43 -0
  200. package/lib/module/ui/components/Badge.js +213 -0
  201. package/lib/module/ui/components/ClipboardHintBanner.js +145 -0
  202. package/lib/module/ui/components/CollapsibleSection.js +166 -0
  203. package/lib/module/ui/components/CompactFilterChips.js +110 -0
  204. package/lib/module/ui/components/CompactRow.js +226 -0
  205. package/lib/module/ui/components/CopyButton.js +253 -0
  206. package/lib/module/ui/components/DataInspector.js +318 -0
  207. package/lib/module/ui/components/DetailView.js +353 -0
  208. package/lib/module/ui/components/Divider.js +14 -0
  209. package/lib/module/ui/components/DraggableHeader.js +140 -0
  210. package/lib/module/ui/components/DynamicFilterView.js +721 -0
  211. package/lib/module/ui/components/EmptyState.js +129 -0
  212. package/lib/module/ui/components/ErrorBoundary.js +107 -0
  213. package/lib/module/ui/components/EventHistoryViewer/CompareBar.js +205 -0
  214. package/lib/module/ui/components/EventHistoryViewer/DiffModeTabs.js +85 -0
  215. package/lib/module/ui/components/EventHistoryViewer/EventHistoryViewer.js +125 -0
  216. package/lib/module/ui/components/EventHistoryViewer/EventPickerModal.js +201 -0
  217. package/lib/module/ui/components/EventHistoryViewer/ViewToggleCards.js +132 -0
  218. package/lib/module/ui/components/EventHistoryViewer/index.js +19 -0
  219. package/lib/module/ui/components/EventHistoryViewer/types.js +3 -0
  220. package/lib/module/ui/components/EventListItem.js +243 -0
  221. package/lib/module/ui/components/EventStepperFooter.js +143 -0
  222. package/lib/module/ui/components/ExpandablePopover.js +338 -0
  223. package/lib/module/ui/components/ExpandableSection.js +67 -0
  224. package/lib/module/ui/components/ExpandableSectionHeader.js +82 -0
  225. package/lib/module/ui/components/ExpandableSectionWithModal.js +178 -0
  226. package/lib/module/ui/components/FilterComponents.js +259 -0
  227. package/lib/module/ui/components/FilterViewPattern.js +170 -0
  228. package/lib/module/ui/components/HeaderSearchButton.js +28 -0
  229. package/lib/module/ui/components/ListItem.js +167 -0
  230. package/lib/module/ui/components/ModalHeader.js +166 -0
  231. package/lib/module/ui/components/ModalHintBanner.js +143 -0
  232. package/lib/module/ui/components/SearchBar.js +260 -0
  233. package/lib/module/ui/components/SectionHeader.js +121 -0
  234. package/lib/module/ui/components/StatsCard.js +194 -0
  235. package/lib/module/ui/components/StatusIndicator.js +227 -0
  236. package/lib/module/ui/components/StorageTypeBadge.js +92 -0
  237. package/lib/module/ui/components/TabSelector.js +66 -0
  238. package/lib/module/ui/components/TimeDisplay.js +138 -0
  239. package/lib/module/ui/components/TypeBadge.js +96 -0
  240. package/lib/module/ui/components/ValueTypeBadge.js +142 -0
  241. package/lib/module/ui/components/WindowControls.js +114 -0
  242. package/lib/module/ui/components/index.js +33 -0
  243. package/lib/module/ui/components/types.js +3 -0
  244. package/lib/module/ui/console/BubbleSettingsModal.js +46 -0
  245. package/lib/module/ui/console/ConsoleSection.js +46 -0
  246. package/lib/module/ui/console/CyberpunkButtonOutline.js +257 -0
  247. package/lib/module/ui/console/CyberpunkConsoleSection.js +646 -0
  248. package/lib/module/ui/console/CyberpunkIconContainer.js +182 -0
  249. package/lib/module/ui/console/CyberpunkSectionButton.js +118 -0
  250. package/lib/module/ui/console/GalaxyButton.js +95 -0
  251. package/lib/module/ui/console/index.js +5 -0
  252. package/lib/module/ui/gameUI/components/GameUICollapsibleSection.js +116 -0
  253. package/lib/module/ui/gameUI/components/GameUICompactStats.js +331 -0
  254. package/lib/module/ui/gameUI/components/GameUIIssuesList.js +279 -0
  255. package/lib/module/ui/gameUI/components/GameUIStatusHeader.js +139 -0
  256. package/lib/module/ui/gameUI/constants/gameUIColors.js +183 -0
  257. package/lib/module/ui/gameUI/constants/macOSDesignSystemColors.js +202 -0
  258. package/lib/module/ui/gameUI/hooks/useGameUIAlertState.js +105 -0
  259. package/lib/module/ui/gameUI/index.js +19 -0
  260. package/lib/module/ui/index.js +12 -0
  261. package/lib/module/utils/displayValue.js +36 -0
  262. package/lib/module/utils/formatting/dataFormatting.js +66 -0
  263. package/lib/module/utils/formatting/httpFormatting.js +148 -0
  264. package/lib/module/utils/formatting/index.js +8 -0
  265. package/lib/module/utils/getSafeAreaInsets.js +36 -0
  266. package/lib/module/utils/index.js +10 -0
  267. package/lib/module/utils/loadOptionalModule.js +89 -0
  268. package/lib/module/utils/minimalSuperJSON.js +332 -0
  269. package/lib/module/utils/persistentStorage.js +588 -0
  270. package/lib/module/utils/safeAsyncStorage.js +64 -0
  271. package/lib/module/utils/safeStringify.js +225 -0
  272. package/lib/module/utils/time/formatRelativeTime.js +30 -0
  273. package/lib/module/utils/time/index.js +3 -0
  274. package/lib/module/utils/typeHelpers.js +130 -0
  275. package/lib/module/utils/valueFormatting.js +131 -0
  276. package/lib/typescript/commonjs/JsModal.d.ts +78 -0
  277. package/lib/typescript/commonjs/JsModal.d.ts.map +1 -0
  278. package/lib/typescript/commonjs/clipboard/autoDetectClipboard.d.ts +31 -0
  279. package/lib/typescript/commonjs/clipboard/autoDetectClipboard.d.ts.map +1 -0
  280. package/lib/typescript/commonjs/clipboard/clipboard-impl.d.ts +16 -0
  281. package/lib/typescript/commonjs/clipboard/clipboard-impl.d.ts.map +1 -0
  282. package/lib/typescript/commonjs/clipboard/copyToClipboard.d.ts +11 -0
  283. package/lib/typescript/commonjs/clipboard/copyToClipboard.d.ts.map +1 -0
  284. package/lib/typescript/commonjs/clipboard/index.d.ts +4 -0
  285. package/lib/typescript/commonjs/clipboard/index.d.ts.map +1 -0
  286. package/lib/typescript/commonjs/context/HintsContext.d.ts +30 -0
  287. package/lib/typescript/commonjs/context/HintsContext.d.ts.map +1 -0
  288. package/lib/typescript/commonjs/context/index.d.ts +2 -0
  289. package/lib/typescript/commonjs/context/index.d.ts.map +1 -0
  290. package/lib/typescript/commonjs/dataViewer/CyberpunkInput.d.ts +13 -0
  291. package/lib/typescript/commonjs/dataViewer/CyberpunkInput.d.ts.map +1 -0
  292. package/lib/typescript/commonjs/dataViewer/DataViewer.d.ts +24 -0
  293. package/lib/typescript/commonjs/dataViewer/DataViewer.d.ts.map +1 -0
  294. package/lib/typescript/commonjs/dataViewer/DiffSummary.d.ts +26 -0
  295. package/lib/typescript/commonjs/dataViewer/DiffSummary.d.ts.map +1 -0
  296. package/lib/typescript/commonjs/dataViewer/IndentGuides.d.ts +16 -0
  297. package/lib/typescript/commonjs/dataViewer/IndentGuides.d.ts.map +1 -0
  298. package/lib/typescript/commonjs/dataViewer/IndentGuidesOverlay.d.ts +19 -0
  299. package/lib/typescript/commonjs/dataViewer/IndentGuidesOverlay.d.ts.map +1 -0
  300. package/lib/typescript/commonjs/dataViewer/SplitDiffViewer.d.ts +40 -0
  301. package/lib/typescript/commonjs/dataViewer/SplitDiffViewer.d.ts.map +1 -0
  302. package/lib/typescript/commonjs/dataViewer/TypeLegend.d.ts +18 -0
  303. package/lib/typescript/commonjs/dataViewer/TypeLegend.d.ts.map +1 -0
  304. package/lib/typescript/commonjs/dataViewer/VirtualizedDataExplorer.d.ts +14 -0
  305. package/lib/typescript/commonjs/dataViewer/VirtualizedDataExplorer.d.ts.map +1 -0
  306. package/lib/typescript/commonjs/dataViewer/diffThemes.d.ts +62 -0
  307. package/lib/typescript/commonjs/dataViewer/diffThemes.d.ts.map +1 -0
  308. package/lib/typescript/commonjs/dataViewer/index.d.ts +14 -0
  309. package/lib/typescript/commonjs/dataViewer/index.d.ts.map +1 -0
  310. package/lib/typescript/commonjs/dataViewer/lineDiff.d.ts +36 -0
  311. package/lib/typescript/commonjs/dataViewer/lineDiff.d.ts.map +1 -0
  312. package/lib/typescript/commonjs/dataViewer/tree/TreeDiffViewer.d.ts +24 -0
  313. package/lib/typescript/commonjs/dataViewer/tree/TreeDiffViewer.d.ts.map +1 -0
  314. package/lib/typescript/commonjs/env/EnvironmentIndicator.d.ts +12 -0
  315. package/lib/typescript/commonjs/env/EnvironmentIndicator.d.ts.map +1 -0
  316. package/lib/typescript/commonjs/env/EnvironmentSelector.d.ts +18 -0
  317. package/lib/typescript/commonjs/env/EnvironmentSelector.d.ts.map +1 -0
  318. package/lib/typescript/commonjs/env/EnvironmentSelectorInline.d.ts +12 -0
  319. package/lib/typescript/commonjs/env/EnvironmentSelectorInline.d.ts.map +1 -0
  320. package/lib/typescript/commonjs/hooks/index.d.ts +5 -0
  321. package/lib/typescript/commonjs/hooks/index.d.ts.map +1 -0
  322. package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +24 -0
  323. package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts.map +1 -0
  324. package/lib/typescript/commonjs/hooks/useDeviceInfo.d.ts +125 -0
  325. package/lib/typescript/commonjs/hooks/useDeviceInfo.d.ts.map +1 -0
  326. package/lib/typescript/commonjs/hooks/useFilterManager.d.ts +59 -0
  327. package/lib/typescript/commonjs/hooks/useFilterManager.d.ts.map +1 -0
  328. package/lib/typescript/commonjs/hooks/useSafeAreaInsets.d.ts +113 -0
  329. package/lib/typescript/commonjs/hooks/useSafeAreaInsets.d.ts.map +1 -0
  330. package/lib/typescript/commonjs/icons/BenchmarkIcon.d.ts +14 -0
  331. package/lib/typescript/commonjs/icons/BenchmarkIcon.d.ts.map +1 -0
  332. package/lib/typescript/commonjs/icons/EnvLaptopIcon.d.ts +14 -0
  333. package/lib/typescript/commonjs/icons/EnvLaptopIcon.d.ts.map +1 -0
  334. package/lib/typescript/commonjs/icons/IconBackground.d.ts +10 -0
  335. package/lib/typescript/commonjs/icons/IconBackground.d.ts.map +1 -0
  336. package/lib/typescript/commonjs/icons/ReactQueryIcon.d.ts +12 -0
  337. package/lib/typescript/commonjs/icons/ReactQueryIcon.d.ts.map +1 -0
  338. package/lib/typescript/commonjs/icons/RenderCountIcon.d.ts +14 -0
  339. package/lib/typescript/commonjs/icons/RenderCountIcon.d.ts.map +1 -0
  340. package/lib/typescript/commonjs/icons/RouteMapIcon.d.ts +14 -0
  341. package/lib/typescript/commonjs/icons/RouteMapIcon.d.ts.map +1 -0
  342. package/lib/typescript/commonjs/icons/SentryBugIcon.d.ts +12 -0
  343. package/lib/typescript/commonjs/icons/SentryBugIcon.d.ts.map +1 -0
  344. package/lib/typescript/commonjs/icons/StackPulseIcon.d.ts +11 -0
  345. package/lib/typescript/commonjs/icons/StackPulseIcon.d.ts.map +1 -0
  346. package/lib/typescript/commonjs/icons/StorageStackIcon.d.ts +12 -0
  347. package/lib/typescript/commonjs/icons/StorageStackIcon.d.ts.map +1 -0
  348. package/lib/typescript/commonjs/icons/WifiCircuitIcon.d.ts +15 -0
  349. package/lib/typescript/commonjs/icons/WifiCircuitIcon.d.ts.map +1 -0
  350. package/lib/typescript/commonjs/icons/index.d.ts +15 -0
  351. package/lib/typescript/commonjs/icons/index.d.ts.map +1 -0
  352. package/lib/typescript/commonjs/icons/lucide-icons-original-full.d.ts +148 -0
  353. package/lib/typescript/commonjs/icons/lucide-icons-original-full.d.ts.map +1 -0
  354. package/lib/typescript/commonjs/icons/lucide-icons.d.ts +170 -0
  355. package/lib/typescript/commonjs/icons/lucide-icons.d.ts.map +1 -0
  356. package/lib/typescript/commonjs/icons/primitives/GlobeIcon.d.ts +15 -0
  357. package/lib/typescript/commonjs/icons/primitives/GlobeIcon.d.ts.map +1 -0
  358. package/lib/typescript/commonjs/icons/primitives/icon-primitives.d.ts +92 -0
  359. package/lib/typescript/commonjs/icons/primitives/icon-primitives.d.ts.map +1 -0
  360. package/lib/typescript/commonjs/icons/primitives/index.d.ts +9 -0
  361. package/lib/typescript/commonjs/icons/primitives/index.d.ts.map +1 -0
  362. package/lib/typescript/commonjs/index.d.ts +28 -0
  363. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  364. package/lib/typescript/commonjs/license/FeatureGate.d.ts +123 -0
  365. package/lib/typescript/commonjs/license/FeatureGate.d.ts.map +1 -0
  366. package/lib/typescript/commonjs/license/LicenseEntryModal.d.ts +69 -0
  367. package/lib/typescript/commonjs/license/LicenseEntryModal.d.ts.map +1 -0
  368. package/lib/typescript/commonjs/license/ManageDevicesModal.d.ts +23 -0
  369. package/lib/typescript/commonjs/license/ManageDevicesModal.d.ts.map +1 -0
  370. package/lib/typescript/commonjs/license/index.d.ts +7 -0
  371. package/lib/typescript/commonjs/license/index.d.ts.map +1 -0
  372. package/lib/typescript/commonjs/logger/index-sentry.d.ts +68 -0
  373. package/lib/typescript/commonjs/logger/index-sentry.d.ts.map +1 -0
  374. package/lib/typescript/commonjs/logger/index.d.ts +5 -0
  375. package/lib/typescript/commonjs/logger/index.d.ts.map +1 -0
  376. package/lib/typescript/commonjs/logger/logDump.d.ts +5 -0
  377. package/lib/typescript/commonjs/logger/logDump.d.ts.map +1 -0
  378. package/lib/typescript/commonjs/logger/types.d.ts +100 -0
  379. package/lib/typescript/commonjs/logger/types.d.ts.map +1 -0
  380. package/lib/typescript/commonjs/package.json +1 -0
  381. package/lib/typescript/commonjs/settings/components/BubbleSettingsSection.d.ts +19 -0
  382. package/lib/typescript/commonjs/settings/components/BubbleSettingsSection.d.ts.map +1 -0
  383. package/lib/typescript/commonjs/settings/index.d.ts +2 -0
  384. package/lib/typescript/commonjs/settings/index.d.ts.map +1 -0
  385. package/lib/typescript/commonjs/storage/devToolsStorageKeys.d.ts +173 -0
  386. package/lib/typescript/commonjs/storage/devToolsStorageKeys.d.ts.map +1 -0
  387. package/lib/typescript/commonjs/storage/index.d.ts +2 -0
  388. package/lib/typescript/commonjs/storage/index.d.ts.map +1 -0
  389. package/lib/typescript/commonjs/types/index.d.ts +2 -0
  390. package/lib/typescript/commonjs/types/index.d.ts.map +1 -0
  391. package/lib/typescript/commonjs/types/types.d.ts +8 -0
  392. package/lib/typescript/commonjs/types/types.d.ts.map +1 -0
  393. package/lib/typescript/commonjs/ui/components/BackButton.d.ts +10 -0
  394. package/lib/typescript/commonjs/ui/components/BackButton.d.ts.map +1 -0
  395. package/lib/typescript/commonjs/ui/components/Badge.d.ts +41 -0
  396. package/lib/typescript/commonjs/ui/components/Badge.d.ts.map +1 -0
  397. package/lib/typescript/commonjs/ui/components/ClipboardHintBanner.d.ts +17 -0
  398. package/lib/typescript/commonjs/ui/components/ClipboardHintBanner.d.ts.map +1 -0
  399. package/lib/typescript/commonjs/ui/components/CollapsibleSection.d.ts +35 -0
  400. package/lib/typescript/commonjs/ui/components/CollapsibleSection.d.ts.map +1 -0
  401. package/lib/typescript/commonjs/ui/components/CompactFilterChips.d.ts +23 -0
  402. package/lib/typescript/commonjs/ui/components/CompactFilterChips.d.ts.map +1 -0
  403. package/lib/typescript/commonjs/ui/components/CompactRow.d.ts +21 -0
  404. package/lib/typescript/commonjs/ui/components/CompactRow.d.ts.map +1 -0
  405. package/lib/typescript/commonjs/ui/components/CopyButton.d.ts +41 -0
  406. package/lib/typescript/commonjs/ui/components/CopyButton.d.ts.map +1 -0
  407. package/lib/typescript/commonjs/ui/components/DataInspector.d.ts +35 -0
  408. package/lib/typescript/commonjs/ui/components/DataInspector.d.ts.map +1 -0
  409. package/lib/typescript/commonjs/ui/components/DetailView.d.ts +68 -0
  410. package/lib/typescript/commonjs/ui/components/DetailView.d.ts.map +1 -0
  411. package/lib/typescript/commonjs/ui/components/Divider.d.ts +2 -0
  412. package/lib/typescript/commonjs/ui/components/Divider.d.ts.map +1 -0
  413. package/lib/typescript/commonjs/ui/components/DraggableHeader.d.ts +35 -0
  414. package/lib/typescript/commonjs/ui/components/DraggableHeader.d.ts.map +1 -0
  415. package/lib/typescript/commonjs/ui/components/DynamicFilterView.d.ts +91 -0
  416. package/lib/typescript/commonjs/ui/components/DynamicFilterView.d.ts.map +1 -0
  417. package/lib/typescript/commonjs/ui/components/EmptyState.d.ts +43 -0
  418. package/lib/typescript/commonjs/ui/components/EmptyState.d.ts.map +1 -0
  419. package/lib/typescript/commonjs/ui/components/ErrorBoundary.d.ts +18 -0
  420. package/lib/typescript/commonjs/ui/components/ErrorBoundary.d.ts.map +1 -0
  421. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/CompareBar.d.ts +15 -0
  422. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/CompareBar.d.ts.map +1 -0
  423. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/DiffModeTabs.d.ts +15 -0
  424. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/DiffModeTabs.d.ts.map +1 -0
  425. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/EventHistoryViewer.d.ts +15 -0
  426. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/EventHistoryViewer.d.ts.map +1 -0
  427. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/EventPickerModal.d.ts +15 -0
  428. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/EventPickerModal.d.ts.map +1 -0
  429. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/ViewToggleCards.d.ts +14 -0
  430. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/ViewToggleCards.d.ts.map +1 -0
  431. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/index.d.ts +13 -0
  432. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/index.d.ts.map +1 -0
  433. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/types.d.ts +216 -0
  434. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/types.d.ts.map +1 -0
  435. package/lib/typescript/commonjs/ui/components/EventListItem.d.ts +65 -0
  436. package/lib/typescript/commonjs/ui/components/EventListItem.d.ts.map +1 -0
  437. package/lib/typescript/commonjs/ui/components/EventStepperFooter.d.ts +32 -0
  438. package/lib/typescript/commonjs/ui/components/EventStepperFooter.d.ts.map +1 -0
  439. package/lib/typescript/commonjs/ui/components/ExpandablePopover.d.ts +34 -0
  440. package/lib/typescript/commonjs/ui/components/ExpandablePopover.d.ts.map +1 -0
  441. package/lib/typescript/commonjs/ui/components/ExpandableSection.d.ts +15 -0
  442. package/lib/typescript/commonjs/ui/components/ExpandableSection.d.ts.map +1 -0
  443. package/lib/typescript/commonjs/ui/components/ExpandableSectionHeader.d.ts +13 -0
  444. package/lib/typescript/commonjs/ui/components/ExpandableSectionHeader.d.ts.map +1 -0
  445. package/lib/typescript/commonjs/ui/components/ExpandableSectionWithModal.d.ts +18 -0
  446. package/lib/typescript/commonjs/ui/components/ExpandableSectionWithModal.d.ts.map +1 -0
  447. package/lib/typescript/commonjs/ui/components/FilterComponents.d.ts +38 -0
  448. package/lib/typescript/commonjs/ui/components/FilterComponents.d.ts.map +1 -0
  449. package/lib/typescript/commonjs/ui/components/FilterViewPattern.d.ts +15 -0
  450. package/lib/typescript/commonjs/ui/components/FilterViewPattern.d.ts.map +1 -0
  451. package/lib/typescript/commonjs/ui/components/HeaderSearchButton.d.ts +9 -0
  452. package/lib/typescript/commonjs/ui/components/HeaderSearchButton.d.ts.map +1 -0
  453. package/lib/typescript/commonjs/ui/components/ListItem.d.ts +49 -0
  454. package/lib/typescript/commonjs/ui/components/ListItem.d.ts.map +1 -0
  455. package/lib/typescript/commonjs/ui/components/ModalHeader.d.ts +34 -0
  456. package/lib/typescript/commonjs/ui/components/ModalHeader.d.ts.map +1 -0
  457. package/lib/typescript/commonjs/ui/components/ModalHintBanner.d.ts +15 -0
  458. package/lib/typescript/commonjs/ui/components/ModalHintBanner.d.ts.map +1 -0
  459. package/lib/typescript/commonjs/ui/components/SearchBar.d.ts +32 -0
  460. package/lib/typescript/commonjs/ui/components/SearchBar.d.ts.map +1 -0
  461. package/lib/typescript/commonjs/ui/components/SectionHeader.d.ts +33 -0
  462. package/lib/typescript/commonjs/ui/components/SectionHeader.d.ts.map +1 -0
  463. package/lib/typescript/commonjs/ui/components/StatsCard.d.ts +45 -0
  464. package/lib/typescript/commonjs/ui/components/StatsCard.d.ts.map +1 -0
  465. package/lib/typescript/commonjs/ui/components/StatusIndicator.d.ts +40 -0
  466. package/lib/typescript/commonjs/ui/components/StatusIndicator.d.ts.map +1 -0
  467. package/lib/typescript/commonjs/ui/components/StorageTypeBadge.d.ts +9 -0
  468. package/lib/typescript/commonjs/ui/components/StorageTypeBadge.d.ts.map +1 -0
  469. package/lib/typescript/commonjs/ui/components/TabSelector.d.ts +12 -0
  470. package/lib/typescript/commonjs/ui/components/TabSelector.d.ts.map +1 -0
  471. package/lib/typescript/commonjs/ui/components/TimeDisplay.d.ts +30 -0
  472. package/lib/typescript/commonjs/ui/components/TimeDisplay.d.ts.map +1 -0
  473. package/lib/typescript/commonjs/ui/components/TypeBadge.d.ts +6 -0
  474. package/lib/typescript/commonjs/ui/components/TypeBadge.d.ts.map +1 -0
  475. package/lib/typescript/commonjs/ui/components/ValueTypeBadge.d.ts +10 -0
  476. package/lib/typescript/commonjs/ui/components/ValueTypeBadge.d.ts.map +1 -0
  477. package/lib/typescript/commonjs/ui/components/WindowControls.d.ts +19 -0
  478. package/lib/typescript/commonjs/ui/components/WindowControls.d.ts.map +1 -0
  479. package/lib/typescript/commonjs/ui/components/index.d.ts +36 -0
  480. package/lib/typescript/commonjs/ui/components/index.d.ts.map +1 -0
  481. package/lib/typescript/commonjs/ui/components/types.d.ts +3 -0
  482. package/lib/typescript/commonjs/ui/components/types.d.ts.map +1 -0
  483. package/lib/typescript/commonjs/ui/console/BubbleSettingsModal.d.ts +11 -0
  484. package/lib/typescript/commonjs/ui/console/BubbleSettingsModal.d.ts.map +1 -0
  485. package/lib/typescript/commonjs/ui/console/ConsoleSection.d.ts +19 -0
  486. package/lib/typescript/commonjs/ui/console/ConsoleSection.d.ts.map +1 -0
  487. package/lib/typescript/commonjs/ui/console/CyberpunkButtonOutline.d.ts +12 -0
  488. package/lib/typescript/commonjs/ui/console/CyberpunkButtonOutline.d.ts.map +1 -0
  489. package/lib/typescript/commonjs/ui/console/CyberpunkConsoleSection.d.ts +17 -0
  490. package/lib/typescript/commonjs/ui/console/CyberpunkConsoleSection.d.ts.map +1 -0
  491. package/lib/typescript/commonjs/ui/console/CyberpunkIconContainer.d.ts +9 -0
  492. package/lib/typescript/commonjs/ui/console/CyberpunkIconContainer.d.ts.map +1 -0
  493. package/lib/typescript/commonjs/ui/console/CyberpunkSectionButton.d.ts +14 -0
  494. package/lib/typescript/commonjs/ui/console/CyberpunkSectionButton.d.ts.map +1 -0
  495. package/lib/typescript/commonjs/ui/console/GalaxyButton.d.ts +10 -0
  496. package/lib/typescript/commonjs/ui/console/GalaxyButton.d.ts.map +1 -0
  497. package/lib/typescript/commonjs/ui/console/index.d.ts +2 -0
  498. package/lib/typescript/commonjs/ui/console/index.d.ts.map +1 -0
  499. package/lib/typescript/commonjs/ui/gameUI/components/GameUICollapsibleSection.d.ts +24 -0
  500. package/lib/typescript/commonjs/ui/gameUI/components/GameUICollapsibleSection.d.ts.map +1 -0
  501. package/lib/typescript/commonjs/ui/gameUI/components/GameUICompactStats.d.ts +40 -0
  502. package/lib/typescript/commonjs/ui/gameUI/components/GameUICompactStats.d.ts.map +1 -0
  503. package/lib/typescript/commonjs/ui/gameUI/components/GameUIIssuesList.d.ts +29 -0
  504. package/lib/typescript/commonjs/ui/gameUI/components/GameUIIssuesList.d.ts.map +1 -0
  505. package/lib/typescript/commonjs/ui/gameUI/components/GameUIStatusHeader.d.ts +16 -0
  506. package/lib/typescript/commonjs/ui/gameUI/components/GameUIStatusHeader.d.ts.map +1 -0
  507. package/lib/typescript/commonjs/ui/gameUI/constants/gameUIColors.d.ts +103 -0
  508. package/lib/typescript/commonjs/ui/gameUI/constants/gameUIColors.d.ts.map +1 -0
  509. package/lib/typescript/commonjs/ui/gameUI/constants/macOSDesignSystemColors.d.ts +157 -0
  510. package/lib/typescript/commonjs/ui/gameUI/constants/macOSDesignSystemColors.d.ts.map +1 -0
  511. package/lib/typescript/commonjs/ui/gameUI/hooks/useGameUIAlertState.d.ts +37 -0
  512. package/lib/typescript/commonjs/ui/gameUI/hooks/useGameUIAlertState.d.ts.map +1 -0
  513. package/lib/typescript/commonjs/ui/gameUI/index.d.ts +18 -0
  514. package/lib/typescript/commonjs/ui/gameUI/index.d.ts.map +1 -0
  515. package/lib/typescript/commonjs/ui/index.d.ts +4 -0
  516. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -0
  517. package/lib/typescript/commonjs/utils/displayValue.d.ts +16 -0
  518. package/lib/typescript/commonjs/utils/displayValue.d.ts.map +1 -0
  519. package/lib/typescript/commonjs/utils/formatting/dataFormatting.d.ts +31 -0
  520. package/lib/typescript/commonjs/utils/formatting/dataFormatting.d.ts.map +1 -0
  521. package/lib/typescript/commonjs/utils/formatting/httpFormatting.d.ts +34 -0
  522. package/lib/typescript/commonjs/utils/formatting/httpFormatting.d.ts.map +1 -0
  523. package/lib/typescript/commonjs/utils/formatting/index.d.ts +6 -0
  524. package/lib/typescript/commonjs/utils/formatting/index.d.ts.map +1 -0
  525. package/lib/typescript/commonjs/utils/getSafeAreaInsets.d.ts +14 -0
  526. package/lib/typescript/commonjs/utils/getSafeAreaInsets.d.ts.map +1 -0
  527. package/lib/typescript/commonjs/utils/index.d.ts +9 -0
  528. package/lib/typescript/commonjs/utils/index.d.ts.map +1 -0
  529. package/lib/typescript/commonjs/utils/loadOptionalModule.d.ts +27 -0
  530. package/lib/typescript/commonjs/utils/loadOptionalModule.d.ts.map +1 -0
  531. package/lib/typescript/commonjs/utils/minimalSuperJSON.d.ts +18 -0
  532. package/lib/typescript/commonjs/utils/minimalSuperJSON.d.ts.map +1 -0
  533. package/lib/typescript/commonjs/utils/persistentStorage.d.ts +45 -0
  534. package/lib/typescript/commonjs/utils/persistentStorage.d.ts.map +1 -0
  535. package/lib/typescript/commonjs/utils/safeAsyncStorage.d.ts +35 -0
  536. package/lib/typescript/commonjs/utils/safeAsyncStorage.d.ts.map +1 -0
  537. package/lib/typescript/commonjs/utils/safeStringify.d.ts +49 -0
  538. package/lib/typescript/commonjs/utils/safeStringify.d.ts.map +1 -0
  539. package/lib/typescript/commonjs/utils/time/formatRelativeTime.d.ts +8 -0
  540. package/lib/typescript/commonjs/utils/time/formatRelativeTime.d.ts.map +1 -0
  541. package/lib/typescript/commonjs/utils/time/index.d.ts +2 -0
  542. package/lib/typescript/commonjs/utils/time/index.d.ts.map +1 -0
  543. package/lib/typescript/commonjs/utils/typeHelpers.d.ts +52 -0
  544. package/lib/typescript/commonjs/utils/typeHelpers.d.ts.map +1 -0
  545. package/lib/typescript/commonjs/utils/valueFormatting.d.ts +39 -0
  546. package/lib/typescript/commonjs/utils/valueFormatting.d.ts.map +1 -0
  547. package/lib/typescript/module/JsModal.d.ts +78 -0
  548. package/lib/typescript/module/JsModal.d.ts.map +1 -0
  549. package/lib/typescript/module/clipboard/autoDetectClipboard.d.ts +31 -0
  550. package/lib/typescript/module/clipboard/autoDetectClipboard.d.ts.map +1 -0
  551. package/lib/typescript/module/clipboard/clipboard-impl.d.ts +16 -0
  552. package/lib/typescript/module/clipboard/clipboard-impl.d.ts.map +1 -0
  553. package/lib/typescript/module/clipboard/copyToClipboard.d.ts +11 -0
  554. package/lib/typescript/module/clipboard/copyToClipboard.d.ts.map +1 -0
  555. package/lib/typescript/module/clipboard/index.d.ts +4 -0
  556. package/lib/typescript/module/clipboard/index.d.ts.map +1 -0
  557. package/lib/typescript/module/context/HintsContext.d.ts +30 -0
  558. package/lib/typescript/module/context/HintsContext.d.ts.map +1 -0
  559. package/lib/typescript/module/context/index.d.ts +2 -0
  560. package/lib/typescript/module/context/index.d.ts.map +1 -0
  561. package/lib/typescript/module/dataViewer/CyberpunkInput.d.ts +13 -0
  562. package/lib/typescript/module/dataViewer/CyberpunkInput.d.ts.map +1 -0
  563. package/lib/typescript/module/dataViewer/DataViewer.d.ts +24 -0
  564. package/lib/typescript/module/dataViewer/DataViewer.d.ts.map +1 -0
  565. package/lib/typescript/module/dataViewer/DiffSummary.d.ts +26 -0
  566. package/lib/typescript/module/dataViewer/DiffSummary.d.ts.map +1 -0
  567. package/lib/typescript/module/dataViewer/IndentGuides.d.ts +16 -0
  568. package/lib/typescript/module/dataViewer/IndentGuides.d.ts.map +1 -0
  569. package/lib/typescript/module/dataViewer/IndentGuidesOverlay.d.ts +19 -0
  570. package/lib/typescript/module/dataViewer/IndentGuidesOverlay.d.ts.map +1 -0
  571. package/lib/typescript/module/dataViewer/SplitDiffViewer.d.ts +40 -0
  572. package/lib/typescript/module/dataViewer/SplitDiffViewer.d.ts.map +1 -0
  573. package/lib/typescript/module/dataViewer/TypeLegend.d.ts +18 -0
  574. package/lib/typescript/module/dataViewer/TypeLegend.d.ts.map +1 -0
  575. package/lib/typescript/module/dataViewer/VirtualizedDataExplorer.d.ts +14 -0
  576. package/lib/typescript/module/dataViewer/VirtualizedDataExplorer.d.ts.map +1 -0
  577. package/lib/typescript/module/dataViewer/diffThemes.d.ts +62 -0
  578. package/lib/typescript/module/dataViewer/diffThemes.d.ts.map +1 -0
  579. package/lib/typescript/module/dataViewer/index.d.ts +14 -0
  580. package/lib/typescript/module/dataViewer/index.d.ts.map +1 -0
  581. package/lib/typescript/module/dataViewer/lineDiff.d.ts +36 -0
  582. package/lib/typescript/module/dataViewer/lineDiff.d.ts.map +1 -0
  583. package/lib/typescript/module/dataViewer/tree/TreeDiffViewer.d.ts +24 -0
  584. package/lib/typescript/module/dataViewer/tree/TreeDiffViewer.d.ts.map +1 -0
  585. package/lib/typescript/module/env/EnvironmentIndicator.d.ts +12 -0
  586. package/lib/typescript/module/env/EnvironmentIndicator.d.ts.map +1 -0
  587. package/lib/typescript/module/env/EnvironmentSelector.d.ts +18 -0
  588. package/lib/typescript/module/env/EnvironmentSelector.d.ts.map +1 -0
  589. package/lib/typescript/module/env/EnvironmentSelectorInline.d.ts +12 -0
  590. package/lib/typescript/module/env/EnvironmentSelectorInline.d.ts.map +1 -0
  591. package/lib/typescript/module/hooks/index.d.ts +5 -0
  592. package/lib/typescript/module/hooks/index.d.ts.map +1 -0
  593. package/lib/typescript/module/hooks/safe-area-impl.d.ts +24 -0
  594. package/lib/typescript/module/hooks/safe-area-impl.d.ts.map +1 -0
  595. package/lib/typescript/module/hooks/useDeviceInfo.d.ts +125 -0
  596. package/lib/typescript/module/hooks/useDeviceInfo.d.ts.map +1 -0
  597. package/lib/typescript/module/hooks/useFilterManager.d.ts +59 -0
  598. package/lib/typescript/module/hooks/useFilterManager.d.ts.map +1 -0
  599. package/lib/typescript/module/hooks/useSafeAreaInsets.d.ts +113 -0
  600. package/lib/typescript/module/hooks/useSafeAreaInsets.d.ts.map +1 -0
  601. package/lib/typescript/module/icons/BenchmarkIcon.d.ts +14 -0
  602. package/lib/typescript/module/icons/BenchmarkIcon.d.ts.map +1 -0
  603. package/lib/typescript/module/icons/EnvLaptopIcon.d.ts +14 -0
  604. package/lib/typescript/module/icons/EnvLaptopIcon.d.ts.map +1 -0
  605. package/lib/typescript/module/icons/IconBackground.d.ts +10 -0
  606. package/lib/typescript/module/icons/IconBackground.d.ts.map +1 -0
  607. package/lib/typescript/module/icons/ReactQueryIcon.d.ts +12 -0
  608. package/lib/typescript/module/icons/ReactQueryIcon.d.ts.map +1 -0
  609. package/lib/typescript/module/icons/RenderCountIcon.d.ts +14 -0
  610. package/lib/typescript/module/icons/RenderCountIcon.d.ts.map +1 -0
  611. package/lib/typescript/module/icons/RouteMapIcon.d.ts +14 -0
  612. package/lib/typescript/module/icons/RouteMapIcon.d.ts.map +1 -0
  613. package/lib/typescript/module/icons/SentryBugIcon.d.ts +12 -0
  614. package/lib/typescript/module/icons/SentryBugIcon.d.ts.map +1 -0
  615. package/lib/typescript/module/icons/StackPulseIcon.d.ts +11 -0
  616. package/lib/typescript/module/icons/StackPulseIcon.d.ts.map +1 -0
  617. package/lib/typescript/module/icons/StorageStackIcon.d.ts +12 -0
  618. package/lib/typescript/module/icons/StorageStackIcon.d.ts.map +1 -0
  619. package/lib/typescript/module/icons/WifiCircuitIcon.d.ts +15 -0
  620. package/lib/typescript/module/icons/WifiCircuitIcon.d.ts.map +1 -0
  621. package/lib/typescript/module/icons/index.d.ts +15 -0
  622. package/lib/typescript/module/icons/index.d.ts.map +1 -0
  623. package/lib/typescript/module/icons/lucide-icons-original-full.d.ts +148 -0
  624. package/lib/typescript/module/icons/lucide-icons-original-full.d.ts.map +1 -0
  625. package/lib/typescript/module/icons/lucide-icons.d.ts +170 -0
  626. package/lib/typescript/module/icons/lucide-icons.d.ts.map +1 -0
  627. package/lib/typescript/module/icons/primitives/GlobeIcon.d.ts +15 -0
  628. package/lib/typescript/module/icons/primitives/GlobeIcon.d.ts.map +1 -0
  629. package/lib/typescript/module/icons/primitives/icon-primitives.d.ts +92 -0
  630. package/lib/typescript/module/icons/primitives/icon-primitives.d.ts.map +1 -0
  631. package/lib/typescript/module/icons/primitives/index.d.ts +9 -0
  632. package/lib/typescript/module/icons/primitives/index.d.ts.map +1 -0
  633. package/lib/typescript/module/index.d.ts +28 -0
  634. package/lib/typescript/module/index.d.ts.map +1 -0
  635. package/lib/typescript/module/license/FeatureGate.d.ts +123 -0
  636. package/lib/typescript/module/license/FeatureGate.d.ts.map +1 -0
  637. package/lib/typescript/module/license/LicenseEntryModal.d.ts +69 -0
  638. package/lib/typescript/module/license/LicenseEntryModal.d.ts.map +1 -0
  639. package/lib/typescript/module/license/ManageDevicesModal.d.ts +23 -0
  640. package/lib/typescript/module/license/ManageDevicesModal.d.ts.map +1 -0
  641. package/lib/typescript/module/license/index.d.ts +7 -0
  642. package/lib/typescript/module/license/index.d.ts.map +1 -0
  643. package/lib/typescript/module/logger/index-sentry.d.ts +68 -0
  644. package/lib/typescript/module/logger/index-sentry.d.ts.map +1 -0
  645. package/lib/typescript/module/logger/index.d.ts +5 -0
  646. package/lib/typescript/module/logger/index.d.ts.map +1 -0
  647. package/lib/typescript/module/logger/logDump.d.ts +5 -0
  648. package/lib/typescript/module/logger/logDump.d.ts.map +1 -0
  649. package/lib/typescript/module/logger/types.d.ts +100 -0
  650. package/lib/typescript/module/logger/types.d.ts.map +1 -0
  651. package/lib/typescript/module/package.json +1 -0
  652. package/lib/typescript/module/settings/components/BubbleSettingsSection.d.ts +19 -0
  653. package/lib/typescript/module/settings/components/BubbleSettingsSection.d.ts.map +1 -0
  654. package/lib/typescript/module/settings/index.d.ts +2 -0
  655. package/lib/typescript/module/settings/index.d.ts.map +1 -0
  656. package/lib/typescript/module/storage/devToolsStorageKeys.d.ts +173 -0
  657. package/lib/typescript/module/storage/devToolsStorageKeys.d.ts.map +1 -0
  658. package/lib/typescript/module/storage/index.d.ts +2 -0
  659. package/lib/typescript/module/storage/index.d.ts.map +1 -0
  660. package/lib/typescript/module/types/index.d.ts +2 -0
  661. package/lib/typescript/module/types/index.d.ts.map +1 -0
  662. package/lib/typescript/module/types/types.d.ts +8 -0
  663. package/lib/typescript/module/types/types.d.ts.map +1 -0
  664. package/lib/typescript/module/ui/components/BackButton.d.ts +10 -0
  665. package/lib/typescript/module/ui/components/BackButton.d.ts.map +1 -0
  666. package/lib/typescript/module/ui/components/Badge.d.ts +41 -0
  667. package/lib/typescript/module/ui/components/Badge.d.ts.map +1 -0
  668. package/lib/typescript/module/ui/components/ClipboardHintBanner.d.ts +17 -0
  669. package/lib/typescript/module/ui/components/ClipboardHintBanner.d.ts.map +1 -0
  670. package/lib/typescript/module/ui/components/CollapsibleSection.d.ts +35 -0
  671. package/lib/typescript/module/ui/components/CollapsibleSection.d.ts.map +1 -0
  672. package/lib/typescript/module/ui/components/CompactFilterChips.d.ts +23 -0
  673. package/lib/typescript/module/ui/components/CompactFilterChips.d.ts.map +1 -0
  674. package/lib/typescript/module/ui/components/CompactRow.d.ts +21 -0
  675. package/lib/typescript/module/ui/components/CompactRow.d.ts.map +1 -0
  676. package/lib/typescript/module/ui/components/CopyButton.d.ts +41 -0
  677. package/lib/typescript/module/ui/components/CopyButton.d.ts.map +1 -0
  678. package/lib/typescript/module/ui/components/DataInspector.d.ts +35 -0
  679. package/lib/typescript/module/ui/components/DataInspector.d.ts.map +1 -0
  680. package/lib/typescript/module/ui/components/DetailView.d.ts +68 -0
  681. package/lib/typescript/module/ui/components/DetailView.d.ts.map +1 -0
  682. package/lib/typescript/module/ui/components/Divider.d.ts +2 -0
  683. package/lib/typescript/module/ui/components/Divider.d.ts.map +1 -0
  684. package/lib/typescript/module/ui/components/DraggableHeader.d.ts +35 -0
  685. package/lib/typescript/module/ui/components/DraggableHeader.d.ts.map +1 -0
  686. package/lib/typescript/module/ui/components/DynamicFilterView.d.ts +91 -0
  687. package/lib/typescript/module/ui/components/DynamicFilterView.d.ts.map +1 -0
  688. package/lib/typescript/module/ui/components/EmptyState.d.ts +43 -0
  689. package/lib/typescript/module/ui/components/EmptyState.d.ts.map +1 -0
  690. package/lib/typescript/module/ui/components/ErrorBoundary.d.ts +18 -0
  691. package/lib/typescript/module/ui/components/ErrorBoundary.d.ts.map +1 -0
  692. package/lib/typescript/module/ui/components/EventHistoryViewer/CompareBar.d.ts +15 -0
  693. package/lib/typescript/module/ui/components/EventHistoryViewer/CompareBar.d.ts.map +1 -0
  694. package/lib/typescript/module/ui/components/EventHistoryViewer/DiffModeTabs.d.ts +15 -0
  695. package/lib/typescript/module/ui/components/EventHistoryViewer/DiffModeTabs.d.ts.map +1 -0
  696. package/lib/typescript/module/ui/components/EventHistoryViewer/EventHistoryViewer.d.ts +15 -0
  697. package/lib/typescript/module/ui/components/EventHistoryViewer/EventHistoryViewer.d.ts.map +1 -0
  698. package/lib/typescript/module/ui/components/EventHistoryViewer/EventPickerModal.d.ts +15 -0
  699. package/lib/typescript/module/ui/components/EventHistoryViewer/EventPickerModal.d.ts.map +1 -0
  700. package/lib/typescript/module/ui/components/EventHistoryViewer/ViewToggleCards.d.ts +14 -0
  701. package/lib/typescript/module/ui/components/EventHistoryViewer/ViewToggleCards.d.ts.map +1 -0
  702. package/lib/typescript/module/ui/components/EventHistoryViewer/index.d.ts +13 -0
  703. package/lib/typescript/module/ui/components/EventHistoryViewer/index.d.ts.map +1 -0
  704. package/lib/typescript/module/ui/components/EventHistoryViewer/types.d.ts +216 -0
  705. package/lib/typescript/module/ui/components/EventHistoryViewer/types.d.ts.map +1 -0
  706. package/lib/typescript/module/ui/components/EventListItem.d.ts +65 -0
  707. package/lib/typescript/module/ui/components/EventListItem.d.ts.map +1 -0
  708. package/lib/typescript/module/ui/components/EventStepperFooter.d.ts +32 -0
  709. package/lib/typescript/module/ui/components/EventStepperFooter.d.ts.map +1 -0
  710. package/lib/typescript/module/ui/components/ExpandablePopover.d.ts +34 -0
  711. package/lib/typescript/module/ui/components/ExpandablePopover.d.ts.map +1 -0
  712. package/lib/typescript/module/ui/components/ExpandableSection.d.ts +15 -0
  713. package/lib/typescript/module/ui/components/ExpandableSection.d.ts.map +1 -0
  714. package/lib/typescript/module/ui/components/ExpandableSectionHeader.d.ts +13 -0
  715. package/lib/typescript/module/ui/components/ExpandableSectionHeader.d.ts.map +1 -0
  716. package/lib/typescript/module/ui/components/ExpandableSectionWithModal.d.ts +18 -0
  717. package/lib/typescript/module/ui/components/ExpandableSectionWithModal.d.ts.map +1 -0
  718. package/lib/typescript/module/ui/components/FilterComponents.d.ts +38 -0
  719. package/lib/typescript/module/ui/components/FilterComponents.d.ts.map +1 -0
  720. package/lib/typescript/module/ui/components/FilterViewPattern.d.ts +15 -0
  721. package/lib/typescript/module/ui/components/FilterViewPattern.d.ts.map +1 -0
  722. package/lib/typescript/module/ui/components/HeaderSearchButton.d.ts +9 -0
  723. package/lib/typescript/module/ui/components/HeaderSearchButton.d.ts.map +1 -0
  724. package/lib/typescript/module/ui/components/ListItem.d.ts +49 -0
  725. package/lib/typescript/module/ui/components/ListItem.d.ts.map +1 -0
  726. package/lib/typescript/module/ui/components/ModalHeader.d.ts +34 -0
  727. package/lib/typescript/module/ui/components/ModalHeader.d.ts.map +1 -0
  728. package/lib/typescript/module/ui/components/ModalHintBanner.d.ts +15 -0
  729. package/lib/typescript/module/ui/components/ModalHintBanner.d.ts.map +1 -0
  730. package/lib/typescript/module/ui/components/SearchBar.d.ts +32 -0
  731. package/lib/typescript/module/ui/components/SearchBar.d.ts.map +1 -0
  732. package/lib/typescript/module/ui/components/SectionHeader.d.ts +33 -0
  733. package/lib/typescript/module/ui/components/SectionHeader.d.ts.map +1 -0
  734. package/lib/typescript/module/ui/components/StatsCard.d.ts +45 -0
  735. package/lib/typescript/module/ui/components/StatsCard.d.ts.map +1 -0
  736. package/lib/typescript/module/ui/components/StatusIndicator.d.ts +40 -0
  737. package/lib/typescript/module/ui/components/StatusIndicator.d.ts.map +1 -0
  738. package/lib/typescript/module/ui/components/StorageTypeBadge.d.ts +9 -0
  739. package/lib/typescript/module/ui/components/StorageTypeBadge.d.ts.map +1 -0
  740. package/lib/typescript/module/ui/components/TabSelector.d.ts +12 -0
  741. package/lib/typescript/module/ui/components/TabSelector.d.ts.map +1 -0
  742. package/lib/typescript/module/ui/components/TimeDisplay.d.ts +30 -0
  743. package/lib/typescript/module/ui/components/TimeDisplay.d.ts.map +1 -0
  744. package/lib/typescript/module/ui/components/TypeBadge.d.ts +6 -0
  745. package/lib/typescript/module/ui/components/TypeBadge.d.ts.map +1 -0
  746. package/lib/typescript/module/ui/components/ValueTypeBadge.d.ts +10 -0
  747. package/lib/typescript/module/ui/components/ValueTypeBadge.d.ts.map +1 -0
  748. package/lib/typescript/module/ui/components/WindowControls.d.ts +19 -0
  749. package/lib/typescript/module/ui/components/WindowControls.d.ts.map +1 -0
  750. package/lib/typescript/module/ui/components/index.d.ts +36 -0
  751. package/lib/typescript/module/ui/components/index.d.ts.map +1 -0
  752. package/lib/typescript/module/ui/components/types.d.ts +3 -0
  753. package/lib/typescript/module/ui/components/types.d.ts.map +1 -0
  754. package/lib/typescript/module/ui/console/BubbleSettingsModal.d.ts +11 -0
  755. package/lib/typescript/module/ui/console/BubbleSettingsModal.d.ts.map +1 -0
  756. package/lib/typescript/module/ui/console/ConsoleSection.d.ts +19 -0
  757. package/lib/typescript/module/ui/console/ConsoleSection.d.ts.map +1 -0
  758. package/lib/typescript/module/ui/console/CyberpunkButtonOutline.d.ts +12 -0
  759. package/lib/typescript/module/ui/console/CyberpunkButtonOutline.d.ts.map +1 -0
  760. package/lib/typescript/module/ui/console/CyberpunkConsoleSection.d.ts +17 -0
  761. package/lib/typescript/module/ui/console/CyberpunkConsoleSection.d.ts.map +1 -0
  762. package/lib/typescript/module/ui/console/CyberpunkIconContainer.d.ts +9 -0
  763. package/lib/typescript/module/ui/console/CyberpunkIconContainer.d.ts.map +1 -0
  764. package/lib/typescript/module/ui/console/CyberpunkSectionButton.d.ts +14 -0
  765. package/lib/typescript/module/ui/console/CyberpunkSectionButton.d.ts.map +1 -0
  766. package/lib/typescript/module/ui/console/GalaxyButton.d.ts +10 -0
  767. package/lib/typescript/module/ui/console/GalaxyButton.d.ts.map +1 -0
  768. package/lib/typescript/module/ui/console/index.d.ts +2 -0
  769. package/lib/typescript/module/ui/console/index.d.ts.map +1 -0
  770. package/lib/typescript/module/ui/gameUI/components/GameUICollapsibleSection.d.ts +24 -0
  771. package/lib/typescript/module/ui/gameUI/components/GameUICollapsibleSection.d.ts.map +1 -0
  772. package/lib/typescript/module/ui/gameUI/components/GameUICompactStats.d.ts +40 -0
  773. package/lib/typescript/module/ui/gameUI/components/GameUICompactStats.d.ts.map +1 -0
  774. package/lib/typescript/module/ui/gameUI/components/GameUIIssuesList.d.ts +29 -0
  775. package/lib/typescript/module/ui/gameUI/components/GameUIIssuesList.d.ts.map +1 -0
  776. package/lib/typescript/module/ui/gameUI/components/GameUIStatusHeader.d.ts +16 -0
  777. package/lib/typescript/module/ui/gameUI/components/GameUIStatusHeader.d.ts.map +1 -0
  778. package/lib/typescript/module/ui/gameUI/constants/gameUIColors.d.ts +103 -0
  779. package/lib/typescript/module/ui/gameUI/constants/gameUIColors.d.ts.map +1 -0
  780. package/lib/typescript/module/ui/gameUI/constants/macOSDesignSystemColors.d.ts +157 -0
  781. package/lib/typescript/module/ui/gameUI/constants/macOSDesignSystemColors.d.ts.map +1 -0
  782. package/lib/typescript/module/ui/gameUI/hooks/useGameUIAlertState.d.ts +37 -0
  783. package/lib/typescript/module/ui/gameUI/hooks/useGameUIAlertState.d.ts.map +1 -0
  784. package/lib/typescript/module/ui/gameUI/index.d.ts +18 -0
  785. package/lib/typescript/module/ui/gameUI/index.d.ts.map +1 -0
  786. package/lib/typescript/module/ui/index.d.ts +4 -0
  787. package/lib/typescript/module/ui/index.d.ts.map +1 -0
  788. package/lib/typescript/module/utils/displayValue.d.ts +16 -0
  789. package/lib/typescript/module/utils/displayValue.d.ts.map +1 -0
  790. package/lib/typescript/module/utils/formatting/dataFormatting.d.ts +31 -0
  791. package/lib/typescript/module/utils/formatting/dataFormatting.d.ts.map +1 -0
  792. package/lib/typescript/module/utils/formatting/httpFormatting.d.ts +34 -0
  793. package/lib/typescript/module/utils/formatting/httpFormatting.d.ts.map +1 -0
  794. package/lib/typescript/module/utils/formatting/index.d.ts +6 -0
  795. package/lib/typescript/module/utils/formatting/index.d.ts.map +1 -0
  796. package/lib/typescript/module/utils/getSafeAreaInsets.d.ts +14 -0
  797. package/lib/typescript/module/utils/getSafeAreaInsets.d.ts.map +1 -0
  798. package/lib/typescript/module/utils/index.d.ts +9 -0
  799. package/lib/typescript/module/utils/index.d.ts.map +1 -0
  800. package/lib/typescript/module/utils/loadOptionalModule.d.ts +27 -0
  801. package/lib/typescript/module/utils/loadOptionalModule.d.ts.map +1 -0
  802. package/lib/typescript/module/utils/minimalSuperJSON.d.ts +18 -0
  803. package/lib/typescript/module/utils/minimalSuperJSON.d.ts.map +1 -0
  804. package/lib/typescript/module/utils/persistentStorage.d.ts +45 -0
  805. package/lib/typescript/module/utils/persistentStorage.d.ts.map +1 -0
  806. package/lib/typescript/module/utils/safeAsyncStorage.d.ts +35 -0
  807. package/lib/typescript/module/utils/safeAsyncStorage.d.ts.map +1 -0
  808. package/lib/typescript/module/utils/safeStringify.d.ts +49 -0
  809. package/lib/typescript/module/utils/safeStringify.d.ts.map +1 -0
  810. package/lib/typescript/module/utils/time/formatRelativeTime.d.ts +8 -0
  811. package/lib/typescript/module/utils/time/formatRelativeTime.d.ts.map +1 -0
  812. package/lib/typescript/module/utils/time/index.d.ts +2 -0
  813. package/lib/typescript/module/utils/time/index.d.ts.map +1 -0
  814. package/lib/typescript/module/utils/typeHelpers.d.ts +52 -0
  815. package/lib/typescript/module/utils/typeHelpers.d.ts.map +1 -0
  816. package/lib/typescript/module/utils/valueFormatting.d.ts +39 -0
  817. package/lib/typescript/module/utils/valueFormatting.d.ts.map +1 -0
  818. package/package.json +172 -0
  819. package/scripts/detect-clipboard.js +137 -0
  820. package/scripts/detect-safe-area.js +130 -0
@@ -0,0 +1,944 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * LicenseEntryModal - Modal for entering and activating a license key
5
+ *
6
+ * Flow:
7
+ * 1. Enter license key
8
+ * 2. Validate key - check if device registration needed
9
+ * 3a. If existing devices, show selection (claim or register new)
10
+ * 3b. If no devices, prompt for device name
11
+ * 4. Register device with user-provided name
12
+ * 5. Success!
13
+ */
14
+
15
+ import React, { useState, useCallback, useMemo, useRef, useEffect } from "react";
16
+ import { View, Text, TextInput, TouchableOpacity, StyleSheet, ActivityIndicator, Linking, Modal, KeyboardAvoidingView, Platform, ScrollView } from "react-native";
17
+ import { macOSColors } from "../ui/gameUI/constants/macOSDesignSystemColors.js";
18
+ import { X, Key, Link, CheckCircle, AlertCircle, Smartphone, Plus } from "../icons/lucide-icons.js";
19
+
20
+ /**
21
+ * Registered device interface
22
+ */
23
+
24
+ /**
25
+ * License validation result from the license package
26
+ */
27
+
28
+ /**
29
+ * Result of device registration
30
+ */
31
+
32
+ /**
33
+ * License state interface for prop injection
34
+ */
35
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
36
+ // Lazy load license hooks to avoid circular dependencies
37
+ let _useLicense = null;
38
+ function getUseLicense() {
39
+ if (!_useLicense) {
40
+ try {
41
+ const mod = require("@buoy-gg/license");
42
+ _useLicense = mod.useLicense;
43
+ } catch {
44
+ // License package not available - will use injected license prop
45
+ }
46
+ }
47
+ return _useLicense;
48
+ }
49
+ const LICENSE_KEY_REGEX = /^[A-Z0-9]{6}-[A-Z0-9]{6}-[A-Z0-9]{6}-[A-Z0-9]{6}-[A-Z0-9]{6}-[A-Z0-9]{2,6}$/;
50
+ const MIN_KEY_LENGTH = 37;
51
+ function validateLicenseKeyFormat(key) {
52
+ const trimmedKey = key.trim().toUpperCase();
53
+ if (trimmedKey.length === 0) {
54
+ return {
55
+ isValid: false,
56
+ error: null
57
+ };
58
+ }
59
+ if (!/^[A-Z0-9-]+$/.test(trimmedKey)) {
60
+ return {
61
+ isValid: false,
62
+ error: "Invalid characters in key"
63
+ };
64
+ }
65
+ if (LICENSE_KEY_REGEX.test(trimmedKey)) {
66
+ return {
67
+ isValid: true,
68
+ error: null
69
+ };
70
+ }
71
+ if (trimmedKey.length < MIN_KEY_LENGTH) {
72
+ return {
73
+ isValid: false,
74
+ error: "Key is incomplete"
75
+ };
76
+ }
77
+ return {
78
+ isValid: false,
79
+ error: "Invalid key format"
80
+ };
81
+ }
82
+ export const LicenseEntryModal = ({
83
+ visible,
84
+ onClose,
85
+ onSuccess,
86
+ purchaseUrl = "https://buoy.gg/pricing",
87
+ license: injectedLicense,
88
+ startAtDeviceRegistration = false,
89
+ initialExistingDevices = [],
90
+ initialMaxDevices,
91
+ initialCurrentDeviceCount
92
+ }) => {
93
+ const [licenseKey, setLicenseKey] = useState("");
94
+ const [deviceName, setDeviceName] = useState("");
95
+ const [modalState, setModalState] = useState("entry");
96
+ const [errorMessage, setErrorMessage] = useState(null);
97
+ const [isFocused, setIsFocused] = useState(false);
98
+ const [isDeviceNameFocused, setIsDeviceNameFocused] = useState(false);
99
+ const [existingDevices, setExistingDevices] = useState([]);
100
+ const [maxDevices, setMaxDevices] = useState();
101
+ const [currentDeviceCount, setCurrentDeviceCount] = useState();
102
+ const [hasInitialized, setHasInitialized] = useState(false);
103
+
104
+ // Ref to track reset timeout to prevent race condition on quick close/open
105
+ const resetTimeoutRef = useRef(null);
106
+
107
+ // Use injected license if provided, otherwise try to load from @buoy-gg/license
108
+ const useLicenseHook = getUseLicense();
109
+ const hookLicense = useLicenseHook?.();
110
+ const license = injectedLicense ?? hookLicense;
111
+
112
+ // Handle initial state when modal becomes visible
113
+ React.useEffect(() => {
114
+ if (visible && startAtDeviceRegistration && !hasInitialized) {
115
+ // Set device count info from props when starting at device registration
116
+ if (initialMaxDevices !== undefined) {
117
+ setMaxDevices(initialMaxDevices);
118
+ }
119
+ if (initialCurrentDeviceCount !== undefined) {
120
+ setCurrentDeviceCount(initialCurrentDeviceCount);
121
+ }
122
+ if (initialExistingDevices.length > 0) {
123
+ setExistingDevices(initialExistingDevices);
124
+ setModalState("device_select");
125
+ } else {
126
+ setModalState("device_name");
127
+ }
128
+ setHasInitialized(true);
129
+ }
130
+ // Reset initialization flag when modal closes
131
+ if (!visible) {
132
+ setHasInitialized(false);
133
+ }
134
+ }, [visible, startAtDeviceRegistration, initialExistingDevices, initialMaxDevices, initialCurrentDeviceCount, hasInitialized]);
135
+
136
+ // Validate key format in real-time
137
+ const validation = useMemo(() => validateLicenseKeyFormat(licenseKey), [licenseKey]);
138
+ const canActivate = validation.isValid && licenseKey.trim().length > 0;
139
+ const canRegister = deviceName.trim().length >= 2;
140
+ const handleValidate = useCallback(async () => {
141
+ if (!canActivate) return;
142
+ if (!license) {
143
+ setModalState("error");
144
+ setErrorMessage("License system unavailable.");
145
+ return;
146
+ }
147
+ setModalState("validating");
148
+ setErrorMessage(null);
149
+ try {
150
+ // Check if the new validateLicenseKey method is available
151
+ if (license.validateLicenseKey) {
152
+ const result = await license.validateLicenseKey(licenseKey.trim());
153
+ if (!result.valid) {
154
+ setModalState("error");
155
+ setErrorMessage(result.error || "Invalid license key");
156
+ return;
157
+ }
158
+ setMaxDevices(result.maxDevices);
159
+ setCurrentDeviceCount(result.currentDeviceCount);
160
+ if (!result.needsDeviceRegistration) {
161
+ // Already registered or simulator - success!
162
+ setModalState("success");
163
+ setTimeout(() => {
164
+ onSuccess?.();
165
+ onClose();
166
+ resetState();
167
+ }, 1500);
168
+ return;
169
+ }
170
+
171
+ // Device registration needed
172
+ if (result.existingDevices.length > 0) {
173
+ setExistingDevices(result.existingDevices);
174
+ setModalState("device_select");
175
+ } else {
176
+ setModalState("device_name");
177
+ }
178
+ } else {
179
+ // Fallback to legacy setLicenseKey
180
+ const success = await license.setLicenseKey(licenseKey.trim());
181
+ if (success) {
182
+ setModalState("success");
183
+ setTimeout(() => {
184
+ onSuccess?.();
185
+ onClose();
186
+ resetState();
187
+ }, 1500);
188
+ } else {
189
+ setModalState("error");
190
+ setErrorMessage(license.error || "Invalid license key");
191
+ }
192
+ }
193
+ } catch (err) {
194
+ setModalState("error");
195
+ setErrorMessage(err instanceof Error ? err.message : "Validation failed");
196
+ }
197
+ }, [licenseKey, license, onSuccess, onClose, canActivate]);
198
+ const handleRegisterDevice = useCallback(async () => {
199
+ if (!canRegister || !license?.registerDevice) {
200
+ // Fallback if registerDevice not available
201
+ if (license?.setLicenseKey) {
202
+ const success = await license.setLicenseKey(licenseKey.trim());
203
+ if (success) {
204
+ setModalState("success");
205
+ setTimeout(() => {
206
+ onSuccess?.();
207
+ onClose();
208
+ resetState();
209
+ }, 1500);
210
+ } else {
211
+ setModalState("error");
212
+ setErrorMessage(license.error || "Registration failed");
213
+ }
214
+ }
215
+ return;
216
+ }
217
+ setModalState("registering");
218
+ setErrorMessage(null);
219
+ try {
220
+ const result = await license.registerDevice(deviceName.trim());
221
+ if (result.success) {
222
+ setModalState("success");
223
+ setTimeout(() => {
224
+ onSuccess?.();
225
+ onClose();
226
+ resetState();
227
+ }, 1500);
228
+ } else {
229
+ setModalState("error");
230
+ setErrorMessage(result.error || "Device registration failed");
231
+ }
232
+ } catch (err) {
233
+ setModalState("error");
234
+ setErrorMessage(err instanceof Error ? err.message : "Registration failed");
235
+ }
236
+ }, [deviceName, license, licenseKey, onSuccess, onClose, canRegister]);
237
+ const handleClaimDevice = useCallback(async device => {
238
+ if (!license?.claimDevice) {
239
+ setModalState("error");
240
+ setErrorMessage("Claim device not available");
241
+ return;
242
+ }
243
+ setModalState("registering");
244
+ setErrorMessage(null);
245
+ try {
246
+ const success = await license.claimDevice(device.id, existingDevices);
247
+ if (success) {
248
+ setModalState("success");
249
+ setTimeout(() => {
250
+ onSuccess?.();
251
+ onClose();
252
+ resetState();
253
+ }, 1500);
254
+ } else {
255
+ setModalState("error");
256
+ setErrorMessage(license.error || "Failed to claim device");
257
+ }
258
+ } catch (err) {
259
+ setModalState("error");
260
+ setErrorMessage(err instanceof Error ? err.message : "Failed to claim device");
261
+ }
262
+ }, [license, existingDevices, onSuccess, onClose]);
263
+ const handleRegisterNew = useCallback(() => {
264
+ setModalState("device_name");
265
+ }, []);
266
+ const handleGetLicense = useCallback(() => {
267
+ Linking.openURL(purchaseUrl);
268
+ }, [purchaseUrl]);
269
+ const resetState = useCallback(() => {
270
+ setLicenseKey("");
271
+ setDeviceName("");
272
+ setModalState("entry");
273
+ setErrorMessage(null);
274
+ setIsFocused(false);
275
+ setIsDeviceNameFocused(false);
276
+ setExistingDevices([]);
277
+ setMaxDevices(undefined);
278
+ setCurrentDeviceCount(undefined);
279
+ }, []);
280
+ const handleClose = useCallback(() => {
281
+ onClose();
282
+ // Store the timeout ref so it can be cancelled if modal reopens quickly
283
+ resetTimeoutRef.current = setTimeout(resetState, 300);
284
+ }, [onClose, resetState]);
285
+
286
+ // Cancel pending reset if modal becomes visible (prevents race condition)
287
+ useEffect(() => {
288
+ if (visible && resetTimeoutRef.current) {
289
+ clearTimeout(resetTimeoutRef.current);
290
+ resetTimeoutRef.current = null;
291
+ }
292
+ }, [visible]);
293
+ const formatLicenseKey = text => {
294
+ return text.toUpperCase().replace(/[^A-Z0-9-]/g, "");
295
+ };
296
+ const renderContent = () => {
297
+ switch (modalState) {
298
+ case "validating":
299
+ case "registering":
300
+ return /*#__PURE__*/_jsxs(View, {
301
+ style: styles.stateContainer,
302
+ children: [/*#__PURE__*/_jsx(View, {
303
+ style: styles.loaderContainer,
304
+ children: /*#__PURE__*/_jsx(ActivityIndicator, {
305
+ size: "large",
306
+ color: macOSColors.semantic.info
307
+ })
308
+ }), /*#__PURE__*/_jsx(Text, {
309
+ style: styles.stateText,
310
+ children: modalState === "validating" ? "Validating license..." : "Registering device..."
311
+ }), /*#__PURE__*/_jsx(Text, {
312
+ style: styles.stateSubtext,
313
+ children: "Please wait"
314
+ })]
315
+ });
316
+ case "success":
317
+ return /*#__PURE__*/_jsxs(View, {
318
+ style: styles.stateContainer,
319
+ children: [/*#__PURE__*/_jsx(View, {
320
+ style: [styles.statusIconContainer, styles.successIconContainer],
321
+ children: /*#__PURE__*/_jsx(CheckCircle, {
322
+ size: 32,
323
+ color: macOSColors.semantic.success
324
+ })
325
+ }), /*#__PURE__*/_jsx(Text, {
326
+ style: styles.successText,
327
+ children: "License Activated!"
328
+ }), /*#__PURE__*/_jsx(Text, {
329
+ style: styles.stateSubtext,
330
+ children: "Pro features are now unlocked"
331
+ })]
332
+ });
333
+ case "error":
334
+ return /*#__PURE__*/_jsxs(View, {
335
+ style: styles.stateContainer,
336
+ children: [/*#__PURE__*/_jsx(View, {
337
+ style: [styles.statusIconContainer, styles.errorIconContainer],
338
+ children: /*#__PURE__*/_jsx(AlertCircle, {
339
+ size: 32,
340
+ color: macOSColors.semantic.error
341
+ })
342
+ }), /*#__PURE__*/_jsx(Text, {
343
+ style: styles.errorText,
344
+ children: "Activation Failed"
345
+ }), /*#__PURE__*/_jsx(Text, {
346
+ style: styles.stateSubtext,
347
+ children: errorMessage
348
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
349
+ style: styles.secondaryButton,
350
+ onPress: () => setModalState("entry"),
351
+ activeOpacity: 0.8,
352
+ children: /*#__PURE__*/_jsx(Text, {
353
+ style: styles.secondaryButtonText,
354
+ children: "Try Again"
355
+ })
356
+ })]
357
+ });
358
+ case "device_name":
359
+ return /*#__PURE__*/_jsxs(_Fragment, {
360
+ children: [/*#__PURE__*/_jsxs(View, {
361
+ style: styles.header,
362
+ children: [/*#__PURE__*/_jsx(View, {
363
+ style: styles.iconContainer,
364
+ children: /*#__PURE__*/_jsx(Smartphone, {
365
+ size: 20,
366
+ color: macOSColors.semantic.info
367
+ })
368
+ }), /*#__PURE__*/_jsx(Text, {
369
+ style: styles.title,
370
+ children: "Name This Device"
371
+ }), /*#__PURE__*/_jsx(Text, {
372
+ style: styles.subtitle,
373
+ children: "Give this device a name so you can identify it later"
374
+ })]
375
+ }), /*#__PURE__*/_jsxs(View, {
376
+ style: styles.inputWrapper,
377
+ children: [/*#__PURE__*/_jsx(View, {
378
+ style: [styles.inputContainer, isDeviceNameFocused && styles.inputContainerFocused],
379
+ children: /*#__PURE__*/_jsx(TextInput, {
380
+ style: [styles.input, {
381
+ fontFamily: undefined,
382
+ letterSpacing: 0
383
+ }],
384
+ value: deviceName,
385
+ onChangeText: setDeviceName,
386
+ placeholder: "e.g., My iPhone, Work iPad",
387
+ placeholderTextColor: macOSColors.text.muted,
388
+ autoFocus: true,
389
+ onFocus: () => setIsDeviceNameFocused(true),
390
+ onBlur: () => setIsDeviceNameFocused(false)
391
+ })
392
+ }), maxDevices && /*#__PURE__*/_jsxs(Text, {
393
+ style: styles.deviceCount,
394
+ children: [currentDeviceCount ?? 0, " of ", maxDevices, " devices used"]
395
+ })]
396
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
397
+ style: [styles.activateButton, !canRegister && styles.activateButtonDisabled],
398
+ onPress: handleRegisterDevice,
399
+ disabled: !canRegister,
400
+ activeOpacity: 0.8,
401
+ children: /*#__PURE__*/_jsx(Text, {
402
+ style: [styles.activateButtonText, !canRegister && styles.activateButtonTextDisabled],
403
+ children: "Register Device"
404
+ })
405
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
406
+ style: styles.backButton,
407
+ onPress: () => setModalState("entry"),
408
+ activeOpacity: 0.8,
409
+ children: /*#__PURE__*/_jsx(Text, {
410
+ style: styles.backButtonText,
411
+ children: "Back"
412
+ })
413
+ })]
414
+ });
415
+ case "device_select":
416
+ return /*#__PURE__*/_jsxs(_Fragment, {
417
+ children: [/*#__PURE__*/_jsxs(View, {
418
+ style: styles.header,
419
+ children: [/*#__PURE__*/_jsx(View, {
420
+ style: styles.iconContainer,
421
+ children: /*#__PURE__*/_jsx(Smartphone, {
422
+ size: 20,
423
+ color: macOSColors.semantic.info
424
+ })
425
+ }), /*#__PURE__*/_jsx(Text, {
426
+ style: styles.title,
427
+ children: "Select Device"
428
+ }), /*#__PURE__*/_jsx(Text, {
429
+ style: styles.subtitle,
430
+ children: "Claim an existing device or register a new one"
431
+ }), maxDevices && /*#__PURE__*/_jsxs(Text, {
432
+ style: styles.deviceCountHeader,
433
+ children: [currentDeviceCount ?? 0, " of ", maxDevices, " devices used"]
434
+ })]
435
+ }), /*#__PURE__*/_jsx(ScrollView, {
436
+ style: styles.deviceList,
437
+ showsVerticalScrollIndicator: false,
438
+ children: existingDevices.map(device => /*#__PURE__*/_jsxs(TouchableOpacity, {
439
+ style: styles.deviceItem,
440
+ onPress: () => handleClaimDevice(device),
441
+ activeOpacity: 0.8,
442
+ children: [/*#__PURE__*/_jsx(View, {
443
+ style: styles.deviceIcon,
444
+ children: /*#__PURE__*/_jsx(Smartphone, {
445
+ size: 18,
446
+ color: macOSColors.text.secondary
447
+ })
448
+ }), /*#__PURE__*/_jsxs(View, {
449
+ style: styles.deviceInfo,
450
+ children: [/*#__PURE__*/_jsx(Text, {
451
+ style: styles.deviceName,
452
+ children: device.name
453
+ }), /*#__PURE__*/_jsx(Text, {
454
+ style: styles.devicePlatform,
455
+ children: device.platform
456
+ })]
457
+ }), /*#__PURE__*/_jsx(Text, {
458
+ style: styles.claimText,
459
+ children: "Claim"
460
+ })]
461
+ }, device.id))
462
+ }), (!maxDevices || (currentDeviceCount ?? 0) < maxDevices) && /*#__PURE__*/_jsxs(TouchableOpacity, {
463
+ style: styles.registerNewButton,
464
+ onPress: handleRegisterNew,
465
+ activeOpacity: 0.8,
466
+ children: [/*#__PURE__*/_jsx(Plus, {
467
+ size: 16,
468
+ color: macOSColors.semantic.info
469
+ }), /*#__PURE__*/_jsx(Text, {
470
+ style: styles.registerNewText,
471
+ children: "Register New Device"
472
+ })]
473
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
474
+ style: styles.backButton,
475
+ onPress: () => setModalState("entry"),
476
+ activeOpacity: 0.8,
477
+ children: /*#__PURE__*/_jsx(Text, {
478
+ style: styles.backButtonText,
479
+ children: "Back"
480
+ })
481
+ })]
482
+ });
483
+ default:
484
+ // entry
485
+ return /*#__PURE__*/_jsxs(_Fragment, {
486
+ children: [/*#__PURE__*/_jsxs(View, {
487
+ style: styles.header,
488
+ children: [/*#__PURE__*/_jsx(View, {
489
+ style: styles.iconContainer,
490
+ children: /*#__PURE__*/_jsx(Key, {
491
+ size: 20,
492
+ color: macOSColors.semantic.info
493
+ })
494
+ }), /*#__PURE__*/_jsx(Text, {
495
+ style: styles.title,
496
+ children: "Enter License Key"
497
+ }), /*#__PURE__*/_jsx(Text, {
498
+ style: styles.subtitle,
499
+ children: "Unlock Pro features by entering your license key"
500
+ })]
501
+ }), /*#__PURE__*/_jsxs(View, {
502
+ style: styles.inputWrapper,
503
+ children: [/*#__PURE__*/_jsx(View, {
504
+ style: [styles.inputContainer, isFocused && styles.inputContainerFocused, validation.error && licenseKey.length > 0 && styles.inputContainerError, validation.isValid && licenseKey.length > 0 && styles.inputContainerValid],
505
+ children: /*#__PURE__*/_jsx(TextInput, {
506
+ style: styles.input,
507
+ value: licenseKey,
508
+ onChangeText: text => setLicenseKey(formatLicenseKey(text)),
509
+ placeholder: "XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-V3",
510
+ placeholderTextColor: macOSColors.text.muted,
511
+ autoCapitalize: "characters",
512
+ autoCorrect: false,
513
+ autoComplete: "off",
514
+ onFocus: () => setIsFocused(true),
515
+ onBlur: () => setIsFocused(false)
516
+ })
517
+ }), validation.error && licenseKey.length > 0 && /*#__PURE__*/_jsx(Text, {
518
+ style: styles.validationError,
519
+ children: validation.error
520
+ }), validation.isValid && licenseKey.length > 0 && /*#__PURE__*/_jsx(Text, {
521
+ style: styles.validationSuccess,
522
+ children: "Valid format"
523
+ })]
524
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
525
+ style: [styles.activateButton, !canActivate && styles.activateButtonDisabled],
526
+ onPress: handleValidate,
527
+ disabled: !canActivate,
528
+ activeOpacity: 0.8,
529
+ children: /*#__PURE__*/_jsx(Text, {
530
+ style: [styles.activateButtonText, !canActivate && styles.activateButtonTextDisabled],
531
+ children: "Activate License"
532
+ })
533
+ }), /*#__PURE__*/_jsxs(View, {
534
+ style: styles.divider,
535
+ children: [/*#__PURE__*/_jsx(View, {
536
+ style: styles.dividerLine
537
+ }), /*#__PURE__*/_jsx(Text, {
538
+ style: styles.dividerText,
539
+ children: "or"
540
+ }), /*#__PURE__*/_jsx(View, {
541
+ style: styles.dividerLine
542
+ })]
543
+ }), /*#__PURE__*/_jsxs(TouchableOpacity, {
544
+ style: styles.purchaseButton,
545
+ onPress: handleGetLicense,
546
+ activeOpacity: 0.8,
547
+ children: [/*#__PURE__*/_jsx(Text, {
548
+ style: styles.purchaseButtonText,
549
+ children: "Get a License"
550
+ }), /*#__PURE__*/_jsx(Link, {
551
+ size: 14,
552
+ color: macOSColors.semantic.info
553
+ })]
554
+ })]
555
+ });
556
+ }
557
+ };
558
+ return /*#__PURE__*/_jsx(Modal, {
559
+ visible: visible,
560
+ transparent: true,
561
+ animationType: "fade",
562
+ onRequestClose: handleClose,
563
+ children: /*#__PURE__*/_jsxs(KeyboardAvoidingView, {
564
+ behavior: Platform.OS === "ios" ? "padding" : "height",
565
+ style: styles.overlay,
566
+ children: [/*#__PURE__*/_jsx(TouchableOpacity, {
567
+ style: styles.backdrop,
568
+ activeOpacity: 1,
569
+ onPress: handleClose
570
+ }), /*#__PURE__*/_jsxs(View, {
571
+ style: styles.modal,
572
+ children: [/*#__PURE__*/_jsx(TouchableOpacity, {
573
+ style: styles.closeButton,
574
+ onPress: handleClose,
575
+ activeOpacity: 0.7,
576
+ children: /*#__PURE__*/_jsx(X, {
577
+ size: 18,
578
+ color: macOSColors.text.muted
579
+ })
580
+ }), renderContent()]
581
+ })]
582
+ })
583
+ });
584
+ };
585
+ const styles = StyleSheet.create({
586
+ overlay: {
587
+ flex: 1,
588
+ justifyContent: "center",
589
+ alignItems: "center"
590
+ },
591
+ backdrop: {
592
+ ...StyleSheet.absoluteFillObject,
593
+ backgroundColor: "rgba(0, 0, 0, 0.8)"
594
+ },
595
+ modal: {
596
+ backgroundColor: macOSColors.background.card,
597
+ borderRadius: 12,
598
+ padding: 24,
599
+ width: "90%",
600
+ maxWidth: 380,
601
+ maxHeight: "80%",
602
+ borderWidth: 1,
603
+ borderColor: macOSColors.semantic.info + "50",
604
+ shadowColor: macOSColors.semantic.info,
605
+ shadowOffset: {
606
+ width: 0,
607
+ height: 0
608
+ },
609
+ shadowOpacity: 0.8,
610
+ shadowRadius: 24,
611
+ elevation: 24
612
+ },
613
+ closeButton: {
614
+ position: "absolute",
615
+ top: 12,
616
+ right: 12,
617
+ width: 28,
618
+ height: 28,
619
+ borderRadius: 6,
620
+ backgroundColor: macOSColors.background.hover,
621
+ alignItems: "center",
622
+ justifyContent: "center",
623
+ zIndex: 1
624
+ },
625
+ header: {
626
+ alignItems: "center",
627
+ marginBottom: 24,
628
+ paddingTop: 8
629
+ },
630
+ iconContainer: {
631
+ width: 48,
632
+ height: 48,
633
+ borderRadius: 12,
634
+ backgroundColor: macOSColors.semantic.info + "15",
635
+ borderWidth: 1,
636
+ borderColor: macOSColors.semantic.info + "30",
637
+ alignItems: "center",
638
+ justifyContent: "center",
639
+ marginBottom: 16,
640
+ shadowColor: macOSColors.semantic.info,
641
+ shadowOffset: {
642
+ width: 0,
643
+ height: 0
644
+ },
645
+ shadowOpacity: 0.2,
646
+ shadowRadius: 8
647
+ },
648
+ title: {
649
+ fontSize: 18,
650
+ fontWeight: "600",
651
+ color: macOSColors.text.primary,
652
+ marginBottom: 6
653
+ },
654
+ subtitle: {
655
+ fontSize: 13,
656
+ color: macOSColors.text.secondary,
657
+ textAlign: "center",
658
+ lineHeight: 18
659
+ },
660
+ inputWrapper: {
661
+ marginBottom: 16
662
+ },
663
+ inputContainer: {
664
+ backgroundColor: macOSColors.background.input,
665
+ borderRadius: 8,
666
+ borderWidth: 1,
667
+ borderColor: macOSColors.border.input,
668
+ overflow: "hidden"
669
+ },
670
+ inputContainerFocused: {
671
+ borderColor: macOSColors.semantic.info + "60",
672
+ shadowColor: macOSColors.semantic.info,
673
+ shadowOffset: {
674
+ width: 0,
675
+ height: 0
676
+ },
677
+ shadowOpacity: 0.15,
678
+ shadowRadius: 8
679
+ },
680
+ inputContainerError: {
681
+ borderColor: macOSColors.semantic.error + "60",
682
+ shadowColor: macOSColors.semantic.error,
683
+ shadowOffset: {
684
+ width: 0,
685
+ height: 0
686
+ },
687
+ shadowOpacity: 0.15,
688
+ shadowRadius: 8
689
+ },
690
+ inputContainerValid: {
691
+ borderColor: macOSColors.semantic.success + "60",
692
+ shadowColor: macOSColors.semantic.success,
693
+ shadowOffset: {
694
+ width: 0,
695
+ height: 0
696
+ },
697
+ shadowOpacity: 0.15,
698
+ shadowRadius: 8
699
+ },
700
+ input: {
701
+ paddingHorizontal: 12,
702
+ paddingVertical: 12,
703
+ fontSize: 12,
704
+ color: macOSColors.text.primary,
705
+ fontFamily: Platform.OS === "ios" ? "Menlo" : "monospace",
706
+ textAlign: "center",
707
+ letterSpacing: 0.3,
708
+ width: "100%"
709
+ },
710
+ activateButton: {
711
+ backgroundColor: macOSColors.semantic.info,
712
+ borderRadius: 8,
713
+ paddingVertical: 12,
714
+ alignItems: "center",
715
+ shadowColor: macOSColors.semantic.info,
716
+ shadowOffset: {
717
+ width: 0,
718
+ height: 2
719
+ },
720
+ shadowOpacity: 0.3,
721
+ shadowRadius: 8
722
+ },
723
+ activateButtonDisabled: {
724
+ backgroundColor: macOSColors.background.hover,
725
+ shadowOpacity: 0
726
+ },
727
+ activateButtonText: {
728
+ fontSize: 14,
729
+ fontWeight: "600",
730
+ color: "#000"
731
+ },
732
+ activateButtonTextDisabled: {
733
+ color: macOSColors.text.muted
734
+ },
735
+ divider: {
736
+ flexDirection: "row",
737
+ alignItems: "center",
738
+ marginVertical: 20
739
+ },
740
+ dividerLine: {
741
+ flex: 1,
742
+ height: 1,
743
+ backgroundColor: macOSColors.border.default
744
+ },
745
+ dividerText: {
746
+ marginHorizontal: 12,
747
+ fontSize: 11,
748
+ color: macOSColors.text.muted,
749
+ textTransform: "uppercase",
750
+ letterSpacing: 0.5
751
+ },
752
+ purchaseButton: {
753
+ flexDirection: "row",
754
+ alignItems: "center",
755
+ justifyContent: "center",
756
+ gap: 6,
757
+ paddingVertical: 10,
758
+ borderRadius: 8,
759
+ borderWidth: 1,
760
+ borderColor: macOSColors.semantic.info + "30",
761
+ backgroundColor: macOSColors.semantic.info + "10"
762
+ },
763
+ purchaseButtonText: {
764
+ fontSize: 13,
765
+ fontWeight: "600",
766
+ color: macOSColors.semantic.info
767
+ },
768
+ stateContainer: {
769
+ alignItems: "center",
770
+ paddingVertical: 24,
771
+ paddingTop: 16
772
+ },
773
+ loaderContainer: {
774
+ width: 64,
775
+ height: 64,
776
+ borderRadius: 16,
777
+ backgroundColor: macOSColors.semantic.info + "10",
778
+ borderWidth: 1,
779
+ borderColor: macOSColors.semantic.info + "20",
780
+ alignItems: "center",
781
+ justifyContent: "center",
782
+ marginBottom: 16
783
+ },
784
+ statusIconContainer: {
785
+ width: 64,
786
+ height: 64,
787
+ borderRadius: 16,
788
+ alignItems: "center",
789
+ justifyContent: "center",
790
+ marginBottom: 16,
791
+ borderWidth: 1
792
+ },
793
+ successIconContainer: {
794
+ backgroundColor: macOSColors.semantic.success + "15",
795
+ borderColor: macOSColors.semantic.success + "30",
796
+ shadowColor: macOSColors.semantic.success,
797
+ shadowOffset: {
798
+ width: 0,
799
+ height: 0
800
+ },
801
+ shadowOpacity: 0.2,
802
+ shadowRadius: 12
803
+ },
804
+ errorIconContainer: {
805
+ backgroundColor: macOSColors.semantic.error + "15",
806
+ borderColor: macOSColors.semantic.error + "30",
807
+ shadowColor: macOSColors.semantic.error,
808
+ shadowOffset: {
809
+ width: 0,
810
+ height: 0
811
+ },
812
+ shadowOpacity: 0.2,
813
+ shadowRadius: 12
814
+ },
815
+ stateText: {
816
+ fontSize: 16,
817
+ fontWeight: "600",
818
+ color: macOSColors.text.primary,
819
+ marginBottom: 4
820
+ },
821
+ stateSubtext: {
822
+ fontSize: 13,
823
+ color: macOSColors.text.secondary,
824
+ textAlign: "center",
825
+ lineHeight: 18,
826
+ paddingHorizontal: 16
827
+ },
828
+ successText: {
829
+ fontSize: 18,
830
+ fontWeight: "600",
831
+ color: macOSColors.semantic.success,
832
+ marginBottom: 4
833
+ },
834
+ errorText: {
835
+ fontSize: 18,
836
+ fontWeight: "600",
837
+ color: macOSColors.semantic.error,
838
+ marginBottom: 4
839
+ },
840
+ secondaryButton: {
841
+ marginTop: 20,
842
+ paddingVertical: 10,
843
+ paddingHorizontal: 20,
844
+ borderRadius: 8,
845
+ borderWidth: 1,
846
+ borderColor: macOSColors.border.default,
847
+ backgroundColor: macOSColors.background.hover
848
+ },
849
+ secondaryButtonText: {
850
+ fontSize: 13,
851
+ fontWeight: "600",
852
+ color: macOSColors.text.primary
853
+ },
854
+ validationError: {
855
+ fontSize: 11,
856
+ color: macOSColors.semantic.error,
857
+ marginTop: 6,
858
+ textAlign: "center"
859
+ },
860
+ validationSuccess: {
861
+ fontSize: 11,
862
+ color: macOSColors.semantic.success,
863
+ marginTop: 6,
864
+ textAlign: "center"
865
+ },
866
+ backButton: {
867
+ marginTop: 16,
868
+ alignItems: "center"
869
+ },
870
+ backButtonText: {
871
+ fontSize: 13,
872
+ color: macOSColors.text.muted
873
+ },
874
+ deviceCount: {
875
+ fontSize: 11,
876
+ color: macOSColors.text.muted,
877
+ marginTop: 8,
878
+ textAlign: "center"
879
+ },
880
+ deviceCountHeader: {
881
+ fontSize: 12,
882
+ color: macOSColors.text.secondary,
883
+ marginTop: 8
884
+ },
885
+ deviceList: {
886
+ maxHeight: 200,
887
+ marginBottom: 16
888
+ },
889
+ deviceItem: {
890
+ flexDirection: "row",
891
+ alignItems: "center",
892
+ padding: 12,
893
+ backgroundColor: macOSColors.background.hover,
894
+ borderRadius: 8,
895
+ marginBottom: 8,
896
+ borderWidth: 1,
897
+ borderColor: macOSColors.border.default
898
+ },
899
+ deviceIcon: {
900
+ width: 36,
901
+ height: 36,
902
+ borderRadius: 8,
903
+ backgroundColor: macOSColors.background.input,
904
+ alignItems: "center",
905
+ justifyContent: "center",
906
+ marginRight: 12
907
+ },
908
+ deviceInfo: {
909
+ flex: 1
910
+ },
911
+ deviceName: {
912
+ fontSize: 14,
913
+ fontWeight: "500",
914
+ color: macOSColors.text.primary,
915
+ marginBottom: 2
916
+ },
917
+ devicePlatform: {
918
+ fontSize: 11,
919
+ color: macOSColors.text.muted,
920
+ textTransform: "capitalize"
921
+ },
922
+ claimText: {
923
+ fontSize: 12,
924
+ fontWeight: "600",
925
+ color: macOSColors.semantic.info
926
+ },
927
+ registerNewButton: {
928
+ flexDirection: "row",
929
+ alignItems: "center",
930
+ justifyContent: "center",
931
+ gap: 8,
932
+ paddingVertical: 12,
933
+ borderRadius: 8,
934
+ borderWidth: 1,
935
+ borderColor: macOSColors.semantic.info + "30",
936
+ borderStyle: "dashed",
937
+ marginBottom: 8
938
+ },
939
+ registerNewText: {
940
+ fontSize: 13,
941
+ fontWeight: "600",
942
+ color: macOSColors.semantic.info
943
+ }
944
+ });