@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/OperatorBusyView/index.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC, useCallback, useMemo, useEffect } from 'react'\nimport { useSelector, useDispatch } from 'react-redux'\nimport { RootState, Dispatch } from '../../store'\nimport { useTranslation } from 'react-i18next'\nimport { Button } from '../Button'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faXmark } from '@fortawesome/free-solid-svg-icons'\nimport { GenericAvatar } from '../GenericAvatar'\nimport { CustomThemedTooltip } from '../CustomThemedTooltip'\n\nexport const OperatorBusyView: FC<OperatorBusyViewProps> = () => {\n const { operatorBusy, previousView } = useSelector((state: RootState) => state.island)\n const { avatars } = useSelector((state: RootState) => state.avatars)\n const { extensions } = useSelector((state: RootState) => state.users)\n const { t } = useTranslation()\n const dispatch = useDispatch<Dispatch>()\n const { isActive, conferenceStartedFrom } = useSelector((state: RootState) => state.conference)\n const { username } = useSelector((state: RootState) => state.currentUser)\n const { accepted, incoming, outgoing } = useSelector((state: RootState) => state.currentCall)\n\n const getNextViewOnClose = useCallback(() => {\n if (isActive && conferenceStartedFrom === username) {\n return 'waitingConference'\n }\n\n if (accepted || incoming || outgoing) {\n return previousView || 'call'\n }\n\n return null\n }, [accepted, conferenceStartedFrom, incoming, isActive, outgoing, previousView, username])\n\n const handleClose = useCallback(() => {\n // Stop any playing busy tone\n dispatch.player.stopAudioPlayer()\n // Reset operator busy state completely when user closes manually\n dispatch.island.resetOperatorBusyCompletely()\n dispatch.island.setIslandView(getNextViewOnClose())\n }, [dispatch, getNextViewOnClose])\n\n // Get the username of the operator based on called extension number\n const operatorUsername = useMemo(() => {\n // Check if we have the called number and extensions are loaded\n if (operatorBusy?.calledNumber && extensions) {\n // Find the extension that matches the called number\n const extension = Object.values(extensions).find(\n (ext) => ext.exten === operatorBusy?.calledNumber,\n )\n // Return the username if found\n return extension ? extension?.username : null\n }\n return null\n }, [extensions, operatorBusy?.calledNumber])\n\n // Get avatar URL based on operator's username\n const avatarUrl = useMemo(() => {\n // If we have the username and avatars, look for the avatar\n if (operatorUsername && avatars && avatars[operatorUsername]) {\n return avatars[operatorUsername]\n }\n return null\n }, [avatars, operatorUsername])\n\n // Check if the called number is an operator (has username)\n const isOperator = useMemo(() => {\n return operatorUsername !== null\n }, [operatorUsername])\n\n // Format display text - show the operator name or called number\n const displayText = useMemo(() => {\n if (extensions && operatorBusy?.calledNumber && operatorBusy?.calledNumber !== '') {\n // Try to get the extension to display the name if available\n const extension = Object.values(extensions).find(\n (ext) => ext?.exten === operatorBusy?.calledNumber,\n )\n\n // If we found the extension and it has a name, show the name\n if (extension && extension?.name && extension?.name !== '') {\n return extension?.name\n }\n\n // Otherwise just show the extension number\n return operatorBusy?.calledNumber\n }\n //fallback string\n return '-'\n }, [operatorBusy?.calledNumber, extensions])\n\n const statusText = useMemo(() => {\n // If it's an operator, show \"User busy\", otherwise show \"Number busy\"\n if (isOperator) {\n return t('Call.User busy')\n }\n return t('Call.Number busy')\n }, [t, isOperator])\n\n // Stop busy tone when component unmounts\n useEffect(() => {\n return () => {\n dispatch.player.stopAudioPlayer()\n }\n }, [dispatch])\n\n useEffect(() => {\n const timeoutId = window.setTimeout(() => {\n handleClose()\n }, 4000)\n\n return () => {\n window.clearTimeout(timeoutId)\n }\n }, [handleClose])\n\n return (\n <>\n <div className='pi-flex pi-items-center pi-justify-between pi-w-full'>\n {/* Left side - Avatar and info */}\n <div className='pi-flex pi-items-center pi-space-x-3'>\n {/* Avatar */}\n <GenericAvatar avatarUrl={avatarUrl} size='open' showPulseEffect={false} />\n\n {/* Number and status */}\n <div className='pi-flex pi-flex-col'>\n <div className='pi-text-lg pi-font-medium pi-text-primaryNeutral dark:pi-text-primaryNeutralDark'>\n {displayText}\n </div>\n <div className='pi-text-sm pi-font-regular pi-text-primaryNeutral dark:pi-text-primaryNeutralDark'>\n {statusText}\n </div>\n </div>\n </div>\n\n {/* Right side - Close button */}\n <Button\n variant='default'\n onClick={handleClose}\n className='pi-p-2'\n data-tooltip-id='tooltip-close-busy-call'\n data-tooltip-content={t('Tooltip.Close') || 'Close'}\n >\n <FontAwesomeIcon icon={faXmark} className='pi-w-5 pi-h-5' />\n </Button>\n </div>\n <CustomThemedTooltip className='pi-z-20' id='tooltip-close-busy-call' place='left' />\n </>\n )\n}\n\nexport interface OperatorBusyViewProps {}\n"],"names":["_a","useSelector","state","island","operatorBusy","previousView","avatars","extensions","users","t","useTranslation","dispatch","useDispatch","_b","conference","isActive","conferenceStartedFrom","username","currentUser","_c","currentCall","accepted","incoming","outgoing","getNextViewOnClose","useCallback","handleClose","player","stopAudioPlayer","resetOperatorBusyCompletely","setIslandView","operatorUsername","useMemo","calledNumber","extension","Object","values","find","ext","exten","avatarUrl","isOperator","displayText","name","statusText","useEffect","timeoutId","window","setTimeout","clearTimeout","React","createElement","Fragment","className","GenericAvatar","size","showPulseEffect","Button","variant","onClick","FontAwesomeIcon","icon","faXmark","CustomThemedTooltip","id","place"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/OperatorBusyView/index.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC, useCallback, useMemo, useEffect } from 'react'\nimport { useSelector, useDispatch } from 'react-redux'\nimport { RootState, Dispatch } from '../../store'\nimport { useTranslation } from 'react-i18next'\nimport { Button } from '../Button'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faXmark } from '@fortawesome/free-solid-svg-icons'\nimport { GenericAvatar } from '../GenericAvatar'\nimport { CustomThemedTooltip } from '../CustomThemedTooltip'\n\nexport const OperatorBusyView: FC<OperatorBusyViewProps> = () => {\n const { operatorBusy, previousView } = useSelector((state: RootState) => state.island)\n const { avatars } = useSelector((state: RootState) => state.avatars)\n const { extensions } = useSelector((state: RootState) => state.users)\n const { t } = useTranslation()\n const dispatch = useDispatch<Dispatch>()\n const { isActive, conferenceStartedFrom } = useSelector((state: RootState) => state.conference)\n const { username } = useSelector((state: RootState) => state.currentUser)\n const { accepted, incoming, outgoing } = useSelector((state: RootState) => state.currentCall)\n\n const getNextViewOnClose = useCallback(() => {\n if (isActive && conferenceStartedFrom === username) {\n return 'waitingConference'\n }\n\n if (accepted || incoming || outgoing) {\n return previousView || 'call'\n }\n\n return null\n }, [accepted, conferenceStartedFrom, incoming, isActive, outgoing, previousView, username])\n\n const handleClose = useCallback(() => {\n // Stop any playing busy tone\n dispatch.player.stopAudioPlayer()\n // Reset operator busy state completely when user closes manually\n dispatch.island.resetOperatorBusyCompletely()\n dispatch.island.setIslandView(getNextViewOnClose())\n }, [dispatch, getNextViewOnClose])\n\n // Get the username of the operator based on called extension number\n const operatorUsername = useMemo(() => {\n // Check if we have the called number and extensions are loaded\n if (operatorBusy?.calledNumber && extensions) {\n // Find the extension that matches the called number\n const extension = Object.values(extensions).find(\n (ext) => ext.exten === operatorBusy?.calledNumber,\n )\n // Return the username if found\n return extension ? extension?.username : null\n }\n return null\n }, [extensions, operatorBusy?.calledNumber])\n\n // Get avatar URL based on operator's username\n const avatarUrl = useMemo(() => {\n // If we have the username and avatars, look for the avatar\n if (operatorUsername && avatars && avatars[operatorUsername]) {\n return avatars[operatorUsername]\n }\n return null\n }, [avatars, operatorUsername])\n\n // Check if the called number is an operator (has username)\n const isOperator = useMemo(() => {\n return operatorUsername !== null\n }, [operatorUsername])\n\n // Format display text - show the operator name or called number\n const displayText = useMemo(() => {\n if (extensions && operatorBusy?.calledNumber && operatorBusy?.calledNumber !== '') {\n // Try to get the extension to display the name if available\n const extension = Object.values(extensions).find(\n (ext) => ext?.exten === operatorBusy?.calledNumber,\n )\n\n // If we found the extension and it has a name, show the name\n if (extension && extension?.name && extension?.name !== '') {\n return extension?.name\n }\n\n // Otherwise just show the extension number\n return operatorBusy?.calledNumber\n }\n //fallback string\n return '-'\n }, [operatorBusy?.calledNumber, extensions])\n\n const statusText = useMemo(() => {\n // If it's an operator, show \"User busy\", otherwise show \"Number busy\"\n if (isOperator) {\n return t('Call.User busy')\n }\n return t('Call.Number busy')\n }, [t, isOperator])\n\n // Stop busy tone when component unmounts\n useEffect(() => {\n return () => {\n dispatch.player.stopAudioPlayer()\n }\n }, [dispatch])\n\n useEffect(() => {\n const timeoutId = window.setTimeout(() => {\n handleClose()\n }, 4000)\n\n return () => {\n window.clearTimeout(timeoutId)\n }\n }, [handleClose])\n\n return (\n <>\n <div className='pi-flex pi-items-center pi-justify-between pi-w-full'>\n {/* Left side - Avatar and info */}\n <div className='pi-flex pi-items-center pi-space-x-3'>\n {/* Avatar */}\n <GenericAvatar avatarUrl={avatarUrl} size='open' showPulseEffect={false} />\n\n {/* Number and status */}\n <div className='pi-flex pi-flex-col'>\n <div className='pi-text-lg pi-font-medium pi-text-primaryNeutral dark:pi-text-primaryNeutralDark'>\n {displayText}\n </div>\n <div className='pi-text-sm pi-font-regular pi-text-primaryNeutral dark:pi-text-primaryNeutralDark'>\n {statusText}\n </div>\n </div>\n </div>\n\n {/* Right side - Close button */}\n <Button\n variant='default'\n onClick={handleClose}\n className='pi-p-2'\n data-tooltip-id='tooltip-close-busy-call'\n data-tooltip-content={t('Tooltip.Close') || 'Close'}\n >\n <FontAwesomeIcon icon={faXmark} className='pi-w-5 pi-h-5' />\n </Button>\n </div>\n <CustomThemedTooltip className='pi-z-20' id='tooltip-close-busy-call' place='left' />\n </>\n )\n}\n\nexport interface OperatorBusyViewProps {}\n"],"names":["_a","useSelector","state","island","operatorBusy","previousView","avatars","extensions","users","t","useTranslation","dispatch","useDispatch","_b","conference","isActive","conferenceStartedFrom","username","currentUser","_c","currentCall","accepted","incoming","outgoing","getNextViewOnClose","useCallback","handleClose","player","stopAudioPlayer","resetOperatorBusyCompletely","setIslandView","operatorUsername","useMemo","calledNumber","extension","Object","values","find","ext","exten","avatarUrl","isOperator","displayText","name","statusText","useEffect","timeoutId","window","setTimeout","clearTimeout","React","createElement","Fragment","className","GenericAvatar","size","showPulseEffect","Button","variant","onClick","FontAwesomeIcon","icon","faXmark","CustomThemedTooltip","id","place"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("react-redux"),t=require("react-moment");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=n(e),a=n(t),i=e.memo((function(){var e=r.useSelector((function(e){return{recording:e.physicalRecorder.recording,startTime:e.physicalRecorder.startTime,currentTime:e.physicalRecorder.currentTime}})),t=e.startTime,n=e.currentTime,i=e.recording,c=r.useDispatch();return u.default.createElement(u.default.Fragment,null,t&&i?u.default.createElement(a.default,{date:t,interval:1e3,format:"hh:mm:ss",trim:!1,onChange:function(e){c.recorder.setCurrentTime(e)},unix:!0,durationFromNow:!0}):n)}));exports.default=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/react-moment/dist/index.js"),t=require("../../node_modules/react-redux/es/hooks/useSelector.js"),u=require("../../node_modules/react-redux/es/hooks/useDispatch.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=o(e),i=e.memo((function(){var e=t.useSelector((function(e){return{recording:e.physicalRecorder.recording,startTime:e.physicalRecorder.startTime,currentTime:e.physicalRecorder.currentTime}})),o=e.startTime,i=e.currentTime,s=e.recording,a=u.useDispatch();return n.default.createElement(n.default.Fragment,null,o&&s?n.default.createElement(r.default,{date:o,interval:1e3,format:"hh:mm:ss",trim:!1,onChange:function(e){a.recorder.setCurrentTime(e)},unix:!0,durationFromNow:!0}):i)}));exports.default=i;
2
2
  //# sourceMappingURL=PhysicalRecordingTimer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PhysicalRecordingTimer.js","sources":["../../../src/components/PhysicalRecorderView/PhysicalRecordingTimer.tsx"],"sourcesContent":["//\n// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\n\nimport React, { memo, FC } from 'react'\nimport { useSelector, useDispatch } from 'react-redux'\nimport Moment from 'react-moment'\nimport { RootState, Dispatch } from '../../store'\n\nconst PhysicalTimer: FC<TimerProps> = () => {\n const { startTime, currentTime, recording } = useSelector((state: RootState) => ({\n recording: state.physicalRecorder.recording,\n startTime: state.physicalRecorder.startTime,\n currentTime: state.physicalRecorder.currentTime,\n }))\n\n const dispatch = useDispatch<Dispatch>()\n\n function handleTimerChanged(time: string) {\n dispatch.recorder.setCurrentTime(time)\n }\n\n return (\n <>\n {startTime && recording ? (\n <Moment\n date={startTime}\n interval={1000}\n format='hh:mm:ss'\n trim={false}\n onChange={handleTimerChanged}\n unix\n durationFromNow\n />\n ) : (\n currentTime\n )}\n </>\n )\n}\n\nexport default memo(PhysicalTimer)\n\ninterface TimerProps {}\n"],"names":["memo","_a","useSelector","state","recording","physicalRecorder","startTime","currentTime","dispatch","useDispatch","React","createElement","Moment","date","interval","format","trim","onChange","time","recorder","setCurrentTime","unix","durationFromNow"],"mappings":"wOA0CeA,EAAAA,EAAAA,MAhCuB,WAC9B,IAAAC,EAAwCC,EAAAA,aAAY,SAACC,GAAqB,MAAC,CAC/EC,UAAWD,EAAME,iBAAiBD,UAClCE,UAAWH,EAAME,iBAAiBC,UAClCC,YAAaJ,EAAME,iBAAiBE,gBAH9BD,EAASL,EAAAK,UAAEC,EAAWN,EAAAM,YAAEH,EAASH,EAAAG,UAMnCI,EAAWC,EAAAA,cAMjB,OACEC,gDACGJ,GAAaF,EACZM,EAAA,QAAAC,cAACC,EAAM,QACL,CAAAC,KAAMP,EACNQ,SAAU,IACVC,OAAO,WACPC,MAAM,EACNC,SAZR,SAA4BC,GAC1BV,EAASW,SAASC,eAAeF,EAClC,EAWOG,MAAI,EACJC,iBACA,IAEF,EAIR"}
1
+ {"version":3,"file":"PhysicalRecordingTimer.js","sources":["../../../src/components/PhysicalRecorderView/PhysicalRecordingTimer.tsx"],"sourcesContent":["//\n// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\n\nimport React, { memo, FC } from 'react'\nimport { useSelector, useDispatch } from 'react-redux'\nimport Moment from 'react-moment'\nimport { RootState, Dispatch } from '../../store'\n\nconst PhysicalTimer: FC<TimerProps> = () => {\n const { startTime, currentTime, recording } = useSelector((state: RootState) => ({\n recording: state.physicalRecorder.recording,\n startTime: state.physicalRecorder.startTime,\n currentTime: state.physicalRecorder.currentTime,\n }))\n\n const dispatch = useDispatch<Dispatch>()\n\n function handleTimerChanged(time: string) {\n dispatch.recorder.setCurrentTime(time)\n }\n\n return (\n <>\n {startTime && recording ? (\n <Moment\n date={startTime}\n interval={1000}\n format='hh:mm:ss'\n trim={false}\n onChange={handleTimerChanged}\n unix\n durationFromNow\n />\n ) : (\n currentTime\n )}\n </>\n )\n}\n\nexport default memo(PhysicalTimer)\n\ninterface TimerProps {}\n"],"names":["memo","_a","useSelector","state","recording","physicalRecorder","startTime","currentTime","dispatch","useDispatch","React","createElement","Moment","date","interval","format","trim","onChange","time","recorder","setCurrentTime","unix","durationFromNow"],"mappings":"2aA0CeA,EAAAA,EAAAA,MAhCuB,WAC9B,IAAAC,EAAwCC,EAAAA,aAAY,SAACC,GAAqB,MAAC,CAC/EC,UAAWD,EAAME,iBAAiBD,UAClCE,UAAWH,EAAME,iBAAiBC,UAClCC,YAAaJ,EAAME,iBAAiBE,gBAH9BD,EAASL,EAAAK,UAAEC,EAAWN,EAAAM,YAAEH,EAASH,EAAAG,UAMnCI,EAAWC,EAAAA,cAMjB,OACEC,gDACGJ,GAAaF,EACZM,EAAA,QAAAC,cAACC,EAAM,QACL,CAAAC,KAAMP,EACNQ,SAAU,IACVC,OAAO,WACPC,MAAM,EACNC,SAZR,SAA4BC,GAC1BV,EAASW,SAASC,eAAeF,EAClC,EAWOG,MAAI,EACJC,iBACA,IAEF,EAIR"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react"),i=require("react-redux"),r=require("../../store/index.js"),n=require("react-i18next"),a=require("../Hangup.js"),c=require("@fortawesome/react-fontawesome"),s=require("@fortawesome/free-solid-svg-icons"),l=require("../../utils/customHooks/useEventListener.js"),o=require("../../utils/genericFunctions/eventDispatch.js"),p=require("../../services/offhour.js");require("../../lib/webrtc/janus.js"),require("webrtc-adapter"),require("mic-check");var u=require("../../events/RecorderEvents.js"),d=require("./PhysicalRecordingTimer.js");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=f(t);exports.PhysicalRecorderView=function(){var f=i.useSelector((function(e){return e.island})).isOpen,h=i.useSelector((function(e){return{recording:e.physicalRecorder.recording}})).recording,v=r.store.getState().currentUser.username,g=t.useRef(null),w=i.useDispatch();t.useEffect((function(){return w.recorder.setVisibleContainerRef(g),function(){w.recorder.reset()}}),[]);var E=n.useTranslation().t;l.useEventListener("phone-island-physical-recording-open",(function(){!function(){e.__awaiter(this,void 0,void 0,(function(){var t;return e.__generator(this,(function(e){switch(e.label){case 0:return w.physicalRecorder.setRecording(!0),[4,p.startAnnouncementRecording()];case 1:return(t=e.sent()).tempFilename&&w.physicalRecorder.setTempFilename(t.tempFilename),o.eventDispatch("phone-island-recording-started",{}),[2]}}))}))}()}));var y=r.store.getState().physicalRecorder.recordingTempVariable;return l.useEventListener("phone-island-conversations",(function(e){Object.keys(e).forEach((function(t){var i;if(t===v){var r=null===(i=e[t])||void 0===i?void 0:i.conversations;if(r){var n=Object.keys(r);if(n.length>0&&"REC"===r[n[0]].counterpartName){w.physicalRecorder.setStartTime("".concat(Date.now()/1e3));var a=r[n[0]];if(a&&a.chSource){var c={conversationId:a.id,endpointId:a.chSource.callerNum};w.physicalRecorder.setCallRecordingInformations({recordingCallInformation:c})}}0===n.length&&h&&!y&&(u.dispatchPhysicalRecordingSave(),w.island.setIslandView(null),w.physicalRecorder.setRecording(!1))}}}))})),m.default.createElement(m.default.Fragment,null,f?m.default.createElement("div",{className:""},y&&m.default.createElement("div",{className:"pi-flex pi-w-full pi-justify-center pi-items-center pi-pt-4 pi-pb-9"},m.default.createElement("div",{className:"pi-font-medium pi-text-4xl pi-w-fit pi-h-fit dark:pi-text-white"},m.default.createElement(d.default,null))),m.default.createElement("div",{className:"pi-flex pi-w-full pi-justify-center pi-items-center"},y?m.default.createElement("div",{className:"pi-sans pi-text-sm pi-w-fit pi-h-fit dark:pi-text-white"},E("Common.Close the call to stop recording")):m.default.createElement("div",{className:"pi-mt-12 pi-font-regular pi-text-lg pi-w-fit pi-h-fit dark:pi-text-white"},E("Common.Answer phone to start recording"))),m.default.createElement("div",{className:"pi-grid pi-pt-2 pi-mt-8"},m.default.createElement("div",{className:"pi-grid pi-justify-items-center"},m.default.createElement(a.default,{description:E("Tooltip.Interrupt recording"),isPhysicalRecording:!0})))):m.default.createElement("div",{className:"pi-flex pi-justify-between pi-items-center"},m.default.createElement("div",{className:"pi-font-medium pi-text-base"},E("Common.Recording")),m.default.createElement("div",{className:"".concat(f?"pi-h-12 pi-w-12":"pi-h-6 pi-w-6"," pi-flex pi-justify-center pi-items-center")},m.default.createElement("div",{className:"".concat(f?"pi-h-8":"pi-h-4 pi-w-4 pi-rounded-full"," pi-w-fit pi-flex pi-justify-center pi-items-center pi-gap-1 pi-overflow-hidden")},m.default.createElement("span",{className:"".concat(f?"pi-w-8 pi-h-8":"pi-h-6 pi-w-6"," pi-animate-ping pi-absolute pi-inline-flex pi-rounded-full pi-bg-red-400 pi-opacity-75 ")}),m.default.createElement(c.FontAwesomeIcon,{className:"pi-w-4 pi-h-6 pi-rotate-45 pi-text-red-500",icon:s.faCircle})))))};
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 i=require("../../store/index.js");require("../../node_modules/@babel/runtime/helpers/defineProperty.js"),require("../../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"),require("../../node_modules/@babel/runtime/helpers/typeof.js"),require("../../node_modules/html-parse-stringify/dist/html-parse-stringify.js"),require("../../node_modules/react-i18next/dist/es/context.js");var r=require("../../node_modules/react-i18next/dist/es/useTranslation.js");require("../../node_modules/@babel/runtime/helpers/slicedToArray.js");var s=require("../Hangup.js"),n=require("../../node_modules/@fortawesome/react-fontawesome/index.es.js"),a=require("../../node_modules/@fortawesome/free-solid-svg-icons/index.mjs.js"),o=require("../../utils/customHooks/useEventListener.js"),l=require("../../utils/genericFunctions/eventDispatch.js"),c=require("../../services/offhour.js");require("../../lib/webrtc/janus.js"),require("../../node_modules/webrtc-adapter/src/js/adapter_core.js"),require("../../node_modules/mic-check/lib/index.js");var d=require("../../events/RecorderEvents.js"),u=require("./PhysicalRecordingTimer.js"),p=require("../../node_modules/react-redux/es/hooks/useSelector.js"),m=require("../../node_modules/react-redux/es/hooks/useDispatch.js");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var h=f(t);exports.PhysicalRecorderView=function(){var f=p.useSelector((function(e){return e.island})).isOpen,v=p.useSelector((function(e){return{recording:e.physicalRecorder.recording}})).recording,j=i.store.getState().currentUser.username,g=t.useRef(null),w=m.useDispatch();t.useEffect((function(){return w.recorder.setVisibleContainerRef(g),function(){w.recorder.reset()}}),[]);var x=r.useTranslation().t;o.useEventListener("phone-island-physical-recording-open",(function(){!function(){e.__awaiter(this,void 0,void 0,(function(){var t;return e.__generator(this,(function(e){switch(e.label){case 0:return w.physicalRecorder.setRecording(!0),[4,c.startAnnouncementRecording()];case 1:return(t=e.sent()).tempFilename&&w.physicalRecorder.setTempFilename(t.tempFilename),l.eventDispatch("phone-island-recording-started",{}),[2]}}))}))}()}));var y=i.store.getState().physicalRecorder.recordingTempVariable;return o.useEventListener("phone-island-conversations",(function(e){Object.keys(e).forEach((function(t){var i;if(t===j){var r=null===(i=e[t])||void 0===i?void 0:i.conversations;if(r){var s=Object.keys(r);if(s.length>0&&"REC"===r[s[0]].counterpartName){w.physicalRecorder.setStartTime("".concat(Date.now()/1e3));var n=r[s[0]];if(n&&n.chSource){var a={conversationId:n.id,endpointId:n.chSource.callerNum};w.physicalRecorder.setCallRecordingInformations({recordingCallInformation:a})}}0===s.length&&v&&!y&&(d.dispatchPhysicalRecordingSave(),w.island.setIslandView(null),w.physicalRecorder.setRecording(!1))}}}))})),h.default.createElement(h.default.Fragment,null,f?h.default.createElement("div",{className:""},y&&h.default.createElement("div",{className:"pi-flex pi-w-full pi-justify-center pi-items-center pi-pt-4 pi-pb-9"},h.default.createElement("div",{className:"pi-font-medium pi-text-4xl pi-w-fit pi-h-fit dark:pi-text-white"},h.default.createElement(u.default,null))),h.default.createElement("div",{className:"pi-flex pi-w-full pi-justify-center pi-items-center"},y?h.default.createElement("div",{className:"pi-sans pi-text-sm pi-w-fit pi-h-fit dark:pi-text-white"},x("Common.Close the call to stop recording")):h.default.createElement("div",{className:"pi-mt-12 pi-font-regular pi-text-lg pi-w-fit pi-h-fit dark:pi-text-white"},x("Common.Answer phone to start recording"))),h.default.createElement("div",{className:"pi-grid pi-pt-2 pi-mt-8"},h.default.createElement("div",{className:"pi-grid pi-justify-items-center"},h.default.createElement(s.default,{description:x("Tooltip.Interrupt recording"),isPhysicalRecording:!0})))):h.default.createElement("div",{className:"pi-flex pi-justify-between pi-items-center"},h.default.createElement("div",{className:"pi-font-medium pi-text-base"},x("Common.Recording")),h.default.createElement("div",{className:"".concat(f?"pi-h-12 pi-w-12":"pi-h-6 pi-w-6"," pi-flex pi-justify-center pi-items-center")},h.default.createElement("div",{className:"".concat(f?"pi-h-8":"pi-h-4 pi-w-4 pi-rounded-full"," pi-w-fit pi-flex pi-justify-center pi-items-center pi-gap-1 pi-overflow-hidden")},h.default.createElement("span",{className:"".concat(f?"pi-w-8 pi-h-8":"pi-h-6 pi-w-6"," pi-animate-ping pi-absolute pi-inline-flex pi-rounded-full pi-bg-red-400 pi-opacity-75 ")}),h.default.createElement(n.FontAwesomeIcon,{className:"pi-w-4 pi-h-6 pi-rotate-45 pi-text-red-500",icon:a.faCircle})))))};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/PhysicalRecorderView/index.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC, useRef, useEffect } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { Dispatch, RootState, store } from '../../store'\nimport { useTranslation } from 'react-i18next'\nimport Hangup from '../Hangup'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCircle } from '@fortawesome/free-solid-svg-icons'\nimport { useEventListener, eventDispatch } from '../../utils'\nimport { startAnnouncementRecording } from '../../services/offhour'\nimport { dispatchPhysicalRecordingSave } from '../../events'\nimport PhysicalRecordingTimer from './PhysicalRecordingTimer'\n\nexport const PhysicalRecorderView: FC<PhysicalRecorderViewProps> = () => {\n const { isOpen } = useSelector((state: RootState) => state.island)\n const { recording } = useSelector((state: RootState) => ({\n recording: state.physicalRecorder.recording,\n }))\n\n const { username } = store.getState().currentUser\n const visibleContainerRef = useRef<HTMLDivElement>(null)\n\n // Initialize state dispatch\n const dispatch = useDispatch<Dispatch>()\n\n // Handle view close and reset state\n useEffect(() => {\n // Set visible container reference to recorder state\n dispatch.recorder.setVisibleContainerRef(visibleContainerRef)\n\n return () => {\n dispatch.recorder.reset()\n }\n }, [])\n\n const { t } = useTranslation()\n\n async function handleStart() {\n // Update the recorder state\n dispatch.physicalRecorder.setRecording(true)\n // Call the api to start the recording call\n const data: { tempFilename: string } | null = await startAnnouncementRecording()\n // Set the returned temp file name to the store\n if (data.tempFilename) dispatch.physicalRecorder.setTempFilename(data.tempFilename)\n eventDispatch('phone-island-recording-started', {})\n }\n\n // Save recording inside store and make api request\n useEventListener('phone-island-physical-recording-open', () => {\n handleStart()\n })\n\n const { recordingTempVariable } = store.getState().physicalRecorder\n // recording true and conversation not empty recording is started\n // recording true and conversation empty recording is stopped\n useEventListener('phone-island-conversations', (data: { [key: string]: any }) => {\n const keys = Object.keys(data)\n\n keys.forEach((key) => {\n if (key === username) {\n let conversations = data[key]?.conversations\n\n if (conversations) {\n const conversationKeys = Object.keys(conversations)\n if (\n conversationKeys.length > 0 &&\n conversations[conversationKeys[0]].counterpartName === 'REC'\n ) {\n // Set the start time of recording\n dispatch.physicalRecorder.setStartTime(`${Date.now() / 1000}`)\n let firstConversationKey = conversationKeys[0]\n let userRecordingData = conversations[firstConversationKey]\n if (userRecordingData) {\n if (userRecordingData.chSource) {\n let recordingCallInformation = {\n conversationId: userRecordingData.id,\n endpointId: userRecordingData.chSource.callerNum,\n }\n dispatch.physicalRecorder.setCallRecordingInformations({\n recordingCallInformation,\n })\n }\n }\n }\n if (conversationKeys.length === 0 && recording && !recordingTempVariable) {\n // close physical recording phone island view\n dispatchPhysicalRecordingSave()\n dispatch.island.setIslandView(null)\n dispatch.physicalRecorder.setRecording(false)\n }\n }\n }\n })\n })\n\n return (\n <>\n {isOpen ? (\n <div className=''>\n {recordingTempVariable && (\n <div className='pi-flex pi-w-full pi-justify-center pi-items-center pi-pt-4 pi-pb-9'>\n <div className='pi-font-medium pi-text-4xl pi-w-fit pi-h-fit dark:pi-text-white'>\n <PhysicalRecordingTimer />\n </div>\n </div>\n )}\n <div className='pi-flex pi-w-full pi-justify-center pi-items-center'>\n {recordingTempVariable ? (\n <div className='pi-sans pi-text-sm pi-w-fit pi-h-fit dark:pi-text-white'>\n {t('Common.Close the call to stop recording')}\n </div>\n ) : (\n <div className='pi-mt-12 pi-font-regular pi-text-lg pi-w-fit pi-h-fit dark:pi-text-white'>\n {t('Common.Answer phone to start recording')}\n </div>\n )}\n </div>\n <div className='pi-grid pi-pt-2 pi-mt-8'>\n <div className='pi-grid pi-justify-items-center'>\n <Hangup description={t('Tooltip.Interrupt recording')} isPhysicalRecording />\n </div>\n </div>\n </div>\n ) : (\n <div className='pi-flex pi-justify-between pi-items-center'>\n <div className='pi-font-medium pi-text-base'>{t('Common.Recording')}</div>\n <div\n className={`${\n !isOpen ? 'pi-h-6 pi-w-6' : 'pi-h-12 pi-w-12'\n } pi-flex pi-justify-center pi-items-center`}\n >\n <div\n className={`${\n !isOpen ? 'pi-h-4 pi-w-4 pi-rounded-full' : 'pi-h-8'\n } pi-w-fit pi-flex pi-justify-center pi-items-center pi-gap-1 pi-overflow-hidden`}\n >\n <span\n className={`${\n !isOpen ? 'pi-h-6 pi-w-6' : 'pi-w-8 pi-h-8'\n } pi-animate-ping pi-absolute pi-inline-flex pi-rounded-full pi-bg-red-400 pi-opacity-75 `}\n ></span>\n <FontAwesomeIcon\n className='pi-w-4 pi-h-6 pi-rotate-45 pi-text-red-500'\n icon={faCircle}\n ></FontAwesomeIcon>\n </div>\n </div>\n </div>\n )}\n </>\n )\n}\n\nexport interface PhysicalRecorderViewProps {}\n"],"names":["isOpen","useSelector","state","island","recording","physicalRecorder","username","store","getState","currentUser","visibleContainerRef","useRef","dispatch","useDispatch","useEffect","recorder","setVisibleContainerRef","reset","t","useTranslation","useEventListener","setRecording","startAnnouncementRecording","data","_a","sent","tempFilename","setTempFilename","eventDispatch","handleStart","recordingTempVariable","Object","keys","forEach","key","conversations","conversationKeys","length","counterpartName","setStartTime","concat","Date","now","userRecordingData","chSource","recordingCallInformation","conversationId","id","endpointId","callerNum","setCallRecordingInformations","dispatchPhysicalRecordingSave","setIslandView","React","createElement","Fragment","className","PhysicalRecordingTimer","Hangup","description","isPhysicalRecording","FontAwesomeIcon","icon","faCircle"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/PhysicalRecorderView/index.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC, useRef, useEffect } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { Dispatch, RootState, store } from '../../store'\nimport { useTranslation } from 'react-i18next'\nimport Hangup from '../Hangup'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCircle } from '@fortawesome/free-solid-svg-icons'\nimport { useEventListener, eventDispatch } from '../../utils'\nimport { startAnnouncementRecording } from '../../services/offhour'\nimport { dispatchPhysicalRecordingSave } from '../../events'\nimport PhysicalRecordingTimer from './PhysicalRecordingTimer'\n\nexport const PhysicalRecorderView: FC<PhysicalRecorderViewProps> = () => {\n const { isOpen } = useSelector((state: RootState) => state.island)\n const { recording } = useSelector((state: RootState) => ({\n recording: state.physicalRecorder.recording,\n }))\n\n const { username } = store.getState().currentUser\n const visibleContainerRef = useRef<HTMLDivElement>(null)\n\n // Initialize state dispatch\n const dispatch = useDispatch<Dispatch>()\n\n // Handle view close and reset state\n useEffect(() => {\n // Set visible container reference to recorder state\n dispatch.recorder.setVisibleContainerRef(visibleContainerRef)\n\n return () => {\n dispatch.recorder.reset()\n }\n }, [])\n\n const { t } = useTranslation()\n\n async function handleStart() {\n // Update the recorder state\n dispatch.physicalRecorder.setRecording(true)\n // Call the api to start the recording call\n const data: { tempFilename: string } | null = await startAnnouncementRecording()\n // Set the returned temp file name to the store\n if (data.tempFilename) dispatch.physicalRecorder.setTempFilename(data.tempFilename)\n eventDispatch('phone-island-recording-started', {})\n }\n\n // Save recording inside store and make api request\n useEventListener('phone-island-physical-recording-open', () => {\n handleStart()\n })\n\n const { recordingTempVariable } = store.getState().physicalRecorder\n // recording true and conversation not empty recording is started\n // recording true and conversation empty recording is stopped\n useEventListener('phone-island-conversations', (data: { [key: string]: any }) => {\n const keys = Object.keys(data)\n\n keys.forEach((key) => {\n if (key === username) {\n let conversations = data[key]?.conversations\n\n if (conversations) {\n const conversationKeys = Object.keys(conversations)\n if (\n conversationKeys.length > 0 &&\n conversations[conversationKeys[0]].counterpartName === 'REC'\n ) {\n // Set the start time of recording\n dispatch.physicalRecorder.setStartTime(`${Date.now() / 1000}`)\n let firstConversationKey = conversationKeys[0]\n let userRecordingData = conversations[firstConversationKey]\n if (userRecordingData) {\n if (userRecordingData.chSource) {\n let recordingCallInformation = {\n conversationId: userRecordingData.id,\n endpointId: userRecordingData.chSource.callerNum,\n }\n dispatch.physicalRecorder.setCallRecordingInformations({\n recordingCallInformation,\n })\n }\n }\n }\n if (conversationKeys.length === 0 && recording && !recordingTempVariable) {\n // close physical recording phone island view\n dispatchPhysicalRecordingSave()\n dispatch.island.setIslandView(null)\n dispatch.physicalRecorder.setRecording(false)\n }\n }\n }\n })\n })\n\n return (\n <>\n {isOpen ? (\n <div className=''>\n {recordingTempVariable && (\n <div className='pi-flex pi-w-full pi-justify-center pi-items-center pi-pt-4 pi-pb-9'>\n <div className='pi-font-medium pi-text-4xl pi-w-fit pi-h-fit dark:pi-text-white'>\n <PhysicalRecordingTimer />\n </div>\n </div>\n )}\n <div className='pi-flex pi-w-full pi-justify-center pi-items-center'>\n {recordingTempVariable ? (\n <div className='pi-sans pi-text-sm pi-w-fit pi-h-fit dark:pi-text-white'>\n {t('Common.Close the call to stop recording')}\n </div>\n ) : (\n <div className='pi-mt-12 pi-font-regular pi-text-lg pi-w-fit pi-h-fit dark:pi-text-white'>\n {t('Common.Answer phone to start recording')}\n </div>\n )}\n </div>\n <div className='pi-grid pi-pt-2 pi-mt-8'>\n <div className='pi-grid pi-justify-items-center'>\n <Hangup description={t('Tooltip.Interrupt recording')} isPhysicalRecording />\n </div>\n </div>\n </div>\n ) : (\n <div className='pi-flex pi-justify-between pi-items-center'>\n <div className='pi-font-medium pi-text-base'>{t('Common.Recording')}</div>\n <div\n className={`${\n !isOpen ? 'pi-h-6 pi-w-6' : 'pi-h-12 pi-w-12'\n } pi-flex pi-justify-center pi-items-center`}\n >\n <div\n className={`${\n !isOpen ? 'pi-h-4 pi-w-4 pi-rounded-full' : 'pi-h-8'\n } pi-w-fit pi-flex pi-justify-center pi-items-center pi-gap-1 pi-overflow-hidden`}\n >\n <span\n className={`${\n !isOpen ? 'pi-h-6 pi-w-6' : 'pi-w-8 pi-h-8'\n } pi-animate-ping pi-absolute pi-inline-flex pi-rounded-full pi-bg-red-400 pi-opacity-75 `}\n ></span>\n <FontAwesomeIcon\n className='pi-w-4 pi-h-6 pi-rotate-45 pi-text-red-500'\n icon={faCircle}\n ></FontAwesomeIcon>\n </div>\n </div>\n </div>\n )}\n </>\n )\n}\n\nexport interface PhysicalRecorderViewProps {}\n"],"names":["isOpen","useSelector","state","island","recording","physicalRecorder","username","store","getState","currentUser","visibleContainerRef","useRef","dispatch","useDispatch","useEffect","recorder","setVisibleContainerRef","reset","t","useTranslation","useEventListener","setRecording","startAnnouncementRecording","data","_a","sent","tempFilename","setTempFilename","eventDispatch","handleStart","recordingTempVariable","Object","keys","forEach","key","conversations","conversationKeys","length","counterpartName","setStartTime","concat","Date","now","userRecordingData","chSource","recordingCallInformation","conversationId","id","endpointId","callerNum","setCallRecordingInformations","dispatchPhysicalRecordingSave","setIslandView","React","createElement","Fragment","className","PhysicalRecordingTimer","Hangup","description","isPhysicalRecording","FontAwesomeIcon","icon","faCircle"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react"),i=require("../Button.js"),r=require("@fortawesome/react-fontawesome"),o=require("@fortawesome/free-solid-svg-icons"),n=require("../../services/offhour.js"),a=require("react-redux"),c=require("../../lib/phone/call.js"),s=require("../../utils/customHooks/useEventListener.js"),l=require("../../utils/genericFunctions/eventDispatch.js");require("../../store/index.js");var d=require("../../events/RecorderEvents.js"),p=require("react-i18next"),u=require("../CustomThemedTooltip.js"),f=require("@nethesis/nethesis-solid-svg-icons");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var g=m(t);exports.Actions=function(){var m=a.useDispatch(),w=a.useSelector((function(e){return{incoming:e.recorder.incoming,waiting:e.recorder.waiting,recording:e.recorder.recording,recorded:e.recorder.recorded,playing:e.recorder.playing}}),a.shallowEqual),v=w.incoming,h=w.waiting,E=w.recording,x=w.recorded,y=w.playing;function T(){return e.__awaiter(this,void 0,void 0,(function(){var t;return e.__generator(this,(function(e){switch(e.label){case 0:return m.recorder.setRecording(!0),m.recorder.setWaiting(!0),[4,n.startAnnouncementRecording()];case 1:return(t=e.sent()).tempFilename&&m.recorder.setTempFilename(t.tempFilename),m.recorder.setStartTime("".concat(Date.now()/1e3)),l.eventDispatch("phone-island-recording-started",{}),[2]}}))}))}function j(){m.recorder.setWaiting(!0),c.hangupCurrentCall(),m.recorder.setRecorded(!0),l.eventDispatch("phone-island-recording-stopped",{})}function q(){y&&(m.player.pauseAudioPlayer(),m.recorder.setPlaying(!1),m.recorder.setPaused(!0)),d.dispatchRecordingSave(),m.island.setIslandView(null)}s.useEventListener("phone-island-recording-start",(function(e){T()})),s.useEventListener("phone-island-recording-stop",(function(e){j()})),s.useEventListener("phone-island-recording-save",(function(e){q()})),t.useEffect((function(){E||m.recorder.setWaiting(!1)}),[E]),t.useEffect((function(){v&&(c.answerIncomingCall(),m.recorder.setIncoming(!1),m.recorder.setWaiting(!1))}),[v]);var C=p.useTranslation().t;return g.default.createElement("div",{className:"pi-flex pi-items-center pi-justify-between pi-px-6 pi-py-2 pi-gap-0 pi-w-full pi-mt-auto"},g.default.createElement(i.Button,{variant:"transparent",disabled:!0,className:"pi-w-6 pi-h-6 pi-flex pi-items-center pi-justify-center pi-flex-none"},g.default.createElement(r.FontAwesomeIcon,{icon:o.faDownLeftAndUpRightToCenter,className:"pi-w-6 pi-h-6"})),g.default.createElement("div",{className:"pi-flex pi-items-center pi-justify-center pi-flex-grow"},E&&g.default.createElement(i.Button,{onClick:j,variant:"default",className:"pi-rounded-full pi-w-14 pi-h-14 pi-flex pi-items-center pi-justify-center","data-tooltip-id":"tooltip-stop-recorder-view","data-tooltip-content":C("Tooltip.Stop")||""},h?g.default.createElement(r.FontAwesomeIcon,{icon:o.faCircleNotch,className:"fa-spin pi-loader",size:"lg"}):g.default.createElement(r.FontAwesomeIcon,{icon:o.faStop,size:"xl"})),x&&!E&&g.default.createElement(i.Button,{onClick:q,variant:"default",className:"pi-rounded-full pi-w-14 pi-h-14 pi-flex pi-items-center pi-justify-center","data-tooltip-id":"tooltip-confirm-record-view","data-tooltip-content":C("Tooltip.Confirm")||""},g.default.createElement(r.FontAwesomeIcon,{icon:o.faFloppyDisk,className:"pi-h-6 pi-w-6"})),!E&&!x&&g.default.createElement(i.Button,{onClick:T,variant:"default",className:"pi-rounded-full pi-w-14 pi-h-14 pi-flex pi-items-center pi-justify-center","data-tooltip-id":"tooltip-start-recording-recorder-view","data-tooltip-content":C("Tooltip.Start recording")||""},h?g.default.createElement(r.FontAwesomeIcon,{icon:o.faCircleNotch,className:"fa-spin pi-loader",size:"lg"}):g.default.createElement(r.FontAwesomeIcon,{icon:f.faRecord,className:"pi-h-6 pi-w-6"}))),g.default.createElement("div",{onClick:function(){return m.island.setIslandView("settings")},"data-tooltip-id":"tooltip-settings-view-recorder","data-tooltip-content":C("Tooltip.Go to settings")||"",className:"pi-flex pi-items-center pi-justify-center pi-cursor-pointer pi-text-gray-700 dark:pi-text-gray-200 pi-w-6 pi-h-6 pi-flex-none"},g.default.createElement(r.FontAwesomeIcon,{icon:o.faGear,className:"pi-h-6 pi-w-6"})),g.default.createElement(u.CustomThemedTooltip,{id:"tooltip-start-recording-recorder-view",place:"top"}),g.default.createElement(u.CustomThemedTooltip,{id:"tooltip-stop-recorder-view",place:"top"}),g.default.createElement(u.CustomThemedTooltip,{id:"tooltip-confirm-record-view",place:"top"}),g.default.createElement(u.CustomThemedTooltip,{id:"tooltip-settings-view-recorder",place:"top"}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../node_modules/tslib/tslib.es6.js"),t=require("react"),r=require("../Button.js"),i=require("../../node_modules/@fortawesome/react-fontawesome/index.es.js"),o=require("../../node_modules/@fortawesome/free-solid-svg-icons/index.mjs.js"),n=require("../../services/offhour.js");require("../../node_modules/react-redux/es/index.js");var s=require("../../lib/phone/call.js"),a=require("../../utils/customHooks/useEventListener.js"),l=require("../../utils/genericFunctions/eventDispatch.js");require("../../store/index.js");var c=require("../../events/RecorderEvents.js");require("../../node_modules/@babel/runtime/helpers/defineProperty.js"),require("../../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"),require("../../node_modules/@babel/runtime/helpers/typeof.js"),require("../../node_modules/html-parse-stringify/dist/html-parse-stringify.js"),require("../../node_modules/react-i18next/dist/es/context.js");var d=require("../../node_modules/react-i18next/dist/es/useTranslation.js");require("../../node_modules/@babel/runtime/helpers/slicedToArray.js");var u=require("../CustomThemedTooltip.js"),p=require("../../node_modules/@nethesis/nethesis-solid-svg-icons/index.mjs.js"),m=require("../../node_modules/react-redux/es/utils/shallowEqual.js");require("../../node_modules/react-redux/es/components/Context.js"),require("../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"),require("../../node_modules/react-redux/node_modules/react-is/index.js");var f=require("../../node_modules/react-redux/es/hooks/useDispatch.js"),g=require("../../node_modules/react-redux/es/hooks/useSelector.js");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var v=h(t);exports.Actions=function(){var h=f.useDispatch(),w=g.useSelector((function(e){return{incoming:e.recorder.incoming,waiting:e.recorder.waiting,recording:e.recorder.recording,recorded:e.recorder.recorded,playing:e.recorder.playing}}),m.default),j=w.incoming,x=w.waiting,q=w.recording,E=w.recorded,_=w.playing;function y(){return e.__awaiter(this,void 0,void 0,(function(){var t;return e.__generator(this,(function(e){switch(e.label){case 0:return h.recorder.setRecording(!0),h.recorder.setWaiting(!0),[4,n.startAnnouncementRecording()];case 1:return(t=e.sent()).tempFilename&&h.recorder.setTempFilename(t.tempFilename),h.recorder.setStartTime("".concat(Date.now()/1e3)),l.eventDispatch("phone-island-recording-started",{}),[2]}}))}))}function T(){h.recorder.setWaiting(!0),s.hangupCurrentCall(),h.recorder.setRecorded(!0),l.eventDispatch("phone-island-recording-stopped",{})}function b(){_&&(h.player.pauseAudioPlayer(),h.recorder.setPlaying(!1),h.recorder.setPaused(!0)),c.dispatchRecordingSave(),h.island.setIslandView(null)}a.useEventListener("phone-island-recording-start",(function(e){y()})),a.useEventListener("phone-island-recording-stop",(function(e){T()})),a.useEventListener("phone-island-recording-save",(function(e){b()})),t.useEffect((function(){q||h.recorder.setWaiting(!1)}),[q]),t.useEffect((function(){j&&(s.answerIncomingCall(),h.recorder.setIncoming(!1),h.recorder.setWaiting(!1))}),[j]);var C=d.useTranslation().t;return v.default.createElement("div",{className:"pi-flex pi-items-center pi-justify-between pi-px-6 pi-py-2 pi-gap-0 pi-w-full pi-mt-auto"},v.default.createElement(r.Button,{variant:"transparent",disabled:!0,className:"pi-w-6 pi-h-6 pi-flex pi-items-center pi-justify-center pi-flex-none"},v.default.createElement(i.FontAwesomeIcon,{icon:o.faDownLeftAndUpRightToCenter,className:"pi-w-6 pi-h-6"})),v.default.createElement("div",{className:"pi-flex pi-items-center pi-justify-center pi-flex-grow"},q&&v.default.createElement(r.Button,{onClick:T,variant:"default",className:"pi-rounded-full pi-w-14 pi-h-14 pi-flex pi-items-center pi-justify-center","data-tooltip-id":"tooltip-stop-recorder-view","data-tooltip-content":C("Tooltip.Stop")||""},x?v.default.createElement(i.FontAwesomeIcon,{icon:o.faCircleNotch,className:"fa-spin pi-loader",size:"lg"}):v.default.createElement(i.FontAwesomeIcon,{icon:o.faStop,size:"xl"})),E&&!q&&v.default.createElement(r.Button,{onClick:b,variant:"default",className:"pi-rounded-full pi-w-14 pi-h-14 pi-flex pi-items-center pi-justify-center","data-tooltip-id":"tooltip-confirm-record-view","data-tooltip-content":C("Tooltip.Confirm")||""},v.default.createElement(i.FontAwesomeIcon,{icon:o.faFloppyDisk,className:"pi-h-6 pi-w-6"})),!q&&!E&&v.default.createElement(r.Button,{onClick:y,variant:"default",className:"pi-rounded-full pi-w-14 pi-h-14 pi-flex pi-items-center pi-justify-center","data-tooltip-id":"tooltip-start-recording-recorder-view","data-tooltip-content":C("Tooltip.Start recording")||""},x?v.default.createElement(i.FontAwesomeIcon,{icon:o.faCircleNotch,className:"fa-spin pi-loader",size:"lg"}):v.default.createElement(i.FontAwesomeIcon,{icon:p.faRecord,className:"pi-h-6 pi-w-6"}))),v.default.createElement("div",{onClick:function(){return h.island.setIslandView("settings")},"data-tooltip-id":"tooltip-settings-view-recorder","data-tooltip-content":C("Tooltip.Go to settings")||"",className:"pi-flex pi-items-center pi-justify-center pi-cursor-pointer pi-text-gray-700 dark:pi-text-gray-200 pi-w-6 pi-h-6 pi-flex-none"},v.default.createElement(i.FontAwesomeIcon,{icon:o.faGear,className:"pi-h-6 pi-w-6"})),v.default.createElement(u.CustomThemedTooltip,{id:"tooltip-start-recording-recorder-view",place:"top"}),v.default.createElement(u.CustomThemedTooltip,{id:"tooltip-stop-recorder-view",place:"top"}),v.default.createElement(u.CustomThemedTooltip,{id:"tooltip-confirm-record-view",place:"top"}),v.default.createElement(u.CustomThemedTooltip,{id:"tooltip-settings-view-recorder",place:"top"}))};
2
2
  //# sourceMappingURL=Actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Actions.js","sources":["../../../src/components/RecorderView/Actions.tsx"],"sourcesContent":["//\n// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\n\nimport React, { type FC, useEffect } from 'react'\nimport { Button } from '../Button'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faStop,\n faCircleNotch,\n faGear,\n faDownLeftAndUpRightToCenter,\n faFloppyDisk,\n} from '@fortawesome/free-solid-svg-icons'\nimport { startAnnouncementRecording } from '../../services/offhour'\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux'\nimport { Dispatch, RootState } from '../../store'\nimport { hangupCurrentCall, answerIncomingCall } from '../../lib/phone/call'\nimport { dispatchRecordingSave } from '../../events'\nimport { useTranslation } from 'react-i18next'\nimport { useEventListener, eventDispatch } from '../../utils'\nimport { CustomThemedTooltip } from '../CustomThemedTooltip'\nimport { faRecord } from '@nethesis/nethesis-solid-svg-icons'\n\nexport const Actions: FC<{}> = () => {\n const dispatch = useDispatch<Dispatch>()\n const { incoming, waiting, recording, recorded, playing } = useSelector(\n (state: RootState) => ({\n incoming: state.recorder.incoming,\n waiting: state.recorder.waiting,\n recording: state.recorder.recording,\n recorded: state.recorder.recorded,\n playing: state.recorder.playing,\n }),\n shallowEqual,\n )\n\n async function handleStart() {\n // Update the recorder state\n dispatch.recorder.setRecording(true)\n dispatch.recorder.setWaiting(true)\n // Call the api to start the recording call\n const data: { tempFilename: string } | null = await startAnnouncementRecording()\n // Set the returned temp file name to the store\n if (data.tempFilename) dispatch.recorder.setTempFilename(data.tempFilename)\n // Set the start time of recording\n dispatch.recorder.setStartTime(`${Date.now() / 1000}`)\n eventDispatch('phone-island-recording-started', {})\n }\n useEventListener('phone-island-recording-start', (data: {}) => {\n handleStart()\n })\n\n function handleStop() {\n // Set waiting to true\n dispatch.recorder.setWaiting(true)\n // Call the function to hangup the current call used for recording\n hangupCurrentCall()\n dispatch.recorder.setRecorded(true)\n eventDispatch('phone-island-recording-stopped', {})\n }\n useEventListener('phone-island-recording-stop', (data: {}) => {\n handleStop()\n })\n\n function handleSaveRecording() {\n // check if the audio is playing and pause it\n if (playing) {\n dispatch.player.pauseAudioPlayer()\n dispatch.recorder.setPlaying(false)\n dispatch.recorder.setPaused(true)\n }\n // Dispatch the reconrding save event\n dispatchRecordingSave()\n // Close the Island\n dispatch.island.setIslandView(null)\n }\n useEventListener('phone-island-recording-save', (data: {}) => {\n handleSaveRecording()\n })\n\n useEffect(() => {\n if (!recording) {\n dispatch.recorder.setWaiting(false)\n }\n }, [recording])\n\n useEffect(() => {\n if (incoming) {\n // Answer the incoming call for recording\n answerIncomingCall()\n // Reset incoming to recorder state\n dispatch.recorder.setIncoming(false)\n dispatch.recorder.setWaiting(false)\n }\n }, [incoming])\n\n const { t } = useTranslation()\n\n return (\n <div\n className={`pi-flex pi-items-center pi-justify-between pi-px-6 pi-py-2 pi-gap-0 pi-w-full pi-mt-auto`}\n >\n <Button\n variant='transparent'\n disabled\n className='pi-w-6 pi-h-6 pi-flex pi-items-center pi-justify-center pi-flex-none'\n >\n <FontAwesomeIcon icon={faDownLeftAndUpRightToCenter} className='pi-w-6 pi-h-6' />\n </Button>\n\n <div className='pi-flex pi-items-center pi-justify-center pi-flex-grow'>\n {recording && (\n <Button\n onClick={handleStop}\n variant='default'\n className='pi-rounded-full pi-w-14 pi-h-14 pi-flex pi-items-center pi-justify-center'\n data-tooltip-id='tooltip-stop-recorder-view'\n data-tooltip-content={t('Tooltip.Stop') || ''}\n >\n {waiting ? (\n <FontAwesomeIcon icon={faCircleNotch} className='fa-spin pi-loader' size='lg' />\n ) : (\n <FontAwesomeIcon icon={faStop} size='xl' />\n )}\n </Button>\n )}\n {recorded && !recording && (\n <Button\n onClick={handleSaveRecording}\n variant='default'\n className='pi-rounded-full pi-w-14 pi-h-14 pi-flex pi-items-center pi-justify-center'\n data-tooltip-id='tooltip-confirm-record-view'\n data-tooltip-content={t('Tooltip.Confirm') || ''}\n >\n <FontAwesomeIcon icon={faFloppyDisk} className='pi-h-6 pi-w-6' />\n </Button>\n )}\n {!recording && !recorded && (\n <Button\n onClick={handleStart}\n variant='default'\n className='pi-rounded-full pi-w-14 pi-h-14 pi-flex pi-items-center pi-justify-center'\n data-tooltip-id='tooltip-start-recording-recorder-view'\n data-tooltip-content={t('Tooltip.Start recording') || ''}\n >\n {waiting ? (\n <FontAwesomeIcon icon={faCircleNotch} className='fa-spin pi-loader' size='lg' />\n ) : (\n <FontAwesomeIcon icon={faRecord} className='pi-h-6 pi-w-6' />\n )}\n </Button>\n )}\n </div>\n\n <div\n onClick={() => dispatch.island.setIslandView('settings')}\n data-tooltip-id='tooltip-settings-view-recorder'\n data-tooltip-content={t('Tooltip.Go to settings') || ''}\n className='pi-flex pi-items-center pi-justify-center pi-cursor-pointer pi-text-gray-700 dark:pi-text-gray-200 pi-w-6 pi-h-6 pi-flex-none'\n >\n <FontAwesomeIcon icon={faGear} className={`pi-h-6 pi-w-6`} />\n </div>\n\n {/* Buttons tooltips */}\n <CustomThemedTooltip id='tooltip-start-recording-recorder-view' place='top' />\n <CustomThemedTooltip id='tooltip-stop-recorder-view' place='top' />\n <CustomThemedTooltip id='tooltip-confirm-record-view' place='top' />\n <CustomThemedTooltip id='tooltip-settings-view-recorder' place='top' />\n </div>\n )\n}\n"],"names":["dispatch","useDispatch","_a","useSelector","state","incoming","recorder","waiting","recording","recorded","playing","shallowEqual","handleStart","setRecording","setWaiting","startAnnouncementRecording","data","sent","tempFilename","setTempFilename","setStartTime","concat","Date","now","eventDispatch","handleStop","hangupCurrentCall","setRecorded","handleSaveRecording","player","pauseAudioPlayer","setPlaying","setPaused","dispatchRecordingSave","island","setIslandView","useEventListener","useEffect","answerIncomingCall","setIncoming","t","useTranslation","React","createElement","className","Button","variant","disabled","FontAwesomeIcon","icon","faDownLeftAndUpRightToCenter","onClick","faCircleNotch","size","faStop","faFloppyDisk","faRecord","faGear","CustomThemedTooltip","id","place"],"mappings":"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"}
1
+ {"version":3,"file":"Actions.js","sources":["../../../src/components/RecorderView/Actions.tsx"],"sourcesContent":["//\n// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\n\nimport React, { type FC, useEffect } from 'react'\nimport { Button } from '../Button'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faStop,\n faCircleNotch,\n faGear,\n faDownLeftAndUpRightToCenter,\n faFloppyDisk,\n} from '@fortawesome/free-solid-svg-icons'\nimport { startAnnouncementRecording } from '../../services/offhour'\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux'\nimport { Dispatch, RootState } from '../../store'\nimport { hangupCurrentCall, answerIncomingCall } from '../../lib/phone/call'\nimport { dispatchRecordingSave } from '../../events'\nimport { useTranslation } from 'react-i18next'\nimport { useEventListener, eventDispatch } from '../../utils'\nimport { CustomThemedTooltip } from '../CustomThemedTooltip'\nimport { faRecord } from '@nethesis/nethesis-solid-svg-icons'\n\nexport const Actions: FC<{}> = () => {\n const dispatch = useDispatch<Dispatch>()\n const { incoming, waiting, recording, recorded, playing } = useSelector(\n (state: RootState) => ({\n incoming: state.recorder.incoming,\n waiting: state.recorder.waiting,\n recording: state.recorder.recording,\n recorded: state.recorder.recorded,\n playing: state.recorder.playing,\n }),\n shallowEqual,\n )\n\n async function handleStart() {\n // Update the recorder state\n dispatch.recorder.setRecording(true)\n dispatch.recorder.setWaiting(true)\n // Call the api to start the recording call\n const data: { tempFilename: string } | null = await startAnnouncementRecording()\n // Set the returned temp file name to the store\n if (data.tempFilename) dispatch.recorder.setTempFilename(data.tempFilename)\n // Set the start time of recording\n dispatch.recorder.setStartTime(`${Date.now() / 1000}`)\n eventDispatch('phone-island-recording-started', {})\n }\n useEventListener('phone-island-recording-start', (data: {}) => {\n handleStart()\n })\n\n function handleStop() {\n // Set waiting to true\n dispatch.recorder.setWaiting(true)\n // Call the function to hangup the current call used for recording\n hangupCurrentCall()\n dispatch.recorder.setRecorded(true)\n eventDispatch('phone-island-recording-stopped', {})\n }\n useEventListener('phone-island-recording-stop', (data: {}) => {\n handleStop()\n })\n\n function handleSaveRecording() {\n // check if the audio is playing and pause it\n if (playing) {\n dispatch.player.pauseAudioPlayer()\n dispatch.recorder.setPlaying(false)\n dispatch.recorder.setPaused(true)\n }\n // Dispatch the reconrding save event\n dispatchRecordingSave()\n // Close the Island\n dispatch.island.setIslandView(null)\n }\n useEventListener('phone-island-recording-save', (data: {}) => {\n handleSaveRecording()\n })\n\n useEffect(() => {\n if (!recording) {\n dispatch.recorder.setWaiting(false)\n }\n }, [recording])\n\n useEffect(() => {\n if (incoming) {\n // Answer the incoming call for recording\n answerIncomingCall()\n // Reset incoming to recorder state\n dispatch.recorder.setIncoming(false)\n dispatch.recorder.setWaiting(false)\n }\n }, [incoming])\n\n const { t } = useTranslation()\n\n return (\n <div\n className={`pi-flex pi-items-center pi-justify-between pi-px-6 pi-py-2 pi-gap-0 pi-w-full pi-mt-auto`}\n >\n <Button\n variant='transparent'\n disabled\n className='pi-w-6 pi-h-6 pi-flex pi-items-center pi-justify-center pi-flex-none'\n >\n <FontAwesomeIcon icon={faDownLeftAndUpRightToCenter} className='pi-w-6 pi-h-6' />\n </Button>\n\n <div className='pi-flex pi-items-center pi-justify-center pi-flex-grow'>\n {recording && (\n <Button\n onClick={handleStop}\n variant='default'\n className='pi-rounded-full pi-w-14 pi-h-14 pi-flex pi-items-center pi-justify-center'\n data-tooltip-id='tooltip-stop-recorder-view'\n data-tooltip-content={t('Tooltip.Stop') || ''}\n >\n {waiting ? (\n <FontAwesomeIcon icon={faCircleNotch} className='fa-spin pi-loader' size='lg' />\n ) : (\n <FontAwesomeIcon icon={faStop} size='xl' />\n )}\n </Button>\n )}\n {recorded && !recording && (\n <Button\n onClick={handleSaveRecording}\n variant='default'\n className='pi-rounded-full pi-w-14 pi-h-14 pi-flex pi-items-center pi-justify-center'\n data-tooltip-id='tooltip-confirm-record-view'\n data-tooltip-content={t('Tooltip.Confirm') || ''}\n >\n <FontAwesomeIcon icon={faFloppyDisk} className='pi-h-6 pi-w-6' />\n </Button>\n )}\n {!recording && !recorded && (\n <Button\n onClick={handleStart}\n variant='default'\n className='pi-rounded-full pi-w-14 pi-h-14 pi-flex pi-items-center pi-justify-center'\n data-tooltip-id='tooltip-start-recording-recorder-view'\n data-tooltip-content={t('Tooltip.Start recording') || ''}\n >\n {waiting ? (\n <FontAwesomeIcon icon={faCircleNotch} className='fa-spin pi-loader' size='lg' />\n ) : (\n <FontAwesomeIcon icon={faRecord} className='pi-h-6 pi-w-6' />\n )}\n </Button>\n )}\n </div>\n\n <div\n onClick={() => dispatch.island.setIslandView('settings')}\n data-tooltip-id='tooltip-settings-view-recorder'\n data-tooltip-content={t('Tooltip.Go to settings') || ''}\n className='pi-flex pi-items-center pi-justify-center pi-cursor-pointer pi-text-gray-700 dark:pi-text-gray-200 pi-w-6 pi-h-6 pi-flex-none'\n >\n <FontAwesomeIcon icon={faGear} className={`pi-h-6 pi-w-6`} />\n </div>\n\n {/* Buttons tooltips */}\n <CustomThemedTooltip id='tooltip-start-recording-recorder-view' place='top' />\n <CustomThemedTooltip id='tooltip-stop-recorder-view' place='top' />\n <CustomThemedTooltip id='tooltip-confirm-record-view' place='top' />\n <CustomThemedTooltip id='tooltip-settings-view-recorder' place='top' />\n </div>\n )\n}\n"],"names":["dispatch","useDispatch","_a","useSelector","state","incoming","recorder","waiting","recording","recorded","playing","shallowEqual","handleStart","setRecording","setWaiting","startAnnouncementRecording","data","sent","tempFilename","setTempFilename","setStartTime","concat","Date","now","eventDispatch","handleStop","hangupCurrentCall","setRecorded","handleSaveRecording","player","pauseAudioPlayer","setPlaying","setPaused","dispatchRecordingSave","island","setIslandView","useEventListener","useEffect","answerIncomingCall","setIncoming","t","useTranslation","React","createElement","className","Button","variant","disabled","FontAwesomeIcon","icon","faDownLeftAndUpRightToCenter","onClick","faCircleNotch","size","faStop","faFloppyDisk","faRecord","faGear","CustomThemedTooltip","id","place"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("./Bar.js"),t=require("react-redux");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=n(e);exports.BarsGroup=function(n){var a=n.index,c=n.startAnimation,i=n.audioStream,o=e.useRef(null),s=e.useRef(0),l=e.useRef(0),f=t.useSelector((function(e){return e.recorder.visibleContainerRef})),m=t.useDispatch(),d=e.useRef(null),p=e.useState(),v=p[0],y=p[1],A=e.useCallback((function(){if(o.current){var e=(l.current?l.current:(t=o.current,(n=t.style.transform.match(/translateX\(([-0-9.]+)%\)/))&&n[1]?parseFloat(n[1]):0))-.4,r=e<=-100?100:e;o.current.style.transform="translateX(".concat(r,"%)"),l.current=r}var t,n;s.current=requestAnimationFrame(A)}),[l]);function q(){var e,r=d.current&&new Uint8Array(d.current.frequencyBinCount);r&&(null===(e=d.current)||void 0===e||e.getByteFrequencyData(r));var t=r&&Object.values(r)||[];m.recorder.setFrequency(t[0]/255),requestAnimationFrame(q)}return e.useEffect((function(){if(i){var e=new AudioContext;d.current=e.createAnalyser(),d.current.fftSize=32,(i&&e.createMediaStreamSource(i)).connect(d.current),requestAnimationFrame(q)}}),[i]),e.useEffect((function(){return c&&(s.current=requestAnimationFrame(A)),function(){s.current&&cancelAnimationFrame(s.current)}}),[c]),e.useEffect((function(){(null==o?void 0:o.current)&&y(!0)}),[]),u.default.createElement("div",{id:"".concat(a),style:{transform:"translateX(".concat(100*a,"%)")},className:"pi-absolute pi-flex pi-w-fit pi-h-6 pi-gap-1 pi-items-center pi-px-0.5",ref:o},v&&u.default.createElement(u.default.Fragment,null,Array.from(Array(55).keys()).map((function(e,t){return u.default.createElement(r.Bar,{key:t,visibleContainer:(null==f?void 0:f.current)||null})}))))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("./Bar.js");require("../../node_modules/react-redux/es/index.js");var t=require("../../node_modules/react-redux/es/hooks/useSelector.js"),n=require("../../node_modules/react-redux/es/hooks/useDispatch.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=u(e);exports.BarsGroup=function(u){var c=u.index,i=u.startAnimation,s=u.audioStream,o=e.useRef(null),l=e.useRef(0),f=e.useRef(0),d=t.useSelector((function(e){return e.recorder.visibleContainerRef})),m=n.useDispatch(),p=e.useRef(null),v=e.useState(),y=v[0],q=v[1],A=e.useCallback((function(){if(o.current){var e=(f.current?f.current:(t=o.current,(n=t.style.transform.match(/translateX\(([-0-9.]+)%\)/))&&n[1]?parseFloat(n[1]):0))-.4,r=e<=-100?100:e;o.current.style.transform="translateX(".concat(r,"%)"),f.current=r}var t,n;l.current=requestAnimationFrame(A)}),[f]);function x(){var e,r=p.current&&new Uint8Array(p.current.frequencyBinCount);r&&(null===(e=p.current)||void 0===e||e.getByteFrequencyData(r));var t=r&&Object.values(r)||[];m.recorder.setFrequency(t[0]/255),requestAnimationFrame(x)}return e.useEffect((function(){if(s){var e=new AudioContext;p.current=e.createAnalyser(),p.current.fftSize=32,(s&&e.createMediaStreamSource(s)).connect(p.current),requestAnimationFrame(x)}}),[s]),e.useEffect((function(){return i&&(l.current=requestAnimationFrame(A)),function(){l.current&&cancelAnimationFrame(l.current)}}),[i]),e.useEffect((function(){(null==o?void 0:o.current)&&q(!0)}),[]),a.default.createElement("div",{id:"".concat(c),style:{transform:"translateX(".concat(100*c,"%)")},className:"pi-absolute pi-flex pi-w-fit pi-h-6 pi-gap-1 pi-items-center pi-px-0.5",ref:o},y&&a.default.createElement(a.default.Fragment,null,Array.from(Array(55).keys()).map((function(e,t){return a.default.createElement(r.Bar,{key:t,visibleContainer:(null==d?void 0:d.current)||null})}))))};
2
2
  //# sourceMappingURL=BarsGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BarsGroup.js","sources":["../../../src/components/RecorderView/BarsGroup.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC, useEffect, useRef, useCallback, useState } from 'react'\nimport { Bar } from './Bar'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { Dispatch, RootState } from '../../store'\n\n// The number in percent of the width of the group bars\n// ...by which the leftward transaction occurs\n// ...so it defines the speed of the animation\nconst BARS_ANIMATION_SPEED: number = 0.4\n// The number of bars to be shown for for every group\n// ...it defines the lenght of every group\nconst BARS_COUNT: number = 55\n// A value that rapresents the window size in samples\n// ...that is used when performing a fast fourier transform\n// ...to get frequency domain data\n// ...a higher number result in more details in frequency and fewer in amplitude\nconst AUDIO_FFT_VALUE: number = 32\n\nfunction getTranslateXPercent(element: HTMLDivElement) {\n const transformValue = element.style.transform\n const translateXMatch = transformValue.match(/translateX\\(([-0-9.]+)%\\)/)\n if (translateXMatch && translateXMatch[1]) {\n return parseFloat(translateXMatch[1])\n }\n return 0\n}\n\nexport const BarsGroup: FC<BarsGroupProps> = ({ index, startAnimation, audioStream }) => {\n const barsContainerRef = useRef<HTMLDivElement>(null)\n const animationRequestRef = useRef<number>(0)\n const lastTranslateRef = useRef<number>(0)\n const visibleContainerRef = useSelector((state: RootState) => state.recorder.visibleContainerRef)\n const dispatch = useDispatch<Dispatch>()\n const analyser = useRef<AnalyserNode | null>(null)\n const [showBars, setShowBars] = useState<boolean>()\n\n // The animation of the bars groups\n const barsGroupAnimation = useCallback(() => {\n if (barsContainerRef.current) {\n // Retrieve the last translate value\n const lastTranslateValue = lastTranslateRef.current\n ? lastTranslateRef.current\n : getTranslateXPercent(barsContainerRef.current)\n // Calculate the new translate value\n const newTranslateValue = lastTranslateValue - BARS_ANIMATION_SPEED\n const finalTranslateValue = newTranslateValue <= -100 ? 100 : newTranslateValue\n barsContainerRef.current.style.transform = `translateX(${finalTranslateValue}%)`\n // Update the translate ref value\n lastTranslateRef.current = finalTranslateValue\n }\n animationRequestRef.current = requestAnimationFrame(barsGroupAnimation)\n }, [lastTranslateRef])\n\n function retrieveFrequency() {\n const frequencyData = analyser.current && new Uint8Array(analyser.current.frequencyBinCount)\n frequencyData && analyser.current?.getByteFrequencyData(frequencyData)\n const values = (frequencyData && Object.values(frequencyData)) || []\n // Save the higher frequency to recorder state\n // ...using a number from 0 to 1\n dispatch.recorder.setFrequency(values[0] / 255)\n requestAnimationFrame(retrieveFrequency)\n }\n\n // Retrieve frequency\n useEffect(() => {\n if (audioStream) {\n const context = new AudioContext()\n analyser.current = context.createAnalyser()\n analyser.current.fftSize = AUDIO_FFT_VALUE\n // Connect the source to the analyser\n const source = audioStream && context.createMediaStreamSource(audioStream)\n // Connect the audio source to the analyser\n source.connect(analyser.current)\n // Request the animation to perform\n requestAnimationFrame(retrieveFrequency)\n }\n }, [audioStream])\n\n // Manage animation start\n useEffect(() => {\n if (startAnimation) {\n animationRequestRef.current = requestAnimationFrame(barsGroupAnimation)\n }\n return () => {\n animationRequestRef.current && cancelAnimationFrame(animationRequestRef.current)\n }\n }, [startAnimation])\n\n useEffect(() => {\n if (barsContainerRef?.current) {\n setShowBars(true)\n }\n }, [])\n\n return (\n <div\n id={`${index}`}\n style={{\n transform: `translateX(${100 * index}%)`,\n }}\n className='pi-absolute pi-flex pi-w-fit pi-h-6 pi-gap-1 pi-items-center pi-px-0.5'\n ref={barsContainerRef}\n >\n {/* Create a custom number of bars */}\n {showBars && (\n <>\n {Array.from(Array(BARS_COUNT).keys()).map((_, i) => (\n <Bar key={i} visibleContainer={visibleContainerRef?.current || null} />\n ))}\n </>\n )}\n </div>\n )\n}\n\ninterface BarsGroupProps {\n index: number\n startAnimation: boolean\n audioStream: MediaStream | null\n}\n"],"names":["_a","index","startAnimation","audioStream","barsContainerRef","useRef","animationRequestRef","lastTranslateRef","visibleContainerRef","useSelector","state","recorder","dispatch","useDispatch","analyser","_b","useState","showBars","setShowBars","barsGroupAnimation","useCallback","current","newTranslateValue","element","translateXMatch","style","transform","match","parseFloat","finalTranslateValue","concat","requestAnimationFrame","retrieveFrequency","frequencyData","Uint8Array","frequencyBinCount","getByteFrequencyData","values","Object","setFrequency","useEffect","context","AudioContext","createAnalyser","fftSize","createMediaStreamSource","connect","cancelAnimationFrame","React","id","className","ref","createElement","Fragment","Array","from","keys","map","_","i","Bar","key","visibleContainer"],"mappings":"+OA8B6C,SAACA,GAAE,IAAAC,UAAOC,EAAcF,EAAAE,eAAEC,EAAWH,EAAAG,YAC1EC,EAAmBC,SAAuB,MAC1CC,EAAsBD,SAAe,GACrCE,EAAmBF,SAAe,GAClCG,EAAsBC,eAAY,SAACC,GAAqB,OAAAA,EAAMC,SAASH,mBAAf,IACxDI,EAAWC,EAAAA,cACXC,EAAWT,SAA4B,MACvCU,EAA0BC,aAAzBC,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAGtBI,EAAqBC,EAAAA,aAAY,WACrC,GAAIhB,EAAiBiB,QAAS,CAE5B,IAIMC,GAJqBf,EAAiBc,QACxCd,EAAiBc,SAvBGE,EAwBCnB,EAAiBiB,SAtBxCG,EADiBD,EAAQE,MAAMC,UACEC,MAAM,+BACtBH,EAAgB,GAC9BI,WAAWJ,EAAgB,IAE7B,IAhB4B,GAqCzBK,EAAsBP,IAAsB,IAAM,IAAMA,EAC9DlB,EAAiBiB,QAAQI,MAAMC,UAAY,cAAAI,OAAcD,EAAmB,MAE5EtB,EAAiBc,QAAUQ,CAC5B,CA/BL,IAA8BN,EAEtBC,EA8BJlB,EAAoBe,QAAUU,sBAAsBZ,EACtD,GAAG,CAACZ,IAEJ,SAASyB,UACDC,EAAgBnB,EAASO,SAAW,IAAIa,WAAWpB,EAASO,QAAQc,mBAC1EF,IAAmC,QAAlBjC,EAAAc,EAASO,eAAS,IAAArB,GAAAA,EAAAoC,qBAAqBH,IACxD,IAAMI,EAAUJ,GAAiBK,OAAOD,OAAOJ,IAAmB,GAGlErB,EAASD,SAAS4B,aAAaF,EAAO,GAAK,KAC3CN,sBAAsBC,EACvB,CAiCD,OA9BAQ,EAAAA,WAAU,WACR,GAAIrC,EAAa,CACf,IAAMsC,EAAU,IAAIC,aACpB5B,EAASO,QAAUoB,EAAQE,iBAC3B7B,EAASO,QAAQuB,QApDS,IAsDXzC,GAAesC,EAAQI,wBAAwB1C,IAEvD2C,QAAQhC,EAASO,SAExBU,sBAAsBC,EACvB,CACH,GAAG,CAAC7B,IAGJqC,EAAAA,WAAU,WAIR,OAHItC,IACFI,EAAoBe,QAAUU,sBAAsBZ,IAE/C,WACLb,EAAoBe,SAAW0B,qBAAqBzC,EAAoBe,QAC1E,CACF,GAAG,CAACnB,IAEJsC,EAAAA,WAAU,YACJpC,eAAAA,EAAkBiB,UACpBH,GAAY,EAEf,GAAE,IAGD8B,+BACEC,GAAI,UAAGhD,GACPwB,MAAO,CACLC,UAAW,cAAAI,OAAc,IAAM7B,EAAS,OAE1CiD,UAAU,yEACVC,IAAK/C,GAGJa,GACC+B,EAAAA,QAAAI,cAAAJ,UAAAK,SAAA,KACGC,MAAMC,KAAKD,MA/FK,IA+FaE,QAAQC,KAAI,SAACC,EAAGC,GAAM,OAClDX,EAAA,QAAAI,cAACQ,EAAAA,IAAG,CAACC,IAAKF,EAAGG,kBAAkBtD,aAAA,EAAAA,EAAqBa,UAAW,MADb,KAO9D"}
1
+ {"version":3,"file":"BarsGroup.js","sources":["../../../src/components/RecorderView/BarsGroup.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC, useEffect, useRef, useCallback, useState } from 'react'\nimport { Bar } from './Bar'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { Dispatch, RootState } from '../../store'\n\n// The number in percent of the width of the group bars\n// ...by which the leftward transaction occurs\n// ...so it defines the speed of the animation\nconst BARS_ANIMATION_SPEED: number = 0.4\n// The number of bars to be shown for for every group\n// ...it defines the lenght of every group\nconst BARS_COUNT: number = 55\n// A value that rapresents the window size in samples\n// ...that is used when performing a fast fourier transform\n// ...to get frequency domain data\n// ...a higher number result in more details in frequency and fewer in amplitude\nconst AUDIO_FFT_VALUE: number = 32\n\nfunction getTranslateXPercent(element: HTMLDivElement) {\n const transformValue = element.style.transform\n const translateXMatch = transformValue.match(/translateX\\(([-0-9.]+)%\\)/)\n if (translateXMatch && translateXMatch[1]) {\n return parseFloat(translateXMatch[1])\n }\n return 0\n}\n\nexport const BarsGroup: FC<BarsGroupProps> = ({ index, startAnimation, audioStream }) => {\n const barsContainerRef = useRef<HTMLDivElement>(null)\n const animationRequestRef = useRef<number>(0)\n const lastTranslateRef = useRef<number>(0)\n const visibleContainerRef = useSelector((state: RootState) => state.recorder.visibleContainerRef)\n const dispatch = useDispatch<Dispatch>()\n const analyser = useRef<AnalyserNode | null>(null)\n const [showBars, setShowBars] = useState<boolean>()\n\n // The animation of the bars groups\n const barsGroupAnimation = useCallback(() => {\n if (barsContainerRef.current) {\n // Retrieve the last translate value\n const lastTranslateValue = lastTranslateRef.current\n ? lastTranslateRef.current\n : getTranslateXPercent(barsContainerRef.current)\n // Calculate the new translate value\n const newTranslateValue = lastTranslateValue - BARS_ANIMATION_SPEED\n const finalTranslateValue = newTranslateValue <= -100 ? 100 : newTranslateValue\n barsContainerRef.current.style.transform = `translateX(${finalTranslateValue}%)`\n // Update the translate ref value\n lastTranslateRef.current = finalTranslateValue\n }\n animationRequestRef.current = requestAnimationFrame(barsGroupAnimation)\n }, [lastTranslateRef])\n\n function retrieveFrequency() {\n const frequencyData = analyser.current && new Uint8Array(analyser.current.frequencyBinCount)\n frequencyData && analyser.current?.getByteFrequencyData(frequencyData)\n const values = (frequencyData && Object.values(frequencyData)) || []\n // Save the higher frequency to recorder state\n // ...using a number from 0 to 1\n dispatch.recorder.setFrequency(values[0] / 255)\n requestAnimationFrame(retrieveFrequency)\n }\n\n // Retrieve frequency\n useEffect(() => {\n if (audioStream) {\n const context = new AudioContext()\n analyser.current = context.createAnalyser()\n analyser.current.fftSize = AUDIO_FFT_VALUE\n // Connect the source to the analyser\n const source = audioStream && context.createMediaStreamSource(audioStream)\n // Connect the audio source to the analyser\n source.connect(analyser.current)\n // Request the animation to perform\n requestAnimationFrame(retrieveFrequency)\n }\n }, [audioStream])\n\n // Manage animation start\n useEffect(() => {\n if (startAnimation) {\n animationRequestRef.current = requestAnimationFrame(barsGroupAnimation)\n }\n return () => {\n animationRequestRef.current && cancelAnimationFrame(animationRequestRef.current)\n }\n }, [startAnimation])\n\n useEffect(() => {\n if (barsContainerRef?.current) {\n setShowBars(true)\n }\n }, [])\n\n return (\n <div\n id={`${index}`}\n style={{\n transform: `translateX(${100 * index}%)`,\n }}\n className='pi-absolute pi-flex pi-w-fit pi-h-6 pi-gap-1 pi-items-center pi-px-0.5'\n ref={barsContainerRef}\n >\n {/* Create a custom number of bars */}\n {showBars && (\n <>\n {Array.from(Array(BARS_COUNT).keys()).map((_, i) => (\n <Bar key={i} visibleContainer={visibleContainerRef?.current || null} />\n ))}\n </>\n )}\n </div>\n )\n}\n\ninterface BarsGroupProps {\n index: number\n startAnimation: boolean\n audioStream: MediaStream | null\n}\n"],"names":["_a","index","startAnimation","audioStream","barsContainerRef","useRef","animationRequestRef","lastTranslateRef","visibleContainerRef","useSelector","state","recorder","dispatch","useDispatch","analyser","_b","useState","showBars","setShowBars","barsGroupAnimation","useCallback","current","newTranslateValue","element","translateXMatch","style","transform","match","parseFloat","finalTranslateValue","concat","requestAnimationFrame","retrieveFrequency","frequencyData","Uint8Array","frequencyBinCount","getByteFrequencyData","values","Object","setFrequency","useEffect","context","AudioContext","createAnalyser","fftSize","createMediaStreamSource","connect","cancelAnimationFrame","React","id","className","ref","createElement","Fragment","Array","from","keys","map","_","i","Bar","key","visibleContainer"],"mappings":"wZA8B6C,SAACA,GAAE,IAAAC,UAAOC,EAAcF,EAAAE,eAAEC,EAAWH,EAAAG,YAC1EC,EAAmBC,SAAuB,MAC1CC,EAAsBD,SAAe,GACrCE,EAAmBF,SAAe,GAClCG,EAAsBC,eAAY,SAACC,GAAqB,OAAAA,EAAMC,SAASH,mBAAf,IACxDI,EAAWC,EAAAA,cACXC,EAAWT,SAA4B,MACvCU,EAA0BC,aAAzBC,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAGtBI,EAAqBC,EAAAA,aAAY,WACrC,GAAIhB,EAAiBiB,QAAS,CAE5B,IAIMC,GAJqBf,EAAiBc,QACxCd,EAAiBc,SAvBGE,EAwBCnB,EAAiBiB,SAtBxCG,EADiBD,EAAQE,MAAMC,UACEC,MAAM,+BACtBH,EAAgB,GAC9BI,WAAWJ,EAAgB,IAE7B,IAhB4B,GAqCzBK,EAAsBP,IAAsB,IAAM,IAAMA,EAC9DlB,EAAiBiB,QAAQI,MAAMC,UAAY,cAAAI,OAAcD,EAAmB,MAE5EtB,EAAiBc,QAAUQ,CAC5B,CA/BL,IAA8BN,EAEtBC,EA8BJlB,EAAoBe,QAAUU,sBAAsBZ,EACtD,GAAG,CAACZ,IAEJ,SAASyB,UACDC,EAAgBnB,EAASO,SAAW,IAAIa,WAAWpB,EAASO,QAAQc,mBAC1EF,IAAmC,QAAlBjC,EAAAc,EAASO,eAAS,IAAArB,GAAAA,EAAAoC,qBAAqBH,IACxD,IAAMI,EAAUJ,GAAiBK,OAAOD,OAAOJ,IAAmB,GAGlErB,EAASD,SAAS4B,aAAaF,EAAO,GAAK,KAC3CN,sBAAsBC,EACvB,CAiCD,OA9BAQ,EAAAA,WAAU,WACR,GAAIrC,EAAa,CACf,IAAMsC,EAAU,IAAIC,aACpB5B,EAASO,QAAUoB,EAAQE,iBAC3B7B,EAASO,QAAQuB,QApDS,IAsDXzC,GAAesC,EAAQI,wBAAwB1C,IAEvD2C,QAAQhC,EAASO,SAExBU,sBAAsBC,EACvB,CACH,GAAG,CAAC7B,IAGJqC,EAAAA,WAAU,WAIR,OAHItC,IACFI,EAAoBe,QAAUU,sBAAsBZ,IAE/C,WACLb,EAAoBe,SAAW0B,qBAAqBzC,EAAoBe,QAC1E,CACF,GAAG,CAACnB,IAEJsC,EAAAA,WAAU,YACJpC,eAAAA,EAAkBiB,UACpBH,GAAY,EAEf,GAAE,IAGD8B,+BACEC,GAAI,UAAGhD,GACPwB,MAAO,CACLC,UAAW,cAAAI,OAAc,IAAM7B,EAAS,OAE1CiD,UAAU,yEACVC,IAAK/C,GAGJa,GACC+B,EAAAA,QAAAI,cAAAJ,UAAAK,SAAA,KACGC,MAAMC,KAAKD,MA/FK,IA+FaE,QAAQC,KAAI,SAACC,EAAGC,GAAM,OAClDX,EAAA,QAAAI,cAACQ,EAAAA,IAAG,CAACC,IAAKF,EAAGG,kBAAkBtD,aAAA,EAAAA,EAAqBa,UAAW,MADb,KAO9D"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("react-redux"),t=require("react-moment");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=n(e),a=n(t),i=e.memo((function(){var e=r.useSelector((function(e){return{recording:e.recorder.recording,startTime:e.recorder.startTime,currentTime:e.recorder.currentTime}})),t=e.startTime,n=e.currentTime,i=e.recording,o=r.useDispatch();return u.default.createElement(u.default.Fragment,null,t&&i?u.default.createElement(a.default,{date:t,interval:1e3,format:"hh:mm:ss",trim:!1,onChange:function(e){o.recorder.setCurrentTime(e)},unix:!0,durationFromNow:!0}):n)}));exports.default=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/react-moment/dist/index.js"),t=require("../../node_modules/react-redux/es/hooks/useSelector.js"),u=require("../../node_modules/react-redux/es/hooks/useDispatch.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=o(e),d=e.memo((function(){var e=t.useSelector((function(e){return{recording:e.recorder.recording,startTime:e.recorder.startTime,currentTime:e.recorder.currentTime}})),o=e.startTime,d=e.currentTime,i=e.recording,s=u.useDispatch();return n.default.createElement(n.default.Fragment,null,o&&i?n.default.createElement(r.default,{date:o,interval:1e3,format:"hh:mm:ss",trim:!1,onChange:function(e){s.recorder.setCurrentTime(e)},unix:!0,durationFromNow:!0}):d)}));exports.default=d;
2
2
  //# sourceMappingURL=Timer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Timer.js","sources":["../../../src/components/RecorderView/Timer.tsx"],"sourcesContent":["//\n// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\n\nimport React, { memo, FC } from 'react'\nimport { useSelector, useDispatch } from 'react-redux'\nimport Moment from 'react-moment'\nimport { RootState, Dispatch } from '../../store'\n\nconst Timer: FC<TimerProps> = () => {\n const { startTime, currentTime, recording } = useSelector((state: RootState) => ({\n recording: state.recorder.recording,\n startTime: state.recorder.startTime,\n currentTime: state.recorder.currentTime,\n }))\n\n const dispatch = useDispatch<Dispatch>()\n\n function handleTimerChanged(time: string) {\n dispatch.recorder.setCurrentTime(time)\n }\n\n return (\n <>\n {startTime && recording ? (\n <Moment\n date={startTime}\n interval={1000}\n format='hh:mm:ss'\n trim={false}\n onChange={handleTimerChanged}\n unix\n durationFromNow\n />\n ) : (\n currentTime\n )}\n </>\n )\n}\n\nexport default memo(Timer)\n\ninterface TimerProps {}\n"],"names":["memo","_a","useSelector","state","recording","recorder","startTime","currentTime","dispatch","useDispatch","React","createElement","Moment","date","interval","format","trim","onChange","time","setCurrentTime","unix","durationFromNow"],"mappings":"wOA0CeA,EAAAA,EAAAA,MAhCe,WACtB,IAAAC,EAAwCC,EAAAA,aAAY,SAACC,GAAqB,MAAC,CAC/EC,UAAWD,EAAME,SAASD,UAC1BE,UAAWH,EAAME,SAASC,UAC1BC,YAAaJ,EAAME,SAASE,gBAHtBD,EAASL,EAAAK,UAAEC,EAAWN,EAAAM,YAAEH,EAASH,EAAAG,UAMnCI,EAAWC,EAAAA,cAMjB,OACEC,gDACGJ,GAAaF,EACZM,EAAA,QAAAC,cAACC,EAAM,QACL,CAAAC,KAAMP,EACNQ,SAAU,IACVC,OAAO,WACPC,MAAM,EACNC,SAZR,SAA4BC,GAC1BV,EAASH,SAASc,eAAeD,EAClC,EAWOE,MAAI,EACJC,iBACA,IAEF,EAIR"}
1
+ {"version":3,"file":"Timer.js","sources":["../../../src/components/RecorderView/Timer.tsx"],"sourcesContent":["//\n// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n//\n\nimport React, { memo, FC } from 'react'\nimport { useSelector, useDispatch } from 'react-redux'\nimport Moment from 'react-moment'\nimport { RootState, Dispatch } from '../../store'\n\nconst Timer: FC<TimerProps> = () => {\n const { startTime, currentTime, recording } = useSelector((state: RootState) => ({\n recording: state.recorder.recording,\n startTime: state.recorder.startTime,\n currentTime: state.recorder.currentTime,\n }))\n\n const dispatch = useDispatch<Dispatch>()\n\n function handleTimerChanged(time: string) {\n dispatch.recorder.setCurrentTime(time)\n }\n\n return (\n <>\n {startTime && recording ? (\n <Moment\n date={startTime}\n interval={1000}\n format='hh:mm:ss'\n trim={false}\n onChange={handleTimerChanged}\n unix\n durationFromNow\n />\n ) : (\n currentTime\n )}\n </>\n )\n}\n\nexport default memo(Timer)\n\ninterface TimerProps {}\n"],"names":["memo","_a","useSelector","state","recording","recorder","startTime","currentTime","dispatch","useDispatch","React","createElement","Moment","date","interval","format","trim","onChange","time","setCurrentTime","unix","durationFromNow"],"mappings":"2aA0CeA,EAAAA,EAAAA,MAhCe,WACtB,IAAAC,EAAwCC,EAAAA,aAAY,SAACC,GAAqB,MAAC,CAC/EC,UAAWD,EAAME,SAASD,UAC1BE,UAAWH,EAAME,SAASC,UAC1BC,YAAaJ,EAAME,SAASE,gBAHtBD,EAASL,EAAAK,UAAEC,EAAWN,EAAAM,YAAEH,EAASH,EAAAG,UAMnCI,EAAWC,EAAAA,cAMjB,OACEC,gDACGJ,GAAaF,EACZM,EAAA,QAAAC,cAACC,EAAM,QACL,CAAAC,KAAMP,EACNQ,SAAU,IACVC,OAAO,WACPC,MAAM,EACNC,SAZR,SAA4BC,GAC1BV,EAASH,SAASc,eAAeD,EAClC,EAWOE,MAAI,EACJC,iBACA,IAEF,EAIR"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react"),r=require("react-redux"),i=require("./Actions.js"),a=require("./BarsGroup.js"),n=require("../AudioPlayerView/Progress.js"),l=require("../../lib/phone/audio.js"),o=require("webm-duration-fix"),u=require("./Timer.js"),s=require("react-i18next"),c=require("../Button.js"),d=require("@fortawesome/react-fontawesome"),f=require("@fortawesome/free-solid-svg-icons");function p(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../store/index.js");var m=p(t),w=p(o),v="audio/webm";exports.RecorderView=function(){var o=r.useSelector((function(e){return e.island})).isOpen,p=r.useSelector((function(e){return e.player})).audioPlayerPlaying,x=t.useRef(null),g=t.useRef(null),E=t.useRef([]),y=r.useDispatch(),h=r.useSelector((function(e){return e.webrtc.localAudioStream})),b=r.useSelector((function(e){return{recording:e.recorder.recording,recorded:e.recorder.recorded,waiting:e.recorder.waiting}}),r.shallowEqual),N=b.recording,j=b.recorded,q=b.waiting;function A(e){E.current.push(e.data)}function R(){return e.__awaiter(this,void 0,void 0,(function(){var t,r;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,w.default(new Blob(E.current,{type:v}))];case 1:return t=e.sent(),r=URL.createObjectURL(t),l.updateAudioPlayerSource(r),[2]}}))}))}t.useEffect((function(){(null==h?void 0:h.active)&&N&&(g.current=new MediaRecorder(h,{mimeType:v}),g.current.ondataavailable=A,g.current.onstop=R,g.current.start())}),[null==h?void 0:h.active,N]),t.useEffect((function(){var e;j&&(E.current=[],null===(e=g.current)||void 0===e||e.stop())}),[j]),t.useEffect((function(){return y.recorder.setVisibleContainerRef(x),function(){y.recorder.reset()}}),[]);var S=s.useTranslation().t;return m.default.createElement(m.default.Fragment,null,o?m.default.createElement(m.default.Fragment,null," ",m.default.createElement("div",{className:"pi-flex pi-items-center pi-justify-between pi-text-gray-900 dark:pi-text-gray-50"},m.default.createElement("h1",{className:"pi-text-lg pi-font-medium pi-leading-7"},S("Common.Record message")),m.default.createElement(c.Button,{onClick:function(){y.island.resetPlayerClose()},variant:"transparentSettings","data-tooltip-id":"tooltip-close-settings","data-tooltip-content":S("Common.Close")||""},m.default.createElement(d.FontAwesomeIcon,{icon:f.faXmark,className:"pi-w-5 pi-h-5"}))),m.default.createElement("div",{className:"pi-pt-4"},m.default.createElement("div",{className:"".concat(!N||q||p?"pi-mb-3":""," pi-flex pi-w-full pi-justify-center pi-items-center")},m.default.createElement("div",{className:"pi-font-medium pi-text-4xl pi-w-fit pi-h-fit dark:pi-text-white"},m.default.createElement(u.default,null))),m.default.createElement("div",{className:"pi-relative pi-w-full pi-justify-center pi-overflow-hidden pi-flex pi-items-center",ref:x},j?m.default.createElement(n.Progress,null):N&&!q?m.default.createElement("div",{className:"pi-flex pi-items-center pi-justify-between pi-w-full pi-pb-3 pi-overflow-hidden"},m.default.createElement(c.Button,{variant:"transparent",disabled:!0,className:"pi-flex pi-flex-none"},m.default.createElement(d.FontAwesomeIcon,{icon:f.faPlay,className:"pi-h-4 pi-w-4 pi-text-gray-700 dark:pi-text-gray-200"})),m.default.createElement("div",{className:"pi-relative pi-overflow-hidden pi-flex pi-flex-grow pi-justify-center pi-h-4"},Array.from({length:2}).map((function(e,t){return m.default.createElement(a.BarsGroup,{key:t,index:t,startAnimation:N,audioStream:h})}))),m.default.createElement(c.Button,{variant:"transparent",disabled:!0,className:"pi-flex pi-flex-none"},m.default.createElement(d.FontAwesomeIcon,{icon:f.faTrash,className:"pi-h-4 pi-w-4 pi-text-gray-700 dark:pi-text-gray-200"}))):N&&q?m.default.createElement("div",{className:"pi-sans pi-text-sm pi-w-fit pi-h-fit dark:pi-text-white pi-pb-7"},S("Common.Start recording message after")):m.default.createElement("div",{className:"pi-sans pi-text-sm pi-w-fit pi-h-fit dark:pi-text-white pi-pb-7"},S("Common.Start recording message before")))),m.default.createElement(i.Actions,null)):m.default.createElement("div",{className:"pi-font-medium pi-text-base"},"Recorder"))};
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 r=require("./Actions.js"),i=require("./BarsGroup.js"),a=require("../AudioPlayerView/Progress.js"),n=require("../../lib/phone/audio.js"),s=require("../../node_modules/webm-duration-fix/lib/index.js"),l=require("./Timer.js");require("../../node_modules/@babel/runtime/helpers/defineProperty.js"),require("../../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"),require("../../node_modules/@babel/runtime/helpers/typeof.js"),require("../../node_modules/html-parse-stringify/dist/html-parse-stringify.js"),require("../../node_modules/react-i18next/dist/es/context.js");var o=require("../../node_modules/react-i18next/dist/es/useTranslation.js");require("../../node_modules/@babel/runtime/helpers/slicedToArray.js");var u=require("../Button.js"),d=require("../../node_modules/@fortawesome/react-fontawesome/index.es.js"),c=require("../../node_modules/@fortawesome/free-solid-svg-icons/index.mjs.js");require("../../store/index.js");var f=require("../../node_modules/react-redux/es/hooks/useSelector.js"),m=require("../../node_modules/react-redux/es/hooks/useDispatch.js"),p=require("../../node_modules/react-redux/es/utils/shallowEqual.js");function x(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var v=x(t),w="audio/webm";exports.RecorderView=function(){var x=f.useSelector((function(e){return e.island})).isOpen,b=f.useSelector((function(e){return e.player})).audioPlayerPlaying,h=t.useRef(null),g=t.useRef(null),j=t.useRef([]),y=m.useDispatch(),E=f.useSelector((function(e){return e.webrtc.localAudioStream})),q=f.useSelector((function(e){return{recording:e.recorder.recording,recorded:e.recorder.recorded,waiting:e.recorder.waiting}}),p.default),_=q.recording,N=q.recorded,k=q.waiting;function A(e){j.current.push(e.data)}function P(){return e.__awaiter(this,void 0,void 0,(function(){var t,r;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,s.default(new Blob(j.current,{type:w}))];case 1:return t=e.sent(),r=URL.createObjectURL(t),n.updateAudioPlayerSource(r),[2]}}))}))}t.useEffect((function(){(null==E?void 0:E.active)&&_&&(g.current=new MediaRecorder(E,{mimeType:w}),g.current.ondataavailable=A,g.current.onstop=P,g.current.start())}),[null==E?void 0:E.active,_]),t.useEffect((function(){var e;N&&(j.current=[],null===(e=g.current)||void 0===e||e.stop())}),[N]),t.useEffect((function(){return y.recorder.setVisibleContainerRef(h),function(){y.recorder.reset()}}),[]);var S=o.useTranslation().t;return v.default.createElement(v.default.Fragment,null,x?v.default.createElement(v.default.Fragment,null," ",v.default.createElement("div",{className:"pi-flex pi-items-center pi-justify-between pi-text-gray-900 dark:pi-text-gray-50"},v.default.createElement("h1",{className:"pi-text-lg pi-font-medium pi-leading-7"},S("Common.Record message")),v.default.createElement(u.Button,{onClick:function(){y.island.resetPlayerClose()},variant:"transparentSettings","data-tooltip-id":"tooltip-close-settings","data-tooltip-content":S("Common.Close")||""},v.default.createElement(d.FontAwesomeIcon,{icon:c.faXmark,className:"pi-w-5 pi-h-5"}))),v.default.createElement("div",{className:"pi-pt-4"},v.default.createElement("div",{className:"".concat(!_||k||b?"pi-mb-3":""," pi-flex pi-w-full pi-justify-center pi-items-center")},v.default.createElement("div",{className:"pi-font-medium pi-text-4xl pi-w-fit pi-h-fit dark:pi-text-white"},v.default.createElement(l.default,null))),v.default.createElement("div",{className:"pi-relative pi-w-full pi-justify-center pi-overflow-hidden pi-flex pi-items-center",ref:h},N?v.default.createElement(a.Progress,null):_&&!k?v.default.createElement("div",{className:"pi-flex pi-items-center pi-justify-between pi-w-full pi-pb-3 pi-overflow-hidden"},v.default.createElement(u.Button,{variant:"transparent",disabled:!0,className:"pi-flex pi-flex-none"},v.default.createElement(d.FontAwesomeIcon,{icon:c.faPlay,className:"pi-h-4 pi-w-4 pi-text-gray-700 dark:pi-text-gray-200"})),v.default.createElement("div",{className:"pi-relative pi-overflow-hidden pi-flex pi-flex-grow pi-justify-center pi-h-4"},Array.from({length:2}).map((function(e,t){return v.default.createElement(i.BarsGroup,{key:t,index:t,startAnimation:_,audioStream:E})}))),v.default.createElement(u.Button,{variant:"transparent",disabled:!0,className:"pi-flex pi-flex-none"},v.default.createElement(d.FontAwesomeIcon,{icon:c.faTrash,className:"pi-h-4 pi-w-4 pi-text-gray-700 dark:pi-text-gray-200"}))):_&&k?v.default.createElement("div",{className:"pi-sans pi-text-sm pi-w-fit pi-h-fit dark:pi-text-white pi-pb-7"},S("Common.Start recording message after")):v.default.createElement("div",{className:"pi-sans pi-text-sm pi-w-fit pi-h-fit dark:pi-text-white pi-pb-7"},S("Common.Start recording message before")))),v.default.createElement(r.Actions,null)):v.default.createElement("div",{className:"pi-font-medium pi-text-base"},"Recorder"))};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/RecorderView/index.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC, useState, useRef, useEffect, useCallback, memo } from 'react'\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux'\nimport { Dispatch, RootState } from '../../store'\nimport { Actions } from './Actions'\nimport { BarsGroup } from './BarsGroup'\nimport Progress from '../AudioPlayerView/Progress'\nimport { updateAudioPlayerSource } from '../../lib/phone/audio'\nimport fixWebmDuration from 'webm-duration-fix'\nimport Timer from './Timer'\nimport { useTranslation } from 'react-i18next'\nimport { Button } from '../Button'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTrash, faXmark, faPlay } from '@fortawesome/free-solid-svg-icons'\nimport { eventDispatch } from '../../utils'\n\n// The number of groups to be created\n// ...the minimun to have this effect is 2\nconst BAR_GROUPS_COUNT = 2\n\n// The mime type of the recorded audio\nconst MIME_TYPE = 'audio/webm'\n\nexport const RecorderView: FC<RecorderViewProps> = () => {\n const { isOpen } = useSelector((state: RootState) => state.island)\n const { audioPlayerPlaying } = useSelector((state: RootState) => state.player)\n const visibleContainerRef = useRef<HTMLDivElement>(null)\n const recorderRef = useRef<MediaRecorder | null>(null)\n const mediaChunks = useRef<BlobPart[]>([])\n\n // Initialize state dispatch\n const dispatch = useDispatch<Dispatch>()\n\n // Retrieve the local audio stream from webrtc state\n const localAudioStream = useSelector((state: RootState) => state.webrtc.localAudioStream)\n\n // Retrieve the local audio stream from recorder state\n const { recording, recorded, waiting } = useSelector(\n (state: RootState) => ({\n recording: state.recorder.recording,\n recorded: state.recorder.recorded,\n waiting: state.recorder.waiting,\n }),\n shallowEqual,\n )\n\n function handleRecordedMedia(event: BlobEvent) {\n mediaChunks.current.push(event.data)\n }\n\n async function handleRecordingStopped() {\n const blob = await fixWebmDuration(new Blob(mediaChunks.current, { type: MIME_TYPE }))\n const audioURL = URL.createObjectURL(blob)\n // The next function is async\n updateAudioPlayerSource(audioURL)\n }\n\n // Handle and manage audio recording start\n useEffect(() => {\n // @ts-ignore\n if (localAudioStream?.active && recording) {\n recorderRef.current = new MediaRecorder(localAudioStream, {\n mimeType: MIME_TYPE,\n })\n recorderRef.current.ondataavailable = handleRecordedMedia\n recorderRef.current.onstop = handleRecordingStopped\n // Start the media recording\n recorderRef.current.start()\n }\n // @ts-ignore\n }, [localAudioStream?.active, recording])\n\n // Handle and manage audio recorded\n useEffect(() => {\n if (recorded) {\n mediaChunks.current = []\n recorderRef.current?.stop()\n }\n }, [recorded])\n\n // Handle view close and reset state\n useEffect(() => {\n // Set visible container reference to recorder state\n dispatch.recorder.setVisibleContainerRef(visibleContainerRef)\n\n return () => {\n dispatch.recorder.reset()\n }\n }, [])\n\n const { t } = useTranslation()\n\n function playerClose() {\n if (audioPlayerPlaying) {\n dispatch.player.stopAudioPlayer()\n eventDispatch('phone-island-audio-player-close', {})\n }\n dispatch.island.resetPlayerClose()\n }\n\n function close() {\n dispatch.island.resetPlayerClose()\n }\n\n return (\n <>\n {isOpen ? (\n <>\n {' '}\n <div className='pi-flex pi-items-center pi-justify-between pi-text-gray-900 dark:pi-text-gray-50'>\n <h1 className='pi-text-lg pi-font-medium pi-leading-7'>{t('Common.Record message')}</h1>\n <Button\n onClick={() => close()}\n variant='transparentSettings'\n data-tooltip-id='tooltip-close-settings'\n data-tooltip-content={t('Common.Close') || ''}\n >\n <FontAwesomeIcon icon={faXmark} className='pi-w-5 pi-h-5' />\n </Button>\n </div>\n <div className='pi-pt-4'>\n <div\n className={`${\n !recording || waiting || audioPlayerPlaying ? 'pi-mb-3' : ''\n } pi-flex pi-w-full pi-justify-center pi-items-center`}\n >\n <div className='pi-font-medium pi-text-4xl pi-w-fit pi-h-fit dark:pi-text-white'>\n <Timer />\n </div>\n </div>\n {/* Bars animation section */}\n <div\n className={`pi-relative pi-w-full pi-justify-center pi-overflow-hidden pi-flex pi-items-center`}\n ref={visibleContainerRef}\n >\n {recorded ? (\n <Progress />\n ) : recording && !waiting ? (\n <div className='pi-flex pi-items-center pi-justify-between pi-w-full pi-pb-3 pi-overflow-hidden'>\n {/* Play button (disabled) on left */}\n <Button variant='transparent' disabled className='pi-flex pi-flex-none'>\n <FontAwesomeIcon\n icon={faPlay}\n className='pi-h-4 pi-w-4 pi-text-gray-700 dark:pi-text-gray-200'\n />\n </Button>\n\n {/* Audio visualization in the middle */}\n <div className='pi-relative pi-overflow-hidden pi-flex pi-flex-grow pi-justify-center pi-h-4'>\n {/* Create a custom numbers of bars groups */}\n {Array.from({ length: BAR_GROUPS_COUNT }).map((_, i) => (\n <BarsGroup\n key={i}\n index={i}\n startAnimation={recording}\n audioStream={localAudioStream}\n />\n ))}\n </div>\n\n {/* Trash button (disabled) on right */}\n <Button variant='transparent' disabled className='pi-flex pi-flex-none'>\n <FontAwesomeIcon\n icon={faTrash}\n className='pi-h-4 pi-w-4 pi-text-gray-700 dark:pi-text-gray-200'\n />\n </Button>\n </div>\n ) : recording && waiting ? (\n <div className='pi-sans pi-text-sm pi-w-fit pi-h-fit dark:pi-text-white pi-pb-7'>\n {t('Common.Start recording message after')}\n </div>\n ) : (\n <div className='pi-sans pi-text-sm pi-w-fit pi-h-fit dark:pi-text-white pi-pb-7'>\n {t('Common.Start recording message before')}\n </div>\n )}\n </div>\n </div>\n {/* Actions section */}\n <Actions />\n </>\n ) : (\n <div className='pi-font-medium pi-text-base'>Recorder</div>\n )}\n </>\n )\n}\n\nexport interface RecorderViewProps {}\n"],"names":["MIME_TYPE","isOpen","useSelector","state","island","audioPlayerPlaying","player","visibleContainerRef","useRef","recorderRef","mediaChunks","dispatch","useDispatch","localAudioStream","webrtc","_a","recording","recorder","recorded","waiting","shallowEqual","handleRecordedMedia","event","current","push","data","handleRecordingStopped","fixWebmDuration","Blob","type","blob","sent","audioURL","URL","createObjectURL","updateAudioPlayerSource","useEffect","active","MediaRecorder","mimeType","ondataavailable","onstop","start","stop","setVisibleContainerRef","reset","t","useTranslation","React","createElement","Fragment","className","Button","onClick","resetPlayerClose","variant","FontAwesomeIcon","icon","faXmark","concat","Timer","ref","Progress","disabled","faPlay","Array","from","length","map","_","i","BarsGroup","key","index","startAnimation","audioStream","faTrash","Actions"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/RecorderView/index.tsx"],"sourcesContent":["// Copyright (C) 2024 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC, useState, useRef, useEffect, useCallback, memo } from 'react'\nimport { useDispatch, useSelector, shallowEqual } from 'react-redux'\nimport { Dispatch, RootState } from '../../store'\nimport { Actions } from './Actions'\nimport { BarsGroup } from './BarsGroup'\nimport Progress from '../AudioPlayerView/Progress'\nimport { updateAudioPlayerSource } from '../../lib/phone/audio'\nimport fixWebmDuration from 'webm-duration-fix'\nimport Timer from './Timer'\nimport { useTranslation } from 'react-i18next'\nimport { Button } from '../Button'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTrash, faXmark, faPlay } from '@fortawesome/free-solid-svg-icons'\nimport { eventDispatch } from '../../utils'\n\n// The number of groups to be created\n// ...the minimun to have this effect is 2\nconst BAR_GROUPS_COUNT = 2\n\n// The mime type of the recorded audio\nconst MIME_TYPE = 'audio/webm'\n\nexport const RecorderView: FC<RecorderViewProps> = () => {\n const { isOpen } = useSelector((state: RootState) => state.island)\n const { audioPlayerPlaying } = useSelector((state: RootState) => state.player)\n const visibleContainerRef = useRef<HTMLDivElement>(null)\n const recorderRef = useRef<MediaRecorder | null>(null)\n const mediaChunks = useRef<BlobPart[]>([])\n\n // Initialize state dispatch\n const dispatch = useDispatch<Dispatch>()\n\n // Retrieve the local audio stream from webrtc state\n const localAudioStream = useSelector((state: RootState) => state.webrtc.localAudioStream)\n\n // Retrieve the local audio stream from recorder state\n const { recording, recorded, waiting } = useSelector(\n (state: RootState) => ({\n recording: state.recorder.recording,\n recorded: state.recorder.recorded,\n waiting: state.recorder.waiting,\n }),\n shallowEqual,\n )\n\n function handleRecordedMedia(event: BlobEvent) {\n mediaChunks.current.push(event.data)\n }\n\n async function handleRecordingStopped() {\n const blob = await fixWebmDuration(new Blob(mediaChunks.current, { type: MIME_TYPE }))\n const audioURL = URL.createObjectURL(blob)\n // The next function is async\n updateAudioPlayerSource(audioURL)\n }\n\n // Handle and manage audio recording start\n useEffect(() => {\n // @ts-ignore\n if (localAudioStream?.active && recording) {\n recorderRef.current = new MediaRecorder(localAudioStream, {\n mimeType: MIME_TYPE,\n })\n recorderRef.current.ondataavailable = handleRecordedMedia\n recorderRef.current.onstop = handleRecordingStopped\n // Start the media recording\n recorderRef.current.start()\n }\n // @ts-ignore\n }, [localAudioStream?.active, recording])\n\n // Handle and manage audio recorded\n useEffect(() => {\n if (recorded) {\n mediaChunks.current = []\n recorderRef.current?.stop()\n }\n }, [recorded])\n\n // Handle view close and reset state\n useEffect(() => {\n // Set visible container reference to recorder state\n dispatch.recorder.setVisibleContainerRef(visibleContainerRef)\n\n return () => {\n dispatch.recorder.reset()\n }\n }, [])\n\n const { t } = useTranslation()\n\n function playerClose() {\n if (audioPlayerPlaying) {\n dispatch.player.stopAudioPlayer()\n eventDispatch('phone-island-audio-player-close', {})\n }\n dispatch.island.resetPlayerClose()\n }\n\n function close() {\n dispatch.island.resetPlayerClose()\n }\n\n return (\n <>\n {isOpen ? (\n <>\n {' '}\n <div className='pi-flex pi-items-center pi-justify-between pi-text-gray-900 dark:pi-text-gray-50'>\n <h1 className='pi-text-lg pi-font-medium pi-leading-7'>{t('Common.Record message')}</h1>\n <Button\n onClick={() => close()}\n variant='transparentSettings'\n data-tooltip-id='tooltip-close-settings'\n data-tooltip-content={t('Common.Close') || ''}\n >\n <FontAwesomeIcon icon={faXmark} className='pi-w-5 pi-h-5' />\n </Button>\n </div>\n <div className='pi-pt-4'>\n <div\n className={`${\n !recording || waiting || audioPlayerPlaying ? 'pi-mb-3' : ''\n } pi-flex pi-w-full pi-justify-center pi-items-center`}\n >\n <div className='pi-font-medium pi-text-4xl pi-w-fit pi-h-fit dark:pi-text-white'>\n <Timer />\n </div>\n </div>\n {/* Bars animation section */}\n <div\n className={`pi-relative pi-w-full pi-justify-center pi-overflow-hidden pi-flex pi-items-center`}\n ref={visibleContainerRef}\n >\n {recorded ? (\n <Progress />\n ) : recording && !waiting ? (\n <div className='pi-flex pi-items-center pi-justify-between pi-w-full pi-pb-3 pi-overflow-hidden'>\n {/* Play button (disabled) on left */}\n <Button variant='transparent' disabled className='pi-flex pi-flex-none'>\n <FontAwesomeIcon\n icon={faPlay}\n className='pi-h-4 pi-w-4 pi-text-gray-700 dark:pi-text-gray-200'\n />\n </Button>\n\n {/* Audio visualization in the middle */}\n <div className='pi-relative pi-overflow-hidden pi-flex pi-flex-grow pi-justify-center pi-h-4'>\n {/* Create a custom numbers of bars groups */}\n {Array.from({ length: BAR_GROUPS_COUNT }).map((_, i) => (\n <BarsGroup\n key={i}\n index={i}\n startAnimation={recording}\n audioStream={localAudioStream}\n />\n ))}\n </div>\n\n {/* Trash button (disabled) on right */}\n <Button variant='transparent' disabled className='pi-flex pi-flex-none'>\n <FontAwesomeIcon\n icon={faTrash}\n className='pi-h-4 pi-w-4 pi-text-gray-700 dark:pi-text-gray-200'\n />\n </Button>\n </div>\n ) : recording && waiting ? (\n <div className='pi-sans pi-text-sm pi-w-fit pi-h-fit dark:pi-text-white pi-pb-7'>\n {t('Common.Start recording message after')}\n </div>\n ) : (\n <div className='pi-sans pi-text-sm pi-w-fit pi-h-fit dark:pi-text-white pi-pb-7'>\n {t('Common.Start recording message before')}\n </div>\n )}\n </div>\n </div>\n {/* Actions section */}\n <Actions />\n </>\n ) : (\n <div className='pi-font-medium pi-text-base'>Recorder</div>\n )}\n </>\n )\n}\n\nexport interface RecorderViewProps {}\n"],"names":["MIME_TYPE","isOpen","useSelector","state","island","audioPlayerPlaying","player","visibleContainerRef","useRef","recorderRef","mediaChunks","dispatch","useDispatch","localAudioStream","webrtc","_a","recording","recorder","recorded","waiting","shallowEqual","handleRecordedMedia","event","current","push","data","handleRecordingStopped","fixWebmDuration","Blob","type","blob","sent","audioURL","URL","createObjectURL","updateAudioPlayerSource","useEffect","active","MediaRecorder","mimeType","ondataavailable","onstop","start","stop","setVisibleContainerRef","reset","t","useTranslation","React","createElement","Fragment","className","Button","onClick","resetPlayerClose","variant","FontAwesomeIcon","icon","faXmark","concat","Timer","ref","Progress","disabled","faPlay","Array","from","length","map","_","i","BarsGroup","key","index","startAnimation","audioStream","faTrash","Actions"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react"),r=require("../services/user.js"),n=require("../lib/avatars/avatars.js"),a=require("react-redux"),s=require("../services/astproxy.js"),o=require("../lib/user/extensions.js"),c=require("../utils/genericFunctions/eventDispatch.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../store/index.js");var i=u(t),l="phone_island_api_mode",f=function(e){try{var t=localStorage.getItem("".concat(l,"_").concat(e));if("new"===t||"legacy"===t)return t}catch(e){console.warn("Failed to read API mode from localStorage:",e)}return"unknown"},d=function(e,t){try{localStorage.setItem("".concat(l,"_").concat(e),t)}catch(e){console.warn("Failed to save API mode to localStorage:",e)}};exports.RestAPI=function(u){var l=u.hostName,h=u.username,p=u.authToken,_=u.children,v=a.useDispatch(),g=a.useSelector((function(e){return e.fetchDefaults})).fetchReady;return t.useEffect((function(){if(p&&l&&h){e.__awaiter(void 0,void 0,void 0,(function(){var t,r;return e.__generator(this,(function(e){switch(e.label){case 0:if("unknown"!==(t=f(h)))return[3,4];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,fetch("https://".concat(l,"/api/user/me"),{headers:{Authorization:"Bearer ".concat(p)}})];case 2:if((r=e.sent()).ok)t="new",d(h,"new");else{if(404!==r.status&&401!==r.status)throw new Error("API test failed with status: ".concat(r.status));t="legacy",d(h,"legacy")}return[3,4];case 3:return e.sent(),t="legacy",d(h,"legacy"),[3,4];case 4:return"new"===t?(v.fetchDefaults.updateFetchBaseURL("https://".concat(l,"/api")),v.fetchDefaults.updateFetchHeaders({Authorization:"Bearer ".concat(p)})):(v.fetchDefaults.updateFetchBaseURL("https://".concat(l,"/webrest")),v.fetchDefaults.updateFetchHeaders({Authorization:"".concat(h,":").concat(p)})),v.fetchDefaults.setFetchReady(),[2]}}))}))}}),[p,l,h]),t.useEffect((function(){g&&(function(){e.__awaiter(this,void 0,void 0,(function(){var t;return e.__generator(this,(function(n){switch(n.label){case 0:return[4,r.getCurrentUserInfo()];case 1:return(t=n.sent())&&(v.currentUser.updateCurrentUser(t),c.eventDispatch("phone-island-user-informations-update",e.__assign({},t)),v.currentUser.setCurrentUserReady(!0),t.settings&&t.settings.open_param_url?v.paramUrl.setOpenParamUrlType(t.settings.open_param_url):v.paramUrl.setOpenParamUrlType("never"),function(){e.__awaiter(this,void 0,void 0,(function(){var t,r;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,s.getAllExtensions()];case 1:return(t=e.sent())&&(v.users.updateExtensions(t),r=o.getExtensionsList(),Object.values(t).filter((function(e){return r.includes(e.exten)})).forEach((function(e){return v.currentUser.updateConversations(e)}))),[2]}}))}))}()),[2]}}))}))}(),function(){e.__awaiter(this,void 0,void 0,(function(){var t;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,r.getAllUsersEndpoints()];case 1:return(t=e.sent())&&v.users.updateEndpoints(t),[2]}}))}))}(),function(){e.__awaiter(this,void 0,void 0,(function(){var t;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,r.getVideoSources()];case 1:return(t=e.sent())&&v.streaming.updateVideoSources(t),[2]}}))}))}(),function(){e.__awaiter(this,void 0,void 0,(function(){var t,n;return e.__generator(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,r.getFeatureCodes()];case 1:return(t=e.sent())&&v.currentUser.updateFeatureCodes(t),[3,3];case 2:return n=e.sent(),console.warn("Failed to fetch feature codes:",n),[3,3];case 3:return[2]}}))}))}())}),[g]),t.useLayoutEffect((function(){h&&g&&n.retrieveAvatars(h)}),[g,h]),i.default.createElement(i.default.Fragment,null,g&&_)},exports.getApiMode=function(e){return f(e)},exports.resetApiMode=function(e){try{localStorage.removeItem("".concat(l,"_").concat(e))}catch(e){console.warn("Failed to reset API mode in localStorage:",e)}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../node_modules/tslib/tslib.es6.js"),t=require("react"),r=require("../services/user.js"),n=require("../lib/avatars/avatars.js");require("../node_modules/react-redux/es/index.js");var s=require("../services/astproxy.js"),a=require("../lib/user/extensions.js"),o=require("../utils/genericFunctions/eventDispatch.js");require("../store/index.js");var u=require("../node_modules/react-redux/es/hooks/useSelector.js");require("../node_modules/react-redux/es/components/Context.js"),require("../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"),require("../node_modules/react-redux/node_modules/react-is/index.js");var c=require("../node_modules/react-redux/es/hooks/useDispatch.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=i(t),d="phone_island_api_mode",f=function(e){try{var t=localStorage.getItem("".concat(d,"_").concat(e));if("new"===t||"legacy"===t)return t}catch(e){console.warn("Failed to read API mode from localStorage:",e)}return"unknown"},h=function(e,t){try{localStorage.setItem("".concat(d,"_").concat(e),t)}catch(e){console.warn("Failed to save API mode to localStorage:",e)}};exports.RestAPI=function(i){var d=i.hostName,p=i.username,_=i.authToken,v=i.children,g=c.useDispatch(),m=u.useSelector((function(e){return e.fetchDefaults})).fetchReady;return t.useEffect((function(){if(_&&d&&p){e.__awaiter(void 0,void 0,void 0,(function(){var t,r;return e.__generator(this,(function(e){switch(e.label){case 0:if("unknown"!==(t=f(p)))return[3,4];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,fetch("https://".concat(d,"/api/user/me"),{headers:{Authorization:"Bearer ".concat(_)}})];case 2:if((r=e.sent()).ok)t="new",h(p,"new");else{if(404!==r.status&&401!==r.status)throw new Error("API test failed with status: ".concat(r.status));t="legacy",h(p,"legacy")}return[3,4];case 3:return e.sent(),t="legacy",h(p,"legacy"),[3,4];case 4:return"new"===t?(g.fetchDefaults.updateFetchBaseURL("https://".concat(d,"/api")),g.fetchDefaults.updateFetchHeaders({Authorization:"Bearer ".concat(_)})):(g.fetchDefaults.updateFetchBaseURL("https://".concat(d,"/webrest")),g.fetchDefaults.updateFetchHeaders({Authorization:"".concat(p,":").concat(_)})),g.fetchDefaults.setFetchReady(),[2]}}))}))}}),[_,d,p]),t.useEffect((function(){m&&(function(){e.__awaiter(this,void 0,void 0,(function(){var t;return e.__generator(this,(function(n){switch(n.label){case 0:return[4,r.getCurrentUserInfo()];case 1:return(t=n.sent())&&(g.currentUser.updateCurrentUser(t),o.eventDispatch("phone-island-user-informations-update",e.__assign({},t)),g.currentUser.setCurrentUserReady(!0),t.settings&&t.settings.open_param_url?g.paramUrl.setOpenParamUrlType(t.settings.open_param_url):g.paramUrl.setOpenParamUrlType("never"),function(){e.__awaiter(this,void 0,void 0,(function(){var t,r;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,s.getAllExtensions()];case 1:return(t=e.sent())&&(g.users.updateExtensions(t),r=a.getExtensionsList(),Object.values(t).filter((function(e){return r.includes(e.exten)})).forEach((function(e){return g.currentUser.updateConversations(e)}))),[2]}}))}))}()),[2]}}))}))}(),function(){e.__awaiter(this,void 0,void 0,(function(){var t;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,r.getAllUsersEndpoints()];case 1:return(t=e.sent())&&g.users.updateEndpoints(t),[2]}}))}))}(),function(){e.__awaiter(this,void 0,void 0,(function(){var t;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,r.getVideoSources()];case 1:return(t=e.sent())&&g.streaming.updateVideoSources(t),[2]}}))}))}(),function(){e.__awaiter(this,void 0,void 0,(function(){var t,n;return e.__generator(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,r.getFeatureCodes()];case 1:return(t=e.sent())&&g.currentUser.updateFeatureCodes(t),[3,3];case 2:return n=e.sent(),console.warn("Failed to fetch feature codes:",n),[3,3];case 3:return[2]}}))}))}())}),[m]),t.useLayoutEffect((function(){p&&m&&n.retrieveAvatars(p)}),[m,p]),l.default.createElement(l.default.Fragment,null,m&&v)},exports.getApiMode=function(e){return f(e)},exports.resetApiMode=function(e){try{localStorage.removeItem("".concat(d,"_").concat(e))}catch(e){console.warn("Failed to reset API mode in localStorage:",e)}};
2
2
  //# sourceMappingURL=RestAPI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RestAPI.js","sources":["../../src/components/RestAPI.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, useEffect, useLayoutEffect } from 'react'\nimport { getCurrentUserInfo, getVideoSources, getFeatureCodes } from '../services/user'\nimport { retrieveAvatars } from '../lib/avatars/avatars'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { Dispatch, RootState } from '../store'\nimport { getAllExtensions } from '../services/astproxy'\nimport { getAllUsersEndpoints } from '../services/user'\nimport { getExtensionsList } from '../lib/user/extensions'\nimport { eventDispatch } from '../utils'\n\n// Storage key for API mode\nconst API_MODE_STORAGE_KEY = 'phone_island_api_mode'\n\n// Function to get saved API mode from localStorage\nconst getSavedApiMode = (username: string): 'new' | 'legacy' | 'unknown' => {\n try {\n const saved = localStorage.getItem(`${API_MODE_STORAGE_KEY}_${username}`)\n if (saved === 'new' || saved === 'legacy') {\n return saved\n }\n } catch (error) {\n console.warn('Failed to read API mode from localStorage:', error)\n }\n return 'unknown'\n}\n\n// Function to save API mode to localStorage\nconst saveApiMode = (username: string, mode: 'new' | 'legacy') => {\n try {\n localStorage.setItem(`${API_MODE_STORAGE_KEY}_${username}`, mode)\n } catch (error) {\n console.warn('Failed to save API mode to localStorage:', error)\n }\n}\n\n// Export function to get current API mode from localStorage\nexport const getApiMode = (username: string) => getSavedApiMode(username)\n\n// Export function to reset API mode (useful for error recovery)\nexport const resetApiMode = (username: string) => {\n try {\n localStorage.removeItem(`${API_MODE_STORAGE_KEY}_${username}`)\n } catch (error) {\n console.warn('Failed to reset API mode in localStorage:', error)\n }\n}\n\nexport const RestAPI: FC<RestAPIProps> = ({ hostName, username, authToken, children }) => {\n const dispatch = useDispatch<Dispatch>()\n const { fetchReady } = useSelector((state: RootState) => state.fetchDefaults)\n\n useEffect(() => {\n if (authToken && hostName && username) {\n const initializeAPI = async () => {\n let currentApiMode = getSavedApiMode(username)\n\n // If mode is unknown or we need to test, probe the API\n if (currentApiMode === 'unknown') {\n // First time or after reset: test new API format\n try {\n const response = await fetch(`https://${hostName}/api/user/me`, {\n headers: {\n Authorization: `Bearer ${authToken}`,\n },\n })\n\n if (response.ok) {\n // New API format works\n currentApiMode = 'new'\n saveApiMode(username, 'new')\n } else if (response.status === 404 || response.status === 401) {\n // Fallback to legacy API format\n currentApiMode = 'legacy'\n saveApiMode(username, 'legacy')\n } else {\n throw new Error(`API test failed with status: ${response.status}`)\n }\n } catch (error) {\n // Network error or other issues, fallback to legacy API\n currentApiMode = 'legacy'\n saveApiMode(username, 'legacy')\n }\n }\n\n // Set the appropriate configuration based on the determined mode\n if (currentApiMode === 'new') {\n dispatch.fetchDefaults.updateFetchBaseURL(`https://${hostName}/api`)\n dispatch.fetchDefaults.updateFetchHeaders({\n Authorization: `Bearer ${authToken}`,\n })\n } else {\n dispatch.fetchDefaults.updateFetchBaseURL(`https://${hostName}/webrest`)\n dispatch.fetchDefaults.updateFetchHeaders({\n Authorization: `${username}:${authToken}`,\n })\n }\n\n dispatch.fetchDefaults.setFetchReady()\n }\n\n initializeAPI()\n }\n }, [authToken, hostName, username])\n\n useEffect(() => {\n // Get all extensions info and set to store\n async function initExtensions() {\n const extensions = await getAllExtensions()\n if (extensions) {\n dispatch.users.updateExtensions(extensions)\n // Update the current user conversations\n const currentUserExtensionsList = getExtensionsList()\n const extensionsData = Object.values(extensions).filter((extension) =>\n currentUserExtensionsList.includes(extension.exten),\n )\n // Update the user conversations to store\n extensionsData.forEach((extension) => dispatch.currentUser.updateConversations(extension))\n }\n }\n // Get users info and set to store\n async function initCurrentUser() {\n const userInfo = await getCurrentUserInfo()\n if (userInfo) {\n dispatch.currentUser.updateCurrentUser(userInfo)\n eventDispatch('phone-island-user-informations-update', { ...userInfo })\n dispatch.currentUser.setCurrentUserReady(true)\n // Update open param URL type if it exists in paramurl store\n if (userInfo.settings && userInfo.settings.open_param_url) {\n dispatch.paramUrl.setOpenParamUrlType(userInfo.settings.open_param_url)\n } else {\n dispatch.paramUrl.setOpenParamUrlType('never')\n }\n\n // Inizialize all extensions after user initialization\n initExtensions()\n }\n }\n // Get all users and endpoints info and set to store\n async function initUsersEndpoints() {\n const usersEndpoints = await getAllUsersEndpoints()\n if (usersEndpoints) {\n dispatch.users.updateEndpoints(usersEndpoints)\n }\n }\n // Get all streaming source info and set to store\n async function initVideoSources() {\n const videoSources: any = await getVideoSources()\n if (videoSources) {\n dispatch.streaming.updateVideoSources(videoSources)\n }\n }\n // Get feature codes and save to store\n async function initFeatureCodes() {\n try {\n const codes = await getFeatureCodes()\n if (codes) {\n dispatch.currentUser.updateFeatureCodes(codes)\n }\n } catch (error) {\n console.warn('Failed to fetch feature codes:', error)\n }\n }\n // Call the needed APIs on startup\n if (fetchReady) {\n initCurrentUser()\n initUsersEndpoints()\n initVideoSources()\n initFeatureCodes()\n }\n }, [fetchReady])\n\n useLayoutEffect(() => {\n // Initialize avatars request it or get from storage\n if (username && fetchReady) {\n retrieveAvatars(username)\n }\n }, [fetchReady, username])\n\n return <>{fetchReady && children}</>\n}\n\ninterface RestAPIProps {\n children: ReactNode\n hostName: string\n username: string\n authToken: string\n}\n"],"names":["API_MODE_STORAGE_KEY","getSavedApiMode","username","saved","localStorage","getItem","concat","error","console","warn","saveApiMode","mode","setItem","_a","hostName","authToken","children","dispatch","useDispatch","fetchReady","useSelector","state","fetchDefaults","useEffect","__awaiter","currentApiMode","fetch","headers","Authorization","response","sent","ok","status","Error","updateFetchBaseURL","updateFetchHeaders","setFetchReady","getCurrentUserInfo","userInfo","currentUser","updateCurrentUser","eventDispatch","__assign","setCurrentUserReady","settings","open_param_url","paramUrl","setOpenParamUrlType","getAllExtensions","extensions","users","updateExtensions","currentUserExtensionsList_1","getExtensionsList","Object","values","filter","extension","includes","exten","forEach","updateConversations","initExtensions","initCurrentUser","getAllUsersEndpoints","usersEndpoints","updateEndpoints","initUsersEndpoints","getVideoSources","videoSources","streaming","updateVideoSources","initVideoSources","getFeatureCodes","codes","updateFeatureCodes","error_2","initFeatureCodes","useLayoutEffect","retrieveAvatars","React","createElement","Fragment","removeItem"],"mappings":"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"}
1
+ {"version":3,"file":"RestAPI.js","sources":["../../src/components/RestAPI.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, useEffect, useLayoutEffect } from 'react'\nimport { getCurrentUserInfo, getVideoSources, getFeatureCodes } from '../services/user'\nimport { retrieveAvatars } from '../lib/avatars/avatars'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { Dispatch, RootState } from '../store'\nimport { getAllExtensions } from '../services/astproxy'\nimport { getAllUsersEndpoints } from '../services/user'\nimport { getExtensionsList } from '../lib/user/extensions'\nimport { eventDispatch } from '../utils'\n\n// Storage key for API mode\nconst API_MODE_STORAGE_KEY = 'phone_island_api_mode'\n\n// Function to get saved API mode from localStorage\nconst getSavedApiMode = (username: string): 'new' | 'legacy' | 'unknown' => {\n try {\n const saved = localStorage.getItem(`${API_MODE_STORAGE_KEY}_${username}`)\n if (saved === 'new' || saved === 'legacy') {\n return saved\n }\n } catch (error) {\n console.warn('Failed to read API mode from localStorage:', error)\n }\n return 'unknown'\n}\n\n// Function to save API mode to localStorage\nconst saveApiMode = (username: string, mode: 'new' | 'legacy') => {\n try {\n localStorage.setItem(`${API_MODE_STORAGE_KEY}_${username}`, mode)\n } catch (error) {\n console.warn('Failed to save API mode to localStorage:', error)\n }\n}\n\n// Export function to get current API mode from localStorage\nexport const getApiMode = (username: string) => getSavedApiMode(username)\n\n// Export function to reset API mode (useful for error recovery)\nexport const resetApiMode = (username: string) => {\n try {\n localStorage.removeItem(`${API_MODE_STORAGE_KEY}_${username}`)\n } catch (error) {\n console.warn('Failed to reset API mode in localStorage:', error)\n }\n}\n\nexport const RestAPI: FC<RestAPIProps> = ({ hostName, username, authToken, children }) => {\n const dispatch = useDispatch<Dispatch>()\n const { fetchReady } = useSelector((state: RootState) => state.fetchDefaults)\n\n useEffect(() => {\n if (authToken && hostName && username) {\n const initializeAPI = async () => {\n let currentApiMode = getSavedApiMode(username)\n\n // If mode is unknown or we need to test, probe the API\n if (currentApiMode === 'unknown') {\n // First time or after reset: test new API format\n try {\n const response = await fetch(`https://${hostName}/api/user/me`, {\n headers: {\n Authorization: `Bearer ${authToken}`,\n },\n })\n\n if (response.ok) {\n // New API format works\n currentApiMode = 'new'\n saveApiMode(username, 'new')\n } else if (response.status === 404 || response.status === 401) {\n // Fallback to legacy API format\n currentApiMode = 'legacy'\n saveApiMode(username, 'legacy')\n } else {\n throw new Error(`API test failed with status: ${response.status}`)\n }\n } catch (error) {\n // Network error or other issues, fallback to legacy API\n currentApiMode = 'legacy'\n saveApiMode(username, 'legacy')\n }\n }\n\n // Set the appropriate configuration based on the determined mode\n if (currentApiMode === 'new') {\n dispatch.fetchDefaults.updateFetchBaseURL(`https://${hostName}/api`)\n dispatch.fetchDefaults.updateFetchHeaders({\n Authorization: `Bearer ${authToken}`,\n })\n } else {\n dispatch.fetchDefaults.updateFetchBaseURL(`https://${hostName}/webrest`)\n dispatch.fetchDefaults.updateFetchHeaders({\n Authorization: `${username}:${authToken}`,\n })\n }\n\n dispatch.fetchDefaults.setFetchReady()\n }\n\n initializeAPI()\n }\n }, [authToken, hostName, username])\n\n useEffect(() => {\n // Get all extensions info and set to store\n async function initExtensions() {\n const extensions = await getAllExtensions()\n if (extensions) {\n dispatch.users.updateExtensions(extensions)\n // Update the current user conversations\n const currentUserExtensionsList = getExtensionsList()\n const extensionsData = Object.values(extensions).filter((extension) =>\n currentUserExtensionsList.includes(extension.exten),\n )\n // Update the user conversations to store\n extensionsData.forEach((extension) => dispatch.currentUser.updateConversations(extension))\n }\n }\n // Get users info and set to store\n async function initCurrentUser() {\n const userInfo = await getCurrentUserInfo()\n if (userInfo) {\n dispatch.currentUser.updateCurrentUser(userInfo)\n eventDispatch('phone-island-user-informations-update', { ...userInfo })\n dispatch.currentUser.setCurrentUserReady(true)\n // Update open param URL type if it exists in paramurl store\n if (userInfo.settings && userInfo.settings.open_param_url) {\n dispatch.paramUrl.setOpenParamUrlType(userInfo.settings.open_param_url)\n } else {\n dispatch.paramUrl.setOpenParamUrlType('never')\n }\n\n // Inizialize all extensions after user initialization\n initExtensions()\n }\n }\n // Get all users and endpoints info and set to store\n async function initUsersEndpoints() {\n const usersEndpoints = await getAllUsersEndpoints()\n if (usersEndpoints) {\n dispatch.users.updateEndpoints(usersEndpoints)\n }\n }\n // Get all streaming source info and set to store\n async function initVideoSources() {\n const videoSources: any = await getVideoSources()\n if (videoSources) {\n dispatch.streaming.updateVideoSources(videoSources)\n }\n }\n // Get feature codes and save to store\n async function initFeatureCodes() {\n try {\n const codes = await getFeatureCodes()\n if (codes) {\n dispatch.currentUser.updateFeatureCodes(codes)\n }\n } catch (error) {\n console.warn('Failed to fetch feature codes:', error)\n }\n }\n // Call the needed APIs on startup\n if (fetchReady) {\n initCurrentUser()\n initUsersEndpoints()\n initVideoSources()\n initFeatureCodes()\n }\n }, [fetchReady])\n\n useLayoutEffect(() => {\n // Initialize avatars request it or get from storage\n if (username && fetchReady) {\n retrieveAvatars(username)\n }\n }, [fetchReady, username])\n\n return <>{fetchReady && children}</>\n}\n\ninterface RestAPIProps {\n children: ReactNode\n hostName: string\n username: string\n authToken: string\n}\n"],"names":["API_MODE_STORAGE_KEY","getSavedApiMode","username","saved","localStorage","getItem","concat","error","console","warn","saveApiMode","mode","setItem","_a","hostName","authToken","children","dispatch","useDispatch","fetchReady","useSelector","state","fetchDefaults","useEffect","__awaiter","currentApiMode","fetch","headers","Authorization","response","sent","ok","status","Error","updateFetchBaseURL","updateFetchHeaders","setFetchReady","getCurrentUserInfo","userInfo","currentUser","updateCurrentUser","eventDispatch","__assign","setCurrentUserReady","settings","open_param_url","paramUrl","setOpenParamUrlType","getAllExtensions","extensions","users","updateExtensions","currentUserExtensionsList_1","getExtensionsList","Object","values","filter","extension","includes","exten","forEach","updateConversations","initExtensions","initCurrentUser","getAllUsersEndpoints","usersEndpoints","updateEndpoints","initUsersEndpoints","getVideoSources","videoSources","streaming","updateVideoSources","initVideoSources","getFeatureCodes","codes","updateFeatureCodes","error_2","initFeatureCodes","useLayoutEffect","retrieveAvatars","React","createElement","Fragment","removeItem"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("react-redux"),i=require("../../store/index.js"),r=require("@fortawesome/react-fontawesome"),a=require("@fortawesome/free-solid-svg-icons"),l=require("../../utils/customHooks/useEventListener.js"),o=require("../../utils/genericFunctions/eventDispatch.js"),u=require("../../utils/genericFunctions/localStorage.js");require("tslib");var n=require("./SettingsHeader.js"),c=require("react-i18next"),s=require("../../lib/devices/devices.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p=d(e);exports.default=function(){var d=t.useSelector((function(e){return e.player.remoteAudio})),f=c.useTranslation().t,m=i.store.select.mediaDevices.audioOutputDevices(i.store.getState()),v=e.useState(s.getCurrentAudioOutputDeviceId()||null),g=v[0],b=v[1],h=function(e){b(e),null==d||d.current.setSinkId(e).then((function(){console.info("Audio output device switch success!"),u.setJSONItem("phone-island-audio-output-device",{deviceId:e}),o.eventDispatch("phone-island-call-audio-output-switched",{})})).catch((function(e){console.error("Audio output device switch error:",e)}))};l.useEventListener("phone-island-call-audio-output-switch",(function(e){h(e.deviceId)}));var y=e.useState(null),x=y[0],k=y[1];return p.default.createElement("div",{className:"pi-flex pi-flex-col pi-w-full"},p.default.createElement(n.SettingsHeader,{title:f("Settings.Speakers"),tooltipPrefix:"audio"}),p.default.createElement("div",{className:"pi-flex pi-flex-col pi-mt-2 pi-space-y-1 pi-max-h-48 pi-overflow-y-auto pi-scrollbar-thin pi-scrollbar-thumb-gray-400 pi-dark:scrollbar-thumb-gray-400 pi-scrollbar-thumb-rounded-full pi-scrollbar-thumb-opacity-50 dark:pi-scrollbar-track-gray-900 pi-scrollbar-track-gray-200 pi-dark:scrollbar-track-gray-900 pi-scrollbar-track-rounded-full pi-scrollbar-track-opacity-25"},m.map((function(e,t){return p.default.createElement("div",{key:t,className:"pi-flex pi-items-center pi-justify-between pi-px-4 pi-py-3 pi-text-base pi-font-normal pi-leading-6 dark:pi-text-gray-200 pi-text-gray-700 hover:pi-bg-gray-200 dark:hover:pi-bg-gray-700 dark:pi-bg-gray-950 pi-bg-gray-50 pi-rounded-md pi-cursor-pointer",onClick:function(){return h(null==e?void 0:e.deviceId)},onMouseEnter:function(){return k(null==e?void 0:e.deviceId)},onMouseLeave:function(){return k(null)}},p.default.createElement("div",{className:"pi-flex pi-items-center"},p.default.createElement(r.FontAwesomeIcon,{icon:a.faVolumeHigh,className:"pi-mr-2 pi-w-5 pi-h-5"}),p.default.createElement("span",null,(null==e?void 0:e.label)||"Input device ".concat(t+1))),p.default.createElement("div",{className:"pi-flex pi-items-center"},g===(null==e?void 0:e.deviceId)&&p.default.createElement(r.FontAwesomeIcon,{icon:a.faCheck,className:"".concat(x===(null==e?void 0:e.deviceId)?"pi-text-gray-700 dark:pi-text-gray-200":"pi-text-emerald-700 dark:pi-text-emerald-500"," pi-w-5 pi-h-5")})))}))))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");require("../../node_modules/react-redux/es/index.js");var t=require("../../store/index.js"),r=require("../../node_modules/@fortawesome/react-fontawesome/index.es.js"),i=require("../../node_modules/@fortawesome/free-solid-svg-icons/index.mjs.js"),s=require("../../utils/customHooks/useEventListener.js"),o=require("../../utils/genericFunctions/eventDispatch.js"),l=require("../../utils/genericFunctions/localStorage.js");require("../../node_modules/tslib/tslib.es6.js");var a=require("./SettingsHeader.js");require("../../node_modules/@babel/runtime/helpers/defineProperty.js"),require("../../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"),require("../../node_modules/@babel/runtime/helpers/typeof.js"),require("../../node_modules/html-parse-stringify/dist/html-parse-stringify.js"),require("../../node_modules/react-i18next/dist/es/context.js");var u=require("../../node_modules/react-i18next/dist/es/useTranslation.js");require("../../node_modules/@babel/runtime/helpers/slicedToArray.js");var n=require("../../lib/devices/devices.js"),d=require("../../node_modules/react-redux/es/hooks/useSelector.js");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p=c(e);exports.default=function(){var c=d.useSelector((function(e){return e.player.remoteAudio})),m=u.useTranslation().t,f=t.store.select.mediaDevices.audioOutputDevices(t.store.getState()),v=e.useState(n.getCurrentAudioOutputDeviceId()||null),b=v[0],h=v[1],g=function(e){h(e),null==c||c.current.setSinkId(e).then((function(){console.info("Audio output device switch success!"),l.setJSONItem("phone-island-audio-output-device",{deviceId:e}),o.eventDispatch("phone-island-call-audio-output-switched",{})})).catch((function(e){console.error("Audio output device switch error:",e)}))};s.useEventListener("phone-island-call-audio-output-switch",(function(e){g(e.deviceId)}));var x=e.useState(null),y=x[0],j=x[1];return p.default.createElement("div",{className:"pi-flex pi-flex-col pi-w-full"},p.default.createElement(a.SettingsHeader,{title:m("Settings.Speakers"),tooltipPrefix:"audio"}),p.default.createElement("div",{className:"pi-flex pi-flex-col pi-mt-2 pi-space-y-1 pi-max-h-48 pi-overflow-y-auto pi-scrollbar-thin pi-scrollbar-thumb-gray-400 pi-dark:scrollbar-thumb-gray-400 pi-scrollbar-thumb-rounded-full pi-scrollbar-thumb-opacity-50 dark:pi-scrollbar-track-gray-900 pi-scrollbar-track-gray-200 pi-dark:scrollbar-track-gray-900 pi-scrollbar-track-rounded-full pi-scrollbar-track-opacity-25"},f.map((function(e,t){return p.default.createElement("div",{key:t,className:"pi-flex pi-items-center pi-justify-between pi-px-4 pi-py-3 pi-text-base pi-font-normal pi-leading-6 dark:pi-text-gray-200 pi-text-gray-700 hover:pi-bg-gray-200 dark:hover:pi-bg-gray-700 dark:pi-bg-gray-950 pi-bg-gray-50 pi-rounded-md pi-cursor-pointer",onClick:function(){return g(null==e?void 0:e.deviceId)},onMouseEnter:function(){return j(null==e?void 0:e.deviceId)},onMouseLeave:function(){return j(null)}},p.default.createElement("div",{className:"pi-flex pi-items-center"},p.default.createElement(r.FontAwesomeIcon,{icon:i.faVolumeHigh,className:"pi-mr-2 pi-w-5 pi-h-5"}),p.default.createElement("span",null,(null==e?void 0:e.label)||"Input device ".concat(t+1))),p.default.createElement("div",{className:"pi-flex pi-items-center"},b===(null==e?void 0:e.deviceId)&&p.default.createElement(r.FontAwesomeIcon,{icon:i.faCheck,className:"".concat(y===(null==e?void 0:e.deviceId)?"pi-text-gray-700 dark:pi-text-gray-200":"pi-text-emerald-700 dark:pi-text-emerald-500"," pi-w-5 pi-h-5")})))}))))};
2
2
  //# sourceMappingURL=AudioView.js.map