@nethesis/phone-island 1.0.6-dev.7 → 1.0.6-dev.9

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 (1414) hide show
  1. package/dist/App.js +1 -1
  2. package/dist/App.js.map +1 -1
  3. package/dist/_virtual/EBML.js +2 -0
  4. package/dist/_virtual/EBML.js.map +1 -0
  5. package/dist/_virtual/EBMLDecoder.js +2 -0
  6. package/dist/_virtual/EBMLDecoder.js.map +1 -0
  7. package/dist/_virtual/EBMLEncoder.js +2 -0
  8. package/dist/_virtual/EBMLEncoder.js.map +1 -0
  9. package/dist/_virtual/EBMLReader.js +2 -0
  10. package/dist/_virtual/EBMLReader.js.map +1 -0
  11. package/dist/_virtual/_commonjs-dynamic-modules.js +2 -0
  12. package/dist/_virtual/_commonjs-dynamic-modules.js.map +1 -0
  13. package/dist/_virtual/_commonjsHelpers.js +2 -0
  14. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  15. package/dist/_virtual/arrayLikeToArray.js +2 -0
  16. package/dist/_virtual/arrayLikeToArray.js.map +1 -0
  17. package/dist/_virtual/arrayWithHoles.js +2 -0
  18. package/dist/_virtual/arrayWithHoles.js.map +1 -0
  19. package/dist/_virtual/classCallCheck.js +2 -0
  20. package/dist/_virtual/classCallCheck.js.map +1 -0
  21. package/dist/_virtual/createClass.js +2 -0
  22. package/dist/_virtual/createClass.js.map +1 -0
  23. package/dist/_virtual/defineProperty.js +2 -0
  24. package/dist/_virtual/defineProperty.js.map +1 -0
  25. package/dist/_virtual/ebmlID.js +2 -0
  26. package/dist/_virtual/ebmlID.js.map +1 -0
  27. package/dist/_virtual/es5.js +2 -0
  28. package/dist/_virtual/es5.js.map +1 -0
  29. package/dist/_virtual/events.js +2 -0
  30. package/dist/_virtual/events.js.map +1 -0
  31. package/dist/_virtual/index.js +2 -0
  32. package/dist/_virtual/index.js.map +1 -0
  33. package/dist/_virtual/index10.js +2 -0
  34. package/dist/_virtual/index10.js.map +1 -0
  35. package/dist/_virtual/index11.js +2 -0
  36. package/dist/_virtual/index11.js.map +1 -0
  37. package/dist/_virtual/index2.js +2 -0
  38. package/dist/_virtual/index2.js.map +1 -0
  39. package/dist/_virtual/index3.js +2 -0
  40. package/dist/_virtual/index3.js.map +1 -0
  41. package/dist/_virtual/index4.js +2 -0
  42. package/dist/_virtual/index4.js.map +1 -0
  43. package/dist/_virtual/index5.js +2 -0
  44. package/dist/_virtual/index5.js.map +1 -0
  45. package/dist/_virtual/index6.js +2 -0
  46. package/dist/_virtual/index6.js.map +1 -0
  47. package/dist/_virtual/index7.js +2 -0
  48. package/dist/_virtual/index7.js.map +1 -0
  49. package/dist/_virtual/index8.js +2 -0
  50. package/dist/_virtual/index8.js.map +1 -0
  51. package/dist/_virtual/index9.js +2 -0
  52. package/dist/_virtual/index9.js.map +1 -0
  53. package/dist/_virtual/int64-buffer.js +2 -0
  54. package/dist/_virtual/int64-buffer.js.map +1 -0
  55. package/dist/_virtual/iterableToArrayLimit.js +2 -0
  56. package/dist/_virtual/iterableToArrayLimit.js.map +1 -0
  57. package/dist/_virtual/jsx-runtime.js +2 -0
  58. package/dist/_virtual/jsx-runtime.js.map +1 -0
  59. package/dist/_virtual/moment.js +2 -0
  60. package/dist/_virtual/moment.js.map +1 -0
  61. package/dist/_virtual/nonIterableRest.js +2 -0
  62. package/dist/_virtual/nonIterableRest.js.map +1 -0
  63. package/dist/_virtual/objectWithoutProperties.js +2 -0
  64. package/dist/_virtual/objectWithoutProperties.js.map +1 -0
  65. package/dist/_virtual/objectWithoutPropertiesLoose.js +2 -0
  66. package/dist/_virtual/objectWithoutPropertiesLoose.js.map +1 -0
  67. package/dist/_virtual/react-is.development.js +2 -0
  68. package/dist/_virtual/react-is.development.js.map +1 -0
  69. package/dist/_virtual/react-is.development2.js +2 -0
  70. package/dist/_virtual/react-is.development2.js.map +1 -0
  71. package/dist/_virtual/react-is.development3.js +2 -0
  72. package/dist/_virtual/react-is.development3.js.map +1 -0
  73. package/dist/_virtual/react-is.development4.js +2 -0
  74. package/dist/_virtual/react-is.development4.js.map +1 -0
  75. package/dist/_virtual/react-is.production.min.js +2 -0
  76. package/dist/_virtual/react-is.production.min.js.map +1 -0
  77. package/dist/_virtual/react-is.production.min2.js +2 -0
  78. package/dist/_virtual/react-is.production.min2.js.map +1 -0
  79. package/dist/_virtual/react-is.production.min3.js +2 -0
  80. package/dist/_virtual/react-is.production.min3.js.map +1 -0
  81. package/dist/_virtual/react-is.production.min4.js +2 -0
  82. package/dist/_virtual/react-is.production.min4.js.map +1 -0
  83. package/dist/_virtual/react-jsx-runtime.development.js +2 -0
  84. package/dist/_virtual/react-jsx-runtime.development.js.map +1 -0
  85. package/dist/_virtual/react-jsx-runtime.production.min.js +2 -0
  86. package/dist/_virtual/react-jsx-runtime.production.min.js.map +1 -0
  87. package/dist/_virtual/requestMediaPermissions.js +2 -0
  88. package/dist/_virtual/requestMediaPermissions.js.map +1 -0
  89. package/dist/_virtual/sdp.js +2 -0
  90. package/dist/_virtual/sdp.js.map +1 -0
  91. package/dist/_virtual/slicedToArray.js +2 -0
  92. package/dist/_virtual/slicedToArray.js.map +1 -0
  93. package/dist/_virtual/toPrimitive.js +2 -0
  94. package/dist/_virtual/toPrimitive.js.map +1 -0
  95. package/dist/_virtual/toPropertyKey.js +2 -0
  96. package/dist/_virtual/toPropertyKey.js.map +1 -0
  97. package/dist/_virtual/tools-ebml.js +2 -0
  98. package/dist/_virtual/tools-ebml.js.map +1 -0
  99. package/dist/_virtual/tools.js +2 -0
  100. package/dist/_virtual/tools.js.map +1 -0
  101. package/dist/_virtual/typeof.js +2 -0
  102. package/dist/_virtual/typeof.js.map +1 -0
  103. package/dist/_virtual/unitless.cjs.dev.js +2 -0
  104. package/dist/_virtual/unitless.cjs.dev.js.map +1 -0
  105. package/dist/_virtual/unitless.cjs.js +2 -0
  106. package/dist/_virtual/unitless.cjs.js.map +1 -0
  107. package/dist/_virtual/unitless.cjs.prod.js +2 -0
  108. package/dist/_virtual/unitless.cjs.prod.js.map +1 -0
  109. package/dist/_virtual/unsupportedIterableToArray.js +2 -0
  110. package/dist/_virtual/unsupportedIterableToArray.js.map +1 -0
  111. package/dist/_virtual/use-sync-external-store-shim.development.js +2 -0
  112. package/dist/_virtual/use-sync-external-store-shim.development.js.map +1 -0
  113. package/dist/_virtual/use-sync-external-store-shim.production.js +2 -0
  114. package/dist/_virtual/use-sync-external-store-shim.production.js.map +1 -0
  115. package/dist/_virtual/use-sync-external-store-with-selector.development.js +2 -0
  116. package/dist/_virtual/use-sync-external-store-with-selector.development.js.map +1 -0
  117. package/dist/_virtual/use-sync-external-store-with-selector.production.js +2 -0
  118. package/dist/_virtual/use-sync-external-store-with-selector.production.js.map +1 -0
  119. package/dist/_virtual/with-selector.development.js +2 -0
  120. package/dist/_virtual/with-selector.development.js.map +1 -0
  121. package/dist/_virtual/with-selector.js +2 -0
  122. package/dist/_virtual/with-selector.js.map +1 -0
  123. package/dist/_virtual/with-selector.production.js +2 -0
  124. package/dist/_virtual/with-selector.production.js.map +1 -0
  125. package/dist/_virtual/with-selector2.js +2 -0
  126. package/dist/_virtual/with-selector2.js.map +1 -0
  127. package/dist/components/AlertGuard.js +1 -1
  128. package/dist/components/AlertGuard.js.map +1 -1
  129. package/dist/components/AlertView/index.js +1 -1
  130. package/dist/components/AlertView/index.js.map +1 -1
  131. package/dist/components/AudioBars.js +1 -1
  132. package/dist/components/AudioBars.js.map +1 -1
  133. package/dist/components/AudioPlayerView/Avatar.js +1 -1
  134. package/dist/components/AudioPlayerView/Avatar.js.map +1 -1
  135. package/dist/components/AudioPlayerView/PlayerFooterActions.js +1 -1
  136. package/dist/components/AudioPlayerView/PlayerFooterActions.js.map +1 -1
  137. package/dist/components/AudioPlayerView/Progress.js +1 -1
  138. package/dist/components/AudioPlayerView/Progress.js.map +1 -1
  139. package/dist/components/AudioPlayerView/index.js +1 -1
  140. package/dist/components/AudioPlayerView/index.js.map +1 -1
  141. package/dist/components/AvatarGroup.js +1 -1
  142. package/dist/components/AvatarGroup.js.map +1 -1
  143. package/dist/components/Button.js +1 -1
  144. package/dist/components/Button.js.map +1 -1
  145. package/dist/components/CallView/Actions.js +1 -1
  146. package/dist/components/CallView/Actions.js.map +1 -1
  147. package/dist/components/CallView/Avatar.js +1 -1
  148. package/dist/components/CallView/Avatar.js.map +1 -1
  149. package/dist/components/CallView/BackCall.js +1 -1
  150. package/dist/components/CallView/BackCall.js.map +1 -1
  151. package/dist/components/CallView/DisplayName.js +1 -1
  152. package/dist/components/CallView/DisplayName.js.map +1 -1
  153. package/dist/components/CallView/Number.js +1 -1
  154. package/dist/components/CallView/Number.js.map +1 -1
  155. package/dist/components/CallView/Timer.js +1 -1
  156. package/dist/components/CallView/Timer.js.map +1 -1
  157. package/dist/components/CallView/index.js +1 -1
  158. package/dist/components/CallView/index.js.map +1 -1
  159. package/dist/components/ConferenceView/ConferenceUsersList.js +1 -1
  160. package/dist/components/ConferenceView/ConferenceUsersList.js.map +1 -1
  161. package/dist/components/ConferenceView/index.js +1 -1
  162. package/dist/components/ConferenceView/index.js.map +1 -1
  163. package/dist/components/ContactView/ContactListView.js +1 -1
  164. package/dist/components/ContactView/ContactListView.js.map +1 -1
  165. package/dist/components/ContactView/ListAvatar.js +1 -1
  166. package/dist/components/ContactView/ListAvatar.js.map +1 -1
  167. package/dist/components/ContactView/SelectContactNumberView.js +1 -1
  168. package/dist/components/ContactView/SelectContactNumberView.js.map +1 -1
  169. package/dist/components/ContactView/StatusBullet.js +1 -1
  170. package/dist/components/ContactView/StatusBullet.js.map +1 -1
  171. package/dist/components/ContactView/TransferActions.js +1 -1
  172. package/dist/components/ContactView/TransferActions.js.map +1 -1
  173. package/dist/components/CustomThemedTooltip.js +1 -1
  174. package/dist/components/CustomThemedTooltip.js.map +1 -1
  175. package/dist/components/Dropdown.js +1 -1
  176. package/dist/components/Dropdown.js.map +1 -1
  177. package/dist/components/Events.js +1 -1
  178. package/dist/components/Events.js.map +1 -1
  179. package/dist/components/GenericAvatar.js +1 -1
  180. package/dist/components/GenericAvatar.js.map +1 -1
  181. package/dist/components/Hangup.js +1 -1
  182. package/dist/components/Hangup.js.map +1 -1
  183. package/dist/components/Island.js +1 -1
  184. package/dist/components/Island.js.map +1 -1
  185. package/dist/components/IslandDrag.js +1 -1
  186. package/dist/components/IslandDrag.js.map +1 -1
  187. package/dist/components/IslandMotion.js +1 -1
  188. package/dist/components/IslandMotion.js.map +1 -1
  189. package/dist/components/KeypadView/Actions.js +1 -1
  190. package/dist/components/KeypadView/Actions.js.map +1 -1
  191. package/dist/components/KeypadView/index.js +1 -1
  192. package/dist/components/KeypadView/index.js.map +1 -1
  193. package/dist/components/OperatorBusyView/index.js +1 -1
  194. package/dist/components/OperatorBusyView/index.js.map +1 -1
  195. package/dist/components/PhysicalRecorderView/PhysicalRecordingTimer.js +1 -1
  196. package/dist/components/PhysicalRecorderView/PhysicalRecordingTimer.js.map +1 -1
  197. package/dist/components/PhysicalRecorderView/index.js +1 -1
  198. package/dist/components/PhysicalRecorderView/index.js.map +1 -1
  199. package/dist/components/RecorderView/Actions.js +1 -1
  200. package/dist/components/RecorderView/Actions.js.map +1 -1
  201. package/dist/components/RecorderView/BarsGroup.js +1 -1
  202. package/dist/components/RecorderView/BarsGroup.js.map +1 -1
  203. package/dist/components/RecorderView/Timer.js +1 -1
  204. package/dist/components/RecorderView/Timer.js.map +1 -1
  205. package/dist/components/RecorderView/index.js +1 -1
  206. package/dist/components/RecorderView/index.js.map +1 -1
  207. package/dist/components/RestAPI.js +1 -1
  208. package/dist/components/RestAPI.js.map +1 -1
  209. package/dist/components/SettingsView/AudioView.js +1 -1
  210. package/dist/components/SettingsView/AudioView.js.map +1 -1
  211. package/dist/components/SettingsView/MicrophoneView.js +1 -1
  212. package/dist/components/SettingsView/MicrophoneView.js.map +1 -1
  213. package/dist/components/SettingsView/SettingsHeader.js +1 -1
  214. package/dist/components/SettingsView/SettingsHeader.js.map +1 -1
  215. package/dist/components/SettingsView/ThemeView.js +1 -1
  216. package/dist/components/SettingsView/ThemeView.js.map +1 -1
  217. package/dist/components/SettingsView/VideoInputView.js +1 -1
  218. package/dist/components/SettingsView/VideoInputView.js.map +1 -1
  219. package/dist/components/SettingsView/index.js +1 -1
  220. package/dist/components/SettingsView/index.js.map +1 -1
  221. package/dist/components/SideView/SideView.js +1 -1
  222. package/dist/components/SideView/SideView.js.map +1 -1
  223. package/dist/components/SideView/components/SideViewButton.js +1 -1
  224. package/dist/components/SideView/components/SideViewButton.js.map +1 -1
  225. package/dist/components/SideView/hooks/useSideViewLogic.js +1 -1
  226. package/dist/components/SideView/hooks/useSideViewLogic.js.map +1 -1
  227. package/dist/components/Socket.js +1 -1
  228. package/dist/components/Socket.js.map +1 -1
  229. package/dist/components/StreamingAnswerView/index.js +1 -1
  230. package/dist/components/StreamingAnswerView/index.js.map +1 -1
  231. package/dist/components/StreamingImage/index.js +1 -1
  232. package/dist/components/StreamingImage/index.js.map +1 -1
  233. package/dist/components/SwitchDeviceView/index.js +1 -1
  234. package/dist/components/SwitchDeviceView/index.js.map +1 -1
  235. package/dist/components/SwitchInputView/DropdownContent.js +1 -1
  236. package/dist/components/SwitchInputView/DropdownContent.js.map +1 -1
  237. package/dist/components/SwitchInputView/Index.js +1 -1
  238. package/dist/components/TextScroll.js +1 -1
  239. package/dist/components/TextScroll.js.map +1 -1
  240. package/dist/components/TranscriptionView/TranscriptionView.js +1 -1
  241. package/dist/components/TranscriptionView/TranscriptionView.js.map +1 -1
  242. package/dist/components/TransferButton.js +1 -1
  243. package/dist/components/TransferButton.js.map +1 -1
  244. package/dist/components/VideoStreamingEmptyState/index.js +1 -1
  245. package/dist/components/VideoStreamingEmptyState/index.js.map +1 -1
  246. package/dist/components/VideoStreamingSkeleton/index.js +1 -1
  247. package/dist/components/VideoStreamingSkeleton/index.js.map +1 -1
  248. package/dist/components/VideoView/index.js +1 -1
  249. package/dist/components/VideoView/index.js.map +1 -1
  250. package/dist/components/ViewsTransition.js +1 -1
  251. package/dist/components/ViewsTransition.js.map +1 -1
  252. package/dist/components/WebRTC.js +1 -1
  253. package/dist/components/WebRTC.js.map +1 -1
  254. package/dist/events/CallEvents.js +1 -1
  255. package/dist/events/CallEvents.js.map +1 -1
  256. package/dist/events/PlayerEvents.js +1 -1
  257. package/dist/events/PlayerEvents.js.map +1 -1
  258. package/dist/events/RecorderEvents.js +1 -1
  259. package/dist/events/RecorderEvents.js.map +1 -1
  260. package/dist/events/SocketEvents.js +1 -1
  261. package/dist/events/SocketEvents.js.map +1 -1
  262. package/dist/lib/avatars/avatars.js +1 -1
  263. package/dist/lib/avatars/avatars.js.map +1 -1
  264. package/dist/lib/darkTheme.js +1 -1
  265. package/dist/lib/darkTheme.js.map +1 -1
  266. package/dist/lib/devices/devices.js +1 -1
  267. package/dist/lib/devices/devices.js.map +1 -1
  268. package/dist/lib/i18n.js +1 -1
  269. package/dist/lib/i18n.js.map +1 -1
  270. package/dist/lib/island/island.js +1 -1
  271. package/dist/lib/island/island.js.map +1 -1
  272. package/dist/lib/phone/audio.js +1 -1
  273. package/dist/lib/phone/audio.js.map +1 -1
  274. package/dist/lib/phone/call.js +1 -1
  275. package/dist/lib/phone/call.js.map +1 -1
  276. package/dist/lib/player/audio.js +1 -1
  277. package/dist/lib/player/audio.js.map +1 -1
  278. package/dist/lib/storage/local_storage.js +1 -1
  279. package/dist/lib/storage/local_storage.js.map +1 -1
  280. package/dist/lib/webrtc/messages.js +1 -1
  281. package/dist/lib/webrtc/messages.js.map +1 -1
  282. package/dist/models/alerts.js +1 -1
  283. package/dist/models/alerts.js.map +1 -1
  284. package/dist/models/audioBars.js +1 -1
  285. package/dist/models/audioBars.js.map +1 -1
  286. package/dist/models/avatars.js +1 -1
  287. package/dist/models/avatars.js.map +1 -1
  288. package/dist/models/conference.js +1 -1
  289. package/dist/models/conference.js.map +1 -1
  290. package/dist/models/currentCall.js +1 -1
  291. package/dist/models/currentCall.js.map +1 -1
  292. package/dist/models/currentUser.js +1 -1
  293. package/dist/models/currentUser.js.map +1 -1
  294. package/dist/models/darkTheme.js +1 -1
  295. package/dist/models/darkTheme.js.map +1 -1
  296. package/dist/models/fetchDefaults.js +1 -1
  297. package/dist/models/fetchDefaults.js.map +1 -1
  298. package/dist/models/island.js +1 -1
  299. package/dist/models/island.js.map +1 -1
  300. package/dist/models/listen.js +1 -1
  301. package/dist/models/listen.js.map +1 -1
  302. package/dist/models/mediaDevices.js +1 -1
  303. package/dist/models/mediaDevices.js.map +1 -1
  304. package/dist/models/motions.js +1 -1
  305. package/dist/models/motions.js.map +1 -1
  306. package/dist/models/paramUrl.js +1 -1
  307. package/dist/models/paramUrl.js.map +1 -1
  308. package/dist/models/physicalRecorder.js +1 -1
  309. package/dist/models/physicalRecorder.js.map +1 -1
  310. package/dist/models/player.js +1 -1
  311. package/dist/models/player.js.map +1 -1
  312. package/dist/models/queue.js +1 -1
  313. package/dist/models/queue.js.map +1 -1
  314. package/dist/models/recorder.js +1 -1
  315. package/dist/models/recorder.js.map +1 -1
  316. package/dist/models/ringtones.js +1 -1
  317. package/dist/models/ringtones.js.map +1 -1
  318. package/dist/models/screenShare.js +1 -1
  319. package/dist/models/screenShare.js.map +1 -1
  320. package/dist/models/streaming.js +1 -1
  321. package/dist/models/streaming.js.map +1 -1
  322. package/dist/models/users.js +1 -1
  323. package/dist/models/users.js.map +1 -1
  324. package/dist/models/webrtc.js +1 -1
  325. package/dist/models/webrtc.js.map +1 -1
  326. package/dist/models/websocket.js +1 -1
  327. package/dist/models/websocket.js.map +1 -1
  328. package/dist/node_modules/@babel/runtime/helpers/arrayLikeToArray.js +2 -0
  329. package/dist/node_modules/@babel/runtime/helpers/arrayLikeToArray.js.map +1 -0
  330. package/dist/node_modules/@babel/runtime/helpers/arrayWithHoles.js +2 -0
  331. package/dist/node_modules/@babel/runtime/helpers/arrayWithHoles.js.map +1 -0
  332. package/dist/node_modules/@babel/runtime/helpers/classCallCheck.js +2 -0
  333. package/dist/node_modules/@babel/runtime/helpers/classCallCheck.js.map +1 -0
  334. package/dist/node_modules/@babel/runtime/helpers/createClass.js +2 -0
  335. package/dist/node_modules/@babel/runtime/helpers/createClass.js.map +1 -0
  336. package/dist/node_modules/@babel/runtime/helpers/defineProperty.js +2 -0
  337. package/dist/node_modules/@babel/runtime/helpers/defineProperty.js.map +1 -0
  338. package/dist/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +2 -0
  339. package/dist/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js.map +1 -0
  340. package/dist/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js +2 -0
  341. package/dist/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js.map +1 -0
  342. package/dist/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +2 -0
  343. package/dist/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js.map +1 -0
  344. package/dist/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +2 -0
  345. package/dist/node_modules/@babel/runtime/helpers/esm/classCallCheck.js.map +1 -0
  346. package/dist/node_modules/@babel/runtime/helpers/esm/createClass.js +2 -0
  347. package/dist/node_modules/@babel/runtime/helpers/esm/createClass.js.map +1 -0
  348. package/dist/node_modules/@babel/runtime/helpers/esm/defineProperty.js +2 -0
  349. package/dist/node_modules/@babel/runtime/helpers/esm/defineProperty.js.map +1 -0
  350. package/dist/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js +2 -0
  351. package/dist/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js.map +1 -0
  352. package/dist/node_modules/@babel/runtime/helpers/esm/inherits.js +2 -0
  353. package/dist/node_modules/@babel/runtime/helpers/esm/inherits.js.map +1 -0
  354. package/dist/node_modules/@babel/runtime/helpers/esm/iterableToArray.js +2 -0
  355. package/dist/node_modules/@babel/runtime/helpers/esm/iterableToArray.js.map +1 -0
  356. package/dist/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js +2 -0
  357. package/dist/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js.map +1 -0
  358. package/dist/node_modules/@babel/runtime/helpers/esm/objectSpread2.js +2 -0
  359. package/dist/node_modules/@babel/runtime/helpers/esm/objectSpread2.js.map +1 -0
  360. package/dist/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js +2 -0
  361. package/dist/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js.map +1 -0
  362. package/dist/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +2 -0
  363. package/dist/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js.map +1 -0
  364. package/dist/node_modules/@babel/runtime/helpers/esm/toArray.js +2 -0
  365. package/dist/node_modules/@babel/runtime/helpers/esm/toArray.js.map +1 -0
  366. package/dist/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +2 -0
  367. package/dist/node_modules/@babel/runtime/helpers/esm/toPrimitive.js.map +1 -0
  368. package/dist/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +2 -0
  369. package/dist/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js.map +1 -0
  370. package/dist/node_modules/@babel/runtime/helpers/esm/typeof.js +2 -0
  371. package/dist/node_modules/@babel/runtime/helpers/esm/typeof.js.map +1 -0
  372. package/dist/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +2 -0
  373. package/dist/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js.map +1 -0
  374. package/dist/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js +2 -0
  375. package/dist/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js.map +1 -0
  376. package/dist/node_modules/@babel/runtime/helpers/nonIterableRest.js +2 -0
  377. package/dist/node_modules/@babel/runtime/helpers/nonIterableRest.js.map +1 -0
  378. package/dist/node_modules/@babel/runtime/helpers/objectWithoutProperties.js +2 -0
  379. package/dist/node_modules/@babel/runtime/helpers/objectWithoutProperties.js.map +1 -0
  380. package/dist/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js +2 -0
  381. package/dist/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js.map +1 -0
  382. package/dist/node_modules/@babel/runtime/helpers/slicedToArray.js +2 -0
  383. package/dist/node_modules/@babel/runtime/helpers/slicedToArray.js.map +1 -0
  384. package/dist/node_modules/@babel/runtime/helpers/toPrimitive.js +2 -0
  385. package/dist/node_modules/@babel/runtime/helpers/toPrimitive.js.map +1 -0
  386. package/dist/node_modules/@babel/runtime/helpers/toPropertyKey.js +2 -0
  387. package/dist/node_modules/@babel/runtime/helpers/toPropertyKey.js.map +1 -0
  388. package/dist/node_modules/@babel/runtime/helpers/typeof.js +2 -0
  389. package/dist/node_modules/@babel/runtime/helpers/typeof.js.map +1 -0
  390. package/dist/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +2 -0
  391. package/dist/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js.map +1 -0
  392. package/dist/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js +2 -0
  393. package/dist/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js.map +1 -0
  394. package/dist/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js +2 -0
  395. package/dist/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js.map +1 -0
  396. package/dist/node_modules/@emotion/stylis/dist/stylis.browser.esm.js +2 -0
  397. package/dist/node_modules/@emotion/stylis/dist/stylis.browser.esm.js.map +1 -0
  398. package/dist/node_modules/@emotion/unitless/dist/unitless.cjs.dev.js +2 -0
  399. package/dist/node_modules/@emotion/unitless/dist/unitless.cjs.dev.js.map +1 -0
  400. package/dist/node_modules/@emotion/unitless/dist/unitless.cjs.js +2 -0
  401. package/dist/node_modules/@emotion/unitless/dist/unitless.cjs.js.map +1 -0
  402. package/dist/node_modules/@emotion/unitless/dist/unitless.cjs.prod.js +2 -0
  403. package/dist/node_modules/@emotion/unitless/dist/unitless.cjs.prod.js.map +1 -0
  404. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.mjs.js +2 -0
  405. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.mjs.js.map +1 -0
  406. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs.js +2 -0
  407. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs.js.map +1 -0
  408. package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.mjs.js +2 -0
  409. package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.mjs.js.map +1 -0
  410. package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs.js +2 -0
  411. package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs.js.map +1 -0
  412. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs.js +2 -0
  413. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs.js.map +1 -0
  414. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs.js +2 -0
  415. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs.js.map +1 -0
  416. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs.js +2 -0
  417. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs.js.map +1 -0
  418. package/dist/node_modules/@fortawesome/fontawesome-svg-core/index.mjs.js +2 -0
  419. package/dist/node_modules/@fortawesome/fontawesome-svg-core/index.mjs.js.map +1 -0
  420. package/dist/node_modules/@fortawesome/free-solid-svg-icons/index.mjs.js +2 -0
  421. package/dist/node_modules/@fortawesome/free-solid-svg-icons/index.mjs.js.map +1 -0
  422. package/dist/node_modules/@fortawesome/react-fontawesome/index.es.js +2 -0
  423. package/dist/node_modules/@fortawesome/react-fontawesome/index.es.js.map +1 -0
  424. package/dist/node_modules/@headlessui/react/dist/components/description/description.js +2 -0
  425. package/dist/node_modules/@headlessui/react/dist/components/description/description.js.map +1 -0
  426. package/dist/node_modules/@headlessui/react/dist/components/keyboard.js +2 -0
  427. package/dist/node_modules/@headlessui/react/dist/components/keyboard.js.map +1 -0
  428. package/dist/node_modules/@headlessui/react/dist/components/label/label.js +2 -0
  429. package/dist/node_modules/@headlessui/react/dist/components/label/label.js.map +1 -0
  430. package/dist/node_modules/@headlessui/react/dist/components/menu/menu-machine-glue.js +2 -0
  431. package/dist/node_modules/@headlessui/react/dist/components/menu/menu-machine-glue.js.map +1 -0
  432. package/dist/node_modules/@headlessui/react/dist/components/menu/menu-machine.js +2 -0
  433. package/dist/node_modules/@headlessui/react/dist/components/menu/menu-machine.js.map +1 -0
  434. package/dist/node_modules/@headlessui/react/dist/components/menu/menu.js +2 -0
  435. package/dist/node_modules/@headlessui/react/dist/components/menu/menu.js.map +1 -0
  436. package/dist/node_modules/@headlessui/react/dist/components/mouse.js +2 -0
  437. package/dist/node_modules/@headlessui/react/dist/components/mouse.js.map +1 -0
  438. package/dist/node_modules/@headlessui/react/dist/components/portal/portal.js +2 -0
  439. package/dist/node_modules/@headlessui/react/dist/components/portal/portal.js.map +1 -0
  440. package/dist/node_modules/@headlessui/react/dist/components/transition/transition.js +2 -0
  441. package/dist/node_modules/@headlessui/react/dist/components/transition/transition.js.map +1 -0
  442. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/adjust-scrollbar-padding.js +2 -0
  443. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/adjust-scrollbar-padding.js.map +1 -0
  444. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.js +2 -0
  445. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.js.map +1 -0
  446. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.js +2 -0
  447. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.js.map +1 -0
  448. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/prevent-scroll.js +2 -0
  449. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/prevent-scroll.js.map +1 -0
  450. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/use-document-overflow.js +2 -0
  451. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/use-document-overflow.js.map +1 -0
  452. package/dist/node_modules/@headlessui/react/dist/hooks/use-active-press.js +2 -0
  453. package/dist/node_modules/@headlessui/react/dist/hooks/use-active-press.js.map +1 -0
  454. package/dist/node_modules/@headlessui/react/dist/hooks/use-disposables.js +2 -0
  455. package/dist/node_modules/@headlessui/react/dist/hooks/use-disposables.js.map +1 -0
  456. package/dist/node_modules/@headlessui/react/dist/hooks/use-document-event.js +2 -0
  457. package/dist/node_modules/@headlessui/react/dist/hooks/use-document-event.js.map +1 -0
  458. package/dist/node_modules/@headlessui/react/dist/hooks/use-element-size.js +2 -0
  459. package/dist/node_modules/@headlessui/react/dist/hooks/use-element-size.js.map +1 -0
  460. package/dist/node_modules/@headlessui/react/dist/hooks/use-event.js +2 -0
  461. package/dist/node_modules/@headlessui/react/dist/hooks/use-event.js.map +1 -0
  462. package/dist/node_modules/@headlessui/react/dist/hooks/use-flags.js +2 -0
  463. package/dist/node_modules/@headlessui/react/dist/hooks/use-flags.js.map +1 -0
  464. package/dist/node_modules/@headlessui/react/dist/hooks/use-handle-toggle.js +2 -0
  465. package/dist/node_modules/@headlessui/react/dist/hooks/use-handle-toggle.js.map +1 -0
  466. package/dist/node_modules/@headlessui/react/dist/hooks/use-inert-others.js +2 -0
  467. package/dist/node_modules/@headlessui/react/dist/hooks/use-inert-others.js.map +1 -0
  468. package/dist/node_modules/@headlessui/react/dist/hooks/use-is-mounted.js +2 -0
  469. package/dist/node_modules/@headlessui/react/dist/hooks/use-is-mounted.js.map +1 -0
  470. package/dist/node_modules/@headlessui/react/dist/hooks/use-is-top-layer.js +2 -0
  471. package/dist/node_modules/@headlessui/react/dist/hooks/use-is-top-layer.js.map +1 -0
  472. package/dist/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js +2 -0
  473. package/dist/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js.map +1 -0
  474. package/dist/node_modules/@headlessui/react/dist/hooks/use-latest-value.js +2 -0
  475. package/dist/node_modules/@headlessui/react/dist/hooks/use-latest-value.js.map +1 -0
  476. package/dist/node_modules/@headlessui/react/dist/hooks/use-on-disappear.js +2 -0
  477. package/dist/node_modules/@headlessui/react/dist/hooks/use-on-disappear.js.map +1 -0
  478. package/dist/node_modules/@headlessui/react/dist/hooks/use-on-unmount.js +2 -0
  479. package/dist/node_modules/@headlessui/react/dist/hooks/use-on-unmount.js.map +1 -0
  480. package/dist/node_modules/@headlessui/react/dist/hooks/use-outside-click.js +2 -0
  481. package/dist/node_modules/@headlessui/react/dist/hooks/use-outside-click.js.map +1 -0
  482. package/dist/node_modules/@headlessui/react/dist/hooks/use-owner.js +2 -0
  483. package/dist/node_modules/@headlessui/react/dist/hooks/use-owner.js.map +1 -0
  484. package/dist/node_modules/@headlessui/react/dist/hooks/use-quick-release.js +2 -0
  485. package/dist/node_modules/@headlessui/react/dist/hooks/use-quick-release.js.map +1 -0
  486. package/dist/node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js +2 -0
  487. package/dist/node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js.map +1 -0
  488. package/dist/node_modules/@headlessui/react/dist/hooks/use-scroll-lock.js +2 -0
  489. package/dist/node_modules/@headlessui/react/dist/hooks/use-scroll-lock.js.map +1 -0
  490. package/dist/node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js +2 -0
  491. package/dist/node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js.map +1 -0
  492. package/dist/node_modules/@headlessui/react/dist/hooks/use-slot.js +2 -0
  493. package/dist/node_modules/@headlessui/react/dist/hooks/use-slot.js.map +1 -0
  494. package/dist/node_modules/@headlessui/react/dist/hooks/use-store.js +2 -0
  495. package/dist/node_modules/@headlessui/react/dist/hooks/use-store.js.map +1 -0
  496. package/dist/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js +2 -0
  497. package/dist/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js.map +1 -0
  498. package/dist/node_modules/@headlessui/react/dist/hooks/use-text-value.js +2 -0
  499. package/dist/node_modules/@headlessui/react/dist/hooks/use-text-value.js.map +1 -0
  500. package/dist/node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.js +2 -0
  501. package/dist/node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.js.map +1 -0
  502. package/dist/node_modules/@headlessui/react/dist/hooks/use-transition.js +2 -0
  503. package/dist/node_modules/@headlessui/react/dist/hooks/use-transition.js.map +1 -0
  504. package/dist/node_modules/@headlessui/react/dist/hooks/use-tree-walker.js +2 -0
  505. package/dist/node_modules/@headlessui/react/dist/hooks/use-tree-walker.js.map +1 -0
  506. package/dist/node_modules/@headlessui/react/dist/hooks/use-window-event.js +2 -0
  507. package/dist/node_modules/@headlessui/react/dist/hooks/use-window-event.js.map +1 -0
  508. package/dist/node_modules/@headlessui/react/dist/internal/disabled.js +2 -0
  509. package/dist/node_modules/@headlessui/react/dist/internal/disabled.js.map +1 -0
  510. package/dist/node_modules/@headlessui/react/dist/internal/floating.js +2 -0
  511. package/dist/node_modules/@headlessui/react/dist/internal/floating.js.map +1 -0
  512. package/dist/node_modules/@headlessui/react/dist/internal/id.js +2 -0
  513. package/dist/node_modules/@headlessui/react/dist/internal/id.js.map +1 -0
  514. package/dist/node_modules/@headlessui/react/dist/internal/open-closed.js +2 -0
  515. package/dist/node_modules/@headlessui/react/dist/internal/open-closed.js.map +1 -0
  516. package/dist/node_modules/@headlessui/react/dist/internal/portal-force-root.js +2 -0
  517. package/dist/node_modules/@headlessui/react/dist/internal/portal-force-root.js.map +1 -0
  518. package/dist/node_modules/@headlessui/react/dist/machine.js +2 -0
  519. package/dist/node_modules/@headlessui/react/dist/machine.js.map +1 -0
  520. package/dist/node_modules/@headlessui/react/dist/machines/stack-machine.js +2 -0
  521. package/dist/node_modules/@headlessui/react/dist/machines/stack-machine.js.map +1 -0
  522. package/dist/node_modules/@headlessui/react/dist/react-glue.js +2 -0
  523. package/dist/node_modules/@headlessui/react/dist/react-glue.js.map +1 -0
  524. package/dist/node_modules/@headlessui/react/dist/utils/bugs.js +2 -0
  525. package/dist/node_modules/@headlessui/react/dist/utils/bugs.js.map +1 -0
  526. package/dist/node_modules/@headlessui/react/dist/utils/calculate-active-index.js +2 -0
  527. package/dist/node_modules/@headlessui/react/dist/utils/calculate-active-index.js.map +1 -0
  528. package/dist/node_modules/@headlessui/react/dist/utils/class-names.js +2 -0
  529. package/dist/node_modules/@headlessui/react/dist/utils/class-names.js.map +1 -0
  530. package/dist/node_modules/@headlessui/react/dist/utils/default-map.js +2 -0
  531. package/dist/node_modules/@headlessui/react/dist/utils/default-map.js.map +1 -0
  532. package/dist/node_modules/@headlessui/react/dist/utils/disposables.js +2 -0
  533. package/dist/node_modules/@headlessui/react/dist/utils/disposables.js.map +1 -0
  534. package/dist/node_modules/@headlessui/react/dist/utils/dom.js +2 -0
  535. package/dist/node_modules/@headlessui/react/dist/utils/dom.js.map +1 -0
  536. package/dist/node_modules/@headlessui/react/dist/utils/element-movement.js +2 -0
  537. package/dist/node_modules/@headlessui/react/dist/utils/element-movement.js.map +1 -0
  538. package/dist/node_modules/@headlessui/react/dist/utils/env.js +2 -0
  539. package/dist/node_modules/@headlessui/react/dist/utils/env.js.map +1 -0
  540. package/dist/node_modules/@headlessui/react/dist/utils/focus-management.js +2 -0
  541. package/dist/node_modules/@headlessui/react/dist/utils/focus-management.js.map +1 -0
  542. package/dist/node_modules/@headlessui/react/dist/utils/get-text-value.js +2 -0
  543. package/dist/node_modules/@headlessui/react/dist/utils/get-text-value.js.map +1 -0
  544. package/dist/node_modules/@headlessui/react/dist/utils/match.js +2 -0
  545. package/dist/node_modules/@headlessui/react/dist/utils/match.js.map +1 -0
  546. package/dist/node_modules/@headlessui/react/dist/utils/micro-task.js +2 -0
  547. package/dist/node_modules/@headlessui/react/dist/utils/micro-task.js.map +1 -0
  548. package/dist/node_modules/@headlessui/react/dist/utils/owner.js +2 -0
  549. package/dist/node_modules/@headlessui/react/dist/utils/owner.js.map +1 -0
  550. package/dist/node_modules/@headlessui/react/dist/utils/platform.js +2 -0
  551. package/dist/node_modules/@headlessui/react/dist/utils/platform.js.map +1 -0
  552. package/dist/node_modules/@headlessui/react/dist/utils/render.js +2 -0
  553. package/dist/node_modules/@headlessui/react/dist/utils/render.js.map +1 -0
  554. package/dist/node_modules/@headlessui/react/dist/utils/store.js +2 -0
  555. package/dist/node_modules/@headlessui/react/dist/utils/store.js.map +1 -0
  556. package/dist/node_modules/@nethesis/nethesis-solid-svg-icons/index.mjs.js +2 -0
  557. package/dist/node_modules/@nethesis/nethesis-solid-svg-icons/index.mjs.js.map +1 -0
  558. package/dist/node_modules/@react-aria/focus/dist/FocusScope.mjs.js +2 -0
  559. package/dist/node_modules/@react-aria/focus/dist/FocusScope.mjs.js.map +1 -0
  560. package/dist/node_modules/@react-aria/focus/dist/useFocusRing.mjs.js +2 -0
  561. package/dist/node_modules/@react-aria/focus/dist/useFocusRing.mjs.js.map +1 -0
  562. package/dist/node_modules/@react-aria/interactions/dist/context.mjs.js +2 -0
  563. package/dist/node_modules/@react-aria/interactions/dist/context.mjs.js.map +1 -0
  564. package/dist/node_modules/@react-aria/interactions/dist/useFocus.mjs.js +2 -0
  565. package/dist/node_modules/@react-aria/interactions/dist/useFocus.mjs.js.map +1 -0
  566. package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.mjs.js +2 -0
  567. package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.mjs.js.map +1 -0
  568. package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.mjs.js +2 -0
  569. package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.mjs.js.map +1 -0
  570. package/dist/node_modules/@react-aria/interactions/dist/useHover.mjs.js +2 -0
  571. package/dist/node_modules/@react-aria/interactions/dist/useHover.mjs.js.map +1 -0
  572. package/dist/node_modules/@react-aria/interactions/dist/utils.mjs.js +2 -0
  573. package/dist/node_modules/@react-aria/interactions/dist/utils.mjs.js.map +1 -0
  574. package/dist/node_modules/@react-aria/utils/dist/DOMFunctions.mjs.js +2 -0
  575. package/dist/node_modules/@react-aria/utils/dist/DOMFunctions.mjs.js.map +1 -0
  576. package/dist/node_modules/@react-aria/utils/dist/domHelpers.mjs.js +2 -0
  577. package/dist/node_modules/@react-aria/utils/dist/domHelpers.mjs.js.map +1 -0
  578. package/dist/node_modules/@react-aria/utils/dist/isVirtualEvent.mjs.js +2 -0
  579. package/dist/node_modules/@react-aria/utils/dist/isVirtualEvent.mjs.js.map +1 -0
  580. package/dist/node_modules/@react-aria/utils/dist/platform.mjs.js +2 -0
  581. package/dist/node_modules/@react-aria/utils/dist/platform.mjs.js.map +1 -0
  582. package/dist/node_modules/@react-aria/utils/dist/runAfterTransition.mjs.js +2 -0
  583. package/dist/node_modules/@react-aria/utils/dist/runAfterTransition.mjs.js.map +1 -0
  584. package/dist/node_modules/@react-aria/utils/dist/useEffectEvent.mjs.js +2 -0
  585. package/dist/node_modules/@react-aria/utils/dist/useEffectEvent.mjs.js.map +1 -0
  586. package/dist/node_modules/@react-aria/utils/dist/useGlobalListeners.mjs.js +2 -0
  587. package/dist/node_modules/@react-aria/utils/dist/useGlobalListeners.mjs.js.map +1 -0
  588. package/dist/node_modules/@react-aria/utils/dist/useId.mjs.js +2 -0
  589. package/dist/node_modules/@react-aria/utils/dist/useId.mjs.js.map +1 -0
  590. package/dist/node_modules/@react-aria/utils/dist/useLayoutEffect.mjs.js +2 -0
  591. package/dist/node_modules/@react-aria/utils/dist/useLayoutEffect.mjs.js.map +1 -0
  592. package/dist/node_modules/@react-stately/flags/dist/import.mjs.js +2 -0
  593. package/dist/node_modules/@react-stately/flags/dist/import.mjs.js.map +1 -0
  594. package/dist/node_modules/@rematch/core/dist/core.esm.js +2 -0
  595. package/dist/node_modules/@rematch/core/dist/core.esm.js.map +1 -0
  596. package/dist/node_modules/@rematch/immer/dist/immer.esm.js +2 -0
  597. package/dist/node_modules/@rematch/immer/dist/immer.esm.js.map +1 -0
  598. package/dist/node_modules/@rematch/select/dist/select.esm.js +2 -0
  599. package/dist/node_modules/@rematch/select/dist/select.esm.js.map +1 -0
  600. package/dist/node_modules/@socket.io/component-emitter/lib/esm/index.js +2 -0
  601. package/dist/node_modules/@socket.io/component-emitter/lib/esm/index.js.map +1 -0
  602. package/dist/node_modules/bowser/es5.js +2 -0
  603. package/dist/node_modules/bowser/es5.js.map +1 -0
  604. package/dist/node_modules/classnames/index.js +7 -0
  605. package/dist/node_modules/classnames/index.js.map +1 -0
  606. package/dist/node_modules/ebml-block/index.js +2 -0
  607. package/dist/node_modules/ebml-block/index.js.map +1 -0
  608. package/dist/node_modules/ebml-block/lib/buffer-reader.js +2 -0
  609. package/dist/node_modules/ebml-block/lib/buffer-reader.js.map +1 -0
  610. package/dist/node_modules/ebml-block/lib/vint.js +2 -0
  611. package/dist/node_modules/ebml-block/lib/vint.js.map +1 -0
  612. package/dist/node_modules/engine.io-client/build/esm/contrib/has-cors.js +2 -0
  613. package/dist/node_modules/engine.io-client/build/esm/contrib/has-cors.js.map +1 -0
  614. package/dist/node_modules/engine.io-client/build/esm/contrib/parseqs.js +2 -0
  615. package/dist/node_modules/engine.io-client/build/esm/contrib/parseqs.js.map +1 -0
  616. package/dist/node_modules/engine.io-client/build/esm/contrib/parseuri.js +2 -0
  617. package/dist/node_modules/engine.io-client/build/esm/contrib/parseuri.js.map +1 -0
  618. package/dist/node_modules/engine.io-client/build/esm/contrib/yeast.js +2 -0
  619. package/dist/node_modules/engine.io-client/build/esm/contrib/yeast.js.map +1 -0
  620. package/dist/node_modules/engine.io-client/build/esm/globalThis.browser.js +2 -0
  621. package/dist/node_modules/engine.io-client/build/esm/globalThis.browser.js.map +1 -0
  622. package/dist/node_modules/engine.io-client/build/esm/socket.js +2 -0
  623. package/dist/node_modules/engine.io-client/build/esm/socket.js.map +1 -0
  624. package/dist/node_modules/engine.io-client/build/esm/transport.js +2 -0
  625. package/dist/node_modules/engine.io-client/build/esm/transport.js.map +1 -0
  626. package/dist/node_modules/engine.io-client/build/esm/transports/index.js +2 -0
  627. package/dist/node_modules/engine.io-client/build/esm/transports/index.js.map +1 -0
  628. package/dist/node_modules/engine.io-client/build/esm/transports/polling.js +2 -0
  629. package/dist/node_modules/engine.io-client/build/esm/transports/polling.js.map +1 -0
  630. package/dist/node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js +2 -0
  631. package/dist/node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js.map +1 -0
  632. package/dist/node_modules/engine.io-client/build/esm/transports/websocket.js +2 -0
  633. package/dist/node_modules/engine.io-client/build/esm/transports/websocket.js.map +1 -0
  634. package/dist/node_modules/engine.io-client/build/esm/transports/webtransport.js +2 -0
  635. package/dist/node_modules/engine.io-client/build/esm/transports/webtransport.js.map +1 -0
  636. package/dist/node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.js +2 -0
  637. package/dist/node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.js.map +1 -0
  638. package/dist/node_modules/engine.io-client/build/esm/util.js +2 -0
  639. package/dist/node_modules/engine.io-client/build/esm/util.js.map +1 -0
  640. package/dist/node_modules/engine.io-parser/build/esm/commons.js +2 -0
  641. package/dist/node_modules/engine.io-parser/build/esm/commons.js.map +1 -0
  642. package/dist/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js +2 -0
  643. package/dist/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js.map +1 -0
  644. package/dist/node_modules/engine.io-parser/build/esm/decodePacket.browser.js +2 -0
  645. package/dist/node_modules/engine.io-parser/build/esm/decodePacket.browser.js.map +1 -0
  646. package/dist/node_modules/engine.io-parser/build/esm/encodePacket.browser.js +2 -0
  647. package/dist/node_modules/engine.io-parser/build/esm/encodePacket.browser.js.map +1 -0
  648. package/dist/node_modules/engine.io-parser/build/esm/index.js +2 -0
  649. package/dist/node_modules/engine.io-parser/build/esm/index.js.map +1 -0
  650. package/dist/node_modules/events/events.js +2 -0
  651. package/dist/node_modules/events/events.js.map +1 -0
  652. package/dist/node_modules/framer-motion/dist/es/animation/animate/single-value.mjs.js +2 -0
  653. package/dist/node_modules/framer-motion/dist/es/animation/animate/single-value.mjs.js.map +1 -0
  654. package/dist/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/get-final-keyframe.mjs.js +2 -0
  655. package/dist/node_modules/framer-motion/dist/es/animation/animators/waapi/utils/get-final-keyframe.mjs.js.map +1 -0
  656. package/dist/node_modules/framer-motion/dist/es/animation/hooks/animation-controls.mjs.js +2 -0
  657. package/dist/node_modules/framer-motion/dist/es/animation/hooks/animation-controls.mjs.js.map +1 -0
  658. package/dist/node_modules/framer-motion/dist/es/animation/hooks/use-animation.mjs.js +2 -0
  659. package/dist/node_modules/framer-motion/dist/es/animation/hooks/use-animation.mjs.js.map +1 -0
  660. package/dist/node_modules/framer-motion/dist/es/animation/interfaces/motion-value.mjs.js +2 -0
  661. package/dist/node_modules/framer-motion/dist/es/animation/interfaces/motion-value.mjs.js.map +1 -0
  662. package/dist/node_modules/framer-motion/dist/es/animation/interfaces/visual-element-target.mjs.js +2 -0
  663. package/dist/node_modules/framer-motion/dist/es/animation/interfaces/visual-element-target.mjs.js.map +1 -0
  664. package/dist/node_modules/framer-motion/dist/es/animation/interfaces/visual-element-variant.mjs.js +2 -0
  665. package/dist/node_modules/framer-motion/dist/es/animation/interfaces/visual-element-variant.mjs.js.map +1 -0
  666. package/dist/node_modules/framer-motion/dist/es/animation/interfaces/visual-element.mjs.js +2 -0
  667. package/dist/node_modules/framer-motion/dist/es/animation/interfaces/visual-element.mjs.js.map +1 -0
  668. package/dist/node_modules/framer-motion/dist/es/animation/optimized-appear/data-id.mjs.js +2 -0
  669. package/dist/node_modules/framer-motion/dist/es/animation/optimized-appear/data-id.mjs.js.map +1 -0
  670. package/dist/node_modules/framer-motion/dist/es/animation/optimized-appear/get-appear-id.mjs.js +2 -0
  671. package/dist/node_modules/framer-motion/dist/es/animation/optimized-appear/get-appear-id.mjs.js.map +1 -0
  672. package/dist/node_modules/framer-motion/dist/es/animation/utils/default-transitions.mjs.js +2 -0
  673. package/dist/node_modules/framer-motion/dist/es/animation/utils/default-transitions.mjs.js.map +1 -0
  674. package/dist/node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.mjs.js +2 -0
  675. package/dist/node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.mjs.js.map +1 -0
  676. package/dist/node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs.js +2 -0
  677. package/dist/node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs.js.map +1 -0
  678. package/dist/node_modules/framer-motion/dist/es/animation/utils/is-transition-defined.mjs.js +2 -0
  679. package/dist/node_modules/framer-motion/dist/es/animation/utils/is-transition-defined.mjs.js.map +1 -0
  680. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs.js +2 -0
  681. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs.js.map +1 -0
  682. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs.js +2 -0
  683. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs.js.map +1 -0
  684. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs.js +2 -0
  685. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs.js.map +1 -0
  686. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs.js +2 -0
  687. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs.js.map +1 -0
  688. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/utils.mjs.js +2 -0
  689. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/utils.mjs.js.map +1 -0
  690. package/dist/node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs.js +2 -0
  691. package/dist/node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs.js.map +1 -0
  692. package/dist/node_modules/framer-motion/dist/es/context/LazyContext.mjs.js +2 -0
  693. package/dist/node_modules/framer-motion/dist/es/context/LazyContext.mjs.js.map +1 -0
  694. package/dist/node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs.js +2 -0
  695. package/dist/node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs.js.map +1 -0
  696. package/dist/node_modules/framer-motion/dist/es/context/MotionContext/create.mjs.js +2 -0
  697. package/dist/node_modules/framer-motion/dist/es/context/MotionContext/create.mjs.js.map +1 -0
  698. package/dist/node_modules/framer-motion/dist/es/context/MotionContext/index.mjs.js +2 -0
  699. package/dist/node_modules/framer-motion/dist/es/context/MotionContext/index.mjs.js.map +1 -0
  700. package/dist/node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs.js +2 -0
  701. package/dist/node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs.js.map +1 -0
  702. package/dist/node_modules/framer-motion/dist/es/context/PresenceContext.mjs.js +2 -0
  703. package/dist/node_modules/framer-motion/dist/es/context/PresenceContext.mjs.js.map +1 -0
  704. package/dist/node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs.js +2 -0
  705. package/dist/node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs.js.map +1 -0
  706. package/dist/node_modules/framer-motion/dist/es/events/add-dom-event.mjs.js +2 -0
  707. package/dist/node_modules/framer-motion/dist/es/events/add-dom-event.mjs.js.map +1 -0
  708. package/dist/node_modules/framer-motion/dist/es/events/add-pointer-event.mjs.js +2 -0
  709. package/dist/node_modules/framer-motion/dist/es/events/add-pointer-event.mjs.js.map +1 -0
  710. package/dist/node_modules/framer-motion/dist/es/events/event-info.mjs.js +2 -0
  711. package/dist/node_modules/framer-motion/dist/es/events/event-info.mjs.js.map +1 -0
  712. package/dist/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs.js +2 -0
  713. package/dist/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs.js.map +1 -0
  714. package/dist/node_modules/framer-motion/dist/es/gestures/drag/index.mjs.js +2 -0
  715. package/dist/node_modules/framer-motion/dist/es/gestures/drag/index.mjs.js.map +1 -0
  716. package/dist/node_modules/framer-motion/dist/es/gestures/drag/use-drag-controls.mjs.js +2 -0
  717. package/dist/node_modules/framer-motion/dist/es/gestures/drag/use-drag-controls.mjs.js.map +1 -0
  718. package/dist/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs.js +2 -0
  719. package/dist/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs.js.map +1 -0
  720. package/dist/node_modules/framer-motion/dist/es/gestures/focus.mjs.js +2 -0
  721. package/dist/node_modules/framer-motion/dist/es/gestures/focus.mjs.js.map +1 -0
  722. package/dist/node_modules/framer-motion/dist/es/gestures/hover.mjs.js +2 -0
  723. package/dist/node_modules/framer-motion/dist/es/gestures/hover.mjs.js.map +1 -0
  724. package/dist/node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs.js +2 -0
  725. package/dist/node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs.js.map +1 -0
  726. package/dist/node_modules/framer-motion/dist/es/gestures/pan/index.mjs.js +2 -0
  727. package/dist/node_modules/framer-motion/dist/es/gestures/pan/index.mjs.js.map +1 -0
  728. package/dist/node_modules/framer-motion/dist/es/gestures/press.mjs.js +2 -0
  729. package/dist/node_modules/framer-motion/dist/es/gestures/press.mjs.js.map +1 -0
  730. package/dist/node_modules/framer-motion/dist/es/motion/features/Feature.mjs.js +2 -0
  731. package/dist/node_modules/framer-motion/dist/es/motion/features/Feature.mjs.js.map +1 -0
  732. package/dist/node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs.js +2 -0
  733. package/dist/node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs.js.map +1 -0
  734. package/dist/node_modules/framer-motion/dist/es/motion/features/animation/index.mjs.js +2 -0
  735. package/dist/node_modules/framer-motion/dist/es/motion/features/animation/index.mjs.js.map +1 -0
  736. package/dist/node_modules/framer-motion/dist/es/motion/features/animations.mjs.js +2 -0
  737. package/dist/node_modules/framer-motion/dist/es/motion/features/animations.mjs.js.map +1 -0
  738. package/dist/node_modules/framer-motion/dist/es/motion/features/definitions.mjs.js +2 -0
  739. package/dist/node_modules/framer-motion/dist/es/motion/features/definitions.mjs.js.map +1 -0
  740. package/dist/node_modules/framer-motion/dist/es/motion/features/drag.mjs.js +2 -0
  741. package/dist/node_modules/framer-motion/dist/es/motion/features/drag.mjs.js.map +1 -0
  742. package/dist/node_modules/framer-motion/dist/es/motion/features/gestures.mjs.js +2 -0
  743. package/dist/node_modules/framer-motion/dist/es/motion/features/gestures.mjs.js.map +1 -0
  744. package/dist/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs.js +2 -0
  745. package/dist/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs.js.map +1 -0
  746. package/dist/node_modules/framer-motion/dist/es/motion/features/layout.mjs.js +2 -0
  747. package/dist/node_modules/framer-motion/dist/es/motion/features/layout.mjs.js.map +1 -0
  748. package/dist/node_modules/framer-motion/dist/es/motion/features/load-features.mjs.js +2 -0
  749. package/dist/node_modules/framer-motion/dist/es/motion/features/load-features.mjs.js.map +1 -0
  750. package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs.js +2 -0
  751. package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs.js.map +1 -0
  752. package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs.js +2 -0
  753. package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs.js.map +1 -0
  754. package/dist/node_modules/framer-motion/dist/es/motion/index.mjs.js +2 -0
  755. package/dist/node_modules/framer-motion/dist/es/motion/index.mjs.js.map +1 -0
  756. package/dist/node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs.js +2 -0
  757. package/dist/node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs.js.map +1 -0
  758. package/dist/node_modules/framer-motion/dist/es/motion/utils/symbol.mjs.js +2 -0
  759. package/dist/node_modules/framer-motion/dist/es/motion/utils/symbol.mjs.js.map +1 -0
  760. package/dist/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs.js +2 -0
  761. package/dist/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs.js.map +1 -0
  762. package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs.js +2 -0
  763. package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs.js.map +1 -0
  764. package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs.js +2 -0
  765. package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs.js.map +1 -0
  766. package/dist/node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs.js +2 -0
  767. package/dist/node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs.js.map +1 -0
  768. package/dist/node_modules/framer-motion/dist/es/projection/animation/mix-values.mjs.js +2 -0
  769. package/dist/node_modules/framer-motion/dist/es/projection/animation/mix-values.mjs.js.map +1 -0
  770. package/dist/node_modules/framer-motion/dist/es/projection/geometry/conversion.mjs.js +2 -0
  771. package/dist/node_modules/framer-motion/dist/es/projection/geometry/conversion.mjs.js.map +1 -0
  772. package/dist/node_modules/framer-motion/dist/es/projection/geometry/copy.mjs.js +2 -0
  773. package/dist/node_modules/framer-motion/dist/es/projection/geometry/copy.mjs.js.map +1 -0
  774. package/dist/node_modules/framer-motion/dist/es/projection/geometry/delta-apply.mjs.js +2 -0
  775. package/dist/node_modules/framer-motion/dist/es/projection/geometry/delta-apply.mjs.js.map +1 -0
  776. package/dist/node_modules/framer-motion/dist/es/projection/geometry/delta-calc.mjs.js +2 -0
  777. package/dist/node_modules/framer-motion/dist/es/projection/geometry/delta-calc.mjs.js.map +1 -0
  778. package/dist/node_modules/framer-motion/dist/es/projection/geometry/delta-remove.mjs.js +2 -0
  779. package/dist/node_modules/framer-motion/dist/es/projection/geometry/delta-remove.mjs.js.map +1 -0
  780. package/dist/node_modules/framer-motion/dist/es/projection/geometry/models.mjs.js +2 -0
  781. package/dist/node_modules/framer-motion/dist/es/projection/geometry/models.mjs.js.map +1 -0
  782. package/dist/node_modules/framer-motion/dist/es/projection/geometry/utils.mjs.js +2 -0
  783. package/dist/node_modules/framer-motion/dist/es/projection/geometry/utils.mjs.js.map +1 -0
  784. package/dist/node_modules/framer-motion/dist/es/projection/node/DocumentProjectionNode.mjs.js +2 -0
  785. package/dist/node_modules/framer-motion/dist/es/projection/node/DocumentProjectionNode.mjs.js.map +1 -0
  786. package/dist/node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs.js +2 -0
  787. package/dist/node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs.js.map +1 -0
  788. package/dist/node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs.js +2 -0
  789. package/dist/node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs.js.map +1 -0
  790. package/dist/node_modules/framer-motion/dist/es/projection/node/state.mjs.js +2 -0
  791. package/dist/node_modules/framer-motion/dist/es/projection/node/state.mjs.js.map +1 -0
  792. package/dist/node_modules/framer-motion/dist/es/projection/shared/stack.mjs.js +2 -0
  793. package/dist/node_modules/framer-motion/dist/es/projection/shared/stack.mjs.js.map +1 -0
  794. package/dist/node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs.js +2 -0
  795. package/dist/node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs.js.map +1 -0
  796. package/dist/node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs.js +2 -0
  797. package/dist/node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs.js.map +1 -0
  798. package/dist/node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs.js +2 -0
  799. package/dist/node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs.js.map +1 -0
  800. package/dist/node_modules/framer-motion/dist/es/projection/styles/transform.mjs.js +2 -0
  801. package/dist/node_modules/framer-motion/dist/es/projection/styles/transform.mjs.js.map +1 -0
  802. package/dist/node_modules/framer-motion/dist/es/projection/utils/each-axis.mjs.js +2 -0
  803. package/dist/node_modules/framer-motion/dist/es/projection/utils/each-axis.mjs.js.map +1 -0
  804. package/dist/node_modules/framer-motion/dist/es/projection/utils/has-transform.mjs.js +2 -0
  805. package/dist/node_modules/framer-motion/dist/es/projection/utils/has-transform.mjs.js.map +1 -0
  806. package/dist/node_modules/framer-motion/dist/es/projection/utils/measure.mjs.js +2 -0
  807. package/dist/node_modules/framer-motion/dist/es/projection/utils/measure.mjs.js.map +1 -0
  808. package/dist/node_modules/framer-motion/dist/es/render/VisualElement.mjs.js +2 -0
  809. package/dist/node_modules/framer-motion/dist/es/render/VisualElement.mjs.js.map +1 -0
  810. package/dist/node_modules/framer-motion/dist/es/render/components/create-factory.mjs.js +2 -0
  811. package/dist/node_modules/framer-motion/dist/es/render/components/create-factory.mjs.js.map +1 -0
  812. package/dist/node_modules/framer-motion/dist/es/render/components/create-proxy.mjs.js +2 -0
  813. package/dist/node_modules/framer-motion/dist/es/render/components/create-proxy.mjs.js.map +1 -0
  814. package/dist/node_modules/framer-motion/dist/es/render/components/motion/create.mjs.js +2 -0
  815. package/dist/node_modules/framer-motion/dist/es/render/components/motion/create.mjs.js.map +1 -0
  816. package/dist/node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs.js +2 -0
  817. package/dist/node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs.js.map +1 -0
  818. package/dist/node_modules/framer-motion/dist/es/render/dom/DOMVisualElement.mjs.js +2 -0
  819. package/dist/node_modules/framer-motion/dist/es/render/dom/DOMVisualElement.mjs.js.map +1 -0
  820. package/dist/node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs.js +2 -0
  821. package/dist/node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs.js.map +1 -0
  822. package/dist/node_modules/framer-motion/dist/es/render/dom/use-render.mjs.js +2 -0
  823. package/dist/node_modules/framer-motion/dist/es/render/dom/use-render.mjs.js.map +1 -0
  824. package/dist/node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs.js +2 -0
  825. package/dist/node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs.js.map +1 -0
  826. package/dist/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs.js +2 -0
  827. package/dist/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs.js.map +1 -0
  828. package/dist/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs.js +2 -0
  829. package/dist/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs.js.map +1 -0
  830. package/dist/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-element.mjs.js +2 -0
  831. package/dist/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-element.mjs.js.map +1 -0
  832. package/dist/node_modules/framer-motion/dist/es/render/html/HTMLVisualElement.mjs.js +2 -0
  833. package/dist/node_modules/framer-motion/dist/es/render/html/HTMLVisualElement.mjs.js.map +1 -0
  834. package/dist/node_modules/framer-motion/dist/es/render/html/config-motion.mjs.js +2 -0
  835. package/dist/node_modules/framer-motion/dist/es/render/html/config-motion.mjs.js.map +1 -0
  836. package/dist/node_modules/framer-motion/dist/es/render/html/use-props.mjs.js +2 -0
  837. package/dist/node_modules/framer-motion/dist/es/render/html/use-props.mjs.js.map +1 -0
  838. package/dist/node_modules/framer-motion/dist/es/render/html/utils/build-styles.mjs.js +2 -0
  839. package/dist/node_modules/framer-motion/dist/es/render/html/utils/build-styles.mjs.js.map +1 -0
  840. package/dist/node_modules/framer-motion/dist/es/render/html/utils/build-transform.mjs.js +2 -0
  841. package/dist/node_modules/framer-motion/dist/es/render/html/utils/build-transform.mjs.js.map +1 -0
  842. package/dist/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs.js +2 -0
  843. package/dist/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs.js.map +1 -0
  844. package/dist/node_modules/framer-motion/dist/es/render/html/utils/render.mjs.js +2 -0
  845. package/dist/node_modules/framer-motion/dist/es/render/html/utils/render.mjs.js.map +1 -0
  846. package/dist/node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs.js +2 -0
  847. package/dist/node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs.js.map +1 -0
  848. package/dist/node_modules/framer-motion/dist/es/render/store.mjs.js +2 -0
  849. package/dist/node_modules/framer-motion/dist/es/render/store.mjs.js.map +1 -0
  850. package/dist/node_modules/framer-motion/dist/es/render/svg/SVGVisualElement.mjs.js +2 -0
  851. package/dist/node_modules/framer-motion/dist/es/render/svg/SVGVisualElement.mjs.js.map +1 -0
  852. package/dist/node_modules/framer-motion/dist/es/render/svg/config-motion.mjs.js +2 -0
  853. package/dist/node_modules/framer-motion/dist/es/render/svg/config-motion.mjs.js.map +1 -0
  854. package/dist/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs.js +2 -0
  855. package/dist/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs.js.map +1 -0
  856. package/dist/node_modules/framer-motion/dist/es/render/svg/use-props.mjs.js +2 -0
  857. package/dist/node_modules/framer-motion/dist/es/render/svg/use-props.mjs.js.map +1 -0
  858. package/dist/node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.mjs.js +2 -0
  859. package/dist/node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.mjs.js.map +1 -0
  860. package/dist/node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs.js +2 -0
  861. package/dist/node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs.js.map +1 -0
  862. package/dist/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs.js +2 -0
  863. package/dist/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs.js.map +1 -0
  864. package/dist/node_modules/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs.js +2 -0
  865. package/dist/node_modules/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs.js.map +1 -0
  866. package/dist/node_modules/framer-motion/dist/es/render/svg/utils/path.mjs.js +2 -0
  867. package/dist/node_modules/framer-motion/dist/es/render/svg/utils/path.mjs.js.map +1 -0
  868. package/dist/node_modules/framer-motion/dist/es/render/svg/utils/render.mjs.js +2 -0
  869. package/dist/node_modules/framer-motion/dist/es/render/svg/utils/render.mjs.js.map +1 -0
  870. package/dist/node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs.js +2 -0
  871. package/dist/node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs.js.map +1 -0
  872. package/dist/node_modules/framer-motion/dist/es/render/utils/animation-state.mjs.js +2 -0
  873. package/dist/node_modules/framer-motion/dist/es/render/utils/animation-state.mjs.js.map +1 -0
  874. package/dist/node_modules/framer-motion/dist/es/render/utils/compare-by-depth.mjs.js +2 -0
  875. package/dist/node_modules/framer-motion/dist/es/render/utils/compare-by-depth.mjs.js.map +1 -0
  876. package/dist/node_modules/framer-motion/dist/es/render/utils/flat-tree.mjs.js +2 -0
  877. package/dist/node_modules/framer-motion/dist/es/render/utils/flat-tree.mjs.js.map +1 -0
  878. package/dist/node_modules/framer-motion/dist/es/render/utils/get-variant-context.mjs.js +2 -0
  879. package/dist/node_modules/framer-motion/dist/es/render/utils/get-variant-context.mjs.js.map +1 -0
  880. package/dist/node_modules/framer-motion/dist/es/render/utils/is-controlling-variants.mjs.js +2 -0
  881. package/dist/node_modules/framer-motion/dist/es/render/utils/is-controlling-variants.mjs.js.map +1 -0
  882. package/dist/node_modules/framer-motion/dist/es/render/utils/is-variant-label.mjs.js +2 -0
  883. package/dist/node_modules/framer-motion/dist/es/render/utils/is-variant-label.mjs.js.map +1 -0
  884. package/dist/node_modules/framer-motion/dist/es/render/utils/motion-values.mjs.js +2 -0
  885. package/dist/node_modules/framer-motion/dist/es/render/utils/motion-values.mjs.js.map +1 -0
  886. package/dist/node_modules/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs.js +2 -0
  887. package/dist/node_modules/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs.js.map +1 -0
  888. package/dist/node_modules/framer-motion/dist/es/render/utils/resolve-variants.mjs.js +2 -0
  889. package/dist/node_modules/framer-motion/dist/es/render/utils/resolve-variants.mjs.js.map +1 -0
  890. package/dist/node_modules/framer-motion/dist/es/render/utils/setters.mjs.js +2 -0
  891. package/dist/node_modules/framer-motion/dist/es/render/utils/setters.mjs.js.map +1 -0
  892. package/dist/node_modules/framer-motion/dist/es/render/utils/variant-props.mjs.js +2 -0
  893. package/dist/node_modules/framer-motion/dist/es/render/utils/variant-props.mjs.js.map +1 -0
  894. package/dist/node_modules/framer-motion/dist/es/utils/delay.mjs.js +2 -0
  895. package/dist/node_modules/framer-motion/dist/es/utils/delay.mjs.js.map +1 -0
  896. package/dist/node_modules/framer-motion/dist/es/utils/distance.mjs.js +2 -0
  897. package/dist/node_modules/framer-motion/dist/es/utils/distance.mjs.js.map +1 -0
  898. package/dist/node_modules/framer-motion/dist/es/utils/get-context-window.mjs.js +2 -0
  899. package/dist/node_modules/framer-motion/dist/es/utils/get-context-window.mjs.js.map +1 -0
  900. package/dist/node_modules/framer-motion/dist/es/utils/is-browser.mjs.js +2 -0
  901. package/dist/node_modules/framer-motion/dist/es/utils/is-browser.mjs.js.map +1 -0
  902. package/dist/node_modules/framer-motion/dist/es/utils/is-ref-object.mjs.js +2 -0
  903. package/dist/node_modules/framer-motion/dist/es/utils/is-ref-object.mjs.js.map +1 -0
  904. package/dist/node_modules/framer-motion/dist/es/utils/reduced-motion/index.mjs.js +2 -0
  905. package/dist/node_modules/framer-motion/dist/es/utils/reduced-motion/index.mjs.js.map +1 -0
  906. package/dist/node_modules/framer-motion/dist/es/utils/reduced-motion/state.mjs.js +2 -0
  907. package/dist/node_modules/framer-motion/dist/es/utils/reduced-motion/state.mjs.js.map +1 -0
  908. package/dist/node_modules/framer-motion/dist/es/utils/shallow-compare.mjs.js +2 -0
  909. package/dist/node_modules/framer-motion/dist/es/utils/shallow-compare.mjs.js.map +1 -0
  910. package/dist/node_modules/framer-motion/dist/es/utils/use-constant.mjs.js +2 -0
  911. package/dist/node_modules/framer-motion/dist/es/utils/use-constant.mjs.js.map +1 -0
  912. package/dist/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs.js +2 -0
  913. package/dist/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs.js.map +1 -0
  914. package/dist/node_modules/framer-motion/dist/es/value/use-will-change/add-will-change.mjs.js +2 -0
  915. package/dist/node_modules/framer-motion/dist/es/value/use-will-change/add-will-change.mjs.js.map +1 -0
  916. package/dist/node_modules/framer-motion/dist/es/value/use-will-change/is.mjs.js +2 -0
  917. package/dist/node_modules/framer-motion/dist/es/value/use-will-change/is.mjs.js.map +1 -0
  918. package/dist/node_modules/framer-motion/dist/es/value/utils/is-motion-value.mjs.js +2 -0
  919. package/dist/node_modules/framer-motion/dist/es/value/utils/is-motion-value.mjs.js.map +1 -0
  920. package/dist/node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.mjs.js +2 -0
  921. package/dist/node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.mjs.js.map +1 -0
  922. package/dist/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js +2 -0
  923. package/dist/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js.map +1 -0
  924. package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js +10 -0
  925. package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  926. package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js +10 -0
  927. package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
  928. package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +2 -0
  929. package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/index.js.map +1 -0
  930. package/dist/node_modules/html-parse-stringify/dist/html-parse-stringify.js +2 -0
  931. package/dist/node_modules/html-parse-stringify/dist/html-parse-stringify.js.map +1 -0
  932. package/dist/node_modules/i18next/dist/esm/i18next.js +2 -0
  933. package/dist/node_modules/i18next/dist/esm/i18next.js.map +1 -0
  934. package/dist/node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js +2 -0
  935. package/dist/node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js.map +1 -0
  936. package/dist/node_modules/immer/dist/immer.esm.mjs.js +2 -0
  937. package/dist/node_modules/immer/dist/immer.esm.mjs.js.map +1 -0
  938. package/dist/node_modules/int64-buffer/int64-buffer.js +2 -0
  939. package/dist/node_modules/int64-buffer/int64-buffer.js.map +1 -0
  940. package/dist/node_modules/js-base64/base64.mjs.js +2 -0
  941. package/dist/node_modules/js-base64/base64.mjs.js.map +1 -0
  942. package/dist/node_modules/lodash/_Symbol.js +2 -0
  943. package/dist/node_modules/lodash/_Symbol.js.map +1 -0
  944. package/dist/node_modules/lodash/_baseGetTag.js +2 -0
  945. package/dist/node_modules/lodash/_baseGetTag.js.map +1 -0
  946. package/dist/node_modules/lodash/_baseTrim.js +2 -0
  947. package/dist/node_modules/lodash/_baseTrim.js.map +1 -0
  948. package/dist/node_modules/lodash/_freeGlobal.js +2 -0
  949. package/dist/node_modules/lodash/_freeGlobal.js.map +1 -0
  950. package/dist/node_modules/lodash/_getRawTag.js +2 -0
  951. package/dist/node_modules/lodash/_getRawTag.js.map +1 -0
  952. package/dist/node_modules/lodash/_objectToString.js +2 -0
  953. package/dist/node_modules/lodash/_objectToString.js.map +1 -0
  954. package/dist/node_modules/lodash/_root.js +2 -0
  955. package/dist/node_modules/lodash/_root.js.map +1 -0
  956. package/dist/node_modules/lodash/_trimmedEndIndex.js +2 -0
  957. package/dist/node_modules/lodash/_trimmedEndIndex.js.map +1 -0
  958. package/dist/node_modules/lodash/debounce.js +2 -0
  959. package/dist/node_modules/lodash/debounce.js.map +1 -0
  960. package/dist/node_modules/lodash/isObject.js +2 -0
  961. package/dist/node_modules/lodash/isObject.js.map +1 -0
  962. package/dist/node_modules/lodash/isObjectLike.js +2 -0
  963. package/dist/node_modules/lodash/isObjectLike.js.map +1 -0
  964. package/dist/node_modules/lodash/isSymbol.js +2 -0
  965. package/dist/node_modules/lodash/isSymbol.js.map +1 -0
  966. package/dist/node_modules/lodash/now.js +2 -0
  967. package/dist/node_modules/lodash/now.js.map +1 -0
  968. package/dist/node_modules/lodash/toNumber.js +2 -0
  969. package/dist/node_modules/lodash/toNumber.js.map +1 -0
  970. package/dist/node_modules/mic-check/lib/index.js +2 -0
  971. package/dist/node_modules/mic-check/lib/index.js.map +1 -0
  972. package/dist/node_modules/mic-check/lib/requestMediaPermissions.js +2 -0
  973. package/dist/node_modules/mic-check/lib/requestMediaPermissions.js.map +1 -0
  974. package/dist/node_modules/moment/moment.js +4 -0
  975. package/dist/node_modules/moment/moment.js.map +1 -0
  976. package/dist/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs.js +2 -0
  977. package/dist/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs.js.map +1 -0
  978. package/dist/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs.js +2 -0
  979. package/dist/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs.js.map +1 -0
  980. package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs.js +2 -0
  981. package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs.js.map +1 -0
  982. package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs.js +2 -0
  983. package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs.js.map +1 -0
  984. package/dist/node_modules/motion-dom/dist/es/animation/drivers/driver-frameloop.mjs.js +2 -0
  985. package/dist/node_modules/motion-dom/dist/es/animation/drivers/driver-frameloop.mjs.js.map +1 -0
  986. package/dist/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs.js +2 -0
  987. package/dist/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs.js.map +1 -0
  988. package/dist/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs.js +2 -0
  989. package/dist/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs.js.map +1 -0
  990. package/dist/node_modules/motion-dom/dist/es/animation/generators/spring/defaults.mjs.js +2 -0
  991. package/dist/node_modules/motion-dom/dist/es/animation/generators/spring/defaults.mjs.js.map +1 -0
  992. package/dist/node_modules/motion-dom/dist/es/animation/generators/spring/find.mjs.js +2 -0
  993. package/dist/node_modules/motion-dom/dist/es/animation/generators/spring/find.mjs.js.map +1 -0
  994. package/dist/node_modules/motion-dom/dist/es/animation/generators/spring/index.mjs.js +2 -0
  995. package/dist/node_modules/motion-dom/dist/es/animation/generators/spring/index.mjs.js.map +1 -0
  996. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs.js +2 -0
  997. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs.js.map +1 -0
  998. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs.js +2 -0
  999. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs.js.map +1 -0
  1000. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs.js +2 -0
  1001. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs.js.map +1 -0
  1002. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs.js +2 -0
  1003. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs.js.map +1 -0
  1004. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs.js +2 -0
  1005. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs.js.map +1 -0
  1006. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs.js +2 -0
  1007. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs.js.map +1 -0
  1008. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs.js +2 -0
  1009. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs.js.map +1 -0
  1010. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs.js +2 -0
  1011. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs.js.map +1 -0
  1012. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs.js +2 -0
  1013. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs.js.map +1 -0
  1014. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs.js +2 -0
  1015. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs.js.map +1 -0
  1016. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs.js +2 -0
  1017. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs.js.map +1 -0
  1018. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs.js +2 -0
  1019. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs.js.map +1 -0
  1020. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs.js +2 -0
  1021. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs.js.map +1 -0
  1022. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs.js +2 -0
  1023. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs.js.map +1 -0
  1024. package/dist/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs.js +2 -0
  1025. package/dist/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs.js.map +1 -0
  1026. package/dist/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs.js +2 -0
  1027. package/dist/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs.js.map +1 -0
  1028. package/dist/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs.js +2 -0
  1029. package/dist/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs.js.map +1 -0
  1030. package/dist/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs.js +2 -0
  1031. package/dist/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs.js.map +1 -0
  1032. package/dist/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs.js +2 -0
  1033. package/dist/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs.js.map +1 -0
  1034. package/dist/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs.js +2 -0
  1035. package/dist/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs.js.map +1 -0
  1036. package/dist/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs.js +2 -0
  1037. package/dist/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs.js.map +1 -0
  1038. package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs.js +2 -0
  1039. package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs.js.map +1 -0
  1040. package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs.js +2 -0
  1041. package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs.js.map +1 -0
  1042. package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs.js +2 -0
  1043. package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs.js.map +1 -0
  1044. package/dist/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs.js +2 -0
  1045. package/dist/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs.js.map +1 -0
  1046. package/dist/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs.js +2 -0
  1047. package/dist/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs.js.map +1 -0
  1048. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs.js +2 -0
  1049. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs.js.map +1 -0
  1050. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs.js +2 -0
  1051. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs.js.map +1 -0
  1052. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs.js +2 -0
  1053. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs.js.map +1 -0
  1054. package/dist/node_modules/motion-dom/dist/es/frameloop/batcher.mjs.js +2 -0
  1055. package/dist/node_modules/motion-dom/dist/es/frameloop/batcher.mjs.js.map +1 -0
  1056. package/dist/node_modules/motion-dom/dist/es/frameloop/frame.mjs.js +2 -0
  1057. package/dist/node_modules/motion-dom/dist/es/frameloop/frame.mjs.js.map +1 -0
  1058. package/dist/node_modules/motion-dom/dist/es/frameloop/microtask.mjs.js +2 -0
  1059. package/dist/node_modules/motion-dom/dist/es/frameloop/microtask.mjs.js.map +1 -0
  1060. package/dist/node_modules/motion-dom/dist/es/frameloop/order.mjs.js +2 -0
  1061. package/dist/node_modules/motion-dom/dist/es/frameloop/order.mjs.js.map +1 -0
  1062. package/dist/node_modules/motion-dom/dist/es/frameloop/render-step.mjs.js +2 -0
  1063. package/dist/node_modules/motion-dom/dist/es/frameloop/render-step.mjs.js.map +1 -0
  1064. package/dist/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs.js +2 -0
  1065. package/dist/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs.js.map +1 -0
  1066. package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs.js +2 -0
  1067. package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs.js.map +1 -0
  1068. package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs.js +2 -0
  1069. package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs.js.map +1 -0
  1070. package/dist/node_modules/motion-dom/dist/es/gestures/hover.mjs.js +2 -0
  1071. package/dist/node_modules/motion-dom/dist/es/gestures/hover.mjs.js.map +1 -0
  1072. package/dist/node_modules/motion-dom/dist/es/gestures/press/index.mjs.js +2 -0
  1073. package/dist/node_modules/motion-dom/dist/es/gestures/press/index.mjs.js.map +1 -0
  1074. package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs.js +2 -0
  1075. package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs.js.map +1 -0
  1076. package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs.js +2 -0
  1077. package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs.js.map +1 -0
  1078. package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs.js +2 -0
  1079. package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs.js.map +1 -0
  1080. package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs.js +2 -0
  1081. package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs.js.map +1 -0
  1082. package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs.js +2 -0
  1083. package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs.js.map +1 -0
  1084. package/dist/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs.js +2 -0
  1085. package/dist/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs.js.map +1 -0
  1086. package/dist/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs.js +2 -0
  1087. package/dist/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs.js.map +1 -0
  1088. package/dist/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs.js +2 -0
  1089. package/dist/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs.js.map +1 -0
  1090. package/dist/node_modules/motion-dom/dist/es/render/dom/style-set.mjs.js +2 -0
  1091. package/dist/node_modules/motion-dom/dist/es/render/dom/style-set.mjs.js.map +1 -0
  1092. package/dist/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs.js +2 -0
  1093. package/dist/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs.js.map +1 -0
  1094. package/dist/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs.js +2 -0
  1095. package/dist/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs.js.map +1 -0
  1096. package/dist/node_modules/motion-dom/dist/es/stats/buffer.mjs.js +2 -0
  1097. package/dist/node_modules/motion-dom/dist/es/stats/buffer.mjs.js.map +1 -0
  1098. package/dist/node_modules/motion-dom/dist/es/utils/interpolate.mjs.js +2 -0
  1099. package/dist/node_modules/motion-dom/dist/es/utils/interpolate.mjs.js.map +1 -0
  1100. package/dist/node_modules/motion-dom/dist/es/utils/mix/color.mjs.js +2 -0
  1101. package/dist/node_modules/motion-dom/dist/es/utils/mix/color.mjs.js.map +1 -0
  1102. package/dist/node_modules/motion-dom/dist/es/utils/mix/complex.mjs.js +2 -0
  1103. package/dist/node_modules/motion-dom/dist/es/utils/mix/complex.mjs.js.map +1 -0
  1104. package/dist/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs.js +2 -0
  1105. package/dist/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs.js.map +1 -0
  1106. package/dist/node_modules/motion-dom/dist/es/utils/mix/index.mjs.js +2 -0
  1107. package/dist/node_modules/motion-dom/dist/es/utils/mix/index.mjs.js.map +1 -0
  1108. package/dist/node_modules/motion-dom/dist/es/utils/mix/number.mjs.js +2 -0
  1109. package/dist/node_modules/motion-dom/dist/es/utils/mix/number.mjs.js.map +1 -0
  1110. package/dist/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs.js +2 -0
  1111. package/dist/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs.js.map +1 -0
  1112. package/dist/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs.js +2 -0
  1113. package/dist/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs.js.map +1 -0
  1114. package/dist/node_modules/motion-dom/dist/es/utils/supports/flags.mjs.js +2 -0
  1115. package/dist/node_modules/motion-dom/dist/es/utils/supports/flags.mjs.js.map +1 -0
  1116. package/dist/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs.js +2 -0
  1117. package/dist/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs.js.map +1 -0
  1118. package/dist/node_modules/motion-dom/dist/es/utils/supports/memo.mjs.js +2 -0
  1119. package/dist/node_modules/motion-dom/dist/es/utils/supports/memo.mjs.js.map +1 -0
  1120. package/dist/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs.js +2 -0
  1121. package/dist/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs.js.map +1 -0
  1122. package/dist/node_modules/motion-dom/dist/es/value/index.mjs.js +2 -0
  1123. package/dist/node_modules/motion-dom/dist/es/value/index.mjs.js.map +1 -0
  1124. package/dist/node_modules/motion-dom/dist/es/value/types/auto.mjs.js +2 -0
  1125. package/dist/node_modules/motion-dom/dist/es/value/types/auto.mjs.js.map +1 -0
  1126. package/dist/node_modules/motion-dom/dist/es/value/types/color/hex.mjs.js +2 -0
  1127. package/dist/node_modules/motion-dom/dist/es/value/types/color/hex.mjs.js.map +1 -0
  1128. package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs.js +2 -0
  1129. package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs.js.map +1 -0
  1130. package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs.js +2 -0
  1131. package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs.js.map +1 -0
  1132. package/dist/node_modules/motion-dom/dist/es/value/types/color/index.mjs.js +2 -0
  1133. package/dist/node_modules/motion-dom/dist/es/value/types/color/index.mjs.js.map +1 -0
  1134. package/dist/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs.js +2 -0
  1135. package/dist/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs.js.map +1 -0
  1136. package/dist/node_modules/motion-dom/dist/es/value/types/color/utils.mjs.js +2 -0
  1137. package/dist/node_modules/motion-dom/dist/es/value/types/color/utils.mjs.js.map +1 -0
  1138. package/dist/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs.js +2 -0
  1139. package/dist/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs.js.map +1 -0
  1140. package/dist/node_modules/motion-dom/dist/es/value/types/complex/index.mjs.js +2 -0
  1141. package/dist/node_modules/motion-dom/dist/es/value/types/complex/index.mjs.js.map +1 -0
  1142. package/dist/node_modules/motion-dom/dist/es/value/types/dimensions.mjs.js +2 -0
  1143. package/dist/node_modules/motion-dom/dist/es/value/types/dimensions.mjs.js.map +1 -0
  1144. package/dist/node_modules/motion-dom/dist/es/value/types/int.mjs.js +2 -0
  1145. package/dist/node_modules/motion-dom/dist/es/value/types/int.mjs.js.map +1 -0
  1146. package/dist/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs.js +2 -0
  1147. package/dist/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs.js.map +1 -0
  1148. package/dist/node_modules/motion-dom/dist/es/value/types/maps/number.mjs.js +2 -0
  1149. package/dist/node_modules/motion-dom/dist/es/value/types/maps/number.mjs.js.map +1 -0
  1150. package/dist/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs.js +2 -0
  1151. package/dist/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs.js.map +1 -0
  1152. package/dist/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs.js +2 -0
  1153. package/dist/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs.js.map +1 -0
  1154. package/dist/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs.js +2 -0
  1155. package/dist/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs.js.map +1 -0
  1156. package/dist/node_modules/motion-dom/dist/es/value/types/test.mjs.js +2 -0
  1157. package/dist/node_modules/motion-dom/dist/es/value/types/test.mjs.js.map +1 -0
  1158. package/dist/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs.js +2 -0
  1159. package/dist/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs.js.map +1 -0
  1160. package/dist/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs.js +2 -0
  1161. package/dist/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs.js.map +1 -0
  1162. package/dist/node_modules/motion-dom/dist/es/value/types/utils/find.mjs.js +2 -0
  1163. package/dist/node_modules/motion-dom/dist/es/value/types/utils/find.mjs.js.map +1 -0
  1164. package/dist/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs.js +2 -0
  1165. package/dist/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs.js.map +1 -0
  1166. package/dist/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs.js +2 -0
  1167. package/dist/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs.js.map +1 -0
  1168. package/dist/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs.js +2 -0
  1169. package/dist/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs.js.map +1 -0
  1170. package/dist/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs.js +2 -0
  1171. package/dist/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs.js.map +1 -0
  1172. package/dist/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs.js +2 -0
  1173. package/dist/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs.js.map +1 -0
  1174. package/dist/node_modules/motion-utils/dist/es/array.mjs.js +2 -0
  1175. package/dist/node_modules/motion-utils/dist/es/array.mjs.js.map +1 -0
  1176. package/dist/node_modules/motion-utils/dist/es/clamp.mjs.js +2 -0
  1177. package/dist/node_modules/motion-utils/dist/es/clamp.mjs.js.map +1 -0
  1178. package/dist/node_modules/motion-utils/dist/es/easing/anticipate.mjs.js +2 -0
  1179. package/dist/node_modules/motion-utils/dist/es/easing/anticipate.mjs.js.map +1 -0
  1180. package/dist/node_modules/motion-utils/dist/es/easing/back.mjs.js +2 -0
  1181. package/dist/node_modules/motion-utils/dist/es/easing/back.mjs.js.map +1 -0
  1182. package/dist/node_modules/motion-utils/dist/es/easing/circ.mjs.js +2 -0
  1183. package/dist/node_modules/motion-utils/dist/es/easing/circ.mjs.js.map +1 -0
  1184. package/dist/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs.js +2 -0
  1185. package/dist/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs.js.map +1 -0
  1186. package/dist/node_modules/motion-utils/dist/es/easing/ease.mjs.js +2 -0
  1187. package/dist/node_modules/motion-utils/dist/es/easing/ease.mjs.js.map +1 -0
  1188. package/dist/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs.js +2 -0
  1189. package/dist/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs.js.map +1 -0
  1190. package/dist/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs.js +2 -0
  1191. package/dist/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs.js.map +1 -0
  1192. package/dist/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs.js +2 -0
  1193. package/dist/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs.js.map +1 -0
  1194. package/dist/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs.js +2 -0
  1195. package/dist/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs.js.map +1 -0
  1196. package/dist/node_modules/motion-utils/dist/es/easing/utils/map.mjs.js +2 -0
  1197. package/dist/node_modules/motion-utils/dist/es/easing/utils/map.mjs.js.map +1 -0
  1198. package/dist/node_modules/motion-utils/dist/es/errors.mjs.js +2 -0
  1199. package/dist/node_modules/motion-utils/dist/es/errors.mjs.js.map +1 -0
  1200. package/dist/node_modules/motion-utils/dist/es/global-config.mjs.js +2 -0
  1201. package/dist/node_modules/motion-utils/dist/es/global-config.mjs.js.map +1 -0
  1202. package/dist/node_modules/motion-utils/dist/es/is-numerical-string.mjs.js +2 -0
  1203. package/dist/node_modules/motion-utils/dist/es/is-numerical-string.mjs.js.map +1 -0
  1204. package/dist/node_modules/motion-utils/dist/es/is-zero-value-string.mjs.js +2 -0
  1205. package/dist/node_modules/motion-utils/dist/es/is-zero-value-string.mjs.js.map +1 -0
  1206. package/dist/node_modules/motion-utils/dist/es/memo.mjs.js +2 -0
  1207. package/dist/node_modules/motion-utils/dist/es/memo.mjs.js.map +1 -0
  1208. package/dist/node_modules/motion-utils/dist/es/noop.mjs.js +2 -0
  1209. package/dist/node_modules/motion-utils/dist/es/noop.mjs.js.map +1 -0
  1210. package/dist/node_modules/motion-utils/dist/es/pipe.mjs.js +2 -0
  1211. package/dist/node_modules/motion-utils/dist/es/pipe.mjs.js.map +1 -0
  1212. package/dist/node_modules/motion-utils/dist/es/progress.mjs.js +2 -0
  1213. package/dist/node_modules/motion-utils/dist/es/progress.mjs.js.map +1 -0
  1214. package/dist/node_modules/motion-utils/dist/es/subscription-manager.mjs.js +2 -0
  1215. package/dist/node_modules/motion-utils/dist/es/subscription-manager.mjs.js.map +1 -0
  1216. package/dist/node_modules/motion-utils/dist/es/time-conversion.mjs.js +2 -0
  1217. package/dist/node_modules/motion-utils/dist/es/time-conversion.mjs.js.map +1 -0
  1218. package/dist/node_modules/motion-utils/dist/es/velocity-per-second.mjs.js +2 -0
  1219. package/dist/node_modules/motion-utils/dist/es/velocity-per-second.mjs.js.map +1 -0
  1220. package/dist/node_modules/motion-utils/dist/es/warn-once.mjs.js +2 -0
  1221. package/dist/node_modules/motion-utils/dist/es/warn-once.mjs.js.map +1 -0
  1222. package/dist/node_modules/object-assign/index.js +8 -0
  1223. package/dist/node_modules/object-assign/index.js.map +1 -0
  1224. package/dist/node_modules/prop-types/checkPropTypes.js +2 -0
  1225. package/dist/node_modules/prop-types/checkPropTypes.js.map +1 -0
  1226. package/dist/node_modules/prop-types/factoryWithThrowingShims.js +2 -0
  1227. package/dist/node_modules/prop-types/factoryWithThrowingShims.js.map +1 -0
  1228. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js +2 -0
  1229. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -0
  1230. package/dist/node_modules/prop-types/index.js +2 -0
  1231. package/dist/node_modules/prop-types/index.js.map +1 -0
  1232. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js +2 -0
  1233. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +1 -0
  1234. package/dist/node_modules/prop-types/lib/has.js +2 -0
  1235. package/dist/node_modules/prop-types/lib/has.js.map +1 -0
  1236. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +10 -0
  1237. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  1238. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +10 -0
  1239. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
  1240. package/dist/node_modules/prop-types/node_modules/react-is/index.js +2 -0
  1241. package/dist/node_modules/prop-types/node_modules/react-is/index.js.map +1 -0
  1242. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js +11 -0
  1243. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js.map +1 -0
  1244. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js +11 -0
  1245. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js.map +1 -0
  1246. package/dist/node_modules/react/jsx-runtime.js +2 -0
  1247. package/dist/node_modules/react/jsx-runtime.js.map +1 -0
  1248. package/dist/node_modules/react-i18next/dist/es/context.js +2 -0
  1249. package/dist/node_modules/react-i18next/dist/es/context.js.map +1 -0
  1250. package/dist/node_modules/react-i18next/dist/es/defaults.js +2 -0
  1251. package/dist/node_modules/react-i18next/dist/es/defaults.js.map +1 -0
  1252. package/dist/node_modules/react-i18next/dist/es/i18nInstance.js +2 -0
  1253. package/dist/node_modules/react-i18next/dist/es/i18nInstance.js.map +1 -0
  1254. package/dist/node_modules/react-i18next/dist/es/initReactI18next.js +2 -0
  1255. package/dist/node_modules/react-i18next/dist/es/initReactI18next.js.map +1 -0
  1256. package/dist/node_modules/react-i18next/dist/es/unescape.js +2 -0
  1257. package/dist/node_modules/react-i18next/dist/es/unescape.js.map +1 -0
  1258. package/dist/node_modules/react-i18next/dist/es/useTranslation.js +2 -0
  1259. package/dist/node_modules/react-i18next/dist/es/useTranslation.js.map +1 -0
  1260. package/dist/node_modules/react-i18next/dist/es/utils.js +2 -0
  1261. package/dist/node_modules/react-i18next/dist/es/utils.js.map +1 -0
  1262. package/dist/node_modules/react-is/cjs/react-is.development.js +10 -0
  1263. package/dist/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  1264. package/dist/node_modules/react-is/cjs/react-is.production.min.js +10 -0
  1265. package/dist/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
  1266. package/dist/node_modules/react-is/index.js +2 -0
  1267. package/dist/node_modules/react-is/index.js.map +1 -0
  1268. package/dist/node_modules/react-moment/dist/index.js +12 -0
  1269. package/dist/node_modules/react-moment/dist/index.js.map +1 -0
  1270. package/dist/node_modules/react-redux/es/components/Context.js +2 -0
  1271. package/dist/node_modules/react-redux/es/components/Context.js.map +1 -0
  1272. package/dist/node_modules/react-redux/es/components/Provider.js +2 -0
  1273. package/dist/node_modules/react-redux/es/components/Provider.js.map +1 -0
  1274. package/dist/node_modules/react-redux/es/hooks/useDispatch.js +2 -0
  1275. package/dist/node_modules/react-redux/es/hooks/useDispatch.js.map +1 -0
  1276. package/dist/node_modules/react-redux/es/hooks/useReduxContext.js +2 -0
  1277. package/dist/node_modules/react-redux/es/hooks/useReduxContext.js.map +1 -0
  1278. package/dist/node_modules/react-redux/es/hooks/useSelector.js +2 -0
  1279. package/dist/node_modules/react-redux/es/hooks/useSelector.js.map +1 -0
  1280. package/dist/node_modules/react-redux/es/hooks/useStore.js +2 -0
  1281. package/dist/node_modules/react-redux/es/hooks/useStore.js.map +1 -0
  1282. package/dist/node_modules/react-redux/es/index.js +2 -0
  1283. package/dist/node_modules/react-redux/es/index.js.map +1 -0
  1284. package/dist/node_modules/react-redux/es/utils/Subscription.js +2 -0
  1285. package/dist/node_modules/react-redux/es/utils/Subscription.js.map +1 -0
  1286. package/dist/node_modules/react-redux/es/utils/batch.js +2 -0
  1287. package/dist/node_modules/react-redux/es/utils/batch.js.map +1 -0
  1288. package/dist/node_modules/react-redux/es/utils/shallowEqual.js +2 -0
  1289. package/dist/node_modules/react-redux/es/utils/shallowEqual.js.map +1 -0
  1290. package/dist/node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js +2 -0
  1291. package/dist/node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js.map +1 -0
  1292. package/dist/node_modules/react-redux/es/utils/useSyncExternalStore.js +2 -0
  1293. package/dist/node_modules/react-redux/es/utils/useSyncExternalStore.js.map +1 -0
  1294. package/dist/node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js +11 -0
  1295. package/dist/node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  1296. package/dist/node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js +11 -0
  1297. package/dist/node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
  1298. package/dist/node_modules/react-redux/node_modules/react-is/index.js +2 -0
  1299. package/dist/node_modules/react-redux/node_modules/react-is/index.js.map +1 -0
  1300. package/dist/node_modules/react-tooltip/dist/react-tooltip.min.mjs.js +8 -0
  1301. package/dist/node_modules/react-tooltip/dist/react-tooltip.min.mjs.js.map +1 -0
  1302. package/dist/node_modules/redux/es/redux.js +2 -0
  1303. package/dist/node_modules/redux/es/redux.js.map +1 -0
  1304. package/dist/node_modules/reselect/es/defaultMemoize.js +2 -0
  1305. package/dist/node_modules/reselect/es/defaultMemoize.js.map +1 -0
  1306. package/dist/node_modules/reselect/es/index.js +2 -0
  1307. package/dist/node_modules/reselect/es/index.js.map +1 -0
  1308. package/dist/node_modules/sdp/sdp.js +2 -0
  1309. package/dist/node_modules/sdp/sdp.js.map +1 -0
  1310. package/dist/node_modules/socket.io-client/build/esm/contrib/backo2.js +2 -0
  1311. package/dist/node_modules/socket.io-client/build/esm/contrib/backo2.js.map +1 -0
  1312. package/dist/node_modules/socket.io-client/build/esm/index.js +2 -0
  1313. package/dist/node_modules/socket.io-client/build/esm/index.js.map +1 -0
  1314. package/dist/node_modules/socket.io-client/build/esm/manager.js +2 -0
  1315. package/dist/node_modules/socket.io-client/build/esm/manager.js.map +1 -0
  1316. package/dist/node_modules/socket.io-client/build/esm/on.js +2 -0
  1317. package/dist/node_modules/socket.io-client/build/esm/on.js.map +1 -0
  1318. package/dist/node_modules/socket.io-client/build/esm/socket.js +2 -0
  1319. package/dist/node_modules/socket.io-client/build/esm/socket.js.map +1 -0
  1320. package/dist/node_modules/socket.io-client/build/esm/url.js +2 -0
  1321. package/dist/node_modules/socket.io-client/build/esm/url.js.map +1 -0
  1322. package/dist/node_modules/socket.io-parser/build/esm/binary.js +2 -0
  1323. package/dist/node_modules/socket.io-parser/build/esm/binary.js.map +1 -0
  1324. package/dist/node_modules/socket.io-parser/build/esm/index.js +2 -0
  1325. package/dist/node_modules/socket.io-parser/build/esm/index.js.map +1 -0
  1326. package/dist/node_modules/socket.io-parser/build/esm/is-binary.js +2 -0
  1327. package/dist/node_modules/socket.io-parser/build/esm/is-binary.js.map +1 -0
  1328. package/dist/node_modules/styled-components/dist/styled-components.browser.esm.js +2 -0
  1329. package/dist/node_modules/styled-components/dist/styled-components.browser.esm.js.map +1 -0
  1330. package/dist/node_modules/tslib/tslib.es6.js +2 -0
  1331. package/dist/node_modules/tslib/tslib.es6.js.map +1 -0
  1332. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +11 -0
  1333. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +1 -0
  1334. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js +11 -0
  1335. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js.map +1 -0
  1336. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +11 -0
  1337. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -0
  1338. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +11 -0
  1339. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +1 -0
  1340. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js +11 -0
  1341. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js.map +1 -0
  1342. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js +11 -0
  1343. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js.map +1 -0
  1344. package/dist/node_modules/use-sync-external-store/shim/index.js +2 -0
  1345. package/dist/node_modules/use-sync-external-store/shim/index.js.map +1 -0
  1346. package/dist/node_modules/use-sync-external-store/shim/with-selector.js +2 -0
  1347. package/dist/node_modules/use-sync-external-store/shim/with-selector.js.map +1 -0
  1348. package/dist/node_modules/use-sync-external-store/with-selector.js +2 -0
  1349. package/dist/node_modules/use-sync-external-store/with-selector.js.map +1 -0
  1350. package/dist/node_modules/void-elements/index.js +2 -0
  1351. package/dist/node_modules/void-elements/index.js.map +1 -0
  1352. package/dist/node_modules/webm-duration-fix/lib/ebml/EBML.js +2 -0
  1353. package/dist/node_modules/webm-duration-fix/lib/ebml/EBML.js.map +1 -0
  1354. package/dist/node_modules/webm-duration-fix/lib/ebml/EBMLDecoder.js +2 -0
  1355. package/dist/node_modules/webm-duration-fix/lib/ebml/EBMLDecoder.js.map +1 -0
  1356. package/dist/node_modules/webm-duration-fix/lib/ebml/EBMLEncoder.js +2 -0
  1357. package/dist/node_modules/webm-duration-fix/lib/ebml/EBMLEncoder.js.map +1 -0
  1358. package/dist/node_modules/webm-duration-fix/lib/ebml/EBMLReader.js +2 -0
  1359. package/dist/node_modules/webm-duration-fix/lib/ebml/EBMLReader.js.map +1 -0
  1360. package/dist/node_modules/webm-duration-fix/lib/ebml/ebmlID.js +2 -0
  1361. package/dist/node_modules/webm-duration-fix/lib/ebml/ebmlID.js.map +1 -0
  1362. package/dist/node_modules/webm-duration-fix/lib/ebml/index.js +2 -0
  1363. package/dist/node_modules/webm-duration-fix/lib/ebml/index.js.map +1 -0
  1364. package/dist/node_modules/webm-duration-fix/lib/ebml/tools-ebml.js +2 -0
  1365. package/dist/node_modules/webm-duration-fix/lib/ebml/tools-ebml.js.map +1 -0
  1366. package/dist/node_modules/webm-duration-fix/lib/ebml/tools.js +2 -0
  1367. package/dist/node_modules/webm-duration-fix/lib/ebml/tools.js.map +1 -0
  1368. package/dist/node_modules/webm-duration-fix/lib/index.js +2 -0
  1369. package/dist/node_modules/webm-duration-fix/lib/index.js.map +1 -0
  1370. package/dist/node_modules/webrtc-adapter/src/js/adapter_core.js +2 -0
  1371. package/dist/node_modules/webrtc-adapter/src/js/adapter_core.js.map +1 -0
  1372. package/dist/node_modules/webrtc-adapter/src/js/adapter_factory.js +2 -0
  1373. package/dist/node_modules/webrtc-adapter/src/js/adapter_factory.js.map +1 -0
  1374. package/dist/node_modules/webrtc-adapter/src/js/chrome/chrome_shim.js +2 -0
  1375. package/dist/node_modules/webrtc-adapter/src/js/chrome/chrome_shim.js.map +1 -0
  1376. package/dist/node_modules/webrtc-adapter/src/js/chrome/getusermedia.js +2 -0
  1377. package/dist/node_modules/webrtc-adapter/src/js/chrome/getusermedia.js.map +1 -0
  1378. package/dist/node_modules/webrtc-adapter/src/js/common_shim.js +2 -0
  1379. package/dist/node_modules/webrtc-adapter/src/js/common_shim.js.map +1 -0
  1380. package/dist/node_modules/webrtc-adapter/src/js/firefox/firefox_shim.js +2 -0
  1381. package/dist/node_modules/webrtc-adapter/src/js/firefox/firefox_shim.js.map +1 -0
  1382. package/dist/node_modules/webrtc-adapter/src/js/firefox/getdisplaymedia.js +2 -0
  1383. package/dist/node_modules/webrtc-adapter/src/js/firefox/getdisplaymedia.js.map +1 -0
  1384. package/dist/node_modules/webrtc-adapter/src/js/firefox/getusermedia.js +2 -0
  1385. package/dist/node_modules/webrtc-adapter/src/js/firefox/getusermedia.js.map +1 -0
  1386. package/dist/node_modules/webrtc-adapter/src/js/safari/safari_shim.js +2 -0
  1387. package/dist/node_modules/webrtc-adapter/src/js/safari/safari_shim.js.map +1 -0
  1388. package/dist/node_modules/webrtc-adapter/src/js/utils.js +2 -0
  1389. package/dist/node_modules/webrtc-adapter/src/js/utils.js.map +1 -0
  1390. package/dist/package.json.js +1 -1
  1391. package/dist/services/astproxy.js +1 -1
  1392. package/dist/services/astproxy.js.map +1 -1
  1393. package/dist/services/history_call.js +1 -1
  1394. package/dist/services/history_call.js.map +1 -1
  1395. package/dist/services/offhour.js +1 -1
  1396. package/dist/services/offhour.js.map +1 -1
  1397. package/dist/services/phonebook.js +1 -1
  1398. package/dist/services/phonebook.js.map +1 -1
  1399. package/dist/services/user.js +1 -1
  1400. package/dist/services/user.js.map +1 -1
  1401. package/dist/services/voicemail.js +1 -1
  1402. package/dist/services/voicemail.js.map +1 -1
  1403. package/dist/static/dtmf/index.js.map +1 -1
  1404. package/dist/store/index.js +1 -1
  1405. package/dist/store/index.js.map +1 -1
  1406. package/dist/styles/CustomRange.styles.js +1 -1
  1407. package/dist/styles/CustomRange.styles.js.map +1 -1
  1408. package/dist/styles/Island.styles.js +1 -1
  1409. package/dist/styles/Island.styles.js.map +1 -1
  1410. package/dist/utils/genericFunctions/checkConnection.js +1 -1
  1411. package/dist/utils/genericFunctions/checkConnection.js.map +1 -1
  1412. package/dist/utils/streaming/streamingUtils.js +1 -1
  1413. package/dist/utils/streaming/streamingUtils.js.map +1 -1
  1414. package/package.json +3 -5
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/VideoView/index.tsx"],"sourcesContent":["// Copyright (C) 2025 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC, useEffect, useRef, useState } from 'react'\nimport { Button } from '../Button'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { Dispatch, RootState, store } from '../../store'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faCompress,\n faDisplay,\n faExpand,\n faMicrophone,\n faMicrophoneSlash,\n faPause,\n faPlay,\n faStop,\n faVideo,\n faVideoSlash,\n} from '@fortawesome/free-solid-svg-icons'\nimport { t } from 'i18next'\nimport { eventDispatch, useEventListener, useIsomorphicLayoutEffect } from '../../utils'\nimport Hangup from '../Hangup'\nimport {\n muteCurrentCall,\n pauseCurrentCall,\n recordCurrentCall,\n unmuteCurrentCall,\n unpauseCurrentCall,\n} from '../../lib/phone/call'\nimport { JanusTrack, JanusTypes } from '../../types/webrtc'\nimport JanusLib from '../../lib/webrtc/janus.js'\nimport Avatar from '../CallView/Avatar'\nimport Timer from '../CallView/Timer'\nimport { isPhysical } from '../../lib/user/default_device'\nimport { AudioBars } from '../AudioBars'\nimport { CustomThemedTooltip } from '../CustomThemedTooltip'\nimport { faDisplaySlash, faRecord } from '@nethesis/nethesis-solid-svg-icons'\nimport { getCurrentVideoInputDeviceId } from '../../lib/devices/devices'\nimport { getInitials } from '../../lib/avatars/avatars'\nimport { checkWebCamPermission } from '../../lib/devices/devices'\n\nexport interface VideoViewProps {}\n\nexport type ScreenSharingMessage = {\n message: 'screenSharingStart' | 'screenSharingStop'\n roomId: string\n destUser: string\n callUser: string\n}\n\nexport const VideoView: FC<VideoViewProps> = () => {\n const dispatch = useDispatch<Dispatch>()\n const {\n muted,\n startTime,\n isRecording,\n paused,\n isLocalVideoEnabled,\n showRemoteVideoPlaceHolder,\n hasVideoTrackAdded,\n displayName,\n isStartingVideoCall,\n } = useSelector((state: RootState) => state.currentCall)\n const {\n localTracks,\n localVideos,\n role: screenShareRole,\n active: screenShareActive,\n isStartingScreenShare,\n isJoiningScreenShare,\n isLeavingScreenShare,\n } = useSelector((state: RootState) => state.screenShare)\n const intrudeListenStatus = useSelector((state: RootState) => state.listen)\n const { isOpen } = useSelector((state: RootState) => state.island)\n const { janusInstance, remoteAudioStream } = useSelector((state: RootState) => state.webrtc)\n const userInfo = store.getState().currentUser\n const [isFullscreen, setIsFullscreen] = useState(false)\n const [isUiShown, setUiShown] = useState(false)\n const uiTimeoutRef = useRef<NodeJS.Timeout | null>(null)\n const debounceTimerRef = useRef<NodeJS.Timeout | null>(null)\n const screenShareViewRef = useRef(null)\n const localScreen = useRef<HTMLVideoElement>(null)\n const remoteScreen = useRef<HTMLVideoElement>(null)\n const localVideo = useRef<HTMLVideoElement>(null)\n const largeRemoteVideo = useRef<HTMLVideoElement>(null)\n const smallRemoteVideo = useRef<HTMLVideoElement>(null)\n const janus = useRef<JanusTypes>(JanusLib)\n const videoInputDevices = store.select.mediaDevices.videoInputDevices(store.getState())\n\n useIsomorphicLayoutEffect(() => {\n dispatch.player.updatePlayer({\n localScreen: localScreen,\n remoteScreen: remoteScreen,\n localVideo: localVideo,\n largeRemoteVideo: largeRemoteVideo,\n smallRemoteVideo: smallRemoteVideo,\n })\n }, [])\n\n // component did mount\n useEffect(() => {\n updateScreenStreams()\n updateVideoStreams()\n\n // register for full screen change\n addEventListener('fullscreenchange', handleFullscreenChange)\n\n return () => {\n removeEventListener('fullscreenchange', handleFullscreenChange)\n\n // clear timeout\n if (uiTimeoutRef.current) {\n clearTimeout(uiTimeoutRef.current)\n }\n }\n }, [])\n\n // starting videocall\n useEffect(() => {\n if (isStartingVideoCall) {\n enableVideo()\n dispatch.currentCall.updateCurrentCall({\n isStartingVideoCall: false,\n })\n }\n }, [isStartingVideoCall])\n\n // starting screen sharing\n useEffect(() => {\n if (isStartingScreenShare) {\n initAndStartScreenShare()\n store.dispatch.screenShare.update({\n isStartingScreenShare: false,\n })\n }\n }, [isStartingScreenShare])\n\n // joining screen sharing\n useEffect(() => {\n if (isJoiningScreenShare) {\n initAndJoinScreenShare()\n store.dispatch.screenShare.update({\n isJoiningScreenShare: false,\n })\n }\n }, [isJoiningScreenShare])\n\n // leaving screen sharing\n useEffect(() => {\n if (isLeavingScreenShare) {\n leaveScreenShare()\n store.dispatch.screenShare.update({\n isLeavingScreenShare: false,\n })\n }\n }, [isLeavingScreenShare])\n\n // isOpen changed\n useEffect(() => {\n updateScreenStreams()\n updateVideoStreams()\n }, [isOpen])\n\n const updateVideoStreams = () => {\n const localVideoElement = store.getState().player.localVideo\n const largeRemoteVideoElement = store.getState().player.largeRemoteVideo\n const smallRemoteVideoElement = store.getState().player.smallRemoteVideo\n const { localVideoStream, remoteVideoStream } = store.getState().webrtc\n\n // local video stream\n\n if (localVideoElement?.current) {\n if (janus.current.attachMediaStream) {\n janus.current.attachMediaStream(localVideoElement.current, localVideoStream as MediaStream)\n }\n }\n\n // large remote video stream\n\n if (largeRemoteVideoElement?.current && janus.current.attachMediaStream) {\n janus.current.attachMediaStream(\n largeRemoteVideoElement.current,\n remoteVideoStream as MediaStream,\n )\n }\n\n // small remote video stream\n\n if (smallRemoteVideoElement?.current && janus.current.attachMediaStream) {\n janus.current.attachMediaStream(\n smallRemoteVideoElement.current,\n remoteVideoStream as MediaStream,\n )\n }\n }\n\n const handleFullscreenChange = () => {\n setIsFullscreen(!!document.fullscreenElement)\n }\n\n const toggleFullScreen = () => {\n if (document.fullscreenElement) {\n // exit full screen\n document.exitFullscreen()\n eventDispatch('phone-island-fullscreen-exited', {})\n } else {\n // enter full screen\n if (screenShareViewRef.current) {\n ;(screenShareViewRef.current as HTMLElement).requestFullscreen()\n eventDispatch('phone-island-fullscreen-entered', {})\n }\n }\n }\n useEventListener('phone-island-fullscreen-enter', () => {\n toggleFullScreen()\n })\n useEventListener('phone-island-fullscreen-exit', () => {\n toggleFullScreen()\n })\n\n const newRemoteFeed = (id, display) => {\n // A new feed has been published, create a new plugin handle and attach to it as a listener\n\n dispatch.screenShare.update({\n source: id,\n })\n\n let remoteFeed: any = null\n janusInstance?.attach({\n plugin: 'janus.plugin.videoroom',\n opaqueId: janus.current.randomString(32),\n success: function (pluginHandle) {\n remoteFeed = pluginHandle\n\n dispatch.screenShare.update({\n remoteFeed: pluginHandle,\n })\n remoteFeed.remoteTracks = {}\n remoteFeed.remoteVideos = 0\n janus.current.log?.(\n 'Plugin attached! (' + remoteFeed.getPlugin() + ', id=' + remoteFeed.getId() + ')',\n )\n janus.current.log?.(' -- This is a subscriber')\n // We wait for the plugin to send us an offer\n const { room } = store.getState().screenShare\n\n let listen = {\n request: 'join',\n room: room,\n ptype: 'subscriber',\n feed: id,\n }\n remoteFeed.send({ message: listen })\n },\n error: function (error) {\n janus.current.error?.('Error attaching videoroom plugin', error)\n },\n iceState: function (state) {\n janus.current.log?.('ICE state (feed #' + remoteFeed.rfindex + ') changed to ' + state)\n },\n webrtcState: function (on) {\n janus.current.log?.(\n 'Janus says this WebRTC PeerConnection (feed #' +\n remoteFeed.rfindex +\n ') is ' +\n (on ? 'up' : 'down') +\n ' now',\n )\n },\n slowLink: function (uplink, lost, mid) {\n janus.current.warn?.(\n 'Janus reports problems ' +\n (uplink ? 'sending' : 'receiving') +\n ' packets on mid ' +\n mid +\n ' (' +\n lost +\n ' lost packets)',\n )\n },\n onmessage: function (msg, jsep) {\n janus.current.debug?.(' ::: Got a message (listener) :::', msg)\n let event = msg['videoroom']\n janus.current.debug?.('Event: ' + event)\n if (event) {\n if (event === 'attached') {\n // Subscriber created and attached\n janus.current.log?.(\n 'Successfully attached to feed ' + id + ' (' + display + ') in room ' + msg['room'],\n )\n } else {\n janus.current.warn?.('Unhandled event: ' + event)\n }\n }\n if (jsep) {\n janus.current.debug?.('Handling SDP as well...', jsep)\n // Answer and attach\n remoteFeed.createAnswer({\n jsep: jsep,\n // We only specify data channels here, as this way in\n // case they were offered we'll enable them. Since we\n // don't mention audio or video tracks, we autoaccept them\n // as recvonly (since we won't capture anything ourselves)\n tracks: [{ type: 'data' }],\n success: function (jsep) {\n janus.current.debug?.('Got SDP!', jsep)\n\n const { room } = store.getState().screenShare\n\n let body = { request: 'start', room: room }\n remoteFeed.send({ message: body, jsep: jsep })\n },\n error: function (error) {\n janus.current.error?.('WebRTC error:', error)\n },\n })\n }\n },\n // eslint-disable-next-line no-unused-vars\n onlocaltrack: function (track, on) {\n // The subscriber stream is recvonly, we don't expect anything here\n },\n onremotetrack: function (track, mid, on, metadata) {\n janus.current.debug?.(\n 'Remote track (mid=' +\n mid +\n ') ' +\n (on ? 'added' : 'removed') +\n (metadata ? ' (' + metadata.reason + ') ' : '') +\n ':',\n track,\n )\n // Screen sharing tracks are sometimes muted/unmuted by browser\n // when data is not flowing fast enough; this can make streams blink.\n // We can ignore these.\n if (\n track.kind === 'video' &&\n metadata &&\n (metadata.reason === 'mute' || metadata.reason === 'unmute')\n ) {\n janus.current.log?.('Ignoring mute/unmute on screen-sharing track.')\n return\n }\n if (!on) {\n const { remoteScreenStream } = store.getState().screenShare\n janus.current.stopAllTracks(remoteScreenStream)\n dispatch.screenShare.update({ active: false })\n return\n }\n // If we're here, a new track was added\n if (track.kind === 'video') {\n // New video track: create a stream out of it\n let stream = new MediaStream([track])\n\n // Save the new video stream to the store\n store.dispatch.screenShare.update({ remoteScreenStream: stream })\n\n remoteFeed.remoteTracks[mid] = stream\n janus.current.log?.('Created remote video stream: ' + stream)\n const remoteScreenElement = store.getState().player.remoteScreen\n\n if (remoteScreenElement?.current) {\n janus.current.attachMediaStream?.(remoteScreenElement.current, stream)\n }\n }\n },\n oncleanup: function () {\n janus.current.log?.(' ::: Got a cleanup notification (remote feed ' + id + ') :::')\n remoteFeed.remoteTracks = {}\n remoteFeed.remoteVideos = 0\n },\n })\n }\n\n const enableVideo = () => {\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n store.dispatch.currentCall.updateCurrentCall({\n isLocalVideoEnabled: true,\n })\n const tracks: JanusTrack[] = []\n const currentVideoInputDeviceId = getCurrentVideoInputDeviceId()\n\n const track: Partial<JanusTrack> = {\n type: 'video',\n recv: true,\n }\n\n if (currentVideoInputDeviceId) {\n track.capture = { deviceId: { exact: currentVideoInputDeviceId } }\n } else {\n track.capture = true\n }\n\n const { hasVideoTrackAdded } = store.getState().currentCall\n\n if (!hasVideoTrackAdded) {\n track.add = true\n dispatch.currentCall.setVideoTrackAdded(true)\n } else {\n // replace video track (video track has been previously added and removed)\n track.replace = true\n track.mid = '1'\n }\n tracks.push(track as JanusTrack)\n\n sipcall.createOffer({\n tracks: tracks,\n success: function (jsep) {\n sipcall.send({ message: { request: 'update' }, jsep: jsep })\n eventDispatch('phone-island-video-enabled', {})\n },\n error: function (error) {\n console.error('WebRTC error... ' + JSON.stringify(error))\n },\n })\n }\n useEventListener('phone-island-video-enable', () => {\n enableVideo()\n })\n\n const disableVideo = () => {\n const { sipcall, localVideoStream }: { sipcall: any; localVideoStream: MediaStream | null } =\n store.getState().webrtc\n\n janus.current.stopAllTracks(localVideoStream)\n store.dispatch.webrtc.updateLocalVideoStream(null)\n store.dispatch.currentCall.setLocalVideoEnabled(false)\n const tracks: JanusTrack[] = []\n tracks.push({ type: 'video', mid: '1', remove: true })\n\n sipcall.createOffer({\n tracks: tracks,\n success: function (jsep) {\n sipcall.send({ message: { request: 'update' }, jsep: jsep })\n eventDispatch('phone-island-video-disabled', {})\n },\n error: function (error) {\n console.error('WebRTC error... ' + JSON.stringify(error))\n },\n })\n }\n useEventListener('phone-island-video-disable', () => {\n disableVideo()\n })\n\n const toggleVideo = async () => {\n let cameraPermission = await checkCameraPermission()\n if (cameraPermission) {\n if (isLocalVideoEnabled) {\n disableVideo()\n } else {\n enableVideo()\n }\n }\n }\n\n const shareScreen = () => {\n if (!janus.current.isExtensionEnabled()) {\n janus.current.error?.(\n \"This browser doesn't support screensharing (getDisplayMedia unavailable)\",\n )\n return\n }\n\n // Create a new room\n const roomName = janus.current.randomString(32)\n\n let create = {\n request: 'create',\n description: roomName,\n bitrate: 500000,\n publishers: 1,\n }\n\n const { plugin } = store.getState().screenShare\n\n plugin.send({\n message: create,\n success: function (result) {\n if (result['error']) {\n janus.current.error?.(\"Couldn't create room: \" + result['error'])\n return\n }\n let event = result['videoroom']\n janus.current.debug?.('Event: ' + event)\n if (event) {\n // Our own screen sharing session has been created, join it\n\n const room = result['room']\n // Set room to the store\n dispatch.screenShare.update({\n room: room,\n })\n\n janus.current.log?.('Screen sharing session created: ' + room)\n\n const { username } = store.getState().currentUser\n\n let register = {\n request: 'join',\n room: room,\n ptype: 'publisher',\n display: username,\n }\n plugin.send({ message: register })\n }\n },\n })\n }\n\n const initScreenShare = () => {\n janusInstance?.attach({\n plugin: 'janus.plugin.videoroom',\n opaqueId: janus.current.randomString(32),\n success: function (pluginHandle) {\n // Set plugin to the store\n dispatch.screenShare.update({\n plugin: pluginHandle,\n })\n const { role } = store.getState().screenShare\n\n if (role === 'publisher') {\n // trigger event to nethlink\n eventDispatch('phone-island-screen-share-initialized', {})\n\n setTimeout(function () {\n shareScreen()\n }, 500)\n } else if (role === 'listener') {\n joinScreenShare()\n }\n eventDispatch('phone-island-screen-share-started', {})\n },\n error: function (error) {\n janus.current.error?.('Error attaching videoroom plugin', error)\n },\n consentDialog: function (on) {},\n iceState: function (state) {\n janus.current.log?.('ICE state changed to ' + state)\n },\n mediaState: function (medium, on) {\n janus.current.log?.('Janus ' + (on ? 'started' : 'stopped') + ' receiving our ' + medium)\n },\n webrtcState: function (on) {\n janus.current.log?.(\n 'Janus says our WebRTC PeerConnection is ' + (on ? 'up' : 'down') + ' now',\n )\n },\n slowLink: function (uplink, lost, mid) {\n janus.current.warn?.(\n 'Janus reports problems ' +\n (uplink ? 'sending' : 'receiving') +\n ' packets on mid ' +\n mid +\n ' (' +\n lost +\n ' lost packets)',\n )\n },\n onmessage: function (msg, jsep) {\n janus.current.debug?.(' ::: Got a message (publisher) :::', msg)\n const { plugin, role } = store.getState().screenShare\n const event = msg['videoroom']\n janus.current.debug?.('Event: ' + event)\n\n if (event) {\n if (event === 'joined') {\n if (role === 'publisher') {\n // This is our session, publish our stream\n janus.current.debug?.('Negotiating WebRTC stream for our screen')\n\n plugin.createOffer({\n // We want sendonly audio and screensharing\n tracks: [\n { type: 'audio', capture: true, recv: false },\n { type: 'screen', capture: true, recv: false },\n ],\n success: function (jsep) {\n janus.current.debug?.('Got publisher SDP!', jsep)\n let publish = { request: 'configure', audio: true, video: true }\n plugin.send({ message: publish, jsep: jsep })\n },\n error: function (error) {\n janus.current.error?.('WebRTC error:', error)\n dispatch.screenShare.update({ active: false, role: '' })\n },\n })\n } else {\n // We're just watching a session, any feed to attach to?\n if (msg['publishers']) {\n let list = msg['publishers']\n janus.current.debug?.('Got a list of available publishers/feeds:', list)\n for (let f in list) {\n if (list[f]['dummy']) continue\n let id = list[f]['id']\n let display = list[f]['display']\n janus.current.debug?.(' >> [' + id + '] ' + display)\n newRemoteFeed(id, display)\n }\n }\n }\n } else if (event === 'event') {\n // Any feed to attach to?\n if (role === 'listener' && msg['publishers']) {\n let list = msg['publishers']\n janus.current.debug?.('Got a list of available publishers/feeds:', list)\n for (let f in list) {\n if (list[f]['dummy']) continue\n let id = list[f]['id']\n let display = list[f]['display']\n janus.current.debug?.(' >> [' + id + '] ' + display)\n newRemoteFeed(id, display)\n }\n } else if (msg['leaving']) {\n // One of the publishers has gone away?\n let leaving = msg['leaving']\n janus.current.log?.('Publisher left: ' + leaving)\n } else if (msg['error']) {\n janus.current.error?.('Error event: ' + msg['error'])\n }\n }\n }\n if (jsep) {\n janus.current.debug?.('Handling SDP as well...', jsep)\n plugin.handleRemoteJsep({ jsep: jsep })\n }\n },\n onlocaltrack: function (track, on) {\n janus.current.debug?.('Local track ' + (on ? 'added' : 'removed') + ':', track)\n // We use the track ID as name of the element, but it may contain invalid characters\n let trackId = track.id.replace(/[{}]/g, '')\n if (!on) {\n // Track removed, get rid of the stream and the rendering\n let stream = localTracks?.[trackId]\n if (stream) {\n try {\n let tracks = stream.getTracks()\n for (let i in tracks) {\n let mst = tracks[i]\n if (mst) mst.stop()\n }\n // eslint-disable-next-line no-unused-vars\n } catch (e) {}\n }\n if (track.kind === 'video') {\n dispatch.screenShare.update({\n localVideos: localVideos - 1,\n })\n }\n\n // remove track\n const filteredTracks = localTracks?.filter((track) => track !== localTracks[trackId])\n dispatch.screenShare.update({\n localTracks: filteredTracks,\n })\n return\n }\n // If we're here, a new track was added\n let stream = localTracks?.[trackId]\n if (stream) {\n // We've been here already\n return\n }\n\n if (track.kind === 'video') {\n // New video track: create a stream out of it\n dispatch.screenShare.update({\n localVideos: localVideos + 1,\n })\n let stream = new MediaStream([track])\n\n // Save the new video stream to the store\n store.dispatch.screenShare.update({\n localScreenStream: stream,\n })\n\n janus.current.log?.('Created local stream: ' + stream)\n const localScreenElement = store.getState().player.localScreen\n\n if (localScreenElement?.current) {\n janus.current.attachMediaStream?.(localScreenElement.current, stream)\n inviteOtherUser()\n\n // Listen for the 'ended' event on the screen-sharing track\n track.addEventListener('ended', () => {\n stopScreenShare()\n })\n }\n }\n const { plugin } = store.getState().screenShare\n\n if (\n plugin.webrtcStuff.pc.iceConnectionState !== 'completed' &&\n plugin.webrtcStuff.pc.iceConnectionState !== 'connected'\n ) {\n }\n },\n // eslint-disable-next-line no-unused-vars\n onremotetrack: function (track, mid, on) {\n // The publisher stream is sendonly, we don't expect anything here\n },\n oncleanup: function () {\n janus.current.log?.(' ::: Got a cleanup notification :::')\n\n dispatch.screenShare.update({\n localTracks: {},\n localVideos: 0,\n })\n },\n })\n }\n\n const updateScreenStreams = () => {\n const localScreenElement = store.getState().player.localScreen\n const remoteScreenElement = store.getState().player.remoteScreen\n const { localScreenStream, remoteScreenStream } = store.getState().screenShare\n\n // local screen stream\n\n if (localScreenElement?.current) {\n if (janus.current.attachMediaStream) {\n janus.current.attachMediaStream(\n localScreenElement.current,\n localScreenStream as MediaStream,\n )\n }\n }\n\n // remote screen stream\n\n if (remoteScreenElement?.current) {\n if (janus.current.attachMediaStream) {\n janus.current.attachMediaStream(\n remoteScreenElement.current,\n remoteScreenStream as MediaStream,\n )\n }\n }\n }\n\n const inviteOtherUser = () => {\n // send message to websocket to invite the other user\n const { socket } = store.getState().websocket\n const { username: destUsername } = store.getState().currentCall\n const { room } = store.getState().screenShare\n const { username } = store.getState().currentUser\n\n socket.emit('message', {\n message: 'screenSharingStart',\n roomId: room,\n destUser: destUsername,\n callUser: username,\n } as ScreenSharingMessage)\n }\n\n const initAndStartScreenShare = () => {\n dispatch.screenShare.update({ active: true, role: 'publisher' })\n initScreenShare()\n }\n useEventListener('phone-island-screen-share-start', () => {\n initAndStartScreenShare()\n })\n\n const initAndJoinScreenShare = () => {\n dispatch.screenShare.update({ active: true, role: 'listener' })\n initScreenShare()\n eventDispatch('phone-island-screen-share-joined', {})\n }\n\n const joinScreenShare = () => {\n const { room } = store.getState().screenShare\n const { username } = store.getState().currentUser\n\n const joinMessage = {\n request: 'join',\n room: room,\n ptype: 'publisher',\n display: username,\n }\n\n const { plugin } = store.getState().screenShare\n plugin.send({ message: joinMessage })\n }\n\n const leaveScreenShare = () => {\n const { remoteScreenStream } = store.getState().screenShare\n janus.current.stopAllTracks(remoteScreenStream)\n dispatch.screenShare.update({ active: false })\n eventDispatch('phone-island-screen-share-left', {})\n }\n\n const handleMouseMove = () => {\n setUiShown(true)\n\n if (uiTimeoutRef.current) {\n clearTimeout(uiTimeoutRef.current)\n uiTimeoutRef.current = null\n }\n }\n\n const startHideTimer = () => {\n // start a timer when mouse stops moving to hide video UI\n uiTimeoutRef.current = setTimeout(() => {\n setUiShown(false)\n }, 3000)\n }\n\n const handleMouseMoveWithDebounce = () => {\n handleMouseMove()\n\n // clear the previous debounce timer\n if (debounceTimerRef.current) {\n clearTimeout(debounceTimerRef.current)\n }\n\n // set a new debounce timer - when this isn't cleared, it means the mouse has stopped\n debounceTimerRef.current = setTimeout(() => {\n startHideTimer()\n }, 100) // small delay to detect \"stopped moving\"\n }\n\n const stopScreenShare = () => {\n const { plugin, localScreenStream } = store.getState().screenShare\n\n janus.current.stopAllTracks(localScreenStream)\n dispatch.screenShare.update({ active: false })\n plugin.detach()\n\n // send message to websocket to tell the other user the screen share has stopped\n const { socket } = store.getState().websocket\n const { username: destUsername } = store.getState().currentCall\n const { room } = store.getState().screenShare\n const { username } = store.getState().currentUser\n\n socket.emit('message', {\n message: 'screenSharingStop',\n roomId: room,\n destUser: destUsername,\n callUser: username,\n } as ScreenSharingMessage)\n\n eventDispatch('phone-island-screen-share-stopped', {})\n }\n useEventListener('phone-island-screen-share-stop', () => {\n stopScreenShare()\n })\n\n const pauseCall = () => {\n pauseCurrentCall()\n stopScreenShare()\n }\n\n const [isVideoCallButtonVisible, setIsVideoCallButtonVisible] = useState(true)\n\n const checkCameraPermission = async () => {\n if (videoInputDevices?.length > 0) {\n const isWebCamAccepted = await checkWebCamPermission()\n if (isWebCamAccepted) {\n setIsVideoCallButtonVisible(true)\n return true\n } else {\n setIsVideoCallButtonVisible(false)\n return false\n }\n } else {\n setIsVideoCallButtonVisible(false)\n return false\n }\n }\n\n return (\n <>\n {isOpen ? (\n <div\n ref={screenShareViewRef}\n onMouseMove={() => handleMouseMoveWithDebounce()}\n className={isFullscreen ? 'pi-h-screen' : 'pi-h-[480px] pi-w-[600px]'}\n >\n <div className={`pi-flex pi-relative pi-justify-center pi-w-full pi-h-full`}>\n {/* large remote screen */}\n <video\n autoPlay\n muted={true}\n ref={remoteScreen}\n className={`pi-rounded-2xl pi-w-full pi-h-full ${\n !screenShareActive || screenShareRole !== 'listener' ? 'pi-hidden' : ''\n }`}\n ></video>\n {/* large local screen */}\n <video\n autoPlay\n muted={true}\n ref={localScreen}\n className={`pi-rounded-2xl pi-w-full pi-h-full ${\n !screenShareActive || screenShareRole !== 'publisher' ? 'pi-hidden' : ''\n }`}\n ></video>\n {/* large remote video */}\n <video\n autoPlay\n muted={true}\n ref={largeRemoteVideo}\n className={`pi-rounded-2xl ${\n screenShareActive || showRemoteVideoPlaceHolder ? 'pi-hidden' : ''\n }`}\n ></video>\n {/* remote video placeholder */}\n <div\n className={`pi-w-full pi-bg-gray-200 dark:pi-bg-gray-800 pi-flex pi-items-center pi-justify-center ${\n screenShareActive || !showRemoteVideoPlaceHolder ? 'pi-hidden' : ''\n }`}\n >\n <div className='pi-rounded-full pi-bg-gray-700 dark:pi-bg-gray-200 pi-w-32 pi-h-32 pi-flex pi-items-center pi-justify-center'>\n <span className='pi-text-4xl pi-text-gray-50 dark:pi-text-gray-900'>\n {getInitials(displayName)}\n </span>\n </div>\n </div>\n {/* small local video */}\n <video\n muted={true}\n autoPlay\n ref={localVideo}\n className={`pi-max-w-32 pi-max-h-32 pi-absolute pi-top-5 pi-right-5 pi-rounded-lg ${\n !isLocalVideoEnabled ? 'pi-hidden' : ''\n }`}\n ></video>\n {/* small local video placeholder */}\n <div\n className={`pi-w-32 pi-h-24 pi-absolute pi-top-5 pi-right-5 pi-rounded-lg pi-bg-gray-200 dark:pi-bg-gray-900 pi-flex pi-items-center pi-justify-center ${\n isLocalVideoEnabled || !hasVideoTrackAdded ? 'pi-hidden' : ''\n }`}\n >\n <div className='pi-rounded-full pi-bg-gray-700 dark:pi-bg-gray-200 pi-w-12 pi-h-12 pi-flex pi-items-center pi-justify-center'>\n <span className='pi-text-base pi-text-gray-50 dark:pi-text-gray-900'>\n {getInitials(userInfo.name || '-')}\n </span>\n </div>\n </div>\n {/* small remote video */}\n <video\n muted={true}\n autoPlay\n ref={smallRemoteVideo}\n className={`pi-max-w-32 pi-max-h-32 pi-absolute pi-top-32 pi-right-5 pi-rounded-lg ${\n !screenShareActive || showRemoteVideoPlaceHolder ? 'pi-hidden' : ''\n }`}\n ></video>\n {/* small remote video placeholder */}\n <div\n className={`pi-w-32 pi-h-24 pi-absolute pi-top-32 pi-right-5 pi-rounded-lg pi-bg-gray-200 dark:pi-bg-gray-900 pi-flex pi-items-center pi-justify-center ${\n !screenShareActive || !showRemoteVideoPlaceHolder || !hasVideoTrackAdded\n ? 'pi-hidden'\n : ''\n }`}\n >\n <div className='pi-rounded-full pi-bg-gray-700 dark:pi-bg-gray-200 pi-w-12 pi-h-12 pi-flex pi-items-center pi-justify-center'>\n <span className='pi-text-base pi-text-gray-50 dark:pi-text-gray-900'>\n {getInitials(displayName)}\n </span>\n </div>\n </div>\n </div>\n\n <div\n className={`${\n !isUiShown && 'pi-opacity-0 pi-pointer-events-none'\n } pi-absolute pi-bottom-0 pi-bg-gray-950/65 pi-w-full pi-p-6 pi-rounded-bl-[20px] pi-rounded-br-[20px] pi-transition-all`}\n >\n <div className='pi-flex pi-items-center pi-justify-center pi-gap-6 pi-mb-5'>\n {/* mute button */}\n {!intrudeListenStatus?.isListen && (\n <Button\n variant='default'\n active={muted ? true : false}\n onClick={() => (muted ? unmuteCurrentCall() : muteCurrentCall())}\n data-tooltip-id='tooltip-mute'\n data-tooltip-content={muted ? `${t('Tooltip.Unmute')}` : `${t('Tooltip.Mute')}`}\n >\n {muted ? (\n <FontAwesomeIcon className='pi-h-6 pi-w-6' icon={faMicrophoneSlash} />\n ) : (\n <FontAwesomeIcon className='pi-h-6 pi-w-6' icon={faMicrophone} />\n )}\n </Button>\n )}\n\n {/* video button */}\n {videoInputDevices?.length > 0 && (\n <Button\n variant='default'\n onClick={() => toggleVideo()}\n data-tooltip-id='tooltip-toggle-video'\n data-tooltip-content={`${\n !isVideoCallButtonVisible\n ? t('Tooltip.Enable camera permission') || ''\n : isLocalVideoEnabled\n ? t('Tooltip.Disable camera')\n : t('Tooltip.Enable camera')\n }`}\n disabled={!isVideoCallButtonVisible}\n className={`${!isVideoCallButtonVisible ? 'pi-cursor-auto' : ''}`}\n >\n <FontAwesomeIcon\n className='pi-h-6 pi-w-6'\n icon={isVideoCallButtonVisible || isLocalVideoEnabled ? faVideo : faVideoSlash}\n />\n </Button>\n )}\n\n {/* Share screen button */}\n {janus.current.webRTCAdapter.browserDetails.browser !== 'safari' &&\n userInfo?.profile?.macro_permissions?.nethvoice_cti?.permissions?.screen_sharing\n ?.value &&\n !screenShareActive && (\n <Button\n variant='default'\n onClick={() => initAndStartScreenShare()}\n data-tooltip-id='tooltip-start-screen-share'\n data-tooltip-content={t('Tooltip.Share screen') || ''}\n >\n <FontAwesomeIcon className='pi-h-6 pi-w-6' icon={faDisplay} />\n </Button>\n )}\n\n {/* stop screen share */}\n {screenShareActive && screenShareRole === 'publisher' && (\n <Button\n variant='default'\n onClick={() => stopScreenShare()}\n data-tooltip-id='tooltip-stop-screen-share'\n data-tooltip-content={t('Tooltip.Stop sharing')}\n >\n <FontAwesomeIcon className='pi-h-6 pi-w-6' icon={faDisplaySlash} />\n </Button>\n )}\n\n {/* fullscreen */}\n {screenShareActive && screenShareRole === 'listener' && (\n <Button\n variant='default'\n onClick={() => toggleFullScreen()}\n data-tooltip-id='tooltip-toggle-fullscreen'\n data-tooltip-content={\n isFullscreen ? t('Tooltip.Exit fullscreen') : t('Tooltip.Enter fullscreen')\n }\n >\n <FontAwesomeIcon\n className='pi-h-6 pi-w-6'\n icon={isFullscreen ? faCompress : faExpand}\n />\n </Button>\n )}\n\n {/* record */}\n {userInfo?.profile?.macro_permissions?.settings?.permissions?.recording?.value && (\n <Button\n variant='default'\n onClick={() => recordCurrentCall(isRecording)}\n data-tooltip-id='tooltip-record-video-view'\n data-tooltip-content={\n isRecording ? t('Tooltip.Stop recording') : t('Tooltip.Record')\n }\n >\n <FontAwesomeIcon\n className='pi-h-6 pi-w-6'\n icon={isRecording ? faStop : faRecord}\n />\n </Button>\n )}\n\n {/* hold */}\n {!(intrudeListenStatus?.isIntrude || intrudeListenStatus?.isListen) && (\n <Button\n variant='default'\n onClick={() => (paused ? unpauseCurrentCall() : pauseCall())}\n data-tooltip-id='tooltip-pause-video-view'\n data-tooltip-content={paused ? t('Tooltip.Play') : t('Tooltip.Pause')}\n >\n <FontAwesomeIcon className='pi-h-6 pi-w-6' icon={paused ? faPlay : faPause} />\n </Button>\n )}\n </div>\n <Hangup buttonsVariant='default' />\n </div>\n {/* Buttons tooltips */}\n <CustomThemedTooltip className='pi-z-20' id='tooltip-mute-video-view' place='bottom' />\n <CustomThemedTooltip className='pi-z-20' id='tooltip-toggle-video' place='bottom' />\n <CustomThemedTooltip className='pi-z-20' id='tooltip-toggle-fullscreen' place='bottom' />\n <CustomThemedTooltip className='pi-z-20' id='tooltip-start-screen-share' place='bottom' />\n <CustomThemedTooltip className='pi-z-20' id='tooltip-stop-screen-share' place='bottom' />\n <CustomThemedTooltip className='pi-z-20' id='tooltip-record-video-view' place='bottom' />\n <CustomThemedTooltip className='pi-z-20' id='tooltip-pause-video-view' place='bottom' />\n </div>\n ) : (\n // collapsed view\n <>\n <div className='pi-flex pi-justify-between pi-items-center'>\n <Avatar />\n <Timer startTime={startTime} isNotAlwaysWhite />\n {!isOpen && remoteAudioStream && !isPhysical() && (\n <AudioBars\n audioStream={remoteAudioStream}\n paused={paused}\n size={isOpen ? 'large' : 'small'}\n />\n )}\n </div>\n </>\n )}\n </>\n )\n}\n\nexport default VideoView\n"],"names":["VideoView","dispatch","useDispatch","_l","useSelector","state","currentCall","muted","startTime","isRecording","paused","isLocalVideoEnabled","showRemoteVideoPlaceHolder","hasVideoTrackAdded","displayName","isStartingVideoCall","_m","screenShare","localTracks","localVideos","screenShareRole","role","screenShareActive","active","isStartingScreenShare","isJoiningScreenShare","isLeavingScreenShare","intrudeListenStatus","listen","isOpen","island","_o","webrtc","janusInstance","remoteAudioStream","userInfo","store","getState","currentUser","_p","useState","isFullscreen","setIsFullscreen","_q","isUiShown","setUiShown","uiTimeoutRef","useRef","debounceTimerRef","screenShareViewRef","localScreen","remoteScreen","localVideo","largeRemoteVideo","smallRemoteVideo","janus","JanusLib","videoInputDevices","select","mediaDevices","useIsomorphicLayoutEffect","player","updatePlayer","useEffect","updateScreenStreams","updateVideoStreams","addEventListener","handleFullscreenChange","removeEventListener","current","clearTimeout","enableVideo","updateCurrentCall","initAndStartScreenShare","update","initAndJoinScreenShare","leaveScreenShare","localVideoElement","largeRemoteVideoElement","smallRemoteVideoElement","_a","localVideoStream","remoteVideoStream","attachMediaStream","document","fullscreenElement","toggleFullScreen","exitFullscreen","eventDispatch","requestFullscreen","useEventListener","newRemoteFeed","id","display","source","remoteFeed","attach","plugin","opaqueId","randomString","success","pluginHandle","remoteTracks","remoteVideos","_b","log","call","getPlugin","getId","_d","_c","request","room","ptype","feed","send","message","error","iceState","rfindex","webrtcState","on","slowLink","uplink","lost","mid","warn","onmessage","msg","jsep","debug","event","_f","_e","_h","_g","_k","_j","createAnswer","tracks","type","body","onlocaltrack","track","onremotetrack","metadata","reason","kind","remoteScreenStream","stopAllTracks","stream","MediaStream","remoteScreenElement","oncleanup","sipcall","currentVideoInputDeviceId","getCurrentVideoInputDeviceId","recv","capture","deviceId","exact","replace","add","setVideoTrackAdded","push","createOffer","console","JSON","stringify","disableVideo","updateLocalVideoStream","setLocalVideoEnabled","remove","initScreenShare","setTimeout","isExtensionEnabled","create","description","bitrate","publishers","result","register","username","shareScreen","joinScreenShare","consentDialog","mediaState","medium","_w","audio","video","list","f","leaving","_r","_t","_s","_v","_u","handleRemoteJsep","trackId","stream_2","localScreenStream","localScreenElement","inviteOtherUser","stopScreenShare","webrtcStuff","pc","iceConnectionState","stream_1","getTracks","i","mst","stop","e","filteredTracks","filter","socket","websocket","destUsername","emit","roomId","destUser","callUser","joinMessage","handleMouseMoveWithDebounce","detach","isVideoCallButtonVisible","setIsVideoCallButtonVisible","checkCameraPermission","__awaiter","length","checkWebCamPermission","sent","React","createElement","Fragment","ref","onMouseMove","className","autoPlay","concat","getInitials","name","isListen","Button","variant","onClick","unmuteCurrentCall","muteCurrentCall","t","FontAwesomeIcon","icon","faMicrophoneSlash","faMicrophone","disabled","faVideo","faVideoSlash","webRTCAdapter","browserDetails","browser","profile","macro_permissions","nethvoice_cti","permissions","screen_sharing","value","faDisplay","faDisplaySlash","faCompress","faExpand","settings","recording","recordCurrentCall","faStop","faRecord","isIntrude","unpauseCurrentCall","pauseCurrentCall","faPlay","faPause","Hangup","buttonsVariant","CustomThemedTooltip","place","Avatar","Timer","isNotAlwaysWhite","isPhysical","AudioBars","audioStream","size"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/VideoView/index.tsx"],"sourcesContent":["// Copyright (C) 2025 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC, useEffect, useRef, useState } from 'react'\nimport { Button } from '../Button'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { Dispatch, RootState, store } from '../../store'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faCompress,\n faDisplay,\n faExpand,\n faMicrophone,\n faMicrophoneSlash,\n faPause,\n faPlay,\n faStop,\n faVideo,\n faVideoSlash,\n} from '@fortawesome/free-solid-svg-icons'\nimport { t } from 'i18next'\nimport { eventDispatch, useEventListener, useIsomorphicLayoutEffect } from '../../utils'\nimport Hangup from '../Hangup'\nimport {\n muteCurrentCall,\n pauseCurrentCall,\n recordCurrentCall,\n unmuteCurrentCall,\n unpauseCurrentCall,\n} from '../../lib/phone/call'\nimport { JanusTrack, JanusTypes } from '../../types/webrtc'\nimport JanusLib from '../../lib/webrtc/janus.js'\nimport Avatar from '../CallView/Avatar'\nimport Timer from '../CallView/Timer'\nimport { isPhysical } from '../../lib/user/default_device'\nimport { AudioBars } from '../AudioBars'\nimport { CustomThemedTooltip } from '../CustomThemedTooltip'\nimport { faDisplaySlash, faRecord } from '@nethesis/nethesis-solid-svg-icons'\nimport { getCurrentVideoInputDeviceId } from '../../lib/devices/devices'\nimport { getInitials } from '../../lib/avatars/avatars'\nimport { checkWebCamPermission } from '../../lib/devices/devices'\n\nexport interface VideoViewProps {}\n\nexport type ScreenSharingMessage = {\n message: 'screenSharingStart' | 'screenSharingStop'\n roomId: string\n destUser: string\n callUser: string\n}\n\nexport const VideoView: FC<VideoViewProps> = () => {\n const dispatch = useDispatch<Dispatch>()\n const {\n muted,\n startTime,\n isRecording,\n paused,\n isLocalVideoEnabled,\n showRemoteVideoPlaceHolder,\n hasVideoTrackAdded,\n displayName,\n isStartingVideoCall,\n } = useSelector((state: RootState) => state.currentCall)\n const {\n localTracks,\n localVideos,\n role: screenShareRole,\n active: screenShareActive,\n isStartingScreenShare,\n isJoiningScreenShare,\n isLeavingScreenShare,\n } = useSelector((state: RootState) => state.screenShare)\n const intrudeListenStatus = useSelector((state: RootState) => state.listen)\n const { isOpen } = useSelector((state: RootState) => state.island)\n const { janusInstance, remoteAudioStream } = useSelector((state: RootState) => state.webrtc)\n const userInfo = store.getState().currentUser\n const [isFullscreen, setIsFullscreen] = useState(false)\n const [isUiShown, setUiShown] = useState(false)\n const uiTimeoutRef = useRef<NodeJS.Timeout | null>(null)\n const debounceTimerRef = useRef<NodeJS.Timeout | null>(null)\n const screenShareViewRef = useRef(null)\n const localScreen = useRef<HTMLVideoElement>(null)\n const remoteScreen = useRef<HTMLVideoElement>(null)\n const localVideo = useRef<HTMLVideoElement>(null)\n const largeRemoteVideo = useRef<HTMLVideoElement>(null)\n const smallRemoteVideo = useRef<HTMLVideoElement>(null)\n const janus = useRef<JanusTypes>(JanusLib)\n const videoInputDevices = store.select.mediaDevices.videoInputDevices(store.getState())\n\n useIsomorphicLayoutEffect(() => {\n dispatch.player.updatePlayer({\n localScreen: localScreen,\n remoteScreen: remoteScreen,\n localVideo: localVideo,\n largeRemoteVideo: largeRemoteVideo,\n smallRemoteVideo: smallRemoteVideo,\n })\n }, [])\n\n // component did mount\n useEffect(() => {\n updateScreenStreams()\n updateVideoStreams()\n\n // register for full screen change\n addEventListener('fullscreenchange', handleFullscreenChange)\n\n return () => {\n removeEventListener('fullscreenchange', handleFullscreenChange)\n\n // clear timeout\n if (uiTimeoutRef.current) {\n clearTimeout(uiTimeoutRef.current)\n }\n }\n }, [])\n\n // starting videocall\n useEffect(() => {\n if (isStartingVideoCall) {\n enableVideo()\n dispatch.currentCall.updateCurrentCall({\n isStartingVideoCall: false,\n })\n }\n }, [isStartingVideoCall])\n\n // starting screen sharing\n useEffect(() => {\n if (isStartingScreenShare) {\n initAndStartScreenShare()\n store.dispatch.screenShare.update({\n isStartingScreenShare: false,\n })\n }\n }, [isStartingScreenShare])\n\n // joining screen sharing\n useEffect(() => {\n if (isJoiningScreenShare) {\n initAndJoinScreenShare()\n store.dispatch.screenShare.update({\n isJoiningScreenShare: false,\n })\n }\n }, [isJoiningScreenShare])\n\n // leaving screen sharing\n useEffect(() => {\n if (isLeavingScreenShare) {\n leaveScreenShare()\n store.dispatch.screenShare.update({\n isLeavingScreenShare: false,\n })\n }\n }, [isLeavingScreenShare])\n\n // isOpen changed\n useEffect(() => {\n updateScreenStreams()\n updateVideoStreams()\n }, [isOpen])\n\n const updateVideoStreams = () => {\n const localVideoElement = store.getState().player.localVideo\n const largeRemoteVideoElement = store.getState().player.largeRemoteVideo\n const smallRemoteVideoElement = store.getState().player.smallRemoteVideo\n const { localVideoStream, remoteVideoStream } = store.getState().webrtc\n\n // local video stream\n\n if (localVideoElement?.current) {\n if (janus.current.attachMediaStream) {\n janus.current.attachMediaStream(localVideoElement.current, localVideoStream as MediaStream)\n }\n }\n\n // large remote video stream\n\n if (largeRemoteVideoElement?.current && janus.current.attachMediaStream) {\n janus.current.attachMediaStream(\n largeRemoteVideoElement.current,\n remoteVideoStream as MediaStream,\n )\n }\n\n // small remote video stream\n\n if (smallRemoteVideoElement?.current && janus.current.attachMediaStream) {\n janus.current.attachMediaStream(\n smallRemoteVideoElement.current,\n remoteVideoStream as MediaStream,\n )\n }\n }\n\n const handleFullscreenChange = () => {\n setIsFullscreen(!!document.fullscreenElement)\n }\n\n const toggleFullScreen = () => {\n if (document.fullscreenElement) {\n // exit full screen\n document.exitFullscreen()\n eventDispatch('phone-island-fullscreen-exited', {})\n } else {\n // enter full screen\n if (screenShareViewRef.current) {\n ;(screenShareViewRef.current as HTMLElement).requestFullscreen()\n eventDispatch('phone-island-fullscreen-entered', {})\n }\n }\n }\n useEventListener('phone-island-fullscreen-enter', () => {\n toggleFullScreen()\n })\n useEventListener('phone-island-fullscreen-exit', () => {\n toggleFullScreen()\n })\n\n const newRemoteFeed = (id, display) => {\n // A new feed has been published, create a new plugin handle and attach to it as a listener\n\n dispatch.screenShare.update({\n source: id,\n })\n\n let remoteFeed: any = null\n janusInstance?.attach({\n plugin: 'janus.plugin.videoroom',\n opaqueId: janus.current.randomString(32),\n success: function (pluginHandle) {\n remoteFeed = pluginHandle\n\n dispatch.screenShare.update({\n remoteFeed: pluginHandle,\n })\n remoteFeed.remoteTracks = {}\n remoteFeed.remoteVideos = 0\n janus.current.log?.(\n 'Plugin attached! (' + remoteFeed.getPlugin() + ', id=' + remoteFeed.getId() + ')',\n )\n janus.current.log?.(' -- This is a subscriber')\n // We wait for the plugin to send us an offer\n const { room } = store.getState().screenShare\n\n let listen = {\n request: 'join',\n room: room,\n ptype: 'subscriber',\n feed: id,\n }\n remoteFeed.send({ message: listen })\n },\n error: function (error) {\n janus.current.error?.('Error attaching videoroom plugin', error)\n },\n iceState: function (state) {\n janus.current.log?.('ICE state (feed #' + remoteFeed.rfindex + ') changed to ' + state)\n },\n webrtcState: function (on) {\n janus.current.log?.(\n 'Janus says this WebRTC PeerConnection (feed #' +\n remoteFeed.rfindex +\n ') is ' +\n (on ? 'up' : 'down') +\n ' now',\n )\n },\n slowLink: function (uplink, lost, mid) {\n janus.current.warn?.(\n 'Janus reports problems ' +\n (uplink ? 'sending' : 'receiving') +\n ' packets on mid ' +\n mid +\n ' (' +\n lost +\n ' lost packets)',\n )\n },\n onmessage: function (msg, jsep) {\n janus.current.debug?.(' ::: Got a message (listener) :::', msg)\n let event = msg['videoroom']\n janus.current.debug?.('Event: ' + event)\n if (event) {\n if (event === 'attached') {\n // Subscriber created and attached\n janus.current.log?.(\n 'Successfully attached to feed ' + id + ' (' + display + ') in room ' + msg['room'],\n )\n } else {\n janus.current.warn?.('Unhandled event: ' + event)\n }\n }\n if (jsep) {\n janus.current.debug?.('Handling SDP as well...', jsep)\n // Answer and attach\n remoteFeed.createAnswer({\n jsep: jsep,\n // We only specify data channels here, as this way in\n // case they were offered we'll enable them. Since we\n // don't mention audio or video tracks, we autoaccept them\n // as recvonly (since we won't capture anything ourselves)\n tracks: [{ type: 'data' }],\n success: function (jsep) {\n janus.current.debug?.('Got SDP!', jsep)\n\n const { room } = store.getState().screenShare\n\n let body = { request: 'start', room: room }\n remoteFeed.send({ message: body, jsep: jsep })\n },\n error: function (error) {\n janus.current.error?.('WebRTC error:', error)\n },\n })\n }\n },\n // eslint-disable-next-line no-unused-vars\n onlocaltrack: function (track, on) {\n // The subscriber stream is recvonly, we don't expect anything here\n },\n onremotetrack: function (track, mid, on, metadata) {\n janus.current.debug?.(\n 'Remote track (mid=' +\n mid +\n ') ' +\n (on ? 'added' : 'removed') +\n (metadata ? ' (' + metadata.reason + ') ' : '') +\n ':',\n track,\n )\n // Screen sharing tracks are sometimes muted/unmuted by browser\n // when data is not flowing fast enough; this can make streams blink.\n // We can ignore these.\n if (\n track.kind === 'video' &&\n metadata &&\n (metadata.reason === 'mute' || metadata.reason === 'unmute')\n ) {\n janus.current.log?.('Ignoring mute/unmute on screen-sharing track.')\n return\n }\n if (!on) {\n const { remoteScreenStream } = store.getState().screenShare\n janus.current.stopAllTracks(remoteScreenStream)\n dispatch.screenShare.update({ active: false })\n return\n }\n // If we're here, a new track was added\n if (track.kind === 'video') {\n // New video track: create a stream out of it\n let stream = new MediaStream([track])\n\n // Save the new video stream to the store\n store.dispatch.screenShare.update({ remoteScreenStream: stream })\n\n remoteFeed.remoteTracks[mid] = stream\n janus.current.log?.('Created remote video stream: ' + stream)\n const remoteScreenElement = store.getState().player.remoteScreen\n\n if (remoteScreenElement?.current) {\n janus.current.attachMediaStream?.(remoteScreenElement.current, stream)\n }\n }\n },\n oncleanup: function () {\n janus.current.log?.(' ::: Got a cleanup notification (remote feed ' + id + ') :::')\n remoteFeed.remoteTracks = {}\n remoteFeed.remoteVideos = 0\n },\n })\n }\n\n const enableVideo = () => {\n const { sipcall }: { sipcall: any } = store.getState().webrtc\n store.dispatch.currentCall.updateCurrentCall({\n isLocalVideoEnabled: true,\n })\n const tracks: JanusTrack[] = []\n const currentVideoInputDeviceId = getCurrentVideoInputDeviceId()\n\n const track: Partial<JanusTrack> = {\n type: 'video',\n recv: true,\n }\n\n if (currentVideoInputDeviceId) {\n track.capture = { deviceId: { exact: currentVideoInputDeviceId } }\n } else {\n track.capture = true\n }\n\n const { hasVideoTrackAdded } = store.getState().currentCall\n\n if (!hasVideoTrackAdded) {\n track.add = true\n dispatch.currentCall.setVideoTrackAdded(true)\n } else {\n // replace video track (video track has been previously added and removed)\n track.replace = true\n track.mid = '1'\n }\n tracks.push(track as JanusTrack)\n\n sipcall.createOffer({\n tracks: tracks,\n success: function (jsep) {\n sipcall.send({ message: { request: 'update' }, jsep: jsep })\n eventDispatch('phone-island-video-enabled', {})\n },\n error: function (error) {\n console.error('WebRTC error... ' + JSON.stringify(error))\n },\n })\n }\n useEventListener('phone-island-video-enable', () => {\n enableVideo()\n })\n\n const disableVideo = () => {\n const { sipcall, localVideoStream }: { sipcall: any; localVideoStream: MediaStream | null } =\n store.getState().webrtc\n\n janus.current.stopAllTracks(localVideoStream)\n store.dispatch.webrtc.updateLocalVideoStream(null)\n store.dispatch.currentCall.setLocalVideoEnabled(false)\n const tracks: JanusTrack[] = []\n tracks.push({ type: 'video', mid: '1', remove: true })\n\n sipcall.createOffer({\n tracks: tracks,\n success: function (jsep) {\n sipcall.send({ message: { request: 'update' }, jsep: jsep })\n eventDispatch('phone-island-video-disabled', {})\n },\n error: function (error) {\n console.error('WebRTC error... ' + JSON.stringify(error))\n },\n })\n }\n useEventListener('phone-island-video-disable', () => {\n disableVideo()\n })\n\n const toggleVideo = async () => {\n let cameraPermission = await checkCameraPermission()\n if (cameraPermission) {\n if (isLocalVideoEnabled) {\n disableVideo()\n } else {\n enableVideo()\n }\n }\n }\n\n const shareScreen = () => {\n if (!janus.current.isExtensionEnabled()) {\n janus.current.error?.(\n \"This browser doesn't support screensharing (getDisplayMedia unavailable)\",\n )\n return\n }\n\n // Create a new room\n const roomName = janus.current.randomString(32)\n\n let create = {\n request: 'create',\n description: roomName,\n bitrate: 500000,\n publishers: 1,\n }\n\n const { plugin } = store.getState().screenShare\n\n plugin.send({\n message: create,\n success: function (result) {\n if (result['error']) {\n janus.current.error?.(\"Couldn't create room: \" + result['error'])\n return\n }\n let event = result['videoroom']\n janus.current.debug?.('Event: ' + event)\n if (event) {\n // Our own screen sharing session has been created, join it\n\n const room = result['room']\n // Set room to the store\n dispatch.screenShare.update({\n room: room,\n })\n\n janus.current.log?.('Screen sharing session created: ' + room)\n\n const { username } = store.getState().currentUser\n\n let register = {\n request: 'join',\n room: room,\n ptype: 'publisher',\n display: username,\n }\n plugin.send({ message: register })\n }\n },\n })\n }\n\n const initScreenShare = () => {\n janusInstance?.attach({\n plugin: 'janus.plugin.videoroom',\n opaqueId: janus.current.randomString(32),\n success: function (pluginHandle) {\n // Set plugin to the store\n dispatch.screenShare.update({\n plugin: pluginHandle,\n })\n const { role } = store.getState().screenShare\n\n if (role === 'publisher') {\n // trigger event to nethlink\n eventDispatch('phone-island-screen-share-initialized', {})\n\n setTimeout(function () {\n shareScreen()\n }, 500)\n } else if (role === 'listener') {\n joinScreenShare()\n }\n eventDispatch('phone-island-screen-share-started', {})\n },\n error: function (error) {\n janus.current.error?.('Error attaching videoroom plugin', error)\n },\n consentDialog: function (on) {},\n iceState: function (state) {\n janus.current.log?.('ICE state changed to ' + state)\n },\n mediaState: function (medium, on) {\n janus.current.log?.('Janus ' + (on ? 'started' : 'stopped') + ' receiving our ' + medium)\n },\n webrtcState: function (on) {\n janus.current.log?.(\n 'Janus says our WebRTC PeerConnection is ' + (on ? 'up' : 'down') + ' now',\n )\n },\n slowLink: function (uplink, lost, mid) {\n janus.current.warn?.(\n 'Janus reports problems ' +\n (uplink ? 'sending' : 'receiving') +\n ' packets on mid ' +\n mid +\n ' (' +\n lost +\n ' lost packets)',\n )\n },\n onmessage: function (msg, jsep) {\n janus.current.debug?.(' ::: Got a message (publisher) :::', msg)\n const { plugin, role } = store.getState().screenShare\n const event = msg['videoroom']\n janus.current.debug?.('Event: ' + event)\n\n if (event) {\n if (event === 'joined') {\n if (role === 'publisher') {\n // This is our session, publish our stream\n janus.current.debug?.('Negotiating WebRTC stream for our screen')\n\n plugin.createOffer({\n // We want sendonly audio and screensharing\n tracks: [\n { type: 'audio', capture: true, recv: false },\n { type: 'screen', capture: true, recv: false },\n ],\n success: function (jsep) {\n janus.current.debug?.('Got publisher SDP!', jsep)\n let publish = { request: 'configure', audio: true, video: true }\n plugin.send({ message: publish, jsep: jsep })\n },\n error: function (error) {\n janus.current.error?.('WebRTC error:', error)\n dispatch.screenShare.update({ active: false, role: '' })\n },\n })\n } else {\n // We're just watching a session, any feed to attach to?\n if (msg['publishers']) {\n let list = msg['publishers']\n janus.current.debug?.('Got a list of available publishers/feeds:', list)\n for (let f in list) {\n if (list[f]['dummy']) continue\n let id = list[f]['id']\n let display = list[f]['display']\n janus.current.debug?.(' >> [' + id + '] ' + display)\n newRemoteFeed(id, display)\n }\n }\n }\n } else if (event === 'event') {\n // Any feed to attach to?\n if (role === 'listener' && msg['publishers']) {\n let list = msg['publishers']\n janus.current.debug?.('Got a list of available publishers/feeds:', list)\n for (let f in list) {\n if (list[f]['dummy']) continue\n let id = list[f]['id']\n let display = list[f]['display']\n janus.current.debug?.(' >> [' + id + '] ' + display)\n newRemoteFeed(id, display)\n }\n } else if (msg['leaving']) {\n // One of the publishers has gone away?\n let leaving = msg['leaving']\n janus.current.log?.('Publisher left: ' + leaving)\n } else if (msg['error']) {\n janus.current.error?.('Error event: ' + msg['error'])\n }\n }\n }\n if (jsep) {\n janus.current.debug?.('Handling SDP as well...', jsep)\n plugin.handleRemoteJsep({ jsep: jsep })\n }\n },\n onlocaltrack: function (track, on) {\n janus.current.debug?.('Local track ' + (on ? 'added' : 'removed') + ':', track)\n // We use the track ID as name of the element, but it may contain invalid characters\n let trackId = track.id.replace(/[{}]/g, '')\n if (!on) {\n // Track removed, get rid of the stream and the rendering\n let stream = localTracks?.[trackId]\n if (stream) {\n try {\n let tracks = stream.getTracks()\n for (let i in tracks) {\n let mst = tracks[i]\n if (mst) mst.stop()\n }\n // eslint-disable-next-line no-unused-vars\n } catch (e) {}\n }\n if (track.kind === 'video') {\n dispatch.screenShare.update({\n localVideos: localVideos - 1,\n })\n }\n\n // remove track\n const filteredTracks = localTracks?.filter((track) => track !== localTracks[trackId])\n dispatch.screenShare.update({\n localTracks: filteredTracks,\n })\n return\n }\n // If we're here, a new track was added\n let stream = localTracks?.[trackId]\n if (stream) {\n // We've been here already\n return\n }\n\n if (track.kind === 'video') {\n // New video track: create a stream out of it\n dispatch.screenShare.update({\n localVideos: localVideos + 1,\n })\n let stream = new MediaStream([track])\n\n // Save the new video stream to the store\n store.dispatch.screenShare.update({\n localScreenStream: stream,\n })\n\n janus.current.log?.('Created local stream: ' + stream)\n const localScreenElement = store.getState().player.localScreen\n\n if (localScreenElement?.current) {\n janus.current.attachMediaStream?.(localScreenElement.current, stream)\n inviteOtherUser()\n\n // Listen for the 'ended' event on the screen-sharing track\n track.addEventListener('ended', () => {\n stopScreenShare()\n })\n }\n }\n const { plugin } = store.getState().screenShare\n\n if (\n plugin.webrtcStuff.pc.iceConnectionState !== 'completed' &&\n plugin.webrtcStuff.pc.iceConnectionState !== 'connected'\n ) {\n }\n },\n // eslint-disable-next-line no-unused-vars\n onremotetrack: function (track, mid, on) {\n // The publisher stream is sendonly, we don't expect anything here\n },\n oncleanup: function () {\n janus.current.log?.(' ::: Got a cleanup notification :::')\n\n dispatch.screenShare.update({\n localTracks: {},\n localVideos: 0,\n })\n },\n })\n }\n\n const updateScreenStreams = () => {\n const localScreenElement = store.getState().player.localScreen\n const remoteScreenElement = store.getState().player.remoteScreen\n const { localScreenStream, remoteScreenStream } = store.getState().screenShare\n\n // local screen stream\n\n if (localScreenElement?.current) {\n if (janus.current.attachMediaStream) {\n janus.current.attachMediaStream(\n localScreenElement.current,\n localScreenStream as MediaStream,\n )\n }\n }\n\n // remote screen stream\n\n if (remoteScreenElement?.current) {\n if (janus.current.attachMediaStream) {\n janus.current.attachMediaStream(\n remoteScreenElement.current,\n remoteScreenStream as MediaStream,\n )\n }\n }\n }\n\n const inviteOtherUser = () => {\n // send message to websocket to invite the other user\n const { socket } = store.getState().websocket\n const { username: destUsername } = store.getState().currentCall\n const { room } = store.getState().screenShare\n const { username } = store.getState().currentUser\n\n socket.emit('message', {\n message: 'screenSharingStart',\n roomId: room,\n destUser: destUsername,\n callUser: username,\n } as ScreenSharingMessage)\n }\n\n const initAndStartScreenShare = () => {\n dispatch.screenShare.update({ active: true, role: 'publisher' })\n initScreenShare()\n }\n useEventListener('phone-island-screen-share-start', () => {\n initAndStartScreenShare()\n })\n\n const initAndJoinScreenShare = () => {\n dispatch.screenShare.update({ active: true, role: 'listener' })\n initScreenShare()\n eventDispatch('phone-island-screen-share-joined', {})\n }\n\n const joinScreenShare = () => {\n const { room } = store.getState().screenShare\n const { username } = store.getState().currentUser\n\n const joinMessage = {\n request: 'join',\n room: room,\n ptype: 'publisher',\n display: username,\n }\n\n const { plugin } = store.getState().screenShare\n plugin.send({ message: joinMessage })\n }\n\n const leaveScreenShare = () => {\n const { remoteScreenStream } = store.getState().screenShare\n janus.current.stopAllTracks(remoteScreenStream)\n dispatch.screenShare.update({ active: false })\n eventDispatch('phone-island-screen-share-left', {})\n }\n\n const handleMouseMove = () => {\n setUiShown(true)\n\n if (uiTimeoutRef.current) {\n clearTimeout(uiTimeoutRef.current)\n uiTimeoutRef.current = null\n }\n }\n\n const startHideTimer = () => {\n // start a timer when mouse stops moving to hide video UI\n uiTimeoutRef.current = setTimeout(() => {\n setUiShown(false)\n }, 3000)\n }\n\n const handleMouseMoveWithDebounce = () => {\n handleMouseMove()\n\n // clear the previous debounce timer\n if (debounceTimerRef.current) {\n clearTimeout(debounceTimerRef.current)\n }\n\n // set a new debounce timer - when this isn't cleared, it means the mouse has stopped\n debounceTimerRef.current = setTimeout(() => {\n startHideTimer()\n }, 100) // small delay to detect \"stopped moving\"\n }\n\n const stopScreenShare = () => {\n const { plugin, localScreenStream } = store.getState().screenShare\n\n janus.current.stopAllTracks(localScreenStream)\n dispatch.screenShare.update({ active: false })\n plugin.detach()\n\n // send message to websocket to tell the other user the screen share has stopped\n const { socket } = store.getState().websocket\n const { username: destUsername } = store.getState().currentCall\n const { room } = store.getState().screenShare\n const { username } = store.getState().currentUser\n\n socket.emit('message', {\n message: 'screenSharingStop',\n roomId: room,\n destUser: destUsername,\n callUser: username,\n } as ScreenSharingMessage)\n\n eventDispatch('phone-island-screen-share-stopped', {})\n }\n useEventListener('phone-island-screen-share-stop', () => {\n stopScreenShare()\n })\n\n const pauseCall = () => {\n pauseCurrentCall()\n stopScreenShare()\n }\n\n const [isVideoCallButtonVisible, setIsVideoCallButtonVisible] = useState(true)\n\n const checkCameraPermission = async () => {\n if (videoInputDevices?.length > 0) {\n const isWebCamAccepted = await checkWebCamPermission()\n if (isWebCamAccepted) {\n setIsVideoCallButtonVisible(true)\n return true\n } else {\n setIsVideoCallButtonVisible(false)\n return false\n }\n } else {\n setIsVideoCallButtonVisible(false)\n return false\n }\n }\n\n return (\n <>\n {isOpen ? (\n <div\n ref={screenShareViewRef}\n onMouseMove={() => handleMouseMoveWithDebounce()}\n className={isFullscreen ? 'pi-h-screen' : 'pi-h-[480px] pi-w-[600px]'}\n >\n <div className={`pi-flex pi-relative pi-justify-center pi-w-full pi-h-full`}>\n {/* large remote screen */}\n <video\n autoPlay\n muted={true}\n ref={remoteScreen}\n className={`pi-rounded-2xl pi-w-full pi-h-full ${\n !screenShareActive || screenShareRole !== 'listener' ? 'pi-hidden' : ''\n }`}\n ></video>\n {/* large local screen */}\n <video\n autoPlay\n muted={true}\n ref={localScreen}\n className={`pi-rounded-2xl pi-w-full pi-h-full ${\n !screenShareActive || screenShareRole !== 'publisher' ? 'pi-hidden' : ''\n }`}\n ></video>\n {/* large remote video */}\n <video\n autoPlay\n muted={true}\n ref={largeRemoteVideo}\n className={`pi-rounded-2xl ${\n screenShareActive || showRemoteVideoPlaceHolder ? 'pi-hidden' : ''\n }`}\n ></video>\n {/* remote video placeholder */}\n <div\n className={`pi-w-full pi-bg-gray-200 dark:pi-bg-gray-800 pi-flex pi-items-center pi-justify-center ${\n screenShareActive || !showRemoteVideoPlaceHolder ? 'pi-hidden' : ''\n }`}\n >\n <div className='pi-rounded-full pi-bg-gray-700 dark:pi-bg-gray-200 pi-w-32 pi-h-32 pi-flex pi-items-center pi-justify-center'>\n <span className='pi-text-4xl pi-text-gray-50 dark:pi-text-gray-900'>\n {getInitials(displayName)}\n </span>\n </div>\n </div>\n {/* small local video */}\n <video\n muted={true}\n autoPlay\n ref={localVideo}\n className={`pi-max-w-32 pi-max-h-32 pi-absolute pi-top-5 pi-right-5 pi-rounded-lg ${\n !isLocalVideoEnabled ? 'pi-hidden' : ''\n }`}\n ></video>\n {/* small local video placeholder */}\n <div\n className={`pi-w-32 pi-h-24 pi-absolute pi-top-5 pi-right-5 pi-rounded-lg pi-bg-gray-200 dark:pi-bg-gray-900 pi-flex pi-items-center pi-justify-center ${\n isLocalVideoEnabled || !hasVideoTrackAdded ? 'pi-hidden' : ''\n }`}\n >\n <div className='pi-rounded-full pi-bg-gray-700 dark:pi-bg-gray-200 pi-w-12 pi-h-12 pi-flex pi-items-center pi-justify-center'>\n <span className='pi-text-base pi-text-gray-50 dark:pi-text-gray-900'>\n {getInitials(userInfo.name || '-')}\n </span>\n </div>\n </div>\n {/* small remote video */}\n <video\n muted={true}\n autoPlay\n ref={smallRemoteVideo}\n className={`pi-max-w-32 pi-max-h-32 pi-absolute pi-top-32 pi-right-5 pi-rounded-lg ${\n !screenShareActive || showRemoteVideoPlaceHolder ? 'pi-hidden' : ''\n }`}\n ></video>\n {/* small remote video placeholder */}\n <div\n className={`pi-w-32 pi-h-24 pi-absolute pi-top-32 pi-right-5 pi-rounded-lg pi-bg-gray-200 dark:pi-bg-gray-900 pi-flex pi-items-center pi-justify-center ${\n !screenShareActive || !showRemoteVideoPlaceHolder || !hasVideoTrackAdded\n ? 'pi-hidden'\n : ''\n }`}\n >\n <div className='pi-rounded-full pi-bg-gray-700 dark:pi-bg-gray-200 pi-w-12 pi-h-12 pi-flex pi-items-center pi-justify-center'>\n <span className='pi-text-base pi-text-gray-50 dark:pi-text-gray-900'>\n {getInitials(displayName)}\n </span>\n </div>\n </div>\n </div>\n\n <div\n className={`${\n !isUiShown && 'pi-opacity-0 pi-pointer-events-none'\n } pi-absolute pi-bottom-0 pi-bg-gray-950/65 pi-w-full pi-p-6 pi-rounded-bl-[20px] pi-rounded-br-[20px] pi-transition-all`}\n >\n <div className='pi-flex pi-items-center pi-justify-center pi-gap-6 pi-mb-5'>\n {/* mute button */}\n {!intrudeListenStatus?.isListen && (\n <Button\n variant='default'\n active={muted ? true : false}\n onClick={() => (muted ? unmuteCurrentCall() : muteCurrentCall())}\n data-tooltip-id='tooltip-mute'\n data-tooltip-content={muted ? `${t('Tooltip.Unmute')}` : `${t('Tooltip.Mute')}`}\n >\n {muted ? (\n <FontAwesomeIcon className='pi-h-6 pi-w-6' icon={faMicrophoneSlash} />\n ) : (\n <FontAwesomeIcon className='pi-h-6 pi-w-6' icon={faMicrophone} />\n )}\n </Button>\n )}\n\n {/* video button */}\n {videoInputDevices?.length > 0 && (\n <Button\n variant='default'\n onClick={() => toggleVideo()}\n data-tooltip-id='tooltip-toggle-video'\n data-tooltip-content={`${\n !isVideoCallButtonVisible\n ? t('Tooltip.Enable camera permission') || ''\n : isLocalVideoEnabled\n ? t('Tooltip.Disable camera')\n : t('Tooltip.Enable camera')\n }`}\n disabled={!isVideoCallButtonVisible}\n className={`${!isVideoCallButtonVisible ? 'pi-cursor-auto' : ''}`}\n >\n <FontAwesomeIcon\n className='pi-h-6 pi-w-6'\n icon={isVideoCallButtonVisible || isLocalVideoEnabled ? faVideo : faVideoSlash}\n />\n </Button>\n )}\n\n {/* Share screen button */}\n {janus.current.webRTCAdapter.browserDetails.browser !== 'safari' &&\n userInfo?.profile?.macro_permissions?.nethvoice_cti?.permissions?.screen_sharing\n ?.value &&\n !screenShareActive && (\n <Button\n variant='default'\n onClick={() => initAndStartScreenShare()}\n data-tooltip-id='tooltip-start-screen-share'\n data-tooltip-content={t('Tooltip.Share screen') || ''}\n >\n <FontAwesomeIcon className='pi-h-6 pi-w-6' icon={faDisplay} />\n </Button>\n )}\n\n {/* stop screen share */}\n {screenShareActive && screenShareRole === 'publisher' && (\n <Button\n variant='default'\n onClick={() => stopScreenShare()}\n data-tooltip-id='tooltip-stop-screen-share'\n data-tooltip-content={t('Tooltip.Stop sharing')}\n >\n <FontAwesomeIcon className='pi-h-6 pi-w-6' icon={faDisplaySlash} />\n </Button>\n )}\n\n {/* fullscreen */}\n {screenShareActive && screenShareRole === 'listener' && (\n <Button\n variant='default'\n onClick={() => toggleFullScreen()}\n data-tooltip-id='tooltip-toggle-fullscreen'\n data-tooltip-content={\n isFullscreen ? t('Tooltip.Exit fullscreen') : t('Tooltip.Enter fullscreen')\n }\n >\n <FontAwesomeIcon\n className='pi-h-6 pi-w-6'\n icon={isFullscreen ? faCompress : faExpand}\n />\n </Button>\n )}\n\n {/* record */}\n {userInfo?.profile?.macro_permissions?.settings?.permissions?.recording?.value && (\n <Button\n variant='default'\n onClick={() => recordCurrentCall(isRecording)}\n data-tooltip-id='tooltip-record-video-view'\n data-tooltip-content={\n isRecording ? t('Tooltip.Stop recording') : t('Tooltip.Record')\n }\n >\n <FontAwesomeIcon\n className='pi-h-6 pi-w-6'\n icon={isRecording ? faStop : faRecord}\n />\n </Button>\n )}\n\n {/* hold */}\n {!(intrudeListenStatus?.isIntrude || intrudeListenStatus?.isListen) && (\n <Button\n variant='default'\n onClick={() => (paused ? unpauseCurrentCall() : pauseCall())}\n data-tooltip-id='tooltip-pause-video-view'\n data-tooltip-content={paused ? t('Tooltip.Play') : t('Tooltip.Pause')}\n >\n <FontAwesomeIcon className='pi-h-6 pi-w-6' icon={paused ? faPlay : faPause} />\n </Button>\n )}\n </div>\n <Hangup buttonsVariant='default' />\n </div>\n {/* Buttons tooltips */}\n <CustomThemedTooltip className='pi-z-20' id='tooltip-mute-video-view' place='bottom' />\n <CustomThemedTooltip className='pi-z-20' id='tooltip-toggle-video' place='bottom' />\n <CustomThemedTooltip className='pi-z-20' id='tooltip-toggle-fullscreen' place='bottom' />\n <CustomThemedTooltip className='pi-z-20' id='tooltip-start-screen-share' place='bottom' />\n <CustomThemedTooltip className='pi-z-20' id='tooltip-stop-screen-share' place='bottom' />\n <CustomThemedTooltip className='pi-z-20' id='tooltip-record-video-view' place='bottom' />\n <CustomThemedTooltip className='pi-z-20' id='tooltip-pause-video-view' place='bottom' />\n </div>\n ) : (\n // collapsed view\n <>\n <div className='pi-flex pi-justify-between pi-items-center'>\n <Avatar />\n <Timer startTime={startTime} isNotAlwaysWhite />\n {!isOpen && remoteAudioStream && !isPhysical() && (\n <AudioBars\n audioStream={remoteAudioStream}\n paused={paused}\n size={isOpen ? 'large' : 'small'}\n />\n )}\n </div>\n </>\n )}\n </>\n )\n}\n\nexport default VideoView\n"],"names":["VideoView","dispatch","useDispatch","_l","useSelector","state","currentCall","muted","startTime","isRecording","paused","isLocalVideoEnabled","showRemoteVideoPlaceHolder","hasVideoTrackAdded","displayName","isStartingVideoCall","_m","screenShare","localTracks","localVideos","screenShareRole","role","screenShareActive","active","isStartingScreenShare","isJoiningScreenShare","isLeavingScreenShare","intrudeListenStatus","listen","isOpen","island","_o","webrtc","janusInstance","remoteAudioStream","userInfo","store","getState","currentUser","_p","useState","isFullscreen","setIsFullscreen","_q","isUiShown","setUiShown","uiTimeoutRef","useRef","debounceTimerRef","screenShareViewRef","localScreen","remoteScreen","localVideo","largeRemoteVideo","smallRemoteVideo","janus","JanusLib","videoInputDevices","select","mediaDevices","useIsomorphicLayoutEffect","player","updatePlayer","useEffect","updateScreenStreams","updateVideoStreams","addEventListener","handleFullscreenChange","removeEventListener","current","clearTimeout","enableVideo","updateCurrentCall","initAndStartScreenShare","update","initAndJoinScreenShare","leaveScreenShare","localVideoElement","largeRemoteVideoElement","smallRemoteVideoElement","_a","localVideoStream","remoteVideoStream","attachMediaStream","document","fullscreenElement","toggleFullScreen","exitFullscreen","eventDispatch","requestFullscreen","useEventListener","newRemoteFeed","id","display","source","remoteFeed","attach","plugin","opaqueId","randomString","success","pluginHandle","remoteTracks","remoteVideos","_b","log","call","getPlugin","getId","_d","_c","request","room","ptype","feed","send","message","error","iceState","rfindex","webrtcState","on","slowLink","uplink","lost","mid","warn","onmessage","msg","jsep","debug","event","_f","_e","_h","_g","_k","_j","createAnswer","tracks","type","body","onlocaltrack","track","onremotetrack","metadata","reason","kind","remoteScreenStream","stopAllTracks","stream","MediaStream","remoteScreenElement","oncleanup","sipcall","currentVideoInputDeviceId","getCurrentVideoInputDeviceId","recv","capture","deviceId","exact","replace","add","setVideoTrackAdded","push","createOffer","console","JSON","stringify","disableVideo","updateLocalVideoStream","setLocalVideoEnabled","remove","initScreenShare","setTimeout","isExtensionEnabled","create","description","bitrate","publishers","result","register","username","shareScreen","joinScreenShare","consentDialog","mediaState","medium","_w","audio","video","list","f","leaving","_r","_t","_s","_v","_u","handleRemoteJsep","trackId","stream_2","localScreenStream","localScreenElement","inviteOtherUser","stopScreenShare","webrtcStuff","pc","iceConnectionState","stream_1","getTracks","i","mst","stop","e","filteredTracks","filter","socket","websocket","destUsername","emit","roomId","destUser","callUser","joinMessage","handleMouseMoveWithDebounce","detach","isVideoCallButtonVisible","setIsVideoCallButtonVisible","checkCameraPermission","__awaiter","length","checkWebCamPermission","sent","React","createElement","Fragment","ref","onMouseMove","className","autoPlay","concat","getInitials","name","isListen","Button","variant","onClick","unmuteCurrentCall","muteCurrentCall","t","FontAwesomeIcon","icon","faMicrophoneSlash","faMicrophone","disabled","faVideo","faVideoSlash","webRTCAdapter","browserDetails","browser","profile","macro_permissions","nethvoice_cti","permissions","screen_sharing","value","faDisplay","faDisplaySlash","faCompress","faExpand","settings","recording","recordCurrentCall","faStop","faRecord","isIntrude","unpauseCurrentCall","pauseCurrentCall","faPlay","faPause","Hangup","buttonsVariant","CustomThemedTooltip","place","Avatar","Timer","isNotAlwaysWhite","isPhysical","AudioBars","audioStream","size"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("framer-motion"),t=require("react-redux");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=i(e);exports.default=function(e){var i=e.children,a=e.forView,o=t.useSelector((function(e){return e.island})).view;return n.default.createElement(r.motion.div,{animate:o===a?{opacity:1}:{opacity:0},transition:{duration:.05}},i&&i)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");require("../node_modules/react-redux/es/index.js");var r=require("../node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs.js"),t=require("../node_modules/react-redux/es/hooks/useSelector.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=o(e);exports.default=function(e){var o=e.children,i=e.forView,u=t.useSelector((function(e){return e.island})).view;return n.default.createElement(r.motion.div,{animate:u===i?{opacity:1}:{opacity:0},transition:{duration:.05}},o&&o)};
2
2
  //# sourceMappingURL=ViewsTransition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewsTransition.js","sources":["../../src/components/ViewsTransition.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type ReactNode, type FC } from 'react'\nimport { motion } from 'framer-motion'\nimport { useSelector } from 'react-redux'\nimport { RootState } from '../store'\n\nconst ViewsTransition: FC<ViewTransitionTypes> = ({ children, forView }) => {\n const { view } = useSelector((state: RootState) => state.island)\n return (\n <motion.div\n animate={view === forView ? { opacity: 1 } : { opacity: 0 }}\n transition={{ duration: 0.05 }}\n >\n {children && children}\n </motion.div>\n )\n}\n\nexport default ViewsTransition\n\ninterface ViewTransitionTypes {\n children: ReactNode\n forView: string\n}\n"],"names":["_a","children","forView","view","useSelector","state","island","React","createElement","motion","div","animate","opacity","transition","duration"],"mappings":"kPAQiD,SAACA,OAAEC,EAAQD,EAAAC,SAAEC,EAAOF,EAAAE,QAC3DC,EAASC,eAAY,SAACC,GAAqB,OAAAA,EAAMC,eACzD,OACEC,EAAC,QAAAC,cAAAC,EAAAA,OAAOC,IAAG,CACTC,QAASR,IAASD,EAAU,CAAEU,QAAS,GAAM,CAAEA,QAAS,GACxDC,WAAY,CAAEC,SAAU,MAEvBb,GAAYA,EAGnB"}
1
+ {"version":3,"file":"ViewsTransition.js","sources":["../../src/components/ViewsTransition.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type ReactNode, type FC } from 'react'\nimport { motion } from 'framer-motion'\nimport { useSelector } from 'react-redux'\nimport { RootState } from '../store'\n\nconst ViewsTransition: FC<ViewTransitionTypes> = ({ children, forView }) => {\n const { view } = useSelector((state: RootState) => state.island)\n return (\n <motion.div\n animate={view === forView ? { opacity: 1 } : { opacity: 0 }}\n transition={{ duration: 0.05 }}\n >\n {children && children}\n </motion.div>\n )\n}\n\nexport default ViewsTransition\n\ninterface ViewTransitionTypes {\n children: ReactNode\n forView: string\n}\n"],"names":["_a","children","forView","view","useSelector","state","island","React","createElement","motion","div","animate","opacity","transition","duration"],"mappings":"+YAQiD,SAACA,OAAEC,EAAQD,EAAAC,SAAEC,EAAOF,EAAAE,QAC3DC,EAASC,eAAY,SAACC,GAAqB,OAAAA,EAAMC,eACzD,OACEC,EAAC,QAAAC,cAAAC,EAAAA,OAAOC,IAAG,CACTC,QAASR,IAASD,EAAU,CAAEU,QAAS,GAAM,CAAEA,QAAS,GACxDC,WAAY,CAAEC,SAAU,MAEvBb,GAAYA,EAGnB"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react"),n=require("react-redux"),r=require("webrtc-adapter"),o=require("../lib/webrtc/janus.js"),a=require("../lib/webrtc/messages.js"),i=require("../store/index.js"),c=require("../lib/devices/devices.js"),l=require("../lib/phone/call.js"),s=require("../lib/webrtc/connection.js"),u=require("../static/outgoing_ringtone.js"),d=require("../utils/customHooks/useEventListener.js"),g=require("../utils/genericFunctions/eventDispatch.js"),v=require("../utils/genericFunctions/localStorage.js"),p=require("../lib/user/default_device.js");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var f=m(t),S=m(r);exports.WebRTC=function(r){var m,w,b=r.hostName,h=r.sipExten,D=r.sipSecret,C=r.children,I=r.sipHost,A=r.sipPort,R=r.reload,T=r.uaType,y=r.reloadedCallback,U=n.useDispatch(),k=t.useRef(null),E=t.useRef(!1),G=t.useRef(Date.now()),j=t.useRef(!1),O=t.useRef(0),N=t.useRef(!1),J=t.useRef(null),L=t.useRef(!1),P=t.useRef(!1),_=t.useRef(null),W=t.useRef(null),M=t.useRef(o.default),H={},V=t.useCallback((function(){var t,n,r,o,c,s;if(P.current)console.log("[JANUS-GUARD] initWebRTC already in progress, skipping",{timestamp:(new Date).toISOString()});else{P.current=!0,_.current&&clearTimeout(_.current),_.current=setTimeout((function(){P.current&&(console.warn("[JANUS-GUARD] Initialization timeout (30s) - resetting isInitializing flag",{timestamp:(new Date).toISOString()}),P.current=!1,N.current=!0,U.alerts.setAlert("webrtc_down"),g.eventDispatch("phone-island-alert-set",{type:"webrtc_down"})),_.current=null}),3e4);var d=i.store.getState().webrtc,m=d.janusInstance,f=d.registered,w=!0;if(m){var C=null===(t=m.getSessionId)||void 0===t?void 0:t.call(m),R=null===(n=m.isConnected)||void 0===n?void 0:n.call(m),y=O.current,k=Math.round(y/6e4),G=y>18e5,j=i.store.getState().webrtc,L=j.sipcall,V=!!j.jsepGlobal,q="connected"===(null===(o=null===(r=null==L?void 0:L.webrtcStuff)||void 0===r?void 0:r.pc)||void 0===o?void 0:o.iceConnectionState)||"completed"===(null===(s=null===(c=null==L?void 0:L.webrtcStuff)||void 0===c?void 0:c.pc)||void 0===s?void 0:s.iceConnectionState);if(R&&f&&(!G||(V||q)))console.log("[JANUS-GUARD] Valid session already exists, skipping init",{sessionId:C,isConnected:R,registered:f,inactivityMinutes:k,hasIncomingCall:V,hasActiveCall:q,timestamp:(new Date).toISOString()}),w=!1;else{var x=R?f?G?"long inactivity (".concat(k," min) without active call"):"unknown":"not registered":"not connected";console.warn("[JANUS-GUARD] Session exists but is invalid, cleaning up and reinitializing",{reason:x,sessionId:C,isConnected:R,registered:f,inactivityMinutes:k,hasIncomingCall:V,hasActiveCall:q,timestamp:(new Date).toISOString()});try{m.destroy({unload:!0,notifyDestroyed:!1,cleanupHandles:!0})}catch(e){console.error("[JANUS-GUARD] Error destroying session",e)}i.store.dispatch.webrtc.updateWebRTC({janusInstance:null,sipcall:null,registered:!1,jsepGlobal:null})}}if(!w)return P.current=!1,void(_.current&&(clearTimeout(_.current),_.current=null));console.log("[JANUS-GUARD] Creating new session",{timestamp:(new Date).toISOString()}),M.current.init({debug:"all",dependencies:M.current.useDefaultDependencies({adapter:S.default}),callback:function(){var t,n=new M.current({server:"https://".concat(b,"/janus"),success:function(){n.attach&&n.attach({plugin:"janus.plugin.sip",opaqueId:"sebastian_"+(new Date).getTime(),success:function(e){e&&(U.webrtc.updateWebRTC({sipcall:e}),a.register({sipExten:h,sipSecret:D,sipHost:I,sipPort:A}),e&&M.current.log&&M.current.log("SIP plugin attached! ("+e.getPlugin()+", id = )"))},error:function(e){M.current.error&&(M.current.error(" -- Error attaching plugin..."),M.current.error(e)),P.current=!1,_.current&&(clearTimeout(_.current),_.current=null)},consentDialog:function(e){M.current.log&&M.current.log("janus consentDialog (on: ".concat(e,")"))},webrtcState:function(e){if(M.current.log&&M.current.log("Janus says our WebRTC PeerConnection is "+(e?"up":"down")+" now"),e){var t=i.store.getState().island.view,n=i.store.getState().currentCall,r=n.accepted,o=n.outgoing,a=n.incoming;(r||o||a)&&!t&&(console.warn('[WEBRTC] WebRTC up but view is null with active call - forcing view to "call"'),i.store.dispatch.island.setIslandView("call"))}},iceState:function(e){if(i.store.getState().webrtc.sipcall&&M.current.log&&M.current.log('ICE state of PeerConnection of handle has changed to "'.concat(e,'"')),"connected"===e||"completed"===e){var t=i.store.getState().island.view,n=i.store.getState().currentCall,r=n.accepted,o=n.outgoing,a=n.incoming;(r||o||a)&&!t&&(console.warn('[WEBRTC] ICE connected but view is null with active call - forcing view to "call"'),i.store.dispatch.island.setIslandView("call"))}},mediaState:function(e,t){M.current.log&&M.current.log("Janus "+(t?"started":"stopped")+" receiving our "+e)},slowLink:function(e,t){e?M.current.warn&&M.current.warn("SLOW link: several missing packets from janus (".concat(t,")")):M.current.warn&&M.current.warn("SLOW link: janus is not receiving all your packets (".concat(t,")"))},onmessage:function(e,t){var n=i.store.getState().webrtc.sipcall;M.current.debug&&(M.current.debug(" ::: Got a message :::"),M.current.debug(JSON.stringify(e)));var r=e.error;if(null==r||null==r){var o=e.result;if(null!=o&&void 0!==o.event&&null!==o.event){var c=o.event,s=i.store.getState().recorder.recording,d=i.store.getState().island.view;switch(c){case"registration_failed":M.current.error&&M.current.error("Registration failed: "+o.code+" "+o.reason);break;case"unregistered":M.current.log&&M.current.log("Successfully un-registered as "+o.username+"!"),i.store.dispatch.webrtc.updateWebRTC({registered:!1}),g.eventDispatch("phone-island-webrtc-unregistered",{});break;case"registered":M.current.log&&M.current.log("Successfully registered as "+o.username+"!"),console.log("[REGISTER] Registration successful",{username:o.username,wasAlreadyRegistered:i.store.getState().webrtc.registered,timestamp:(new Date).toISOString()}),g.eventDispatch("phone-island-webrtc-registered",{}),i.store.getState().webrtc.registered||i.store.dispatch.webrtc.updateWebRTC({registered:!0}),U.alerts.removeAlert("webrtc_down"),g.eventDispatch("phone-island-alert-removed",{type:"webrtc_down"}),N.current=!1,P.current=!1,_.current&&(clearTimeout(_.current),_.current=null),W.current&&(clearTimeout(W.current),W.current=null,console.info("[JANUS-GUARD] Cleared network error grace timeout - connection restored")),U.webrtc.updateLastActivity((new Date).getTime());break;case"registering":M.current.log&&M.current.log("janus registering");break;case"calling":U.currentCall.checkOutgoingUpdate({outgoingWebRTC:!0}),U.webrtc.updateLastActivity((new Date).getTime());break;case"ringing":i.store.getState().player.audioPlayerPlaying||U.player.updateStartAudioPlayer({src:u.default,loop:!0}),U.webrtc.updateLastActivity((new Date).getTime()),"call"!==d&&U.island.setIslandView("call");break;case"progress":M.current.log&&M.current.log("There's early media from "+o.username+", wairing for the call!"),t&&a.handleRemote(t),U.webrtc.updateLastActivity((new Date).getTime());break;case"incomingcall":var v=i.store.getState().currentUser.default_device,m=i.store.getState().currentUser,f=m.endpoints,S=m.username,w=i.store.getState().users.extensions,b=function(){if(!w||!S)return!1;var e=Object.values(w).filter((function(e){return(null==e?void 0:e.username)===S}));return null==e?void 0:e.some((function(e){var t=null==f?void 0:f.extension.find((function(t){return t.id===(null==e?void 0:e.exten)}));return"nethlink"===(null==t?void 0:t.type)&&"offline"!==(null==e?void 0:e.status)}))};t&&(console.log("[JSEP] Saving jsepGlobal for incoming call",{from:o.username,timestamp:(new Date).toISOString()}),U.webrtc.updateWebRTC({jsepGlobal:t}),J.current=Date.now()),("mobile"===T&&b()||"desktop"===T&&("webrtc"===(null==v?void 0:v.type)||void 0===(null==v?void 0:v.type)&&!b()||!b()&&"physical"===(null==v?void 0:v.type)))&&(s?U.recorder.setIncoming(!0):(U.currentCall.checkIncomingUpdatePlay({incoming:!0,incomingWebRTC:!0}),M.current.log&&(U.currentCall.updateIncoming(!0),M.current.log("Incoming call from "+o.username+"!"))),U.webrtc.updateLastActivity((new Date).getTime()));break;case"accepted":var h=Math.floor(Date.now()/1e3);if(M.current.log){var D=o.username||o.displayname||i.store.getState().currentCall.number||"Remote party";M.current.log(D+" accepted the call!")}t&&a.handleRemote(t),console.log("[JSEP] Clearing jsepGlobal after call accepted",{timestamp:(new Date).toISOString()}),U.webrtc.updateWebRTC({jsepGlobal:null}),J.current=null,U.currentCall.checkAcceptedUpdate({acceptedWebRTC:!0}),U.currentCall.updateCurrentCall({incoming:!1,incomingWebRTC:!1,startTime:null==h?void 0:h.toString()}),i.store.dispatch.player.stopAudioPlayer(),U.webrtc.updateLastActivity((new Date).getTime());break;case"hangup":console.log("[JSEP] Clearing jsepGlobal on hangup",{timestamp:(new Date).toISOString()}),U.webrtc.updateWebRTC({jsepGlobal:null}),J.current=null,s&&U.recorder.setRecording(!1),p.isPhysical()||"mobile"===T||(l.hangupCurrentCall(),n.hangup(),i.store.dispatch.player.stopAudioPlayer(),i.store.dispatch.currentCall.reset(),M.current.log&&M.current.log("Call hung up ("+o.code+" "+o.reason+")!"),U.webrtc.updateLastActivity((new Date).getTime())),i.store.dispatch.player.stopAudioPlayer();var C=i.store.getState().screenShare,I=C.active,A=C.plugin,R=C.localScreenStream,y=C.remoteScreenStream;I&&(M.current.stopAllTracks(R),M.current.stopAllTracks(y),U.screenShare.update({active:!1}),A.detach()),N.current&&(console.info("[JANUS-GUARD] Call ended with stale connection - forcing reload to reset Janus session",{timestamp:(new Date).toISOString()}),setTimeout((function(){U.island.setForceReload(!0)}),500));break;case"gateway_down":console.warn("THE GATEWAY IS DOWN");break;case"info":"application/media_control+xml"===o.type&&o.content.includes("<picture_fast_update")&&n.send({message:{request:"keyframe",user:!0,peer:!0}});break;default:M.current.debug&&M.current.debug("Event not handled:",c)}}}else i.store.getState().webrtc.registered?(n&&n.hangup(),i.store.dispatch.player.stopAudioPlayer()):M.current.log&&M.current.log("User is not registered")},onlocaltrack:function(e,t){M.current.debug&&M.current.debug("Local track "+(t?"added":"removed")+":",e);var n=e.id.replace(/[{}]/g,"");if(!t){var r=H[n];if(r)try{var o=r.getTracks();for(var a in o){var c=o[a];c&&c.stop()}}catch(e){M.current.error&&M.current.error("Error removing track:",e)}return e.kind,void delete H[n]}var l=H[n];if(!l)if("audio"===e.kind)l=new MediaStream([e]),i.store.dispatch.webrtc.updateLocalAudioStream(l);else{l=new MediaStream([e]),i.store.dispatch.webrtc.updateLocalVideoStream(l),H[n]=l,M.current.debug&&M.current.debug("Created local stream:",l);var s=i.store.getState().player.localVideo;M.current.attachMediaStream&&s&&s.current&&M.current.attachMediaStream(s.current,l)}},onremotetrack:function(t,n,r){var o=this;if(M.current.debug&&M.current.debug("Remote track (mid="+n+") "+(r?"added":"removed")+":",t),i.store.dispatch.player.stopAudioPlayer(),!r)return t.kind,void U.currentCall.updateCurrentCall({showRemoteVideoPlaceHolder:!0});if("audio"===t.kind){var a=new MediaStream([t]);M.current.debug&&M.current.debug("Created remote audio stream: "+a);var c=i.store.getState().player.remoteAudio;if(c&&c.current&&M.current.attachMediaStream){M.current.attachMediaStream(c.current,a);var l=v.getJSONItem("phone-island-audio-output-device");if(null==l?void 0:l.deviceId){e.__awaiter(o,void 0,void 0,(function(){var t,n,r,o,a;return e.__generator(this,(function(e){switch(e.label){case 0:if(!(t=l.deviceId)||"default"===t)return[3,4];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,navigator.mediaDevices.enumerateDevices()];case 2:return n=e.sent(),n.filter((function(e){return"audiooutput"===e.kind})).some((function(e){return e.deviceId===t}))||(console.warn("Saved audio device ".concat(t," no longer available, using default device")),t="default",v.setJSONItem("phone-island-audio-output-device",{deviceId:"default"})),[3,4];case 3:return r=e.sent(),console.warn("Error checking device availability, using default:",r),t="default",[3,4];case 4:if(!c.current)return console.warn("Remote audio element no longer available"),[2];e.label=5;case 5:return e.trys.push([5,7,,12]),[4,c.current.setSinkId(t)];case 6:return e.sent(),console.info("Audio output device applied successfully to new stream:",t),[3,12];case 7:if(o=e.sent(),console.warn("Failed to apply audio output device to new stream:",o),"default"===t||!c.current)return[3,11];e.label=8;case 8:return e.trys.push([8,10,,11]),[4,c.current.setSinkId("default")];case 9:return e.sent(),v.setJSONItem("phone-island-audio-output-device",{deviceId:"default"}),console.info("Fallback to default device successful"),[3,11];case 10:return a=e.sent(),console.error("Even default device failed:",a),[3,11];case 11:return[3,12];case 12:return[2]}}))}))}}i.store.dispatch.webrtc.updateRemoteAudioStream(a)}else{a=new MediaStream([t]);i.store.dispatch.webrtc.updateRemoteVideoStream(a),M.current.debug&&M.current.debug("Created remote video stream:"+a);var s=i.store.getState().player.largeRemoteVideo,u=i.store.getState().player.smallRemoteVideo;M.current.attachMediaStream&&s&&s.current&&M.current.attachMediaStream(s.current,a),M.current.attachMediaStream&&u&&u.current&&(M.current.attachMediaStream(u.current,a),U.currentCall.updateCurrentCall({showRemoteVideoPlaceHolder:!1}))}},oncleanup:function(){M.current.log&&M.current.log(" ::: janus Got a cleanup notification :::")}})},error:function(e){var t,n;M.current.log&&M.current.log("error",e),console.warn("[JANUS-GUARD] Network error detected, marking connection as stale",{error:e,timestamp:(new Date).toISOString()}),N.current=!0,P.current=!1,_.current&&(clearTimeout(_.current),_.current=null);var r=i.store.getState().webrtc.sipcall,o=i.store.getState().currentCall,a=o.accepted,c=o.outgoing,l=null===(n=null===(t=null==r?void 0:r.webrtcStuff)||void 0===t?void 0:t.pc)||void 0===n?void 0:n.iceConnectionState;a||c||"connected"===l||"completed"===l?(console.info("[JANUS-GUARD] Network error during active call - giving ICE grace period to recover",{iceState:l,accepted:a,outgoing:c,timestamp:(new Date).toISOString()}),W.current&&clearTimeout(W.current),W.current=setTimeout((function(){var e,t,n=i.store.getState().webrtc.sipcall,r=null===(t=null===(e=null==n?void 0:n.webrtcStuff)||void 0===e?void 0:e.pc)||void 0===t?void 0:t.iceConnectionState,o=i.store.getState().currentCall,a=o.accepted,c=o.outgoing,l=a||c;l&&("disconnected"===r||"failed"===r||!r)?(console.warn("[JANUS-GUARD] ICE failed to recover after grace period - resetting call state and activating alert",{checkIceState:r||"undefined/null",timestamp:(new Date).toISOString()}),i.store.dispatch.currentCall.reset(),U.alerts.setAlert("webrtc_down")):l?console.info("[JANUS-GUARD] ICE recovered during grace period - call preserved, Janus HTTP still stale",{checkIceState:r,connectionStale:N.current,timestamp:(new Date).toISOString()}):(console.info("[JANUS-GUARD] Call ended during grace period - activating alert for reconnection",{timestamp:(new Date).toISOString()}),U.alerts.setAlert("webrtc_down")),W.current=null}),15e3)):U.alerts.setAlert("webrtc_down")},destroyed:function(){console.log("[JANUS-GUARD] Session destroyed, clearing janusInstance",{timestamp:(new Date).toISOString()}),P.current=!1,_.current&&(clearTimeout(_.current),_.current=null),U.webrtc.updateWebRTC({destroyed:!0,janusInstance:null}),E.current?console.log("[JANUS-GUARD] Skipping alert activation (voluntary reload in progress)"):(console.log("[JANUS-GUARD] Activating webrtc_down alert (not a voluntary reload)"),U.alerts.setAlert("webrtc_down"))}});console.log("[JANUS-GUARD] Saving janusInstance to Redux",{sessionId:null===(t=n.getSessionId)||void 0===t?void 0:t.call(n),timestamp:(new Date).toISOString()}),U.webrtc.updateWebRTC({janusInstance:n})}})}}),[M.current]);t.useEffect((function(){void 0!==i.store.getState().currentUser.default_device&&c.checkMediaPermissions()}),[null===(w=null===(m=null===i.store||void 0===i.store?void 0:i.store.getState())||void 0===m?void 0:m.currentUser)||void 0===w?void 0:w.default_device]);var q=t.useState(navigator.onLine),x=q[0],z=q[1],F=t.useState(!1),B=F[0],Y=F[1],K=t.useRef(!1);return t.useEffect((function(){var e=function(){return z(!0)},t=function(){return z(!1)};return window.addEventListener("online",e),window.addEventListener("offline",t),function(){window.removeEventListener("online",e),window.removeEventListener("offline",t)}}),[]),t.useEffect((function(){x?K.current&&(console.log("Internet connection restored."),Y(!0),K.current=!1):(console.log("Internet connection lost."),K.current=!0,Y(!1))}),[x]),t.useEffect((function(){var e;return V(),e=i.store.getState().webrtc.CHECK_INTERVAL_TIME,k.current||(k.current=setInterval((function(){return s.webrtcCheck((function(){a.register({sipExten:h,sipSecret:D,sipHost:I,sipPort:A})}))}),e)),function(){a.unregister(),clearInterval(k.current),_.current&&(clearTimeout(_.current),_.current=null),W.current&&(clearTimeout(W.current),W.current=null)}}),[]),t.useEffect((function(){var e,t,n,r,o;if(R||B){var c=i.store.getState().alerts.data,l=i.store.getState().island.forceReload,s=i.store.getState().webrtc,u=s.sipcall,d=s.janusInstance,g=i.store.getState().currentCall,v=g.accepted,p=g.outgoing,m=null===(t=null===(e=null==u?void 0:u.webrtcStuff)||void 0===e?void 0:e.pc)||void 0===t?void 0:t.iceConnectionState,f=v||p||"connected"===m||"completed"===m,S=(null===(n=c.webrtc_down)||void 0===n?void 0:n.active)||!1;if(B&&f&&!l){var w=null===(r=null==d?void 0:d.isConnected)||void 0===r?void 0:r.call(d);return!w&&(null==d?void 0:d.reconnect)?(console.info("[JANUS-GUARD] Connection returned with active call but Janus HTTP is dead - attempting Janus reconnect",{iceState:m,sessionId:null===(o=null==d?void 0:d.getSessionId)||void 0===o?void 0:o.call(d),timestamp:(new Date).toISOString()}),d.reconnect({success:function(){var e;console.info("[JANUS-GUARD] Janus HTTP reconnected successfully during active call (connectionReturned)",{sessionId:null===(e=null==d?void 0:d.getSessionId)||void 0===e?void 0:e.call(d),timestamp:(new Date).toISOString()}),N.current=!1,W.current&&(clearTimeout(W.current),W.current=null)},error:function(e){console.error("[JANUS-GUARD] Janus reconnect failed during active call (connectionReturned)",{error:e,timestamp:(new Date).toISOString()}),N.current=!0}})):console.info("[JANUS-GUARD] Connection returned but active call in progress - Janus still connected, no action needed",{iceState:m,janusConnected:w,timestamp:(new Date).toISOString()}),void Y(!1)}if(S||l||B){if(E.current||P.current)return void console.log("[JANUS-GUARD] Reload or init already in progress, skipping",{isReloading:E.current,isInitializing:P.current});E.current=!0,_.current&&(clearTimeout(_.current),_.current=null),console.info(l?"Force reload requested, performing full WebRTC reconnection":B?"Internet connection restored, performing full WebRTC reconnection":"WebRTC down detected (alert active), performing full reload"),l&&i.store.dispatch.island.setForceReload(!1),console.log("[JANUS-GUARD] Manual reload, clearing janusInstance and registered state",{timestamp:(new Date).toISOString()}),U.webrtc.updateWebRTC({janusInstance:null,sipcall:null,registered:!1,jsepGlobal:null}),J.current=null,a.unregister(),u&&u.detach(),d&&d.destroy&&d.destroy({unload:!0,notifyDestroyed:!1,cleanupHandles:!0}),setTimeout((function(){V(),B&&Y(!1),y&&y(),setTimeout((function(){E.current=!1,N.current=!1,L.current=!1,O.current=0}),1e3)}),100)}else console.info("WebRTC already connected (no alert active), skipping heavy reload"),y&&y()}}),[R,B]),t.useEffect((function(){var e,t=function(){var e;navigator&&(null===navigator||void 0===navigator?void 0:navigator.mediaDevices)&&(null===(e=null===navigator||void 0===navigator?void 0:navigator.mediaDevices)||void 0===e?void 0:e.enumerateDevices)?null===navigator||void 0===navigator||navigator.mediaDevices.enumerateDevices().then((function(e){U.mediaDevices.updateMediaDevices(e)})).catch((function(e){console.error("Error fetching devices:",e)})):(console.warn("MediaDevices API not supported in this browser or context"),U.mediaDevices.updateMediaDevices([]))};if(t(),navigator&&(null===navigator||void 0===navigator?void 0:navigator.mediaDevices))return null===(e=null===navigator||void 0===navigator?void 0:navigator.mediaDevices)||void 0===e||e.addEventListener("devicechange",t),function(){var e;null===(e=null===navigator||void 0===navigator?void 0:navigator.mediaDevices)||void 0===e||e.removeEventListener("devicechange",t)}}),[]),t.useEffect((function(){var e=function(){console.warn("[STANDBY-GUARD] Page frozen (standby or browser froze tab)",{timestamp:(new Date).toISOString()}),L.current=!0},t=function(){console.log("[STANDBY-GUARD] Page resumed from freeze",{timestamp:(new Date).toISOString()})};return document.addEventListener("freeze",e),document.addEventListener("resume",t),function(){document.removeEventListener("freeze",e),document.removeEventListener("resume",t)}}),[]),t.useEffect((function(){var e=function(){var e,t,n,r,o=Date.now();if(document.hidden)j.current=!0,G.current=o,console.log("[STANDBY-GUARD] Tab going to background",{timestamp:(new Date).toISOString()});else if(j.current){var c=o-G.current;O.current=c,console.log("[STANDBY-GUARD] Tab returning to foreground",{timeHiddenMs:c,timeHiddenMinutes:Math.round(c/6e4),wasFrozen:L.current,timestamp:(new Date).toISOString()});var l=i.store.getState().webrtc,s=l.registered,u=l.jsepGlobal,d=l.sipcall,g=i.store.getState().currentCall.outgoing,v=!!u,p="connected"===(null===(t=null===(e=null==d?void 0:d.webrtcStuff)||void 0===e?void 0:e.pc)||void 0===t?void 0:t.iceConnectionState)||"completed"===(null===(r=null===(n=null==d?void 0:d.webrtcStuff)||void 0===n?void 0:n.pc)||void 0===r?void 0:r.iceConnectionState),m=v||p||g,f=c>18e4&&!m,S=c>18e5&&!m,w=L.current||N.current||f||S;if(w){var b=L.current?"frozen":N.current?"stale connection":S?"throttled >30min (session too old)":"throttled >3min";if(m){var h=p?"active call":g?"outgoing call":"incoming call";console.warn("[STANDBY-GUARD] Reload needed (".concat(b,") but ").concat(h," in progress. ")+"Skipping reload to preserve call.",{wasFrozen:L.current,connectionStale:N.current,wasThrottledShort:f,wasThrottledVeryLong:S,hasIncomingCall:v,hasOutgoingCall:g,hasActiveCall:p,timestamp:(new Date).toISOString()})}else console.warn("[STANDBY-GUARD] Reload needed (".concat(b,"), forcing reload"),{wasFrozen:L.current,connectionStale:N.current,wasThrottledShort:f,wasThrottledVeryLong:S,timestamp:(new Date).toISOString()})}else if(m){h=p?"active call":g?"outgoing call":"incoming call";console.log("[STANDBY-GUARD] Tab change without issues, ".concat(h," preserved"),{timeHiddenMinutes:Math.round(c/6e4),hasIncomingCall:v,hasOutgoingCall:g,hasActiveCall:p,timestamp:(new Date).toISOString()})}var D=s&&!E.current&&!P.current&&w&&!v&&!g;if(D){console.warn("[STANDBY-GUARD] ⚠️ Reloading WebRTC",{timestamp:(new Date).toISOString()}),E.current=!0,_.current&&(clearTimeout(_.current),_.current=null);var C=i.store.getState().webrtc,I=C.janusInstance,A=C.sipcall;a.unregister(),A&&A.detach(),I&&I.destroy&&I.destroy({unload:!0,notifyDestroyed:!1,cleanupHandles:!0}),U.webrtc.updateWebRTC({janusInstance:null,sipcall:null,registered:!1,jsepGlobal:null}),J.current=null,setTimeout((function(){V(),setTimeout((function(){E.current=!1,N.current=!1,L.current=!1,O.current=0}),1e3)}),100)}j.current=!1,D||(L.current=!1,O.current=0)}};return document.addEventListener("visibilitychange",e),function(){document.removeEventListener("visibilitychange",e)}}),[V,U]),d.useEventListener("phone-island-attach",(function(e){console.log("[EVENT] phone-island-attach received, calling initWebRTC",{timestamp:(new Date).toISOString()}),V(),g.eventDispatch("phone-island-attached",{})})),d.useEventListener("phone-island-socket-reconnected",(function(){var e,t,n,r,o=i.store.getState().webrtc,a=o.sipcall,c=o.janusInstance,l=i.store.getState().currentCall,s=l.accepted,u=l.outgoing,d=null===(t=null===(e=null==a?void 0:a.webrtcStuff)||void 0===e?void 0:e.pc)||void 0===t?void 0:t.iceConnectionState,g=s||u||"connected"===d||"completed"===d,v=null===(n=null==c?void 0:c.isConnected)||void 0===n?void 0:n.call(c);return console.log("[EVENT] phone-island-socket-reconnected received",{hasActiveCall:g,iceState:d,accepted:s,outgoing:u,janusConnected:v,timestamp:(new Date).toISOString()}),g&&!v&&(null==c?void 0:c.reconnect)?(console.info("[EVENT] Socket reconnected with active call but Janus HTTP is dead - attempting Janus reconnect",{iceState:d,sessionId:null===(r=null==c?void 0:c.getSessionId)||void 0===r?void 0:r.call(c),timestamp:(new Date).toISOString()}),void c.reconnect({success:function(){var e;console.info("[JANUS-GUARD] Janus HTTP reconnected successfully during active call",{sessionId:null===(e=null==c?void 0:c.getSessionId)||void 0===e?void 0:e.call(c),timestamp:(new Date).toISOString()}),N.current=!1,W.current&&(clearTimeout(W.current),W.current=null)},error:function(e){console.error("[JANUS-GUARD] Janus reconnect failed during active call",{error:e,timestamp:(new Date).toISOString()}),N.current=!0}})):g&&v?(console.info("[EVENT] Socket reconnected with active call, Janus HTTP still connected - no action needed",{iceState:d,timestamp:(new Date).toISOString()}),void(W.current&&(clearTimeout(W.current),W.current=null))):(i.store.getState().webrtc.jsepGlobal&&(console.log("[EVENT] Clearing stale jsepGlobal after socket reconnect",{timestamp:(new Date).toISOString()}),U.webrtc.updateWebRTC({jsepGlobal:null}),J.current=null),void Y(!0))})),d.useEventListener("phone-island-call-transfer",(function(t){var n=null==t?void 0:t.to;U.island.toggleIsOpen(!0),function(t){e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,l.attendedTransfer(t)];case 1:return e.sent()&&(U.currentCall.updateCurrentCall({transferring:!0,paused:!1}),U.player.playRemoteAudio()),[2]}}))}))}(n),g.eventDispatch("phone-island-call-transfer-opened",{})})),f.default.createElement(f.default.Fragment,null,C)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../node_modules/tslib/tslib.es6.js"),t=require("react");require("../node_modules/react-redux/es/index.js");var n=require("../node_modules/webrtc-adapter/src/js/adapter_core.js"),r=require("../lib/webrtc/janus.js"),o=require("../lib/webrtc/messages.js"),a=require("../store/index.js"),i=require("../lib/devices/devices.js"),c=require("../lib/phone/call.js"),l=require("../lib/webrtc/connection.js"),s=require("../static/outgoing_ringtone.js"),u=require("../utils/customHooks/useEventListener.js"),d=require("../utils/genericFunctions/eventDispatch.js"),g=require("../utils/genericFunctions/localStorage.js"),v=require("../lib/user/default_device.js"),p=require("../node_modules/react-redux/es/hooks/useDispatch.js");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var f=m(t);exports.WebRTC=function(m){var S,w,b=m.hostName,h=m.sipExten,D=m.sipSecret,C=m.children,I=m.sipHost,A=m.sipPort,R=m.reload,T=m.uaType,y=m.reloadedCallback,k=p.useDispatch(),U=t.useRef(null),E=t.useRef(!1),j=t.useRef(Date.now()),G=t.useRef(!1),O=t.useRef(0),N=t.useRef(!1),J=t.useRef(null),_=t.useRef(!1),L=t.useRef(!1),P=t.useRef(null),W=t.useRef(null),M=t.useRef(r.default),H={},q=t.useCallback((function(){var t,r,i,l,u,p;if(L.current)console.log("[JANUS-GUARD] initWebRTC already in progress, skipping",{timestamp:(new Date).toISOString()});else{L.current=!0,P.current&&clearTimeout(P.current),P.current=setTimeout((function(){L.current&&(console.warn("[JANUS-GUARD] Initialization timeout (30s) - resetting isInitializing flag",{timestamp:(new Date).toISOString()}),L.current=!1,N.current=!0,k.alerts.setAlert("webrtc_down"),d.eventDispatch("phone-island-alert-set",{type:"webrtc_down"})),P.current=null}),3e4);var m=a.store.getState().webrtc,f=m.janusInstance,S=m.registered,w=!0;if(f){var C=null===(t=f.getSessionId)||void 0===t?void 0:t.call(f),R=null===(r=f.isConnected)||void 0===r?void 0:r.call(f),y=O.current,U=Math.round(y/6e4),j=y>18e5,G=a.store.getState().webrtc,_=G.sipcall,q=!!G.jsepGlobal,V="connected"===(null===(l=null===(i=null==_?void 0:_.webrtcStuff)||void 0===i?void 0:i.pc)||void 0===l?void 0:l.iceConnectionState)||"completed"===(null===(p=null===(u=null==_?void 0:_.webrtcStuff)||void 0===u?void 0:u.pc)||void 0===p?void 0:p.iceConnectionState);if(R&&S&&(!j||(q||V)))console.log("[JANUS-GUARD] Valid session already exists, skipping init",{sessionId:C,isConnected:R,registered:S,inactivityMinutes:U,hasIncomingCall:q,hasActiveCall:V,timestamp:(new Date).toISOString()}),w=!1;else{var x=R?S?j?"long inactivity (".concat(U," min) without active call"):"unknown":"not registered":"not connected";console.warn("[JANUS-GUARD] Session exists but is invalid, cleaning up and reinitializing",{reason:x,sessionId:C,isConnected:R,registered:S,inactivityMinutes:U,hasIncomingCall:q,hasActiveCall:V,timestamp:(new Date).toISOString()});try{f.destroy({unload:!0,notifyDestroyed:!1,cleanupHandles:!0})}catch(e){console.error("[JANUS-GUARD] Error destroying session",e)}a.store.dispatch.webrtc.updateWebRTC({janusInstance:null,sipcall:null,registered:!1,jsepGlobal:null})}}if(!w)return L.current=!1,void(P.current&&(clearTimeout(P.current),P.current=null));console.log("[JANUS-GUARD] Creating new session",{timestamp:(new Date).toISOString()}),M.current.init({debug:"all",dependencies:M.current.useDefaultDependencies({adapter:n.default}),callback:function(){var t,n=new M.current({server:"https://".concat(b,"/janus"),success:function(){n.attach&&n.attach({plugin:"janus.plugin.sip",opaqueId:"sebastian_"+(new Date).getTime(),success:function(e){e&&(k.webrtc.updateWebRTC({sipcall:e}),o.register({sipExten:h,sipSecret:D,sipHost:I,sipPort:A}),e&&M.current.log&&M.current.log("SIP plugin attached! ("+e.getPlugin()+", id = )"))},error:function(e){M.current.error&&(M.current.error(" -- Error attaching plugin..."),M.current.error(e)),L.current=!1,P.current&&(clearTimeout(P.current),P.current=null)},consentDialog:function(e){M.current.log&&M.current.log("janus consentDialog (on: ".concat(e,")"))},webrtcState:function(e){if(M.current.log&&M.current.log("Janus says our WebRTC PeerConnection is "+(e?"up":"down")+" now"),e){var t=a.store.getState().island.view,n=a.store.getState().currentCall,r=n.accepted,o=n.outgoing,i=n.incoming;(r||o||i)&&!t&&(console.warn('[WEBRTC] WebRTC up but view is null with active call - forcing view to "call"'),a.store.dispatch.island.setIslandView("call"))}},iceState:function(e){if(a.store.getState().webrtc.sipcall&&M.current.log&&M.current.log('ICE state of PeerConnection of handle has changed to "'.concat(e,'"')),"connected"===e||"completed"===e){var t=a.store.getState().island.view,n=a.store.getState().currentCall,r=n.accepted,o=n.outgoing,i=n.incoming;(r||o||i)&&!t&&(console.warn('[WEBRTC] ICE connected but view is null with active call - forcing view to "call"'),a.store.dispatch.island.setIslandView("call"))}},mediaState:function(e,t){M.current.log&&M.current.log("Janus "+(t?"started":"stopped")+" receiving our "+e)},slowLink:function(e,t){e?M.current.warn&&M.current.warn("SLOW link: several missing packets from janus (".concat(t,")")):M.current.warn&&M.current.warn("SLOW link: janus is not receiving all your packets (".concat(t,")"))},onmessage:function(e,t){var n=a.store.getState().webrtc.sipcall;M.current.debug&&(M.current.debug(" ::: Got a message :::"),M.current.debug(JSON.stringify(e)));var r=e.error;if(null==r||null==r){var i=e.result;if(null!=i&&void 0!==i.event&&null!==i.event){var l=i.event,u=a.store.getState().recorder.recording,g=a.store.getState().island.view;switch(l){case"registration_failed":M.current.error&&M.current.error("Registration failed: "+i.code+" "+i.reason);break;case"unregistered":M.current.log&&M.current.log("Successfully un-registered as "+i.username+"!"),a.store.dispatch.webrtc.updateWebRTC({registered:!1}),d.eventDispatch("phone-island-webrtc-unregistered",{});break;case"registered":M.current.log&&M.current.log("Successfully registered as "+i.username+"!"),console.log("[REGISTER] Registration successful",{username:i.username,wasAlreadyRegistered:a.store.getState().webrtc.registered,timestamp:(new Date).toISOString()}),d.eventDispatch("phone-island-webrtc-registered",{}),a.store.getState().webrtc.registered||a.store.dispatch.webrtc.updateWebRTC({registered:!0}),k.alerts.removeAlert("webrtc_down"),d.eventDispatch("phone-island-alert-removed",{type:"webrtc_down"}),N.current=!1,L.current=!1,P.current&&(clearTimeout(P.current),P.current=null),W.current&&(clearTimeout(W.current),W.current=null,console.info("[JANUS-GUARD] Cleared network error grace timeout - connection restored")),k.webrtc.updateLastActivity((new Date).getTime());break;case"registering":M.current.log&&M.current.log("janus registering");break;case"calling":k.currentCall.checkOutgoingUpdate({outgoingWebRTC:!0}),k.webrtc.updateLastActivity((new Date).getTime());break;case"ringing":a.store.getState().player.audioPlayerPlaying||k.player.updateStartAudioPlayer({src:s.default,loop:!0}),k.webrtc.updateLastActivity((new Date).getTime()),"call"!==g&&k.island.setIslandView("call");break;case"progress":M.current.log&&M.current.log("There's early media from "+i.username+", wairing for the call!"),t&&o.handleRemote(t),k.webrtc.updateLastActivity((new Date).getTime());break;case"incomingcall":var p=a.store.getState().currentUser.default_device,m=a.store.getState().currentUser,f=m.endpoints,S=m.username,w=a.store.getState().users.extensions,b=function(){if(!w||!S)return!1;var e=Object.values(w).filter((function(e){return(null==e?void 0:e.username)===S}));return null==e?void 0:e.some((function(e){var t=null==f?void 0:f.extension.find((function(t){return t.id===(null==e?void 0:e.exten)}));return"nethlink"===(null==t?void 0:t.type)&&"offline"!==(null==e?void 0:e.status)}))};t&&(console.log("[JSEP] Saving jsepGlobal for incoming call",{from:i.username,timestamp:(new Date).toISOString()}),k.webrtc.updateWebRTC({jsepGlobal:t}),J.current=Date.now()),("mobile"===T&&b()||"desktop"===T&&("webrtc"===(null==p?void 0:p.type)||void 0===(null==p?void 0:p.type)&&!b()||!b()&&"physical"===(null==p?void 0:p.type)))&&(u?k.recorder.setIncoming(!0):(k.currentCall.checkIncomingUpdatePlay({incoming:!0,incomingWebRTC:!0}),M.current.log&&(k.currentCall.updateIncoming(!0),M.current.log("Incoming call from "+i.username+"!"))),k.webrtc.updateLastActivity((new Date).getTime()));break;case"accepted":var h=Math.floor(Date.now()/1e3);if(M.current.log){var D=i.username||i.displayname||a.store.getState().currentCall.number||"Remote party";M.current.log(D+" accepted the call!")}t&&o.handleRemote(t),console.log("[JSEP] Clearing jsepGlobal after call accepted",{timestamp:(new Date).toISOString()}),k.webrtc.updateWebRTC({jsepGlobal:null}),J.current=null,k.currentCall.checkAcceptedUpdate({acceptedWebRTC:!0}),k.currentCall.updateCurrentCall({incoming:!1,incomingWebRTC:!1,startTime:null==h?void 0:h.toString()}),a.store.dispatch.player.stopAudioPlayer(),k.webrtc.updateLastActivity((new Date).getTime());break;case"hangup":console.log("[JSEP] Clearing jsepGlobal on hangup",{timestamp:(new Date).toISOString()}),k.webrtc.updateWebRTC({jsepGlobal:null}),J.current=null,u&&k.recorder.setRecording(!1),v.isPhysical()||"mobile"===T||(c.hangupCurrentCall(),n.hangup(),a.store.dispatch.player.stopAudioPlayer(),a.store.dispatch.currentCall.reset(),M.current.log&&M.current.log("Call hung up ("+i.code+" "+i.reason+")!"),k.webrtc.updateLastActivity((new Date).getTime())),a.store.dispatch.player.stopAudioPlayer();var C=a.store.getState().screenShare,I=C.active,A=C.plugin,R=C.localScreenStream,y=C.remoteScreenStream;I&&(M.current.stopAllTracks(R),M.current.stopAllTracks(y),k.screenShare.update({active:!1}),A.detach()),N.current&&(console.info("[JANUS-GUARD] Call ended with stale connection - forcing reload to reset Janus session",{timestamp:(new Date).toISOString()}),setTimeout((function(){k.island.setForceReload(!0)}),500));break;case"gateway_down":console.warn("THE GATEWAY IS DOWN");break;case"info":"application/media_control+xml"===i.type&&i.content.includes("<picture_fast_update")&&n.send({message:{request:"keyframe",user:!0,peer:!0}});break;default:M.current.debug&&M.current.debug("Event not handled:",l)}}}else a.store.getState().webrtc.registered?(n&&n.hangup(),a.store.dispatch.player.stopAudioPlayer()):M.current.log&&M.current.log("User is not registered")},onlocaltrack:function(e,t){M.current.debug&&M.current.debug("Local track "+(t?"added":"removed")+":",e);var n=e.id.replace(/[{}]/g,"");if(!t){var r=H[n];if(r)try{var o=r.getTracks();for(var i in o){var c=o[i];c&&c.stop()}}catch(e){M.current.error&&M.current.error("Error removing track:",e)}return e.kind,void delete H[n]}var l=H[n];if(!l)if("audio"===e.kind)l=new MediaStream([e]),a.store.dispatch.webrtc.updateLocalAudioStream(l);else{l=new MediaStream([e]),a.store.dispatch.webrtc.updateLocalVideoStream(l),H[n]=l,M.current.debug&&M.current.debug("Created local stream:",l);var s=a.store.getState().player.localVideo;M.current.attachMediaStream&&s&&s.current&&M.current.attachMediaStream(s.current,l)}},onremotetrack:function(t,n,r){var o=this;if(M.current.debug&&M.current.debug("Remote track (mid="+n+") "+(r?"added":"removed")+":",t),a.store.dispatch.player.stopAudioPlayer(),!r)return t.kind,void k.currentCall.updateCurrentCall({showRemoteVideoPlaceHolder:!0});if("audio"===t.kind){var i=new MediaStream([t]);M.current.debug&&M.current.debug("Created remote audio stream: "+i);var c=a.store.getState().player.remoteAudio;if(c&&c.current&&M.current.attachMediaStream){M.current.attachMediaStream(c.current,i);var l=g.getJSONItem("phone-island-audio-output-device");if(null==l?void 0:l.deviceId){e.__awaiter(o,void 0,void 0,(function(){var t,n,r,o,a;return e.__generator(this,(function(e){switch(e.label){case 0:if(!(t=l.deviceId)||"default"===t)return[3,4];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,navigator.mediaDevices.enumerateDevices()];case 2:return n=e.sent(),n.filter((function(e){return"audiooutput"===e.kind})).some((function(e){return e.deviceId===t}))||(console.warn("Saved audio device ".concat(t," no longer available, using default device")),t="default",g.setJSONItem("phone-island-audio-output-device",{deviceId:"default"})),[3,4];case 3:return r=e.sent(),console.warn("Error checking device availability, using default:",r),t="default",[3,4];case 4:if(!c.current)return console.warn("Remote audio element no longer available"),[2];e.label=5;case 5:return e.trys.push([5,7,,12]),[4,c.current.setSinkId(t)];case 6:return e.sent(),console.info("Audio output device applied successfully to new stream:",t),[3,12];case 7:if(o=e.sent(),console.warn("Failed to apply audio output device to new stream:",o),"default"===t||!c.current)return[3,11];e.label=8;case 8:return e.trys.push([8,10,,11]),[4,c.current.setSinkId("default")];case 9:return e.sent(),g.setJSONItem("phone-island-audio-output-device",{deviceId:"default"}),console.info("Fallback to default device successful"),[3,11];case 10:return a=e.sent(),console.error("Even default device failed:",a),[3,11];case 11:return[3,12];case 12:return[2]}}))}))}}a.store.dispatch.webrtc.updateRemoteAudioStream(i)}else{i=new MediaStream([t]);a.store.dispatch.webrtc.updateRemoteVideoStream(i),M.current.debug&&M.current.debug("Created remote video stream:"+i);var s=a.store.getState().player.largeRemoteVideo,u=a.store.getState().player.smallRemoteVideo;M.current.attachMediaStream&&s&&s.current&&M.current.attachMediaStream(s.current,i),M.current.attachMediaStream&&u&&u.current&&(M.current.attachMediaStream(u.current,i),k.currentCall.updateCurrentCall({showRemoteVideoPlaceHolder:!1}))}},oncleanup:function(){M.current.log&&M.current.log(" ::: janus Got a cleanup notification :::")}})},error:function(e){var t,n;M.current.log&&M.current.log("error",e),console.warn("[JANUS-GUARD] Network error detected, marking connection as stale",{error:e,timestamp:(new Date).toISOString()}),N.current=!0,L.current=!1,P.current&&(clearTimeout(P.current),P.current=null);var r=a.store.getState().webrtc.sipcall,o=a.store.getState().currentCall,i=o.accepted,c=o.outgoing,l=null===(n=null===(t=null==r?void 0:r.webrtcStuff)||void 0===t?void 0:t.pc)||void 0===n?void 0:n.iceConnectionState;i||c||"connected"===l||"completed"===l?(console.info("[JANUS-GUARD] Network error during active call - giving ICE grace period to recover",{iceState:l,accepted:i,outgoing:c,timestamp:(new Date).toISOString()}),W.current&&clearTimeout(W.current),W.current=setTimeout((function(){var e,t,n=a.store.getState().webrtc.sipcall,r=null===(t=null===(e=null==n?void 0:n.webrtcStuff)||void 0===e?void 0:e.pc)||void 0===t?void 0:t.iceConnectionState,o=a.store.getState().currentCall,i=o.accepted,c=o.outgoing,l=i||c;l&&("disconnected"===r||"failed"===r||!r)?(console.warn("[JANUS-GUARD] ICE failed to recover after grace period - resetting call state and activating alert",{checkIceState:r||"undefined/null",timestamp:(new Date).toISOString()}),a.store.dispatch.currentCall.reset(),k.alerts.setAlert("webrtc_down")):l?console.info("[JANUS-GUARD] ICE recovered during grace period - call preserved, Janus HTTP still stale",{checkIceState:r,connectionStale:N.current,timestamp:(new Date).toISOString()}):(console.info("[JANUS-GUARD] Call ended during grace period - activating alert for reconnection",{timestamp:(new Date).toISOString()}),k.alerts.setAlert("webrtc_down")),W.current=null}),15e3)):k.alerts.setAlert("webrtc_down")},destroyed:function(){console.log("[JANUS-GUARD] Session destroyed, clearing janusInstance",{timestamp:(new Date).toISOString()}),L.current=!1,P.current&&(clearTimeout(P.current),P.current=null),k.webrtc.updateWebRTC({destroyed:!0,janusInstance:null}),E.current?console.log("[JANUS-GUARD] Skipping alert activation (voluntary reload in progress)"):(console.log("[JANUS-GUARD] Activating webrtc_down alert (not a voluntary reload)"),k.alerts.setAlert("webrtc_down"))}});console.log("[JANUS-GUARD] Saving janusInstance to Redux",{sessionId:null===(t=n.getSessionId)||void 0===t?void 0:t.call(n),timestamp:(new Date).toISOString()}),k.webrtc.updateWebRTC({janusInstance:n})}})}}),[M.current]);t.useEffect((function(){void 0!==a.store.getState().currentUser.default_device&&i.checkMediaPermissions()}),[null===(w=null===(S=null===a.store||void 0===a.store?void 0:a.store.getState())||void 0===S?void 0:S.currentUser)||void 0===w?void 0:w.default_device]);var V=t.useState(navigator.onLine),x=V[0],z=V[1],F=t.useState(!1),B=F[0],Y=F[1],K=t.useRef(!1);return t.useEffect((function(){var e=function(){return z(!0)},t=function(){return z(!1)};return window.addEventListener("online",e),window.addEventListener("offline",t),function(){window.removeEventListener("online",e),window.removeEventListener("offline",t)}}),[]),t.useEffect((function(){x?K.current&&(console.log("Internet connection restored."),Y(!0),K.current=!1):(console.log("Internet connection lost."),K.current=!0,Y(!1))}),[x]),t.useEffect((function(){var e;return q(),e=a.store.getState().webrtc.CHECK_INTERVAL_TIME,U.current||(U.current=setInterval((function(){return l.webrtcCheck((function(){o.register({sipExten:h,sipSecret:D,sipHost:I,sipPort:A})}))}),e)),function(){o.unregister(),clearInterval(U.current),P.current&&(clearTimeout(P.current),P.current=null),W.current&&(clearTimeout(W.current),W.current=null)}}),[]),t.useEffect((function(){var e,t,n,r,i;if(R||B){var c=a.store.getState().alerts.data,l=a.store.getState().island.forceReload,s=a.store.getState().webrtc,u=s.sipcall,d=s.janusInstance,g=a.store.getState().currentCall,v=g.accepted,p=g.outgoing,m=null===(t=null===(e=null==u?void 0:u.webrtcStuff)||void 0===e?void 0:e.pc)||void 0===t?void 0:t.iceConnectionState,f=v||p||"connected"===m||"completed"===m,S=(null===(n=c.webrtc_down)||void 0===n?void 0:n.active)||!1;if(B&&f&&!l){var w=null===(r=null==d?void 0:d.isConnected)||void 0===r?void 0:r.call(d);return!w&&(null==d?void 0:d.reconnect)?(console.info("[JANUS-GUARD] Connection returned with active call but Janus HTTP is dead - attempting Janus reconnect",{iceState:m,sessionId:null===(i=null==d?void 0:d.getSessionId)||void 0===i?void 0:i.call(d),timestamp:(new Date).toISOString()}),d.reconnect({success:function(){var e;console.info("[JANUS-GUARD] Janus HTTP reconnected successfully during active call (connectionReturned)",{sessionId:null===(e=null==d?void 0:d.getSessionId)||void 0===e?void 0:e.call(d),timestamp:(new Date).toISOString()}),N.current=!1,W.current&&(clearTimeout(W.current),W.current=null)},error:function(e){console.error("[JANUS-GUARD] Janus reconnect failed during active call (connectionReturned)",{error:e,timestamp:(new Date).toISOString()}),N.current=!0}})):console.info("[JANUS-GUARD] Connection returned but active call in progress - Janus still connected, no action needed",{iceState:m,janusConnected:w,timestamp:(new Date).toISOString()}),void Y(!1)}if(S||l||B){if(E.current||L.current)return void console.log("[JANUS-GUARD] Reload or init already in progress, skipping",{isReloading:E.current,isInitializing:L.current});E.current=!0,P.current&&(clearTimeout(P.current),P.current=null),console.info(l?"Force reload requested, performing full WebRTC reconnection":B?"Internet connection restored, performing full WebRTC reconnection":"WebRTC down detected (alert active), performing full reload"),l&&a.store.dispatch.island.setForceReload(!1),console.log("[JANUS-GUARD] Manual reload, clearing janusInstance and registered state",{timestamp:(new Date).toISOString()}),k.webrtc.updateWebRTC({janusInstance:null,sipcall:null,registered:!1,jsepGlobal:null}),J.current=null,o.unregister(),u&&u.detach(),d&&d.destroy&&d.destroy({unload:!0,notifyDestroyed:!1,cleanupHandles:!0}),setTimeout((function(){q(),B&&Y(!1),y&&y(),setTimeout((function(){E.current=!1,N.current=!1,_.current=!1,O.current=0}),1e3)}),100)}else console.info("WebRTC already connected (no alert active), skipping heavy reload"),y&&y()}}),[R,B]),t.useEffect((function(){var e,t=function(){var e;navigator&&(null===navigator||void 0===navigator?void 0:navigator.mediaDevices)&&(null===(e=null===navigator||void 0===navigator?void 0:navigator.mediaDevices)||void 0===e?void 0:e.enumerateDevices)?null===navigator||void 0===navigator||navigator.mediaDevices.enumerateDevices().then((function(e){k.mediaDevices.updateMediaDevices(e)})).catch((function(e){console.error("Error fetching devices:",e)})):(console.warn("MediaDevices API not supported in this browser or context"),k.mediaDevices.updateMediaDevices([]))};if(t(),navigator&&(null===navigator||void 0===navigator?void 0:navigator.mediaDevices))return null===(e=null===navigator||void 0===navigator?void 0:navigator.mediaDevices)||void 0===e||e.addEventListener("devicechange",t),function(){var e;null===(e=null===navigator||void 0===navigator?void 0:navigator.mediaDevices)||void 0===e||e.removeEventListener("devicechange",t)}}),[]),t.useEffect((function(){var e=function(){console.warn("[STANDBY-GUARD] Page frozen (standby or browser froze tab)",{timestamp:(new Date).toISOString()}),_.current=!0},t=function(){console.log("[STANDBY-GUARD] Page resumed from freeze",{timestamp:(new Date).toISOString()})};return document.addEventListener("freeze",e),document.addEventListener("resume",t),function(){document.removeEventListener("freeze",e),document.removeEventListener("resume",t)}}),[]),t.useEffect((function(){var e=function(){var e,t,n,r,i=Date.now();if(document.hidden)G.current=!0,j.current=i,console.log("[STANDBY-GUARD] Tab going to background",{timestamp:(new Date).toISOString()});else if(G.current){var c=i-j.current;O.current=c,console.log("[STANDBY-GUARD] Tab returning to foreground",{timeHiddenMs:c,timeHiddenMinutes:Math.round(c/6e4),wasFrozen:_.current,timestamp:(new Date).toISOString()});var l=a.store.getState().webrtc,s=l.registered,u=l.jsepGlobal,d=l.sipcall,g=a.store.getState().currentCall.outgoing,v=!!u,p="connected"===(null===(t=null===(e=null==d?void 0:d.webrtcStuff)||void 0===e?void 0:e.pc)||void 0===t?void 0:t.iceConnectionState)||"completed"===(null===(r=null===(n=null==d?void 0:d.webrtcStuff)||void 0===n?void 0:n.pc)||void 0===r?void 0:r.iceConnectionState),m=v||p||g,f=c>18e4&&!m,S=c>18e5&&!m,w=_.current||N.current||f||S;if(w){var b=_.current?"frozen":N.current?"stale connection":S?"throttled >30min (session too old)":"throttled >3min";if(m){var h=p?"active call":g?"outgoing call":"incoming call";console.warn("[STANDBY-GUARD] Reload needed (".concat(b,") but ").concat(h," in progress. ")+"Skipping reload to preserve call.",{wasFrozen:_.current,connectionStale:N.current,wasThrottledShort:f,wasThrottledVeryLong:S,hasIncomingCall:v,hasOutgoingCall:g,hasActiveCall:p,timestamp:(new Date).toISOString()})}else console.warn("[STANDBY-GUARD] Reload needed (".concat(b,"), forcing reload"),{wasFrozen:_.current,connectionStale:N.current,wasThrottledShort:f,wasThrottledVeryLong:S,timestamp:(new Date).toISOString()})}else if(m){h=p?"active call":g?"outgoing call":"incoming call";console.log("[STANDBY-GUARD] Tab change without issues, ".concat(h," preserved"),{timeHiddenMinutes:Math.round(c/6e4),hasIncomingCall:v,hasOutgoingCall:g,hasActiveCall:p,timestamp:(new Date).toISOString()})}var D=s&&!E.current&&!L.current&&w&&!v&&!g;if(D){console.warn("[STANDBY-GUARD] ⚠️ Reloading WebRTC",{timestamp:(new Date).toISOString()}),E.current=!0,P.current&&(clearTimeout(P.current),P.current=null);var C=a.store.getState().webrtc,I=C.janusInstance,A=C.sipcall;o.unregister(),A&&A.detach(),I&&I.destroy&&I.destroy({unload:!0,notifyDestroyed:!1,cleanupHandles:!0}),k.webrtc.updateWebRTC({janusInstance:null,sipcall:null,registered:!1,jsepGlobal:null}),J.current=null,setTimeout((function(){q(),setTimeout((function(){E.current=!1,N.current=!1,_.current=!1,O.current=0}),1e3)}),100)}G.current=!1,D||(_.current=!1,O.current=0)}};return document.addEventListener("visibilitychange",e),function(){document.removeEventListener("visibilitychange",e)}}),[q,k]),u.useEventListener("phone-island-attach",(function(e){console.log("[EVENT] phone-island-attach received, calling initWebRTC",{timestamp:(new Date).toISOString()}),q(),d.eventDispatch("phone-island-attached",{})})),u.useEventListener("phone-island-socket-reconnected",(function(){var e,t,n,r,o=a.store.getState().webrtc,i=o.sipcall,c=o.janusInstance,l=a.store.getState().currentCall,s=l.accepted,u=l.outgoing,d=null===(t=null===(e=null==i?void 0:i.webrtcStuff)||void 0===e?void 0:e.pc)||void 0===t?void 0:t.iceConnectionState,g=s||u||"connected"===d||"completed"===d,v=null===(n=null==c?void 0:c.isConnected)||void 0===n?void 0:n.call(c);return console.log("[EVENT] phone-island-socket-reconnected received",{hasActiveCall:g,iceState:d,accepted:s,outgoing:u,janusConnected:v,timestamp:(new Date).toISOString()}),g&&!v&&(null==c?void 0:c.reconnect)?(console.info("[EVENT] Socket reconnected with active call but Janus HTTP is dead - attempting Janus reconnect",{iceState:d,sessionId:null===(r=null==c?void 0:c.getSessionId)||void 0===r?void 0:r.call(c),timestamp:(new Date).toISOString()}),void c.reconnect({success:function(){var e;console.info("[JANUS-GUARD] Janus HTTP reconnected successfully during active call",{sessionId:null===(e=null==c?void 0:c.getSessionId)||void 0===e?void 0:e.call(c),timestamp:(new Date).toISOString()}),N.current=!1,W.current&&(clearTimeout(W.current),W.current=null)},error:function(e){console.error("[JANUS-GUARD] Janus reconnect failed during active call",{error:e,timestamp:(new Date).toISOString()}),N.current=!0}})):g&&v?(console.info("[EVENT] Socket reconnected with active call, Janus HTTP still connected - no action needed",{iceState:d,timestamp:(new Date).toISOString()}),void(W.current&&(clearTimeout(W.current),W.current=null))):(a.store.getState().webrtc.jsepGlobal&&(console.log("[EVENT] Clearing stale jsepGlobal after socket reconnect",{timestamp:(new Date).toISOString()}),k.webrtc.updateWebRTC({jsepGlobal:null}),J.current=null),void Y(!0))})),u.useEventListener("phone-island-call-transfer",(function(t){var n=null==t?void 0:t.to;k.island.toggleIsOpen(!0),function(t){e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,c.attendedTransfer(t)];case 1:return e.sent()&&(k.currentCall.updateCurrentCall({transferring:!0,paused:!1}),k.player.playRemoteAudio()),[2]}}))}))}(n),d.eventDispatch("phone-island-call-transfer-opened",{})})),f.default.createElement(f.default.Fragment,null,C)};
2
2
  //# sourceMappingURL=WebRTC.js.map