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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) 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-H3VYXANB.js → ActiveSpeakerView-4XPIRZOK.js} +6 -6
  5. package/dist/{HLSView-6BVBCQM7.css → ActiveSpeakerView-ADEYHQMU.css} +2 -2
  6. package/dist/{PinnedTrackView-QQ5FDXJX.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/{conference-KN6OKGDU.css → HLSView-DWEEMZ6Z.css} +2 -2
  16. package/dist/{HLSView-6BVBCQM7.css.map → HLSView-DWEEMZ6Z.css.map} +2 -2
  17. package/dist/{HLSView-3RDXRV7Y.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-QQ5FDXJX.css → PinnedTrackView-5DPVVOZW.css} +2 -2
  29. package/dist/{conference-KN6OKGDU.css.map → PinnedTrackView-5DPVVOZW.css.map} +2 -2
  30. package/dist/{PinnedTrackView-453PELNU.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-LHYBWUT5.js → VirtualBackground-ZRRE4DUA.js} +4 -3
  54. package/dist/{VirtualBackground-LHYBWUT5.js.map → VirtualBackground-ZRRE4DUA.js.map} +2 -2
  55. package/dist/{chunk-KYYP6ZVK.js → chunk-4ISMCWQA.js} +49 -146
  56. package/dist/chunk-4ISMCWQA.js.map +7 -0
  57. package/dist/{chunk-7YUYZ64D.js → chunk-KKLZ7K2L.js} +577 -898
  58. package/dist/chunk-KKLZ7K2L.js.map +7 -0
  59. package/dist/{chunk-HCAGFNXW.js → chunk-LUND6FLY.js} +1490 -1134
  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-XRJXE6UO.js → chunk-THORW2WT.js} +4 -4
  64. package/dist/{chunk-XRJXE6UO.js.map → chunk-THORW2WT.js.map} +1 -1
  65. package/dist/{conference-IDNRO4WK.js → conference-5TDUAQ6K.js} +593 -532
  66. package/dist/conference-5TDUAQ6K.js.map +7 -0
  67. package/dist/{ActiveSpeakerView-REZLWPPI.css → conference-BDCDGBIS.css} +2 -2
  68. package/dist/{ActiveSpeakerView-REZLWPPI.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 +3450 -3418
  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 +761 -490
  77. package/dist/meta.esbuild.json +857 -589
  78. package/dist/{transcription-BTSB7FZH.js → transcription-PYTSSAOB.js} +3 -3
  79. package/package.json +14 -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 +11 -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-3RDXRV7Y.js.map +0 -7
  227. package/dist/Theme/themes.d.ts +0 -64
  228. package/dist/chunk-7YUYZ64D.js.map +0 -7
  229. package/dist/chunk-HCAGFNXW.js.map +0 -7
  230. package/dist/chunk-KYYP6ZVK.js.map +0 -7
  231. package/dist/chunk-ULXGBUSC.js +0 -65
  232. package/dist/chunk-ULXGBUSC.js.map +0 -7
  233. package/dist/conference-IDNRO4WK.js.map +0 -7
  234. package/src/Prebuilt/components/Preview/PreviewName.jsx +0 -37
  235. package/src/Prebuilt/components/Streaming/RTMPIcon.jsx +0 -24
  236. package/src/Prebuilt/hms.js +0 -7
  237. package/src/Prebuilt/plugins/confetti.jsx +0 -60
  238. package/src/Theme/themes.ts +0 -70
  239. /package/dist/{ActiveSpeakerView-H3VYXANB.js.map → ActiveSpeakerView-4XPIRZOK.js.map} +0 -0
  240. /package/dist/{PinnedTrackView-453PELNU.js.map → PinnedTrackView-GGTCNH5V.js.map} +0 -0
  241. /package/dist/{transcription-BTSB7FZH.js.map → transcription-PYTSSAOB.js.map} +0 -0
@@ -1,48 +1,66 @@
1
1
  import React, { Fragment, Suspense, useCallback, useEffect, useState } from 'react';
2
2
  import {
3
+ HMSRoomState,
3
4
  selectIsLocalVideoEnabled,
4
5
  selectLocalPeer,
6
+ selectRoomState,
5
7
  selectVideoTrackByID,
6
8
  useAVToggle,
7
9
  useHMSStore,
10
+ useParticipants,
8
11
  usePreviewJoin,
12
+ useRecordingStreaming,
9
13
  } from '@100mslive/react-sdk';
10
- import { SettingsIcon } from '@100mslive/react-icons';
14
+ import { MicOffIcon, SettingsIcon } from '@100mslive/react-icons';
11
15
  import {
12
16
  Avatar,
17
+ Box,
13
18
  Flex,
14
19
  flexCenter,
15
- Loading,
16
20
  styled,
17
21
  StyledVideoTile,
18
22
  Text,
19
- textEllipsis,
20
23
  useBorderAudioLevel,
21
24
  useTheme,
22
25
  Video,
23
26
  } from '../../../';
24
27
  import { useHMSPrebuiltContext } from '../../AppContext';
25
28
  import IconButton from '../../IconButton';
29
+ import { useRoomLayout } from '../../provider/roomLayoutProvider';
26
30
  import { AudioVideoToggle } from '../AudioVideoToggle';
31
+ import Chip from '../Chip';
27
32
  import TileConnection from '../Connection/TileConnection';
33
+ import FullPageProgress from '../FullPageProgress';
34
+ import { Logo } from '../Header/HeaderComponents';
28
35
  import SettingsModal from '../Settings/SettingsModal';
29
- import PreviewName from './PreviewName';
36
+ import PreviewForm from './PreviewForm';
30
37
  import { useAuthToken, useUISettings } from '../AppData/useUISettings';
31
38
  import { defaultPreviewPreference, UserPreferencesKeys, useUserPreferences } from '../hooks/useUserPreferences';
32
39
  import { UI_SETTINGS } from '../../common/constants';
33
40
 
34
41
  const VirtualBackground = React.lazy(() => import('../../plugins/VirtualBackground/VirtualBackground'));
35
42
 
43
+ const getParticipantChipContent = (peerCount = 0) => {
44
+ if (peerCount === 0) {
45
+ return 'You are the first to join';
46
+ }
47
+ const formatter = new Intl.NumberFormat('en', { notation: 'compact', maximumFractionDigits: 2 });
48
+ const formattedNum = formatter.format(peerCount);
49
+ return `${formattedNum} other${parseInt(formattedNum) === 1 ? '' : 's'} in the session`;
50
+ };
51
+
36
52
  const PreviewJoin = ({ onJoin, skipPreview, initialName, asRole }) => {
37
53
  const [previewPreference, setPreviewPreference] = useUserPreferences(
38
54
  UserPreferencesKeys.PREVIEW,
39
55
  defaultPreviewPreference,
40
56
  );
57
+ const { isStreamingOn } = useRecordingStreaming();
41
58
  const authToken = useAuthToken();
42
59
  const [name, setName] = useState(initialName || previewPreference.name);
43
- const { isLocalAudioEnabled, isLocalVideoEnabled } = useAVToggle();
60
+ const { isLocalAudioEnabled, isLocalVideoEnabled, toggleAudio, toggleVideo } = useAVToggle();
44
61
  const [previewError, setPreviewError] = useState(false);
45
62
  const { endPoints } = useHMSPrebuiltContext();
63
+ const { peerCount } = useParticipants();
46
64
  const { enableJoin, preview, join } = usePreviewJoin({
47
65
  name,
48
66
  token: authToken,
@@ -60,6 +78,8 @@ const PreviewJoin = ({ onJoin, skipPreview, initialName, asRole }) => {
60
78
  },
61
79
  asRole,
62
80
  });
81
+ const roomState = useHMSStore(selectRoomState);
82
+
63
83
  const savePreferenceAndJoin = useCallback(() => {
64
84
  setPreviewPreference({
65
85
  name,
@@ -69,6 +89,10 @@ const PreviewJoin = ({ onJoin, skipPreview, initialName, asRole }) => {
69
89
  join();
70
90
  onJoin && onJoin();
71
91
  }, [join, isLocalAudioEnabled, isLocalVideoEnabled, name, setPreviewPreference, onJoin]);
92
+ const roomLayout = useRoomLayout();
93
+
94
+ const { preview_header: previewHeader = {} } = roomLayout?.screens?.preview?.default?.elements || {};
95
+
72
96
  useEffect(() => {
73
97
  if (authToken) {
74
98
  if (skipPreview) {
@@ -79,27 +103,62 @@ const PreviewJoin = ({ onJoin, skipPreview, initialName, asRole }) => {
79
103
  }
80
104
  // eslint-disable-next-line react-hooks/exhaustive-deps
81
105
  }, [authToken, skipPreview]);
82
- return (
83
- <Container>
84
- <Text variant="h4" css={{ wordBreak: 'break-word', textAlign: 'center' }}>
85
- Get Started
86
- </Text>
87
- <Text css={{ c: '$textMedEmp', my: '$6', textAlign: 'center' }} variant="body1">
88
- Setup your audio and video before joining
89
- </Text>
90
- <Flex
91
- align="center"
92
- justify="center"
93
- css={{
94
- '@sm': { width: '100%' },
95
- flexDirection: 'column',
96
- }}
97
- >
98
- <PreviewTile name={name} error={previewError} />
99
- <PreviewControls enableJoin={enableJoin} savePreferenceAndJoin={savePreferenceAndJoin} />
100
- <PreviewName name={name} onChange={setName} enableJoin={enableJoin} onJoin={savePreferenceAndJoin} />
106
+
107
+ return roomState === HMSRoomState.Preview ? (
108
+ <Container css={{ h: '100%', pt: '$10', '@md': { justifyContent: 'space-between' } }}>
109
+ {toggleVideo ? null : <Box />}
110
+ <Flex direction="column" justify="center" css={{ w: '100%', maxWidth: '360px' }}>
111
+ <Logo />
112
+ <Text variant="h4" css={{ wordBreak: 'break-word', textAlign: 'center', mt: '$14', '@md': { mt: '$8' } }}>
113
+ {previewHeader.title}
114
+ </Text>
115
+ <Text css={{ c: '$on_surface_medium', my: '0', textAlign: 'center' }} variant="body1">
116
+ {previewHeader.sub_title}
117
+ </Text>
118
+ <Flex justify="center" css={{ my: '$8', gap: '$4' }}>
119
+ {isStreamingOn ? (
120
+ <Chip
121
+ content="LIVE"
122
+ backgroundColor="$alert_error_default"
123
+ textColor="#FFF"
124
+ icon={<Box css={{ h: '$sm', w: '$sm', backgroundColor: '$on_primary_high', borderRadius: '$round' }} />}
125
+ />
126
+ ) : null}
127
+ <Chip content={getParticipantChipContent(peerCount)} hideIfNoContent />
128
+ </Flex>
101
129
  </Flex>
130
+
131
+ {toggleVideo ? (
132
+ <Flex
133
+ align="center"
134
+ justify="center"
135
+ css={{
136
+ '@sm': { width: '100%' },
137
+ flexDirection: 'column',
138
+ }}
139
+ >
140
+ <PreviewTile name={name} error={previewError} />
141
+ </Flex>
142
+ ) : null}
143
+
144
+ <Box css={{ w: '100%', maxWidth: '360px' }}>
145
+ <PreviewControls
146
+ enableJoin={enableJoin}
147
+ savePreferenceAndJoin={savePreferenceAndJoin}
148
+ hideSettings={!toggleVideo && !toggleAudio}
149
+ />
150
+ <PreviewForm
151
+ name={name}
152
+ onChange={setName}
153
+ enableJoin={enableJoin}
154
+ onJoin={savePreferenceAndJoin}
155
+ cannotPublishVideo={!toggleVideo}
156
+ cannotPublishAudio={!toggleAudio}
157
+ />
158
+ </Box>
102
159
  </Container>
160
+ ) : (
161
+ <FullPageProgress />
103
162
  );
104
163
  };
105
164
 
@@ -113,10 +172,12 @@ const Container = styled('div', {
113
172
  const PreviewTile = ({ name, error }) => {
114
173
  const localPeer = useHMSStore(selectLocalPeer);
115
174
  const borderAudioRef = useBorderAudioLevel(localPeer?.audioTrack);
175
+ const { isLocalAudioEnabled, toggleAudio } = useAVToggle();
116
176
  const isVideoOn = useHMSStore(selectIsLocalVideoEnabled);
117
177
  const mirrorLocalVideo = useUISettings(UI_SETTINGS.mirrorLocalVideo);
118
178
  const trackSelector = selectVideoTrackByID(localPeer?.videoTrack);
119
179
  const track = useHMSStore(trackSelector);
180
+ const showMuteIcon = !isLocalAudioEnabled || !toggleAudio;
120
181
 
121
182
  const {
122
183
  aspectRatio: { width, height },
@@ -124,11 +185,10 @@ const PreviewTile = ({ name, error }) => {
124
185
  return (
125
186
  <StyledVideoTile.Container
126
187
  css={{
127
- bg: '$surfaceDefault',
188
+ bg: '$surface_default',
128
189
  aspectRatio: width / height,
129
190
  width: 'unset',
130
191
  height: 'min(360px, 60vh)',
131
- mt: '$12',
132
192
  '@sm': {
133
193
  height: 'unset',
134
194
  width: 'min(360px, 100%)',
@@ -148,20 +208,23 @@ const PreviewTile = ({ name, error }) => {
148
208
  {!isVideoOn ? (
149
209
  <StyledVideoTile.AvatarContainer>
150
210
  <Avatar name={name} data-testid="preview_avatar_tile" />
151
- <Text css={{ ...textEllipsis('75%') }} variant="body2">
152
- {name}
153
- </Text>
154
211
  </StyledVideoTile.AvatarContainer>
155
212
  ) : null}
156
213
  </>
157
214
  ) : !error ? (
158
- <Loading size={100} />
215
+ <FullPageProgress />
216
+ ) : null}
217
+ {showMuteIcon ? (
218
+ <StyledVideoTile.AudioIndicator size="medium">
219
+ <MicOffIcon />
220
+ </StyledVideoTile.AudioIndicator>
159
221
  ) : null}
160
222
  </StyledVideoTile.Container>
161
223
  );
162
224
  };
163
225
 
164
- const PreviewControls = () => {
226
+ const PreviewControls = ({ hideSettings }) => {
227
+ const isVideoOn = useHMSStore(selectIsLocalVideoEnabled);
165
228
  return (
166
229
  <Flex
167
230
  justify="between"
@@ -172,20 +235,20 @@ const PreviewControls = () => {
172
235
  >
173
236
  <Flex css={{ gap: '$4' }}>
174
237
  <AudioVideoToggle compact />
175
- <Suspense fallback="">
176
- <VirtualBackground />
177
- </Suspense>
238
+ <Suspense fallback="">{isVideoOn ? <VirtualBackground /> : null}</Suspense>
178
239
  </Flex>
179
- <PreviewSettings />
240
+ {!hideSettings ? <PreviewSettings /> : null}
180
241
  </Flex>
181
242
  );
182
243
  };
183
244
 
184
- const PreviewSettings = React.memo(() => {
245
+ // Bottom action sheet goes here, if isMobile
246
+ export const PreviewSettings = React.memo(() => {
185
247
  const [open, setOpen] = useState(false);
248
+
186
249
  return (
187
250
  <Fragment>
188
- <IconButton data-testid="preview_setting_btn" onClick={() => setOpen(value => !value)}>
251
+ <IconButton data-testid="preview_setting_btn" css={{ flexShrink: 0 }} onClick={() => setOpen(value => !value)}>
189
252
  <SettingsIcon />
190
253
  </IconButton>
191
254
  {open && <SettingsModal open={open} onOpenChange={setOpen} />}
@@ -61,7 +61,7 @@ export const RoleChangeModal = ({ peerId, onOpenChange }) => {
61
61
  css={{
62
62
  mt: '$4',
63
63
  mb: '$8',
64
- c: '$textMedEmp',
64
+ c: '$on_surface_medium',
65
65
  display: 'flex',
66
66
  flexWrap: 'wrap',
67
67
  columnGap: '4px',
@@ -101,8 +101,8 @@ export const RoleChangeModal = ({ peerId, onOpenChange }) => {
101
101
  data-testid="open_role_selection_dropdown"
102
102
  asChild
103
103
  css={{
104
- border: '1px solid $borderLight',
105
- bg: '$surfaceLight',
104
+ border: '1px solid $border_bright',
105
+ bg: '$surface_bright',
106
106
  r: '$1',
107
107
  p: '$6 $9',
108
108
  }}
@@ -21,8 +21,8 @@ export const ScreenshareDisplay = () => {
21
21
  h: '100%',
22
22
  r: '$3',
23
23
  m: '0 auto',
24
- color: '$textPrimary',
25
- bg: '$surfaceDefault',
24
+ color: '$on_surface_high',
25
+ bg: '$surface_default',
26
26
  textAlign: 'center',
27
27
  }}
28
28
  >
@@ -72,6 +72,7 @@ const Settings = ({ setHide }) => {
72
72
  />
73
73
  </Fragment>
74
74
  ) : null}
75
+
75
76
  {audioInput?.length ? (
76
77
  <DeviceSelector
77
78
  title={shouldShowAudioOutput ? 'Microphone' : 'Audio'}
@@ -86,6 +87,7 @@ const Settings = ({ setHide }) => {
86
87
  }
87
88
  />
88
89
  ) : null}
90
+
89
91
  {audioOutputFiltered?.length && shouldShowAudioOutput ? (
90
92
  <DeviceSelector
91
93
  title="Speaker"
@@ -128,8 +130,8 @@ const DeviceSelector = ({ title, devices, selection, onChange, icon, children =
128
130
  css={{
129
131
  position: 'relative',
130
132
  flex: '1 1 0',
131
- w: '100%',
132
133
  minWidth: 0,
134
+ maxWidth: '100%',
133
135
  '@md': {
134
136
  mb: children ? '$8' : 0,
135
137
  },
@@ -138,14 +140,6 @@ const DeviceSelector = ({ title, devices, selection, onChange, icon, children =
138
140
  <Dropdown.Root open={open} onOpenChange={setOpen}>
139
141
  <DialogDropdownTrigger
140
142
  ref={ref}
141
- css={{
142
- ...(children
143
- ? {
144
- flex: '1 1 0',
145
- minWidth: 0,
146
- }
147
- : {}),
148
- }}
149
143
  icon={icon}
150
144
  title={devices.find(({ deviceId }) => deviceId === selection)?.label || 'Select device from list'}
151
145
  open={open}
@@ -1,34 +1,10 @@
1
1
  import React, { useCallback, useEffect, useState } from 'react';
2
2
  import { useMedia } from 'react-use';
3
3
  import { selectLocalPeerRoleName, useHMSStore } from '@100mslive/react-sdk';
4
- import { ChevronLeftIcon, CrossIcon, GridFourIcon, NotificationsIcon, SettingsIcon } from '@100mslive/react-icons';
4
+ import { ChevronLeftIcon, CrossIcon } from '@100mslive/react-icons';
5
5
  import { Box, config as cssConfig, Dialog, Flex, IconButton, Tabs, Text } from '../../../';
6
- import DeviceSettings from './DeviceSettings';
7
- import { LayoutSettings } from './LayoutSettings';
8
- import { NotificationSettings } from './NotificationSettings';
9
6
  import { useHLSViewerRole } from '../AppData/useUISettings';
10
- import { settingContent } from './common.js';
11
-
12
- const settings = [
13
- {
14
- tabName: 'devices',
15
- title: 'Device Settings',
16
- icon: SettingsIcon,
17
- content: DeviceSettings,
18
- },
19
- {
20
- tabName: 'notifications',
21
- title: 'Notifications',
22
- icon: NotificationsIcon,
23
- content: NotificationSettings,
24
- },
25
- {
26
- tabName: 'layout',
27
- title: 'Layout',
28
- icon: GridFourIcon,
29
- content: LayoutSettings,
30
- },
31
- ];
7
+ import { settingContent, settingsList } from './common.js';
32
8
 
33
9
  const SettingsModal = ({ open, onOpenChange, children }) => {
34
10
  const mediaQueryLg = cssConfig.media.md;
@@ -39,7 +15,7 @@ const SettingsModal = ({ open, onOpenChange, children }) => {
39
15
  const isHlsViewer = hlsViewerRole === localPeerRole;
40
16
 
41
17
  const [showSetting, setShowSetting] = useState(() =>
42
- settings.reduce((obj, { tabName }) => ({ ...obj, [tabName]: true }), {}),
18
+ settingsList.reduce((obj, { tabName }) => ({ ...obj, [tabName]: true }), {}),
43
19
  );
44
20
 
45
21
  const hideSettingByTabName = useCallback(
@@ -90,7 +66,7 @@ const SettingsModal = ({ open, onOpenChange, children }) => {
90
66
  css={{
91
67
  w: isMobile ? '100%' : '18.625rem',
92
68
  flexDirection: 'column',
93
- bg: '$backgroundDefault',
69
+ bg: '$background_default',
94
70
  p: '$14 $10',
95
71
  borderTopLeftRadius: '$4',
96
72
  borderBottomLeftRadius: '$4',
@@ -98,7 +74,7 @@ const SettingsModal = ({ open, onOpenChange, children }) => {
98
74
  >
99
75
  <Text variant="h5">Settings </Text>
100
76
  <Flex direction="column" css={{ mx: isMobile ? '-$8' : 0, overflowY: 'auto', pt: '$10' }}>
101
- {settings
77
+ {settingsList
102
78
  .filter(({ tabName }) => showSetting[tabName])
103
79
  .map(({ icon: Icon, tabName, title }) => {
104
80
  return (
@@ -122,14 +98,14 @@ const SettingsModal = ({ open, onOpenChange, children }) => {
122
98
  position: 'absolute',
123
99
  left: 0,
124
100
  right: 0,
125
- bg: '$surfaceDefault',
101
+ bg: '$surface_default',
126
102
  width: '100%',
127
103
  height: '100%',
128
104
  }
129
105
  : {}),
130
106
  }}
131
107
  >
132
- {settings
108
+ {settingsList
133
109
  .filter(({ tabName }) => showSetting[tabName])
134
110
  .map(({ content: Content, title, tabName }) => {
135
111
  return (
@@ -159,7 +135,7 @@ const SettingsContentHeader = ({ children, isMobile, onBack }) => {
159
135
  return (
160
136
  <Text variant="h6" css={{ mb: '$12', display: 'flex', alignItems: 'center' }}>
161
137
  {isMobile && (
162
- <Box as="span" css={{ bg: '$surfaceLight', mr: '$4', r: '$round', p: '$2' }} onClick={onBack}>
138
+ <Box as="span" css={{ bg: '$surface_bright', mr: '$4', r: '$round', p: '$2' }} onClick={onBack}>
163
139
  <ChevronLeftIcon />
164
140
  </Box>
165
141
  )}
@@ -1,11 +1,5 @@
1
1
  import React, { useState } from 'react';
2
- import {
3
- selectAppData,
4
- selectPermissions,
5
- useHMSActions,
6
- useHMSStore,
7
- useRecordingStreaming,
8
- } from '@100mslive/react-sdk';
2
+ import { selectPermissions, useHMSActions, useHMSStore, useRecordingStreaming } from '@100mslive/react-sdk';
9
3
  import { AlertTriangleIcon } from '@100mslive/react-icons';
10
4
  import { Button, Dialog, Flex, Text } from '../../../';
11
5
  import { ResolutionInput } from '../Streaming/ResolutionInput';
@@ -16,7 +10,6 @@ import { APP_DATA, RTMP_RECORD_DEFAULT_RESOLUTION } from '../../common/constants
16
10
 
17
11
  const StartRecording = ({ open, onOpenChange }) => {
18
12
  const permissions = useHMSStore(selectPermissions);
19
- const recordingUrl = useHMSStore(selectAppData(APP_DATA.recordingUrl));
20
13
  const [resolution, setResolution] = useState(RTMP_RECORD_DEFAULT_RESOLUTION);
21
14
 
22
15
  const [recordingStarted, setRecordingState] = useSetAppDataByKey(APP_DATA.recordingStarted);
@@ -37,19 +30,19 @@ const StartRecording = ({ open, onOpenChange }) => {
37
30
  }}
38
31
  >
39
32
  <Dialog.Title>
40
- <Flex gap={2} css={{ c: '$error' }}>
33
+ <Flex gap={2} css={{ c: '$alert_error_default' }}>
41
34
  <AlertTriangleIcon />
42
35
  <Text css={{ c: 'inherit' }} variant="h6">
43
36
  End Recording
44
37
  </Text>
45
38
  </Flex>
46
39
  </Dialog.Title>
47
- <Text variant="sm" css={{ c: '$textMedEmp', my: '$8' }}>
40
+ <Text variant="sm" css={{ c: '$on_surface_medium', my: '$8' }}>
48
41
  Are you sure you want to end recording? You can’t undo this action.
49
42
  </Text>
50
43
  <Flex justify="end" css={{ mt: '$12' }}>
51
44
  <Dialog.Close asChild>
52
- <Button outlined css={{ borderColor: '$secondaryLight', mr: '$4' }}>
45
+ <Button outlined css={{ borderColor: '$secondary_bright', mr: '$4' }}>
53
46
  Don't end
54
47
  </Button>
55
48
  </Dialog.Close>
@@ -99,7 +92,6 @@ const StartRecording = ({ open, onOpenChange }) => {
99
92
  try {
100
93
  setRecordingState(true);
101
94
  await hmsActions.startRTMPOrRecording({
102
- meetingURL: recordingUrl,
103
95
  resolution: getResolution(resolution),
104
96
  record: true,
105
97
  });
@@ -2,7 +2,6 @@ import React from 'react';
2
2
  import { Label } from '../../../Label';
3
3
  import { Flex } from '../../../Layout';
4
4
  import { Switch } from '../../../Switch';
5
- // import { Flex, Label, Switch } from '../../../';
6
5
 
7
6
  const SwitchWithLabel = ({ label, icon, id, onChange, checked, hide = false }) => {
8
7
  return (
@@ -12,7 +11,7 @@ const SwitchWithLabel = ({ label, icon, id, onChange, checked, hide = false }) =
12
11
  my: '$2',
13
12
  py: '$8',
14
13
  w: '100%',
15
- borderBottom: '1px solid $borderDefault',
14
+ borderBottom: '1px solid $border_default',
16
15
  display: hide ? 'none' : 'flex',
17
16
  }}
18
17
  >
@@ -21,7 +20,7 @@ const SwitchWithLabel = ({ label, icon, id, onChange, checked, hide = false }) =
21
20
  css={{
22
21
  fontSize: '$md',
23
22
  fontWeight: '$semiBold',
24
- color: checked ? '$textHighEmp' : '$textDisabled',
23
+ color: checked ? '$on_surface_high' : '$on_surface_low',
25
24
  cursor: 'pointer',
26
25
  display: 'flex',
27
26
  alignItems: 'center',
@@ -1,4 +1,9 @@
1
+ import { GridFourIcon, NotificationsIcon, SettingsIcon } from '@100mslive/react-icons';
1
2
  import { css } from '../../..';
3
+ import DeviceSettings from '../Settings/DeviceSettings';
4
+ import { LayoutSettings } from '../Settings/LayoutSettings';
5
+ import { NotificationSettings } from '../Settings/NotificationSettings';
6
+
2
7
  export const settingOverflow = css({
3
8
  flex: '1 1 0',
4
9
  pr: '$12',
@@ -13,3 +18,24 @@ export const settingContent = css({
13
18
  display: 'none',
14
19
  },
15
20
  });
21
+
22
+ export const settingsList = [
23
+ {
24
+ tabName: 'devices',
25
+ title: 'Device Settings',
26
+ icon: SettingsIcon,
27
+ content: DeviceSettings,
28
+ },
29
+ {
30
+ tabName: 'notifications',
31
+ title: 'Notifications',
32
+ icon: NotificationsIcon,
33
+ content: NotificationSettings,
34
+ },
35
+ {
36
+ tabName: 'layout',
37
+ title: 'Layout',
38
+ icon: GridFourIcon,
39
+ content: LayoutSettings,
40
+ },
41
+ ];
@@ -98,7 +98,7 @@ export const StatsForNerds = ({ onOpenChange }) => {
98
98
  css={{
99
99
  px: '$9',
100
100
  bg: isSelected ? selectionBg : undefined,
101
- c: isSelected ? '$white' : '$textPrimary',
101
+ c: isSelected ? '$on_primary_high' : '$on_primary_high',
102
102
  }}
103
103
  >
104
104
  {option.label}
@@ -219,18 +219,18 @@ const TrackStats = ({ trackID, layer, local }) => {
219
219
  };
220
220
 
221
221
  const StatsRow = React.memo(({ label, value }) => (
222
- <Box css={{ bg: '$surfaceLight', w: 'calc(50% - $6)', p: '$8', r: '$3' }}>
222
+ <Box css={{ bg: '$surface_bright', w: 'calc(50% - $6)', p: '$8', r: '$3' }}>
223
223
  <Text
224
224
  variant="overline"
225
225
  css={{
226
226
  fontWeight: '$semiBold',
227
- color: '$textMedEmp',
227
+ color: '$on_surface_medium',
228
228
  textTransform: 'uppercase',
229
229
  }}
230
230
  >
231
- {label}{' '}
231
+ {label}
232
232
  </Text>
233
- <Text variant="sub1" css={{ fontWeight: '$semiBold', color: '$textHighEmp' }}>
233
+ <Text variant="sub1" css={{ fontWeight: '$semiBold', color: '$on_surface_high' }}>
234
234
  {value || '-'}
235
235
  </Text>
236
236
  </Box>
@@ -3,7 +3,7 @@ import { selectPermissions, useHMSStore } from '@100mslive/react-sdk';
3
3
  import { ChevronLeftIcon, ChevronRightIcon, CrossIcon, RecordIcon } from '@100mslive/react-icons';
4
4
  import { Box, Flex, IconButton, slideLeftAndFade, Switch, Text } from '../../../';
5
5
 
6
- export const StreamCard = ({ title, subtitle, Icon, css = {}, onClick, testId }) => {
6
+ export const StreamCard = ({ title, subtitle, Icon, imgSrc = '', css = {}, onClick, testId }) => {
7
7
  return (
8
8
  <Flex
9
9
  css={{
@@ -11,7 +11,7 @@ export const StreamCard = ({ title, subtitle, Icon, css = {}, onClick, testId })
11
11
  p: '$10',
12
12
  r: '$1',
13
13
  cursor: 'pointer',
14
- bg: '$surfaceLight',
14
+ bg: '$surface_bright',
15
15
  mb: '$10',
16
16
  mt: '$8',
17
17
  ...css,
@@ -20,13 +20,13 @@ export const StreamCard = ({ title, subtitle, Icon, css = {}, onClick, testId })
20
20
  onClick={onClick}
21
21
  >
22
22
  <Text css={{ alignSelf: 'center', p: '$4' }}>
23
- <Icon width={40} height={40} />
23
+ {imgSrc ? <img src={imgSrc} height={40} width={40} /> : <Icon width={40} height={40} />}
24
24
  </Text>
25
25
  <Box css={{ flex: '1 1 0', mx: '$8' }}>
26
26
  <Text variant="h6" css={{ mb: '$4' }}>
27
27
  {title}
28
28
  </Text>
29
- <Text variant="sm" css={{ color: '$textMedEmp' }}>
29
+ <Text variant="sm" css={{ color: '$on_surface_medium' }}>
30
30
  {subtitle}
31
31
  </Text>
32
32
  </Box>
@@ -41,7 +41,7 @@ export const ContentHeader = ({ onBack, title, content }) => {
41
41
  return (
42
42
  <Flex css={{ w: '100%', py: '$8', px: '$10', cursor: 'pointer' }}>
43
43
  <Text
44
- css={{ p: '$2', bg: '$surfaceLight', r: '$round', alignSelf: 'center' }}
44
+ css={{ p: '$2', bg: '$surface_bright', r: '$round', alignSelf: 'center' }}
45
45
  onClick={onBack}
46
46
  data-testid="go_back"
47
47
  >
@@ -53,7 +53,7 @@ export const ContentHeader = ({ onBack, title, content }) => {
53
53
  css={{
54
54
  textTransform: 'uppercase',
55
55
  fontWeight: '$semiBold',
56
- color: '$textMedEmp',
56
+ color: '$on_surface_medium',
57
57
  }}
58
58
  >
59
59
  {title}
@@ -76,7 +76,7 @@ export const Container = ({ children, rounded = false }) => {
76
76
  position: 'absolute',
77
77
  top: 0,
78
78
  left: 0,
79
- bg: '$surfaceDefault',
79
+ bg: '$surface_default',
80
80
  transform: 'translateX(10%)',
81
81
  animation: `${slideLeftAndFade('10%')} 100ms ease-out forwards`,
82
82
  display: 'flex',
@@ -98,7 +98,7 @@ export const ContentBody = ({ Icon, title, removeVerticalPadding = false, childr
98
98
  {title}
99
99
  </Text>
100
100
  </Text>
101
- <Text variant="sm" css={{ color: '$textMedEmp' }}>
101
+ <Text variant="sm" css={{ color: '$on_surface_medium' }}>
102
102
  {children}
103
103
  </Text>
104
104
  </Box>
@@ -108,8 +108,8 @@ export const ContentBody = ({ Icon, title, removeVerticalPadding = false, childr
108
108
  export const RecordStream = ({ record, setRecord, testId }) => {
109
109
  const permissions = useHMSStore(selectPermissions);
110
110
  return permissions?.browserRecording ? (
111
- <Flex align="center" css={{ bg: '$surfaceLight', m: '$8 $10', p: '$8', r: '$0' }}>
112
- <Text css={{ color: '$error' }}>
111
+ <Flex align="center" css={{ bg: '$surface_bright', m: '$8 $10', p: '$8', r: '$0' }}>
112
+ <Text css={{ color: '$alert_error_default' }}>
113
113
  <RecordIcon />
114
114
  </Text>
115
115
  <Text variant="sm" css={{ flex: '1 1 0', mx: '$8' }}>
@@ -125,7 +125,7 @@ export const ErrorText = ({ error }) => {
125
125
  return null;
126
126
  }
127
127
  return (
128
- <Text variant="sm" css={{ mb: '$8', color: '$error' }}>
128
+ <Text variant="sm" css={{ mb: '$8', color: '$alert_error_default' }}>
129
129
  {error}
130
130
  </Text>
131
131
  );