@100mslive/roomkit-react 0.1.1 → 0.1.2-alpha.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (242) hide show
  1. package/README.md +18 -0
  2. package/dist/Accordion/Accordion.d.ts +62 -138
  3. package/dist/Accordion/index.d.ts +62 -138
  4. package/dist/{ActiveSpeakerView-G32BDM5F.js → ActiveSpeakerView-4XPIRZOK.js} +6 -6
  5. package/dist/{ActiveSpeakerView-LW4WDBC6.css → ActiveSpeakerView-ADEYHQMU.css} +2 -2
  6. package/dist/{PinnedTrackView-OAA4HAID.css.map → ActiveSpeakerView-ADEYHQMU.css.map} +2 -2
  7. package/dist/Avatar/Avatar.d.ts +31 -69
  8. package/dist/Button/Button.d.ts +31 -69
  9. package/dist/Checkbox/Checkbox.d.ts +62 -138
  10. package/dist/Collapsible/Collapsible.d.ts +93 -207
  11. package/dist/Divider/Divider.d.ts +62 -138
  12. package/dist/Dropdown/Dropdown.d.ts +372 -828
  13. package/dist/Fieldset/Fieldset.d.ts +31 -69
  14. package/dist/Footer/Footer.d.ts +248 -552
  15. package/dist/{HLSView-DIQQF2PP.css → HLSView-DWEEMZ6Z.css} +2 -2
  16. package/dist/{HLSView-DIQQF2PP.css.map → HLSView-DWEEMZ6Z.css.map} +2 -2
  17. package/dist/{HLSView-ZYNT3HJD.js → HLSView-I26CVF5U.js} +16 -16
  18. package/dist/HLSView-I26CVF5U.js.map +7 -0
  19. package/dist/IconButton/IconButton.d.ts +31 -69
  20. package/dist/Input/Input.d.ts +189 -417
  21. package/dist/Label/Label.d.ts +31 -69
  22. package/dist/Layout/Box.d.ts +31 -69
  23. package/dist/Layout/Flex.d.ts +31 -69
  24. package/dist/Link/Link.d.ts +31 -69
  25. package/dist/Modal/Dialog.d.ts +248 -552
  26. package/dist/Modal/DialogContent.d.ts +217 -483
  27. package/dist/Pagination/StyledPagination.d.ts +124 -276
  28. package/dist/{PinnedTrackView-OAA4HAID.css → PinnedTrackView-5DPVVOZW.css} +2 -2
  29. package/dist/{conference-LE4T3ZNF.css.map → PinnedTrackView-5DPVVOZW.css.map} +2 -2
  30. package/dist/{PinnedTrackView-GTXL2UTS.js → PinnedTrackView-GGTCNH5V.js} +6 -6
  31. package/dist/Popover/index.d.ts +93 -207
  32. package/dist/Prebuilt/provider/roomLayoutProvider/constants/index.d.ts +2 -0
  33. package/dist/Prebuilt/provider/roomLayoutProvider/hooks/useFetchRoomLayout.d.ts +9 -0
  34. package/dist/Prebuilt/provider/roomLayoutProvider/index.d.ts +9 -0
  35. package/dist/Progress/index.d.ts +62 -138
  36. package/dist/RadioGroup/RadioGroup.d.ts +93 -207
  37. package/dist/ReactSelect/ReactSelect.d.ts +310 -690
  38. package/dist/Select/Select.d.ts +93 -207
  39. package/dist/Slider/Slider.d.ts +31 -69
  40. package/dist/Stats/StyledStats.d.ts +186 -414
  41. package/dist/Switch/Switch.d.ts +31 -69
  42. package/dist/Tabs/Tabs.d.ts +124 -276
  43. package/dist/Text/Text.d.ts +31 -69
  44. package/dist/Theme/ThemeProvider.d.ts +63 -140
  45. package/dist/Theme/base.config.d.ts +31 -53
  46. package/dist/Theme/index.d.ts +0 -1
  47. package/dist/Theme/stitches.config.d.ts +404 -915
  48. package/dist/TileMenu/StyledMenuTile.d.ts +217 -483
  49. package/dist/Toast/Toast.d.ts +187 -415
  50. package/dist/Video/Video.d.ts +31 -69
  51. package/dist/VideoList/StyledVideoList.d.ts +93 -207
  52. package/dist/VideoTile/StyledVideoTile.d.ts +279 -621
  53. package/dist/{VirtualBackground-HWU22Q6S.js → VirtualBackground-ZRRE4DUA.js} +4 -3
  54. package/dist/{VirtualBackground-HWU22Q6S.js.map → VirtualBackground-ZRRE4DUA.js.map} +2 -2
  55. package/dist/{chunk-4VY5NUK7.js → chunk-4ISMCWQA.js} +49 -146
  56. package/dist/chunk-4ISMCWQA.js.map +7 -0
  57. package/dist/{chunk-TEHZYXCJ.js → chunk-KKLZ7K2L.js} +167 -164
  58. package/dist/chunk-KKLZ7K2L.js.map +7 -0
  59. package/dist/chunk-LUND6FLY.js +8626 -0
  60. package/dist/chunk-LUND6FLY.js.map +7 -0
  61. package/dist/chunk-MYK3T45M.js +58 -0
  62. package/dist/chunk-MYK3T45M.js.map +7 -0
  63. package/dist/{chunk-A2PNZIK7.js → chunk-THORW2WT.js} +4 -4
  64. package/dist/{chunk-A2PNZIK7.js.map → chunk-THORW2WT.js.map} +1 -1
  65. package/dist/{conference-YHO2J3Z6.js → conference-5TDUAQ6K.js} +593 -532
  66. package/dist/conference-5TDUAQ6K.js.map +7 -0
  67. package/dist/{conference-LE4T3ZNF.css → conference-BDCDGBIS.css} +2 -2
  68. package/dist/{ActiveSpeakerView-LW4WDBC6.css.map → conference-BDCDGBIS.css.map} +2 -2
  69. package/dist/index.cjs.css +1 -1
  70. package/dist/index.cjs.css.map +2 -2
  71. package/dist/index.cjs.js +2952 -2662
  72. package/dist/index.cjs.js.map +4 -4
  73. package/dist/index.css +1 -1
  74. package/dist/index.css.map +2 -2
  75. package/dist/index.js +4 -8
  76. package/dist/meta.cjs.json +750 -484
  77. package/dist/meta.esbuild.json +844 -581
  78. package/dist/{transcription-L6VBK75V.js → transcription-PYTSSAOB.js} +3 -3
  79. package/package.json +13 -9
  80. package/src/Accordion/Accordion.tsx +3 -3
  81. package/src/AudioLevel/AudioLevel.tsx +1 -1
  82. package/src/Avatar/Avatar.tsx +8 -3
  83. package/src/Button/Button.tsx +76 -20
  84. package/src/Checkbox/Checkbox.tsx +4 -4
  85. package/src/Collapsible/Collapsible.tsx +1 -1
  86. package/src/Divider/Divider.tsx +2 -2
  87. package/src/Divider/HorizontalDivider.stories.tsx +2 -2
  88. package/src/Divider/VerticalDivider.stories.tsx +1 -1
  89. package/src/Dropdown/Dropdown.stories.tsx +3 -3
  90. package/src/Dropdown/Dropdown.tsx +16 -14
  91. package/src/IconButton/IconButton.tsx +8 -7
  92. package/src/Input/Input.tsx +9 -8
  93. package/src/Input/PasswordInput.stories.tsx +2 -2
  94. package/src/Label/Label.tsx +1 -1
  95. package/src/Link/Link.tsx +4 -4
  96. package/src/Loading/Loading.tsx +7 -10
  97. package/src/Modal/Dialog.stories.tsx +2 -2
  98. package/src/Modal/DialogContent.tsx +3 -3
  99. package/src/Pagination/StyledPagination.tsx +4 -4
  100. package/src/Popover/Popover.stories.tsx +5 -5
  101. package/src/Popover/index.tsx +1 -1
  102. package/src/Prebuilt/App.jsx +101 -68
  103. package/src/Prebuilt/IconButton.jsx +2 -2
  104. package/src/Prebuilt/Prebuilt.stories.tsx +8 -2
  105. package/src/Prebuilt/common/constants.js +0 -1
  106. package/src/Prebuilt/common/utils.js +0 -6
  107. package/src/Prebuilt/components/AppData/AppData.jsx +7 -4
  108. package/src/Prebuilt/components/AppData/useUISettings.js +0 -4
  109. package/src/Prebuilt/components/AudioVideoToggle.jsx +73 -20
  110. package/src/Prebuilt/components/BottomActionSheet/BottomActionSheet.jsx +1 -1
  111. package/src/Prebuilt/components/Chat/Chat.jsx +6 -2
  112. package/src/Prebuilt/components/Chat/ChatBody.jsx +13 -11
  113. package/src/Prebuilt/components/Chat/ChatFooter.jsx +2 -2
  114. package/src/Prebuilt/components/Chat/ChatHeader.jsx +3 -3
  115. package/src/Prebuilt/components/Chat/ChatSelector.jsx +2 -2
  116. package/src/Prebuilt/components/Chat/useEmojiPickerStyles.js +6 -6
  117. package/src/Prebuilt/components/Chip.jsx +24 -0
  118. package/src/Prebuilt/components/Connection/ConnectionIndicator.jsx +6 -6
  119. package/src/Prebuilt/components/Connection/TileConnection.jsx +2 -2
  120. package/src/Prebuilt/components/Connection/connectionQualityUtils.js +4 -4
  121. package/src/Prebuilt/components/EmojiReaction.jsx +13 -10
  122. package/src/Prebuilt/components/ErrorBoundary.jsx +2 -2
  123. package/src/Prebuilt/components/FullPageProgress.jsx +5 -3
  124. package/src/Prebuilt/components/GoLiveButton.jsx +1 -4
  125. package/src/Prebuilt/components/HMSVideo/HLSQualitySelector.jsx +2 -2
  126. package/src/Prebuilt/components/HMSVideo/PlayButton.jsx +1 -1
  127. package/src/Prebuilt/components/HMSVideo/VideoProgress.jsx +3 -3
  128. package/src/Prebuilt/components/HMSVideo/VideoTime.jsx +3 -1
  129. package/src/Prebuilt/components/HMSVideo/VolumeControl.jsx +1 -1
  130. package/src/Prebuilt/components/Header/AdditionalRoomState.jsx +17 -17
  131. package/src/Prebuilt/components/Header/AmbientMusic.jsx +1 -1
  132. package/src/Prebuilt/components/Header/ConferencingHeader.jsx +4 -6
  133. package/src/Prebuilt/components/Header/HeaderComponents.jsx +10 -5
  134. package/src/Prebuilt/components/Header/ParticipantFilter.jsx +2 -2
  135. package/src/Prebuilt/components/Header/ParticipantList.jsx +2 -2
  136. package/src/Prebuilt/components/Header/StreamActions.jsx +9 -19
  137. package/src/Prebuilt/components/Header/StreamingHeader.jsx +5 -6
  138. package/src/Prebuilt/components/HlsStatsOverlay.jsx +2 -2
  139. package/src/Prebuilt/components/IconButtonWithOptions/IconButtonWithOptions.jsx +102 -0
  140. package/src/Prebuilt/components/IconButtonWithOptions/IconButtonWithOptions.stories.tsx +40 -0
  141. package/src/Prebuilt/components/LeaveRoom.jsx +11 -11
  142. package/src/Prebuilt/components/MetaActions.jsx +2 -2
  143. package/src/Prebuilt/components/MoreSettings/BulkRoleChangeModal.jsx +2 -2
  144. package/src/Prebuilt/components/MoreSettings/ChangeSelfRole.jsx +1 -1
  145. package/src/Prebuilt/components/MoreSettings/MoreSettings.jsx +1 -0
  146. package/src/Prebuilt/components/Notifications/HLSFailureModal.jsx +69 -0
  147. package/src/Prebuilt/components/Notifications/Notifications.jsx +1 -3
  148. package/src/Prebuilt/components/Notifications/PermissionErrorModal.jsx +108 -26
  149. package/src/Prebuilt/components/Notifications/ReconnectNotifications.jsx +1 -1
  150. package/src/Prebuilt/components/PIP/pipUtils.js +2 -2
  151. package/src/Prebuilt/components/Playlist/Playlist.jsx +4 -4
  152. package/src/Prebuilt/components/Playlist/PlaylistControls.jsx +3 -3
  153. package/src/Prebuilt/components/Playlist/PlaylistItem.jsx +3 -3
  154. package/src/Prebuilt/components/Playlist/VideoPlayer.jsx +4 -4
  155. package/src/Prebuilt/components/PostLeave.jsx +4 -4
  156. package/src/Prebuilt/components/Preview/PreviewContainer.jsx +17 -6
  157. package/src/Prebuilt/components/Preview/PreviewForm.jsx +74 -0
  158. package/src/Prebuilt/components/Preview/PreviewJoin.jsx +100 -37
  159. package/src/Prebuilt/components/RoleChangeModal.jsx +3 -3
  160. package/src/Prebuilt/components/ScreenshareDisplay.jsx +2 -2
  161. package/src/Prebuilt/components/Settings/DeviceSettings.jsx +3 -9
  162. package/src/Prebuilt/components/Settings/SettingsModal.jsx +8 -32
  163. package/src/Prebuilt/components/Settings/StartRecording.jsx +4 -12
  164. package/src/Prebuilt/components/Settings/SwitchWithLabel.jsx +2 -3
  165. package/src/Prebuilt/components/Settings/common.js +26 -0
  166. package/src/Prebuilt/components/StatsForNerds.jsx +5 -5
  167. package/src/Prebuilt/components/Streaming/Common.jsx +11 -11
  168. package/src/Prebuilt/components/Streaming/HLSStreaming.jsx +6 -12
  169. package/src/Prebuilt/components/Streaming/RTMPStreaming.jsx +4 -6
  170. package/src/Prebuilt/components/Streaming/StreamingLanding.jsx +4 -4
  171. package/src/Prebuilt/components/TileMenu.jsx +7 -7
  172. package/src/Prebuilt/components/Toast/ToastConfig.jsx +12 -20
  173. package/src/Prebuilt/components/conference.jsx +9 -2
  174. package/src/Prebuilt/components/hooks/useDropdownSelection.jsx +1 -4
  175. package/src/Prebuilt/components/pdfAnnotator/pdfErrorView.jsx +2 -2
  176. package/src/Prebuilt/components/pdfAnnotator/pdfFileOptions.jsx +1 -1
  177. package/src/Prebuilt/components/pdfAnnotator/pdfHeader.jsx +1 -1
  178. package/src/Prebuilt/components/pdfAnnotator/pdfInfo.jsx +2 -2
  179. package/src/Prebuilt/components/pdfAnnotator/shareScreenOptions.jsx +12 -20
  180. package/src/Prebuilt/components/pdfAnnotator/uploadedFile.jsx +4 -4
  181. package/src/Prebuilt/images/Logo.svg +8 -0
  182. package/src/Prebuilt/images/first_person.png +0 -0
  183. package/src/Prebuilt/images/rtmp.png +0 -0
  184. package/src/Prebuilt/index.d.ts +6 -1
  185. package/src/Prebuilt/layouts/HLSView.jsx +1 -1
  186. package/src/Prebuilt/layouts/InsetView.jsx +0 -3
  187. package/src/Prebuilt/layouts/NonPublisherView.jsx +2 -2
  188. package/src/Prebuilt/layouts/SidePane.jsx +1 -1
  189. package/src/Prebuilt/layouts/WaitingView.jsx +2 -2
  190. package/src/Prebuilt/layouts/mainView.jsx +42 -5
  191. package/src/Prebuilt/plugins/FlyingEmoji.jsx +2 -2
  192. package/src/Prebuilt/plugins/VirtualBackground/VirtualBackground.jsx +1 -0
  193. package/src/Prebuilt/plugins/whiteboard/ToggleWhiteboard.jsx +1 -3
  194. package/src/Prebuilt/primitives/DialogContent.jsx +4 -4
  195. package/src/Prebuilt/primitives/DropdownTrigger.jsx +3 -3
  196. package/src/Prebuilt/provider/roomLayoutProvider/constants/index.ts +33 -0
  197. package/src/Prebuilt/provider/roomLayoutProvider/hooks/useFetchRoomLayout.ts +57 -0
  198. package/src/Prebuilt/provider/roomLayoutProvider/index.tsx +26 -0
  199. package/src/Progress/index.tsx +2 -2
  200. package/src/RadioGroup/RadioGroup.tsx +3 -3
  201. package/src/ReactSelect/ReactSelect.stories.tsx +7 -7
  202. package/src/ReactSelect/ReactSelect.tsx +8 -8
  203. package/src/Select/Select.tsx +6 -6
  204. package/src/Slider/Slider.tsx +5 -5
  205. package/src/Stats/Stats.tsx +12 -2
  206. package/src/Stats/StyledStats.tsx +3 -3
  207. package/src/Switch/Switch.tsx +5 -5
  208. package/src/Tabs/Tabs.stories.tsx +2 -2
  209. package/src/Tabs/Tabs.tsx +2 -2
  210. package/src/Text/Text.tsx +2 -2
  211. package/src/Theme/ThemeProvider.tsx +4 -7
  212. package/src/Theme/ThemeStory.jsx +17 -19
  213. package/src/Theme/base.config.ts +31 -59
  214. package/src/Theme/index.tsx +0 -1
  215. package/src/Theme/stitches.config.ts +2 -7
  216. package/src/TileMenu/StyledMenuTile.tsx +9 -8
  217. package/src/Toast/Toast.tsx +10 -9
  218. package/src/Tooltip/Tooltip.stories.tsx +1 -1
  219. package/src/Tooltip/Tooltip.tsx +4 -4
  220. package/src/Video/Video.tsx +1 -1
  221. package/src/VideoTile/StyledVideoTile.tsx +12 -12
  222. package/src/assets/android-perm-0.png +0 -0
  223. package/src/assets/android-perm-1.png +0 -0
  224. package/src/assets/ios-perm-0.png +0 -0
  225. package/src/fixtures/chats.ts +1 -1
  226. package/dist/HLSView-ZYNT3HJD.js.map +0 -7
  227. package/dist/Theme/themes.d.ts +0 -64
  228. package/dist/chunk-4VY5NUK7.js.map +0 -7
  229. package/dist/chunk-BSQIN5RC.js +0 -65
  230. package/dist/chunk-BSQIN5RC.js.map +0 -7
  231. package/dist/chunk-TEHZYXCJ.js.map +0 -7
  232. package/dist/chunk-ZET2HMGS.js +0 -8331
  233. package/dist/chunk-ZET2HMGS.js.map +0 -7
  234. package/dist/conference-YHO2J3Z6.js.map +0 -7
  235. package/src/Prebuilt/components/Preview/PreviewName.jsx +0 -37
  236. package/src/Prebuilt/components/Streaming/RTMPIcon.jsx +0 -69
  237. package/src/Prebuilt/hms.js +0 -7
  238. package/src/Prebuilt/plugins/confetti.jsx +0 -60
  239. package/src/Theme/themes.ts +0 -70
  240. /package/dist/{ActiveSpeakerView-G32BDM5F.js.map → ActiveSpeakerView-4XPIRZOK.js.map} +0 -0
  241. /package/dist/{PinnedTrackView-GTXL2UTS.js.map → PinnedTrackView-GGTCNH5V.js.map} +0 -0
  242. /package/dist/{transcription-L6VBK75V.js.map → transcription-PYTSSAOB.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  import React, { Fragment, useCallback, useEffect, useState } from 'react';
2
- import { selectAppData, selectRoomID, useHMSActions, useHMSStore, useRecordingStreaming } from '@100mslive/react-sdk';
2
+ import { selectRoomID, useHMSActions, useHMSStore, useRecordingStreaming } from '@100mslive/react-sdk';
3
3
  import {
4
4
  EndStreamIcon,
5
5
  EyeOpenIcon,
@@ -14,7 +14,6 @@ import { Box, Button, Flex, Loading, Text } from '../../../';
14
14
  import { Container, ContentBody, ContentHeader, ErrorText, RecordStream } from './Common';
15
15
  import { useSetAppDataByKey } from '../AppData/useUISettings';
16
16
  import { useFilteredRoles } from '../../common/hooks';
17
- import { getDefaultMeetingUrl } from '../../common/utils';
18
17
  import { APP_DATA } from '../../common/constants';
19
18
 
20
19
  const getCardData = (roleName, roomId) => {
@@ -57,19 +56,19 @@ const Card = ({ title, icon, link, content, isHLSRunning, order = 0 }) => {
57
56
  <Box
58
57
  key={title}
59
58
  css={{
60
- backgroundColor: '$surfaceLight',
59
+ backgroundColor: '$surface_bright',
61
60
  padding: '$10',
62
61
  order,
63
62
  borderRadius: '$2',
64
63
  }}
65
64
  >
66
- <Flex align="center" gap="2" css={{ color: '$primaryLight' }}>
65
+ <Flex align="center" gap="2" css={{ color: '$primary_bright' }}>
67
66
  {icon}
68
67
  <Text variant="h6" css={{ fontWeight: '$semiBold' }}>
69
68
  {title}
70
69
  </Text>
71
70
  </Flex>
72
- <Text variant="sm" css={{ color: '$textMedEmp', mt: '$6' }}>
71
+ <Text variant="sm" css={{ color: '$on_surface_medium', mt: '$6' }}>
73
72
  {content}
74
73
  </Text>
75
74
  <Button
@@ -128,7 +127,6 @@ const StartHLS = () => {
128
127
  const [record, setRecord] = useState(false);
129
128
  const [error, setError] = useState(false);
130
129
  const hmsActions = useHMSActions();
131
- const recordingUrl = useHMSStore(selectAppData(APP_DATA.recordingUrl));
132
130
  const [isHLSStarted, setHLSStarted] = useSetAppDataByKey(APP_DATA.hlsStarted);
133
131
  const startHLS = useCallback(
134
132
  async variants => {
@@ -143,15 +141,11 @@ const StartHLS = () => {
143
141
  recording: { hlsVod: record, singleFilePerLayer: record },
144
142
  });
145
143
  } catch (error) {
146
- if (error.message.includes('invalid input')) {
147
- await startHLS([{ meetingURL: recordingUrl || getDefaultMeetingUrl() }]);
148
- return;
149
- }
150
144
  setHLSStarted(false);
151
145
  setError(error.message);
152
146
  }
153
147
  },
154
- [hmsActions, record, isHLSStarted, setHLSStarted, recordingUrl],
148
+ [hmsActions, record, isHLSStarted, setHLSStarted],
155
149
  );
156
150
 
157
151
  return (
@@ -174,7 +168,7 @@ const StartHLS = () => {
174
168
  <Text>
175
169
  <InfoIcon width={16} height={16} />
176
170
  </Text>
177
- <Text variant="tiny" color="$textMedEmp" css={{ mx: '$8' }}>
171
+ <Text variant="tiny" color="$on_surface_medium" css={{ mx: '$8' }}>
178
172
  You cannot start recording once the stream starts, you will have to stop the stream to enable recording.
179
173
  </Text>
180
174
  </Flex>
@@ -1,5 +1,5 @@
1
1
  import React, { useEffect, useRef, useState } from 'react';
2
- import { selectAppData, useHMSActions, useHMSStore, useRecordingStreaming } from '@100mslive/react-sdk';
2
+ import { useHMSActions, useRecordingStreaming } from '@100mslive/react-sdk';
3
3
  import { AddCircleIcon, EndStreamIcon, GoLiveIcon, PencilIcon, SettingsIcon, TrashIcon } from '@100mslive/react-icons';
4
4
  import { Accordion, Box, Button, Flex, Input, Label, Loading, Text } from '../../../';
5
5
  import { Container, ContentBody, ContentHeader, ErrorText, RecordStream } from './Common';
@@ -37,7 +37,6 @@ const StartRTMP = () => {
37
37
  ],
38
38
  );
39
39
  const hmsActions = useHMSActions();
40
- const recordingUrl = useHMSStore(selectAppData(APP_DATA.recordingUrl));
41
40
  const [error, setError] = useState(false);
42
41
  const [record, setRecord] = useState(false);
43
42
  const [resolution, setResolution] = useState(RTMP_RECORD_DEFAULT_RESOLUTION);
@@ -61,7 +60,7 @@ const StartRTMP = () => {
61
60
  value={rtmp.id}
62
61
  key={rtmp.id}
63
62
  css={{
64
- border: '2px solid $surfaceLight !important',
63
+ border: '2px solid $surface_bright !important',
65
64
  r: '$1',
66
65
  my: '$4',
67
66
  }}
@@ -131,7 +130,6 @@ const StartRTMP = () => {
131
130
  const urls = hasRTMPURL ? rtmpStreams.map(value => `${value.rtmpURL}/${value.streamKey}`) : [];
132
131
  await hmsActions.startRTMPOrRecording({
133
132
  rtmpURLs: urls,
134
- meetingURL: recordingUrl,
135
133
  resolution: getResolution(resolution),
136
134
  record: record,
137
135
  });
@@ -201,7 +199,7 @@ const ActionIcon = ({ icon: Icon, onClick }) => {
201
199
 
202
200
  const FormLabel = ({ id, children }) => {
203
201
  return (
204
- <Label htmlFor={id} css={{ color: '$textHighEmp', my: '$4', fontSize: '$sm' }}>
202
+ <Label htmlFor={id} css={{ color: '$on_surface_high', my: '$4', fontSize: '$sm' }}>
205
203
  {children}
206
204
  </Label>
207
205
  );
@@ -261,7 +259,7 @@ const RTMPForm = ({ rtmpURL, id, streamKey, setRTMPStreams, testId }) => {
261
259
 
262
260
  const Asterik = () => {
263
261
  return (
264
- <Text variant="sm" as="span" css={{ color: '$error', mx: '$2' }}>
262
+ <Text variant="sm" as="span" css={{ color: '$alert_error_default', mx: '$2' }}>
265
263
  *
266
264
  </Text>
267
265
  );
@@ -4,9 +4,9 @@ import { ColoredHandIcon, CrossIcon, GoLiveIcon } from '@100mslive/react-icons';
4
4
  import { Box, Flex } from '../../../Layout';
5
5
  import { Text } from '../../../Text';
6
6
  import IconButton from '../../IconButton';
7
+ import RTMPIcon from '../../images/rtmp.png';
7
8
  import { StreamCard } from './Common';
8
9
  import { HLSStreaming } from './HLSStreaming';
9
- import { RTMPIcon } from './RTMPIcon';
10
10
  import { RTMPStreaming } from './RTMPStreaming';
11
11
  import { useSidepaneToggle } from '../AppData/useSidepane';
12
12
  import { SIDE_PANE_OPTIONS } from '../../common/constants';
@@ -30,7 +30,7 @@ export const StreamingLanding = () => {
30
30
  css={{
31
31
  alignSelf: 'center',
32
32
  p: '$4',
33
- bg: '$surfaceLight',
33
+ bg: '$surface_bright',
34
34
  r: '$round',
35
35
  }}
36
36
  >
@@ -44,7 +44,7 @@ export const StreamingLanding = () => {
44
44
  <CrossIcon />
45
45
  </IconButton>
46
46
  </Flex>
47
- <Text variant="tiny" color="$textMedEmp">
47
+ <Text variant="tiny" color="$on_surface_medium">
48
48
  Start Streaming
49
49
  </Text>
50
50
  {permissions?.hlsStreaming && (
@@ -66,7 +66,7 @@ export const StreamingLanding = () => {
66
66
  onClick={() => {
67
67
  setShowRTMP(true);
68
68
  }}
69
- Icon={RTMPIcon}
69
+ imgSrc={RTMPIcon}
70
70
  />
71
71
  )}
72
72
  {showHLS && <HLSStreaming onBack={() => setShowHLS(false)} />}
@@ -76,7 +76,7 @@ const PinActions = ({ audioTrackID, videoTrackID }) => {
76
76
  onClick={() => (isTilePinned ? setPinnedTrackId() : setPinnedTrackId(videoTrackID || audioTrackID))}
77
77
  >
78
78
  <PinIcon />
79
- <span>{`${isTilePinned ? 'Unpin' : 'Pin'}`} Tile for myself</span>
79
+ <span>{isTilePinned ? 'Unpin' : 'Pin'} Tile for myself</span>
80
80
  </StyledMenuTile.ItemButton>
81
81
  </>
82
82
  );
@@ -142,7 +142,7 @@ const TileMenu = ({ audioTrackID, videoTrackID, peerID, isScreenshare = false })
142
142
  data-testid={isVideoEnabled ? 'mute_video_participant_btn' : 'unmute_video_participant_btn'}
143
143
  >
144
144
  {isVideoEnabled ? <VideoOnIcon /> : <VideoOffIcon />}
145
- <span>{`${isVideoEnabled ? 'Mute' : 'Request Unmute'}`}</span>
145
+ <span>{isVideoEnabled ? 'Mute' : 'Request Unmute'}</span>
146
146
  </StyledMenuTile.ItemButton>
147
147
  ) : null}
148
148
  {toggleAudio ? (
@@ -151,7 +151,7 @@ const TileMenu = ({ audioTrackID, videoTrackID, peerID, isScreenshare = false })
151
151
  data-testid={isVideoEnabled ? 'mute_audio_participant_btn' : 'unmute_audio_participant_btn'}
152
152
  >
153
153
  {isAudioEnabled ? <MicOnIcon /> : <MicOffIcon />}
154
- <span>{`${isAudioEnabled ? 'Mute' : 'Request Unmute'}`}</span>
154
+ <span>{isAudioEnabled ? 'Mute' : 'Request Unmute'}</span>
155
155
  </StyledMenuTile.ItemButton>
156
156
  ) : null}
157
157
  {audioTrackID ? (
@@ -211,7 +211,7 @@ const SimulcastLayers = ({ trackId }) => {
211
211
  const currentLayer = track.layerDefinitions.find(layer => layer.layer === track.layer);
212
212
  return (
213
213
  <Fragment>
214
- <StyledMenuTile.ItemButton css={{ color: '$textMedEmp', cursor: 'default' }}>
214
+ <StyledMenuTile.ItemButton css={{ color: '$on_surface_medium', cursor: 'default' }}>
215
215
  Select maximum resolution
216
216
  </StyledMenuTile.ItemButton>
217
217
  {track.layerDefinitions.map(layer => {
@@ -239,14 +239,14 @@ const SimulcastLayers = ({ trackId }) => {
239
239
  >
240
240
  {layer.layer}
241
241
  </Text>
242
- <Text as="span" variant="xs" css={{ color: '$textMedEmp' }}>
242
+ <Text as="span" variant="xs" css={{ color: '$on_surface_medium' }}>
243
243
  {layer.resolution.width}x{layer.resolution.height}
244
244
  </Text>
245
245
  </StyledMenuTile.ItemButton>
246
246
  );
247
247
  })}
248
248
  <StyledMenuTile.ItemButton>
249
- <Text as="span" variant="xs" css={{ color: '$textMedEmp' }}>
249
+ <Text as="span" variant="xs" css={{ color: '$on_surface_medium' }}>
250
250
  Currently streaming:
251
251
  <Text
252
252
  as="span"
@@ -254,7 +254,7 @@ const SimulcastLayers = ({ trackId }) => {
254
254
  css={{
255
255
  fontWeight: '$semiBold',
256
256
  textTransform: 'capitalize',
257
- color: '$textMedEmp',
257
+ color: '$on_surface_medium',
258
258
  ml: '$2',
259
259
  }}
260
260
  >
@@ -1,31 +1,23 @@
1
1
  import React from 'react';
2
- import { selectAppData } from '@100mslive/react-sdk';
3
2
  import { ChatIcon, ConnectivityIcon, HandIcon, PersonIcon, PoorConnectivityIcon } from '@100mslive/react-icons';
4
3
  import { Button } from '../../../Button';
5
- import { hmsActions, hmsStore } from '../../hms';
6
- import { APP_DATA, SIDE_PANE_OPTIONS } from '../../common/constants';
7
-
8
- const isChatOpen = () => {
9
- return hmsStore.getState(selectAppData(APP_DATA.sidePane)) === SIDE_PANE_OPTIONS.CHAT;
10
- };
4
+ import { useIsSidepaneTypeOpen, useSidepaneToggle } from '../AppData/useSidepane';
5
+ import { SIDE_PANE_OPTIONS } from '../../common/constants';
11
6
 
12
7
  const ChatAction = React.forwardRef((_, ref) => {
8
+ const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);
9
+ const isChatOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.CHAT);
10
+
11
+ if (isChatOpen) {
12
+ return null;
13
+ }
14
+
13
15
  return (
14
- <Button
15
- outlined
16
- as="div"
17
- variant="standard"
18
- css={{ w: 'max-content' }}
19
- onClick={() => {
20
- hmsActions.setAppData(APP_DATA.sidePane, SIDE_PANE_OPTIONS.CHAT);
21
- }}
22
- ref={ref}
23
- >
16
+ <Button outlined as="div" variant="standard" css={{ w: 'max-content' }} onClick={toggleChat} ref={ref}>
24
17
  Open Chat
25
18
  </Button>
26
19
  );
27
20
  });
28
-
29
21
  export const ToastConfig = {
30
22
  PEER_LIST: {
31
23
  single: function (notification) {
@@ -98,14 +90,14 @@ export const ToastConfig = {
98
90
  return {
99
91
  title: `New message from ${notification.data?.senderName}`,
100
92
  icon: <ChatIcon />,
101
- action: isChatOpen() ? null : <ChatAction />,
93
+ action: <ChatAction />,
102
94
  };
103
95
  },
104
96
  multiple: notifications => {
105
97
  return {
106
98
  title: `${notifications.length} new messages`,
107
99
  icon: <ChatIcon />,
108
- action: isChatOpen() ? null : <ChatAction />,
100
+ action: <ChatAction />,
109
101
  };
110
102
  },
111
103
  },
@@ -9,6 +9,7 @@ import {
9
9
  useHMSActions,
10
10
  useHMSStore,
11
11
  } from '@100mslive/react-sdk';
12
+ import { HLSFailureModal } from './Notifications/HLSFailureModal';
12
13
  import { Box, Flex } from '../../Layout';
13
14
  import { useHMSPrebuiltContext } from '../AppContext';
14
15
  import { ConferenceMainView } from '../layouts/mainView';
@@ -16,7 +17,7 @@ import { Footer } from './Footer';
16
17
  import FullPageProgress from './FullPageProgress';
17
18
  import { Header } from './Header';
18
19
  import { RoleChangeRequestModal } from './RoleChangeRequestModal';
19
- import { useAuthToken, useIsHeadless } from './AppData/useUISettings';
20
+ import { useAuthToken, useIsHeadless, useSetAppDataByKey } from './AppData/useUISettings';
20
21
  import { useNavigation } from './hooks/useNavigation';
21
22
  import { useSkipPreview } from './hooks/useSkipPreview';
22
23
  import { APP_DATA, EMOJI_REACTION_TYPE, isAndroid, isIOS, isIPadOS } from '../common/constants';
@@ -38,6 +39,7 @@ const Conference = () => {
38
39
  const footerRef = useRef();
39
40
  const dropdownListRef = useRef();
40
41
  const performAutoHide = hideControls && (isAndroid || isIOS || isIPadOS);
42
+ const [isHLSStarted] = useSetAppDataByKey(APP_DATA.hlsStarted);
41
43
 
42
44
  const toggleControls = () => {
43
45
  if (dropdownListRef.current?.length === 0) {
@@ -105,7 +107,11 @@ const Conference = () => {
105
107
  }, [isHeadless, hmsActions]);
106
108
 
107
109
  if (!isConnectedToRoom) {
108
- return <FullPageProgress />;
110
+ return <FullPageProgress loadingText="Joining..." />;
111
+ }
112
+
113
+ if (isHLSStarted) {
114
+ return <FullPageProgress loadingText="Starting live stream..." />;
109
115
  }
110
116
 
111
117
  return (
@@ -157,6 +163,7 @@ const Conference = () => {
157
163
  </Box>
158
164
  )}
159
165
  <RoleChangeRequestModal />
166
+ <HLSFailureModal />
160
167
  </Flex>
161
168
  );
162
169
  };
@@ -1,6 +1,3 @@
1
- import { useTheme } from '../../../';
2
-
3
1
  export const useDropdownSelection = () => {
4
- const { themeType } = useTheme();
5
- return themeType === 'dark' ? '$primaryDark' : '$grayLight';
2
+ return '$primary_dim';
6
3
  };
@@ -9,7 +9,7 @@ export const PdfErrorView = ({ isPDFUrlValid }) => {
9
9
  <DialogRow
10
10
  css={{
11
11
  mt: '-$8',
12
- color: '$error',
12
+ color: '$alert_error_default',
13
13
  justifyContent: 'start',
14
14
  }}
15
15
  >
@@ -18,7 +18,7 @@ export const PdfErrorView = ({ isPDFUrlValid }) => {
18
18
  variant="caption"
19
19
  css={{
20
20
  pl: '$1',
21
- color: '$error',
21
+ color: '$alert_error_default',
22
22
  }}
23
23
  >
24
24
  Please enter a valid PDF URL
@@ -47,7 +47,7 @@ export function PDFFileOptions({ onOpenChange }) {
47
47
  <Text
48
48
  variant="tiny"
49
49
  css={{
50
- color: '$textDisabled',
50
+ color: '$on_surface_low',
51
51
  }}
52
52
  >
53
53
  OR
@@ -20,7 +20,7 @@ export const PDFHeader = () => {
20
20
  <Text
21
21
  variant="sm"
22
22
  css={{
23
- c: '$textMedEmp',
23
+ c: '$on_surface_medium',
24
24
  }}
25
25
  >
26
26
  Choose PDF you want to annotate and share
@@ -9,10 +9,10 @@ export const PDFInfo = () => {
9
9
  css={{
10
10
  px: '$8',
11
11
  py: '$3',
12
- bg: '$surfaceLight',
12
+ bg: '$surface_bright',
13
13
  r: '$1',
14
14
  outline: 'none',
15
- border: '1px solid $borderLight',
15
+ border: '1px solid $border_bright',
16
16
  minHeight: '$11',
17
17
  }}
18
18
  >
@@ -89,9 +89,9 @@ export function ShareScreenOptions() {
89
89
  p: '$6',
90
90
  display: 'flex',
91
91
  justifyContent: 'center',
92
- border: '1px solid $grayDefault',
92
+ border: '1px solid $border_bright',
93
93
  r: '$2',
94
- bg: '$surfaceLighter',
94
+ bg: '$surface_brighter',
95
95
  pb: '0',
96
96
  }}
97
97
  >
@@ -109,7 +109,7 @@ export function ShareScreenOptions() {
109
109
  <Text
110
110
  variant="caption"
111
111
  css={{
112
- c: '$textDisabled',
112
+ c: '$on_surface_low',
113
113
  textAlign: 'center',
114
114
  }}
115
115
  >
@@ -133,9 +133,9 @@ export function ShareScreenOptions() {
133
133
  p: '$6',
134
134
  display: 'flex',
135
135
  justifyContent: 'center',
136
- border: '$grayDefault 1px solid',
136
+ border: '$border_bright 1px solid',
137
137
  r: '$2',
138
- bg: '$surfaceLight',
138
+ bg: '$surface_bright',
139
139
  pb: '0',
140
140
  }}
141
141
  >
@@ -149,33 +149,25 @@ export function ShareScreenOptions() {
149
149
  />
150
150
  <Flex
151
151
  direction="row"
152
+ align="center"
152
153
  css={{
153
154
  position: 'absolute',
154
155
  top: '29%',
155
156
  left: '54%',
156
157
  padding: '$2 $4',
157
158
  r: '$2',
158
- bg: '$primaryLight',
159
+ bg: '$primary_bright',
159
160
  zIndex: '2',
161
+ gap: '$2',
160
162
  }}
161
163
  >
162
- <IconButton
163
- css={{
164
- w: '$10',
165
- h: '$8',
166
- '&:hover': {
167
- bg: '$transparent !important',
168
- border: 'none',
169
- },
170
- }}
171
- >
172
- <StarIcon />
173
- </IconButton>
164
+ <StarIcon height={14} width={14} />
165
+
174
166
  <Text
175
167
  variant="xs"
176
168
  css={{
177
169
  fontWeight: '$semiBold',
178
- c: '$white',
170
+ c: '$on_primary_high',
179
171
  pr: '$4',
180
172
  }}
181
173
  >
@@ -188,7 +180,7 @@ export function ShareScreenOptions() {
188
180
  <Text
189
181
  variant="caption"
190
182
  css={{
191
- c: '$textDisabled',
183
+ c: '$on_surface_low',
192
184
  textAlign: 'center',
193
185
  }}
194
186
  >
@@ -32,17 +32,17 @@ export const UploadedFile = ({
32
32
  <DialogRow
33
33
  css={{
34
34
  fontFamily: '$sans',
35
- bg: '$surfaceLight',
35
+ bg: '$surface_bright',
36
36
  r: '$1',
37
37
  outline: 'none',
38
- border: '1px solid $borderLight',
38
+ border: '1px solid $border_bright',
39
39
  p: '$4 $6',
40
40
  minHeight: '$11',
41
- c: '$textPrimary',
41
+ c: '$on_primary_high',
42
42
  fs: '$md',
43
43
  w: '100%',
44
44
  '&:focus': {
45
- boxShadow: '0 0 0 1px $colors$borderAccent',
45
+ boxShadow: '0 0 0 1px $colors$primary_default',
46
46
  border: '1px solid $transparent',
47
47
  },
48
48
  mb: 0,
@@ -0,0 +1,8 @@
1
+ <svg width="32" height="42" viewBox="0 0 32 42" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <rect x="14.528" y="5.91187" width="2.944" height="30.176" fill="#538DFF"/>
3
+ <rect x="22.2692" y="7.19727" width="2.944" height="30.176" transform="rotate(30 22.2692 7.19727)" fill="#538DFF"/>
4
+ <rect x="31.088" y="19.5278" width="2.944" height="30.176" transform="rotate(90 31.088 19.5278)" fill="#538DFF"/>
5
+ <rect x="29.8026" y="27.269" width="2.944" height="30.176" transform="rotate(120 29.8026 27.269)" fill="#538DFF"/>
6
+ <rect x="24.8188" y="33.3304" width="2.944" height="30.176" transform="rotate(150 24.8188 33.3304)" fill="#538DFF"/>
7
+ <rect x="28.3306" y="12.181" width="2.944" height="30.176" transform="rotate(60 28.3306 12.181)" fill="#538DFF"/>
8
+ </svg>
Binary file
@@ -1,15 +1,20 @@
1
1
  import React from 'react';
2
+ import type { Screens, Theme, Typography } from '@100mslive/types-prebuilt';
2
3
 
3
4
  export declare const HMSPrebuilt: React.FC<{
4
5
  roomCode: string;
5
6
  logo?: {
6
7
  url: string;
7
8
  };
9
+ themes?: Theme[];
10
+ typography?: Typography;
11
+ screens?: Screens;
8
12
  options?: {
9
- endPoints?: {
13
+ endpoints?: {
10
14
  tokenByRoomIdRole?: string;
11
15
  tokenByRoomCode?: string;
12
16
  init?: string;
17
+ roomLayout?: string;
13
18
  };
14
19
  };
15
20
  }>;
@@ -243,7 +243,7 @@ const HLSView = () => {
243
243
  css={{
244
244
  height: '$4',
245
245
  width: '$4',
246
- background: isVideoLive ? '$error' : '$white',
246
+ background: isVideoLive ? '$alert_error_default' : '$on_primary_high',
247
247
  r: '$1',
248
248
  }}
249
249
  />
@@ -210,9 +210,6 @@ const InsetTile = ({ isMobile, roleMap, isLandscape }) => {
210
210
  size: '100%',
211
211
  padding: 0,
212
212
  }}
213
- containerCSS={{
214
- bg: '$surfaceDefault',
215
- }}
216
213
  width={width}
217
214
  height={height}
218
215
  />
@@ -12,7 +12,7 @@ export const NonPublisherView = React.memo(({ message }) => {
12
12
  maxWidth: '96%',
13
13
  h: '100%',
14
14
  m: 'auto',
15
- background: '$surfaceDefault',
15
+ background: '$surface_default',
16
16
  borderRadius: '$3',
17
17
  }}
18
18
  data-testid="non_publisher_view"
@@ -41,7 +41,7 @@ export const NonPublisherView = React.memo(({ message }) => {
41
41
  <Text color="white" variant="h6" css={{ '@md': { fontSize: '$md' } }}>
42
42
  {message}
43
43
  </Text>
44
- <Text color="$textMedEmp" css={{ mt: '$4', '@md': { fontSize: '$sm' } }}>
44
+ <Text color="$on_surface_medium" css={{ mt: '$4', '@md': { fontSize: '$sm' } }}>
45
45
  Please go to dashboard and reconfigure role settings or contact the role admin.
46
46
  </Text>
47
47
  </Flex>
@@ -26,7 +26,7 @@ const SidePane = ({ css = {} }) => {
26
26
  w: '$100',
27
27
  h: '100%',
28
28
  p: '$10',
29
- bg: '$surfaceDefault',
29
+ bg: '$surface_default',
30
30
  r: '$1',
31
31
  top: 0,
32
32
  right: '$10',
@@ -12,7 +12,7 @@ export const WaitingView = React.memo(() => {
12
12
  maxWidth: '96%',
13
13
  h: '100%',
14
14
  m: 'auto',
15
- background: '$surfaceDefault',
15
+ background: '$surface_default',
16
16
  borderRadius: '$3',
17
17
  }}
18
18
  data-testid="waiting_view"
@@ -41,7 +41,7 @@ export const WaitingView = React.memo(() => {
41
41
  <Text color="white" variant="h6" css={{ '@md': { fontSize: '$md' } }}>
42
42
  Please wait
43
43
  </Text>
44
- <Text color="$textMedEmp" css={{ mt: '$4', '@md': { fontSize: '$sm' } }}>
44
+ <Text color="$on_surface_medium" css={{ mt: '$4', '@md': { fontSize: '$sm' } }}>
45
45
  Sit back and relax till others let you join.
46
46
  </Text>
47
47
  </Flex>