@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.
Files changed (132) hide show
  1. package/dist/ConferenceScreen-CSVWECB5.js +1778 -0
  2. package/dist/ConferenceScreen-CSVWECB5.js.map +7 -0
  3. package/dist/ConferenceScreen-YRURU3RV.css +2780 -0
  4. package/dist/{HLSView-Z2JID2W7.css.map → ConferenceScreen-YRURU3RV.css.map} +1 -1
  5. package/dist/EmbedView-N2E4DZQA.js +17 -0
  6. package/dist/EmbedView-N2E4DZQA.js.map +7 -0
  7. package/dist/EmbedView-S54NTHF5.css +2780 -0
  8. package/dist/EmbedView-S54NTHF5.css.map +7 -0
  9. package/dist/EmojiReaction-3X4ST4AU.js +11 -0
  10. package/dist/EmojiReaction-3X4ST4AU.js.map +7 -0
  11. package/dist/{HLSView-LCFZPBH3.js → HLSView-EYGGK6BH.js} +38 -24
  12. package/dist/HLSView-EYGGK6BH.js.map +7 -0
  13. package/dist/{HLSView-Z2JID2W7.css → HLSView-LBTFLMI4.css} +3 -3
  14. package/dist/HLSView-LBTFLMI4.css.map +7 -0
  15. package/dist/LeaveScreen-D6XU64JL.js +556 -0
  16. package/dist/LeaveScreen-D6XU64JL.js.map +7 -0
  17. package/dist/LeaveScreen-ZAG5UJZL.css +2780 -0
  18. package/dist/LeaveScreen-ZAG5UJZL.css.map +7 -0
  19. package/dist/MoreSettings-R7B4BSNT.css +2780 -0
  20. package/dist/MoreSettings-R7B4BSNT.css.map +7 -0
  21. package/dist/MoreSettings-TBJVM7OY.js +16 -0
  22. package/dist/MoreSettings-TBJVM7OY.js.map +7 -0
  23. package/dist/PDFView-JOIJDP65.js +84 -0
  24. package/dist/PDFView-JOIJDP65.js.map +7 -0
  25. package/dist/PDFView-RMR33QH4.css +2780 -0
  26. package/dist/PDFView-RMR33QH4.css.map +7 -0
  27. package/dist/Polls-IN3V2HFI.js +1584 -0
  28. package/dist/Polls-IN3V2HFI.js.map +7 -0
  29. package/dist/Polls-JW7JWGTE.css +2780 -0
  30. package/dist/Polls-JW7JWGTE.css.map +7 -0
  31. package/dist/Prebuilt/components/Notifications/RoleChangeNotification.d.ts +1 -0
  32. package/dist/RaiseHand-WES4KKMD.js +10 -0
  33. package/dist/RaiseHand-WES4KKMD.js.map +7 -0
  34. package/dist/RoleProminence-4ZBDBCMU.css +2780 -0
  35. package/dist/RoleProminence-4ZBDBCMU.css.map +7 -0
  36. package/dist/RoleProminence-PB32DLIB.js +116 -0
  37. package/dist/RoleProminence-PB32DLIB.js.map +7 -0
  38. package/dist/RoomDetailsPane-CZH2SNLE.js +53 -0
  39. package/dist/RoomDetailsPane-CZH2SNLE.js.map +7 -0
  40. package/dist/RoomDetailsPane-XWH2KEFI.css +2780 -0
  41. package/dist/RoomDetailsPane-XWH2KEFI.css.map +7 -0
  42. package/dist/ScreenshareLayout-XVENPVK3.js +358 -0
  43. package/dist/ScreenshareLayout-XVENPVK3.js.map +7 -0
  44. package/dist/ScreenshareLayout-YUW3KHAB.css +2780 -0
  45. package/dist/ScreenshareLayout-YUW3KHAB.css.map +7 -0
  46. package/dist/SidePaneTabs-QXCDHOGG.js +1354 -0
  47. package/dist/SidePaneTabs-QXCDHOGG.js.map +7 -0
  48. package/dist/SidePaneTabs-WQGVOWRP.css +2780 -0
  49. package/dist/SidePaneTabs-WQGVOWRP.css.map +7 -0
  50. package/dist/VBPicker-XN74N67R.js +322 -0
  51. package/dist/VBPicker-XN74N67R.js.map +7 -0
  52. package/dist/VBPicker-YDM2YIOM.css +2780 -0
  53. package/dist/VBPicker-YDM2YIOM.css.map +7 -0
  54. package/dist/WaitingView-77PRTIBV.js +10 -0
  55. package/dist/WaitingView-77PRTIBV.js.map +7 -0
  56. package/dist/WhiteboardLayout-FZC7SOSG.js +96 -0
  57. package/dist/WhiteboardLayout-FZC7SOSG.js.map +7 -0
  58. package/dist/WhiteboardLayout-MNTUWEVK.css +2780 -0
  59. package/dist/WhiteboardLayout-MNTUWEVK.css.map +7 -0
  60. package/dist/android-perm-1.png +0 -0
  61. package/dist/audio-level.png +0 -0
  62. package/dist/chunk-26D5FDBW.js +16812 -0
  63. package/dist/chunk-26D5FDBW.js.map +7 -0
  64. package/dist/chunk-2J5WS52X.js +2595 -0
  65. package/dist/chunk-2J5WS52X.js.map +7 -0
  66. package/dist/chunk-2LWOQMYY.js +30 -0
  67. package/dist/chunk-2LWOQMYY.js.map +7 -0
  68. package/dist/chunk-3MRQJSIY.js +171 -0
  69. package/dist/chunk-3MRQJSIY.js.map +7 -0
  70. package/dist/chunk-4X4WB7X3.js +98 -0
  71. package/dist/chunk-4X4WB7X3.js.map +7 -0
  72. package/dist/chunk-7QZJMUHM.js +90 -0
  73. package/dist/chunk-7QZJMUHM.js.map +7 -0
  74. package/dist/chunk-ABCV7TX5.js +71 -0
  75. package/dist/chunk-ABCV7TX5.js.map +7 -0
  76. package/dist/chunk-BQOT4DK7.js +418 -0
  77. package/dist/chunk-BQOT4DK7.js.map +7 -0
  78. package/dist/chunk-ENHSO6YN.js +6337 -0
  79. package/dist/chunk-ENHSO6YN.js.map +7 -0
  80. package/dist/chunk-JKWX7W4K.js +161 -0
  81. package/dist/chunk-JKWX7W4K.js.map +7 -0
  82. package/dist/chunk-LO4BXA4G.js +114 -0
  83. package/dist/chunk-LO4BXA4G.js.map +7 -0
  84. package/dist/chunk-MRVWNFXC.js +59 -0
  85. package/dist/chunk-MRVWNFXC.js.map +7 -0
  86. package/dist/chunk-OA4HW7HW.js +262 -0
  87. package/dist/chunk-OA4HW7HW.js.map +7 -0
  88. package/dist/chunk-PJQSPAFZ.js +178 -0
  89. package/dist/chunk-PJQSPAFZ.js.map +7 -0
  90. package/dist/chunk-QHQKY35W.js +830 -0
  91. package/dist/chunk-QHQKY35W.js.map +7 -0
  92. package/dist/chunk-QKXHQ6DV.js +254 -0
  93. package/dist/chunk-QKXHQ6DV.js.map +7 -0
  94. package/dist/chunk-RTWNTT77.js +62 -0
  95. package/dist/chunk-RTWNTT77.js.map +7 -0
  96. package/dist/chunk-TBXRX6MK.js +576 -0
  97. package/dist/chunk-TBXRX6MK.js.map +7 -0
  98. package/dist/chunk-TCOPR3BK.js +487 -0
  99. package/dist/chunk-TCOPR3BK.js.map +7 -0
  100. package/dist/chunk-VKORP2LF.js +41 -0
  101. package/dist/chunk-VKORP2LF.js.map +7 -0
  102. package/dist/chunk-YYVDCP5Z.js +136 -0
  103. package/dist/chunk-YYVDCP5Z.js.map +7 -0
  104. package/dist/empty-chat.svg +12 -0
  105. package/dist/index.cjs.css +2 -2
  106. package/dist/index.cjs.css.map +1 -1
  107. package/dist/index.cjs.js +17888 -17792
  108. package/dist/index.cjs.js.map +4 -4
  109. package/dist/index.css +2 -2
  110. package/dist/index.css.map +1 -1
  111. package/dist/index.js +25 -15
  112. package/dist/ios-perm-0.png +0 -0
  113. package/dist/meta.cjs.json +5326 -5184
  114. package/dist/meta.esbuild.json +8960 -6320
  115. package/dist/pdf-share.png +0 -0
  116. package/dist/screen-share.png +0 -0
  117. package/dist/transaction_error.svg +12 -0
  118. package/package.json +7 -7
  119. package/src/Prebuilt/App.tsx +6 -2
  120. package/src/Prebuilt/components/Chat/Chat.tsx +12 -8
  121. package/src/Prebuilt/components/Chat/ChatFooter.tsx +1 -1
  122. package/src/Prebuilt/components/Notifications/Notifications.tsx +2 -0
  123. package/src/Prebuilt/components/Notifications/PeerNotifications.tsx +0 -14
  124. package/src/Prebuilt/components/Notifications/RoleChangeNotification.tsx +24 -0
  125. package/src/Prebuilt/components/VideoLayouts/GridLayout.tsx +43 -31
  126. package/src/Prebuilt/layouts/HLSView.jsx +1 -0
  127. package/src/Prebuilt/layouts/PDFView.jsx +1 -0
  128. package/src/Prebuilt/layouts/SidePane.tsx +12 -6
  129. package/src/Prebuilt/layouts/VideoStreamingSection.tsx +35 -34
  130. package/dist/HLSView-LCFZPBH3.js.map +0 -7
  131. package/dist/chunk-CRGZUJSX.js +0 -34811
  132. 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