@syra.fm/sdk 0.4.0 → 0.6.0

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 (317) hide show
  1. package/README.md +33 -4
  2. package/lib/commonjs/client.js +268 -0
  3. package/lib/commonjs/client.js.map +1 -0
  4. package/lib/commonjs/errors.js +22 -0
  5. package/lib/commonjs/errors.js.map +1 -0
  6. package/lib/commonjs/index.js +63 -0
  7. package/lib/commonjs/index.js.map +1 -0
  8. package/lib/commonjs/index.native.js +28 -0
  9. package/lib/commonjs/index.native.js.map +1 -0
  10. package/lib/commonjs/live/assets/icons/spaces-icon.js +42 -0
  11. package/lib/commonjs/live/assets/icons/spaces-icon.js.map +1 -0
  12. package/lib/commonjs/live/assets/icons/syra-icon.js +43 -0
  13. package/lib/commonjs/live/assets/icons/syra-icon.js.map +1 -0
  14. package/lib/commonjs/live/colors.js +54 -0
  15. package/lib/commonjs/live/colors.js.map +1 -0
  16. package/lib/commonjs/live/components/AnimatedPulse.js +38 -0
  17. package/lib/commonjs/live/components/AnimatedPulse.js.map +1 -0
  18. package/lib/commonjs/live/components/AnimatedSpeakerRing.js +90 -0
  19. package/lib/commonjs/live/components/AnimatedSpeakerRing.js.map +1 -0
  20. package/lib/commonjs/live/components/CreateRoomSheet.js +688 -0
  21. package/lib/commonjs/live/components/CreateRoomSheet.js.map +1 -0
  22. package/lib/commonjs/live/components/InsightsPanel.js +333 -0
  23. package/lib/commonjs/live/components/InsightsPanel.js.map +1 -0
  24. package/lib/commonjs/live/components/LiveRoomSheet.js +1196 -0
  25. package/lib/commonjs/live/components/LiveRoomSheet.js.map +1 -0
  26. package/lib/commonjs/live/components/MiniRoomBar.js +162 -0
  27. package/lib/commonjs/live/components/MiniRoomBar.js.map +1 -0
  28. package/lib/commonjs/live/components/PanelHeader.js +57 -0
  29. package/lib/commonjs/live/components/PanelHeader.js.map +1 -0
  30. package/lib/commonjs/live/components/PodcastStreamPicker.js +1190 -0
  31. package/lib/commonjs/live/components/PodcastStreamPicker.js.map +1 -0
  32. package/lib/commonjs/live/components/RecordingCard.js +192 -0
  33. package/lib/commonjs/live/components/RecordingCard.js.map +1 -0
  34. package/lib/commonjs/live/components/RecordingsPanel.js +305 -0
  35. package/lib/commonjs/live/components/RecordingsPanel.js.map +1 -0
  36. package/lib/commonjs/live/components/RoomCard.js +349 -0
  37. package/lib/commonjs/live/components/RoomCard.js.map +1 -0
  38. package/lib/commonjs/live/components/StreamConfigModal.js +656 -0
  39. package/lib/commonjs/live/components/StreamConfigModal.js.map +1 -0
  40. package/lib/commonjs/live/components/StreamConfigPanel.js +822 -0
  41. package/lib/commonjs/live/components/StreamConfigPanel.js.map +1 -0
  42. package/lib/commonjs/live/context/LiveConfigContext.js +46 -0
  43. package/lib/commonjs/live/context/LiveConfigContext.js.map +1 -0
  44. package/lib/commonjs/live/context/LiveRoomContext.js +195 -0
  45. package/lib/commonjs/live/context/LiveRoomContext.js.map +1 -0
  46. package/lib/commonjs/live/hooks/useActiveSpeakers.js +35 -0
  47. package/lib/commonjs/live/hooks/useActiveSpeakers.js.map +1 -0
  48. package/lib/commonjs/live/hooks/useRoomAudio.js +129 -0
  49. package/lib/commonjs/live/hooks/useRoomAudio.js.map +1 -0
  50. package/lib/commonjs/live/hooks/useRoomConnection.js +177 -0
  51. package/lib/commonjs/live/hooks/useRoomConnection.js.map +1 -0
  52. package/lib/commonjs/live/hooks/useRoomManager.js +37 -0
  53. package/lib/commonjs/live/hooks/useRoomManager.js.map +1 -0
  54. package/lib/commonjs/live/hooks/useRoomUsers.js +52 -0
  55. package/lib/commonjs/live/hooks/useRoomUsers.js.map +1 -0
  56. package/lib/commonjs/live/index.js +341 -0
  57. package/lib/commonjs/live/index.js.map +1 -0
  58. package/lib/commonjs/live/services/livekitService.js +20 -0
  59. package/lib/commonjs/live/services/livekitService.js.map +1 -0
  60. package/lib/commonjs/live/services/spaceSocketService.js +181 -0
  61. package/lib/commonjs/live/services/spaceSocketService.js.map +1 -0
  62. package/lib/commonjs/live/services/spacesService.js +642 -0
  63. package/lib/commonjs/live/services/spacesService.js.map +1 -0
  64. package/lib/commonjs/live/types.js +6 -0
  65. package/lib/commonjs/live/types.js.map +1 -0
  66. package/lib/commonjs/live/validation.js +238 -0
  67. package/lib/commonjs/live/validation.js.map +1 -0
  68. package/lib/commonjs/package.json +1 -0
  69. package/{dist/cjs → lib/commonjs}/schema.js +55 -47
  70. package/lib/commonjs/schema.js.map +1 -0
  71. package/lib/module/client.js +264 -0
  72. package/lib/module/client.js.map +1 -0
  73. package/lib/module/errors.js +17 -0
  74. package/lib/module/errors.js.map +1 -0
  75. package/lib/module/index.js +6 -0
  76. package/lib/module/index.js.map +1 -0
  77. package/lib/module/index.native.js +5 -0
  78. package/lib/module/index.native.js.map +1 -0
  79. package/lib/module/live/assets/icons/spaces-icon.js +34 -0
  80. package/lib/module/live/assets/icons/spaces-icon.js.map +1 -0
  81. package/lib/module/live/assets/icons/syra-icon.js +36 -0
  82. package/lib/module/live/assets/icons/syra-icon.js.map +1 -0
  83. package/lib/module/live/colors.js +49 -0
  84. package/lib/module/live/colors.js.map +1 -0
  85. package/lib/module/live/components/AnimatedPulse.js +33 -0
  86. package/lib/module/live/components/AnimatedPulse.js.map +1 -0
  87. package/lib/module/live/components/AnimatedSpeakerRing.js +85 -0
  88. package/lib/module/live/components/AnimatedSpeakerRing.js.map +1 -0
  89. package/lib/module/live/components/CreateRoomSheet.js +682 -0
  90. package/lib/module/live/components/CreateRoomSheet.js.map +1 -0
  91. package/lib/module/live/components/InsightsPanel.js +327 -0
  92. package/lib/module/live/components/InsightsPanel.js.map +1 -0
  93. package/lib/module/live/components/LiveRoomSheet.js +1190 -0
  94. package/lib/module/live/components/LiveRoomSheet.js.map +1 -0
  95. package/lib/module/live/components/MiniRoomBar.js +155 -0
  96. package/lib/module/live/components/MiniRoomBar.js.map +1 -0
  97. package/lib/module/live/components/PanelHeader.js +52 -0
  98. package/lib/module/live/components/PanelHeader.js.map +1 -0
  99. package/lib/module/live/components/PodcastStreamPicker.js +1183 -0
  100. package/lib/module/live/components/PodcastStreamPicker.js.map +1 -0
  101. package/lib/module/live/components/RecordingCard.js +187 -0
  102. package/lib/module/live/components/RecordingCard.js.map +1 -0
  103. package/lib/module/live/components/RecordingsPanel.js +299 -0
  104. package/lib/module/live/components/RecordingsPanel.js.map +1 -0
  105. package/lib/module/live/components/RoomCard.js +343 -0
  106. package/lib/module/live/components/RoomCard.js.map +1 -0
  107. package/lib/module/live/components/StreamConfigModal.js +650 -0
  108. package/lib/module/live/components/StreamConfigModal.js.map +1 -0
  109. package/lib/module/live/components/StreamConfigPanel.js +816 -0
  110. package/lib/module/live/components/StreamConfigPanel.js.map +1 -0
  111. package/lib/module/live/context/LiveConfigContext.js +40 -0
  112. package/lib/module/live/context/LiveConfigContext.js.map +1 -0
  113. package/lib/module/live/context/LiveRoomContext.js +189 -0
  114. package/lib/module/live/context/LiveRoomContext.js.map +1 -0
  115. package/lib/module/live/hooks/useActiveSpeakers.js +31 -0
  116. package/lib/module/live/hooks/useActiveSpeakers.js.map +1 -0
  117. package/lib/module/live/hooks/useRoomAudio.js +125 -0
  118. package/lib/module/live/hooks/useRoomAudio.js.map +1 -0
  119. package/lib/module/live/hooks/useRoomConnection.js +173 -0
  120. package/lib/module/live/hooks/useRoomConnection.js.map +1 -0
  121. package/lib/module/live/hooks/useRoomManager.js +32 -0
  122. package/lib/module/live/hooks/useRoomManager.js.map +1 -0
  123. package/lib/module/live/hooks/useRoomUsers.js +46 -0
  124. package/lib/module/live/hooks/useRoomUsers.js.map +1 -0
  125. package/lib/module/live/index.js +42 -0
  126. package/lib/module/live/index.js.map +1 -0
  127. package/lib/module/live/services/livekitService.js +16 -0
  128. package/lib/module/live/services/livekitService.js.map +1 -0
  129. package/lib/module/live/services/spaceSocketService.js +176 -0
  130. package/lib/module/live/services/spaceSocketService.js.map +1 -0
  131. package/lib/module/live/services/spacesService.js +639 -0
  132. package/lib/module/live/services/spacesService.js.map +1 -0
  133. package/lib/module/live/types.js +4 -0
  134. package/lib/module/live/types.js.map +1 -0
  135. package/lib/module/live/validation.js +229 -0
  136. package/lib/module/live/validation.js.map +1 -0
  137. package/lib/module/package.json +1 -0
  138. package/{dist/esm → lib/module}/schema.js +47 -39
  139. package/lib/module/schema.js.map +1 -0
  140. package/{dist/types → lib/typescript/commonjs}/client.d.ts +1 -0
  141. package/lib/typescript/commonjs/client.d.ts.map +1 -0
  142. package/{dist/types → lib/typescript/commonjs}/errors.d.ts +1 -0
  143. package/lib/typescript/commonjs/errors.d.ts.map +1 -0
  144. package/{dist/types → lib/typescript/commonjs}/index.d.ts +1 -0
  145. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  146. package/lib/typescript/commonjs/index.native.d.ts +3 -0
  147. package/lib/typescript/commonjs/index.native.d.ts.map +1 -0
  148. package/lib/typescript/commonjs/live/assets/icons/spaces-icon.d.ts +13 -0
  149. package/lib/typescript/commonjs/live/assets/icons/spaces-icon.d.ts.map +1 -0
  150. package/lib/typescript/commonjs/live/assets/icons/syra-icon.d.ts +13 -0
  151. package/lib/typescript/commonjs/live/assets/icons/syra-icon.d.ts.map +1 -0
  152. package/lib/typescript/commonjs/live/colors.d.ts +35 -0
  153. package/lib/typescript/commonjs/live/colors.d.ts.map +1 -0
  154. package/lib/typescript/commonjs/live/components/AnimatedPulse.d.ts +8 -0
  155. package/lib/typescript/commonjs/live/components/AnimatedPulse.d.ts.map +1 -0
  156. package/lib/typescript/commonjs/live/components/AnimatedSpeakerRing.d.ts +10 -0
  157. package/lib/typescript/commonjs/live/components/AnimatedSpeakerRing.d.ts.map +1 -0
  158. package/lib/typescript/commonjs/live/components/CreateRoomSheet.d.ts +26 -0
  159. package/lib/typescript/commonjs/live/components/CreateRoomSheet.d.ts.map +1 -0
  160. package/lib/typescript/commonjs/live/components/InsightsPanel.d.ts +11 -0
  161. package/lib/typescript/commonjs/live/components/InsightsPanel.d.ts.map +1 -0
  162. package/lib/typescript/commonjs/live/components/LiveRoomSheet.d.ts +11 -0
  163. package/lib/typescript/commonjs/live/components/LiveRoomSheet.d.ts.map +1 -0
  164. package/lib/typescript/commonjs/live/components/MiniRoomBar.d.ts +15 -0
  165. package/lib/typescript/commonjs/live/components/MiniRoomBar.d.ts.map +1 -0
  166. package/lib/typescript/commonjs/live/components/PanelHeader.d.ts +10 -0
  167. package/lib/typescript/commonjs/live/components/PanelHeader.d.ts.map +1 -0
  168. package/lib/typescript/commonjs/live/components/PodcastStreamPicker.d.ts +54 -0
  169. package/lib/typescript/commonjs/live/components/PodcastStreamPicker.d.ts.map +1 -0
  170. package/lib/typescript/commonjs/live/components/RecordingCard.d.ts +11 -0
  171. package/lib/typescript/commonjs/live/components/RecordingCard.d.ts.map +1 -0
  172. package/lib/typescript/commonjs/live/components/RecordingsPanel.d.ts +12 -0
  173. package/lib/typescript/commonjs/live/components/RecordingsPanel.d.ts.map +1 -0
  174. package/lib/typescript/commonjs/live/components/RoomCard.d.ts +38 -0
  175. package/lib/typescript/commonjs/live/components/RoomCard.d.ts.map +1 -0
  176. package/lib/typescript/commonjs/live/components/StreamConfigModal.d.ts +11 -0
  177. package/lib/typescript/commonjs/live/components/StreamConfigModal.d.ts.map +1 -0
  178. package/lib/typescript/commonjs/live/components/StreamConfigPanel.d.ts +13 -0
  179. package/lib/typescript/commonjs/live/components/StreamConfigPanel.d.ts.map +1 -0
  180. package/lib/typescript/commonjs/live/context/LiveConfigContext.d.ts +78 -0
  181. package/lib/typescript/commonjs/live/context/LiveConfigContext.d.ts.map +1 -0
  182. package/lib/typescript/commonjs/live/context/LiveRoomContext.d.ts +12 -0
  183. package/lib/typescript/commonjs/live/context/LiveRoomContext.d.ts.map +1 -0
  184. package/lib/typescript/commonjs/live/hooks/useActiveSpeakers.d.ts +3 -0
  185. package/lib/typescript/commonjs/live/hooks/useActiveSpeakers.d.ts.map +1 -0
  186. package/lib/typescript/commonjs/live/hooks/useRoomAudio.d.ts +16 -0
  187. package/lib/typescript/commonjs/live/hooks/useRoomAudio.d.ts.map +1 -0
  188. package/lib/typescript/commonjs/live/hooks/useRoomConnection.d.ts +29 -0
  189. package/lib/typescript/commonjs/live/hooks/useRoomConnection.d.ts.map +1 -0
  190. package/lib/typescript/commonjs/live/hooks/useRoomManager.d.ts +11 -0
  191. package/lib/typescript/commonjs/live/hooks/useRoomManager.d.ts.map +1 -0
  192. package/lib/typescript/commonjs/live/hooks/useRoomUsers.d.ts +5 -0
  193. package/lib/typescript/commonjs/live/hooks/useRoomUsers.d.ts.map +1 -0
  194. package/lib/typescript/commonjs/live/index.d.ts +25 -0
  195. package/lib/typescript/commonjs/live/index.d.ts.map +1 -0
  196. package/lib/typescript/commonjs/live/services/livekitService.d.ts +7 -0
  197. package/lib/typescript/commonjs/live/services/livekitService.d.ts.map +1 -0
  198. package/lib/typescript/commonjs/live/services/spaceSocketService.d.ts +69 -0
  199. package/lib/typescript/commonjs/live/services/spaceSocketService.d.ts.map +1 -0
  200. package/lib/typescript/commonjs/live/services/spacesService.d.ts +181 -0
  201. package/lib/typescript/commonjs/live/services/spacesService.d.ts.map +1 -0
  202. package/lib/typescript/commonjs/live/types.d.ts +100 -0
  203. package/lib/typescript/commonjs/live/types.d.ts.map +1 -0
  204. package/lib/typescript/commonjs/live/validation.d.ts +658 -0
  205. package/lib/typescript/commonjs/live/validation.d.ts.map +1 -0
  206. package/lib/typescript/commonjs/package.json +1 -0
  207. package/{dist/types → lib/typescript/commonjs}/schema.d.ts +1 -0
  208. package/lib/typescript/commonjs/schema.d.ts.map +1 -0
  209. package/lib/typescript/module/client.d.ts +141 -0
  210. package/lib/typescript/module/client.d.ts.map +1 -0
  211. package/lib/typescript/module/errors.d.ts +9 -0
  212. package/lib/typescript/module/errors.d.ts.map +1 -0
  213. package/lib/typescript/module/index.d.ts +6 -0
  214. package/lib/typescript/module/index.d.ts.map +1 -0
  215. package/lib/typescript/module/index.native.d.ts +3 -0
  216. package/lib/typescript/module/index.native.d.ts.map +1 -0
  217. package/lib/typescript/module/live/assets/icons/spaces-icon.d.ts +13 -0
  218. package/lib/typescript/module/live/assets/icons/spaces-icon.d.ts.map +1 -0
  219. package/lib/typescript/module/live/assets/icons/syra-icon.d.ts +13 -0
  220. package/lib/typescript/module/live/assets/icons/syra-icon.d.ts.map +1 -0
  221. package/lib/typescript/module/live/colors.d.ts +35 -0
  222. package/lib/typescript/module/live/colors.d.ts.map +1 -0
  223. package/lib/typescript/module/live/components/AnimatedPulse.d.ts +8 -0
  224. package/lib/typescript/module/live/components/AnimatedPulse.d.ts.map +1 -0
  225. package/lib/typescript/module/live/components/AnimatedSpeakerRing.d.ts +10 -0
  226. package/lib/typescript/module/live/components/AnimatedSpeakerRing.d.ts.map +1 -0
  227. package/lib/typescript/module/live/components/CreateRoomSheet.d.ts +26 -0
  228. package/lib/typescript/module/live/components/CreateRoomSheet.d.ts.map +1 -0
  229. package/lib/typescript/module/live/components/InsightsPanel.d.ts +11 -0
  230. package/lib/typescript/module/live/components/InsightsPanel.d.ts.map +1 -0
  231. package/lib/typescript/module/live/components/LiveRoomSheet.d.ts +11 -0
  232. package/lib/typescript/module/live/components/LiveRoomSheet.d.ts.map +1 -0
  233. package/lib/typescript/module/live/components/MiniRoomBar.d.ts +15 -0
  234. package/lib/typescript/module/live/components/MiniRoomBar.d.ts.map +1 -0
  235. package/lib/typescript/module/live/components/PanelHeader.d.ts +10 -0
  236. package/lib/typescript/module/live/components/PanelHeader.d.ts.map +1 -0
  237. package/lib/typescript/module/live/components/PodcastStreamPicker.d.ts +54 -0
  238. package/lib/typescript/module/live/components/PodcastStreamPicker.d.ts.map +1 -0
  239. package/lib/typescript/module/live/components/RecordingCard.d.ts +11 -0
  240. package/lib/typescript/module/live/components/RecordingCard.d.ts.map +1 -0
  241. package/lib/typescript/module/live/components/RecordingsPanel.d.ts +12 -0
  242. package/lib/typescript/module/live/components/RecordingsPanel.d.ts.map +1 -0
  243. package/lib/typescript/module/live/components/RoomCard.d.ts +38 -0
  244. package/lib/typescript/module/live/components/RoomCard.d.ts.map +1 -0
  245. package/lib/typescript/module/live/components/StreamConfigModal.d.ts +11 -0
  246. package/lib/typescript/module/live/components/StreamConfigModal.d.ts.map +1 -0
  247. package/lib/typescript/module/live/components/StreamConfigPanel.d.ts +13 -0
  248. package/lib/typescript/module/live/components/StreamConfigPanel.d.ts.map +1 -0
  249. package/lib/typescript/module/live/context/LiveConfigContext.d.ts +78 -0
  250. package/lib/typescript/module/live/context/LiveConfigContext.d.ts.map +1 -0
  251. package/lib/typescript/module/live/context/LiveRoomContext.d.ts +12 -0
  252. package/lib/typescript/module/live/context/LiveRoomContext.d.ts.map +1 -0
  253. package/lib/typescript/module/live/hooks/useActiveSpeakers.d.ts +3 -0
  254. package/lib/typescript/module/live/hooks/useActiveSpeakers.d.ts.map +1 -0
  255. package/lib/typescript/module/live/hooks/useRoomAudio.d.ts +16 -0
  256. package/lib/typescript/module/live/hooks/useRoomAudio.d.ts.map +1 -0
  257. package/lib/typescript/module/live/hooks/useRoomConnection.d.ts +29 -0
  258. package/lib/typescript/module/live/hooks/useRoomConnection.d.ts.map +1 -0
  259. package/lib/typescript/module/live/hooks/useRoomManager.d.ts +11 -0
  260. package/lib/typescript/module/live/hooks/useRoomManager.d.ts.map +1 -0
  261. package/lib/typescript/module/live/hooks/useRoomUsers.d.ts +5 -0
  262. package/lib/typescript/module/live/hooks/useRoomUsers.d.ts.map +1 -0
  263. package/lib/typescript/module/live/index.d.ts +25 -0
  264. package/lib/typescript/module/live/index.d.ts.map +1 -0
  265. package/lib/typescript/module/live/services/livekitService.d.ts +7 -0
  266. package/lib/typescript/module/live/services/livekitService.d.ts.map +1 -0
  267. package/lib/typescript/module/live/services/spaceSocketService.d.ts +69 -0
  268. package/lib/typescript/module/live/services/spaceSocketService.d.ts.map +1 -0
  269. package/lib/typescript/module/live/services/spacesService.d.ts +181 -0
  270. package/lib/typescript/module/live/services/spacesService.d.ts.map +1 -0
  271. package/lib/typescript/module/live/types.d.ts +100 -0
  272. package/lib/typescript/module/live/types.d.ts.map +1 -0
  273. package/lib/typescript/module/live/validation.d.ts +658 -0
  274. package/lib/typescript/module/live/validation.d.ts.map +1 -0
  275. package/lib/typescript/module/package.json +1 -0
  276. package/lib/typescript/module/schema.d.ts +1072 -0
  277. package/lib/typescript/module/schema.d.ts.map +1 -0
  278. package/package.json +123 -21
  279. package/src/index.native.ts +2 -0
  280. package/src/live/assets/icons/spaces-icon.tsx +15 -0
  281. package/src/live/assets/icons/syra-icon.tsx +13 -0
  282. package/src/live/assets/sounds/intro.mp3 +0 -0
  283. package/src/live/colors.ts +57 -0
  284. package/src/live/components/AnimatedPulse.tsx +52 -0
  285. package/src/live/components/AnimatedSpeakerRing.tsx +101 -0
  286. package/src/live/components/CreateRoomSheet.tsx +654 -0
  287. package/src/live/components/InsightsPanel.tsx +202 -0
  288. package/src/live/components/LiveRoomSheet.tsx +970 -0
  289. package/src/live/components/MiniRoomBar.tsx +167 -0
  290. package/src/live/components/PanelHeader.tsx +36 -0
  291. package/src/live/components/PodcastStreamPicker.tsx +1155 -0
  292. package/src/live/components/RecordingCard.tsx +154 -0
  293. package/src/live/components/RecordingsPanel.tsx +252 -0
  294. package/src/live/components/RoomCard.tsx +343 -0
  295. package/src/live/components/StreamConfigModal.tsx +600 -0
  296. package/src/live/components/StreamConfigPanel.tsx +729 -0
  297. package/src/live/context/LiveConfigContext.tsx +96 -0
  298. package/src/live/context/LiveRoomContext.tsx +235 -0
  299. package/src/live/hooks/useActiveSpeakers.ts +39 -0
  300. package/src/live/hooks/useRoomAudio.ts +103 -0
  301. package/src/live/hooks/useRoomConnection.ts +162 -0
  302. package/src/live/hooks/useRoomManager.ts +17 -0
  303. package/src/live/hooks/useRoomUsers.ts +52 -0
  304. package/src/live/index.ts +104 -0
  305. package/src/live/services/livekitService.ts +11 -0
  306. package/src/live/services/spaceSocketService.ts +136 -0
  307. package/src/live/services/spacesService.ts +692 -0
  308. package/src/live/types.ts +119 -0
  309. package/src/live/validation.ts +279 -0
  310. package/dist/cjs/client.js +0 -244
  311. package/dist/cjs/errors.js +0 -16
  312. package/dist/cjs/index.js +0 -15
  313. package/dist/cjs/package.json +0 -3
  314. package/dist/esm/client.js +0 -240
  315. package/dist/esm/errors.js +0 -12
  316. package/dist/esm/index.js +0 -3
  317. package/dist/esm/package.json +0 -3
package/README.md CHANGED
@@ -1,9 +1,19 @@
1
1
  # @syra.fm/sdk
2
2
 
3
- Headless, isomorphic client for the public [Syra](https://syra.fm) API. Runs on
4
- Node 18+, browsers, and React Native — no React, React Native, or DOM
5
- dependencies; the only runtime dependency is [`zod`](https://zod.dev).
6
- **Public reads only** (no authentication in this version).
3
+ Isomorphic client for the public [Syra](https://syra.fm) API. The package
4
+ resolves per platform via export conditions:
5
+
6
+ - **Node / bundlers** (`require`/`import`) get the **headless catalog client** —
7
+ runs on Node 18+ and browsers, no React, React Native, or DOM dependencies;
8
+ the only runtime dependency is [`zod`](https://zod.dev). **Public reads only**
9
+ (no authentication in this version).
10
+ - **React Native** (Metro) and **Expo web** (`browser`) additionally get the
11
+ **live-rooms engine** (audio rooms over LiveKit) and the `SyraIcon` brand mark.
12
+ Its React Native / LiveKit / Expo dependencies are declared as **optional peer
13
+ dependencies**, so headless Node consumers never install them.
14
+
15
+ Everyone imports from the same `@syra.fm/sdk` root — the condition picks the
16
+ right surface.
7
17
 
8
18
  ## Install
9
19
 
@@ -68,3 +78,22 @@ advancing `offset` by `limit`, never by `items.length`.
68
78
  Responses are validated at runtime with the package's own self-contained Zod
69
79
  schemas (`trackSummarySchema`), so there are no shared internal dependencies.
70
80
  `SyraApiError` (with a `status`) is thrown on non-2xx responses.
81
+
82
+ ## Live rooms (React Native)
83
+
84
+ On React Native and Expo web, the same root export also carries the live-rooms
85
+ engine — providers, hooks, components, and icons:
86
+
87
+ ```tsx
88
+ import {
89
+ LiveRoomProvider,
90
+ useRoomAudio,
91
+ RoomCard,
92
+ createRoomsService,
93
+ SyraIcon, // Syra brand mark
94
+ } from '@syra.fm/sdk';
95
+ ```
96
+
97
+ These require the optional peer dependencies (`react-native`, `livekit-client`,
98
+ `@livekit/react-native`, `expo-audio`, `react-native-svg`, …) — present in any
99
+ Expo/React Native app, absent from headless Node consumers.
@@ -0,0 +1,268 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DEFAULT_SYRA_WEB_BASE_URL = exports.DEFAULT_SYRA_BASE_URL = void 0;
7
+ exports.createSyraClient = createSyraClient;
8
+ var _schema = require("./schema.js");
9
+ var _errors = require("./errors.js");
10
+ /** Default base URL of the public Syra API. */
11
+ const DEFAULT_SYRA_BASE_URL = exports.DEFAULT_SYRA_BASE_URL = 'https://api.syra.fm';
12
+
13
+ /** Default base URL of the Syra web app, used for deep links. */
14
+ const DEFAULT_SYRA_WEB_BASE_URL = exports.DEFAULT_SYRA_WEB_BASE_URL = 'https://syra.fm';
15
+
16
+ /**
17
+ * One page of paginated catalog search results.
18
+ *
19
+ * `hasMore` reflects the BACKEND's pagination over the full matching set — NOT
20
+ * `items.length`. {@link SyraClient.searchTracks} additionally filters its page
21
+ * client-side to preview-available tracks, so `items.length` can be smaller than
22
+ * `limit` while `hasMore` is still `true`; callers must paginate by advancing
23
+ * `offset` by `limit` (the page size), never by `items.length`.
24
+ */
25
+
26
+ /** Minimal shape from which track artwork URLs can be derived. */
27
+
28
+ /** Minimal shape from which podcast-show artwork URLs can be derived. */
29
+
30
+ /** Minimal shape from which podcast-episode artwork URLs can be derived. */
31
+
32
+ /** Order used to pick the best available artwork variant when none is named. */
33
+ const ARTWORK_FALLBACK_ORDER = ['original', 'xxlarge', 'xlarge', 'large', 'medium', 'small'];
34
+ const OBJECT_ID_PATTERN = /^[a-f\d]{24}$/i;
35
+
36
+ /**
37
+ * Default episode page size, matching the backend's own default so the SDK's
38
+ * offset→page translation lines up with the server's pagination window.
39
+ */
40
+ const DEFAULT_EPISODES_PAGE_SIZE = 20;
41
+
42
+ /** Read a finite number from an unknown response field, else a fallback. */
43
+ function numberOr(value, fallback) {
44
+ return typeof value === 'number' && Number.isFinite(value) ? value : fallback;
45
+ }
46
+ /**
47
+ * Create a headless client for the public Syra API. Public reads only — there
48
+ * is no authentication in this version.
49
+ */
50
+ function createSyraClient(options = {}) {
51
+ const baseURL = (options.baseURL ?? DEFAULT_SYRA_BASE_URL).replace(/\/+$/, '');
52
+ const webBaseURL = (options.webBaseURL ?? DEFAULT_SYRA_WEB_BASE_URL).replace(/\/+$/, '');
53
+ function resolveFetch() {
54
+ if (options.fetch) {
55
+ return options.fetch;
56
+ }
57
+ const globalFetch = globalThis.fetch;
58
+ if (typeof globalFetch === 'function') {
59
+ return globalFetch.bind(globalThis);
60
+ }
61
+ throw new Error('@syra.fm/sdk: no global fetch is available. Pass `fetch` in createSyraClient options, ' + 'or run on Node 18+, a browser, or React Native.');
62
+ }
63
+ async function getJson(path) {
64
+ const doFetch = resolveFetch();
65
+ const response = await doFetch(`${baseURL}${path}`, {
66
+ headers: {
67
+ Accept: 'application/json'
68
+ }
69
+ });
70
+ if (!response.ok) {
71
+ throw new _errors.SyraApiError(response.status, `Syra API request failed: ${response.status} ${response.statusText} (${path})`);
72
+ }
73
+ return response.json();
74
+ }
75
+ function resolveImageRef(ref) {
76
+ if (!ref) {
77
+ return undefined;
78
+ }
79
+ if (/^https?:\/\//i.test(ref)) {
80
+ return ref;
81
+ }
82
+ if (ref.startsWith('/api/images/')) {
83
+ return `${baseURL}${ref}`;
84
+ }
85
+ if (OBJECT_ID_PATTERN.test(ref)) {
86
+ return `${baseURL}/api/images/${ref}`;
87
+ }
88
+ return undefined;
89
+ }
90
+ return {
91
+ async searchTracks(query, searchOptions = {}) {
92
+ const params = new URLSearchParams({
93
+ q: query,
94
+ category: 'tracks'
95
+ });
96
+ if (typeof searchOptions.limit === 'number') {
97
+ params.set('limit', String(searchOptions.limit));
98
+ }
99
+ if (typeof searchOptions.offset === 'number') {
100
+ params.set('offset', String(searchOptions.offset));
101
+ }
102
+ const json = await getJson(`/api/search?${params.toString()}`);
103
+ const rawTracks = Array.isArray(json?.results?.tracks) ? json.results.tracks : [];
104
+ const items = [];
105
+ for (const raw of rawTracks) {
106
+ // A single malformed catalog row must not fail the whole search.
107
+ const parsed = _schema.trackSummarySchema.safeParse(raw);
108
+ if (parsed.success && parsed.data.previewAvailable === true) {
109
+ items.push(parsed.data);
110
+ }
111
+ }
112
+ return {
113
+ items,
114
+ // `hasMore` is sourced from the backend's pagination over the FULL result
115
+ // set; the client-side preview filter above may shrink `items` below
116
+ // `limit`, but must NOT corrupt `hasMore` (else a page whose tail was
117
+ // filtered out would falsely report the end of the catalog).
118
+ hasMore: json?.hasMore === true,
119
+ limit: numberOr(json?.limit, searchOptions.limit ?? rawTracks.length),
120
+ offset: numberOr(json?.offset, searchOptions.offset ?? 0)
121
+ };
122
+ },
123
+ async getTrack(id) {
124
+ const json = await getJson(`/api/tracks/${encodeURIComponent(id)}`);
125
+ return _schema.trackSummarySchema.parse(json);
126
+ },
127
+ previewUrl(id, startSec = 0) {
128
+ const safeStart = Number.isFinite(startSec) ? Math.max(0, Math.trunc(startSec)) : 0;
129
+ return `${baseURL}/api/preview/${encodeURIComponent(id)}.mp3?start=${safeStart}`;
130
+ },
131
+ artworkUrl(source, size) {
132
+ if (typeof source === 'string') {
133
+ return resolveImageRef(source);
134
+ }
135
+ if (size && source.coverArtSizes) {
136
+ const resolved = resolveImageRef(source.coverArtSizes[size]?.url);
137
+ if (resolved) {
138
+ return resolved;
139
+ }
140
+ }
141
+ const fromCoverArt = resolveImageRef(source.coverArt);
142
+ if (fromCoverArt) {
143
+ return fromCoverArt;
144
+ }
145
+ if (source.coverArtSizes) {
146
+ for (const key of ARTWORK_FALLBACK_ORDER) {
147
+ const resolved = resolveImageRef(source.coverArtSizes[key]?.url);
148
+ if (resolved) {
149
+ return resolved;
150
+ }
151
+ }
152
+ }
153
+ return undefined;
154
+ },
155
+ async searchPodcasts(query, searchOptions = {}) {
156
+ const params = new URLSearchParams({
157
+ q: query
158
+ });
159
+ if (typeof searchOptions.limit === 'number') {
160
+ params.set('limit', String(searchOptions.limit));
161
+ }
162
+ if (typeof searchOptions.offset === 'number') {
163
+ params.set('offset', String(searchOptions.offset));
164
+ }
165
+ const json = await getJson(`/api/podcasts/search?${params.toString()}`);
166
+ const rawPodcasts = Array.isArray(json?.data) ? json.data : [];
167
+ const items = [];
168
+ for (const raw of rawPodcasts) {
169
+ // A single malformed catalog row must not fail the whole search.
170
+ const parsed = _schema.podcastSummarySchema.safeParse(raw);
171
+ if (parsed.success) {
172
+ items.push(parsed.data);
173
+ }
174
+ }
175
+ return {
176
+ items,
177
+ // `hasMore` reflects the backend's pagination over the full result set.
178
+ hasMore: json?.hasMore === true,
179
+ limit: numberOr(json?.limit, searchOptions.limit ?? rawPodcasts.length),
180
+ offset: numberOr(json?.offset, searchOptions.offset ?? 0)
181
+ };
182
+ },
183
+ async getPodcast(id) {
184
+ const json = await getJson(`/api/podcasts/${encodeURIComponent(id)}`);
185
+ return _schema.podcastSummarySchema.parse(json?.data?.podcast);
186
+ },
187
+ podcastUrl(id) {
188
+ return `${webBaseURL}/podcasts/${encodeURIComponent(id)}`;
189
+ },
190
+ podcastArtworkUrl(source, size) {
191
+ if (size && source.imageSizes) {
192
+ const resolved = resolveImageRef(source.imageSizes[size]?.url);
193
+ if (resolved) {
194
+ return resolved;
195
+ }
196
+ }
197
+ const fromImage = resolveImageRef(source.image);
198
+ if (fromImage) {
199
+ return fromImage;
200
+ }
201
+ if (source.imageSizes) {
202
+ for (const key of ARTWORK_FALLBACK_ORDER) {
203
+ const resolved = resolveImageRef(source.imageSizes[key]?.url);
204
+ if (resolved) {
205
+ return resolved;
206
+ }
207
+ }
208
+ }
209
+ return resolveImageRef(source.imageSourceUrl);
210
+ },
211
+ async getPodcastEpisodes(podcastId, listOptions = {}) {
212
+ // The endpoint paginates by 1-based `page`; translate the SDK's uniform
213
+ // offset-based paging into it. `limit` must be concrete (unlike search,
214
+ // which can omit it) because the page number is derived from it.
215
+ const limit = listOptions.limit ?? DEFAULT_EPISODES_PAGE_SIZE;
216
+ const offset = listOptions.offset ?? 0;
217
+ const page = Math.floor(offset / limit) + 1;
218
+ const json = await getJson(`/api/podcasts/${encodeURIComponent(podcastId)}/episodes?page=${page}&limit=${limit}`);
219
+ const rawEpisodes = Array.isArray(json?.data) ? json.data : [];
220
+ const items = [];
221
+ for (const raw of rawEpisodes) {
222
+ // A single malformed episode row must not fail the whole listing.
223
+ const parsed = _schema.episodeSummarySchema.safeParse(raw);
224
+ if (parsed.success) {
225
+ items.push(parsed.data);
226
+ }
227
+ }
228
+
229
+ // `total` is the backend's full count over the show; derive `hasMore` from
230
+ // it rather than `items.length`, which the schema/enclosure filter above may
231
+ // shrink below `limit` on a page that is NOT the last one. Absent a count,
232
+ // fall back to what we have (this page ends the listing).
233
+ const total = numberOr(json?.total, offset + items.length);
234
+ return {
235
+ items,
236
+ hasMore: page * limit < total,
237
+ limit,
238
+ offset
239
+ };
240
+ },
241
+ async getEpisode(episodeId) {
242
+ const json = await getJson(`/api/episodes/${encodeURIComponent(episodeId)}`);
243
+ return _schema.episodeSummarySchema.parse(json?.data?.episode);
244
+ },
245
+ episodeImageUrl(source, size) {
246
+ if (size && source.imageSizes) {
247
+ const resolved = resolveImageRef(source.imageSizes[size]?.url);
248
+ if (resolved) {
249
+ return resolved;
250
+ }
251
+ }
252
+ const fromImage = resolveImageRef(source.image);
253
+ if (fromImage) {
254
+ return fromImage;
255
+ }
256
+ if (source.imageSizes) {
257
+ for (const key of ARTWORK_FALLBACK_ORDER) {
258
+ const resolved = resolveImageRef(source.imageSizes[key]?.url);
259
+ if (resolved) {
260
+ return resolved;
261
+ }
262
+ }
263
+ }
264
+ return resolveImageRef(source.imageSourceUrl);
265
+ }
266
+ };
267
+ }
268
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_schema","require","_errors","DEFAULT_SYRA_BASE_URL","exports","DEFAULT_SYRA_WEB_BASE_URL","ARTWORK_FALLBACK_ORDER","OBJECT_ID_PATTERN","DEFAULT_EPISODES_PAGE_SIZE","numberOr","value","fallback","Number","isFinite","createSyraClient","options","baseURL","replace","webBaseURL","resolveFetch","fetch","globalFetch","globalThis","bind","Error","getJson","path","doFetch","response","headers","Accept","ok","SyraApiError","status","statusText","json","resolveImageRef","ref","undefined","test","startsWith","searchTracks","query","searchOptions","params","URLSearchParams","q","category","limit","set","String","offset","toString","rawTracks","Array","isArray","results","tracks","items","raw","parsed","trackSummarySchema","safeParse","success","data","previewAvailable","push","hasMore","length","getTrack","id","encodeURIComponent","parse","previewUrl","startSec","safeStart","Math","max","trunc","artworkUrl","source","size","coverArtSizes","resolved","url","fromCoverArt","coverArt","key","searchPodcasts","rawPodcasts","podcastSummarySchema","getPodcast","podcast","podcastUrl","podcastArtworkUrl","imageSizes","fromImage","image","imageSourceUrl","getPodcastEpisodes","podcastId","listOptions","page","floor","rawEpisodes","episodeSummarySchema","total","getEpisode","episodeId","episode","episodeImageUrl"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SyraApiError = void 0;
7
+ /**
8
+ * Error thrown when the Syra API returns a non-2xx response.
9
+ */
10
+ class SyraApiError extends Error {
11
+ /** HTTP status code returned by the API. */
12
+
13
+ constructor(status, message) {
14
+ super(message);
15
+ this.name = 'SyraApiError';
16
+ this.status = status;
17
+ // Restore the prototype chain when targeting ES5-ish runtimes.
18
+ Object.setPrototypeOf(this, SyraApiError.prototype);
19
+ }
20
+ }
21
+ exports.SyraApiError = SyraApiError;
22
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SyraApiError","Error","constructor","status","message","name","Object","setPrototypeOf","prototype","exports"],"sourceRoot":"../../src","sources":["errors.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACO,MAAMA,YAAY,SAASC,KAAK,CAAC;EACtC;;EAGAC,WAAWA,CAACC,MAAc,EAAEC,OAAe,EAAE;IAC3C,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,cAAc;IAC1B,IAAI,CAACF,MAAM,GAAGA,MAAM;IACpB;IACAG,MAAM,CAACC,cAAc,CAAC,IAAI,EAAEP,YAAY,CAACQ,SAAS,CAAC;EACrD;AACF;AAACC,OAAA,CAAAT,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "DEFAULT_SYRA_BASE_URL", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _client.DEFAULT_SYRA_BASE_URL;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "DEFAULT_SYRA_WEB_BASE_URL", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _client.DEFAULT_SYRA_WEB_BASE_URL;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "SyraApiError", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _errors.SyraApiError;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "coverArtSizesSchema", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _schema.coverArtSizesSchema;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "coverArtVariantSchema", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _schema.coverArtVariantSchema;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "createSyraClient", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _client.createSyraClient;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "episodeSummarySchema", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _schema.episodeSummarySchema;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "podcastSummarySchema", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _schema.podcastSummarySchema;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "trackSummarySchema", {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _schema.trackSummarySchema;
58
+ }
59
+ });
60
+ var _client = require("./client.js");
61
+ var _schema = require("./schema.js");
62
+ var _errors = require("./errors.js");
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_client","require","_schema","_errors"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAgBA,IAAAC,OAAA,GAAAD,OAAA;AAeA,IAAAE,OAAA,GAAAF,OAAA","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _index = require("./index");
7
+ Object.keys(_index).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _index[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _index[key];
14
+ }
15
+ });
16
+ });
17
+ var _index2 = require("./live/index.js");
18
+ Object.keys(_index2).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _index2[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _index2[key];
25
+ }
26
+ });
27
+ });
28
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_index","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_index2"],"sourceRoot":"../../src","sources":["index.native.ts"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,OAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,OAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,OAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,OAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LiveRoomsIconActive = exports.LiveRoomsIcon = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const LiveRoomsIcon = ({
13
+ color = 'currentColor',
14
+ size = 26,
15
+ style
16
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.default, {
17
+ viewBox: "0 0 24 24",
18
+ width: size,
19
+ height: size,
20
+ style: style,
21
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Path, {
22
+ d: "M12 22.25c-4.99 0-9.18-3.393-10.39-7.994l1.93-.512c.99 3.746 4.4 6.506 8.46 6.506s7.47-2.76 8.46-6.506l1.93.512c-1.21 4.601-5.4 7.994-10.39 7.994zM5 11.5c0 3.866 3.13 7 7 7s7-3.134 7-7V8.75c0-3.866-3.13-7-7-7s-7 3.134-7 7v2.75zm12-2.75v2.75c0 2.761-2.24 5-5 5s-5-2.239-5-5V8.75c0-2.761 2.24-5 5-5s5 2.239 5 5zM11.25 8v4.25c0 .414.34.75.75.75s.75-.336.75-.75V8c0-.414-.34-.75-.75-.75s-.75.336-.75.75zm-3 1v2.25c0 .414.34.75.75.75s.75-.336.75-.75V9c0-.414-.34-.75-.75-.75s-.75.336-.75.75zm7.5 0c0-.414-.34-.75-.75-.75s-.75.336-.75.75v2.25c0 .414.34.75.75.75s.75-.336.75-.75V9z",
23
+ fill: color
24
+ })
25
+ });
26
+ exports.LiveRoomsIcon = LiveRoomsIcon;
27
+ const LiveRoomsIconActive = ({
28
+ color = 'currentColor',
29
+ size = 26,
30
+ style
31
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.default, {
32
+ viewBox: "0 0 24 24",
33
+ width: size,
34
+ height: size,
35
+ style: style,
36
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Path, {
37
+ d: "M12 22.25c-4.99 0-9.18-3.393-10.39-7.994l1.93-.512c.99 3.746 4.4 6.506 8.46 6.506s7.47-2.76 8.46-6.506l1.93.512c-1.21 4.601-5.4 7.994-10.39 7.994zm0-20.5c-3.87 0-7 3.134-7 7v2.75c0 3.866 3.13 7 7 7s7-3.134 7-7V8.75c0-3.866-3.13-7-7-7zm-2.25 9.5c0 .414-.34.75-.75.75s-.75-.336-.75-.75V9c0-.414.34-.75.75-.75s.75.336.75.75v2.25zm3 1c0 .414-.34.75-.75.75s-.75-.336-.75-.75V8c0-.414.34-.75.75-.75s.75.336.75.75v4.25zm3-1c0 .414-.34.75-.75.75s-.75-.336-.75-.75V9c0-.414.34-.75.75-.75s.75.336.75.75v2.25z",
38
+ fill: color
39
+ })
40
+ });
41
+ exports.LiveRoomsIconActive = LiveRoomsIconActive;
42
+ //# sourceMappingURL=spaces-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNativeSvg","_interopRequireWildcard","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LiveRoomsIcon","color","size","style","jsx","viewBox","width","height","children","Path","d","fill","exports","LiveRoomsIconActive"],"sourceRoot":"../../../../../src","sources":["live/assets/icons/spaces-icon.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,uBAAA,CAAAF,OAAA;AAA6C,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAE,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAN,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA;AAGtC,MAAMmB,aAAa,GAAGA,CAAC;EAAEC,KAAK,GAAG,cAAc;EAAEC,IAAI,GAAG,EAAE;EAAEC;AAAgE,CAAC,kBAClI,IAAAvB,WAAA,CAAAwB,GAAA,EAAC1B,eAAA,CAAAa,OAAG;EAACc,OAAO,EAAC,WAAW;EAACC,KAAK,EAAEJ,IAAK;EAACK,MAAM,EAAEL,IAAK;EAACC,KAAK,EAAEA,KAAM;EAAAK,QAAA,eAC/D,IAAA5B,WAAA,CAAAwB,GAAA,EAAC1B,eAAA,CAAA+B,IAAI;IAACC,CAAC,EAAC,gkBAAgkB;IAACC,IAAI,EAAEV;EAAM,CAAE;AAAC,CACrlB,CACN;AAACW,OAAA,CAAAZ,aAAA,GAAAA,aAAA;AAEK,MAAMa,mBAAmB,GAAGA,CAAC;EAAEZ,KAAK,GAAG,cAAc;EAAEC,IAAI,GAAG,EAAE;EAAEC;AAAgE,CAAC,kBACxI,IAAAvB,WAAA,CAAAwB,GAAA,EAAC1B,eAAA,CAAAa,OAAG;EAACc,OAAO,EAAC,WAAW;EAACC,KAAK,EAAEJ,IAAK;EAACK,MAAM,EAAEL,IAAK;EAACC,KAAK,EAAEA,KAAM;EAAAK,QAAA,eAC/D,IAAA5B,WAAA,CAAAwB,GAAA,EAAC1B,eAAA,CAAA+B,IAAI;IAACC,CAAC,EAAC,ofAAof;IAACC,IAAI,EAAEV;EAAM,CAAE;AAAC,CACzgB,CACN;AAACW,OAAA,CAAAC,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SyraIconActive = exports.SyraIcon = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const SyraIcon = ({
13
+ color = 'currentColor',
14
+ size = 26,
15
+ style
16
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeSvg.default, {
17
+ viewBox: "0 0 500 500",
18
+ width: size,
19
+ height: size,
20
+ style: style,
21
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Rect, {
22
+ x: "303.35",
23
+ y: "46.22",
24
+ width: "128.77",
25
+ height: "407.56",
26
+ fill: color
27
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Rect, {
28
+ x: "153.71",
29
+ y: "88.97",
30
+ width: "106.76",
31
+ height: "322.05",
32
+ fill: color
33
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Rect, {
34
+ x: "25",
35
+ y: "131.94",
36
+ width: "86.2",
37
+ height: "236.13",
38
+ fill: color
39
+ })]
40
+ });
41
+ exports.SyraIcon = SyraIcon;
42
+ const SyraIconActive = exports.SyraIconActive = SyraIcon;
43
+ //# sourceMappingURL=syra-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNativeSvg","_interopRequireWildcard","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SyraIcon","color","size","style","jsxs","viewBox","width","height","children","jsx","Rect","x","y","fill","exports","SyraIconActive"],"sourceRoot":"../../../../../src","sources":["live/assets/icons/syra-icon.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,uBAAA,CAAAF,OAAA;AAA6C,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAE,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAN,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA;AAGtC,MAAMmB,QAAQ,GAAGA,CAAC;EAAEC,KAAK,GAAG,cAAc;EAAEC,IAAI,GAAG,EAAE;EAAEC;AAAgE,CAAC,kBAC7H,IAAAvB,WAAA,CAAAwB,IAAA,EAAC1B,eAAA,CAAAa,OAAG;EAACc,OAAO,EAAC,aAAa;EAACC,KAAK,EAAEJ,IAAK;EAACK,MAAM,EAAEL,IAAK;EAACC,KAAK,EAAEA,KAAM;EAAAK,QAAA,gBACjE,IAAA5B,WAAA,CAAA6B,GAAA,EAAC/B,eAAA,CAAAgC,IAAI;IAACC,CAAC,EAAC,QAAQ;IAACC,CAAC,EAAC,OAAO;IAACN,KAAK,EAAC,QAAQ;IAACC,MAAM,EAAC,QAAQ;IAACM,IAAI,EAAEZ;EAAM,CAAE,CAAC,eACzE,IAAArB,WAAA,CAAA6B,GAAA,EAAC/B,eAAA,CAAAgC,IAAI;IAACC,CAAC,EAAC,QAAQ;IAACC,CAAC,EAAC,OAAO;IAACN,KAAK,EAAC,QAAQ;IAACC,MAAM,EAAC,QAAQ;IAACM,IAAI,EAAEZ;EAAM,CAAE,CAAC,eACzE,IAAArB,WAAA,CAAA6B,GAAA,EAAC/B,eAAA,CAAAgC,IAAI;IAACC,CAAC,EAAC,IAAI;IAACC,CAAC,EAAC,QAAQ;IAACN,KAAK,EAAC,MAAM;IAACC,MAAM,EAAC,QAAQ;IAACM,IAAI,EAAEZ;EAAM,CAAE,CAAC;AAAA,CACjE,CACN;AAACa,OAAA,CAAAd,QAAA,GAAAA,QAAA;AAEK,MAAMe,cAAc,GAAAD,OAAA,CAAAC,cAAA,GAAGf,QAAQ","ignoreList":[]}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ROOM_TYPE_META = exports.LIVE_TINT_COLOR = exports.LIVE_FOREGROUND_COLOR = exports.LIVE_COLOR = void 0;
7
+ exports.getRoomTypeMeta = getRoomTypeMeta;
8
+ /**
9
+ * Live-rooms brand colors.
10
+ *
11
+ * These are the ONLY colors the live UI is allowed to hardcode: they carry
12
+ * meaning that must survive every host theme (the live-indicator red reads as
13
+ * "on air" in light and dark mode alike, and the room-type accents distinguish
14
+ * Stage from Broadcast at a glance). Everything else in the live components
15
+ * comes from the host's design tokens — NativeWind classNames (`bg-background`,
16
+ * `text-foreground`, `text-muted-foreground`, `border-border`, …) or, where a
17
+ * prop needs a literal color value (vector icons), the host `useTheme()` from
18
+ * `LiveConfig`.
19
+ *
20
+ * Consuming apps should import these instead of re-declaring the hex values.
21
+ */
22
+
23
+ /** The live-indicator red: LIVE badges, recording state, destructive live actions. */
24
+ const LIVE_COLOR = exports.LIVE_COLOR = '#FF4458';
25
+
26
+ /** {@link LIVE_COLOR} at ~10% alpha, for tinted surfaces behind live-colored content. */
27
+ const LIVE_TINT_COLOR = exports.LIVE_TINT_COLOR = '#FF44581A';
28
+
29
+ /** Foreground color for content sitting on {@link LIVE_COLOR}. */
30
+ const LIVE_FOREGROUND_COLOR = exports.LIVE_FOREGROUND_COLOR = '#FFFFFF';
31
+
32
+ /** Room kinds that get a type badge. `talk` is the default kind and carries none. */
33
+
34
+ const ROOM_TYPE_META = exports.ROOM_TYPE_META = {
35
+ stage: {
36
+ icon: 'account-voice',
37
+ label: 'Stage',
38
+ color: '#3B82F6',
39
+ tintColor: '#3B82F620'
40
+ },
41
+ broadcast: {
42
+ icon: 'broadcast',
43
+ label: 'Broadcast',
44
+ color: '#FF6B35',
45
+ tintColor: '#FF6B3520'
46
+ }
47
+ };
48
+
49
+ /** Badge metadata for a room kind, or `null` when the kind carries no badge (`talk`/unset). */
50
+ function getRoomTypeMeta(type) {
51
+ if (type === 'stage' || type === 'broadcast') return ROOM_TYPE_META[type];
52
+ return null;
53
+ }
54
+ //# sourceMappingURL=colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["LIVE_COLOR","exports","LIVE_TINT_COLOR","LIVE_FOREGROUND_COLOR","ROOM_TYPE_META","stage","icon","label","color","tintColor","broadcast","getRoomTypeMeta","type"],"sourceRoot":"../../../src","sources":["live/colors.ts"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACO,MAAMA,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,SAAS;;AAEnC;AACO,MAAME,eAAe,GAAAD,OAAA,CAAAC,eAAA,GAAG,WAAW;;AAE1C;AACO,MAAMC,qBAAqB,GAAAF,OAAA,CAAAE,qBAAA,GAAG,SAAS;;AAE9C;;AAaO,MAAMC,cAAoD,GAAAH,OAAA,CAAAG,cAAA,GAAG;EAClEC,KAAK,EAAE;IACLC,IAAI,EAAE,eAAe;IACrBC,KAAK,EAAE,OAAO;IACdC,KAAK,EAAE,SAAS;IAChBC,SAAS,EAAE;EACb,CAAC;EACDC,SAAS,EAAE;IACTJ,IAAI,EAAE,WAAW;IACjBC,KAAK,EAAE,WAAW;IAClBC,KAAK,EAAE,SAAS;IAChBC,SAAS,EAAE;EACb;AACF,CAAC;;AAED;AACO,SAASE,eAAeA,CAACC,IAAyC,EAAuB;EAC9F,IAAIA,IAAI,KAAK,OAAO,IAAIA,IAAI,KAAK,WAAW,EAAE,OAAOR,cAAc,CAACQ,IAAI,CAAC;EACzE,OAAO,IAAI;AACb","ignoreList":[]}