@100mslive/roomkit-react 0.3.22-alpha.1 → 0.3.22-alpha.3
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/ConferenceScreen-CSVWECB5.js +1778 -0
- package/dist/ConferenceScreen-CSVWECB5.js.map +7 -0
- package/dist/ConferenceScreen-YRURU3RV.css +2780 -0
- package/dist/{HLSView-Z2JID2W7.css.map → ConferenceScreen-YRURU3RV.css.map} +1 -1
- package/dist/EmbedView-N2E4DZQA.js +17 -0
- package/dist/EmbedView-N2E4DZQA.js.map +7 -0
- package/dist/EmbedView-S54NTHF5.css +2780 -0
- package/dist/EmbedView-S54NTHF5.css.map +7 -0
- package/dist/EmojiReaction-3X4ST4AU.js +11 -0
- package/dist/EmojiReaction-3X4ST4AU.js.map +7 -0
- package/dist/{HLSView-LCFZPBH3.js → HLSView-EYGGK6BH.js} +38 -24
- package/dist/HLSView-EYGGK6BH.js.map +7 -0
- package/dist/{HLSView-Z2JID2W7.css → HLSView-LBTFLMI4.css} +3 -3
- package/dist/HLSView-LBTFLMI4.css.map +7 -0
- package/dist/LeaveScreen-D6XU64JL.js +556 -0
- package/dist/LeaveScreen-D6XU64JL.js.map +7 -0
- package/dist/LeaveScreen-ZAG5UJZL.css +2780 -0
- package/dist/LeaveScreen-ZAG5UJZL.css.map +7 -0
- package/dist/MoreSettings-R7B4BSNT.css +2780 -0
- package/dist/MoreSettings-R7B4BSNT.css.map +7 -0
- package/dist/MoreSettings-TBJVM7OY.js +16 -0
- package/dist/MoreSettings-TBJVM7OY.js.map +7 -0
- package/dist/PDFView-JOIJDP65.js +84 -0
- package/dist/PDFView-JOIJDP65.js.map +7 -0
- package/dist/PDFView-RMR33QH4.css +2780 -0
- package/dist/PDFView-RMR33QH4.css.map +7 -0
- package/dist/Polls-IN3V2HFI.js +1584 -0
- package/dist/Polls-IN3V2HFI.js.map +7 -0
- package/dist/Polls-JW7JWGTE.css +2780 -0
- package/dist/Polls-JW7JWGTE.css.map +7 -0
- package/dist/Prebuilt/components/Notifications/RoleChangeNotification.d.ts +1 -0
- package/dist/RaiseHand-WES4KKMD.js +10 -0
- package/dist/RaiseHand-WES4KKMD.js.map +7 -0
- package/dist/RoleProminence-4ZBDBCMU.css +2780 -0
- package/dist/RoleProminence-4ZBDBCMU.css.map +7 -0
- package/dist/RoleProminence-PB32DLIB.js +116 -0
- package/dist/RoleProminence-PB32DLIB.js.map +7 -0
- package/dist/RoomDetailsPane-CZH2SNLE.js +53 -0
- package/dist/RoomDetailsPane-CZH2SNLE.js.map +7 -0
- package/dist/RoomDetailsPane-XWH2KEFI.css +2780 -0
- package/dist/RoomDetailsPane-XWH2KEFI.css.map +7 -0
- package/dist/ScreenshareLayout-XVENPVK3.js +358 -0
- package/dist/ScreenshareLayout-XVENPVK3.js.map +7 -0
- package/dist/ScreenshareLayout-YUW3KHAB.css +2780 -0
- package/dist/ScreenshareLayout-YUW3KHAB.css.map +7 -0
- package/dist/SidePaneTabs-QXCDHOGG.js +1354 -0
- package/dist/SidePaneTabs-QXCDHOGG.js.map +7 -0
- package/dist/SidePaneTabs-WQGVOWRP.css +2780 -0
- package/dist/SidePaneTabs-WQGVOWRP.css.map +7 -0
- package/dist/VBPicker-XN74N67R.js +322 -0
- package/dist/VBPicker-XN74N67R.js.map +7 -0
- package/dist/VBPicker-YDM2YIOM.css +2780 -0
- package/dist/VBPicker-YDM2YIOM.css.map +7 -0
- package/dist/WaitingView-77PRTIBV.js +10 -0
- package/dist/WaitingView-77PRTIBV.js.map +7 -0
- package/dist/WhiteboardLayout-FZC7SOSG.js +96 -0
- package/dist/WhiteboardLayout-FZC7SOSG.js.map +7 -0
- package/dist/WhiteboardLayout-MNTUWEVK.css +2780 -0
- package/dist/WhiteboardLayout-MNTUWEVK.css.map +7 -0
- package/dist/android-perm-1.png +0 -0
- package/dist/audio-level.png +0 -0
- package/dist/chunk-26D5FDBW.js +16812 -0
- package/dist/chunk-26D5FDBW.js.map +7 -0
- package/dist/chunk-2J5WS52X.js +2595 -0
- package/dist/chunk-2J5WS52X.js.map +7 -0
- package/dist/chunk-2LWOQMYY.js +30 -0
- package/dist/chunk-2LWOQMYY.js.map +7 -0
- package/dist/chunk-3MRQJSIY.js +171 -0
- package/dist/chunk-3MRQJSIY.js.map +7 -0
- package/dist/chunk-4X4WB7X3.js +98 -0
- package/dist/chunk-4X4WB7X3.js.map +7 -0
- package/dist/chunk-7QZJMUHM.js +90 -0
- package/dist/chunk-7QZJMUHM.js.map +7 -0
- package/dist/chunk-ABCV7TX5.js +71 -0
- package/dist/chunk-ABCV7TX5.js.map +7 -0
- package/dist/chunk-BQOT4DK7.js +418 -0
- package/dist/chunk-BQOT4DK7.js.map +7 -0
- package/dist/chunk-ENHSO6YN.js +6337 -0
- package/dist/chunk-ENHSO6YN.js.map +7 -0
- package/dist/chunk-JKWX7W4K.js +161 -0
- package/dist/chunk-JKWX7W4K.js.map +7 -0
- package/dist/chunk-LO4BXA4G.js +114 -0
- package/dist/chunk-LO4BXA4G.js.map +7 -0
- package/dist/chunk-MRVWNFXC.js +59 -0
- package/dist/chunk-MRVWNFXC.js.map +7 -0
- package/dist/chunk-OA4HW7HW.js +262 -0
- package/dist/chunk-OA4HW7HW.js.map +7 -0
- package/dist/chunk-PJQSPAFZ.js +178 -0
- package/dist/chunk-PJQSPAFZ.js.map +7 -0
- package/dist/chunk-QHQKY35W.js +830 -0
- package/dist/chunk-QHQKY35W.js.map +7 -0
- package/dist/chunk-QKXHQ6DV.js +254 -0
- package/dist/chunk-QKXHQ6DV.js.map +7 -0
- package/dist/chunk-RTWNTT77.js +62 -0
- package/dist/chunk-RTWNTT77.js.map +7 -0
- package/dist/chunk-TBXRX6MK.js +576 -0
- package/dist/chunk-TBXRX6MK.js.map +7 -0
- package/dist/chunk-TCOPR3BK.js +487 -0
- package/dist/chunk-TCOPR3BK.js.map +7 -0
- package/dist/chunk-VKORP2LF.js +41 -0
- package/dist/chunk-VKORP2LF.js.map +7 -0
- package/dist/chunk-YYVDCP5Z.js +136 -0
- package/dist/chunk-YYVDCP5Z.js.map +7 -0
- package/dist/empty-chat.svg +12 -0
- package/dist/index.cjs.css +2 -2
- package/dist/index.cjs.css.map +1 -1
- package/dist/index.cjs.js +17888 -17792
- package/dist/index.cjs.js.map +4 -4
- package/dist/index.css +2 -2
- package/dist/index.css.map +1 -1
- package/dist/index.js +25 -15
- package/dist/ios-perm-0.png +0 -0
- package/dist/meta.cjs.json +5326 -5184
- package/dist/meta.esbuild.json +8960 -6320
- package/dist/pdf-share.png +0 -0
- package/dist/screen-share.png +0 -0
- package/dist/transaction_error.svg +12 -0
- package/package.json +7 -7
- package/src/Prebuilt/App.tsx +6 -2
- package/src/Prebuilt/components/Chat/Chat.tsx +12 -8
- package/src/Prebuilt/components/Chat/ChatFooter.tsx +1 -1
- package/src/Prebuilt/components/Notifications/Notifications.tsx +2 -0
- package/src/Prebuilt/components/Notifications/PeerNotifications.tsx +0 -14
- package/src/Prebuilt/components/Notifications/RoleChangeNotification.tsx +24 -0
- package/src/Prebuilt/components/VideoLayouts/GridLayout.tsx +43 -31
- package/src/Prebuilt/layouts/HLSView.jsx +1 -0
- package/src/Prebuilt/layouts/PDFView.jsx +1 -0
- package/src/Prebuilt/layouts/SidePane.tsx +12 -6
- package/src/Prebuilt/layouts/VideoStreamingSection.tsx +35 -34
- package/dist/HLSView-LCFZPBH3.js.map +0 -7
- package/dist/chunk-CRGZUJSX.js +0 -34811
- package/dist/chunk-CRGZUJSX.js.map +0 -7
@@ -0,0 +1,161 @@
|
|
1
|
+
import {
|
2
|
+
init_define_process_env,
|
3
|
+
styled
|
4
|
+
} from "./chunk-TBXRX6MK.js";
|
5
|
+
|
6
|
+
// src/Text/Text.tsx
|
7
|
+
init_define_process_env();
|
8
|
+
var textVariants = {
|
9
|
+
h1: {
|
10
|
+
fontWeight: "$semiBold",
|
11
|
+
letterSpacing: "-1.5px",
|
12
|
+
fontSize: "$h1",
|
13
|
+
lineHeight: "$h1",
|
14
|
+
"@md": {
|
15
|
+
fontSize: "4.5rem",
|
16
|
+
lineHeight: "4.75rem"
|
17
|
+
}
|
18
|
+
},
|
19
|
+
h2: {
|
20
|
+
fontSize: "$h2",
|
21
|
+
lineHeight: "$h2",
|
22
|
+
fontWeight: "$semiBold",
|
23
|
+
letterSpacing: "-0.5px",
|
24
|
+
"@md": {
|
25
|
+
fontSize: "3rem",
|
26
|
+
lineHeight: "3.25rem"
|
27
|
+
}
|
28
|
+
},
|
29
|
+
h3: {
|
30
|
+
fontSize: "$h3",
|
31
|
+
lineHeight: "$h3",
|
32
|
+
fontWeight: "$semiBold",
|
33
|
+
"@md": {
|
34
|
+
fontSize: "2.5rem",
|
35
|
+
lineHeight: "2.75rem"
|
36
|
+
}
|
37
|
+
},
|
38
|
+
h4: {
|
39
|
+
fontSize: "$h4",
|
40
|
+
lineHeight: "$h4",
|
41
|
+
fontWeight: "$semiBold",
|
42
|
+
letterSpacing: "0.25px",
|
43
|
+
"@md": {
|
44
|
+
fontSize: "1.75rem",
|
45
|
+
lineHeight: "2rem"
|
46
|
+
}
|
47
|
+
},
|
48
|
+
h5: {
|
49
|
+
fontSize: "$h5",
|
50
|
+
lineHeight: "$h5",
|
51
|
+
fontWeight: "$semiBold",
|
52
|
+
"@md": {
|
53
|
+
fontSize: "1.5rem",
|
54
|
+
lineHeight: "1.75rem"
|
55
|
+
}
|
56
|
+
},
|
57
|
+
h6: {
|
58
|
+
fontSize: "$h6",
|
59
|
+
lineHeight: "$h6",
|
60
|
+
fontWeight: "$semiBold",
|
61
|
+
letterSpacing: "0.15px",
|
62
|
+
"@md": {
|
63
|
+
fontSize: "1.25rem",
|
64
|
+
lineHeight: "1.5rem"
|
65
|
+
}
|
66
|
+
},
|
67
|
+
sub1: {
|
68
|
+
fontSize: "$md",
|
69
|
+
lineHeight: "$h5",
|
70
|
+
fontWeight: "$medium",
|
71
|
+
letterSpacing: "0.15px"
|
72
|
+
},
|
73
|
+
sub2: {
|
74
|
+
fontSize: "$sm",
|
75
|
+
lineHeight: "$sm",
|
76
|
+
fontWeight: "$medium",
|
77
|
+
letterSpacing: "0.1px"
|
78
|
+
},
|
79
|
+
body1: {
|
80
|
+
fontSize: "$md",
|
81
|
+
lineHeight: "$h6",
|
82
|
+
fontWeight: "$medium",
|
83
|
+
letterSpacing: "0.1px"
|
84
|
+
},
|
85
|
+
body2: {
|
86
|
+
fontSize: "0.875rem",
|
87
|
+
lineHeight: "1.25rem",
|
88
|
+
fontWeight: "$medium",
|
89
|
+
letterSpacing: "0.25px"
|
90
|
+
},
|
91
|
+
button: {
|
92
|
+
fontSize: "1rem",
|
93
|
+
lineHeight: "1.5rem",
|
94
|
+
fontWeight: "$semiBold",
|
95
|
+
letterSpacing: "0.5px"
|
96
|
+
},
|
97
|
+
caption: {
|
98
|
+
fontSize: "0.75rem",
|
99
|
+
lineHeight: "1rem",
|
100
|
+
letterSpacing: "0.4px",
|
101
|
+
fontWeight: "$regular"
|
102
|
+
},
|
103
|
+
overline: {
|
104
|
+
fontSize: "0.625rem",
|
105
|
+
lineHeight: "1rem",
|
106
|
+
letterSpacing: "1.5px",
|
107
|
+
fontWeight: "$medium"
|
108
|
+
},
|
109
|
+
tiny: {
|
110
|
+
fontSize: "$tiny",
|
111
|
+
lineHeight: "$tiny"
|
112
|
+
},
|
113
|
+
xs: {
|
114
|
+
fontSize: "$xs",
|
115
|
+
lineHeight: "$xs"
|
116
|
+
},
|
117
|
+
sm: {
|
118
|
+
fontSize: "$sm",
|
119
|
+
lineHeight: "$sm"
|
120
|
+
},
|
121
|
+
md: {
|
122
|
+
fontSize: "$md",
|
123
|
+
lineHeight: "$md"
|
124
|
+
},
|
125
|
+
lg: {
|
126
|
+
fontSize: "$lg",
|
127
|
+
lineHeight: "$md",
|
128
|
+
fontWeight: "$semiBold",
|
129
|
+
letterSpacing: "0.15px"
|
130
|
+
}
|
131
|
+
};
|
132
|
+
var Text = styled("p", {
|
133
|
+
fontFamily: "$sans",
|
134
|
+
fontWeight: "$regular",
|
135
|
+
margin: 0,
|
136
|
+
color: "$on_surface_high",
|
137
|
+
variants: {
|
138
|
+
variant: textVariants,
|
139
|
+
color: {
|
140
|
+
white: {
|
141
|
+
color: "$on_surface_high"
|
142
|
+
}
|
143
|
+
},
|
144
|
+
inline: {
|
145
|
+
true: {
|
146
|
+
display: "inline"
|
147
|
+
}
|
148
|
+
}
|
149
|
+
},
|
150
|
+
defaultVariants: {
|
151
|
+
variant: "md"
|
152
|
+
}
|
153
|
+
});
|
154
|
+
|
155
|
+
// src/Text/index.tsx
|
156
|
+
init_define_process_env();
|
157
|
+
|
158
|
+
export {
|
159
|
+
Text
|
160
|
+
};
|
161
|
+
//# sourceMappingURL=chunk-JKWX7W4K.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../src/Text/Text.tsx", "../src/Text/index.tsx"],
|
4
|
+
"sourcesContent": ["import { styled } from '../Theme';\n\nexport const textVariants = {\n h1: {\n fontWeight: '$semiBold',\n letterSpacing: '-1.5px',\n fontSize: '$h1',\n lineHeight: '$h1',\n '@md': {\n fontSize: '4.5rem',\n lineHeight: '4.75rem',\n },\n },\n h2: {\n fontSize: '$h2',\n lineHeight: '$h2',\n fontWeight: '$semiBold',\n letterSpacing: '-0.5px',\n '@md': {\n fontSize: '3rem',\n lineHeight: '3.25rem',\n },\n },\n h3: {\n fontSize: '$h3',\n lineHeight: '$h3',\n fontWeight: '$semiBold',\n '@md': {\n fontSize: '2.5rem',\n lineHeight: '2.75rem',\n },\n },\n h4: {\n fontSize: '$h4',\n lineHeight: '$h4',\n fontWeight: '$semiBold',\n letterSpacing: '0.25px',\n '@md': {\n fontSize: '1.75rem',\n lineHeight: '2rem',\n },\n },\n h5: {\n fontSize: '$h5',\n lineHeight: '$h5',\n fontWeight: '$semiBold',\n '@md': {\n fontSize: '1.5rem',\n lineHeight: '1.75rem',\n },\n },\n h6: {\n fontSize: '$h6',\n lineHeight: '$h6',\n fontWeight: '$semiBold',\n letterSpacing: '0.15px',\n '@md': {\n fontSize: '1.25rem',\n lineHeight: '1.5rem',\n },\n },\n sub1: {\n fontSize: '$md',\n lineHeight: '$h5',\n fontWeight: '$medium',\n letterSpacing: '0.15px',\n },\n sub2: {\n fontSize: '$sm',\n lineHeight: '$sm',\n fontWeight: '$medium',\n letterSpacing: '0.1px',\n },\n body1: {\n fontSize: '$md',\n lineHeight: '$h6',\n fontWeight: '$medium',\n letterSpacing: '0.1px',\n },\n body2: {\n fontSize: '0.875rem',\n lineHeight: '1.25rem',\n fontWeight: '$medium',\n letterSpacing: '0.25px',\n },\n button: {\n fontSize: '1rem',\n lineHeight: '1.5rem',\n fontWeight: '$semiBold',\n letterSpacing: '0.5px',\n },\n caption: {\n fontSize: '0.75rem',\n lineHeight: '1rem',\n letterSpacing: '0.4px',\n fontWeight: '$regular',\n },\n overline: {\n fontSize: '0.625rem',\n lineHeight: '1rem',\n letterSpacing: '1.5px',\n fontWeight: '$medium',\n },\n tiny: {\n fontSize: '$tiny',\n lineHeight: '$tiny',\n },\n xs: {\n fontSize: '$xs',\n lineHeight: '$xs',\n },\n sm: {\n fontSize: '$sm',\n lineHeight: '$sm',\n },\n md: {\n fontSize: '$md',\n lineHeight: '$md',\n },\n lg: {\n fontSize: '$lg',\n lineHeight: '$md',\n fontWeight: '$semiBold',\n letterSpacing: '0.15px',\n },\n};\n\nexport const Text = styled('p', {\n fontFamily: '$sans',\n fontWeight: '$regular',\n margin: 0,\n color: '$on_surface_high',\n variants: {\n variant: textVariants,\n color: {\n white: {\n color: '$on_surface_high',\n },\n },\n inline: {\n true: {\n display: 'inline',\n },\n },\n },\n defaultVariants: {\n variant: 'md',\n },\n});\n", "export { Text } from './Text';\n"],
|
5
|
+
"mappings": "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",
|
6
|
+
"names": []
|
7
|
+
}
|
@@ -0,0 +1,114 @@
|
|
1
|
+
import {
|
2
|
+
Dropdown,
|
3
|
+
useDropdownList,
|
4
|
+
useLandscapeHLSStream,
|
5
|
+
useMobileHLSStream
|
6
|
+
} from "./chunk-BQOT4DK7.js";
|
7
|
+
import {
|
8
|
+
Box,
|
9
|
+
Flex
|
10
|
+
} from "./chunk-7QZJMUHM.js";
|
11
|
+
import {
|
12
|
+
IconButton_default,
|
13
|
+
Tooltip,
|
14
|
+
useRoomLayoutConferencingScreen
|
15
|
+
} from "./chunk-ENHSO6YN.js";
|
16
|
+
import {
|
17
|
+
EMOJI_REACTION_TYPE,
|
18
|
+
__async,
|
19
|
+
config,
|
20
|
+
init_define_process_env,
|
21
|
+
styled
|
22
|
+
} from "./chunk-TBXRX6MK.js";
|
23
|
+
|
24
|
+
// src/Prebuilt/components/EmojiReaction.jsx
|
25
|
+
init_define_process_env();
|
26
|
+
import React2, { useState } from "react";
|
27
|
+
import { useMedia } from "react-use";
|
28
|
+
import data from "@emoji-mart/data/sets/14/apple.json";
|
29
|
+
import { init } from "emoji-mart";
|
30
|
+
import {
|
31
|
+
selectAvailableRoleNames,
|
32
|
+
selectIsConnectedToRoom,
|
33
|
+
selectLocalPeerID,
|
34
|
+
useCustomEvent,
|
35
|
+
useHMSStore
|
36
|
+
} from "@100mslive/react-sdk";
|
37
|
+
import { EmojiIcon } from "@100mslive/react-icons";
|
38
|
+
|
39
|
+
// src/Prebuilt/components/Footer/EmojiCard.jsx
|
40
|
+
init_define_process_env();
|
41
|
+
import React from "react";
|
42
|
+
var emojiReactionList = [
|
43
|
+
[{ emojiId: "+1" }, { emojiId: "-1" }, { emojiId: "wave" }, { emojiId: "clap" }, { emojiId: "fire" }],
|
44
|
+
[{ emojiId: "tada" }, { emojiId: "heart_eyes" }, { emojiId: "joy" }, { emojiId: "open_mouth" }, { emojiId: "sob" }]
|
45
|
+
];
|
46
|
+
var EmojiCard = ({ sendReaction }) => {
|
47
|
+
return emojiReactionList.map((emojiLine, index) => /* @__PURE__ */ React.createElement(Flex, { key: index, justify: "between", css: { mb: "$8" } }, emojiLine.map((emoji) => /* @__PURE__ */ React.createElement(EmojiContainer, { key: emoji.emojiId, onClick: () => sendReaction(emoji.emojiId) }, /* @__PURE__ */ React.createElement("em-emoji", { id: emoji.emojiId, size: "100%", set: "apple" })))));
|
48
|
+
};
|
49
|
+
var EmojiContainer = styled("span", {
|
50
|
+
position: "relative",
|
51
|
+
cursor: "pointer",
|
52
|
+
width: "$16",
|
53
|
+
height: "$16",
|
54
|
+
p: "$4",
|
55
|
+
"&:hover": {
|
56
|
+
p: "7px",
|
57
|
+
bg: "$surface_brighter",
|
58
|
+
borderRadius: "$1"
|
59
|
+
}
|
60
|
+
});
|
61
|
+
|
62
|
+
// src/Prebuilt/components/EmojiReaction.jsx
|
63
|
+
init({ data });
|
64
|
+
var EmojiReaction = ({ showCard = false }) => {
|
65
|
+
const [open, setOpen] = useState(false);
|
66
|
+
const isConnected = useHMSStore(selectIsConnectedToRoom);
|
67
|
+
const { elements } = useRoomLayoutConferencingScreen();
|
68
|
+
useDropdownList({ open, name: "EmojiReaction" });
|
69
|
+
const roles = useHMSStore(selectAvailableRoleNames);
|
70
|
+
const localPeerId = useHMSStore(selectLocalPeerID);
|
71
|
+
const isMobile = useMedia(config.media.md);
|
72
|
+
const isLandscape = useMedia(config.media.ls);
|
73
|
+
const isMobileHLSStream = useMobileHLSStream();
|
74
|
+
const isLandscapeStream = useLandscapeHLSStream();
|
75
|
+
const { sendEvent } = useCustomEvent({
|
76
|
+
type: EMOJI_REACTION_TYPE
|
77
|
+
});
|
78
|
+
const sendReaction = (emojiId) => __async(void 0, null, function* () {
|
79
|
+
var _a;
|
80
|
+
const data2 = {
|
81
|
+
type: EMOJI_REACTION_TYPE,
|
82
|
+
emojiId,
|
83
|
+
senderId: localPeerId
|
84
|
+
};
|
85
|
+
sendEvent(data2, { roleNames: roles });
|
86
|
+
(_a = window.showFlyingEmoji) == null ? void 0 : _a.call(window, { emojiId, senderId: localPeerId });
|
87
|
+
});
|
88
|
+
if (!isConnected || !elements.emoji_reactions) {
|
89
|
+
return null;
|
90
|
+
}
|
91
|
+
if (showCard) {
|
92
|
+
return /* @__PURE__ */ React2.createElement(EmojiCard, { sendReaction });
|
93
|
+
}
|
94
|
+
return /* @__PURE__ */ React2.createElement(Dropdown.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React2.createElement(Dropdown.Trigger, { asChild: true, "data-testid": "emoji_reaction_btn" }, /* @__PURE__ */ React2.createElement(
|
95
|
+
IconButton_default,
|
96
|
+
{
|
97
|
+
css: isMobile || isLandscape ? { bg: "$surface_default", r: "$round", border: "1px solid $border_bright" } : {}
|
98
|
+
},
|
99
|
+
/* @__PURE__ */ React2.createElement(Tooltip, { title: "Emoji reaction" }, /* @__PURE__ */ React2.createElement(Box, null, /* @__PURE__ */ React2.createElement(EmojiIcon, null)))
|
100
|
+
)), /* @__PURE__ */ React2.createElement(
|
101
|
+
Dropdown.Content,
|
102
|
+
{
|
103
|
+
sideOffset: 5,
|
104
|
+
align: isMobileHLSStream || isLandscapeStream ? "end" : "center",
|
105
|
+
css: { p: "$8", bg: "$surface_default" }
|
106
|
+
},
|
107
|
+
/* @__PURE__ */ React2.createElement(EmojiCard, { sendReaction })
|
108
|
+
));
|
109
|
+
};
|
110
|
+
|
111
|
+
export {
|
112
|
+
EmojiReaction
|
113
|
+
};
|
114
|
+
//# sourceMappingURL=chunk-LO4BXA4G.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../src/Prebuilt/components/EmojiReaction.jsx", "../src/Prebuilt/components/Footer/EmojiCard.jsx"],
|
4
|
+
"sourcesContent": ["import React, { useState } from 'react';\nimport { useMedia } from 'react-use';\nimport data from '@emoji-mart/data/sets/14/apple.json';\nimport { init } from 'emoji-mart';\nimport {\n selectAvailableRoleNames,\n selectIsConnectedToRoom,\n selectLocalPeerID,\n useCustomEvent,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport { EmojiIcon } from '@100mslive/react-icons';\nimport { EmojiCard } from './Footer/EmojiCard';\n// import { ToastManager } from './Toast/ToastManager';\nimport { Dropdown } from '../../Dropdown';\nimport { Box } from '../../Layout';\nimport { config as cssConfig } from '../../Theme';\nimport { Tooltip } from '../../Tooltip';\nimport IconButton from '../IconButton';\nimport { useRoomLayoutConferencingScreen } from '../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';\nimport { useDropdownList } from './hooks/useDropdownList';\nimport { useLandscapeHLSStream, useMobileHLSStream } from '../common/hooks';\nimport { EMOJI_REACTION_TYPE } from '../common/constants';\n\ninit({ data });\n\nexport const EmojiReaction = ({ showCard = false }) => {\n const [open, setOpen] = useState(false);\n const isConnected = useHMSStore(selectIsConnectedToRoom);\n const { elements } = useRoomLayoutConferencingScreen();\n useDropdownList({ open: open, name: 'EmojiReaction' });\n // const hmsActions = useHMSActions();\n const roles = useHMSStore(selectAvailableRoleNames);\n const localPeerId = useHMSStore(selectLocalPeerID);\n // const { isStreamingOn } = useRecordingStreaming();\n const isMobile = useMedia(cssConfig.media.md);\n const isLandscape = useMedia(cssConfig.media.ls);\n const isMobileHLSStream = useMobileHLSStream();\n const isLandscapeStream = useLandscapeHLSStream();\n\n const { sendEvent } = useCustomEvent({\n type: EMOJI_REACTION_TYPE,\n });\n\n const sendReaction = async emojiId => {\n const data = {\n type: EMOJI_REACTION_TYPE,\n emojiId: emojiId,\n senderId: localPeerId,\n };\n // TODO: RT find a way to figure out hls-viewer roles\n sendEvent(data, { roleNames: roles });\n window.showFlyingEmoji?.({ emojiId, senderId: localPeerId });\n /* if (isStreamingOn) {\n try {\n await hmsActions.sendHLSTimedMetadata([\n {\n payload: JSON.stringify(data),\n duration: 2,\n },\n ]);\n } catch (error) {\n console.log(error);\n ToastManager.addToast({ title: error.message });\n }\n } */\n };\n\n if (!isConnected || !elements.emoji_reactions) {\n return null;\n }\n\n if (showCard) {\n return <EmojiCard sendReaction={sendReaction} />;\n }\n return (\n <Dropdown.Root open={open} onOpenChange={setOpen}>\n <Dropdown.Trigger asChild data-testid=\"emoji_reaction_btn\">\n <IconButton\n css={\n isMobile || isLandscape ? { bg: '$surface_default', r: '$round', border: '1px solid $border_bright' } : {}\n }\n >\n <Tooltip title=\"Emoji reaction\">\n <Box>\n <EmojiIcon />\n </Box>\n </Tooltip>\n </IconButton>\n </Dropdown.Trigger>\n <Dropdown.Content\n sideOffset={5}\n align={isMobileHLSStream || isLandscapeStream ? 'end' : 'center'}\n css={{ p: '$8', bg: '$surface_default' }}\n >\n <EmojiCard sendReaction={sendReaction} />\n </Dropdown.Content>\n </Dropdown.Root>\n );\n};\n", "import React from 'react';\nimport { Flex } from '../../../Layout';\nimport { styled } from '../../../Theme';\n\n// When changing emojis in the grid, keep in mind that the payload used in sendHLSTimedMetadata has a limit of 100 characters. Using bigger emoji Ids can cause the limit to be exceeded.\nconst emojiReactionList = [\n [{ emojiId: '+1' }, { emojiId: '-1' }, { emojiId: 'wave' }, { emojiId: 'clap' }, { emojiId: 'fire' }],\n [{ emojiId: 'tada' }, { emojiId: 'heart_eyes' }, { emojiId: 'joy' }, { emojiId: 'open_mouth' }, { emojiId: 'sob' }],\n];\n\nexport const EmojiCard = ({ sendReaction }) => {\n return emojiReactionList.map((emojiLine, index) => (\n <Flex key={index} justify=\"between\" css={{ mb: '$8' }}>\n {emojiLine.map(emoji => (\n <EmojiContainer key={emoji.emojiId} onClick={() => sendReaction(emoji.emojiId)}>\n <em-emoji id={emoji.emojiId} size=\"100%\" set=\"apple\"></em-emoji>\n </EmojiContainer>\n ))}\n </Flex>\n ));\n};\n\nconst EmojiContainer = styled('span', {\n position: 'relative',\n cursor: 'pointer',\n width: '$16',\n height: '$16',\n p: '$4',\n '&:hover': {\n p: '7px',\n bg: '$surface_brighter',\n borderRadius: '$1',\n },\n});\n"],
|
5
|
+
"mappings": "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",
|
6
|
+
"names": ["React", "data", "React"]
|
7
|
+
}
|
@@ -0,0 +1,59 @@
|
|
1
|
+
import {
|
2
|
+
useVideoTileContext
|
3
|
+
} from "./chunk-PJQSPAFZ.js";
|
4
|
+
import {
|
5
|
+
VideoTile_default
|
6
|
+
} from "./chunk-26D5FDBW.js";
|
7
|
+
import {
|
8
|
+
Box
|
9
|
+
} from "./chunk-7QZJMUHM.js";
|
10
|
+
import {
|
11
|
+
__spreadValues,
|
12
|
+
init_define_process_env
|
13
|
+
} from "./chunk-TBXRX6MK.js";
|
14
|
+
|
15
|
+
// src/Prebuilt/components/VideoLayouts/Grid.tsx
|
16
|
+
init_define_process_env();
|
17
|
+
import React from "react";
|
18
|
+
var Grid = React.forwardRef(
|
19
|
+
({ tiles, edgeToEdge }, ref) => {
|
20
|
+
const videoTileProps = useVideoTileContext();
|
21
|
+
return /* @__PURE__ */ React.createElement(
|
22
|
+
Box,
|
23
|
+
{
|
24
|
+
ref,
|
25
|
+
css: {
|
26
|
+
flex: "1 1 0",
|
27
|
+
gap: "$4",
|
28
|
+
display: "flex",
|
29
|
+
placeContent: "center",
|
30
|
+
alignItems: "center",
|
31
|
+
justifyContent: "center",
|
32
|
+
flexFlow: "row wrap",
|
33
|
+
minHeight: 0,
|
34
|
+
"@md": { gap: edgeToEdge ? 0 : "$4" }
|
35
|
+
}
|
36
|
+
},
|
37
|
+
tiles == null ? void 0 : tiles.map((tile) => {
|
38
|
+
var _a, _b, _c, _d;
|
39
|
+
return /* @__PURE__ */ React.createElement(
|
40
|
+
VideoTile_default,
|
41
|
+
__spreadValues({
|
42
|
+
key: ((_a = tile.track) == null ? void 0 : _a.id) || ((_b = tile.peer) == null ? void 0 : _b.id),
|
43
|
+
width: tile.width,
|
44
|
+
height: tile.height,
|
45
|
+
peerId: (_c = tile.peer) == null ? void 0 : _c.id,
|
46
|
+
trackId: (_d = tile.track) == null ? void 0 : _d.id,
|
47
|
+
rootCSS: { padding: 0 },
|
48
|
+
objectFit: "contain"
|
49
|
+
}, videoTileProps)
|
50
|
+
);
|
51
|
+
})
|
52
|
+
);
|
53
|
+
}
|
54
|
+
);
|
55
|
+
|
56
|
+
export {
|
57
|
+
Grid
|
58
|
+
};
|
59
|
+
//# sourceMappingURL=chunk-MRVWNFXC.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../src/Prebuilt/components/VideoLayouts/Grid.tsx"],
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { TrackWithPeerAndDimensions } from '@100mslive/react-sdk';\nimport { Box } from '../../../Layout';\n// @ts-ignore: No implicit Any\nimport VideoTile from '../VideoTile';\nimport { useVideoTileContext } from '../hooks/useVideoTileLayout';\n\nexport const Grid = React.forwardRef<HTMLDivElement, { tiles: TrackWithPeerAndDimensions[]; edgeToEdge?: boolean }>(\n ({ tiles, edgeToEdge }, ref) => {\n const videoTileProps = useVideoTileContext();\n return (\n <Box\n ref={ref}\n css={{\n flex: '1 1 0',\n gap: '$4',\n display: 'flex',\n placeContent: 'center',\n alignItems: 'center',\n justifyContent: 'center',\n flexFlow: 'row wrap',\n minHeight: 0,\n '@md': { gap: edgeToEdge ? 0 : '$4' },\n }}\n >\n {tiles?.map(tile => {\n return (\n <VideoTile\n key={tile.track?.id || tile.peer?.id}\n width={tile.width}\n height={tile.height}\n peerId={tile.peer?.id}\n trackId={tile.track?.id}\n rootCSS={{ padding: 0 }}\n objectFit=\"contain\"\n {...videoTileProps}\n />\n );\n })}\n </Box>\n );\n },\n);\n"],
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA,OAAO,WAAW;AAOX,IAAM,OAAO,MAAM;AAAA,EACxB,CAAC,EAAE,OAAO,WAAW,GAAG,QAAQ;AAC9B,UAAM,iBAAiB,oBAAoB;AAC3C,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,KAAK;AAAA,UACH,MAAM;AAAA,UACN,KAAK;AAAA,UACL,SAAS;AAAA,UACT,cAAc;AAAA,UACd,YAAY;AAAA,UACZ,gBAAgB;AAAA,UAChB,UAAU;AAAA,UACV,WAAW;AAAA,UACX,OAAO,EAAE,KAAK,aAAa,IAAI,KAAK;AAAA,QACtC;AAAA;AAAA,MAEC,+BAAO,IAAI,UAAQ;AAzB5B;AA0BU,eACE;AAAA,UAAC;AAAA;AAAA,YACC,OAAK,UAAK,UAAL,mBAAY,SAAM,UAAK,SAAL,mBAAW;AAAA,YAClC,OAAO,KAAK;AAAA,YACZ,QAAQ,KAAK;AAAA,YACb,SAAQ,UAAK,SAAL,mBAAW;AAAA,YACnB,UAAS,UAAK,UAAL,mBAAY;AAAA,YACrB,SAAS,EAAE,SAAS,EAAE;AAAA,YACtB,WAAU;AAAA,aACN;AAAA,QACN;AAAA,MAEJ;AAAA,IACF;AAAA,EAEJ;AACF;",
|
6
|
+
"names": []
|
7
|
+
}
|
@@ -0,0 +1,262 @@
|
|
1
|
+
import {
|
2
|
+
LiveStatus,
|
3
|
+
RecordingPauseStatus,
|
4
|
+
RecordingStatus,
|
5
|
+
StreamActions
|
6
|
+
} from "./chunk-QKXHQ6DV.js";
|
7
|
+
import {
|
8
|
+
HorizontalDivider,
|
9
|
+
Label,
|
10
|
+
Logo,
|
11
|
+
Sheet,
|
12
|
+
SpeakerTag,
|
13
|
+
useSheetToggle,
|
14
|
+
useSidepaneToggle
|
15
|
+
} from "./chunk-26D5FDBW.js";
|
16
|
+
import {
|
17
|
+
Text
|
18
|
+
} from "./chunk-JKWX7W4K.js";
|
19
|
+
import {
|
20
|
+
ToastManager
|
21
|
+
} from "./chunk-BQOT4DK7.js";
|
22
|
+
import {
|
23
|
+
Box,
|
24
|
+
Flex
|
25
|
+
} from "./chunk-7QZJMUHM.js";
|
26
|
+
import {
|
27
|
+
IconButton_default,
|
28
|
+
useRoomLayoutHeader
|
29
|
+
} from "./chunk-ENHSO6YN.js";
|
30
|
+
import {
|
31
|
+
SHEET_OPTIONS,
|
32
|
+
SIDE_PANE_OPTIONS,
|
33
|
+
__async,
|
34
|
+
config,
|
35
|
+
init_define_process_env
|
36
|
+
} from "./chunk-TBXRX6MK.js";
|
37
|
+
|
38
|
+
// src/Prebuilt/components/Header/Header.tsx
|
39
|
+
init_define_process_env();
|
40
|
+
import React3 from "react";
|
41
|
+
import { useMedia as useMedia2 } from "react-use";
|
42
|
+
import { HMSRoomState, selectRoomState, useHMSStore as useHMSStore2 } from "@100mslive/react-sdk";
|
43
|
+
|
44
|
+
// src/Prebuilt/components/Header/RoomDetailsHeader.tsx
|
45
|
+
init_define_process_env();
|
46
|
+
import React from "react";
|
47
|
+
import { useMedia } from "react-use";
|
48
|
+
import { ChevronRightIcon } from "@100mslive/react-icons";
|
49
|
+
var RoomDetailsHeader = () => {
|
50
|
+
const { title, description } = useRoomLayoutHeader();
|
51
|
+
const isMobile = useMedia(config.media.md);
|
52
|
+
const clipLength = 30;
|
53
|
+
const toggleDetailsPane = useSidepaneToggle(SIDE_PANE_OPTIONS.ROOM_DETAILS);
|
54
|
+
const toggleDetailsSheet = useSheetToggle(SHEET_OPTIONS.ROOM_DETAILS);
|
55
|
+
if (!title && !description || isMobile && !title) {
|
56
|
+
return null;
|
57
|
+
}
|
58
|
+
return /* @__PURE__ */ React.createElement(Flex, { direction: isMobile ? "row" : "column", css: { ml: "$8", alignItems: isMobile ? "center" : "start" } }, /* @__PURE__ */ React.createElement(Text, { variant: "sm", css: { c: "$on_surface_high", fontWeight: "$semiBold" } }, title), !isMobile && /* @__PURE__ */ React.createElement(Flex, { align: "end", css: { color: "$on_surface_high" } }, /* @__PURE__ */ React.createElement(Text, { variant: "xs", css: { c: "$on_surface_medium" } }, description.slice(0, clipLength)), description.length > clipLength ? /* @__PURE__ */ React.createElement(
|
59
|
+
"span",
|
60
|
+
{
|
61
|
+
style: { fontWeight: "600", fontSize: "12px", cursor: "pointer", lineHeight: "1rem" },
|
62
|
+
onClick: toggleDetailsPane
|
63
|
+
},
|
64
|
+
"\xA0...more"
|
65
|
+
) : null), isMobile && description ? /* @__PURE__ */ React.createElement(Flex, { css: { color: "$on_surface_medium" } }, /* @__PURE__ */ React.createElement(ChevronRightIcon, { height: 16, width: 16, onClick: toggleDetailsSheet })) : null);
|
66
|
+
};
|
67
|
+
|
68
|
+
// src/Prebuilt/components/Header/common.jsx
|
69
|
+
init_define_process_env();
|
70
|
+
import React2 from "react";
|
71
|
+
import {
|
72
|
+
DeviceType,
|
73
|
+
getAudioDeviceCategory,
|
74
|
+
HMSAudioDeviceCategory,
|
75
|
+
selectIsLocalVideoEnabled,
|
76
|
+
selectLocalVideoTrackID,
|
77
|
+
selectVideoTrackByID,
|
78
|
+
useDevices,
|
79
|
+
useHMSActions,
|
80
|
+
useHMSStore
|
81
|
+
} from "@100mslive/react-sdk";
|
82
|
+
import {
|
83
|
+
BluetoothIcon,
|
84
|
+
CameraFlipIcon,
|
85
|
+
CheckIcon,
|
86
|
+
CrossIcon,
|
87
|
+
HeadphonesIcon,
|
88
|
+
SpeakerIcon,
|
89
|
+
TelePhoneIcon
|
90
|
+
} from "@100mslive/react-icons";
|
91
|
+
var CamaraFlipActions = () => {
|
92
|
+
const actions = useHMSActions();
|
93
|
+
const { allDevices } = useDevices();
|
94
|
+
const { videoInput } = allDevices;
|
95
|
+
const isVideoOn = useHMSStore(selectIsLocalVideoEnabled);
|
96
|
+
const videoTrackId = useHMSStore(selectLocalVideoTrackID);
|
97
|
+
const localVideoTrack = useHMSStore(selectVideoTrackByID(videoTrackId));
|
98
|
+
if (!videoInput || !(videoInput == null ? void 0 : videoInput.length) || !(localVideoTrack == null ? void 0 : localVideoTrack.facingMode)) {
|
99
|
+
return null;
|
100
|
+
}
|
101
|
+
return /* @__PURE__ */ React2.createElement(Box, null, /* @__PURE__ */ React2.createElement(
|
102
|
+
IconButton_default,
|
103
|
+
{
|
104
|
+
disabled: !isVideoOn,
|
105
|
+
onClick: () => __async(void 0, null, function* () {
|
106
|
+
try {
|
107
|
+
yield actions.switchCamera();
|
108
|
+
} catch (e) {
|
109
|
+
ToastManager.addToast({
|
110
|
+
title: `Error while flipping camera ${e.message || ""}`,
|
111
|
+
variant: "error"
|
112
|
+
});
|
113
|
+
}
|
114
|
+
})
|
115
|
+
},
|
116
|
+
/* @__PURE__ */ React2.createElement(CameraFlipIcon, null)
|
117
|
+
));
|
118
|
+
};
|
119
|
+
var AudioActions = () => {
|
120
|
+
const { allDevices, selectedDeviceIDs, updateDevice } = useDevices();
|
121
|
+
const shouldShowAudioOutput = "setSinkId" in HTMLMediaElement.prototype;
|
122
|
+
const { audioInput, audioOutput } = allDevices;
|
123
|
+
let availableAudioDevices = audioInput;
|
124
|
+
let selectedAudio = selectedDeviceIDs.audioInput;
|
125
|
+
if (shouldShowAudioOutput) {
|
126
|
+
availableAudioDevices = audioOutput;
|
127
|
+
selectedAudio = selectedDeviceIDs.audioOutput;
|
128
|
+
}
|
129
|
+
const hmsActions = useHMSActions();
|
130
|
+
const audioFiltered = availableAudioDevices == null ? void 0 : availableAudioDevices.find((item) => !!item.label);
|
131
|
+
const currentSelection = availableAudioDevices == null ? void 0 : availableAudioDevices.find((item) => item.deviceId === selectedAudio);
|
132
|
+
if (!audioFiltered) {
|
133
|
+
return null;
|
134
|
+
}
|
135
|
+
const deviceCategory = getAudioDeviceCategory(currentSelection == null ? void 0 : currentSelection.label);
|
136
|
+
let AudioIcon = /* @__PURE__ */ React2.createElement(SpeakerIcon, null);
|
137
|
+
if (deviceCategory === HMSAudioDeviceCategory.BLUETOOTH) {
|
138
|
+
AudioIcon = /* @__PURE__ */ React2.createElement(BluetoothIcon, null);
|
139
|
+
} else if (deviceCategory === HMSAudioDeviceCategory.WIRED) {
|
140
|
+
AudioIcon = /* @__PURE__ */ React2.createElement(HeadphonesIcon, null);
|
141
|
+
} else if (deviceCategory === HMSAudioDeviceCategory.EARPIECE) {
|
142
|
+
AudioIcon = /* @__PURE__ */ React2.createElement(TelePhoneIcon, null);
|
143
|
+
}
|
144
|
+
return /* @__PURE__ */ React2.createElement(
|
145
|
+
AudioSelectionSheet,
|
146
|
+
{
|
147
|
+
audioDevices: availableAudioDevices,
|
148
|
+
audioSelected: selectedAudio,
|
149
|
+
onChange: (deviceId) => __async(void 0, null, function* () {
|
150
|
+
try {
|
151
|
+
yield updateDevice({
|
152
|
+
deviceId,
|
153
|
+
deviceType: shouldShowAudioOutput ? DeviceType.audioOutput : DeviceType.audioInput
|
154
|
+
});
|
155
|
+
} catch (e) {
|
156
|
+
ToastManager.addToast({
|
157
|
+
title: `Error while changing audio device ${e.message || ""}`,
|
158
|
+
variant: "error"
|
159
|
+
});
|
160
|
+
}
|
161
|
+
})
|
162
|
+
},
|
163
|
+
/* @__PURE__ */ React2.createElement(
|
164
|
+
Box,
|
165
|
+
{
|
166
|
+
onClick: () => __async(void 0, null, function* () {
|
167
|
+
yield hmsActions.refreshDevices();
|
168
|
+
})
|
169
|
+
},
|
170
|
+
/* @__PURE__ */ React2.createElement(IconButton_default, null, AudioIcon)
|
171
|
+
)
|
172
|
+
);
|
173
|
+
};
|
174
|
+
var AudioSelectionSheet = ({ audioDevices, audioSelected, onChange, children }) => {
|
175
|
+
return /* @__PURE__ */ React2.createElement(Sheet.Root, null, /* @__PURE__ */ React2.createElement(Sheet.Trigger, { asChild: true }, children), /* @__PURE__ */ React2.createElement(Sheet.Content, null, /* @__PURE__ */ React2.createElement(Sheet.Title, { css: { py: "$10", px: "$8", alignItems: "center" } }, /* @__PURE__ */ React2.createElement(Flex, { direction: "row", justify: "between", css: { w: "100%" } }, /* @__PURE__ */ React2.createElement(Text, { variant: "h6", css: { display: "flex" } }, "Audio"), /* @__PURE__ */ React2.createElement(Sheet.Close, null, /* @__PURE__ */ React2.createElement(IconButton_default, { as: "div", "data-testid": "dialog_cross_icon" }, /* @__PURE__ */ React2.createElement(CrossIcon, null))))), /* @__PURE__ */ React2.createElement(HorizontalDivider, null), /* @__PURE__ */ React2.createElement(
|
176
|
+
Flex,
|
177
|
+
{
|
178
|
+
direction: "column",
|
179
|
+
css: {
|
180
|
+
px: "$8",
|
181
|
+
maxHeight: "80vh",
|
182
|
+
overflowY: "auto"
|
183
|
+
}
|
184
|
+
},
|
185
|
+
audioDevices.map((audioDevice) => {
|
186
|
+
return /* @__PURE__ */ React2.createElement(
|
187
|
+
SelectWithLabel,
|
188
|
+
{
|
189
|
+
key: audioDevice.deviceId,
|
190
|
+
label: audioDevice.label,
|
191
|
+
id: audioDevice.deviceId,
|
192
|
+
checked: audioDevice.deviceId === audioSelected,
|
193
|
+
onChange: () => onChange(audioDevice.deviceId)
|
194
|
+
}
|
195
|
+
);
|
196
|
+
})
|
197
|
+
)));
|
198
|
+
};
|
199
|
+
var SelectWithLabel = ({ label, icon = /* @__PURE__ */ React2.createElement(React2.Fragment, null), checked, id, onChange }) => {
|
200
|
+
return /* @__PURE__ */ React2.createElement(
|
201
|
+
Flex,
|
202
|
+
{
|
203
|
+
align: "center",
|
204
|
+
css: {
|
205
|
+
my: "$2",
|
206
|
+
py: "$8",
|
207
|
+
w: "100%",
|
208
|
+
borderBottom: "1px solid $border_default"
|
209
|
+
},
|
210
|
+
onClick: onChange
|
211
|
+
},
|
212
|
+
/* @__PURE__ */ React2.createElement(
|
213
|
+
Label,
|
214
|
+
{
|
215
|
+
htmlFor: id,
|
216
|
+
css: {
|
217
|
+
fontSize: "$md",
|
218
|
+
fontWeight: "$semiBold",
|
219
|
+
color: "$on_surface_high",
|
220
|
+
cursor: "pointer",
|
221
|
+
display: "flex",
|
222
|
+
alignItems: "center",
|
223
|
+
gap: "$8",
|
224
|
+
flex: "1 1 0"
|
225
|
+
}
|
226
|
+
},
|
227
|
+
icon,
|
228
|
+
label
|
229
|
+
),
|
230
|
+
checked && /* @__PURE__ */ React2.createElement(CheckIcon, { width: 24, height: 24 })
|
231
|
+
);
|
232
|
+
};
|
233
|
+
|
234
|
+
// src/Prebuilt/components/Header/Header.tsx
|
235
|
+
var Header = () => {
|
236
|
+
const roomState = useHMSStore2(selectRoomState);
|
237
|
+
const isMobile = useMedia2(config.media.md);
|
238
|
+
if (roomState !== HMSRoomState.Connected) {
|
239
|
+
return /* @__PURE__ */ React3.createElement(React3.Fragment, null);
|
240
|
+
}
|
241
|
+
return /* @__PURE__ */ React3.createElement(Flex, { justify: "between", align: "center", css: { position: "relative", height: "100%" } }, /* @__PURE__ */ React3.createElement(Flex, { align: "center", gap: "2", css: { position: "absolute", left: "$10" } }, /* @__PURE__ */ React3.createElement(Logo, null), /* @__PURE__ */ React3.createElement(RoomDetailsHeader, null), /* @__PURE__ */ React3.createElement(SpeakerTag, null), isMobile && /* @__PURE__ */ React3.createElement(Flex, { align: "center", css: { gap: "$4" } }, /* @__PURE__ */ React3.createElement(LiveStatus, null), /* @__PURE__ */ React3.createElement(RecordingStatus, null), /* @__PURE__ */ React3.createElement(RecordingPauseStatus, null))), /* @__PURE__ */ React3.createElement(
|
242
|
+
Flex,
|
243
|
+
{
|
244
|
+
align: "center",
|
245
|
+
css: {
|
246
|
+
position: "absolute",
|
247
|
+
right: "$10",
|
248
|
+
gap: "$4"
|
249
|
+
}
|
250
|
+
},
|
251
|
+
/* @__PURE__ */ React3.createElement(StreamActions, null),
|
252
|
+
isMobile ? /* @__PURE__ */ React3.createElement(React3.Fragment, null, /* @__PURE__ */ React3.createElement(CamaraFlipActions, null), /* @__PURE__ */ React3.createElement(AudioActions, null)) : null
|
253
|
+
));
|
254
|
+
};
|
255
|
+
|
256
|
+
// src/Prebuilt/components/Header/index.tsx
|
257
|
+
init_define_process_env();
|
258
|
+
|
259
|
+
export {
|
260
|
+
Header
|
261
|
+
};
|
262
|
+
//# sourceMappingURL=chunk-OA4HW7HW.js.map
|