@q9labsai/chalk-react-native 4.1.17 → 5.0.1

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 (544) hide show
  1. package/README.md +134 -29
  2. package/android/build.gradle +35 -0
  3. package/android/compatibility/ModuleApiCompatibility.java +215 -0
  4. package/android/src/main/AndroidManifest.xml +2 -1
  5. package/android/src/main/java/ai/q9labs/chalk/reactnative/ChalkSpaceForegroundService.java +105 -31
  6. package/android/src/main/kotlin/ai/q9labs/chalk/reactnative/ChalkAndroidConnectionServicePackage.kt +2 -0
  7. package/android/src/main/kotlin/ai/q9labs/chalk/reactnative/ChalkAudioRouteModule.kt +137 -0
  8. package/android/src/main/kotlin/ai/q9labs/chalk/reactnative/ChalkCallServiceModule.kt +32 -0
  9. package/android/src/main/kotlin/ai/q9labs/chalk/reactnative/CommunicationDeviceListener.kt +23 -0
  10. package/android/src/test/kotlin/ai/q9labs/chalk/compatibility/UnsafeSignatures.kt +29 -0
  11. package/dist/android/call-service.d.ts +4 -0
  12. package/dist/android/call-service.d.ts.map +1 -0
  13. package/dist/avatar/FaceAvatar.d.ts +19 -0
  14. package/dist/avatar/FaceAvatar.d.ts.map +1 -0
  15. package/dist/avatar/tile-avatar-size.d.ts +3 -0
  16. package/dist/avatar/tile-avatar-size.d.ts.map +1 -0
  17. package/dist/chunk-GYVZSOGQ.js +30 -0
  18. package/dist/chunk-IHE6EA3T.js +25 -0
  19. package/dist/chunk-OIBT2FNM.js +1479 -0
  20. package/dist/client.d.ts +1 -5
  21. package/dist/client.d.ts.map +1 -1
  22. package/dist/client.js +185 -2
  23. package/dist/components/EmbeddedWhiteboard.d.ts.map +1 -1
  24. package/dist/components/native-media-visibility.d.ts +3 -2
  25. package/dist/components/native-media-visibility.d.ts.map +1 -1
  26. package/dist/components/useAndroidCallService.d.ts +8 -0
  27. package/dist/components/useAndroidCallService.d.ts.map +1 -0
  28. package/dist/dev.d.ts +10 -0
  29. package/dist/dev.d.ts.map +1 -0
  30. package/dist/dev.js +10 -0
  31. package/dist/dock/Dock.d.ts +23 -0
  32. package/dist/dock/Dock.d.ts.map +1 -0
  33. package/dist/dock/LeaveMenu.d.ts +12 -0
  34. package/dist/dock/LeaveMenu.d.ts.map +1 -0
  35. package/dist/dock/MoreSheet.d.ts +17 -0
  36. package/dist/dock/MoreSheet.d.ts.map +1 -0
  37. package/dist/dock/ReactionBurst.d.ts +8 -0
  38. package/dist/dock/ReactionBurst.d.ts.map +1 -0
  39. package/dist/dock/RoutePicker.d.ts +16 -0
  40. package/dist/dock/RoutePicker.d.ts.map +1 -0
  41. package/dist/dock/audio-route.d.ts +25 -0
  42. package/dist/dock/audio-route.d.ts.map +1 -0
  43. package/dist/error-YOPTEH5N.wav +0 -0
  44. package/dist/frame/CallFrame.d.ts +17 -0
  45. package/dist/frame/CallFrame.d.ts.map +1 -0
  46. package/dist/frame/Chalk.d.ts +40 -0
  47. package/dist/frame/Chalk.d.ts.map +1 -0
  48. package/dist/frame/back-handler.d.ts +6 -0
  49. package/dist/frame/back-handler.d.ts.map +1 -0
  50. package/dist/frame/dev-scenario.d.ts +28 -0
  51. package/dist/frame/dev-scenario.d.ts.map +1 -0
  52. package/dist/frame/device-layout.d.ts +16 -0
  53. package/dist/frame/device-layout.d.ts.map +1 -0
  54. package/dist/frame/measurement.d.ts +28 -0
  55. package/dist/frame/measurement.d.ts.map +1 -0
  56. package/dist/frame/portal.d.ts +24 -0
  57. package/dist/frame/portal.d.ts.map +1 -0
  58. package/dist/frame/preferences.d.ts +21 -0
  59. package/dist/frame/preferences.d.ts.map +1 -0
  60. package/dist/frame/regions.d.ts +25 -0
  61. package/dist/frame/regions.d.ts.map +1 -0
  62. package/dist/hand-DFWVXPH2.wav +0 -0
  63. package/dist/haptics/haptics.d.ts +12 -0
  64. package/dist/haptics/haptics.d.ts.map +1 -0
  65. package/dist/header/CallDetailsSheet.d.ts +18 -0
  66. package/dist/header/CallDetailsSheet.d.ts.map +1 -0
  67. package/dist/header/Header.d.ts +17 -0
  68. package/dist/header/Header.d.ts.map +1 -0
  69. package/dist/header/QrCode.d.ts +6 -0
  70. package/dist/header/QrCode.d.ts.map +1 -0
  71. package/dist/icons/Icon.d.ts +12 -0
  72. package/dist/icons/Icon.d.ts.map +1 -0
  73. package/dist/icons/icon-element.d.ts +24 -0
  74. package/dist/icons/icon-element.d.ts.map +1 -0
  75. package/dist/icons/icon-paths.d.ts +530 -0
  76. package/dist/icons/icon-paths.d.ts.map +1 -0
  77. package/dist/index.d.ts +6 -9
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +2956 -38
  80. package/dist/join-Z6RL5AHE.wav +0 -0
  81. package/dist/knock-4VBQSHK4.wav +0 -0
  82. package/dist/leave-MQLZOWQD.wav +0 -0
  83. package/dist/limbo/Limbo.d.ts +25 -0
  84. package/dist/limbo/Limbo.d.ts.map +1 -0
  85. package/dist/limbo/Veil.d.ts +10 -0
  86. package/dist/limbo/Veil.d.ts.map +1 -0
  87. package/dist/media/native-capture-error.d.ts +7 -0
  88. package/dist/media/native-capture-error.d.ts.map +1 -0
  89. package/dist/message-6Y6WJGTB.wav +0 -0
  90. package/dist/motion/MovingFrame.d.ts +36 -0
  91. package/dist/motion/MovingFrame.d.ts.map +1 -0
  92. package/dist/motion/motion.d.ts +82 -0
  93. package/dist/motion/motion.d.ts.map +1 -0
  94. package/dist/motion/presence.d.ts +6 -0
  95. package/dist/motion/presence.d.ts.map +1 -0
  96. package/dist/motion/press.d.ts +15 -0
  97. package/dist/motion/press.d.ts.map +1 -0
  98. package/dist/mute-H5SJFXVI.wav +0 -0
  99. package/dist/primitives/BottomSheet.d.ts +36 -0
  100. package/dist/primitives/BottomSheet.d.ts.map +1 -0
  101. package/dist/primitives/ChalkText.d.ts +13 -0
  102. package/dist/primitives/ChalkText.d.ts.map +1 -0
  103. package/dist/primitives/CopyButton.d.ts +11 -0
  104. package/dist/primitives/CopyButton.d.ts.map +1 -0
  105. package/dist/primitives/IconButton.d.ts +26 -0
  106. package/dist/primitives/IconButton.d.ts.map +1 -0
  107. package/dist/primitives/Menu.d.ts +39 -0
  108. package/dist/primitives/Menu.d.ts.map +1 -0
  109. package/dist/primitives/NameTag.d.ts +19 -0
  110. package/dist/primitives/NameTag.d.ts.map +1 -0
  111. package/dist/primitives/PillButton.d.ts +19 -0
  112. package/dist/primitives/PillButton.d.ts.map +1 -0
  113. package/dist/primitives/SegmentedControl.d.ts +17 -0
  114. package/dist/primitives/SegmentedControl.d.ts.map +1 -0
  115. package/dist/primitives/SheetGroup.d.ts +24 -0
  116. package/dist/primitives/SheetGroup.d.ts.map +1 -0
  117. package/dist/primitives/Switch.d.ts +9 -0
  118. package/dist/primitives/Switch.d.ts.map +1 -0
  119. package/dist/primitives/TileShell.d.ts +18 -0
  120. package/dist/primitives/TileShell.d.ts.map +1 -0
  121. package/dist/primitives/announce.d.ts +3 -0
  122. package/dist/primitives/announce.d.ts.map +1 -0
  123. package/dist/primitives/menu-placement.d.ts +32 -0
  124. package/dist/primitives/menu-placement.d.ts.map +1 -0
  125. package/dist/primitives/toast/Toast.d.ts +8 -0
  126. package/dist/primitives/toast/Toast.d.ts.map +1 -0
  127. package/dist/primitives/toast/ToastStack.d.ts +18 -0
  128. package/dist/primitives/toast/ToastStack.d.ts.map +1 -0
  129. package/dist/primitives/toast/toast-store.d.ts +39 -0
  130. package/dist/primitives/toast/toast-store.d.ts.map +1 -0
  131. package/dist/recording-Q4GB77Y4.wav +0 -0
  132. package/dist/sheets/people-chat/ChatNotices.d.ts +14 -0
  133. package/dist/sheets/people-chat/ChatNotices.d.ts.map +1 -0
  134. package/dist/sheets/people-chat/ChatTab.d.ts +6 -0
  135. package/dist/sheets/people-chat/ChatTab.d.ts.map +1 -0
  136. package/dist/sheets/people-chat/Composer.d.ts +7 -0
  137. package/dist/sheets/people-chat/Composer.d.ts.map +1 -0
  138. package/dist/sheets/people-chat/PeopleChatSheet.d.ts +17 -0
  139. package/dist/sheets/people-chat/PeopleChatSheet.d.ts.map +1 -0
  140. package/dist/sheets/people-chat/PeopleTab.d.ts +3 -0
  141. package/dist/sheets/people-chat/PeopleTab.d.ts.map +1 -0
  142. package/dist/sheets/people-chat/PhotoViewer.d.ts +19 -0
  143. package/dist/sheets/people-chat/PhotoViewer.d.ts.map +1 -0
  144. package/dist/sheets/people-chat/TextField.d.ts +4 -0
  145. package/dist/sheets/people-chat/TextField.d.ts.map +1 -0
  146. package/dist/sheets/people-chat/attachments.d.ts +33 -0
  147. package/dist/sheets/people-chat/attachments.d.ts.map +1 -0
  148. package/dist/sheets/people-chat/chat-model.d.ts +64 -0
  149. package/dist/sheets/people-chat/chat-model.d.ts.map +1 -0
  150. package/dist/sheets/people-chat/people-model.d.ts +43 -0
  151. package/dist/sheets/people-chat/people-model.d.ts.map +1 -0
  152. package/dist/sounds/sounds.d.ts +33 -0
  153. package/dist/sounds/sounds.d.ts.map +1 -0
  154. package/dist/space-client/create-native-space-client.d.ts +0 -4
  155. package/dist/space-client/create-native-space-client.d.ts.map +1 -1
  156. package/dist/space-client/random-uuid.d.ts +7 -0
  157. package/dist/space-client/random-uuid.d.ts.map +1 -0
  158. package/dist/stage/ContentTile.d.ts +18 -0
  159. package/dist/stage/ContentTile.d.ts.map +1 -0
  160. package/dist/stage/ParticipantTile.d.ts +18 -0
  161. package/dist/stage/ParticipantTile.d.ts.map +1 -0
  162. package/dist/stage/Stage.d.ts +14 -0
  163. package/dist/stage/Stage.d.ts.map +1 -0
  164. package/dist/stage/TileSheet.d.ts +12 -0
  165. package/dist/stage/TileSheet.d.ts.map +1 -0
  166. package/dist/stage/camera.d.ts +7 -0
  167. package/dist/stage/camera.d.ts.map +1 -0
  168. package/dist/stage/layout.d.ts +57 -0
  169. package/dist/stage/layout.d.ts.map +1 -0
  170. package/dist/stage/space-selector.d.ts +10 -0
  171. package/dist/stage/space-selector.d.ts.map +1 -0
  172. package/dist/stage/stage-view.d.ts +23 -0
  173. package/dist/stage/stage-view.d.ts.map +1 -0
  174. package/dist/status/CallOverlays.d.ts +17 -0
  175. package/dist/status/CallOverlays.d.ts.map +1 -0
  176. package/dist/status/ChalkArrival.d.ts +24 -0
  177. package/dist/status/ChalkArrival.d.ts.map +1 -0
  178. package/dist/status/StatusPage.d.ts +14 -0
  179. package/dist/status/StatusPage.d.ts.map +1 -0
  180. package/dist/status/call-screen.d.ts +20 -0
  181. package/dist/status/call-screen.d.ts.map +1 -0
  182. package/dist/test-VD2KAM4D.wav +0 -0
  183. package/dist/theme/theme.d.ts +15 -0
  184. package/dist/theme/theme.d.ts.map +1 -0
  185. package/dist/theme/tokens.d.ts +248 -0
  186. package/dist/theme/tokens.d.ts.map +1 -0
  187. package/dist/toasts/CallEventToasts.d.ts +21 -0
  188. package/dist/toasts/CallEventToasts.d.ts.map +1 -0
  189. package/dist/toasts/notices.d.ts +34 -0
  190. package/dist/toasts/notices.d.ts.map +1 -0
  191. package/dist/ui/ChalkUI.d.ts +12 -0
  192. package/dist/ui/ChalkUI.d.ts.map +1 -0
  193. package/dist/ui.d.ts +25 -0
  194. package/dist/ui.d.ts.map +1 -0
  195. package/dist/ui.js +77 -0
  196. package/dist/unmute-2XR2LICU.wav +0 -0
  197. package/embedded/chalk-whiteboard/asset-manifest.json +2 -2
  198. package/embedded/chalk-whiteboard/renderer.js +510 -510
  199. package/ios/ChalkAudioRouteModule.swift +93 -0
  200. package/ios/ChalkAudioRouteModuleBridge.m +9 -0
  201. package/package.json +46 -76
  202. package/src/android/call-service.ts +19 -0
  203. package/src/avatar/FaceAvatar.tsx +145 -0
  204. package/src/avatar/tile-avatar-size.ts +4 -0
  205. package/src/client.ts +1 -5
  206. package/src/components/EmbeddedWhiteboard.tsx +14 -71
  207. package/src/components/native-media-visibility.ts +1 -2
  208. package/src/components/useAndroidCallService.ts +41 -0
  209. package/src/dev.ts +9 -0
  210. package/src/dock/Dock.tsx +95 -0
  211. package/src/dock/LeaveMenu.tsx +21 -0
  212. package/src/dock/MoreSheet.tsx +233 -0
  213. package/src/dock/ReactionBurst.tsx +55 -0
  214. package/src/dock/RoutePicker.tsx +42 -0
  215. package/src/dock/audio-route.ts +69 -0
  216. package/src/frame/CallFrame.tsx +209 -0
  217. package/src/frame/Chalk.tsx +83 -0
  218. package/src/frame/back-handler.ts +19 -0
  219. package/src/frame/dev-scenario.ts +48 -0
  220. package/src/frame/device-layout.tsx +31 -0
  221. package/src/frame/measurement.ts +44 -0
  222. package/src/frame/portal.tsx +107 -0
  223. package/src/frame/preferences.tsx +48 -0
  224. package/src/frame/regions.test.ts +38 -0
  225. package/src/frame/regions.ts +60 -0
  226. package/src/haptics/haptics.ts +19 -0
  227. package/src/header/CallDetailsSheet.tsx +139 -0
  228. package/src/header/Header.tsx +107 -0
  229. package/src/header/QrCode.tsx +34 -0
  230. package/src/icons/Icon.tsx +35 -0
  231. package/src/icons/icon-element.ts +11 -0
  232. package/src/icons/icon-paths.ts +199 -0
  233. package/src/index.ts +6 -9
  234. package/src/limbo/Limbo.tsx +159 -0
  235. package/src/limbo/Veil.tsx +36 -0
  236. package/src/media/native-capture-error.test.ts +19 -0
  237. package/src/media/native-capture-error.ts +13 -0
  238. package/src/motion/MovingFrame.tsx +101 -0
  239. package/src/motion/motion.ts +33 -0
  240. package/src/motion/presence.ts +20 -0
  241. package/src/motion/press.ts +35 -0
  242. package/src/primitives/BottomSheet.tsx +211 -0
  243. package/src/primitives/ChalkText.tsx +23 -0
  244. package/src/primitives/CopyButton.tsx +78 -0
  245. package/src/primitives/IconButton.tsx +90 -0
  246. package/src/primitives/Menu.tsx +212 -0
  247. package/src/primitives/NameTag.tsx +68 -0
  248. package/src/primitives/PillButton.tsx +56 -0
  249. package/src/primitives/SegmentedControl.tsx +55 -0
  250. package/src/primitives/SheetGroup.tsx +72 -0
  251. package/src/primitives/Switch.tsx +39 -0
  252. package/src/primitives/TileShell.tsx +53 -0
  253. package/src/primitives/announce.ts +7 -0
  254. package/src/primitives/menu-placement.test.ts +50 -0
  255. package/src/primitives/menu-placement.ts +43 -0
  256. package/src/primitives/toast/Toast.tsx +50 -0
  257. package/src/primitives/toast/ToastStack.tsx +89 -0
  258. package/src/primitives/toast/toast-store.ts +86 -0
  259. package/src/sheets/people-chat/ChatNotices.tsx +69 -0
  260. package/src/sheets/people-chat/ChatTab.tsx +186 -0
  261. package/src/sheets/people-chat/Composer.tsx +182 -0
  262. package/src/sheets/people-chat/PeopleChatSheet.tsx +100 -0
  263. package/src/sheets/people-chat/PeopleTab.tsx +326 -0
  264. package/src/sheets/people-chat/PhotoViewer.tsx +132 -0
  265. package/src/sheets/people-chat/TextField.tsx +14 -0
  266. package/src/sheets/people-chat/attachments.tsx +183 -0
  267. package/src/sheets/people-chat/chat-model.ts +157 -0
  268. package/src/sheets/people-chat/people-chat-model.test.ts +98 -0
  269. package/src/sheets/people-chat/people-model.ts +68 -0
  270. package/src/sounds/assets/error.wav +0 -0
  271. package/src/sounds/assets/hand.wav +0 -0
  272. package/src/sounds/assets/join.wav +0 -0
  273. package/src/sounds/assets/knock.wav +0 -0
  274. package/src/sounds/assets/leave.wav +0 -0
  275. package/src/sounds/assets/message.wav +0 -0
  276. package/src/sounds/assets/mute.wav +0 -0
  277. package/src/sounds/assets/recording.wav +0 -0
  278. package/src/sounds/assets/test.wav +0 -0
  279. package/src/sounds/assets/unmute.wav +0 -0
  280. package/src/sounds/assets.d.ts +5 -0
  281. package/src/sounds/sounds.ts +50 -0
  282. package/src/space-client/create-native-space-client.ts +20 -181
  283. package/src/space-client/random-uuid.ts +17 -0
  284. package/src/space-client/whiteboard-watchdog.test.ts +23 -0
  285. package/src/stage/ContentTile.tsx +100 -0
  286. package/src/stage/ParticipantTile.tsx +140 -0
  287. package/src/stage/Stage.tsx +152 -0
  288. package/src/stage/TileSheet.tsx +116 -0
  289. package/src/stage/camera.ts +20 -0
  290. package/src/stage/layout.test.ts +77 -0
  291. package/src/stage/layout.ts +226 -0
  292. package/src/stage/space-selector.ts +31 -0
  293. package/src/stage/stage-view.tsx +68 -0
  294. package/src/status/CallOverlays.tsx +47 -0
  295. package/src/status/ChalkArrival.tsx +53 -0
  296. package/src/status/StatusPage.tsx +123 -0
  297. package/src/status/call-screen.test.ts +42 -0
  298. package/src/status/call-screen.ts +29 -0
  299. package/src/theme/theme.tsx +28 -0
  300. package/src/theme/tokens.ts +247 -0
  301. package/src/toasts/CallEventToasts.tsx +192 -0
  302. package/src/toasts/notices.test.ts +92 -0
  303. package/src/toasts/notices.ts +62 -0
  304. package/src/ui/ChalkUI.tsx +49 -0
  305. package/src/ui.ts +24 -0
  306. package/dist/android.d.ts +0 -2
  307. package/dist/android.d.ts.map +0 -1
  308. package/dist/android.js +0 -62
  309. package/dist/chunk-2OS7SSXE.js +0 -552
  310. package/dist/chunk-5DQ4KBRH.js +0 -690
  311. package/dist/chunk-ITLUHTVS.js +0 -5271
  312. package/dist/chunk-JB4LNWVP.js +0 -247
  313. package/dist/components/Chalk.d.ts +0 -79
  314. package/dist/components/Chalk.d.ts.map +0 -1
  315. package/dist/components/ChatMessageList.d.ts +0 -11
  316. package/dist/components/ChatMessageList.d.ts.map +0 -1
  317. package/dist/components/Entrance.d.ts +0 -22
  318. package/dist/components/Entrance.d.ts.map +0 -1
  319. package/dist/components/EntranceView.android.d.ts +0 -4
  320. package/dist/components/EntranceView.android.d.ts.map +0 -1
  321. package/dist/components/EntranceView.d.ts +0 -18
  322. package/dist/components/EntranceView.d.ts.map +0 -1
  323. package/dist/components/EntranceView.ios-pad.d.ts +0 -3
  324. package/dist/components/EntranceView.ios-pad.d.ts.map +0 -1
  325. package/dist/components/EntranceView.ios-phone.d.ts +0 -3
  326. package/dist/components/EntranceView.ios-phone.d.ts.map +0 -1
  327. package/dist/components/EntranceView.macos.d.ts +0 -4
  328. package/dist/components/EntranceView.macos.d.ts.map +0 -1
  329. package/dist/components/FaceAvatar.d.ts +0 -16
  330. package/dist/components/FaceAvatar.d.ts.map +0 -1
  331. package/dist/components/GradientSurface.d.ts +0 -14
  332. package/dist/components/GradientSurface.d.ts.map +0 -1
  333. package/dist/components/MediaView.d.ts +0 -14
  334. package/dist/components/MediaView.d.ts.map +0 -1
  335. package/dist/components/ReactionPicker.d.ts +0 -10
  336. package/dist/components/ReactionPicker.d.ts.map +0 -1
  337. package/dist/components/SpaceView.android.d.ts +0 -2
  338. package/dist/components/SpaceView.android.d.ts.map +0 -1
  339. package/dist/components/SpaceView.d.ts +0 -33
  340. package/dist/components/SpaceView.d.ts.map +0 -1
  341. package/dist/components/SpaceView.ios-pad.d.ts +0 -2
  342. package/dist/components/SpaceView.ios-pad.d.ts.map +0 -1
  343. package/dist/components/SpaceView.ios-phone.d.ts +0 -2
  344. package/dist/components/SpaceView.ios-phone.d.ts.map +0 -1
  345. package/dist/components/SpaceView.macos.d.ts +0 -2
  346. package/dist/components/SpaceView.macos.d.ts.map +0 -1
  347. package/dist/components/SpaceView.shared.d.ts +0 -3
  348. package/dist/components/SpaceView.shared.d.ts.map +0 -1
  349. package/dist/components/episode-diagnostic-render-observer.d.ts +0 -2
  350. package/dist/components/episode-diagnostic-render-observer.d.ts.map +0 -1
  351. package/dist/components/logo/Logo.d.ts +0 -11
  352. package/dist/components/logo/Logo.d.ts.map +0 -1
  353. package/dist/components/native-animation-controller.d.ts +0 -7
  354. package/dist/components/native-animation-controller.d.ts.map +0 -1
  355. package/dist/components/native-chat.d.ts +0 -8
  356. package/dist/components/native-chat.d.ts.map +0 -1
  357. package/dist/components/native-entrance/entrance-controller-store.d.ts +0 -34
  358. package/dist/components/native-entrance/entrance-controller-store.d.ts.map +0 -1
  359. package/dist/components/native-entrance/useEntranceController.d.ts +0 -19
  360. package/dist/components/native-entrance/useEntranceController.d.ts.map +0 -1
  361. package/dist/components/native-joining-loading-animation.d.ts +0 -9
  362. package/dist/components/native-joining-loading-animation.d.ts.map +0 -1
  363. package/dist/components/native-space-view/AppearanceSettings.d.ts +0 -2
  364. package/dist/components/native-space-view/AppearanceSettings.d.ts.map +0 -1
  365. package/dist/components/native-space-view/FeedbackSheet.d.ts +0 -12
  366. package/dist/components/native-space-view/FeedbackSheet.d.ts.map +0 -1
  367. package/dist/components/native-space-view/ParticipantActionSheet.d.ts +0 -9
  368. package/dist/components/native-space-view/ParticipantActionSheet.d.ts.map +0 -1
  369. package/dist/components/native-space-view/SettingsSheet.d.ts +0 -7
  370. package/dist/components/native-space-view/SettingsSheet.d.ts.map +0 -1
  371. package/dist/components/native-space-view/SpaceActionMenu.d.ts +0 -10
  372. package/dist/components/native-space-view/SpaceActionMenu.d.ts.map +0 -1
  373. package/dist/components/native-space-view/SpaceBottomDock.android.d.ts +0 -4
  374. package/dist/components/native-space-view/SpaceBottomDock.android.d.ts.map +0 -1
  375. package/dist/components/native-space-view/SpaceChatAttachment.d.ts +0 -8
  376. package/dist/components/native-space-view/SpaceChatAttachment.d.ts.map +0 -1
  377. package/dist/components/native-space-view/SpaceChatSheet.d.ts +0 -5
  378. package/dist/components/native-space-view/SpaceChatSheet.d.ts.map +0 -1
  379. package/dist/components/native-space-view/SpaceGrid.android.d.ts +0 -8
  380. package/dist/components/native-space-view/SpaceGrid.android.d.ts.map +0 -1
  381. package/dist/components/native-space-view/SpaceMoreSheet.d.ts +0 -7
  382. package/dist/components/native-space-view/SpaceMoreSheet.d.ts.map +0 -1
  383. package/dist/components/native-space-view/SpacePanelSheet.d.ts +0 -5
  384. package/dist/components/native-space-view/SpacePanelSheet.d.ts.map +0 -1
  385. package/dist/components/native-space-view/SpacePeopleSheet.d.ts +0 -5
  386. package/dist/components/native-space-view/SpacePeopleSheet.d.ts.map +0 -1
  387. package/dist/components/native-space-view/SpaceStage.android.d.ts +0 -29
  388. package/dist/components/native-space-view/SpaceStage.android.d.ts.map +0 -1
  389. package/dist/components/native-space-view/SpaceSurfacePrimitives.d.ts +0 -30
  390. package/dist/components/native-space-view/SpaceSurfacePrimitives.d.ts.map +0 -1
  391. package/dist/components/native-space-view/SpaceTopBar.android.d.ts +0 -11
  392. package/dist/components/native-space-view/SpaceTopBar.android.d.ts.map +0 -1
  393. package/dist/components/native-space-view/SpaceWhiteboardSurface.d.ts +0 -15
  394. package/dist/components/native-space-view/SpaceWhiteboardSurface.d.ts.map +0 -1
  395. package/dist/components/native-space-view/diagnostics.d.ts +0 -48
  396. package/dist/components/native-space-view/diagnostics.d.ts.map +0 -1
  397. package/dist/components/native-space-view/format-space-duration.d.ts +0 -2
  398. package/dist/components/native-space-view/format-space-duration.d.ts.map +0 -1
  399. package/dist/components/native-space-view/native-space-grid-keys.d.ts +0 -3
  400. package/dist/components/native-space-view/native-space-grid-keys.d.ts.map +0 -1
  401. package/dist/components/native-space-view/native-space-page-store.d.ts +0 -8
  402. package/dist/components/native-space-view/native-space-page-store.d.ts.map +0 -1
  403. package/dist/components/native-space-view/space-chat-attachments.d.ts +0 -15
  404. package/dist/components/native-space-view/space-chat-attachments.d.ts.map +0 -1
  405. package/dist/components/native-space-view/space-panel-layout.d.ts +0 -10
  406. package/dist/components/native-space-view/space-panel-layout.d.ts.map +0 -1
  407. package/dist/components/native-space-view/space-progressive-surface-helpers.d.ts +0 -16
  408. package/dist/components/native-space-view/space-progressive-surface-helpers.d.ts.map +0 -1
  409. package/dist/components/native-space-view/space-progressive-surface-types.d.ts +0 -3
  410. package/dist/components/native-space-view/space-progressive-surface-types.d.ts.map +0 -1
  411. package/dist/components/native-space-view/types.d.ts +0 -24
  412. package/dist/components/native-space-view/types.d.ts.map +0 -1
  413. package/dist/components/native-space-view/useSpaceViewController.contract.d.ts +0 -41
  414. package/dist/components/native-space-view/useSpaceViewController.contract.d.ts.map +0 -1
  415. package/dist/components/native-space-view/useSpaceViewController.d.ts +0 -156
  416. package/dist/components/native-space-view/useSpaceViewController.d.ts.map +0 -1
  417. package/dist/components/native-space-view/useSpaceViewDerived.d.ts +0 -12
  418. package/dist/components/native-space-view/useSpaceViewDerived.d.ts.map +0 -1
  419. package/dist/components/native-space-view/useSpaceViewPanels.d.ts +0 -70
  420. package/dist/components/native-space-view/useSpaceViewPanels.d.ts.map +0 -1
  421. package/dist/feedback/native-capture.d.ts +0 -9
  422. package/dist/feedback/native-capture.d.ts.map +0 -1
  423. package/dist/feedback/native-evidence.d.ts +0 -3
  424. package/dist/feedback/native-evidence.d.ts.map +0 -1
  425. package/dist/hooks/entrance-preview-store.d.ts +0 -16
  426. package/dist/hooks/entrance-preview-store.d.ts.map +0 -1
  427. package/dist/hooks/useEntrancePreview.d.ts +0 -7
  428. package/dist/hooks/useEntrancePreview.d.ts.map +0 -1
  429. package/dist/hooks/useLayout.d.ts +0 -16
  430. package/dist/hooks/useLayout.d.ts.map +0 -1
  431. package/dist/hooks/usePanels.d.ts +0 -12
  432. package/dist/hooks/usePanels.d.ts.map +0 -1
  433. package/dist/ios-pad.d.ts +0 -2
  434. package/dist/ios-pad.d.ts.map +0 -1
  435. package/dist/ios-pad.js +0 -62
  436. package/dist/ios-phone.d.ts +0 -2
  437. package/dist/ios-phone.d.ts.map +0 -1
  438. package/dist/ios-phone.js +0 -62
  439. package/dist/ios.d.ts +0 -2
  440. package/dist/ios.d.ts.map +0 -1
  441. package/dist/ios.js +0 -62
  442. package/dist/macos.d.ts +0 -2
  443. package/dist/macos.d.ts.map +0 -1
  444. package/dist/macos.js +0 -62
  445. package/dist/space-client/cloudflare-rtk-native.d.ts +0 -3
  446. package/dist/space-client/cloudflare-rtk-native.d.ts.map +0 -1
  447. package/dist/telemetry.d.ts +0 -63
  448. package/dist/telemetry.d.ts.map +0 -1
  449. package/dist/ui/appearance.d.ts +0 -246
  450. package/dist/ui/appearance.d.ts.map +0 -1
  451. package/dist/ui/appearance.js +0 -14
  452. package/dist/ui/native-appearance-context.d.ts +0 -15
  453. package/dist/ui/native-appearance-context.d.ts.map +0 -1
  454. package/dist/ui/native-theme.d.ts +0 -17
  455. package/dist/ui/native-theme.d.ts.map +0 -1
  456. package/dist/ui/native-types.d.ts +0 -38
  457. package/dist/ui/native-types.d.ts.map +0 -1
  458. package/dist/ui/participant-avatar.d.ts +0 -21
  459. package/dist/ui/participant-avatar.d.ts.map +0 -1
  460. package/dist/ui/theme-tokens.d.ts +0 -25
  461. package/dist/ui/theme-tokens.d.ts.map +0 -1
  462. package/dist/ui/theme.d.ts +0 -404
  463. package/dist/ui/theme.d.ts.map +0 -1
  464. package/dist/ui/theme.js +0 -8
  465. package/dist/utils/native-space-layout.d.ts +0 -42
  466. package/dist/utils/native-space-layout.d.ts.map +0 -1
  467. package/src/android.ts +0 -1
  468. package/src/components/Chalk.tsx +0 -363
  469. package/src/components/ChatMessageList.tsx +0 -209
  470. package/src/components/Entrance.tsx +0 -42
  471. package/src/components/EntranceView.android.tsx +0 -274
  472. package/src/components/EntranceView.ios-pad.tsx +0 -326
  473. package/src/components/EntranceView.ios-phone.tsx +0 -271
  474. package/src/components/EntranceView.macos.tsx +0 -278
  475. package/src/components/EntranceView.tsx +0 -38
  476. package/src/components/FaceAvatar.tsx +0 -120
  477. package/src/components/GradientSurface.tsx +0 -23
  478. package/src/components/MediaView.tsx +0 -76
  479. package/src/components/ReactionPicker.tsx +0 -98
  480. package/src/components/SpaceView.android.tsx +0 -1
  481. package/src/components/SpaceView.ios-pad.tsx +0 -1
  482. package/src/components/SpaceView.ios-phone.tsx +0 -1
  483. package/src/components/SpaceView.macos.tsx +0 -1
  484. package/src/components/SpaceView.shared.tsx +0 -98
  485. package/src/components/SpaceView.tsx +0 -54
  486. package/src/components/episode-diagnostic-render-observer.ts +0 -12
  487. package/src/components/logo/Logo.tsx +0 -309
  488. package/src/components/native-animation-controller.ts +0 -36
  489. package/src/components/native-chat.ts +0 -23
  490. package/src/components/native-entrance/entrance-controller-store.ts +0 -112
  491. package/src/components/native-entrance/useEntranceController.ts +0 -60
  492. package/src/components/native-joining-loading-animation.ts +0 -26
  493. package/src/components/native-space-view/AppearanceSettings.tsx +0 -114
  494. package/src/components/native-space-view/FeedbackSheet.tsx +0 -296
  495. package/src/components/native-space-view/ParticipantActionSheet.tsx +0 -99
  496. package/src/components/native-space-view/SettingsSheet.tsx +0 -164
  497. package/src/components/native-space-view/SpaceActionMenu.tsx +0 -109
  498. package/src/components/native-space-view/SpaceBottomDock.android.tsx +0 -115
  499. package/src/components/native-space-view/SpaceChatAttachment.tsx +0 -105
  500. package/src/components/native-space-view/SpaceChatSheet.tsx +0 -184
  501. package/src/components/native-space-view/SpaceGrid.android.tsx +0 -323
  502. package/src/components/native-space-view/SpaceMoreSheet.tsx +0 -190
  503. package/src/components/native-space-view/SpacePanelSheet.tsx +0 -45
  504. package/src/components/native-space-view/SpacePeopleSheet.tsx +0 -116
  505. package/src/components/native-space-view/SpaceStage.android.tsx +0 -372
  506. package/src/components/native-space-view/SpaceSurfacePrimitives.tsx +0 -75
  507. package/src/components/native-space-view/SpaceTopBar.android.tsx +0 -113
  508. package/src/components/native-space-view/SpaceWhiteboardSurface.tsx +0 -69
  509. package/src/components/native-space-view/diagnostics.ts +0 -84
  510. package/src/components/native-space-view/format-space-duration.ts +0 -3
  511. package/src/components/native-space-view/native-space-grid-keys.ts +0 -6
  512. package/src/components/native-space-view/native-space-page-store.ts +0 -41
  513. package/src/components/native-space-view/space-chat-attachments.test.ts +0 -26
  514. package/src/components/native-space-view/space-chat-attachments.ts +0 -37
  515. package/src/components/native-space-view/space-panel-layout.ts +0 -10
  516. package/src/components/native-space-view/space-progressive-surface-helpers.ts +0 -33
  517. package/src/components/native-space-view/space-progressive-surface-types.ts +0 -3
  518. package/src/components/native-space-view/types.ts +0 -25
  519. package/src/components/native-space-view/useSpaceViewController.contract.ts +0 -34
  520. package/src/components/native-space-view/useSpaceViewController.ts +0 -416
  521. package/src/components/native-space-view/useSpaceViewDerived.ts +0 -29
  522. package/src/components/native-space-view/useSpaceViewPanels.ts +0 -170
  523. package/src/feedback/native-capture.ts +0 -62
  524. package/src/feedback/native-evidence.ts +0 -37
  525. package/src/hooks/entrance-preview-store.ts +0 -99
  526. package/src/hooks/useEntrancePreview.ts +0 -26
  527. package/src/hooks/useLayout.ts +0 -37
  528. package/src/hooks/usePanels.ts +0 -30
  529. package/src/ios-pad.ts +0 -1
  530. package/src/ios-phone.ts +0 -1
  531. package/src/ios.ts +0 -1
  532. package/src/macos.ts +0 -1
  533. package/src/space-client/cloudflare-rtk-native.ts +0 -104
  534. package/src/telemetry.ts +0 -234
  535. package/src/types/hugeicons-direct.d.ts +0 -4
  536. package/src/types/react-native-safe-area-context.d.ts +0 -8
  537. package/src/ui/appearance.ts +0 -808
  538. package/src/ui/native-appearance-context.tsx +0 -74
  539. package/src/ui/native-theme.tsx +0 -54
  540. package/src/ui/native-types.ts +0 -40
  541. package/src/ui/participant-avatar.ts +0 -47
  542. package/src/ui/theme-tokens.ts +0 -41
  543. package/src/ui/theme.ts +0 -214
  544. package/src/utils/native-space-layout.ts +0 -135
@@ -1,808 +0,0 @@
1
- export interface NativeShadowToken {
2
- readonly color: string;
3
- readonly offset: Readonly<{
4
- readonly width: number;
5
- readonly height: number;
6
- }>;
7
- readonly opacity: number;
8
- readonly radius: number;
9
- readonly elevation: number;
10
- }
11
-
12
- export interface NativeAppearanceTokens {
13
- readonly canvas: string;
14
- readonly chrome: string;
15
- readonly stage: string;
16
- readonly panel: string;
17
- readonly tileBase: string;
18
- /** The participant-color wash strength, represented as a 0–1 fraction for native compositing. */
19
- readonly tileColorStrength: number;
20
- readonly text: string;
21
- readonly textMuted: string;
22
- readonly line: string;
23
- readonly lineStrong: string;
24
- readonly control: string;
25
- readonly controlHover: string;
26
- readonly controlGroup: string;
27
- readonly controlPrimary: string;
28
- readonly controlPrimaryHover: string;
29
- readonly controlActive: string;
30
- readonly controlActiveLine: string;
31
- readonly controlActiveText: string;
32
- readonly messageRemote: string;
33
- readonly messageLocal: string;
34
- readonly messageLocalText: string;
35
- readonly input: string;
36
- readonly shadows: Readonly<{
37
- readonly xs: NativeShadowToken;
38
- readonly sm: NativeShadowToken;
39
- readonly control: NativeShadowToken;
40
- }>;
41
- }
42
-
43
- export type NativeTextureKind = "none" | "paper-grain" | "slate";
44
- export type NativeTextureBlendMode = "normal" | "soft-light" | "multiply";
45
-
46
- /**
47
- * A renderer-neutral description of the web texture recipes.
48
- *
49
- * React Native does not provide CSS filters or blend modes on every supported
50
- * platform. Consumers can map these primitives to Views, images, or a native
51
- * drawing surface without pulling a texture dependency into the SDK.
52
- */
53
- export interface NativeTextureDescriptor {
54
- readonly kind: NativeTextureKind;
55
- readonly blendMode: NativeTextureBlendMode;
56
- readonly opacity: number;
57
- readonly tileSize: number | null;
58
- readonly grain?: Readonly<{
59
- readonly baseFrequency: number;
60
- readonly octaves: number;
61
- readonly opacity: number;
62
- }>;
63
- readonly lines?: Readonly<{
64
- readonly angle: number;
65
- readonly period: number;
66
- readonly width: number;
67
- readonly color: string;
68
- readonly opacity: number;
69
- }>;
70
- }
71
-
72
- interface ThemePaletteDefinition {
73
- readonly value: string;
74
- readonly label: string;
75
- readonly family: string;
76
- readonly mode: "light" | "dark";
77
- readonly swatch: readonly [string, string, string];
78
- readonly tokens: NativeAppearanceTokens;
79
- }
80
-
81
- interface ThemeTextureDefinition {
82
- readonly value: string;
83
- readonly label: string;
84
- readonly description: string;
85
- readonly descriptor: NativeTextureDescriptor;
86
- }
87
-
88
- function createShadow(color: string, offsetY: number, radius: number, opacity: number, elevation: number): NativeShadowToken {
89
- return {
90
- color,
91
- offset: { width: 0, height: offsetY },
92
- opacity,
93
- radius,
94
- elevation,
95
- };
96
- }
97
-
98
- function createShadows(color: string, values: { readonly xs: readonly [number, number, number, number]; readonly sm: readonly [number, number, number, number]; readonly control: readonly [number, number, number, number] }): NativeAppearanceTokens["shadows"] {
99
- return {
100
- xs: createShadow(color, ...values.xs),
101
- sm: createShadow(color, ...values.sm),
102
- control: createShadow(color, ...values.control),
103
- };
104
- }
105
-
106
- function createTokens(values: Omit<NativeAppearanceTokens, "shadows"> & { readonly shadows: NativeAppearanceTokens["shadows"] }): NativeAppearanceTokens {
107
- return values;
108
- }
109
-
110
- const LIGHT_SHADOWS = createShadows("#0c0e12", {
111
- xs: [1, 2, 0.08, 1],
112
- sm: [8, 30, 0.06, 8],
113
- control: [5, 16, 0.1, 5],
114
- });
115
-
116
- const DARK_SHADOWS = createShadows("#000000", {
117
- xs: [1, 2, 0.3, 1],
118
- sm: [10, 34, 0.24, 8],
119
- control: [6, 18, 0.34, 6],
120
- });
121
-
122
- const COOL_DARK_SHADOWS = createShadows("#000000", {
123
- xs: [1, 2, 0.34, 1],
124
- sm: [12, 36, 0.3, 10],
125
- control: [6, 18, 0.4, 6],
126
- });
127
-
128
- const INK_DARK_SHADOWS = createShadows("#000000", {
129
- xs: [1, 2, 0.4, 1],
130
- sm: [12, 38, 0.34, 10],
131
- control: [7, 20, 0.48, 7],
132
- });
133
-
134
- const ESPRESSO_DARK_SHADOWS = createShadows("#000000", {
135
- xs: [1, 2, 0.38, 1],
136
- sm: [12, 38, 0.32, 10],
137
- control: [7, 20, 0.44, 7],
138
- });
139
-
140
- const ATELIER_DARK_SHADOWS = createShadows("#000000", {
141
- xs: [1, 2, 0.34, 1],
142
- sm: [12, 36, 0.28, 10],
143
- control: [6, 18, 0.4, 6],
144
- });
145
-
146
- const PRISM_DARK_SHADOWS = createShadows("#000000", {
147
- xs: [1, 2, 0.4, 1],
148
- sm: [14, 42, 0.35, 12],
149
- control: [7, 24, 0.46, 7],
150
- });
151
-
152
- const COSMIC_DARK_SHADOWS = createShadows("#000000", {
153
- xs: [1, 2, 0.32, 1],
154
- sm: [12, 40, 0.3, 10],
155
- control: [6, 20, 0.4, 6],
156
- });
157
-
158
- const OLED_SHADOWS = createShadows("#000000", {
159
- xs: [0, 0, 0, 0],
160
- sm: [0, 0, 0, 0],
161
- control: [6, 18, 0.7, 6],
162
- });
163
-
164
- export const THEME_PALETTES = [
165
- {
166
- value: "light",
167
- label: "Chalk Light",
168
- family: "Chalk",
169
- mode: "light",
170
- swatch: ["#f7f6f2", "#ffffff", "#202329"],
171
- tokens: createTokens({
172
- canvas: "#f7f6f2",
173
- chrome: "#fbfaf7",
174
- stage: "#fbfaf7",
175
- panel: "#ffffff",
176
- tileBase: "#f1f0eb",
177
- tileColorStrength: 0.22,
178
- text: "#0c0e12",
179
- textMuted: "#555b65",
180
- line: "#deddd7",
181
- lineStrong: "#c9c8c2",
182
- control: "#ffffff",
183
- controlHover: "#f1f0eb",
184
- controlGroup: "#f0efeb",
185
- controlPrimary: "#202329",
186
- controlPrimaryHover: "#343840",
187
- controlActive: "#dff2f7",
188
- controlActiveLine: "#9dcfe1",
189
- controlActiveText: "#202329",
190
- messageRemote: "#f3f2ee",
191
- messageLocal: "#202329",
192
- messageLocalText: "#ffffff",
193
- input: "#fbfaf7",
194
- shadows: LIGHT_SHADOWS,
195
- }),
196
- },
197
- {
198
- value: "warm-porcelain",
199
- label: "Warm Porcelain",
200
- family: "Warm",
201
- mode: "light",
202
- swatch: ["#f6f0e7", "#eadfd2", "#51443c"],
203
- tokens: createTokens({
204
- canvas: "#f2ebe2",
205
- chrome: "#f8f3ec",
206
- stage: "#eee4dc",
207
- panel: "#fffaf5",
208
- tileBase: "#eee4dc",
209
- tileColorStrength: 0.18,
210
- text: "#352f2b",
211
- textMuted: "#70655e",
212
- line: "#ded2c7",
213
- lineStrong: "#c8b8aa",
214
- control: "#fffaf5",
215
- controlHover: "#eee5dd",
216
- controlGroup: "#eadfd5",
217
- controlPrimary: "#51443c",
218
- controlPrimaryHover: "#66564b",
219
- controlActive: "#dceef2",
220
- controlActiveLine: "#6aa8ba",
221
- controlActiveText: "#29383d",
222
- messageRemote: "#eee7e0",
223
- messageLocal: "#51443c",
224
- messageLocalText: "#fffaf5",
225
- input: "#fffdf9",
226
- shadows: createShadows("#48372b", {
227
- xs: [1, 2, 0.08, 1],
228
- sm: [10, 30, 0.08, 8],
229
- control: [6, 18, 0.13, 6],
230
- }),
231
- }),
232
- },
233
- {
234
- value: "cool-mist",
235
- label: "Cool Mist",
236
- family: "Graphite",
237
- mode: "light",
238
- swatch: ["#f2f6f8", "#dfe8ee", "#34414d"],
239
- tokens: createTokens({
240
- canvas: "#edf2f5",
241
- chrome: "#f6f8fa",
242
- stage: "#e7eef2",
243
- panel: "#fbfdfe",
244
- tileBase: "#e7eef2",
245
- tileColorStrength: 0.18,
246
- text: "#24313b",
247
- textMuted: "#65727e",
248
- line: "#d4dde3",
249
- lineStrong: "#b8c6cf",
250
- control: "#fbfdfe",
251
- controlHover: "#e6edf1",
252
- controlGroup: "#e1e9ee",
253
- controlPrimary: "#34414d",
254
- controlPrimaryHover: "#465563",
255
- controlActive: "#dceff7",
256
- controlActiveLine: "#5599b5",
257
- controlActiveText: "#21343d",
258
- messageRemote: "#e9eef1",
259
- messageLocal: "#34414d",
260
- messageLocalText: "#f8fbfc",
261
- input: "#ffffff",
262
- shadows: createShadows("#233643", {
263
- xs: [1, 2, 0.08, 1],
264
- sm: [10, 32, 0.08, 8],
265
- control: [6, 18, 0.13, 6],
266
- }),
267
- }),
268
- },
269
- {
270
- value: "paper-and-ink",
271
- label: "Paper & Ink",
272
- family: "Ink",
273
- mode: "light",
274
- swatch: ["#fafaf7", "#e8e8e2", "#15171a"],
275
- tokens: createTokens({
276
- canvas: "#f4f4f0",
277
- chrome: "#fafaf7",
278
- stage: "#efefea",
279
- panel: "#ffffff",
280
- tileBase: "#eeeeea",
281
- tileColorStrength: 0.14,
282
- text: "#101214",
283
- textMuted: "#555b62",
284
- line: "#d7d8d5",
285
- lineStrong: "#b8bab8",
286
- control: "#ffffff",
287
- controlHover: "#e9e9e5",
288
- controlGroup: "#e8e8e3",
289
- controlPrimary: "#15171a",
290
- controlPrimaryHover: "#2b2e32",
291
- controlActive: "#e3eff8",
292
- controlActiveLine: "#196da8",
293
- controlActiveText: "#101214",
294
- messageRemote: "#eeeeea",
295
- messageLocal: "#15171a",
296
- messageLocalText: "#ffffff",
297
- input: "#ffffff",
298
- shadows: createShadows("#101214", {
299
- xs: [1, 2, 0.1, 1],
300
- sm: [8, 26, 0.08, 8],
301
- control: [5, 16, 0.14, 5],
302
- }),
303
- }),
304
- },
305
- {
306
- value: "cream-and-clay",
307
- label: "Cream & Clay",
308
- family: "Espresso",
309
- mode: "light",
310
- swatch: ["#fbf2e7", "#e8c8b0", "#7a4329"],
311
- tokens: createTokens({
312
- canvas: "#f6eadf",
313
- chrome: "#fbf3ea",
314
- stage: "#f1ddcd",
315
- panel: "#fffaf4",
316
- tileBase: "#efddcf",
317
- tileColorStrength: 0.22,
318
- text: "#432d24",
319
- textMuted: "#7d6458",
320
- line: "#e2cfc0",
321
- lineStrong: "#c8ab97",
322
- control: "#fffaf4",
323
- controlHover: "#f0dfd1",
324
- controlGroup: "#ead6c6",
325
- controlPrimary: "#5c3828",
326
- controlPrimaryHover: "#744733",
327
- controlActive: "#e8e8d5",
328
- controlActiveLine: "#87945e",
329
- controlActiveText: "#354025",
330
- messageRemote: "#f1e5da",
331
- messageLocal: "#5c3828",
332
- messageLocalText: "#fffaf4",
333
- input: "#fffdf8",
334
- shadows: createShadows("#563222", {
335
- xs: [1, 2, 0.1, 1],
336
- sm: [10, 32, 0.09, 8],
337
- control: [6, 18, 0.15, 6],
338
- }),
339
- }),
340
- },
341
- {
342
- value: "studio-canvas",
343
- label: "Studio Canvas",
344
- family: "Atelier",
345
- mode: "light",
346
- swatch: ["#f7f3e9", "#dce6d5", "#48594b"],
347
- tokens: createTokens({
348
- canvas: "#f0eee5",
349
- chrome: "#f8f5ec",
350
- stage: "#ebe9de",
351
- panel: "#fdfbf5",
352
- tileBase: "#e9e7dc",
353
- tileColorStrength: 0.22,
354
- text: "#303832",
355
- textMuted: "#657067",
356
- line: "#d8d7ca",
357
- lineStrong: "#b9bdad",
358
- control: "#fdfbf5",
359
- controlHover: "#e8e7dc",
360
- controlGroup: "#e4e4d8",
361
- controlPrimary: "#48594b",
362
- controlPrimaryHover: "#5a6e5d",
363
- controlActive: "#dceff2",
364
- controlActiveLine: "#5e9bab",
365
- controlActiveText: "#294047",
366
- messageRemote: "#ecebe2",
367
- messageLocal: "#48594b",
368
- messageLocalText: "#fbfaf4",
369
- input: "#fffef9",
370
- shadows: createShadows("#303832", {
371
- xs: [1, 2, 0.08, 1],
372
- sm: [10, 30, 0.08, 8],
373
- control: [6, 18, 0.13, 6],
374
- }),
375
- }),
376
- },
377
- {
378
- value: "prism-daylight",
379
- label: "Prism Daylight",
380
- family: "Prism",
381
- mode: "light",
382
- swatch: ["#faf9ff", "#e8ddfa", "#4c2e78"],
383
- tokens: createTokens({
384
- canvas: "#f4f1fb",
385
- chrome: "#fbf9ff",
386
- stage: "#eee8fa",
387
- panel: "#fefcff",
388
- tileBase: "#eee8f7",
389
- tileColorStrength: 0.26,
390
- text: "#2b2037",
391
- textMuted: "#71657e",
392
- line: "#ded5ea",
393
- lineStrong: "#c4b4d8",
394
- control: "#fefcff",
395
- controlHover: "#ebe3f5",
396
- controlGroup: "#e9e1f2",
397
- controlPrimary: "#4c2e78",
398
- controlPrimaryHover: "#614091",
399
- controlActive: "#e5dcfb",
400
- controlActiveLine: "#7651d2",
401
- controlActiveText: "#34204f",
402
- messageRemote: "#eee9f4",
403
- messageLocal: "#3b245c",
404
- messageLocalText: "#ffffff",
405
- input: "#ffffff",
406
- shadows: createShadows("#36214e", {
407
- xs: [1, 2, 0.09, 1],
408
- sm: [12, 36, 0.1, 10],
409
- control: [7, 20, 0.16, 7],
410
- }),
411
- }),
412
- },
413
- {
414
- value: "signal-white",
415
- label: "Signal White",
416
- family: "Signal",
417
- mode: "light",
418
- swatch: ["#ffffff", "#ddecf9", "#0879d9"],
419
- tokens: createTokens({
420
- canvas: "#f3f7fb",
421
- chrome: "#ffffff",
422
- stage: "#edf4fa",
423
- panel: "#ffffff",
424
- tileBase: "#eef4f8",
425
- tileColorStrength: 0.22,
426
- text: "#0c1117",
427
- textMuted: "#596674",
428
- line: "#d8e0e7",
429
- lineStrong: "#b5c2cd",
430
- control: "#ffffff",
431
- controlHover: "#e8f0f6",
432
- controlGroup: "#e5edf3",
433
- controlPrimary: "#111820",
434
- controlPrimaryHover: "#28323d",
435
- controlActive: "#e1f0ff",
436
- controlActiveLine: "#1684e2",
437
- controlActiveText: "#0b4f87",
438
- messageRemote: "#edf1f4",
439
- messageLocal: "#111820",
440
- messageLocalText: "#ffffff",
441
- input: "#ffffff",
442
- shadows: createShadows("#0c263e", {
443
- xs: [1, 2, 0.09, 1],
444
- sm: [10, 32, 0.08, 8],
445
- control: [6, 18, 0.14, 6],
446
- }),
447
- }),
448
- },
449
- {
450
- value: "warm-charcoal",
451
- label: "Warm Charcoal",
452
- family: "Warm",
453
- mode: "dark",
454
- swatch: ["#151513", "#292925", "#65b4d0"],
455
- tokens: createTokens({
456
- canvas: "#151513",
457
- chrome: "#191917",
458
- stage: "#1d1d1a",
459
- panel: "#21211d",
460
- tileBase: "#1c1c19",
461
- tileColorStrength: 0.2,
462
- text: "#f4f3ee",
463
- textMuted: "#a8a79f",
464
- line: "#34342e",
465
- lineStrong: "#4b4a42",
466
- control: "#292925",
467
- controlHover: "#34342e",
468
- controlGroup: "#20201c",
469
- controlPrimary: "#252823",
470
- controlPrimaryHover: "#353a33",
471
- controlActive: "#263941",
472
- controlActiveLine: "#65b4d0",
473
- controlActiveText: "#f4f3ee",
474
- messageRemote: "#2a2a25",
475
- messageLocal: "#27323a",
476
- messageLocalText: "#f4f3ee",
477
- input: "#1a1a17",
478
- shadows: DARK_SHADOWS,
479
- }),
480
- },
481
- {
482
- value: "cool-graphite",
483
- label: "Cool Graphite",
484
- family: "Graphite",
485
- mode: "dark",
486
- swatch: ["#101318", "#202632", "#55aac9"],
487
- tokens: createTokens({
488
- canvas: "#101318",
489
- chrome: "#141820",
490
- stage: "#171c24",
491
- panel: "#1b2028",
492
- tileBase: "#18202a",
493
- tileColorStrength: 0.22,
494
- text: "#f3f6f8",
495
- textMuted: "#9da6b2",
496
- line: "#303744",
497
- lineStrong: "#46505f",
498
- control: "#202632",
499
- controlHover: "#2a3240",
500
- controlGroup: "#191f28",
501
- controlPrimary: "#242b35",
502
- controlPrimaryHover: "#313b49",
503
- controlActive: "#172f43",
504
- controlActiveLine: "#55aac9",
505
- controlActiveText: "#f3f6f8",
506
- messageRemote: "#272e39",
507
- messageLocal: "#141c25",
508
- messageLocalText: "#f3f6f8",
509
- input: "#151a22",
510
- shadows: COOL_DARK_SHADOWS,
511
- }),
512
- },
513
- {
514
- value: "high-contrast-ink",
515
- label: "High-contrast Ink",
516
- family: "Ink",
517
- mode: "dark",
518
- swatch: ["#0c0e12", "#242932", "#63b9d7"],
519
- tokens: createTokens({
520
- canvas: "#0c0e12",
521
- chrome: "#12151a",
522
- stage: "#151920",
523
- panel: "#191d23",
524
- tileBase: "#171b22",
525
- tileColorStrength: 0.19,
526
- text: "#fafaf7",
527
- textMuted: "#a3a8b0",
528
- line: "#343941",
529
- lineStrong: "#4b525d",
530
- control: "#242932",
531
- controlHover: "#303640",
532
- controlGroup: "#171b21",
533
- controlPrimary: "#1f242c",
534
- controlPrimaryHover: "#2c333d",
535
- controlActive: "#163247",
536
- controlActiveLine: "#63b9d7",
537
- controlActiveText: "#fafaf7",
538
- messageRemote: "#252a32",
539
- messageLocal: "#10141a",
540
- messageLocalText: "#fafaf7",
541
- input: "#14181e",
542
- shadows: INK_DARK_SHADOWS,
543
- }),
544
- },
545
- {
546
- value: "espresso-night",
547
- label: "Espresso Night",
548
- family: "Espresso",
549
- mode: "dark",
550
- swatch: ["#15110f", "#2c211d", "#c98656"],
551
- tokens: createTokens({
552
- canvas: "#15110f",
553
- chrome: "#1a1512",
554
- stage: "#1e1714",
555
- panel: "#211916",
556
- tileBase: "#1d1614",
557
- tileColorStrength: 0.2,
558
- text: "#f5ede3",
559
- textMuted: "#b8a79a",
560
- line: "#4a3930",
561
- lineStrong: "#664b3d",
562
- control: "#2c211d",
563
- controlHover: "#3a2a24",
564
- controlGroup: "#211916",
565
- controlPrimary: "#2a211e",
566
- controlPrimaryHover: "#3b2d28",
567
- controlActive: "#3d2c24",
568
- controlActiveLine: "#c98656",
569
- controlActiveText: "#f5ede3",
570
- messageRemote: "#35271f",
571
- messageLocal: "#1d252b",
572
- messageLocalText: "#f5ede3",
573
- input: "#1a1412",
574
- shadows: ESPRESSO_DARK_SHADOWS,
575
- }),
576
- },
577
- {
578
- value: "chalkboard-atelier",
579
- label: "Chalkboard Atelier",
580
- family: "Atelier",
581
- mode: "dark",
582
- swatch: ["#0d1714", "#20332c", "#76bed1"],
583
- tokens: createTokens({
584
- canvas: "#0d1714",
585
- chrome: "#111d19",
586
- stage: "#14221d",
587
- panel: "#1b2c26",
588
- tileBase: "#15241f",
589
- tileColorStrength: 0.18,
590
- text: "#eff3e9",
591
- textMuted: "#9bab9f",
592
- line: "#30473d",
593
- lineStrong: "#466355",
594
- control: "#20332c",
595
- controlHover: "#2a4138",
596
- controlGroup: "#172720",
597
- controlPrimary: "#1e3029",
598
- controlPrimaryHover: "#2c443a",
599
- controlActive: "#1c3b40",
600
- controlActiveLine: "#76bed1",
601
- controlActiveText: "#eff3e9",
602
- messageRemote: "#263a32",
603
- messageLocal: "#182d2f",
604
- messageLocalText: "#eff3e9",
605
- input: "#13211c",
606
- shadows: ATELIER_DARK_SHADOWS,
607
- }),
608
- },
609
- {
610
- value: "prism-nocturne",
611
- label: "Prism Nocturne",
612
- family: "Prism",
613
- mode: "dark",
614
- swatch: ["#100d17", "#231b30", "#9a63e6"],
615
- tokens: createTokens({
616
- canvas: "#100d17",
617
- chrome: "#14101d",
618
- stage: "#17131e",
619
- panel: "#1a1424",
620
- tileBase: "#18121f",
621
- tileColorStrength: 0.26,
622
- text: "#f5f0fa",
623
- textMuted: "#a99db3",
624
- line: "#3b3049",
625
- lineStrong: "#58446d",
626
- control: "#231b30",
627
- controlHover: "#302340",
628
- controlGroup: "#1b1525",
629
- controlPrimary: "#251b32",
630
- controlPrimaryHover: "#352549",
631
- controlActive: "#2b1743",
632
- controlActiveLine: "#9a63e6",
633
- controlActiveText: "#f5f0fa",
634
- messageRemote: "#2b2334",
635
- messageLocal: "#191321",
636
- messageLocalText: "#f5f0fa",
637
- input: "#17111f",
638
- shadows: PRISM_DARK_SHADOWS,
639
- }),
640
- },
641
- {
642
- value: "cosmic-chalk",
643
- label: "Cosmic Chalk",
644
- family: "Cosmic",
645
- mode: "dark",
646
- swatch: ["#080f20", "#10182b", "#8fdcff"],
647
- tokens: createTokens({
648
- canvas: "#080f20",
649
- chrome: "#10182b",
650
- stage: "#0b1427",
651
- panel: "#10182b",
652
- tileBase: "#0f1d35",
653
- tileColorStrength: 0.2,
654
- text: "#f4ecd7",
655
- textMuted: "#aeb8c9",
656
- line: "#2c3d59",
657
- lineStrong: "#435a7d",
658
- control: "#10182b",
659
- controlHover: "#192845",
660
- controlGroup: "#0d172b",
661
- controlPrimary: "#8fdcff",
662
- controlPrimaryHover: "#b5edff",
663
- controlActive: "#18354c",
664
- controlActiveLine: "#8fdcff",
665
- controlActiveText: "#f4ecd7",
666
- messageRemote: "#13223a",
667
- messageLocal: "#8fdcff",
668
- messageLocalText: "#080f20",
669
- input: "#0d172b",
670
- shadows: COSMIC_DARK_SHADOWS,
671
- }),
672
- },
673
- {
674
- value: "oled-signal",
675
- label: "OLED Signal",
676
- family: "Signal",
677
- mode: "dark",
678
- swatch: ["#000000", "#11151a", "#2f86ff"],
679
- tokens: createTokens({
680
- canvas: "#000000",
681
- chrome: "#030405",
682
- stage: "#000000",
683
- panel: "#07090c",
684
- tileBase: "#07090c",
685
- tileColorStrength: 0.12,
686
- text: "#f7f8fa",
687
- textMuted: "#8b949e",
688
- line: "#242a31",
689
- lineStrong: "#3a424c",
690
- control: "#11151a",
691
- controlHover: "#1a2027",
692
- controlGroup: "#080a0d",
693
- controlPrimary: "#11151a",
694
- controlPrimaryHover: "#20262e",
695
- controlActive: "#081b32",
696
- controlActiveLine: "#2f86ff",
697
- controlActiveText: "#f7f8fa",
698
- messageRemote: "#14171b",
699
- messageLocal: "#090b0f",
700
- messageLocalText: "#f7f8fa",
701
- input: "#080a0d",
702
- shadows: OLED_SHADOWS,
703
- }),
704
- },
705
- ] as const satisfies readonly ThemePaletteDefinition[];
706
-
707
- export type ThemePalette = (typeof THEME_PALETTES)[number]["value"];
708
- export type ThemeMode = (typeof THEME_PALETTES)[number]["mode"];
709
-
710
- export const THEME_TEXTURES = [
711
- {
712
- value: "none",
713
- label: "Clean",
714
- description: "Pure color with no material overlay.",
715
- descriptor: {
716
- kind: "none",
717
- blendMode: "normal",
718
- opacity: 0,
719
- tileSize: null,
720
- },
721
- },
722
- {
723
- value: "paper",
724
- label: "Paper Grain",
725
- description: "A fine organic grain over the selected palette.",
726
- descriptor: {
727
- kind: "paper-grain",
728
- blendMode: "soft-light",
729
- opacity: 0.24,
730
- tileSize: 180,
731
- grain: { baseFrequency: 0.74, octaves: 4, opacity: 0.24 },
732
- },
733
- },
734
- {
735
- value: "slate",
736
- label: "Slate",
737
- description: "A subtle directional mineral texture.",
738
- descriptor: {
739
- kind: "slate",
740
- blendMode: "soft-light",
741
- opacity: 0.2,
742
- tileSize: 220,
743
- grain: { baseFrequency: 0.36, octaves: 5, opacity: 0.2 },
744
- lines: { angle: 7, period: 19, width: 1, color: "#ffffff", opacity: 0.018 },
745
- },
746
- },
747
- ] as const satisfies readonly ThemeTextureDefinition[];
748
-
749
- export type ThemeTexture = (typeof THEME_TEXTURES)[number]["value"];
750
-
751
- export interface ThemeAppearance {
752
- readonly palette: ThemePalette;
753
- readonly texture: ThemeTexture;
754
- }
755
-
756
- export interface NativeAppearance {
757
- readonly palette: ThemePalette;
758
- readonly mode: ThemeMode;
759
- readonly texture: ThemeTexture;
760
- readonly tokens: NativeAppearanceTokens;
761
- readonly textureDescriptor: NativeTextureDescriptor;
762
- }
763
-
764
- const DARK_THEME_PALETTES = new Set<ThemePalette>(THEME_PALETTES.filter((palette) => palette.mode === "dark").map((palette) => palette.value));
765
-
766
- export function isDarkThemePalette(palette: ThemePalette): boolean {
767
- return DARK_THEME_PALETTES.has(palette);
768
- }
769
-
770
- export function getThemeMode(palette: ThemePalette): ThemeMode {
771
- return isDarkThemePalette(palette) ? "dark" : "light";
772
- }
773
-
774
- function resolvePalette(palette: ThemePalette): (typeof THEME_PALETTES)[number] {
775
- return THEME_PALETTES.find((entry) => entry.value === palette)!;
776
- }
777
-
778
- function resolveTexture(texture: ThemeTexture): (typeof THEME_TEXTURES)[number] {
779
- return THEME_TEXTURES.find((entry) => entry.value === texture)!;
780
- }
781
-
782
- function resolveTextureDescriptor(texture: ThemeTexture, mode: ThemeMode): NativeTextureDescriptor {
783
- const descriptor: NativeTextureDescriptor = resolveTexture(texture).descriptor;
784
- if (texture !== "slate") return descriptor;
785
-
786
- const light = mode === "light";
787
- return {
788
- ...descriptor,
789
- blendMode: light ? "multiply" : "soft-light",
790
- opacity: light ? 0.16 : 0.2,
791
- grain: { ...descriptor.grain!, opacity: light ? 0.16 : 0.2 },
792
- lines: { ...descriptor.lines!, color: light ? "#0c0e12" : "#ffffff", opacity: light ? 0.022 : 0.018 },
793
- };
794
- }
795
-
796
- export function resolveNativeAppearance(appearance: Partial<ThemeAppearance> = {}): NativeAppearance {
797
- const palette = resolvePalette(appearance.palette ?? "light");
798
- const mode = getThemeMode(palette.value);
799
- const texture = (appearance.texture ?? "none") as ThemeTexture;
800
-
801
- return {
802
- palette: palette.value,
803
- mode,
804
- texture,
805
- tokens: palette.tokens,
806
- textureDescriptor: resolveTextureDescriptor(texture, mode),
807
- };
808
- }