@100mslive/roomkit-react 0.5.4-alpha.0 → 0.5.4-alpha.1

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 (42) hide show
  1. package/dist/Diagnostics/index.d.ts +1 -2
  2. package/dist/Prebuilt/components/PIP/PIPManager.d.ts +11 -0
  3. package/dist/index.cjs.css +1 -1
  4. package/dist/index.cjs.css.map +1 -1
  5. package/dist/index.cjs.js +35187 -38581
  6. package/dist/index.cjs.js.map +4 -4
  7. package/dist/index.css +1 -1
  8. package/dist/index.css.map +1 -1
  9. package/dist/index.js +37176 -68
  10. package/dist/index.js.map +4 -4
  11. package/dist/meta.cjs.json +1364 -1555
  12. package/dist/meta.esbuild.json +1127 -1947
  13. package/package.json +7 -7
  14. package/dist/Diagnostics-IVT65BTD.css +0 -2771
  15. package/dist/Diagnostics-IVT65BTD.css.map +0 -7
  16. package/dist/Diagnostics-XZRJZN6F.js +0 -1638
  17. package/dist/Diagnostics-XZRJZN6F.js.map +0 -7
  18. package/dist/EmojiPickerContent-7HLGDLO5.js +0 -16
  19. package/dist/EmojiPickerContent-7HLGDLO5.js.map +0 -7
  20. package/dist/HLSView-KDT33XIC.js +0 -1642
  21. package/dist/HLSView-KDT33XIC.js.map +0 -7
  22. package/dist/HLSView-PIED5LDA.css +0 -2771
  23. package/dist/HLSView-PIED5LDA.css.map +0 -7
  24. package/dist/Prebuilt/components/Chat/EmojiPickerContent.d.ts +0 -12
  25. package/dist/Prebuilt/components/Footer/emojiData.d.ts +0 -2
  26. package/dist/Prebuilt/components/LazyLoad.d.ts +0 -60
  27. package/dist/StatsForNerds-HJRRP6CJ.css +0 -2771
  28. package/dist/StatsForNerds-HJRRP6CJ.css.map +0 -7
  29. package/dist/StatsForNerds-NEKFDD6A.js +0 -277
  30. package/dist/StatsForNerds-NEKFDD6A.js.map +0 -7
  31. package/dist/VBPicker-FAHHMUQI.js +0 -313
  32. package/dist/VBPicker-FAHHMUQI.js.map +0 -7
  33. package/dist/VBPicker-PYLU7FGM.css +0 -2771
  34. package/dist/VBPicker-PYLU7FGM.css.map +0 -7
  35. package/dist/WhiteboardLayout-MYWNACKM.js +0 -85
  36. package/dist/WhiteboardLayout-MYWNACKM.js.map +0 -7
  37. package/dist/WhiteboardLayout-OOFKQWLV.css +0 -2771
  38. package/dist/WhiteboardLayout-OOFKQWLV.css.map +0 -7
  39. package/dist/chunk-NBFKVN6C.js +0 -33410
  40. package/dist/chunk-NBFKVN6C.js.map +0 -7
  41. package/dist/chunk-WS5Q67XX.js +0 -125
  42. package/dist/chunk-WS5Q67XX.js.map +0 -7
@@ -1,313 +0,0 @@
1
- import {
2
- APP_DATA,
3
- Box,
4
- Flex,
5
- Loading,
6
- MS,
7
- SIDE_PANE_OPTIONS,
8
- Slider,
9
- Text,
10
- UI_SETTINGS,
11
- US,
12
- VBHandler,
13
- Video,
14
- config,
15
- kS,
16
- useSetAppDataByKey,
17
- useSidepaneResetOnLayoutUpdate,
18
- useSidepaneToggle,
19
- useUISettings,
20
- ut
21
- } from "./chunk-NBFKVN6C.js";
22
- import {
23
- __async,
24
- __spreadProps,
25
- __spreadValues,
26
- init_define_process_env
27
- } from "./chunk-WS5Q67XX.js";
28
-
29
- // src/Prebuilt/components/VirtualBackground/VBPicker.tsx
30
- init_define_process_env();
31
- import React3, { useEffect, useRef, useState } from "react";
32
- import { useMedia } from "react-use";
33
- import { HMSVirtualBackgroundTypes as HMSVirtualBackgroundTypes2 } from "@100mslive/hms-virtual-background/hmsvbplugin";
34
- import {
35
- HMSRoomState,
36
- selectIsLargeRoom,
37
- selectIsLocalVideoEnabled,
38
- selectIsLocalVideoPluginPresent,
39
- selectLocalPeer,
40
- selectRoomState,
41
- selectVideoTrackByID,
42
- useHMSActions,
43
- useHMSStore
44
- } from "@100mslive/react-sdk";
45
- import { BlurPersonHighIcon, CrossCircleIcon, CrossIcon } from "@100mslive/react-icons";
46
-
47
- // src/Prebuilt/components/VirtualBackground/VBCollection.tsx
48
- init_define_process_env();
49
- import React2 from "react";
50
- import { HMSVirtualBackgroundTypes } from "@100mslive/hms-virtual-background/hmsvbplugin";
51
-
52
- // src/Prebuilt/components/VirtualBackground/VBOption.tsx
53
- init_define_process_env();
54
- import React from "react";
55
- var Root = ({
56
- onClick,
57
- mediaURL,
58
- isActive,
59
- children,
60
- testid = ""
61
- }) => /* @__PURE__ */ React.createElement(
62
- Flex,
63
- {
64
- "data-testid": testid,
65
- direction: "column",
66
- align: "center",
67
- css: __spreadValues({
68
- p: "$5",
69
- borderRadius: "$1",
70
- bg: "$surface_bright",
71
- border: `4px solid ${isActive ? "$primary_default" : "$surface_dim"}`,
72
- cursor: "pointer",
73
- "@media (hover:hover)": {
74
- "&:hover": { border: "4px solid $primary_dim" }
75
- }
76
- }, mediaURL ? { height: "$20", backgroundImage: `url("${mediaURL}")`, backgroundSize: "cover" } : {}),
77
- onClick: () => __async(null, null, function* () {
78
- yield onClick == null ? void 0 : onClick();
79
- })
80
- },
81
- children
82
- );
83
- var Title = ({ children }) => {
84
- return children ? /* @__PURE__ */ React.createElement(Text, { variant: "xs", css: { color: "$on_surface_medium" } }, children) : null;
85
- };
86
- var Icon = ({ children }) => {
87
- return children ? /* @__PURE__ */ React.createElement(Box, { css: { color: "$on_surface_high" } }, children) : null;
88
- };
89
- var VBOption = {
90
- Root,
91
- Title,
92
- Icon
93
- };
94
-
95
- // src/Prebuilt/components/VirtualBackground/VBCollection.tsx
96
- var VBCollection = ({
97
- options,
98
- title,
99
- activeBackground = ""
100
- }) => {
101
- if (options.length === 0) {
102
- return null;
103
- }
104
- return /* @__PURE__ */ React2.createElement(Box, { css: { mt: "$10" } }, /* @__PURE__ */ React2.createElement(Text, { variant: "sm", css: { color: "$on_surface_high", fontWeight: "$semiBold" } }, title), /* @__PURE__ */ React2.createElement(Box, { css: { py: "$4", display: "grid", gridTemplateColumns: "1fr 1fr 1fr", gap: "$8" } }, options.map(
105
- (option, index) => option.supported ? /* @__PURE__ */ React2.createElement(
106
- VBOption.Root,
107
- __spreadProps(__spreadValues({
108
- key: option.value,
109
- testid: option.value === HMSVirtualBackgroundTypes.IMAGE ? `virtual_bg_option-${index}` : option.value
110
- }, option), {
111
- isActive: activeBackground === option.value
112
- }),
113
- /* @__PURE__ */ React2.createElement(VBOption.Icon, null, option == null ? void 0 : option.icon),
114
- /* @__PURE__ */ React2.createElement(VBOption.Title, null, option == null ? void 0 : option.title)
115
- ) : ""
116
- )));
117
- };
118
-
119
- // src/Prebuilt/components/VirtualBackground/VBPicker.tsx
120
- var iconDims = { height: "40px", width: "40px" };
121
- var VBPicker = ({ backgroundMedia = [] }) => {
122
- var _a, _b;
123
- const toggleVB = useSidepaneToggle(SIDE_PANE_OPTIONS.VB);
124
- const hmsActions = useHMSActions();
125
- const localPeer = useHMSStore(selectLocalPeer);
126
- const role = useHMSStore(ut);
127
- const isVideoOn = useHMSStore(selectIsLocalVideoEnabled);
128
- const mirrorLocalVideo = useUISettings(UI_SETTINGS.mirrorLocalVideo);
129
- const trackSelector = selectVideoTrackByID(localPeer == null ? void 0 : localPeer.videoTrack);
130
- const track = useHMSStore(trackSelector);
131
- const [blurAmount, setBlurAmount] = useState(VBHandler.getBlurAmount() || 0.5);
132
- const roomState = useHMSStore(selectRoomState);
133
- const isLargeRoom = useHMSStore(selectIsLargeRoom);
134
- const isEffectsSupported = VBHandler.isEffectsSupported();
135
- const isEffectsEnabled = useHMSStore(MS);
136
- const effectsKey = useHMSStore(kS);
137
- const isMobile = useMedia(config.media.md);
138
- const [loadingEffects, setLoadingEffects] = useSetAppDataByKey(APP_DATA.loadingEffects);
139
- const isPluginAdded = useHMSStore(selectIsLocalVideoPluginPresent(((_a = VBHandler) == null ? void 0 : _a.getName()) || ""));
140
- const background = useHMSStore(US(APP_DATA.background));
141
- const mediaList = backgroundMedia.map((media) => media.url || "");
142
- const pluginLoadingRef = useRef(false);
143
- const isBlurSupported = (_b = VBHandler) == null ? void 0 : _b.isBlurSupported();
144
- const inPreview = roomState === HMSRoomState.Preview;
145
- const showVideoTile = isVideoOn && isLargeRoom && !inPreview;
146
- useEffect(() => {
147
- const addHMSVBPlugin = () => __async(null, null, function* () {
148
- setLoadingEffects(false);
149
- if (!role) {
150
- return;
151
- }
152
- yield VBHandler.initialisePlugin();
153
- yield hmsActions.addPluginToVideoTrack(
154
- VBHandler.getVBObject(),
155
- Math.floor(role.publishParams.video.frameRate / 2)
156
- );
157
- });
158
- const initializeVirtualBackground = () => __async(null, null, function* () {
159
- if (!(track == null ? void 0 : track.id) || pluginLoadingRef.current || isPluginAdded) {
160
- return;
161
- }
162
- try {
163
- pluginLoadingRef.current = true;
164
- if (isEffectsEnabled && isEffectsSupported && effectsKey) {
165
- setLoadingEffects(true);
166
- yield VBHandler.initialisePlugin(effectsKey, () => {
167
- setLoadingEffects(false);
168
- });
169
- const vbInstance = VBHandler.getVBObject();
170
- if (vbInstance.getName() === "HMSEffects") {
171
- hmsActions.addPluginsToVideoStream([VBHandler.getVBObject()]);
172
- } else {
173
- yield addHMSVBPlugin();
174
- }
175
- } else {
176
- yield addHMSVBPlugin();
177
- }
178
- const handleDefaultBackground = () => __async(null, null, function* () {
179
- switch (background) {
180
- case HMSVirtualBackgroundTypes2.NONE:
181
- break;
182
- case HMSVirtualBackgroundTypes2.BLUR:
183
- yield VBHandler.setBlur(blurAmount);
184
- break;
185
- default:
186
- yield VBHandler.setBackground(background);
187
- }
188
- });
189
- yield handleDefaultBackground();
190
- } catch (error) {
191
- console.error("Error initializing virtual background:", error);
192
- setLoadingEffects(false);
193
- }
194
- });
195
- initializeVirtualBackground();
196
- }, [
197
- hmsActions,
198
- role,
199
- isPluginAdded,
200
- isEffectsEnabled,
201
- isEffectsSupported,
202
- effectsKey,
203
- track == null ? void 0 : track.id,
204
- background,
205
- blurAmount,
206
- setLoadingEffects
207
- ]);
208
- useEffect(() => {
209
- if (!isVideoOn) {
210
- toggleVB();
211
- }
212
- return () => setLoadingEffects(false);
213
- }, [isVideoOn, setLoadingEffects, toggleVB]);
214
- useSidepaneResetOnLayoutUpdate("virtual_background", SIDE_PANE_OPTIONS.VB);
215
- return /* @__PURE__ */ React3.createElement(Flex, { css: { pr: "$6", size: "100%" }, direction: "column" }, /* @__PURE__ */ React3.createElement(Flex, { align: "center", justify: "between", css: { w: "100%", background: "$surface_dim", pb: "$4" } }, /* @__PURE__ */ React3.createElement(Text, { variant: "h6", css: { color: "$on_surface_high", display: "flex", alignItems: "center" } }, "Virtual Background ", isMobile && loadingEffects ? /* @__PURE__ */ React3.createElement(Loading, { size: 18, style: { marginLeft: "0.5rem" } }) : ""), /* @__PURE__ */ React3.createElement(
216
- Box,
217
- {
218
- css: { color: "$on_surface_high", "&:hover": { color: "$on_surface_medium" }, cursor: "pointer" },
219
- onClick: toggleVB
220
- },
221
- /* @__PURE__ */ React3.createElement(CrossIcon, null)
222
- )), showVideoTile ? /* @__PURE__ */ React3.createElement(
223
- Video,
224
- {
225
- mirror: (track == null ? void 0 : track.facingMode) !== "environment" && mirrorLocalVideo,
226
- trackId: localPeer == null ? void 0 : localPeer.videoTrack,
227
- "data-testid": "preview_tile",
228
- css: { width: "100%", height: "16rem" }
229
- }
230
- ) : null, /* @__PURE__ */ React3.createElement(
231
- Box,
232
- {
233
- css: {
234
- mt: "$4",
235
- overflowY: "auto",
236
- flex: "1 1 0",
237
- mr: "-$10",
238
- pr: "$10"
239
- }
240
- },
241
- /* @__PURE__ */ React3.createElement(
242
- VBCollection,
243
- {
244
- title: "Effects",
245
- options: [
246
- {
247
- title: "No effect",
248
- icon: /* @__PURE__ */ React3.createElement(CrossCircleIcon, { style: iconDims }),
249
- value: HMSVirtualBackgroundTypes2.NONE,
250
- onClick: () => __async(null, null, function* () {
251
- yield VBHandler.removeEffects();
252
- hmsActions.setAppData(APP_DATA.background, HMSVirtualBackgroundTypes2.NONE);
253
- if (isMobile) {
254
- toggleVB();
255
- }
256
- }),
257
- supported: true
258
- },
259
- {
260
- title: "Blur",
261
- icon: /* @__PURE__ */ React3.createElement(BlurPersonHighIcon, { style: iconDims }),
262
- value: HMSVirtualBackgroundTypes2.BLUR,
263
- onClick: () => __async(null, null, function* () {
264
- var _a2;
265
- yield (_a2 = VBHandler) == null ? void 0 : _a2.setBlur(blurAmount);
266
- hmsActions.setAppData(APP_DATA.background, HMSVirtualBackgroundTypes2.BLUR);
267
- }),
268
- supported: isBlurSupported
269
- }
270
- ],
271
- activeBackground: background
272
- }
273
- ),
274
- /* @__PURE__ */ React3.createElement(Flex, { direction: "column", css: { w: "100%", gap: "$8", mt: "$8" } }, background === HMSVirtualBackgroundTypes2.BLUR && isBlurSupported ? /* @__PURE__ */ React3.createElement(Box, null, /* @__PURE__ */ React3.createElement(Text, { variant: "sm", css: { color: "$on_surface_high", fontWeight: "$semiBold", mb: "$4" } }, "Blur intensity"), /* @__PURE__ */ React3.createElement(Flex, { css: { w: "100%", justifyContent: "space-between", alignItems: "center", gap: "$4" } }, /* @__PURE__ */ React3.createElement(Text, { variant: "caption", css: { fontWeight: "$medium", color: "$on_surface_medium" } }, "Low"), /* @__PURE__ */ React3.createElement(
275
- Slider,
276
- {
277
- showTooltip: false,
278
- value: [blurAmount],
279
- onValueChange: (e) => __async(null, null, function* () {
280
- setBlurAmount(e[0]);
281
- yield VBHandler.setBlur(e[0]);
282
- }),
283
- step: 0.1,
284
- min: 0.1,
285
- max: 1
286
- }
287
- ), /* @__PURE__ */ React3.createElement(Text, { variant: "caption", css: { fontWeight: "$medium", color: "$on_surface_medium" } }, "High"))) : null),
288
- /* @__PURE__ */ React3.createElement(
289
- VBCollection,
290
- {
291
- title: "Backgrounds",
292
- options: mediaList.map((mediaURL) => ({
293
- mediaURL,
294
- value: mediaURL,
295
- onClick: () => __async(null, null, function* () {
296
- var _a2;
297
- yield (_a2 = VBHandler) == null ? void 0 : _a2.setBackground(mediaURL);
298
- hmsActions.setAppData(APP_DATA.background, mediaURL);
299
- if (isMobile) {
300
- toggleVB();
301
- }
302
- }),
303
- supported: true
304
- })),
305
- activeBackground: background
306
- }
307
- )
308
- ));
309
- };
310
- export {
311
- VBPicker
312
- };
313
- //# sourceMappingURL=VBPicker-FAHHMUQI.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/Prebuilt/components/VirtualBackground/VBPicker.tsx", "../src/Prebuilt/components/VirtualBackground/VBCollection.tsx", "../src/Prebuilt/components/VirtualBackground/VBOption.tsx"],
4
- "sourcesContent": ["import React, { useEffect, useRef, useState } from 'react';\nimport { useMedia } from 'react-use';\nimport {\n HMSMediaStreamPlugin,\n selectAppData,\n selectEffectsKey,\n selectIsEffectsEnabled,\n selectLocalPeerRole,\n} from '@100mslive/hms-video-store';\n// Open issue with eslint-plugin-import https://github.com/import-js/eslint-plugin-import/issues/1810\n// eslint-disable-next-line\nimport { HMSVBPlugin, HMSVirtualBackgroundTypes } from '@100mslive/hms-virtual-background/hmsvbplugin';\nimport { VirtualBackgroundMedia } from '@100mslive/types-prebuilt/elements/virtual_background';\nimport {\n HMSRoomState,\n selectIsLargeRoom,\n selectIsLocalVideoEnabled,\n selectIsLocalVideoPluginPresent,\n selectLocalPeer,\n selectRoomState,\n selectVideoTrackByID,\n useHMSActions,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport { BlurPersonHighIcon, CrossCircleIcon, CrossIcon } from '@100mslive/react-icons';\nimport { Box, config as cssConfig, Flex, Loading, Slider, Video } from '../../../index';\nimport { Text } from '../../../Text';\nimport { VBCollection } from './VBCollection';\nimport { VBHandler } from './VBHandler';\n// @ts-ignore\nimport { useSidepaneToggle } from '../AppData/useSidepane';\nimport { useSidepaneResetOnLayoutUpdate } from '../AppData/useSidepaneResetOnLayoutUpdate';\n// @ts-ignore\nimport { useSetAppDataByKey, useUISettings } from '../AppData/useUISettings';\nimport { APP_DATA, SIDE_PANE_OPTIONS, UI_SETTINGS } from '../../common/constants';\n\nconst iconDims = { height: '40px', width: '40px' };\n\nexport const VBPicker = ({ backgroundMedia = [] }: { backgroundMedia: VirtualBackgroundMedia[] }) => {\n const toggleVB = useSidepaneToggle(SIDE_PANE_OPTIONS.VB);\n const hmsActions = useHMSActions();\n const localPeer = useHMSStore(selectLocalPeer);\n const role = useHMSStore(selectLocalPeerRole);\n const isVideoOn = useHMSStore(selectIsLocalVideoEnabled);\n const mirrorLocalVideo = useUISettings(UI_SETTINGS.mirrorLocalVideo);\n const trackSelector = selectVideoTrackByID(localPeer?.videoTrack);\n const track = useHMSStore(trackSelector);\n const [blurAmount, setBlurAmount] = useState(VBHandler.getBlurAmount() || 0.5);\n const roomState = useHMSStore(selectRoomState);\n const isLargeRoom = useHMSStore(selectIsLargeRoom);\n const isEffectsSupported = VBHandler.isEffectsSupported();\n const isEffectsEnabled = useHMSStore(selectIsEffectsEnabled);\n const effectsKey = useHMSStore(selectEffectsKey);\n const isMobile = useMedia(cssConfig.media.md);\n const [loadingEffects, setLoadingEffects] = useSetAppDataByKey(APP_DATA.loadingEffects);\n const isPluginAdded = useHMSStore(selectIsLocalVideoPluginPresent(VBHandler?.getName() || ''));\n const background = useHMSStore(selectAppData(APP_DATA.background));\n const mediaList = backgroundMedia.map((media: VirtualBackgroundMedia) => media.url || '');\n const pluginLoadingRef = useRef(false);\n const isBlurSupported = VBHandler?.isBlurSupported();\n\n const inPreview = roomState === HMSRoomState.Preview;\n // Hidden in preview as the effect will be visible in the preview tile\n const showVideoTile = isVideoOn && isLargeRoom && !inPreview;\n\n useEffect(() => {\n const addHMSVBPlugin = async () => {\n setLoadingEffects(false);\n if (!role) {\n return;\n }\n await VBHandler.initialisePlugin();\n await hmsActions.addPluginToVideoTrack(\n VBHandler.getVBObject() as HMSVBPlugin,\n Math.floor(role.publishParams.video.frameRate / 2),\n );\n };\n const initializeVirtualBackground = async () => {\n if (!track?.id || pluginLoadingRef.current || isPluginAdded) {\n return;\n }\n\n try {\n pluginLoadingRef.current = true;\n if (isEffectsEnabled && isEffectsSupported && effectsKey) {\n setLoadingEffects(true);\n await VBHandler.initialisePlugin(effectsKey, () => {\n setLoadingEffects(false);\n });\n const vbInstance = VBHandler.getVBObject();\n if (vbInstance.getName() === 'HMSEffects') {\n hmsActions.addPluginsToVideoStream([VBHandler.getVBObject() as HMSMediaStreamPlugin]);\n } else {\n await addHMSVBPlugin();\n }\n } else {\n await addHMSVBPlugin();\n }\n\n const handleDefaultBackground = async () => {\n switch (background) {\n case HMSVirtualBackgroundTypes.NONE:\n break;\n case HMSVirtualBackgroundTypes.BLUR:\n await VBHandler.setBlur(blurAmount);\n break;\n default:\n await VBHandler.setBackground(background);\n }\n };\n\n await handleDefaultBackground();\n } catch (error) {\n console.error('Error initializing virtual background:', error);\n setLoadingEffects(false);\n }\n };\n\n initializeVirtualBackground();\n }, [\n hmsActions,\n role,\n isPluginAdded,\n isEffectsEnabled,\n isEffectsSupported,\n effectsKey,\n track?.id,\n background,\n blurAmount,\n setLoadingEffects,\n ]);\n\n useEffect(() => {\n if (!isVideoOn) {\n toggleVB();\n }\n return () => setLoadingEffects(false);\n }, [isVideoOn, setLoadingEffects, toggleVB]);\n\n useSidepaneResetOnLayoutUpdate('virtual_background', SIDE_PANE_OPTIONS.VB);\n\n return (\n <Flex css={{ pr: '$6', size: '100%' }} direction=\"column\">\n <Flex align=\"center\" justify=\"between\" css={{ w: '100%', background: '$surface_dim', pb: '$4' }}>\n <Text variant=\"h6\" css={{ color: '$on_surface_high', display: 'flex', alignItems: 'center' }}>\n Virtual Background {isMobile && loadingEffects ? <Loading size={18} style={{ marginLeft: '0.5rem' }} /> : ''}\n </Text>\n <Box\n css={{ color: '$on_surface_high', '&:hover': { color: '$on_surface_medium' }, cursor: 'pointer' }}\n onClick={toggleVB}\n >\n <CrossIcon />\n </Box>\n </Flex>\n\n {showVideoTile ? (\n <Video\n mirror={track?.facingMode !== 'environment' && mirrorLocalVideo}\n trackId={localPeer?.videoTrack}\n data-testid=\"preview_tile\"\n css={{ width: '100%', height: '16rem' }}\n />\n ) : null}\n <Box\n css={{\n mt: '$4',\n overflowY: 'auto',\n flex: '1 1 0',\n mr: '-$10',\n pr: '$10',\n }}\n >\n <VBCollection\n title=\"Effects\"\n options={[\n {\n title: 'No effect',\n icon: <CrossCircleIcon style={iconDims} />,\n value: HMSVirtualBackgroundTypes.NONE,\n onClick: async () => {\n await VBHandler.removeEffects();\n hmsActions.setAppData(APP_DATA.background, HMSVirtualBackgroundTypes.NONE);\n if (isMobile) {\n toggleVB();\n }\n },\n supported: true,\n },\n {\n title: 'Blur',\n icon: <BlurPersonHighIcon style={iconDims} />,\n value: HMSVirtualBackgroundTypes.BLUR,\n onClick: async () => {\n await VBHandler?.setBlur(blurAmount);\n hmsActions.setAppData(APP_DATA.background, HMSVirtualBackgroundTypes.BLUR);\n },\n supported: isBlurSupported,\n },\n ]}\n activeBackground={background}\n />\n\n {/* Slider */}\n <Flex direction=\"column\" css={{ w: '100%', gap: '$8', mt: '$8' }}>\n {background === HMSVirtualBackgroundTypes.BLUR && isBlurSupported ? (\n <Box>\n <Text variant=\"sm\" css={{ color: '$on_surface_high', fontWeight: '$semiBold', mb: '$4' }}>\n Blur intensity\n </Text>\n <Flex css={{ w: '100%', justifyContent: 'space-between', alignItems: 'center', gap: '$4' }}>\n <Text variant=\"caption\" css={{ fontWeight: '$medium', color: '$on_surface_medium' }}>\n Low\n </Text>\n <Slider\n showTooltip={false}\n value={[blurAmount]}\n onValueChange={async e => {\n setBlurAmount(e[0]);\n await VBHandler.setBlur(e[0]);\n }}\n step={0.1}\n min={0.1}\n max={1}\n />\n <Text variant=\"caption\" css={{ fontWeight: '$medium', color: '$on_surface_medium' }}>\n High\n </Text>\n </Flex>\n </Box>\n ) : null}\n </Flex>\n\n <VBCollection\n title=\"Backgrounds\"\n options={mediaList.map(mediaURL => ({\n mediaURL,\n value: mediaURL,\n onClick: async () => {\n await VBHandler?.setBackground(mediaURL);\n hmsActions.setAppData(APP_DATA.background, mediaURL);\n if (isMobile) {\n toggleVB();\n }\n },\n supported: true,\n }))}\n activeBackground={background}\n />\n </Box>\n </Flex>\n );\n};\n", "import React from 'react';\n// Open issue with eslint-plugin-import https://github.com/import-js/eslint-plugin-import/issues/1810\n// eslint-disable-next-line\nimport { HMSVirtualBackgroundTypes } from '@100mslive/hms-virtual-background/hmsvbplugin';\nimport { Box } from '../../../Layout';\nimport { Text } from '../../../Text';\nimport { VBOption } from './VBOption';\n\nexport const VBCollection = ({\n options,\n title,\n activeBackground = '',\n}: {\n options: {\n title?: string;\n icon?: React.JSX.Element;\n onClick?: () => Promise<void>;\n mediaURL?: string;\n value: string | HMSVirtualBackgroundTypes;\n supported?: boolean;\n }[];\n title: string;\n activeBackground: string;\n}) => {\n if (options.length === 0) {\n return null;\n }\n return (\n <Box css={{ mt: '$10' }}>\n <Text variant=\"sm\" css={{ color: '$on_surface_high', fontWeight: '$semiBold' }}>\n {title}\n </Text>\n <Box css={{ py: '$4', display: 'grid', gridTemplateColumns: '1fr 1fr 1fr', gap: '$8' }}>\n {options.map((option, index) =>\n option.supported ? (\n <VBOption.Root\n key={option.value}\n testid={option.value === HMSVirtualBackgroundTypes.IMAGE ? `virtual_bg_option-${index}` : option.value}\n {...option}\n isActive={activeBackground === option.value}\n >\n <VBOption.Icon>{option?.icon}</VBOption.Icon>\n <VBOption.Title>{option?.title}</VBOption.Title>\n </VBOption.Root>\n ) : (\n ''\n ),\n )}\n </Box>\n </Box>\n );\n};\n", "import React from 'react';\nimport { Box, Flex } from '../../../Layout';\nimport { Text } from '../../../Text';\n\nconst Root = ({\n onClick,\n mediaURL,\n isActive,\n children,\n testid = '',\n}: {\n onClick?: () => Promise<void>;\n mediaURL?: string;\n isActive: boolean;\n children?: React.JSX.Element[];\n testid: string;\n}) => (\n <Flex\n data-testid={testid}\n direction=\"column\"\n align=\"center\"\n css={{\n p: '$5',\n borderRadius: '$1',\n bg: '$surface_bright',\n border: `4px solid ${isActive ? '$primary_default' : '$surface_dim'}`,\n cursor: 'pointer',\n '@media (hover:hover)': {\n '&:hover': { border: '4px solid $primary_dim' },\n },\n ...(mediaURL ? { height: '$20', backgroundImage: `url(\"${mediaURL}\")`, backgroundSize: 'cover' } : {}),\n }}\n onClick={async () => {\n await onClick?.();\n }}\n >\n {children}\n </Flex>\n);\n\nconst Title = ({ children }: { children?: string }) => {\n return children ? (\n <Text variant=\"xs\" css={{ color: '$on_surface_medium' }}>\n {children}\n </Text>\n ) : null;\n};\n\nconst Icon = ({ children }: { children?: React.JSX.Element }) => {\n return children ? <Box css={{ color: '$on_surface_high' }}>{children}</Box> : null;\n};\n\nexport const VBOption = {\n Root,\n Title,\n Icon,\n};\n"],
5
- "mappings": "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",
6
- "names": ["React", "HMSVirtualBackgroundTypes", "React", "React", "HMSVirtualBackgroundTypes", "React", "_a"]
7
- }