@100mslive/roomkit-react 0.3.22-alpha.3 → 0.3.22-alpha.4

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 (192) hide show
  1. package/dist/Accordion/Accordion.d.ts +322 -134
  2. package/dist/Accordion/index.d.ts +322 -134
  3. package/dist/Avatar/Avatar.d.ts +141 -47
  4. package/dist/Button/Button.d.ts +141 -47
  5. package/dist/Checkbox/Checkbox.d.ts +322 -134
  6. package/dist/Collapsible/Collapsible.d.ts +483 -201
  7. package/dist/Divider/Divider.d.ts +322 -134
  8. package/dist/Dropdown/Dropdown.d.ts +1932 -804
  9. package/dist/Fieldset/Fieldset.d.ts +141 -47
  10. package/dist/Footer/Footer.d.ts +1288 -536
  11. package/dist/{HLSView-EYGGK6BH.js → HLSView-CSOBLYBP.js} +24 -38
  12. package/dist/HLSView-CSOBLYBP.js.map +7 -0
  13. package/dist/{PDFView-RMR33QH4.css → HLSView-QZMIDGI4.css} +3 -3
  14. package/dist/{LeaveScreen-ZAG5UJZL.css.map → HLSView-QZMIDGI4.css.map} +1 -1
  15. package/dist/IconButton/IconButton.d.ts +141 -47
  16. package/dist/Input/Input.d.ts +926 -362
  17. package/dist/Label/Label.d.ts +141 -47
  18. package/dist/Layout/Box.d.ts +141 -47
  19. package/dist/Layout/Flex.d.ts +141 -47
  20. package/dist/Link/Link.d.ts +141 -47
  21. package/dist/Modal/Dialog.d.ts +987 -329
  22. package/dist/Modal/DialogContent.d.ts +1127 -469
  23. package/dist/Pagination/StyledPagination.d.ts +644 -268
  24. package/dist/Popover/index.d.ts +483 -201
  25. package/dist/Prebuilt/IconButton.d.ts +322 -134
  26. package/dist/Prebuilt/components/Chat/ChatBody.d.ts +322 -134
  27. package/dist/Prebuilt/components/Leave/LeaveAtoms.d.ts +805 -335
  28. package/dist/Prebuilt/components/Settings/common.d.ts +322 -134
  29. package/dist/Progress/index.d.ts +322 -134
  30. package/dist/RadioGroup/RadioGroup.d.ts +483 -201
  31. package/dist/ReactSelect/ReactSelect.d.ts +1610 -670
  32. package/dist/Select/Select.d.ts +483 -201
  33. package/dist/Sheet/Sheet.d.ts +987 -329
  34. package/dist/Slider/Slider.d.ts +141 -47
  35. package/dist/Stats/StyledStats.d.ts +966 -402
  36. package/dist/Switch/Switch.d.ts +141 -47
  37. package/dist/Tabs/Tabs.d.ts +644 -268
  38. package/dist/Text/Text.d.ts +141 -47
  39. package/dist/TextArea/TextArea.d.ts +141 -47
  40. package/dist/Theme/base.config.d.ts +78 -26
  41. package/dist/Theme/stitches.config.d.ts +1514 -1067
  42. package/dist/TileMenu/StyledMenuTile.d.ts +1127 -469
  43. package/dist/Toast/Toast.d.ts +946 -382
  44. package/dist/Video/Video.d.ts +141 -47
  45. package/dist/VideoList/StyledVideoList.d.ts +483 -201
  46. package/dist/VideoTile/StyledVideoTile.d.ts +1610 -670
  47. package/dist/chunk-4VBHLZDR.js +34747 -0
  48. package/dist/chunk-4VBHLZDR.js.map +7 -0
  49. package/dist/index.cjs.css +2 -2
  50. package/dist/index.cjs.css.map +1 -1
  51. package/dist/index.cjs.js +22358 -22561
  52. package/dist/index.cjs.js.map +4 -4
  53. package/dist/index.css +2 -2
  54. package/dist/index.css.map +1 -1
  55. package/dist/index.js +15 -25
  56. package/dist/meta.cjs.json +5299 -5657
  57. package/dist/meta.esbuild.json +6290 -9146
  58. package/package.json +8 -8
  59. package/src/Avatar/Avatar.tsx +1 -1
  60. package/src/Popover/Popover.stories.tsx +1 -1
  61. package/src/Prebuilt/App.tsx +2 -6
  62. package/src/Prebuilt/components/Chat/Chat.tsx +8 -12
  63. package/src/Prebuilt/components/Chat/ChatFooter.tsx +1 -1
  64. package/src/Prebuilt/components/Notifications/Notifications.tsx +159 -13
  65. package/src/Prebuilt/components/Notifications/PeerNotifications.tsx +2 -9
  66. package/src/Prebuilt/components/Notifications/ReconnectNotifications.tsx +5 -1
  67. package/src/Prebuilt/components/Notifications/TrackBulkUnmuteModal.tsx +5 -7
  68. package/src/Prebuilt/components/Notifications/TrackNotifications.tsx +1 -23
  69. package/src/Prebuilt/components/Notifications/TrackUnmuteModal.tsx +5 -13
  70. package/src/Prebuilt/components/StatsForNerds.jsx +3 -32
  71. package/src/Prebuilt/components/VideoLayouts/GridLayout.tsx +31 -43
  72. package/src/Prebuilt/components/VideoLayouts/ProminenceLayout.tsx +2 -2
  73. package/src/Prebuilt/components/VirtualBackground/VBOption.tsx +1 -3
  74. package/src/Prebuilt/components/VirtualBackground/VBPicker.tsx +0 -6
  75. package/src/Prebuilt/layouts/HLSView.jsx +0 -1
  76. package/src/Prebuilt/layouts/PDFView.jsx +0 -1
  77. package/src/Prebuilt/layouts/SidePane.tsx +6 -12
  78. package/src/Prebuilt/layouts/VideoStreamingSection.tsx +34 -35
  79. package/dist/ConferenceScreen-CSVWECB5.js +0 -1778
  80. package/dist/ConferenceScreen-CSVWECB5.js.map +0 -7
  81. package/dist/ConferenceScreen-YRURU3RV.css +0 -2780
  82. package/dist/ConferenceScreen-YRURU3RV.css.map +0 -7
  83. package/dist/EmbedView-N2E4DZQA.js +0 -17
  84. package/dist/EmbedView-N2E4DZQA.js.map +0 -7
  85. package/dist/EmbedView-S54NTHF5.css +0 -2780
  86. package/dist/EmbedView-S54NTHF5.css.map +0 -7
  87. package/dist/EmojiReaction-3X4ST4AU.js +0 -11
  88. package/dist/EmojiReaction-3X4ST4AU.js.map +0 -7
  89. package/dist/HLSView-EYGGK6BH.js.map +0 -7
  90. package/dist/HLSView-LBTFLMI4.css +0 -2780
  91. package/dist/HLSView-LBTFLMI4.css.map +0 -7
  92. package/dist/LeaveScreen-D6XU64JL.js +0 -556
  93. package/dist/LeaveScreen-D6XU64JL.js.map +0 -7
  94. package/dist/LeaveScreen-ZAG5UJZL.css +0 -2780
  95. package/dist/MoreSettings-R7B4BSNT.css +0 -2780
  96. package/dist/MoreSettings-R7B4BSNT.css.map +0 -7
  97. package/dist/MoreSettings-TBJVM7OY.js +0 -16
  98. package/dist/MoreSettings-TBJVM7OY.js.map +0 -7
  99. package/dist/PDFView-JOIJDP65.js +0 -84
  100. package/dist/PDFView-JOIJDP65.js.map +0 -7
  101. package/dist/PDFView-RMR33QH4.css.map +0 -7
  102. package/dist/Polls-IN3V2HFI.js +0 -1584
  103. package/dist/Polls-IN3V2HFI.js.map +0 -7
  104. package/dist/Polls-JW7JWGTE.css +0 -2780
  105. package/dist/Polls-JW7JWGTE.css.map +0 -7
  106. package/dist/Prebuilt/components/Notifications/DeviceChangeNotifications.d.ts +0 -1
  107. package/dist/Prebuilt/components/Notifications/ErrorNotifications.d.ts +0 -1
  108. package/dist/Prebuilt/components/Notifications/MessageNotifications.d.ts +0 -1
  109. package/dist/Prebuilt/components/Notifications/PollNotificationModal.d.ts +0 -1
  110. package/dist/Prebuilt/components/Notifications/RoleChangeNotification.d.ts +0 -1
  111. package/dist/RaiseHand-WES4KKMD.js +0 -10
  112. package/dist/RaiseHand-WES4KKMD.js.map +0 -7
  113. package/dist/RoleProminence-4ZBDBCMU.css +0 -2780
  114. package/dist/RoleProminence-4ZBDBCMU.css.map +0 -7
  115. package/dist/RoleProminence-PB32DLIB.js +0 -116
  116. package/dist/RoleProminence-PB32DLIB.js.map +0 -7
  117. package/dist/RoomDetailsPane-CZH2SNLE.js +0 -53
  118. package/dist/RoomDetailsPane-CZH2SNLE.js.map +0 -7
  119. package/dist/RoomDetailsPane-XWH2KEFI.css +0 -2780
  120. package/dist/RoomDetailsPane-XWH2KEFI.css.map +0 -7
  121. package/dist/ScreenshareLayout-XVENPVK3.js +0 -358
  122. package/dist/ScreenshareLayout-XVENPVK3.js.map +0 -7
  123. package/dist/ScreenshareLayout-YUW3KHAB.css +0 -2780
  124. package/dist/ScreenshareLayout-YUW3KHAB.css.map +0 -7
  125. package/dist/SidePaneTabs-QXCDHOGG.js +0 -1354
  126. package/dist/SidePaneTabs-QXCDHOGG.js.map +0 -7
  127. package/dist/SidePaneTabs-WQGVOWRP.css +0 -2780
  128. package/dist/SidePaneTabs-WQGVOWRP.css.map +0 -7
  129. package/dist/VBPicker-XN74N67R.js +0 -322
  130. package/dist/VBPicker-XN74N67R.js.map +0 -7
  131. package/dist/VBPicker-YDM2YIOM.css +0 -2780
  132. package/dist/VBPicker-YDM2YIOM.css.map +0 -7
  133. package/dist/WaitingView-77PRTIBV.js +0 -10
  134. package/dist/WaitingView-77PRTIBV.js.map +0 -7
  135. package/dist/WhiteboardLayout-FZC7SOSG.js +0 -96
  136. package/dist/WhiteboardLayout-FZC7SOSG.js.map +0 -7
  137. package/dist/WhiteboardLayout-MNTUWEVK.css +0 -2780
  138. package/dist/WhiteboardLayout-MNTUWEVK.css.map +0 -7
  139. package/dist/android-perm-1.png +0 -0
  140. package/dist/audio-level.png +0 -0
  141. package/dist/chunk-26D5FDBW.js +0 -16812
  142. package/dist/chunk-26D5FDBW.js.map +0 -7
  143. package/dist/chunk-2J5WS52X.js +0 -2595
  144. package/dist/chunk-2J5WS52X.js.map +0 -7
  145. package/dist/chunk-2LWOQMYY.js +0 -30
  146. package/dist/chunk-2LWOQMYY.js.map +0 -7
  147. package/dist/chunk-3MRQJSIY.js +0 -171
  148. package/dist/chunk-3MRQJSIY.js.map +0 -7
  149. package/dist/chunk-4X4WB7X3.js +0 -98
  150. package/dist/chunk-4X4WB7X3.js.map +0 -7
  151. package/dist/chunk-7QZJMUHM.js +0 -90
  152. package/dist/chunk-7QZJMUHM.js.map +0 -7
  153. package/dist/chunk-ABCV7TX5.js +0 -71
  154. package/dist/chunk-ABCV7TX5.js.map +0 -7
  155. package/dist/chunk-BQOT4DK7.js +0 -418
  156. package/dist/chunk-BQOT4DK7.js.map +0 -7
  157. package/dist/chunk-ENHSO6YN.js +0 -6337
  158. package/dist/chunk-ENHSO6YN.js.map +0 -7
  159. package/dist/chunk-JKWX7W4K.js +0 -161
  160. package/dist/chunk-JKWX7W4K.js.map +0 -7
  161. package/dist/chunk-LO4BXA4G.js +0 -114
  162. package/dist/chunk-LO4BXA4G.js.map +0 -7
  163. package/dist/chunk-MRVWNFXC.js +0 -59
  164. package/dist/chunk-MRVWNFXC.js.map +0 -7
  165. package/dist/chunk-OA4HW7HW.js +0 -262
  166. package/dist/chunk-OA4HW7HW.js.map +0 -7
  167. package/dist/chunk-PJQSPAFZ.js +0 -178
  168. package/dist/chunk-PJQSPAFZ.js.map +0 -7
  169. package/dist/chunk-QHQKY35W.js +0 -830
  170. package/dist/chunk-QHQKY35W.js.map +0 -7
  171. package/dist/chunk-QKXHQ6DV.js +0 -254
  172. package/dist/chunk-QKXHQ6DV.js.map +0 -7
  173. package/dist/chunk-RTWNTT77.js +0 -62
  174. package/dist/chunk-RTWNTT77.js.map +0 -7
  175. package/dist/chunk-TBXRX6MK.js +0 -576
  176. package/dist/chunk-TBXRX6MK.js.map +0 -7
  177. package/dist/chunk-TCOPR3BK.js +0 -487
  178. package/dist/chunk-TCOPR3BK.js.map +0 -7
  179. package/dist/chunk-VKORP2LF.js +0 -41
  180. package/dist/chunk-VKORP2LF.js.map +0 -7
  181. package/dist/chunk-YYVDCP5Z.js +0 -136
  182. package/dist/chunk-YYVDCP5Z.js.map +0 -7
  183. package/dist/empty-chat.svg +0 -12
  184. package/dist/ios-perm-0.png +0 -0
  185. package/dist/pdf-share.png +0 -0
  186. package/dist/screen-share.png +0 -0
  187. package/dist/transaction_error.svg +0 -12
  188. package/src/Prebuilt/components/Notifications/DeviceChangeNotifications.tsx +0 -18
  189. package/src/Prebuilt/components/Notifications/ErrorNotifications.tsx +0 -56
  190. package/src/Prebuilt/components/Notifications/MessageNotifications.tsx +0 -24
  191. package/src/Prebuilt/components/Notifications/PollNotificationModal.tsx +0 -71
  192. package/src/Prebuilt/components/Notifications/RoleChangeNotification.tsx +0 -24
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/Prebuilt/components/Header/Header.tsx", "../src/Prebuilt/components/Header/RoomDetailsHeader.tsx", "../src/Prebuilt/components/Header/common.jsx", "../src/Prebuilt/components/Header/index.tsx"],
4
- "sourcesContent": ["import React from 'react';\nimport { useMedia } from 'react-use';\nimport { HMSRoomState, selectRoomState, useHMSStore } from '@100mslive/react-sdk';\nimport { config as cssConfig, Flex } from '../../..';\n// @ts-ignore: No implicit any\nimport { Logo, SpeakerTag } from './HeaderComponents';\n// @ts-ignore: No implicit any\nimport { RoomDetailsHeader } from './RoomDetailsHeader';\nimport { LiveStatus, RecordingPauseStatus, RecordingStatus, StreamActions } from './StreamActions';\n// @ts-ignore: No implicit any\nimport { AudioActions, CamaraFlipActions } from './common';\n\nexport const Header = () => {\n const roomState = useHMSStore(selectRoomState);\n const isMobile = useMedia(cssConfig.media.md);\n // Header should be present only inside the call - not in preview, leave room states\n if (roomState !== HMSRoomState.Connected) {\n return <></>;\n }\n return (\n <Flex justify=\"between\" align=\"center\" css={{ position: 'relative', height: '100%' }}>\n <Flex align=\"center\" gap=\"2\" css={{ position: 'absolute', left: '$10' }}>\n <Logo />\n <RoomDetailsHeader />\n <SpeakerTag />\n {isMobile && (\n <Flex align=\"center\" css={{ gap: '$4' }}>\n <LiveStatus />\n <RecordingStatus />\n <RecordingPauseStatus />\n </Flex>\n )}\n </Flex>\n <Flex\n align=\"center\"\n css={{\n position: 'absolute',\n right: '$10',\n gap: '$4',\n }}\n >\n <StreamActions />\n {isMobile ? (\n <>\n <CamaraFlipActions />\n <AudioActions />\n </>\n ) : null}\n </Flex>\n </Flex>\n );\n};\n", "import React from 'react';\nimport { useMedia } from 'react-use';\nimport { ChevronRightIcon } from '@100mslive/react-icons';\nimport { Flex } from '../../../Layout';\nimport { Text } from '../../../Text';\nimport { config as cssConfig } from '../../../Theme';\nimport { useRoomLayoutHeader } from '../../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';\nimport { useSheetToggle } from '../AppData/useSheet';\n// @ts-ignore\nimport { useSidepaneToggle } from '../AppData/useSidepane';\nimport { SHEET_OPTIONS, SIDE_PANE_OPTIONS } from '../../common/constants';\n\nexport const RoomDetailsHeader = () => {\n const { title, description } = useRoomLayoutHeader();\n const isMobile = useMedia(cssConfig.media.md);\n const clipLength = 30;\n const toggleDetailsPane = useSidepaneToggle(SIDE_PANE_OPTIONS.ROOM_DETAILS);\n const toggleDetailsSheet = useSheetToggle(SHEET_OPTIONS.ROOM_DETAILS);\n\n if ((!title && !description) || (isMobile && !title)) {\n return null;\n }\n\n return (\n <Flex direction={isMobile ? 'row' : 'column'} css={{ ml: '$8', alignItems: isMobile ? 'center' : 'start' }}>\n <Text variant=\"sm\" css={{ c: '$on_surface_high', fontWeight: '$semiBold' }}>\n {title}\n </Text>\n {!isMobile && (\n <Flex align=\"end\" css={{ color: '$on_surface_high' }}>\n <Text variant=\"xs\" css={{ c: '$on_surface_medium' }}>\n {description.slice(0, clipLength)}\n </Text>\n {description.length > clipLength ? (\n <span\n style={{ fontWeight: '600', fontSize: '12px', cursor: 'pointer', lineHeight: '1rem' }}\n onClick={toggleDetailsPane}\n >\n &nbsp;...more\n </span>\n ) : null}\n </Flex>\n )}\n {isMobile && description ? (\n <Flex css={{ color: '$on_surface_medium' }}>\n <ChevronRightIcon height={16} width={16} onClick={toggleDetailsSheet} />\n </Flex>\n ) : null}\n </Flex>\n );\n};\n", "import React from 'react';\nimport {\n DeviceType,\n getAudioDeviceCategory,\n HMSAudioDeviceCategory,\n selectIsLocalVideoEnabled,\n selectLocalVideoTrackID,\n selectVideoTrackByID,\n useDevices,\n useHMSActions,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport {\n BluetoothIcon,\n CameraFlipIcon,\n CheckIcon,\n CrossIcon,\n HeadphonesIcon,\n SpeakerIcon,\n TelePhoneIcon,\n} from '@100mslive/react-icons';\nimport { HorizontalDivider } from '../../../Divider';\nimport { Label } from '../../../Label';\nimport { Box, Flex } from '../../../Layout';\nimport { Sheet } from '../../../Sheet';\nimport { Text } from '../../../Text';\nimport IconButton from '../../IconButton';\nimport { ToastManager } from '../Toast/ToastManager';\n\nexport const CamaraFlipActions = () => {\n const actions = useHMSActions();\n const { allDevices } = useDevices();\n const { videoInput } = allDevices;\n const isVideoOn = useHMSStore(selectIsLocalVideoEnabled);\n\n const videoTrackId = useHMSStore(selectLocalVideoTrackID);\n const localVideoTrack = useHMSStore(selectVideoTrackByID(videoTrackId));\n if (!videoInput || !videoInput?.length || !localVideoTrack?.facingMode) {\n return null;\n }\n return (\n <Box>\n <IconButton\n disabled={!isVideoOn}\n onClick={async () => {\n try {\n await actions.switchCamera();\n } catch (e) {\n ToastManager.addToast({\n title: `Error while flipping camera ${e.message || ''}`,\n variant: 'error',\n });\n }\n }}\n >\n <CameraFlipIcon />\n </IconButton>\n </Box>\n );\n};\n\n// It will handle and show audio input devices in Mweb while audio output devices in desktop\nexport const AudioActions = () => {\n const { allDevices, selectedDeviceIDs, updateDevice } = useDevices();\n\n // don't show speaker selector where the API is not supported, and use\n // a generic word(\"Audio\") for Mic. In some cases(Chrome Android for example) this changes both mic and speaker keeping them in sync.\n const shouldShowAudioOutput = 'setSinkId' in HTMLMediaElement.prototype;\n const { audioInput, audioOutput } = allDevices;\n let availableAudioDevices = audioInput;\n let selectedAudio = selectedDeviceIDs.audioInput;\n if (shouldShowAudioOutput) {\n availableAudioDevices = audioOutput;\n selectedAudio = selectedDeviceIDs.audioOutput;\n }\n const hmsActions = useHMSActions();\n const audioFiltered = availableAudioDevices?.find(item => !!item.label);\n const currentSelection = availableAudioDevices?.find(item => item.deviceId === selectedAudio);\n\n if (!audioFiltered) {\n return null;\n }\n const deviceCategory = getAudioDeviceCategory(currentSelection?.label);\n let AudioIcon = <SpeakerIcon />;\n if (deviceCategory === HMSAudioDeviceCategory.BLUETOOTH) {\n AudioIcon = <BluetoothIcon />;\n } else if (deviceCategory === HMSAudioDeviceCategory.WIRED) {\n AudioIcon = <HeadphonesIcon />;\n } else if (deviceCategory === HMSAudioDeviceCategory.EARPIECE) {\n AudioIcon = <TelePhoneIcon />;\n }\n return (\n <AudioSelectionSheet\n audioDevices={availableAudioDevices}\n audioSelected={selectedAudio}\n onChange={async deviceId => {\n try {\n await updateDevice({\n deviceId,\n deviceType: shouldShowAudioOutput ? DeviceType.audioOutput : DeviceType.audioInput,\n });\n } catch (e) {\n ToastManager.addToast({\n title: `Error while changing audio device ${e.message || ''}`,\n variant: 'error',\n });\n }\n }}\n >\n <Box\n onClick={async () => {\n // refresh device as `devicechange` listener won't work in mobile device\n await hmsActions.refreshDevices();\n }}\n >\n <IconButton>{AudioIcon}</IconButton>\n </Box>\n </AudioSelectionSheet>\n );\n};\n\nconst AudioSelectionSheet = ({ audioDevices, audioSelected, onChange, children }) => {\n return (\n <Sheet.Root>\n <Sheet.Trigger asChild>{children}</Sheet.Trigger>\n <Sheet.Content>\n <Sheet.Title css={{ py: '$10', px: '$8', alignItems: 'center' }}>\n <Flex direction=\"row\" justify=\"between\" css={{ w: '100%' }}>\n <Text variant=\"h6\" css={{ display: 'flex' }}>\n Audio\n </Text>\n <Sheet.Close>\n <IconButton as=\"div\" data-testid=\"dialog_cross_icon\">\n <CrossIcon />\n </IconButton>\n </Sheet.Close>\n </Flex>\n </Sheet.Title>\n <HorizontalDivider />\n <Flex\n direction=\"column\"\n css={{\n px: '$8',\n maxHeight: '80vh',\n overflowY: 'auto',\n }}\n >\n {audioDevices.map(audioDevice => {\n return (\n <SelectWithLabel\n key={audioDevice.deviceId}\n label={audioDevice.label}\n id={audioDevice.deviceId}\n checked={audioDevice.deviceId === audioSelected}\n onChange={() => onChange(audioDevice.deviceId)}\n />\n );\n })}\n </Flex>\n </Sheet.Content>\n </Sheet.Root>\n );\n};\n\nconst SelectWithLabel = ({ label, icon = <></>, checked, id, onChange }) => {\n return (\n <Flex\n align=\"center\"\n css={{\n my: '$2',\n py: '$8',\n w: '100%',\n borderBottom: '1px solid $border_default',\n }}\n onClick={onChange}\n >\n <Label\n htmlFor={id}\n css={{\n fontSize: '$md',\n fontWeight: '$semiBold',\n color: '$on_surface_high',\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n gap: '$8',\n flex: '1 1 0',\n }}\n >\n {icon}\n {label}\n </Label>\n {checked && <CheckIcon width={24} height={24} />}\n </Flex>\n );\n};\n", "export { Header } from './Header';\n"],
5
- "mappings": "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",
6
- "names": ["React", "useMedia", "useHMSStore", "React", "React", "useHMSStore", "useMedia", "React"]
7
- }
@@ -1,178 +0,0 @@
1
- import {
2
- StyledPagination
3
- } from "./chunk-26D5FDBW.js";
4
- import {
5
- config,
6
- init_define_process_env
7
- } from "./chunk-TBXRX6MK.js";
8
-
9
- // src/Prebuilt/components/Pagination.tsx
10
- init_define_process_env();
11
- import React, { useEffect } from "react";
12
- import { ChevronLeftIcon, ChevronRightIcon } from "@100mslive/react-icons";
13
- var Pagination = ({
14
- page,
15
- onPageChange,
16
- numPages
17
- }) => {
18
- const disableLeft = page === 0;
19
- const disableRight = page === numPages - 1;
20
- const nextPage = (e) => {
21
- e.stopPropagation();
22
- onPageChange(Math.min(page + 1, numPages - 1));
23
- };
24
- const prevPage = (e) => {
25
- e.stopPropagation();
26
- onPageChange(Math.max(page - 1, 0));
27
- };
28
- useEffect(() => {
29
- if (page >= numPages) {
30
- onPageChange(Math.max(0, numPages - 1));
31
- }
32
- }, [numPages, onPageChange, page]);
33
- if (numPages <= 1) {
34
- return null;
35
- }
36
- return /* @__PURE__ */ React.createElement(StyledPagination.Root, { css: { flexShrink: 0 } }, /* @__PURE__ */ React.createElement(StyledPagination.Chevron, { disabled: disableLeft, onClick: prevPage }, /* @__PURE__ */ React.createElement(ChevronLeftIcon, { width: 16, height: 16, style: { cursor: disableLeft ? "not-allowed" : "pointer" } })), numPages <= 5 ? /* @__PURE__ */ React.createElement(StyledPagination.Dots, null, [...Array(numPages)].map((_, i) => /* @__PURE__ */ React.createElement(
37
- StyledPagination.Dot,
38
- {
39
- key: i,
40
- active: page === i,
41
- onClick: (e) => {
42
- e.stopPropagation();
43
- onPageChange(i);
44
- }
45
- }
46
- ))) : null, /* @__PURE__ */ React.createElement(StyledPagination.Chevron, { disabled: disableRight, onClick: nextPage }, /* @__PURE__ */ React.createElement(ChevronRightIcon, { width: 16, height: 16, style: { cursor: disableRight ? "not-allowed" : "pointer" } })));
47
- };
48
-
49
- // src/Prebuilt/components/hooks/useTileLayout.tsx
50
- init_define_process_env();
51
- import { useEffect as useEffect2, useMemo, useState } from "react";
52
- import { useMeasure, useMedia } from "react-use";
53
- import {
54
- getPeersWithTiles,
55
- selectTracksMap,
56
- useHMSVanillaStore
57
- } from "@100mslive/react-sdk";
58
- var aspectRatioConfig = { default: [1 / 1, 4 / 3, 16 / 9], mobile: [1 / 1, 3 / 4, 9 / 16] };
59
- var usePagesWithTiles = ({ peers, maxTileCount }) => {
60
- const vanillaStore = useHMSVanillaStore();
61
- const tracksMap = vanillaStore.getState(selectTracksMap);
62
- const peersWithTiles = useMemo(
63
- () => getPeersWithTiles(peers, tracksMap, () => false),
64
- [peers, tracksMap]
65
- );
66
- const noOfPages = Math.ceil(peersWithTiles.length / maxTileCount);
67
- const pagesList = useMemo(() => {
68
- let sliceStart = 0;
69
- let remaining = peersWithTiles.length;
70
- const list = [];
71
- for (let i = 0; i < noOfPages; i++) {
72
- const count = Math.min(remaining, maxTileCount);
73
- list.push(peersWithTiles.slice(sliceStart, sliceStart + count));
74
- remaining = remaining - count;
75
- sliceStart += count;
76
- }
77
- return list;
78
- }, [peersWithTiles, noOfPages, maxTileCount]);
79
- return pagesList;
80
- };
81
- var useTileLayout = ({
82
- pageList,
83
- maxTileCount,
84
- edgeToEdge = false
85
- }) => {
86
- const vanillaStore = useHMSVanillaStore();
87
- const [ref, { width, height }] = useMeasure();
88
- const isMobile = useMedia(config.media.lg);
89
- const [pagesWithTiles, setPagesWithTiles] = useState([]);
90
- useEffect2(() => {
91
- if (width === 0 || height === 0) {
92
- return;
93
- }
94
- for (const page of pageList) {
95
- const noOfTilesInPage = page.length;
96
- let maxCols = noOfTilesInPage > 2 && noOfTilesInPage < 9 ? Math.ceil(noOfTilesInPage / 2) : Math.ceil(Math.sqrt(noOfTilesInPage));
97
- if (isMobile) {
98
- maxCols = noOfTilesInPage < 4 ? 1 : Math.min(maxCols, 2);
99
- }
100
- const maxRows = Math.ceil(noOfTilesInPage / maxCols);
101
- let index = 0;
102
- const matrix = new Array(maxRows).fill(null).map((_, i) => {
103
- const numCols = Math.min(maxCols, noOfTilesInPage - i * maxCols);
104
- const rowElements = [];
105
- for (let j = 0; j < numCols; j++) {
106
- if (index < page.length) {
107
- rowElements.push(page[index++]);
108
- }
109
- }
110
- return rowElements;
111
- });
112
- const gap = edgeToEdge && isMobile ? 0 : 8;
113
- const maxHeight = height - (maxRows - 1) * gap;
114
- const maxRowHeight = maxHeight / matrix.length;
115
- const aspectRatios = isMobile && (noOfTilesInPage === 1 || noOfTilesInPage > 3) ? aspectRatioConfig.mobile : aspectRatioConfig.default;
116
- for (const row of matrix) {
117
- let tileWidth = (width - (row.length - 1) * gap) / row.length;
118
- let tileHeight = 0;
119
- if (edgeToEdge) {
120
- tileHeight = maxRowHeight;
121
- } else {
122
- const calcHeights = aspectRatios.map((aR) => tileWidth / aR);
123
- for (const h of calcHeights) {
124
- if (h < maxRowHeight) {
125
- if (tileHeight < h) {
126
- tileHeight = h;
127
- }
128
- }
129
- }
130
- if (tileHeight === 0) {
131
- tileHeight = maxRowHeight;
132
- const calcWidths = aspectRatios.map((aR) => tileHeight * aR);
133
- tileWidth = 0;
134
- for (const w of calcWidths) {
135
- if (w < width) {
136
- if (tileWidth < w) {
137
- tileWidth = w;
138
- }
139
- }
140
- }
141
- }
142
- }
143
- for (let i = 0; i < row.length; i++) {
144
- row[i].width = tileWidth;
145
- row[i].height = tileHeight;
146
- }
147
- }
148
- }
149
- setPagesWithTiles([...pageList]);
150
- }, [width, height, maxTileCount, pageList, vanillaStore, isMobile, edgeToEdge]);
151
- return { pagesWithTiles, ref };
152
- };
153
-
154
- // src/Prebuilt/components/hooks/useVideoTileLayout.ts
155
- init_define_process_env();
156
- import React2, { useContext } from "react";
157
- var VideoTileContext = React2.createContext({
158
- enableSpotlightingPeer: true,
159
- hideParticipantNameOnTile: false,
160
- roundedVideoTile: true,
161
- hideAudioMuteOnTile: false,
162
- hideAudioLevelOnTile: false,
163
- objectFit: "contain",
164
- hideMetadataOnTile: false
165
- });
166
- var useVideoTileContext = () => {
167
- const context = useContext(VideoTileContext);
168
- return context;
169
- };
170
-
171
- export {
172
- VideoTileContext,
173
- useVideoTileContext,
174
- Pagination,
175
- usePagesWithTiles,
176
- useTileLayout
177
- };
178
- //# sourceMappingURL=chunk-PJQSPAFZ.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/Prebuilt/components/Pagination.tsx", "../src/Prebuilt/components/hooks/useTileLayout.tsx", "../src/Prebuilt/components/hooks/useVideoTileLayout.ts"],
4
- "sourcesContent": ["import React, { useEffect } from 'react';\nimport { ChevronLeftIcon, ChevronRightIcon } from '@100mslive/react-icons';\nimport { StyledPagination } from '../../Pagination';\n\nexport const Pagination = ({\n page,\n onPageChange,\n numPages,\n}: {\n page: number;\n onPageChange: (page: number) => void;\n numPages: number;\n}) => {\n const disableLeft = page === 0;\n const disableRight = page === numPages - 1;\n const nextPage = (e: React.SyntheticEvent) => {\n e.stopPropagation();\n onPageChange(Math.min(page + 1, numPages - 1));\n };\n const prevPage = (e: React.SyntheticEvent) => {\n e.stopPropagation();\n onPageChange(Math.max(page - 1, 0));\n };\n\n useEffect(() => {\n // currentPageIndex should not exceed pages length\n if (page >= numPages) {\n onPageChange(Math.max(0, numPages - 1));\n }\n }, [numPages, onPageChange, page]);\n\n if (numPages <= 1) {\n return null;\n }\n\n return (\n <StyledPagination.Root css={{ flexShrink: 0 }}>\n <StyledPagination.Chevron disabled={disableLeft} onClick={prevPage}>\n <ChevronLeftIcon width={16} height={16} style={{ cursor: disableLeft ? 'not-allowed' : 'pointer' }} />\n </StyledPagination.Chevron>\n {numPages <= 5 ? (\n <StyledPagination.Dots>\n {[...Array(numPages)].map((_, i) => (\n <StyledPagination.Dot\n key={i}\n active={page === i}\n onClick={e => {\n e.stopPropagation();\n onPageChange(i);\n }}\n />\n ))}\n </StyledPagination.Dots>\n ) : null}\n <StyledPagination.Chevron disabled={disableRight} onClick={nextPage}>\n <ChevronRightIcon width={16} height={16} style={{ cursor: disableRight ? 'not-allowed' : 'pointer' }} />\n </StyledPagination.Chevron>\n </StyledPagination.Root>\n );\n};\n", "import { useEffect, useMemo, useState } from 'react';\nimport { useMeasure, useMedia } from 'react-use';\nimport {\n getPeersWithTiles,\n HMSPeer,\n selectTracksMap,\n TrackWithPeerAndDimensions,\n useHMSVanillaStore,\n} from '@100mslive/react-sdk';\nimport { config as cssConfig } from '../../../Theme';\n\nconst aspectRatioConfig = { default: [1 / 1, 4 / 3, 16 / 9], mobile: [1 / 1, 3 / 4, 9 / 16] };\n\nexport const usePagesWithTiles = ({ peers, maxTileCount }: { peers: HMSPeer[]; maxTileCount: number }) => {\n const vanillaStore = useHMSVanillaStore();\n const tracksMap = vanillaStore.getState(selectTracksMap);\n const peersWithTiles = useMemo(\n () => getPeersWithTiles(peers, tracksMap, () => false) as TrackWithPeerAndDimensions[],\n [peers, tracksMap],\n );\n const noOfPages = Math.ceil(peersWithTiles.length / maxTileCount);\n const pagesList = useMemo(() => {\n let sliceStart = 0;\n let remaining = peersWithTiles.length;\n const list = [];\n // split into pages\n for (let i = 0; i < noOfPages; i++) {\n const count = Math.min(remaining, maxTileCount);\n list.push(peersWithTiles.slice(sliceStart, sliceStart + count));\n remaining = remaining - count;\n sliceStart += count;\n }\n return list;\n }, [peersWithTiles, noOfPages, maxTileCount]);\n return pagesList;\n};\n\nexport const useTileLayout = ({\n pageList,\n maxTileCount,\n edgeToEdge = false,\n}: {\n pageList: TrackWithPeerAndDimensions[][];\n maxTileCount: number;\n edgeToEdge?: boolean;\n}) => {\n const vanillaStore = useHMSVanillaStore();\n const [ref, { width, height }] = useMeasure<HTMLDivElement>();\n const isMobile = useMedia(cssConfig.media.lg);\n const [pagesWithTiles, setPagesWithTiles] = useState<TrackWithPeerAndDimensions[][]>([]);\n\n useEffect(() => {\n if (width === 0 || height === 0) {\n return;\n }\n // calculate dimesions for each page\n for (const page of pageList) {\n const noOfTilesInPage = page.length;\n let maxCols =\n noOfTilesInPage > 2 && noOfTilesInPage < 9\n ? Math.ceil(noOfTilesInPage / 2)\n : Math.ceil(Math.sqrt(noOfTilesInPage));\n if (isMobile) {\n maxCols = noOfTilesInPage < 4 ? 1 : Math.min(maxCols, 2);\n }\n const maxRows = Math.ceil(noOfTilesInPage / maxCols);\n let index = 0;\n // convert the current page to a matrix(grid)\n const matrix = new Array(maxRows).fill(null).map((_, i) => {\n const numCols = Math.min(maxCols, noOfTilesInPage - i * maxCols);\n const rowElements = [];\n for (let j = 0; j < numCols; j++) {\n if (index < page.length) {\n rowElements.push(page[index++]);\n }\n }\n return rowElements;\n });\n\n const gap = edgeToEdge && isMobile ? 0 : 8; // gap between flex items\n const maxHeight = height - (maxRows - 1) * gap;\n const maxRowHeight = maxHeight / matrix.length;\n const aspectRatios =\n isMobile && (noOfTilesInPage === 1 || noOfTilesInPage > 3)\n ? aspectRatioConfig.mobile\n : aspectRatioConfig.default;\n // calculate height and width of each tile in a row\n for (const row of matrix) {\n let tileWidth = (width - (row.length - 1) * gap) / row.length;\n let tileHeight = 0;\n if (edgeToEdge) {\n tileHeight = maxRowHeight;\n } else {\n const calcHeights = aspectRatios.map(aR => tileWidth / aR);\n for (const h of calcHeights) {\n if (h < maxRowHeight) {\n if (tileHeight < h) {\n tileHeight = h;\n }\n }\n }\n\n // tileHeight is not calculated as it could be exceeding the max possible height\n // find the max possible width instead\n if (tileHeight === 0) {\n tileHeight = maxRowHeight;\n const calcWidths = aspectRatios.map(aR => tileHeight * aR);\n tileWidth = 0;\n for (const w of calcWidths) {\n if (w < width) {\n if (tileWidth < w) {\n tileWidth = w;\n }\n }\n }\n }\n }\n for (let i = 0; i < row.length; i++) {\n row[i].width = tileWidth;\n row[i].height = tileHeight;\n }\n }\n }\n setPagesWithTiles([...pageList]);\n }, [width, height, maxTileCount, pageList, vanillaStore, isMobile, edgeToEdge]);\n return { pagesWithTiles, ref };\n};\n", "import React, { useContext } from 'react';\n\ntype TileContextType = {\n enableSpotlightingPeer: boolean;\n hideParticipantNameOnTile?: boolean;\n roundedVideoTile?: boolean;\n hideAudioMuteOnTile?: boolean;\n hideAudioLevelOnTile?: boolean;\n objectFit?: 'cover' | 'contain';\n hideMetadataOnTile?: boolean;\n};\n\nexport const VideoTileContext = React.createContext<TileContextType>({\n enableSpotlightingPeer: true,\n hideParticipantNameOnTile: false,\n roundedVideoTile: true,\n hideAudioMuteOnTile: false,\n hideAudioLevelOnTile: false,\n objectFit: 'contain',\n hideMetadataOnTile: false,\n});\n\nexport const useVideoTileContext = () => {\n const context = useContext(VideoTileContext);\n return context;\n};\n"],
5
- "mappings": "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",
6
- "names": ["useEffect", "useEffect", "React"]
7
- }