@100mslive/react-native-room-kit 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/lib/commonjs/HMSRoomSetup.js +49 -0
  2. package/lib/commonjs/HMSRoomSetup.js.map +1 -1
  3. package/lib/commonjs/Icons/Add/assets/add-circle.png +0 -0
  4. package/lib/commonjs/Icons/Add/assets/add-circle@2x.png +0 -0
  5. package/lib/commonjs/Icons/Add/assets/add-circle@3x.png +0 -0
  6. package/lib/commonjs/Icons/Add/index.js +35 -0
  7. package/lib/commonjs/Icons/Add/index.js.map +1 -0
  8. package/lib/commonjs/Icons/CheckBox/assets/checkbox-checked.png +0 -0
  9. package/lib/commonjs/Icons/CheckBox/assets/checkbox-checked@2x.png +0 -0
  10. package/lib/commonjs/Icons/CheckBox/assets/checkbox-checked@3x.png +0 -0
  11. package/lib/commonjs/Icons/CheckBox/assets/checkbox.png +0 -0
  12. package/lib/commonjs/Icons/CheckBox/assets/checkbox@2x.png +0 -0
  13. package/lib/commonjs/Icons/CheckBox/assets/checkbox@3x.png +0 -0
  14. package/lib/commonjs/Icons/CheckBox/index.js +34 -0
  15. package/lib/commonjs/Icons/CheckBox/index.js.map +1 -0
  16. package/lib/commonjs/Icons/Poll/assets/poll.png +0 -0
  17. package/lib/commonjs/Icons/Poll/assets/poll@2x.png +0 -0
  18. package/lib/commonjs/Icons/Poll/assets/poll@3x.png +0 -0
  19. package/lib/commonjs/Icons/Poll/index.js +33 -0
  20. package/lib/commonjs/Icons/Poll/index.js.map +1 -0
  21. package/lib/commonjs/Icons/PollVote/assets/poll-vote.png +0 -0
  22. package/lib/commonjs/Icons/PollVote/assets/poll-vote@2x.png +0 -0
  23. package/lib/commonjs/Icons/PollVote/assets/poll-vote@3x.png +0 -0
  24. package/lib/commonjs/Icons/PollVote/index.js +33 -0
  25. package/lib/commonjs/Icons/PollVote/index.js.map +1 -0
  26. package/lib/commonjs/Icons/Quiz/assets/quiz.png +0 -0
  27. package/lib/commonjs/Icons/Quiz/assets/quiz@2x.png +0 -0
  28. package/lib/commonjs/Icons/Quiz/assets/quiz@3x.png +0 -0
  29. package/lib/commonjs/Icons/Quiz/index.js +33 -0
  30. package/lib/commonjs/Icons/Quiz/index.js.map +1 -0
  31. package/lib/commonjs/Icons/TrashBin/assets/trash-bin.png +0 -0
  32. package/lib/commonjs/Icons/TrashBin/assets/trash-bin@2x.png +0 -0
  33. package/lib/commonjs/Icons/TrashBin/assets/trash-bin@3x.png +0 -0
  34. package/lib/commonjs/Icons/TrashBin/index.js +34 -0
  35. package/lib/commonjs/Icons/TrashBin/index.js.map +1 -0
  36. package/lib/commonjs/Icons/index.js +66 -0
  37. package/lib/commonjs/Icons/index.js.map +1 -1
  38. package/lib/commonjs/components/CheckboxInputRow.js +53 -0
  39. package/lib/commonjs/components/CheckboxInputRow.js.map +1 -0
  40. package/lib/commonjs/components/CreatePoll.js +163 -0
  41. package/lib/commonjs/components/CreatePoll.js.map +1 -0
  42. package/lib/commonjs/components/Footer.js +6 -1
  43. package/lib/commonjs/components/Footer.js.map +1 -1
  44. package/lib/commonjs/components/HLSPlayerEmoticons.js +2 -3
  45. package/lib/commonjs/components/HLSPlayerEmoticons.js.map +1 -1
  46. package/lib/commonjs/components/HMSBaseButton.js +4 -2
  47. package/lib/commonjs/components/HMSBaseButton.js.map +1 -1
  48. package/lib/commonjs/components/HMSNotification.js +5 -1
  49. package/lib/commonjs/components/HMSNotification.js.map +1 -1
  50. package/lib/commonjs/components/HMSNotifications.js +4 -0
  51. package/lib/commonjs/components/HMSNotifications.js.map +1 -1
  52. package/lib/commonjs/components/HMSPollsQuizzesNotification.js +95 -0
  53. package/lib/commonjs/components/HMSPollsQuizzesNotification.js.map +1 -0
  54. package/lib/commonjs/components/HMSRoomOptions.js +2 -1
  55. package/lib/commonjs/components/HMSRoomOptions.js.map +1 -1
  56. package/lib/commonjs/components/HMSSecondaryButton.js +56 -0
  57. package/lib/commonjs/components/HMSSecondaryButton.js.map +1 -0
  58. package/lib/commonjs/components/PollAndQuizQuestionResponseCard.js +185 -0
  59. package/lib/commonjs/components/PollAndQuizQuestionResponseCard.js.map +1 -0
  60. package/lib/commonjs/components/PollAndQuizVoting.js +136 -0
  61. package/lib/commonjs/components/PollAndQuizVoting.js.map +1 -0
  62. package/lib/commonjs/components/PollAndQuizzStateLabel.js +72 -0
  63. package/lib/commonjs/components/PollAndQuizzStateLabel.js.map +1 -0
  64. package/lib/commonjs/components/PollQDeleteConfirmationSheetView.js +68 -0
  65. package/lib/commonjs/components/PollQDeleteConfirmationSheetView.js.map +1 -0
  66. package/lib/commonjs/components/PollQuestion.js +368 -0
  67. package/lib/commonjs/components/PollQuestion.js.map +1 -0
  68. package/lib/commonjs/components/PollQuestionDeleteConfirmation.js +97 -0
  69. package/lib/commonjs/components/PollQuestionDeleteConfirmation.js.map +1 -0
  70. package/lib/commonjs/components/PollQuestions.js +189 -0
  71. package/lib/commonjs/components/PollQuestions.js.map +1 -0
  72. package/lib/commonjs/components/PollResponseProgressView.js +68 -0
  73. package/lib/commonjs/components/PollResponseProgressView.js.map +1 -0
  74. package/lib/commonjs/components/PollsAndQuizBottomSheet.js +59 -0
  75. package/lib/commonjs/components/PollsAndQuizBottomSheet.js.map +1 -0
  76. package/lib/commonjs/components/PollsAndQuizzesCard.js +97 -0
  77. package/lib/commonjs/components/PollsAndQuizzesCard.js.map +1 -0
  78. package/lib/commonjs/components/PollsAndQuizzesModalContent.js +159 -0
  79. package/lib/commonjs/components/PollsAndQuizzesModalContent.js.map +1 -0
  80. package/lib/commonjs/components/PollsConfigAndList.js +32 -0
  81. package/lib/commonjs/components/PollsConfigAndList.js.map +1 -0
  82. package/lib/commonjs/components/PreviousPollsAndQuizzesList.js +76 -0
  83. package/lib/commonjs/components/PreviousPollsAndQuizzesList.js.map +1 -0
  84. package/lib/commonjs/components/RadioInput.js +42 -0
  85. package/lib/commonjs/components/RadioInput.js.map +1 -0
  86. package/lib/commonjs/components/RadioInputRow.js +57 -0
  87. package/lib/commonjs/components/RadioInputRow.js.map +1 -0
  88. package/lib/commonjs/components/RoomSettingsModalContent.js +31 -6
  89. package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
  90. package/lib/commonjs/components/SwitchRow.js +2 -1
  91. package/lib/commonjs/components/SwitchRow.js.map +1 -1
  92. package/lib/commonjs/hooks-util.js +26 -1
  93. package/lib/commonjs/hooks-util.js.map +1 -1
  94. package/lib/commonjs/redux/actionTypes.js +38 -1
  95. package/lib/commonjs/redux/actionTypes.js.map +1 -1
  96. package/lib/commonjs/redux/actions/index.js +140 -1
  97. package/lib/commonjs/redux/actions/index.js.map +1 -1
  98. package/lib/commonjs/redux/reducers/index.js +3 -1
  99. package/lib/commonjs/redux/reducers/index.js.map +1 -1
  100. package/lib/commonjs/redux/reducers/polls.js +251 -0
  101. package/lib/commonjs/redux/reducers/polls.js.map +1 -0
  102. package/lib/commonjs/types.js +1 -0
  103. package/lib/commonjs/types.js.map +1 -1
  104. package/lib/commonjs/utils/functions.js +6 -1
  105. package/lib/commonjs/utils/functions.js.map +1 -1
  106. package/lib/commonjs/utils/types.js +1 -0
  107. package/lib/commonjs/utils/types.js.map +1 -1
  108. package/lib/module/HMSRoomSetup.js +52 -3
  109. package/lib/module/HMSRoomSetup.js.map +1 -1
  110. package/lib/module/Icons/Add/assets/add-circle.png +0 -0
  111. package/lib/module/Icons/Add/assets/add-circle@2x.png +0 -0
  112. package/lib/module/Icons/Add/assets/add-circle@3x.png +0 -0
  113. package/lib/module/Icons/Add/index.js +27 -0
  114. package/lib/module/Icons/Add/index.js.map +1 -0
  115. package/lib/module/Icons/CheckBox/assets/checkbox-checked.png +0 -0
  116. package/lib/module/Icons/CheckBox/assets/checkbox-checked@2x.png +0 -0
  117. package/lib/module/Icons/CheckBox/assets/checkbox-checked@3x.png +0 -0
  118. package/lib/module/Icons/CheckBox/assets/checkbox.png +0 -0
  119. package/lib/module/Icons/CheckBox/assets/checkbox@2x.png +0 -0
  120. package/lib/module/Icons/CheckBox/assets/checkbox@3x.png +0 -0
  121. package/lib/module/Icons/CheckBox/index.js +26 -0
  122. package/lib/module/Icons/CheckBox/index.js.map +1 -0
  123. package/lib/module/Icons/Poll/assets/poll.png +0 -0
  124. package/lib/module/Icons/Poll/assets/poll@2x.png +0 -0
  125. package/lib/module/Icons/Poll/assets/poll@3x.png +0 -0
  126. package/lib/module/Icons/Poll/index.js +25 -0
  127. package/lib/module/Icons/Poll/index.js.map +1 -0
  128. package/lib/module/Icons/PollVote/assets/poll-vote.png +0 -0
  129. package/lib/module/Icons/PollVote/assets/poll-vote@2x.png +0 -0
  130. package/lib/module/Icons/PollVote/assets/poll-vote@3x.png +0 -0
  131. package/lib/module/Icons/PollVote/index.js +25 -0
  132. package/lib/module/Icons/PollVote/index.js.map +1 -0
  133. package/lib/module/Icons/Quiz/assets/quiz.png +0 -0
  134. package/lib/module/Icons/Quiz/assets/quiz@2x.png +0 -0
  135. package/lib/module/Icons/Quiz/assets/quiz@3x.png +0 -0
  136. package/lib/module/Icons/Quiz/index.js +25 -0
  137. package/lib/module/Icons/Quiz/index.js.map +1 -0
  138. package/lib/module/Icons/TrashBin/assets/trash-bin.png +0 -0
  139. package/lib/module/Icons/TrashBin/assets/trash-bin@2x.png +0 -0
  140. package/lib/module/Icons/TrashBin/assets/trash-bin@3x.png +0 -0
  141. package/lib/module/Icons/TrashBin/index.js +26 -0
  142. package/lib/module/Icons/TrashBin/index.js.map +1 -0
  143. package/lib/module/Icons/index.js +6 -0
  144. package/lib/module/Icons/index.js.map +1 -1
  145. package/lib/module/components/CheckboxInputRow.js +45 -0
  146. package/lib/module/components/CheckboxInputRow.js.map +1 -0
  147. package/lib/module/components/CreatePoll.js +155 -0
  148. package/lib/module/components/CreatePoll.js.map +1 -0
  149. package/lib/module/components/Footer.js +6 -1
  150. package/lib/module/components/Footer.js.map +1 -1
  151. package/lib/module/components/HLSPlayerEmoticons.js +2 -3
  152. package/lib/module/components/HLSPlayerEmoticons.js.map +1 -1
  153. package/lib/module/components/HMSBaseButton.js +5 -3
  154. package/lib/module/components/HMSBaseButton.js.map +1 -1
  155. package/lib/module/components/HMSNotification.js +5 -1
  156. package/lib/module/components/HMSNotification.js.map +1 -1
  157. package/lib/module/components/HMSNotifications.js +4 -0
  158. package/lib/module/components/HMSNotifications.js.map +1 -1
  159. package/lib/module/components/HMSPollsQuizzesNotification.js +86 -0
  160. package/lib/module/components/HMSPollsQuizzesNotification.js.map +1 -0
  161. package/lib/module/components/HMSRoomOptions.js +2 -1
  162. package/lib/module/components/HMSRoomOptions.js.map +1 -1
  163. package/lib/module/components/HMSSecondaryButton.js +47 -0
  164. package/lib/module/components/HMSSecondaryButton.js.map +1 -0
  165. package/lib/module/components/PollAndQuizQuestionResponseCard.js +176 -0
  166. package/lib/module/components/PollAndQuizQuestionResponseCard.js.map +1 -0
  167. package/lib/module/components/PollAndQuizVoting.js +127 -0
  168. package/lib/module/components/PollAndQuizVoting.js.map +1 -0
  169. package/lib/module/components/PollAndQuizzStateLabel.js +63 -0
  170. package/lib/module/components/PollAndQuizzStateLabel.js.map +1 -0
  171. package/lib/module/components/PollQDeleteConfirmationSheetView.js +60 -0
  172. package/lib/module/components/PollQDeleteConfirmationSheetView.js.map +1 -0
  173. package/lib/module/components/PollQuestion.js +359 -0
  174. package/lib/module/components/PollQuestion.js.map +1 -0
  175. package/lib/module/components/PollQuestionDeleteConfirmation.js +88 -0
  176. package/lib/module/components/PollQuestionDeleteConfirmation.js.map +1 -0
  177. package/lib/module/components/PollQuestions.js +180 -0
  178. package/lib/module/components/PollQuestions.js.map +1 -0
  179. package/lib/module/components/PollResponseProgressView.js +59 -0
  180. package/lib/module/components/PollResponseProgressView.js.map +1 -0
  181. package/lib/module/components/PollsAndQuizBottomSheet.js +50 -0
  182. package/lib/module/components/PollsAndQuizBottomSheet.js.map +1 -0
  183. package/lib/module/components/PollsAndQuizzesCard.js +88 -0
  184. package/lib/module/components/PollsAndQuizzesCard.js.map +1 -0
  185. package/lib/module/components/PollsAndQuizzesModalContent.js +150 -0
  186. package/lib/module/components/PollsAndQuizzesModalContent.js.map +1 -0
  187. package/lib/module/components/PollsConfigAndList.js +23 -0
  188. package/lib/module/components/PollsConfigAndList.js.map +1 -0
  189. package/lib/module/components/PreviousPollsAndQuizzesList.js +67 -0
  190. package/lib/module/components/PreviousPollsAndQuizzesList.js.map +1 -0
  191. package/lib/module/components/RadioInput.js +34 -0
  192. package/lib/module/components/RadioInput.js.map +1 -0
  193. package/lib/module/components/RadioInputRow.js +49 -0
  194. package/lib/module/components/RadioInputRow.js.map +1 -0
  195. package/lib/module/components/RoomSettingsModalContent.js +32 -7
  196. package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
  197. package/lib/module/components/SwitchRow.js +2 -1
  198. package/lib/module/components/SwitchRow.js.map +1 -1
  199. package/lib/module/hooks-util.js +26 -2
  200. package/lib/module/hooks-util.js.map +1 -1
  201. package/lib/module/redux/actionTypes.js +39 -0
  202. package/lib/module/redux/actionTypes.js.map +1 -1
  203. package/lib/module/redux/actions/index.js +116 -1
  204. package/lib/module/redux/actions/index.js.map +1 -1
  205. package/lib/module/redux/reducers/index.js +3 -1
  206. package/lib/module/redux/reducers/index.js.map +1 -1
  207. package/lib/module/redux/reducers/polls.js +245 -0
  208. package/lib/module/redux/reducers/polls.js.map +1 -0
  209. package/lib/module/types.js +1 -0
  210. package/lib/module/types.js.map +1 -1
  211. package/lib/module/utils/functions.js +5 -1
  212. package/lib/module/utils/functions.js.map +1 -1
  213. package/lib/module/utils/types.js +1 -0
  214. package/lib/module/utils/types.js.map +1 -1
  215. package/lib/typescript/HMSRoomSetup.d.ts.map +1 -1
  216. package/lib/typescript/Icons/Add/index.d.ts +8 -0
  217. package/lib/typescript/Icons/Add/index.d.ts.map +1 -0
  218. package/lib/typescript/Icons/CheckBox/index.d.ts +8 -0
  219. package/lib/typescript/Icons/CheckBox/index.d.ts.map +1 -0
  220. package/lib/typescript/Icons/Poll/index.d.ts +7 -0
  221. package/lib/typescript/Icons/Poll/index.d.ts.map +1 -0
  222. package/lib/typescript/Icons/PollVote/index.d.ts +7 -0
  223. package/lib/typescript/Icons/PollVote/index.d.ts.map +1 -0
  224. package/lib/typescript/Icons/Quiz/index.d.ts +7 -0
  225. package/lib/typescript/Icons/Quiz/index.d.ts.map +1 -0
  226. package/lib/typescript/Icons/TrashBin/index.d.ts +7 -0
  227. package/lib/typescript/Icons/TrashBin/index.d.ts.map +1 -0
  228. package/lib/typescript/Icons/index.d.ts +6 -0
  229. package/lib/typescript/Icons/index.d.ts.map +1 -1
  230. package/lib/typescript/components/CheckboxInputRow.d.ts +13 -0
  231. package/lib/typescript/components/CheckboxInputRow.d.ts.map +1 -0
  232. package/lib/typescript/components/CreatePoll.d.ts +5 -0
  233. package/lib/typescript/components/CreatePoll.d.ts.map +1 -0
  234. package/lib/typescript/components/Footer.d.ts.map +1 -1
  235. package/lib/typescript/components/HLSPlayerEmoticons.d.ts.map +1 -1
  236. package/lib/typescript/components/HMSBaseButton.d.ts +2 -1
  237. package/lib/typescript/components/HMSBaseButton.d.ts.map +1 -1
  238. package/lib/typescript/components/HMSNotifications.d.ts.map +1 -1
  239. package/lib/typescript/components/HMSPollsQuizzesNotification.d.ts +7 -0
  240. package/lib/typescript/components/HMSPollsQuizzesNotification.d.ts.map +1 -0
  241. package/lib/typescript/components/HMSPrimaryButton.d.ts +1 -1
  242. package/lib/typescript/components/HMSPrimaryButton.d.ts.map +1 -1
  243. package/lib/typescript/components/HMSRoomOptions.d.ts.map +1 -1
  244. package/lib/typescript/components/HMSSecondaryButton.d.ts +15 -0
  245. package/lib/typescript/components/HMSSecondaryButton.d.ts.map +1 -0
  246. package/lib/typescript/components/PollAndQuizQuestionResponseCard.d.ts +13 -0
  247. package/lib/typescript/components/PollAndQuizQuestionResponseCard.d.ts.map +1 -0
  248. package/lib/typescript/components/PollAndQuizVoting.d.ts +6 -0
  249. package/lib/typescript/components/PollAndQuizVoting.d.ts.map +1 -0
  250. package/lib/typescript/components/PollAndQuizzStateLabel.d.ts +7 -0
  251. package/lib/typescript/components/PollAndQuizzStateLabel.d.ts.map +1 -0
  252. package/lib/typescript/components/PollQDeleteConfirmationSheetView.d.ts +6 -0
  253. package/lib/typescript/components/PollQDeleteConfirmationSheetView.d.ts.map +1 -0
  254. package/lib/typescript/components/PollQuestion.d.ts +14 -0
  255. package/lib/typescript/components/PollQuestion.d.ts.map +1 -0
  256. package/lib/typescript/components/PollQuestionDeleteConfirmation.d.ts +6 -0
  257. package/lib/typescript/components/PollQuestionDeleteConfirmation.d.ts.map +1 -0
  258. package/lib/typescript/components/PollQuestions.d.ts +6 -0
  259. package/lib/typescript/components/PollQuestions.d.ts.map +1 -0
  260. package/lib/typescript/components/PollResponseProgressView.d.ts +9 -0
  261. package/lib/typescript/components/PollResponseProgressView.d.ts.map +1 -0
  262. package/lib/typescript/components/PollsAndQuizBottomSheet.d.ts +3 -0
  263. package/lib/typescript/components/PollsAndQuizBottomSheet.d.ts.map +1 -0
  264. package/lib/typescript/components/PollsAndQuizzesCard.d.ts +7 -0
  265. package/lib/typescript/components/PollsAndQuizzesCard.d.ts.map +1 -0
  266. package/lib/typescript/components/PollsAndQuizzesModalContent.d.ts +7 -0
  267. package/lib/typescript/components/PollsAndQuizzesModalContent.d.ts.map +1 -0
  268. package/lib/typescript/components/PollsConfigAndList.d.ts +5 -0
  269. package/lib/typescript/components/PollsConfigAndList.d.ts.map +1 -0
  270. package/lib/typescript/components/PreviousPollsAndQuizzesList.d.ts +5 -0
  271. package/lib/typescript/components/PreviousPollsAndQuizzesList.d.ts.map +1 -0
  272. package/lib/typescript/components/RadioInput.d.ts +9 -0
  273. package/lib/typescript/components/RadioInput.d.ts.map +1 -0
  274. package/lib/typescript/components/RadioInputRow.d.ts +16 -0
  275. package/lib/typescript/components/RadioInputRow.d.ts.map +1 -0
  276. package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -1
  277. package/lib/typescript/components/SwitchRow.d.ts +2 -1
  278. package/lib/typescript/components/SwitchRow.d.ts.map +1 -1
  279. package/lib/typescript/hooks-util.d.ts +1 -0
  280. package/lib/typescript/hooks-util.d.ts.map +1 -1
  281. package/lib/typescript/redux/actionTypes.d.ts +161 -0
  282. package/lib/typescript/redux/actionTypes.d.ts.map +1 -1
  283. package/lib/typescript/redux/actions/index.d.ts +36 -2
  284. package/lib/typescript/redux/actions/index.d.ts.map +1 -1
  285. package/lib/typescript/redux/index.d.ts +13 -0
  286. package/lib/typescript/redux/index.d.ts.map +1 -1
  287. package/lib/typescript/redux/reducers/index.d.ts +13 -0
  288. package/lib/typescript/redux/reducers/index.d.ts.map +1 -1
  289. package/lib/typescript/redux/reducers/polls.d.ts +19 -0
  290. package/lib/typescript/redux/reducers/polls.d.ts.map +1 -0
  291. package/lib/typescript/types.d.ts +3 -1
  292. package/lib/typescript/types.d.ts.map +1 -1
  293. package/lib/typescript/utils/functions.d.ts +2 -0
  294. package/lib/typescript/utils/functions.d.ts.map +1 -1
  295. package/lib/typescript/utils/types.d.ts +1 -0
  296. package/lib/typescript/utils/types.d.ts.map +1 -1
  297. package/package.json +2 -2
  298. package/src/HMSRoomSetup.tsx +61 -0
  299. package/src/Icons/Add/assets/add-circle.png +0 -0
  300. package/src/Icons/Add/assets/add-circle@2x.png +0 -0
  301. package/src/Icons/Add/assets/add-circle@3x.png +0 -0
  302. package/src/Icons/Add/index.tsx +37 -0
  303. package/src/Icons/CheckBox/assets/checkbox-checked.png +0 -0
  304. package/src/Icons/CheckBox/assets/checkbox-checked@2x.png +0 -0
  305. package/src/Icons/CheckBox/assets/checkbox-checked@3x.png +0 -0
  306. package/src/Icons/CheckBox/assets/checkbox.png +0 -0
  307. package/src/Icons/CheckBox/assets/checkbox@2x.png +0 -0
  308. package/src/Icons/CheckBox/assets/checkbox@3x.png +0 -0
  309. package/src/Icons/CheckBox/index.tsx +40 -0
  310. package/src/Icons/Poll/assets/poll.png +0 -0
  311. package/src/Icons/Poll/assets/poll@2x.png +0 -0
  312. package/src/Icons/Poll/assets/poll@3x.png +0 -0
  313. package/src/Icons/Poll/index.tsx +30 -0
  314. package/src/Icons/PollVote/assets/poll-vote.png +0 -0
  315. package/src/Icons/PollVote/assets/poll-vote@2x.png +0 -0
  316. package/src/Icons/PollVote/assets/poll-vote@3x.png +0 -0
  317. package/src/Icons/PollVote/index.tsx +33 -0
  318. package/src/Icons/Quiz/assets/quiz.png +0 -0
  319. package/src/Icons/Quiz/assets/quiz@2x.png +0 -0
  320. package/src/Icons/Quiz/assets/quiz@3x.png +0 -0
  321. package/src/Icons/Quiz/index.tsx +30 -0
  322. package/src/Icons/TrashBin/assets/trash-bin.png +0 -0
  323. package/src/Icons/TrashBin/assets/trash-bin@2x.png +0 -0
  324. package/src/Icons/TrashBin/assets/trash-bin@3x.png +0 -0
  325. package/src/Icons/TrashBin/index.tsx +34 -0
  326. package/src/Icons/index.ts +6 -0
  327. package/src/components/CheckboxInputRow.tsx +68 -0
  328. package/src/components/CreatePoll.tsx +176 -0
  329. package/src/components/Footer.tsx +7 -1
  330. package/src/components/HLSPlayerEmoticons.tsx +2 -3
  331. package/src/components/HMSBaseButton.tsx +8 -3
  332. package/src/components/HMSNotification.tsx +1 -1
  333. package/src/components/HMSNotifications.tsx +7 -0
  334. package/src/components/HMSPollsQuizzesNotification.tsx +110 -0
  335. package/src/components/HMSPrimaryButton.tsx +1 -1
  336. package/src/components/HMSRoomOptions.tsx +3 -0
  337. package/src/components/HMSSecondaryButton.tsx +72 -0
  338. package/src/components/PollAndQuizQuestionResponseCard.tsx +311 -0
  339. package/src/components/PollAndQuizVoting.tsx +157 -0
  340. package/src/components/PollAndQuizzStateLabel.tsx +83 -0
  341. package/src/components/PollQDeleteConfirmationSheetView.tsx +82 -0
  342. package/src/components/PollQuestion.tsx +553 -0
  343. package/src/components/PollQuestionDeleteConfirmation.tsx +110 -0
  344. package/src/components/PollQuestions.tsx +259 -0
  345. package/src/components/PollResponseProgressView.tsx +77 -0
  346. package/src/components/PollsAndQuizBottomSheet.tsx +83 -0
  347. package/src/components/PollsAndQuizzesCard.tsx +111 -0
  348. package/src/components/PollsAndQuizzesModalContent.tsx +198 -0
  349. package/src/components/PollsConfigAndList.tsx +29 -0
  350. package/src/components/PreviousPollsAndQuizzesList.tsx +103 -0
  351. package/src/components/RadioInput.tsx +44 -0
  352. package/src/components/RadioInputRow.tsx +73 -0
  353. package/src/components/RoomSettingsModalContent.tsx +23 -0
  354. package/src/components/SwitchRow.tsx +4 -2
  355. package/src/hooks-util.ts +41 -0
  356. package/src/redux/actionTypes.ts +221 -0
  357. package/src/redux/actions/index.ts +218 -1
  358. package/src/redux/reducers/index.ts +2 -0
  359. package/src/redux/reducers/polls.ts +328 -0
  360. package/src/types.ts +2 -0
  361. package/src/utils/functions.ts +14 -0
  362. package/src/utils/types.ts +1 -0
@@ -0,0 +1,259 @@
1
+ import * as React from 'react';
2
+ import {
3
+ View,
4
+ Text,
5
+ StyleSheet,
6
+ TouchableOpacity,
7
+ ScrollView,
8
+ } from 'react-native';
9
+ import { HMSPollQuestionType, HMSPollType } from '@100mslive/react-native-hms';
10
+
11
+ import { AddIcon } from '../Icons';
12
+ import { useHMSInstance, useHMSRoomStyleSheet } from '../hooks-util';
13
+ import { HMSPrimaryButton } from './HMSPrimaryButton';
14
+ import { PollQuestion } from './PollQuestion';
15
+ import { batch, useDispatch, useSelector, useStore } from 'react-redux';
16
+ import type { RootState } from '../redux';
17
+ import {
18
+ addPollQuestion,
19
+ addPollQuestionOption,
20
+ cleaPollFormState,
21
+ deletePollQuestionOption,
22
+ editPollQuestionOption,
23
+ setLaunchingPoll,
24
+ setPollQDeleteConfirmationVisible,
25
+ setPollQuestionResponseEditable,
26
+ setPollQuestionSaved,
27
+ setPollQuestionSkippable,
28
+ setPollQuestionTitle,
29
+ setPollQuestionType,
30
+ setSelectedPollQuestionIndex,
31
+ } from '../redux/actions';
32
+ import type { PollQuestionUI } from 'src/redux/actionTypes';
33
+
34
+ export interface PollQuestionsProps {
35
+ dismissModal(): void;
36
+ }
37
+
38
+ export const PollQuestions: React.FC<PollQuestionsProps> = ({}) => {
39
+ const dispatch = useDispatch();
40
+ const hmsInstance = useHMSInstance();
41
+ const reduxStore = useStore<RootState>();
42
+ const localPeerRole = useSelector(
43
+ (state: RootState) => state.hmsStates.localPeer?.role
44
+ );
45
+ const launchingPoll = useSelector(
46
+ (state: RootState) => state.polls.launchingPoll
47
+ );
48
+ const questions = useSelector((state: RootState) => state.polls.questions);
49
+
50
+ const hmsRoomStyles = useHMSRoomStyleSheet((theme, typography) => ({
51
+ regularMediumText: {
52
+ color: theme.palette.on_surface_medium,
53
+ fontFamily: `${typography.font_family}-Regular`,
54
+ },
55
+ }));
56
+
57
+ const disableLaunchPoll =
58
+ questions.length <= 0 ||
59
+ questions.some(
60
+ (question) =>
61
+ !question.title ||
62
+ !question.saved ||
63
+ (Array.isArray(question.options) &&
64
+ (question.options.length <= 1 ||
65
+ question.options.some((option) => !option)))
66
+ );
67
+
68
+ const launchPoll = async () => {
69
+ try {
70
+ const pollsData = reduxStore.getState().polls;
71
+
72
+ if (
73
+ !pollsData.pollName ||
74
+ pollsData.questions.some(
75
+ (question) =>
76
+ !question.title ||
77
+ (question.options && question.options.some((option) => !option))
78
+ )
79
+ ) {
80
+ console.log('Incorrect data!');
81
+ return;
82
+ }
83
+ dispatch(setLaunchingPoll(true));
84
+
85
+ const result = await hmsInstance.interactivityCenter.startPoll({
86
+ title: pollsData.pollName,
87
+ type: HMSPollType.poll,
88
+ rolesThatCanViewResponses:
89
+ pollsData.pollConfig.voteCountHidden && localPeerRole
90
+ ? [localPeerRole]
91
+ : undefined,
92
+ // mode: HMSPollUserTrackingMode.customerUserID, // mode: null, // `pollsData.pollConfig.resultsAnonymous` Make results anonymous set user tracking mode to none
93
+ questions: pollsData.questions.map((question) => ({
94
+ skippable: question.skippable,
95
+ once: !question.responseEditable,
96
+ text: question.title,
97
+ type: question.type,
98
+ options: question.options?.map((option) => ({ text: option })),
99
+ })),
100
+ });
101
+
102
+ console.log('quickStartPoll result > ', result);
103
+ dispatch(cleaPollFormState());
104
+ } catch (error) {
105
+ dispatch(setLaunchingPoll(false));
106
+ console.log('quickStartPoll error > ', error);
107
+ }
108
+ };
109
+
110
+ const addQuestion = () => {
111
+ dispatch(addPollQuestion());
112
+ };
113
+
114
+ const deleteQuestion = React.useCallback((index: number) => {
115
+ batch(() => {
116
+ dispatch(setSelectedPollQuestionIndex(index));
117
+ dispatch(setPollQDeleteConfirmationVisible(true));
118
+ });
119
+ }, []);
120
+
121
+ const onQuestionFieldChange = React.useCallback(
122
+ <K extends keyof Omit<PollQuestionUI, 'options'>>(
123
+ questionIndex: number,
124
+ questionField: K,
125
+ value: Omit<PollQuestionUI, 'options'>[K]
126
+ ) => {
127
+ switch (questionField) {
128
+ case 'responseEditable':
129
+ dispatch(
130
+ setPollQuestionResponseEditable(questionIndex, value as boolean)
131
+ );
132
+ break;
133
+ case 'saved':
134
+ dispatch(setPollQuestionSaved(questionIndex, value as boolean));
135
+ break;
136
+ case 'skippable':
137
+ dispatch(setPollQuestionSkippable(questionIndex, value as boolean));
138
+ break;
139
+ case 'title':
140
+ dispatch(setPollQuestionTitle(questionIndex, value as string));
141
+ break;
142
+ case 'type':
143
+ dispatch(
144
+ setPollQuestionType(questionIndex, value as HMSPollQuestionType)
145
+ );
146
+ break;
147
+ }
148
+ },
149
+ []
150
+ );
151
+
152
+ const handleAddPollQuestionOption = React.useCallback(
153
+ (questionIndex: number) => {
154
+ dispatch(addPollQuestionOption(questionIndex));
155
+ },
156
+ []
157
+ );
158
+
159
+ const handleDeletePollQuestionOption = React.useCallback(
160
+ (questionIndex: number, optionIndex: number) => {
161
+ dispatch(deletePollQuestionOption(questionIndex, optionIndex));
162
+ },
163
+ []
164
+ );
165
+
166
+ const handleEditPollQuestionOption = React.useCallback(
167
+ (questionIndex: number, optionIndex: number, option: string) => {
168
+ dispatch(editPollQuestionOption(questionIndex, optionIndex, option));
169
+ },
170
+ []
171
+ );
172
+
173
+ return (
174
+ <ScrollView
175
+ style={styles.contentContainer}
176
+ contentContainerStyle={{ paddingTop: 24 }}
177
+ >
178
+ {questions.map((pollQuestion, idx, arr) => {
179
+ const isFirst = idx === 0;
180
+ return (
181
+ <React.Fragment key={idx}>
182
+ {isFirst ? null : <View style={{ height: 16 }} />}
183
+
184
+ <PollQuestion
185
+ totalQuestions={arr.length}
186
+ currentQuestionIndex={idx}
187
+ pollQuestion={pollQuestion}
188
+ onAddPollQuestionOption={handleAddPollQuestionOption}
189
+ onDeletePollQuestionOption={handleDeletePollQuestionOption}
190
+ onEditPollQuestionOption={handleEditPollQuestionOption}
191
+ onQuestionFieldChange={onQuestionFieldChange}
192
+ onDelete={deleteQuestion}
193
+ />
194
+ </React.Fragment>
195
+ );
196
+ })}
197
+
198
+ <View style={[styles.addOptionWrapper, { marginTop: 16 }]}>
199
+ <TouchableOpacity
200
+ onPress={addQuestion}
201
+ disabled={launchingPoll}
202
+ style={[
203
+ styles.addOptionContainer,
204
+ launchingPoll ? { opacity: 0.4 } : null,
205
+ ]}
206
+ >
207
+ <View style={styles.addOptionIconWrapper}>
208
+ <AddIcon type="circle" />
209
+ </View>
210
+ <Text style={[styles.smallText, hmsRoomStyles.regularMediumText]}>
211
+ Add another question
212
+ </Text>
213
+ </TouchableOpacity>
214
+ </View>
215
+
216
+ <HMSPrimaryButton
217
+ disabled={disableLaunchPoll || launchingPoll}
218
+ title="Launch Poll"
219
+ loading={launchingPoll}
220
+ onPress={launchPoll}
221
+ style={{ marginTop: 16, marginBottom: 56, alignSelf: 'flex-end' }}
222
+ />
223
+ </ScrollView>
224
+ );
225
+ };
226
+
227
+ const styles = StyleSheet.create({
228
+ smallText: {
229
+ fontSize: 14,
230
+ lineHeight: 20,
231
+ },
232
+ contentContainer: {
233
+ paddingHorizontal: 24,
234
+ },
235
+ typeSelectionLabel: {
236
+ fontSize: 12,
237
+ lineHeight: 16,
238
+ },
239
+ pollNameLabel: {
240
+ fontSize: 14,
241
+ lineHeight: 20,
242
+ marginBottom: 8,
243
+ },
244
+ textInput: {
245
+ flex: undefined,
246
+ },
247
+
248
+ addOptionWrapper: {
249
+ alignSelf: 'flex-start',
250
+ },
251
+ addOptionContainer: {
252
+ flexDirection: 'row',
253
+ alignItems: 'center',
254
+ },
255
+ addOptionIconWrapper: {
256
+ marginRight: 8,
257
+ padding: 8,
258
+ },
259
+ });
@@ -0,0 +1,77 @@
1
+ import * as React from 'react';
2
+ import type { HMSPollQuestionOption } from '@100mslive/react-native-hms';
3
+ import { StyleSheet, Text, View } from 'react-native';
4
+
5
+ import { useHMSRoomStyleSheet } from '../hooks-util';
6
+
7
+ interface PollResponseProgressViewProps {
8
+ option: HMSPollQuestionOption;
9
+ totalVotes: number;
10
+ }
11
+
12
+ export const PollResponseProgressView: React.FC<
13
+ PollResponseProgressViewProps
14
+ > = ({ option, totalVotes }) => {
15
+ const hmsRoomStyles = useHMSRoomStyleSheet((theme, typography) => ({
16
+ surfaceHighRegularText: {
17
+ color: theme.palette.on_surface_high,
18
+ fontFamily: `${typography.font_family}-Regular`,
19
+ },
20
+ progressContainer: {
21
+ backgroundColor: theme.palette.surface_bright,
22
+ },
23
+ progress: {
24
+ backgroundColor: theme.palette.primary_default,
25
+ },
26
+ }));
27
+
28
+ return (
29
+ <View style={styles.container}>
30
+ <View
31
+ style={{
32
+ flexDirection: 'row',
33
+ alignItems: 'center',
34
+ justifyContent: 'space-between',
35
+ }}
36
+ >
37
+ <Text style={[styles.smallText, hmsRoomStyles.surfaceHighRegularText]}>
38
+ {option.text}
39
+ </Text>
40
+
41
+ <Text style={[styles.smallText, hmsRoomStyles.surfaceHighRegularText]}>
42
+ {option.voteCount} {option.voteCount > 1 ? 'votes' : 'vote'}
43
+ </Text>
44
+ </View>
45
+
46
+ <View style={[hmsRoomStyles.progressContainer, styles.progressContainer]}>
47
+ <View
48
+ style={[
49
+ hmsRoomStyles.progress,
50
+ styles.progress,
51
+ { width: `${(option.voteCount / totalVotes) * 100}%` },
52
+ ]}
53
+ />
54
+ </View>
55
+ </View>
56
+ );
57
+ };
58
+
59
+ const styles = StyleSheet.create({
60
+ container: {
61
+ marginBottom: 16,
62
+ },
63
+ smallText: {
64
+ fontSize: 14,
65
+ lineHeight: 20,
66
+ marginBottom: 8,
67
+ },
68
+ progressContainer: {
69
+ flex: 1,
70
+ height: 8,
71
+ borderRadius: 4,
72
+ overflow: 'hidden',
73
+ },
74
+ progress: {
75
+ height: '100%',
76
+ },
77
+ });
@@ -0,0 +1,83 @@
1
+ import * as React from 'react';
2
+ import { Platform, StyleSheet } from 'react-native';
3
+ import { useSelector } from 'react-redux';
4
+
5
+ import { BottomSheet } from './BottomSheet';
6
+ import {
7
+ useHMSRoomStyleSheet,
8
+ useIsHLSViewer,
9
+ useModalType,
10
+ } from '../hooks-util';
11
+ import { useHeaderHeight } from './Header';
12
+ import { useIsLandscapeOrientation } from '../utils/dimension';
13
+ import { PollsAndQuizzesModalContent } from './PollsAndQuizzesModalContent';
14
+ import { ModalTypes } from '../utils/types';
15
+ import type { RootState } from '../redux';
16
+ import { CreatePollStages } from '../redux/actionTypes';
17
+ import { visiblePollsSelector } from '../utils/functions';
18
+
19
+ export const PollsAndQuizBottomSheet = () => {
20
+ const headerHeight = useHeaderHeight();
21
+ const isLandscapeOrientation = useIsLandscapeOrientation();
22
+ const {
23
+ modalVisibleType: modalVisible,
24
+ handleModalVisibleType: setModalVisible,
25
+ } = useModalType();
26
+
27
+ const isPollQuestionStage = useSelector(
28
+ (state: RootState) =>
29
+ state.polls.stage === CreatePollStages.POLL_QUESTION_CONFIG
30
+ );
31
+ const isHLSViewer = useIsHLSViewer();
32
+ const havePolls = useSelector(
33
+ (state: RootState) =>
34
+ visiblePollsSelector(
35
+ Object.values(state.polls.polls),
36
+ isHLSViewer,
37
+ state.polls.cuedPollIds
38
+ ).length > 0
39
+ );
40
+
41
+ const hmsRoomStyles = useHMSRoomStyleSheet((theme) => ({
42
+ contentContainer: {
43
+ backgroundColor: theme.palette.surface_dim,
44
+ },
45
+ }));
46
+
47
+ const dismissModal = () => setModalVisible(ModalTypes.DEFAULT);
48
+
49
+ const fullHeight = isPollQuestionStage || havePolls;
50
+ const containerStyles = fullHeight
51
+ ? [
52
+ styles.bottomSheet,
53
+ {
54
+ marginTop: isLandscapeOrientation
55
+ ? 0
56
+ : headerHeight + (Platform.OS === 'android' ? 24 : 0),
57
+ },
58
+ hmsRoomStyles.contentContainer,
59
+ ]
60
+ : [hmsRoomStyles.contentContainer];
61
+
62
+ return (
63
+ <BottomSheet
64
+ // fullWidth={true}
65
+ dismissModal={dismissModal}
66
+ isVisible={modalVisible === ModalTypes.POLLS_AND_QUIZZES}
67
+ avoidKeyboard={true}
68
+ containerStyle={containerStyles}
69
+ bottomOffsetSpace={fullHeight ? 0 : undefined}
70
+ >
71
+ <PollsAndQuizzesModalContent
72
+ fullHeight={fullHeight}
73
+ dismissModal={dismissModal}
74
+ />
75
+ </BottomSheet>
76
+ );
77
+ };
78
+
79
+ const styles = StyleSheet.create({
80
+ bottomSheet: {
81
+ flex: 1,
82
+ },
83
+ });
@@ -0,0 +1,111 @@
1
+ import * as React from 'react';
2
+ import { View, Text, StyleSheet } from 'react-native';
3
+ import { batch, useDispatch } from 'react-redux';
4
+ import type { HMSPoll } from '@100mslive/react-native-hms';
5
+
6
+ import { useHMSRoomStyleSheet } from '../hooks-util';
7
+ import { HMSPrimaryButton } from './HMSPrimaryButton';
8
+ import { setPollStage, setSelectedPollId } from '../redux/actions';
9
+ import { CreatePollStages } from '../redux/actionTypes';
10
+ import { PollAndQuizzStateLabel } from './PollAndQuizzStateLabel';
11
+
12
+ export interface PollsAndQuizzesCardProps {
13
+ poll: HMSPoll;
14
+ }
15
+
16
+ export const PollsAndQuizzesCard: React.FC<PollsAndQuizzesCardProps> = ({
17
+ poll,
18
+ }) => {
19
+ const dispatch = useDispatch();
20
+
21
+ const hmsRoomStyles = useHMSRoomStyleSheet((theme, typography) => ({
22
+ surfaceHighSemiBoldText: {
23
+ color: theme.palette.on_surface_high,
24
+ fontFamily: `${typography.font_family}-SemiBold`,
25
+ },
26
+ container: {
27
+ backgroundColor: theme.palette.surface_default,
28
+ },
29
+ liveStateLabelWrapper: {
30
+ backgroundColor: theme.palette.alert_error_default,
31
+ },
32
+ stateLabelWrapper: {
33
+ backgroundColor: theme.palette.surface_brighter,
34
+ },
35
+ }));
36
+
37
+ const viewPoll = () => {
38
+ batch(() => {
39
+ dispatch(setPollStage(CreatePollStages.POLL_VOTING));
40
+ dispatch(setSelectedPollId(poll.pollId));
41
+ });
42
+ };
43
+
44
+ return (
45
+ <View style={[hmsRoomStyles.container, styles.container]}>
46
+ <View style={styles.row}>
47
+ <Text
48
+ numberOfLines={4}
49
+ style={[styles.pollTitle, hmsRoomStyles.surfaceHighSemiBoldText]}
50
+ >
51
+ {poll.title}
52
+ </Text>
53
+
54
+ {typeof poll.state === 'number' ? (
55
+ <PollAndQuizzStateLabel state={poll.state} />
56
+ ) : null}
57
+ </View>
58
+
59
+ <View style={styles.spacer} />
60
+
61
+ <View style={styles.rightRow}>
62
+ {/* {poll.state === HMSPollState.stopped ? (
63
+ <HMSSecondaryButton
64
+ loading={false}
65
+ onPress={() => null}
66
+ style={{ marginRight: 8 }}
67
+ title="View Results"
68
+ />
69
+ ) : null} */}
70
+
71
+ <HMSPrimaryButton loading={false} onPress={viewPoll} title="View" />
72
+ </View>
73
+ </View>
74
+ );
75
+ };
76
+
77
+ const styles = StyleSheet.create({
78
+ container: {
79
+ padding: 16,
80
+ borderRadius: 8,
81
+ marginBottom: 24,
82
+ },
83
+ spacer: {
84
+ height: 16,
85
+ },
86
+ row: {
87
+ flexDirection: 'row',
88
+ alignItems: 'center',
89
+ justifyContent: 'space-between',
90
+ },
91
+ rightRow: {
92
+ flexDirection: 'row',
93
+ justifyContent: 'flex-end',
94
+ },
95
+ pollTitle: {
96
+ flexShrink: 1,
97
+ fontSize: 16,
98
+ lineHeight: 24,
99
+ letterSpacing: 0.15,
100
+ },
101
+ stateLabelWrapper: {
102
+ paddingVertical: 4,
103
+ paddingHorizontal: 8,
104
+ borderRadius: 4,
105
+ },
106
+ stateLabel: {
107
+ fontSize: 10,
108
+ lineHeight: 16,
109
+ letterSpacing: 1.5,
110
+ },
111
+ });