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

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 (59) hide show
  1. package/dist/{ActiveSpeakerView-ADEYHQMU.css → ActiveSpeakerView-ELWK3LNE.css} +2 -2
  2. package/dist/{PinnedTrackView-5DPVVOZW.css.map → ActiveSpeakerView-ELWK3LNE.css.map} +1 -1
  3. package/dist/{ActiveSpeakerView-4XPIRZOK.js → ActiveSpeakerView-I4XBBOOY.js} +6 -6
  4. package/dist/{HLSView-DWEEMZ6Z.css → HLSView-UPP5PDCE.css} +2 -2
  5. package/dist/{HLSView-DWEEMZ6Z.css.map → HLSView-UPP5PDCE.css.map} +1 -1
  6. package/dist/{HLSView-I26CVF5U.js → HLSView-VXI2RN37.js} +5 -5
  7. package/dist/{PinnedTrackView-5DPVVOZW.css → PinnedTrackView-NWN3H5EZ.css} +2 -2
  8. package/dist/{conference-BDCDGBIS.css.map → PinnedTrackView-NWN3H5EZ.css.map} +1 -1
  9. package/dist/{PinnedTrackView-GGTCNH5V.js → PinnedTrackView-V2COEYUL.js} +6 -6
  10. package/dist/{VirtualBackground-ZRRE4DUA.js → VirtualBackground-4RPLPBOQ.js} +3 -3
  11. package/dist/{chunk-KKLZ7K2L.js → chunk-2SV2DRIF.js} +7 -7
  12. package/dist/{chunk-KKLZ7K2L.js.map → chunk-2SV2DRIF.js.map} +2 -2
  13. package/dist/{chunk-LUND6FLY.js → chunk-MJNJRHS3.js} +46 -40
  14. package/dist/chunk-MJNJRHS3.js.map +7 -0
  15. package/dist/{chunk-MYK3T45M.js → chunk-PLKNFRDT.js} +3 -3
  16. package/dist/chunk-PLKNFRDT.js.map +7 -0
  17. package/dist/{chunk-THORW2WT.js → chunk-S4QRZ4VV.js} +2 -2
  18. package/dist/{chunk-4ISMCWQA.js → chunk-YJCBCMH4.js} +7 -6
  19. package/dist/chunk-YJCBCMH4.js.map +7 -0
  20. package/dist/{conference-5TDUAQ6K.js → conference-DGJFMV3O.js} +258 -434
  21. package/dist/conference-DGJFMV3O.js.map +7 -0
  22. package/dist/{conference-BDCDGBIS.css → conference-JFEDNIUG.css} +2 -2
  23. package/dist/{ActiveSpeakerView-ADEYHQMU.css.map → conference-JFEDNIUG.css.map} +1 -1
  24. package/dist/index.cjs.css +1 -1
  25. package/dist/index.cjs.css.map +1 -1
  26. package/dist/index.cjs.js +464 -656
  27. package/dist/index.cjs.js.map +4 -4
  28. package/dist/index.css +1 -1
  29. package/dist/index.css.map +1 -1
  30. package/dist/index.js +4 -4
  31. package/dist/meta.cjs.json +46 -166
  32. package/dist/meta.esbuild.json +136 -256
  33. package/dist/{transcription-PYTSSAOB.js → transcription-KASUU6FK.js} +3 -3
  34. package/package.json +6 -6
  35. package/src/Button/Button.tsx +6 -2
  36. package/src/Loading/Loading.tsx +1 -1
  37. package/src/Prebuilt/App.jsx +4 -1
  38. package/src/Prebuilt/AppContext.jsx +1 -1
  39. package/src/Prebuilt/Prebuilt.stories.tsx +4 -0
  40. package/src/Prebuilt/components/Footer/ConferencingFooter.jsx +1 -4
  41. package/src/Prebuilt/components/Notifications/PeerNotifications.jsx +2 -1
  42. package/src/Prebuilt/components/Notifications/PermissionErrorModal.jsx +13 -44
  43. package/src/Prebuilt/components/Preview/PreviewContainer.jsx +4 -1
  44. package/src/Prebuilt/components/Preview/PreviewForm.jsx +5 -7
  45. package/src/Prebuilt/components/Preview/PreviewJoin.jsx +11 -7
  46. package/src/Theme/base.config.ts +3 -3
  47. package/src/Theme/stitches.config.ts +2 -1
  48. package/src/VideoTile/StyledVideoTile.tsx +1 -1
  49. package/dist/chunk-4ISMCWQA.js.map +0 -7
  50. package/dist/chunk-LUND6FLY.js.map +0 -7
  51. package/dist/chunk-MYK3T45M.js.map +0 -7
  52. package/dist/conference-5TDUAQ6K.js.map +0 -7
  53. package/src/assets/android-perm-0.png +0 -0
  54. /package/dist/{ActiveSpeakerView-4XPIRZOK.js.map → ActiveSpeakerView-I4XBBOOY.js.map} +0 -0
  55. /package/dist/{HLSView-I26CVF5U.js.map → HLSView-VXI2RN37.js.map} +0 -0
  56. /package/dist/{PinnedTrackView-GGTCNH5V.js.map → PinnedTrackView-V2COEYUL.js.map} +0 -0
  57. /package/dist/{VirtualBackground-ZRRE4DUA.js.map → VirtualBackground-4RPLPBOQ.js.map} +0 -0
  58. /package/dist/{chunk-THORW2WT.js.map → chunk-S4QRZ4VV.js.map} +0 -0
  59. /package/dist/{transcription-PYTSSAOB.js.map → transcription-KASUU6FK.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Box,
3
3
  Text
4
- } from "./chunk-THORW2WT.js";
4
+ } from "./chunk-S4QRZ4VV.js";
5
5
  import {
6
6
  IconButton_default,
7
7
  SESSION_STORE_KEY,
@@ -12,7 +12,7 @@ import {
12
12
  __spreadValues,
13
13
  define_process_env_default,
14
14
  init_define_process_env
15
- } from "./chunk-4ISMCWQA.js";
15
+ } from "./chunk-YJCBCMH4.js";
16
16
 
17
17
  // src/Prebuilt/plugins/transcription/index.jsx
18
18
  init_define_process_env();
@@ -353,4 +353,4 @@ function TranscriptionButton() {
353
353
  export {
354
354
  TranscriptionButton as default
355
355
  };
356
- //# sourceMappingURL=transcription-PYTSSAOB.js.map
356
+ //# sourceMappingURL=transcription-KASUU6FK.js.map
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "prebuilt",
11
11
  "roomkit"
12
12
  ],
13
- "version": "0.1.2-alpha.0",
13
+ "version": "0.1.2",
14
14
  "author": "100ms",
15
15
  "license": "MIT",
16
16
  "files": [
@@ -75,10 +75,10 @@
75
75
  "react": ">=17.0.2 <19.0.0"
76
76
  },
77
77
  "dependencies": {
78
- "@100mslive/hls-player": "0.1.11-alpha.0",
79
- "@100mslive/hms-virtual-background": "1.11.11-alpha.0",
80
- "@100mslive/react-icons": "0.8.11-alpha.0",
81
- "@100mslive/react-sdk": "0.8.11-alpha.0",
78
+ "@100mslive/hls-player": "0.1.11",
79
+ "@100mslive/hms-virtual-background": "1.11.11",
80
+ "@100mslive/react-icons": "0.8.11",
81
+ "@100mslive/react-sdk": "0.8.11",
82
82
  "@100mslive/types-prebuilt": "0.8.0",
83
83
  "@emoji-mart/data": "^1.0.6",
84
84
  "@emoji-mart/react": "^1.0.1",
@@ -117,5 +117,5 @@
117
117
  "worker-timers": "^7.0.40",
118
118
  "zipyai": "^1.3.24"
119
119
  },
120
- "gitHead": "523c0b38cdcac790c93b60d2747a4e3520d21dd2"
120
+ "gitHead": "b40c957e0577e36fd1efd2658e7b3d9a1a1a5baa"
121
121
  }
@@ -183,8 +183,12 @@ export const Button = React.forwardRef<
183
183
  <StyledButton {...buttonProps} ref={ref}>
184
184
  <>
185
185
  {loading && (
186
- <Flex align="center" justify="center" css={{ w: '100%', position: 'absolute', left: '0' }}>
187
- <Loading />
186
+ <Flex
187
+ align="center"
188
+ justify="center"
189
+ css={{ w: '100%', position: 'absolute', left: '0', color: '$on_primary_low' }}
190
+ >
191
+ <Loading color="currentColor" />
188
192
  </Flex>
189
193
  )}
190
194
  <Flex
@@ -15,7 +15,7 @@ type LoadingProps = Props & React.SVGProps<SVGSVGElement>;
15
15
 
16
16
  export const Loading = ({ size = 24, color = 'white', ...props }: LoadingProps) => (
17
17
  <svg width={size} height={size} viewBox="0 0 50 50" fill={color} xmlns="http://www.w3.org/2000/svg" {...props}>
18
- <circle cx="25" cy="25" r="20" stroke="#0074D9" stroke-width="4" stroke-dasharray="70 30" fill="none">
18
+ <circle cx="25" cy="25" r="20" stroke={color} strokeWidth="4" strokeDasharray="70 30" fill="none">
19
19
  <animateTransform
20
20
  attributeName="transform"
21
21
  attributeType="XML"
@@ -151,7 +151,10 @@ export const HMSPrebuilt = React.forwardRef(
151
151
 
152
152
  return (
153
153
  <HMSThemeProvider
154
- themeType={theme.name}
154
+ // issue is with stichtes caching the theme using the theme name / class
155
+ // no updates to the themes are fired if the name is same.
156
+ // TODO: cache the theme and do deep check to trigger name change in the theme
157
+ themeType={`${theme.name}-${Date.now()}`}
155
158
  aspectRatio={getAspectRatio({ width, height })}
156
159
  theme={{
157
160
  colors: theme.palette,
@@ -6,7 +6,7 @@ export const HMSPrebuiltContext = React.createContext({
6
6
  roomCode: '',
7
7
  userName: '',
8
8
  userId: '',
9
- endPoints: {},
9
+ endpoints: {},
10
10
  onLeave: undefined,
11
11
  });
12
12
 
@@ -8,6 +8,7 @@ export default {
8
8
  argTypes: {
9
9
  roomCode: { control: { type: 'text' }, defaultValue: 'tsj-obqh-lwx' },
10
10
  logo: { control: { type: 'object' }, defaultValue: undefined },
11
+ typography: { control: { type: 'object' }, defaultValue: 'Roboto' },
11
12
  },
12
13
  } as Meta<typeof HMSPrebuilt>;
13
14
 
@@ -23,4 +24,7 @@ Example.args = {
23
24
  roomLayout: 'https://demo8271564.mockable.io/v2/layouts/ui',
24
25
  },
25
26
  },
27
+ typography: {
28
+ font_family: 'Roboto',
29
+ },
26
30
  };
@@ -1,8 +1,7 @@
1
1
  import React, { Fragment, Suspense, useState } from 'react';
2
2
  import { useMedia } from 'react-use';
3
- import { HMSPlaylistType, selectIsAllowedToPublish, useHMSStore, useScreenShare } from '@100mslive/react-sdk';
3
+ import { selectIsAllowedToPublish, useHMSStore, useScreenShare } from '@100mslive/react-sdk';
4
4
  import { MusicIcon } from '@100mslive/react-icons';
5
- import { Playlist } from '../../components/Playlist/Playlist';
6
5
  import { config as cssConfig, Flex, Footer as AppFooter, Tooltip } from '../../../';
7
6
  import IconButton from '../../IconButton';
8
7
  import { AudioVideoToggle } from '../AudioVideoToggle';
@@ -64,8 +63,6 @@ export const ConferencingFooter = () => {
64
63
  <AppFooter.Root>
65
64
  <AppFooter.Left>
66
65
  <ScreenshareAudio />
67
- <Playlist type={HMSPlaylistType.audio} />
68
- <Playlist type={HMSPlaylistType.video} />
69
66
  <Suspense fallback="">
70
67
  <VirtualBackground />
71
68
  </Suspense>
@@ -2,6 +2,7 @@ import { useEffect } from 'react';
2
2
  import { HMSNotificationTypes, useHMSNotifications } from '@100mslive/react-sdk';
3
3
  import { ToastBatcher } from '../Toast/ToastBatcher';
4
4
  import { useSubscribedNotifications } from '../AppData/useUISettings';
5
+ import { isInternalRole } from '../../common/utils';
5
6
  import { SUBSCRIBED_NOTIFICATIONS } from '../../common/constants';
6
7
 
7
8
  const notificationTypes = [
@@ -15,7 +16,7 @@ export const PeerNotifications = () => {
15
16
  const isPeerJoinSubscribed = useSubscribedNotifications(SUBSCRIBED_NOTIFICATIONS.PEER_JOINED);
16
17
  const isPeerLeftSubscribed = useSubscribedNotifications(SUBSCRIBED_NOTIFICATIONS.PEER_LEFT);
17
18
  useEffect(() => {
18
- if (!notification) {
19
+ if (!notification || (notification?.data?.roleName && isInternalRole(notification.data.roleName))) {
19
20
  return;
20
21
  }
21
22
  console.debug(`[${notification.type}]`, notification);
@@ -2,7 +2,6 @@ import React, { useEffect, useState } from 'react';
2
2
  import { useMedia } from 'react-use';
3
3
  import { HMSNotificationTypes, useHMSNotifications } from '@100mslive/react-sdk';
4
4
  import { Button, config as cssConfig, Dialog, Flex, Text } from '../../../';
5
- import androidPermissions from '../../../assets/android-perm-0.png';
6
5
  import androidPermissionAlert from '../../../assets/android-perm-1.png';
7
6
  import iosPermissions from '../../../assets/ios-perm-0.png';
8
7
  import { isAndroid, isIOS } from '../../common/constants';
@@ -11,15 +10,8 @@ export function PermissionErrorModal() {
11
10
  const notification = useHMSNotifications(HMSNotificationTypes.ERROR);
12
11
  const [deviceType, setDeviceType] = useState('');
13
12
  const [isSystemError, setIsSystemError] = useState(false);
14
- const [showAndroidPrompt, setShowAndroidPrompt] = useState(true);
15
13
  const isMobile = useMedia(cssConfig.media.md);
16
14
 
17
- useEffect(() => {
18
- if (showAndroidPrompt && isAndroid && isMobile) {
19
- setDeviceType('camera and microphone');
20
- }
21
- }, []);
22
-
23
15
  useEffect(() => {
24
16
  if (
25
17
  !notification ||
@@ -59,32 +51,21 @@ export function PermissionErrorModal() {
59
51
 
60
52
  {/* Images for android */}
61
53
  {isMobile && isAndroid ? (
62
- showAndroidPrompt ? (
63
- <img src={androidPermissions} style={{ maxWidth: '100%', maxHeight: '100%' }} />
64
- ) : (
65
- <img src={androidPermissionAlert} style={{ maxWidth: '100%', maxHeight: '100%' }} />
66
- )
54
+ <img src={androidPermissionAlert} style={{ maxWidth: '100%', maxHeight: '100%' }} />
67
55
  ) : null}
68
56
 
69
- <Text variant="h6">
70
- {showAndroidPrompt ? `Allow access to your ${deviceType}` : `We can't access your ${deviceType}`}
71
- </Text>
57
+ <Text variant="h6">We can't access your {deviceType}</Text>
72
58
  </Dialog.Title>
73
59
 
74
60
  <Text variant="sm" css={{ pt: '$4', pb: '$10', color: '$on_surface_medium' }}>
75
61
  {/* IOS prompt text */}
76
62
  {isMobile && isIOS
77
- ? 'Enable permissions by reloading this page and clicking Allow on the pop-up, or change settings from the address bar.'
78
- : null}
79
-
80
- {/* Initial prompt for android devices */}
81
- {isMobile && showAndroidPrompt && isAndroid
82
- ? 'In order for others to see and hear you, your browser will request camera and microphone access.'
63
+ ? 'Enable permissions by reloading this page and clicking "Allow" on the pop-up, or change settings from the address bar.'
83
64
  : null}
84
65
 
85
- {/* Successive prompts for android devices */}
86
- {isMobile && !showAndroidPrompt && isAndroid
87
- ? 'To allow other users to see and hear you, click the blocked camera icon in your browsers address bar.'
66
+ {/* Prompt for android devices */}
67
+ {isMobile && isAndroid
68
+ ? `To allow other users to see and hear you, click the blocked camera icon in your browser's address bar.`
88
69
  : null}
89
70
 
90
71
  {/* Prompt for desktops */}
@@ -113,26 +94,14 @@ export function PermissionErrorModal() {
113
94
  ) : null}
114
95
 
115
96
  {isMobile && isAndroid ? (
116
- showAndroidPrompt ? (
117
- <Button
118
- css={{ w: '100%' }}
119
- onClick={() => {
120
- setDeviceType('');
121
- setShowAndroidPrompt(false);
122
- }}
123
- >
124
- Continue
97
+ <>
98
+ <Button onClick={() => setDeviceType('')} css={{ w: '100%', mb: '$6' }}>
99
+ I've allowed access
125
100
  </Button>
126
- ) : (
127
- <>
128
- <Button onClick={() => setDeviceType('')} css={{ w: '100%', mb: '$6' }}>
129
- I've allowed access
130
- </Button>
131
- <Button outlined variant="standard" onClick={() => setDeviceType('')} css={{ w: '100%' }}>
132
- Continue anyway
133
- </Button>
134
- </>
135
- )
101
+ <Button outlined variant="standard" onClick={() => setDeviceType('')} css={{ w: '100%' }}>
102
+ Continue anyway
103
+ </Button>
104
+ </>
136
105
  ) : null}
137
106
 
138
107
  {!isMobile ? (
@@ -4,6 +4,7 @@ import { useSearchParam } from 'react-use';
4
4
  import { HMSRoomState, selectRoomState, useHMSStore } from '@100mslive/react-sdk';
5
5
  import { Box, Flex } from '../../../';
6
6
  import SidePane from '../../layouts/SidePane';
7
+ import { useRoomLayout } from '../../provider/roomLayoutProvider';
7
8
  import FullPageProgress from '../FullPageProgress';
8
9
  import { Header } from '../Header';
9
10
  import PreviewJoin from './PreviewJoin';
@@ -19,6 +20,8 @@ const PreviewContainer = () => {
19
20
  const initialName = useSearchParam(QUERY_PARAM_NAME) || (skipPreview ? 'Beam' : '');
20
21
  const { roomId: urlRoomId, role: userRole } = useParams(); // from the url
21
22
  const authToken = useAuthToken();
23
+ const roomLayout = useRoomLayout();
24
+ const { preview_header: previewHeader = {} } = roomLayout?.screens?.preview?.default?.elements || {};
22
25
 
23
26
  const roomState = useHMSStore(selectRoomState);
24
27
  const isPreview = roomState === HMSRoomState.Preview;
@@ -42,7 +45,7 @@ const PreviewContainer = () => {
42
45
  justify="center"
43
46
  align="center"
44
47
  >
45
- {authToken ? (
48
+ {authToken && Object.keys(previewHeader).length > 0 ? (
46
49
  <PreviewJoin initialName={initialName} skipPreview={skipPreview} asRole={previewAsRole} onJoin={onJoin} />
47
50
  ) : (
48
51
  <FullPageProgress />
@@ -48,13 +48,11 @@ const PreviewForm = ({
48
48
  {cannotPublishAudio && cannotPublishVideo && !isMobile ? <PreviewSettings /> : null}
49
49
  </Flex>
50
50
 
51
- {Object.keys(joinForm).length > 0 ? (
52
- <Button type="submit" icon disabled={!name || !enableJoin} onClick={onJoin}>
53
- {/* Conditions to show go live: The first broadcaster joins a streaming kit that is not live */}
54
- {showGoLive ? <RadioIcon height={18} width={18} /> : null}
55
- {showGoLive ? joinForm.go_live_btn_label : joinForm.join_btn_label}
56
- </Button>
57
- ) : null}
51
+ <Button type="submit" icon disabled={!name || !enableJoin} onClick={onJoin}>
52
+ {/* Conditions to show go live: The first broadcaster joins a streaming kit that is not live */}
53
+ {showGoLive ? <RadioIcon height={18} width={18} /> : null}
54
+ {showGoLive ? joinForm.go_live_btn_label : joinForm.join_btn_label}
55
+ </Button>
58
56
  </Form>
59
57
  );
60
58
  };
@@ -59,12 +59,12 @@ const PreviewJoin = ({ onJoin, skipPreview, initialName, asRole }) => {
59
59
  const [name, setName] = useState(initialName || previewPreference.name);
60
60
  const { isLocalAudioEnabled, isLocalVideoEnabled, toggleAudio, toggleVideo } = useAVToggle();
61
61
  const [previewError, setPreviewError] = useState(false);
62
- const { endPoints } = useHMSPrebuiltContext();
62
+ const { endpoints } = useHMSPrebuiltContext();
63
63
  const { peerCount } = useParticipants();
64
64
  const { enableJoin, preview, join } = usePreviewJoin({
65
65
  name,
66
66
  token: authToken,
67
- initEndpoint: endPoints?.init,
67
+ initEndpoint: endpoints?.init,
68
68
  initialSettings: {
69
69
  isAudioMuted: skipPreview || previewPreference.isAudioMuted,
70
70
  isVideoMuted: skipPreview || previewPreference.isVideoMuted,
@@ -109,13 +109,19 @@ const PreviewJoin = ({ onJoin, skipPreview, initialName, asRole }) => {
109
109
  {toggleVideo ? null : <Box />}
110
110
  <Flex direction="column" justify="center" css={{ w: '100%', maxWidth: '360px' }}>
111
111
  <Logo />
112
- <Text variant="h4" css={{ wordBreak: 'break-word', textAlign: 'center', mt: '$14', '@md': { mt: '$8' } }}>
112
+ <Text
113
+ variant="h4"
114
+ css={{ wordBreak: 'break-word', textAlign: 'center', mt: '$14', mb: '$4', '@md': { mt: '$8', mb: '$2' } }}
115
+ >
113
116
  {previewHeader.title}
114
117
  </Text>
115
- <Text css={{ c: '$on_surface_medium', my: '0', textAlign: 'center' }} variant="body1">
118
+ <Text
119
+ css={{ c: '$on_surface_medium', my: '0', textAlign: 'center', maxWidth: '100%', wordWrap: 'break-word' }}
120
+ variant="sm"
121
+ >
116
122
  {previewHeader.sub_title}
117
123
  </Text>
118
- <Flex justify="center" css={{ my: '$8', gap: '$4' }}>
124
+ <Flex justify="center" css={{ mt: '$14', mb: '$14', '@md': { mt: '$8', mb: '0' }, gap: '$4' }}>
119
125
  {isStreamingOn ? (
120
126
  <Chip
121
127
  content="LIVE"
@@ -127,7 +133,6 @@ const PreviewJoin = ({ onJoin, skipPreview, initialName, asRole }) => {
127
133
  <Chip content={getParticipantChipContent(peerCount)} hideIfNoContent />
128
134
  </Flex>
129
135
  </Flex>
130
-
131
136
  {toggleVideo ? (
132
137
  <Flex
133
138
  align="center"
@@ -140,7 +145,6 @@ const PreviewJoin = ({ onJoin, skipPreview, initialName, asRole }) => {
140
145
  <PreviewTile name={name} error={previewError} />
141
146
  </Flex>
142
147
  ) : null}
143
-
144
148
  <Box css={{ w: '100%', maxWidth: '360px' }}>
145
149
  <PreviewControls
146
150
  enableJoin={enableJoin}
@@ -8,9 +8,9 @@ export const baseConfig = {
8
8
  primary_bright: '#538DFF',
9
9
  primary_dim: '#002D6D',
10
10
  primary_disabled: '#004299',
11
- on_primary_high: '#FFFFFF',
12
- on_primary_medium: '#DADADA',
13
- on_primary_low: '#ABABAB',
11
+ on_primary_high: 'rgba(245, 249, 255, 0.95)',
12
+ on_primary_medium: 'rgba(224, 236, 255, 0.8)',
13
+ on_primary_low: 'rgba(194, 208, 229, 0.5)',
14
14
  secondary_default: '#444954',
15
15
  secondary_bright: '#70778B',
16
16
  secondary_dim: '#293042',
@@ -89,7 +89,8 @@ export const createTheme = ({
89
89
  if (!themeType) {
90
90
  throw new Error('Theme type is required');
91
91
  }
92
- return createThemeBase(className || `${themeType}-theme`, merge(baseConfig.theme, theme || {}));
92
+ const mergedTheme = merge(baseConfig.theme, theme || {});
93
+ return createThemeBase(className || `${themeType}-theme`, mergedTheme);
93
94
  };
94
95
 
95
96
  export type CSS = Stitches.CSS<typeof HmsStitches>;
@@ -18,7 +18,7 @@ const Container = styled('div', {
18
18
  display: 'flex',
19
19
  justifyContent: 'center',
20
20
  alignItems: 'center',
21
- background: '$surface_default',
21
+ background: '$background_default',
22
22
  variants: {
23
23
  transparentBg: {
24
24
  true: {
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["<define:process.env>", "../src/Theme/stitches.config.ts", "../src/Theme/base.config.ts", "../src/utils/styles.ts", "../src/IconButton/IconButton.tsx", "../src/IconButton/index.tsx", "../src/utils/animations.ts", "../src/Tooltip/Tooltip.tsx", "../src/Tooltip/index.ts", "../src/Prebuilt/common/constants.js", "../src/Prebuilt/IconButton.jsx"],
4
- "sourcesContent": ["", "import type * as Stitches from '@stitches/react';\nimport { createStitches } from '@stitches/react';\nimport merge from 'lodash.merge';\nimport { baseConfig, defaultMedia, defaultThemeMap, defaultUtils } from './base.config';\n\nconst HmsStitches = createStitches({\n prefix: 'hms-ui',\n theme: {\n ...baseConfig.theme,\n colors: {\n ...baseConfig.theme.colors,\n },\n },\n media: defaultMedia,\n utils: defaultUtils,\n themeMap: defaultThemeMap,\n});\n\nexport const {\n theme,\n createTheme: createThemeBase,\n styled,\n globalCss,\n keyframes,\n css,\n getCssText,\n config,\n} = HmsStitches;\n\nexport const globalStyles = globalCss({\n '*': {\n fontFamily: '$sans',\n boxSizing: 'border-box',\n borderWidth: 0,\n borderStyle: 'solid',\n },\n body: {\n margin: 0,\n },\n '#root': {\n height: '100%',\n overscrollBehaviorY: 'none',\n },\n '::-webkit-scrollbar-track': {\n WebkitBoxShadow: 'inset 0 0 6px rgba(0, 0, 0, 0.3)',\n boxShadow: 'inset 0 0 6px rgba(0, 0, 0, 0.3)',\n backgroundColor: 'transparent',\n },\n '::-webkit-scrollbar': {\n width: '6px',\n height: '6px',\n backgroundColor: 'transparent',\n },\n '::-webkit-scrollbar-thumb': {\n backgroundColor: '#657080',\n borderRadius: '5px',\n },\n /**\n * needed for safari. Safari\n * adds background color on its own\n * on hls-viewer on fullscreen\n */\n '#hls-viewer-dark:fullscreen': {\n backgroundColor: 'black !important',\n },\n\n '#hls-viewer-light:fullscreen': {\n backgroundColor: 'white !important',\n },\n});\n\nexport type ThemeType = 'default';\nexport type Theme = typeof HmsStitches.theme;\n\n/**\n * This method will be used to create custom themes or update any theme values\n * @param { type: ThemeType; className: string; theme: Theme }\n * @returns\n */\nexport const createTheme = ({\n themeType,\n theme,\n className,\n}: {\n themeType: ThemeType;\n className?: string;\n theme?: Partial<Theme>;\n}) => {\n if (!themeType) {\n throw new Error('Theme type is required');\n }\n return createThemeBase(className || `${themeType}-theme`, merge(baseConfig.theme, theme || {}));\n};\n\nexport type CSS = Stitches.CSS<typeof HmsStitches>;\n", "import type * as Stitches from '@stitches/react';\nimport { defaultThemeMap as defaultStitchesThemeMap } from '@stitches/react';\n\nexport const baseConfig = {\n theme: {\n colors: {\n primary_default: '#2572ED',\n primary_bright: '#538DFF',\n primary_dim: '#002D6D',\n primary_disabled: '#004299',\n on_primary_high: '#FFFFFF',\n on_primary_medium: '#DADADA',\n on_primary_low: '#ABABAB',\n secondary_default: '#444954',\n secondary_bright: '#70778B',\n secondary_dim: '#293042',\n secondary_disabled: '#404759',\n on_secondary_high: '#FFFFFF',\n on_secondary_medium: '#D3D9F0',\n on_secondary_low: '#A4ABC0',\n background_default: '#0B0E15',\n background_dim: '#000000',\n surface_default: '#191B23',\n surface_bright: '#272A31',\n surface_brighter: '#2E3038',\n surface_dim: '#11131A',\n on_surface_high: '#EFF0FA',\n on_surface_medium: '#C5C6D0',\n on_surface_low: '#8F9099',\n border_default: '#1D1F27',\n border_bright: '#272A31',\n alert_success: '#36B37E',\n alert_warning: '#FFAB00',\n alert_error_default: '#C74E5B',\n alert_error_bright: '#FFB2B6',\n alert_error_brighter: '#FFEDEC',\n alert_error_dim: '#270005',\n },\n shadows: {\n sm: '0 0 4px 0 #0000004D',\n md: '0 0 8px 0 #0000004D',\n },\n fonts: {\n sans: 'Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif',\n },\n fontSizes: {\n h1: '6rem',\n h2: '3.75rem',\n h3: '3rem',\n h4: '2.125rem',\n h5: '1.5rem',\n h6: '1.25rem',\n tiny: '0.625rem',\n xs: '0.75rem',\n sm: '0.875rem',\n md: '1rem',\n lg: '1.125rem',\n },\n fontWeights: {\n semiBold: 600,\n medium: 500,\n regular: 400,\n },\n lineHeights: {\n h1: '5.75rem',\n h2: '3.5rem',\n h3: '3.25rem',\n h4: '2.5rem',\n h5: '2rem',\n h6: '1.5rem',\n tiny: '1rem',\n xs: '1rem',\n sm: '1.25rem',\n md: '1.5rem',\n },\n radii: {\n '0': '0.25rem',\n '1': '0.5rem',\n '2': '0.75rem',\n '3': '1rem',\n '4': '1.5rem',\n round: '100rem',\n },\n space: {\n 0: '0rem',\n xs: '0.5rem',\n sm: '0.75rem',\n md: '1rem',\n lg: '1.25rem',\n xl: '2.25rem',\n px: '1px',\n 1: '0.125rem',\n 2: '0.25rem',\n 3: '0.375rem',\n 4: '0.5rem',\n 5: '0.625rem',\n 6: '0.75rem',\n 7: '0.875rem',\n 8: '1rem',\n 9: '1.25rem',\n 10: '1.5rem',\n 11: '1.75rem',\n 12: '2rem',\n 13: '2.25rem',\n 14: '2.5rem',\n 15: '2.75rem',\n 16: '3rem',\n 17: '3.5rem',\n 18: '4rem',\n 19: '4.25rem',\n 20: '5rem',\n 24: '6rem',\n 28: '7rem',\n 32: '8rem',\n 36: '9rem',\n 40: '10rem',\n 44: '11rem',\n 48: '12rem',\n 52: '13rem',\n 56: '14rem',\n 60: '15rem',\n 64: '16rem',\n 72: '18rem',\n 80: '20rem',\n 96: '24rem',\n 100: '27rem',\n },\n borderWidths: {\n light: '1px',\n normal: '2px',\n bold: '3px',\n extrabold: '4px',\n black: '5px',\n },\n },\n};\n\nexport const defaultUtils = {\n bg: (value: Stitches.PropertyValue<'backgroundColor'>) => ({\n backgroundColor: value,\n }),\n c: (value: Stitches.PropertyValue<'color'>) => ({\n color: value,\n }),\n r: (value: Stitches.ScaleValue<'radii'>) => ({\n borderRadius: value,\n }),\n fs: (value: Stitches.PropertyValue<'fontSize'> | number | string) => ({\n fontSize: value,\n }),\n size: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n height: value,\n width: value,\n }),\n w: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n width: value,\n }),\n h: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n height: value,\n }),\n p: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n padding: value,\n }),\n pt: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n paddingTop: value,\n }),\n pr: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n paddingRight: value,\n }),\n pb: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n paddingBottom: value,\n }),\n pl: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n paddingLeft: value,\n }),\n px: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n paddingLeft: value,\n paddingRight: value,\n }),\n py: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n paddingTop: value,\n paddingBottom: value,\n }),\n m: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n margin: value,\n }),\n mt: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n marginTop: value,\n }),\n mr: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n marginRight: value,\n }),\n mb: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n marginBottom: value,\n }),\n ml: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n marginLeft: value,\n }),\n mx: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n marginLeft: value,\n marginRight: value,\n }),\n my: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n marginTop: value,\n marginBottom: value,\n }),\n};\n\nexport const defaultMedia = {\n allowMotion: '(prefers-reduced-motion: no-preference)',\n sm: '(max-width: 640px)',\n md: '(max-width: 768px)',\n lg: '(max-width: 1024px)',\n xl: '(max-width: 1280px)',\n '2xl': '(max-width: 1536px)',\n ls: '(max-width: 1024px) and (orientation: landscape)',\n};\n\nexport const defaultThemeMap = {\n ...defaultStitchesThemeMap,\n width: 'space',\n height: 'space',\n minWidth: 'space',\n maxWidth: 'space',\n minHeight: 'space',\n maxHeight: 'space',\n flexBasis: 'space',\n gridTemplateColumns: 'space',\n gridTemplateRows: 'space',\n blockSize: 'space',\n minBlockSize: 'space',\n maxBlockSize: 'space',\n inlineSize: 'space',\n minInlineSize: 'space',\n maxInlineSize: 'space',\n};\n", "/**\n * Flex based centering helper styles\n */\nexport const flexCenter = {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n};\n\n/**\n * Gives styles for text ellipsis, with given width as maxWidth.\n * A number in pixels or css width string value can be passed\n * @param {number|string} width\n * @returns\n */\nexport const textEllipsis = (width: number | string) => ({\n maxWidth: width,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n minWidth: 0,\n});\n", "import { styled } from '../Theme';\nimport { flexCenter } from '../utils/styles';\n\nexport const IconButton = styled('button', {\n ...flexCenter,\n alignItems: 'center',\n outline: 'none',\n border: 'none',\n padding: '$2',\n r: '$0',\n cursor: 'pointer',\n backgroundColor: 'transparent',\n color: '$on_surface_high',\n '&:not([disabled]):focus-visible': {\n boxShadow: '0 0 0 3px $colors$primary_default',\n },\n '&:not([disabled]):focus': {\n outline: 'none',\n },\n '&:not([disabled]):hover': {\n backgroundColor: '$on_surface_low',\n },\n '&[disabled]': {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n '&:focus': {\n outline: 'none',\n },\n variants: {\n active: {\n false: {\n backgroundColor: '$secondary_dim',\n color: '$on_primary_high',\n '&:not([disabled]):hover': {\n backgroundColor: '$secondary_default',\n },\n },\n true: {\n '&:not([disabled]):hover': {\n backgroundColor: '$on_surface_low',\n },\n },\n },\n },\n});\n", "export { IconButton } from './IconButton';\n", "import { keyframes } from '../Theme';\n\nexport const slideDown = (controller: string) =>\n keyframes({\n from: { height: 0 },\n to: { height: `var(${controller})` },\n });\n\nexport const slideUp = (controller: string) =>\n keyframes({\n from: { height: `var(${controller})` },\n to: { height: 0 },\n });\n\nexport const dialogOpen = keyframes({\n '0%': { opacity: 0, transform: 'translate(-50%, -48%) scale(.90)' },\n '100%': { opacity: 1, transform: 'translate(-50%, -50%) scale(1)' },\n});\n\nexport const dialogClose = keyframes({\n '0%': { opacity: 1, transform: 'translate(-50%, -50%) scale(1)' },\n '100%': { opacity: 0, transform: 'translate(-50%, -48%) scale(.90)' },\n});\n\nexport const slideUpAndFade = (start = '2px') =>\n keyframes({\n '0%': { opacity: 0, transform: `translateY(${start})` },\n '100%': { opacity: 1, transform: 'translateY(0)' },\n });\n\nexport const slideRightAndFade = (start = '-2px') =>\n keyframes({\n '0%': { opacity: 0, transform: `translateX(${start})` },\n '100%': { opacity: 1, transform: 'translateX(0)' },\n });\n\nexport const slideDownAndFade = (start = '-2px') =>\n keyframes({\n '0%': { opacity: 0, transform: `translateY(${start})` },\n '100%': { opacity: 1, transform: 'translateY(0)' },\n });\n\nexport const slideLeftAndFade = (start = '2px') =>\n keyframes({\n '0%': { opacity: 0, transform: `translateX(${start})` },\n '100%': { opacity: 1, transform: 'translateX(0)' },\n });\n\nconst slideLeftAndFadeOut = (end = '-100%') =>\n keyframes({\n '0%': { opacity: 1, transform: `translateX(0)` },\n '100%': { opacity: 0, transform: `translateX(${end})` },\n });\n\nexport const popoverAnimation = {\n '@media (prefers-reduced-motion: no-preference)': {\n animationDuration: '400ms',\n animationTimingFunction: 'cubic-bezier(0.16, 1, 0.3, 1)',\n willChange: 'transform, opacity',\n '&[data-state=\"open\"]': {\n '&[data-side=\"top\"]': { animationName: slideDownAndFade() },\n '&[data-side=\"right\"]': { animationName: slideLeftAndFade() },\n '&[data-side=\"bottom\"]': { animationName: slideUpAndFade() },\n '&[data-side=\"left\"]': { animationName: slideRightAndFade() },\n },\n },\n};\n\nexport const toastAnimation = {\n '@media (prefers-reduced-motion: no-preference)': {\n animationDuration: '500ms',\n animationTimingFunction: 'cubic-bezier(0.16, 1, 0.3, 1)',\n willChange: 'transform, opacity',\n animationName: slideLeftAndFadeOut(),\n\n '&[data-state=\"open\"]': {\n animationName: slideRightAndFade('-100%'),\n },\n '&[data-swipe=\"move\"]': {\n transform: 'translateX(var(--radix-toast-swipe-move-x))',\n },\n '&[data-swipe=\"cancel\"]': {\n transform: 'translateX(0)',\n transition: 'transform 200ms ease-out',\n },\n '&[data-swipe=\"end\"]': {\n animation: `${slideLeftAndFadeOut()} 100ms ease-out forwards`,\n },\n },\n};\n", "import React, { PropsWithChildren, useState } from 'react';\nimport * as BaseTooltip from '@radix-ui/react-tooltip';\nimport { CSS, styled } from '../Theme';\nimport { slideDownAndFade, slideLeftAndFade, slideRightAndFade, slideUpAndFade } from '../utils';\n\nconst TooltipBox = styled(BaseTooltip.Content, {\n fontFamily: '$sans',\n borderRadius: '$2',\n padding: '$2 $4',\n fontSize: '$xs',\n\n color: '$on_surface_high',\n backgroundColor: '$surface_bright',\n '@media (prefers-reduced-motion: no-preference)': {\n animationDuration: '400ms',\n animationTimingFunction: 'cubic-bezier(0.16, 1, 0.3, 1)',\n willChange: 'transform, opacity',\n '&[data-state=\"delayed-open\"]': {\n '&[data-side=\"top\"]': { animationName: slideDownAndFade() },\n '&[data-side=\"right\"]': { animationName: slideLeftAndFade() },\n '&[data-side=\"bottom\"]': { animationName: slideUpAndFade() },\n '&[data-side=\"left\"]': { animationName: slideRightAndFade() },\n },\n },\n variants: {\n outlined: {\n true: {\n backgroundColor: '$background_dim',\n border: 'solid $space$px $border_bright',\n },\n },\n },\n});\n\nconst TooltipTrigger = styled(BaseTooltip.Trigger, {\n fontFamily: '$sans',\n});\n\nconst TooltipRoot = BaseTooltip.Root;\nexport type alignTooltip = 'end' | 'center' | 'start' | undefined;\nexport type sideTooltip = 'bottom' | 'left' | 'right' | 'top' | undefined;\n\nexport const Tooltip: React.FC<\n PropsWithChildren<{\n title: React.ReactNode | string;\n outlined?: boolean;\n side?: sideTooltip;\n align?: alignTooltip;\n disabled?: boolean;\n triggerCss?: CSS;\n boxCss?: CSS;\n delayDuration?: number;\n }>\n> = ({\n children,\n title,\n triggerCss,\n boxCss,\n outlined = true,\n side = 'bottom',\n align = 'center',\n disabled = false,\n delayDuration = 200,\n}) => {\n const [open, setOpen] = useState(false);\n\n return (\n <BaseTooltip.Provider>\n <TooltipRoot delayDuration={delayDuration} open={open && !disabled} onOpenChange={setOpen}>\n <TooltipTrigger css={{ ...triggerCss }} asChild>\n {children}\n </TooltipTrigger>\n <TooltipBox sideOffset={10} side={side} align={align} outlined={outlined} css={{ ...boxCss }}>\n {title}\n </TooltipBox>\n </TooltipRoot>\n </BaseTooltip.Provider>\n );\n};\n", "export { Tooltip } from './Tooltip';\n", "import { parsedUserAgent } from '@100mslive/react-sdk';\n\nexport const defaultAudioList = [\n {\n name: 'Audio1',\n id: 'audio1',\n metadata: {\n description: 'Artist1',\n },\n url: 'https://bc-public-static-assets.s3.ap-south-1.amazonaws.com/webapp/playlist/audio1.mp3',\n type: 'audio',\n },\n {\n name: 'Audio2',\n id: 'audio2',\n metadata: {\n description: 'Artist2',\n },\n url: 'https://bc-public-static-assets.s3.ap-south-1.amazonaws.com/webapp/playlist/audio2.mp3',\n type: 'audio',\n },\n {\n name: 'Audio3',\n id: 'audio3',\n metadata: {\n description: 'Artist3',\n },\n url: 'https://bc-public-static-assets.s3.ap-south-1.amazonaws.com/webapp/playlist/audio3.mp3',\n type: 'audio',\n },\n {\n name: 'Audio4',\n id: 'audio4',\n metadata: {\n description: 'Artist4',\n },\n url: 'https://bc-public-static-assets.s3.ap-south-1.amazonaws.com/webapp/playlist/audio4.mp3',\n type: 'audio',\n },\n {\n name: 'Audio5',\n id: 'audio5',\n metadata: {\n description: 'Artist5',\n },\n url: 'https://bc-public-static-assets.s3.ap-south-1.amazonaws.com/webapp/playlist/audio5.mp3',\n type: 'audio',\n },\n {\n name: 'Audio6',\n id: 'audio6',\n metadata: {\n description: 'Artist6',\n },\n url: 'https://bc-public-static-assets.s3.ap-south-1.amazonaws.com/webapp/playlist/audio6.mp3',\n type: 'audio',\n },\n];\n\nexport const defaultVideoList = [\n {\n name: 'Video1',\n id: 'video1',\n metadata: {\n description: 'Artist1',\n },\n url: 'https://bc-public-static-assets.s3.ap-south-1.amazonaws.com/webapp/playlist/video1.mp4',\n type: 'video',\n },\n {\n name: 'Video2',\n id: 'video2',\n metadata: {\n description: 'Artist2',\n },\n url: 'https://bc-public-static-assets.s3.ap-south-1.amazonaws.com/webapp/playlist/video2.mp4',\n type: 'video',\n },\n {\n name: 'Video3',\n id: 'video3',\n metadata: {\n description: 'Artist2',\n },\n url: 'https://bc-public-static-assets.s3.ap-south-1.amazonaws.com/webapp/playlist/video3.mp4',\n type: 'video',\n },\n];\n\nexport const DEFAULT_HLS_ROLE_KEY = 'HLS_VIEWER_ROLE';\nexport const DEFAULT_HLS_VIEWER_ROLE = 'hls-viewer';\nexport const DEFAULT_WAITING_VIEWER_ROLE = 'waiting-room';\nexport const QUERY_PARAM_SKIP_PREVIEW = 'skip_preview';\nexport const QUERY_PARAM_SKIP_PREVIEW_HEADFUL = 'skip_preview_headful';\nexport const QUERY_PARAM_NAME = 'name';\nexport const QUERY_PARAM_VIEW_MODE = 'ui_mode';\nexport const QUERY_PARAM_AUTH_TOKEN = 'auth_token';\nexport const QUERY_PARAM_PREVIEW_AS_ROLE = 'preview_as_role';\nexport const UI_MODE_ACTIVE_SPEAKER = 'activespeaker';\nexport const UI_MODE_GRID = 'grid';\nexport const MAX_TOASTS = 5;\nexport const RTMP_RECORD_RESOLUTION_MIN = 480;\nexport const RTMP_RECORD_RESOLUTION_MAX = 1280;\nexport const RTMP_RECORD_DEFAULT_RESOLUTION = {\n width: 1280,\n height: 720,\n};\nexport const EMOJI_REACTION_TYPE = 'EMOJI_REACTION';\n\nexport const CHAT_SELECTOR = {\n PEER_ID: 'peer_id',\n ROLE: 'role',\n};\n\nexport const APP_DATA = {\n uiSettings: 'uiSettings',\n chatOpen: 'chatOpen',\n chatSelector: 'chatSelector',\n chatDraft: 'chatDraft',\n appConfig: 'appConfig',\n sidePane: 'sidePane',\n hlsStats: 'hlsStats',\n hlsViewerRole: 'hlsViewerRole',\n waitingViewerRole: 'waitingViewerRole',\n subscribedNotifications: 'subscribedNotifications',\n logo: 'logo',\n tokenEndpoint: 'tokenEndpoint',\n appLayout: 'appLayout',\n hlsStarted: 'hlsStarted',\n rtmpStarted: 'rtmpStarted',\n recordingStarted: 'recordingStarted',\n embedConfig: 'embedConfig',\n pinnedTrackId: 'pinnedTrackId',\n dropdownList: 'dropdownList',\n authToken: 'authToken',\n pdfConfig: 'pdfConfig',\n};\nexport const UI_SETTINGS = {\n isAudioOnly: 'isAudioOnly',\n isHeadless: 'isHeadless',\n maxTileCount: 'maxTileCount',\n uiViewMode: 'uiViewMode',\n showStatsOnTiles: 'showStatsOnTiles',\n enableAmbientMusic: 'enableAmbientMusic',\n mirrorLocalVideo: 'mirrorLocalVideo',\n activeSpeakerSorting: 'activeSpeakerSorting',\n hideLocalVideo: 'hideLocalVideo',\n};\n\nexport const SIDE_PANE_OPTIONS = {\n PARTICIPANTS: 'Participants',\n CHAT: 'Chat',\n STREAMING: 'STREAMING',\n TILES: 'TILES',\n SCREEN_TILES: 'SCREEN_TILES',\n};\n\nexport const SUBSCRIBED_NOTIFICATIONS = {\n PEER_JOINED: 'PEER_JOINED',\n PEER_LEFT: 'PEER_LEFT',\n METADATA_UPDATED: 'METADATA_UPDATED',\n NEW_MESSAGE: 'NEW_MESSAGE',\n ERROR: 'ERROR',\n};\n\nexport const CREATE_ROOM_DOC_URL = 'https://github.com/100mslive/100ms-web/wiki/Creating-and-joining-a-room';\nexport const HLS_TIMED_METADATA_DOC_URL =\n 'https://www.100ms.live/docs/javascript/v2/how--to-guides/record-and-live-stream/hls/hls-timed-metadata';\n\nexport const REMOTE_STOP_SCREENSHARE_TYPE = 'REMOTE_STOP_SCREENSHARE';\n\nexport const isChrome = parsedUserAgent.getBrowser()?.name?.toLowerCase() === 'chrome';\nexport const isFirefox = parsedUserAgent.getBrowser()?.name?.toLowerCase() === 'firefox';\nexport const isSafari = parsedUserAgent.getBrowser()?.name?.toLowerCase() === 'safari';\nexport const isIOS = parsedUserAgent.getOS()?.name?.toLowerCase() === 'ios';\nexport const isMacOS = parsedUserAgent.getOS()?.name?.toLowerCase() === 'mac os';\nexport const isAndroid = parsedUserAgent.getOS()?.name?.toLowerCase() === 'android';\nexport const isIPadOS = false;\n// typeof navigator !== \"undefined\" &&\n// navigator?.maxTouchPoints &&\n// navigator?.maxTouchPoints > 2 &&\n// navigator?.userAgent?.match(/Mac/);\n\nexport const FEATURE_LIST = {\n AUDIO_ONLY_SCREENSHARE: 'audioscreenshare',\n AUDIO_PLAYLIST: 'audioplaylist',\n VIDEO_PLAYLIST: 'videoplaylist',\n EMOJI_REACTION: 'emojireaction',\n AUDIO_PLUGINS: 'audioplugins',\n VIDEO_PLUGINS: 'videoplugins',\n WHITEBOARD: 'whiteboard',\n CHANGE_NAME: 'changename',\n FULLSCREEN: 'fullscreen',\n PICTURE_IN_PICTURE: 'pip',\n STARTS_FOR_NERDS: 'statsfornerds',\n EMBED_URL: 'embedurl',\n BRB: 'brb',\n HAND_RAISE: 'handraise',\n CHAT: 'chat',\n PIN_TILE: 'pintile',\n};\n\nexport const SESSION_STORE_KEY = {\n TRANSCRIPTION_STATE: 'transcriptionState',\n PINNED_MESSAGE: 'pinnedMessage',\n SPOTLIGHT: 'spotlight',\n};\n", "import { IconButton as BaseIconButton } from '../IconButton';\nimport { styled } from '../Theme';\n\nconst IconButton = styled(BaseIconButton, {\n width: '$14',\n height: '$14',\n border: '1px solid $border_bright',\n r: '$1',\n variants: {\n active: {\n false: {\n border: '1px solid transparent',\n color: '$on_primary_high',\n },\n },\n },\n});\n\nexport default IconButton;\n"],
5
- "mappings": "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",
6
- "names": ["theme", "_a", "_b", "IconButton"]
7
- }