@vtx/player 1.7.12 → 1.7.14

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 (144) hide show
  1. package/README.md +2 -2
  2. package/lib/api/fetch.js +62 -91
  3. package/lib/api/fetch.js.map +1 -1
  4. package/lib/api/index.js +18 -63
  5. package/lib/api/index.js.map +1 -1
  6. package/lib/api/types.d.ts +6 -6
  7. package/lib/bd/PlayerManager.js +38 -68
  8. package/lib/bd/PlayerManager.js.map +1 -1
  9. package/lib/bill-player/index.d.ts +1 -1
  10. package/lib/bill-player/index.js +66 -121
  11. package/lib/bill-player/index.js.map +1 -1
  12. package/lib/bill-player/style/css.js +0 -9
  13. package/lib/bill-player/style/css.js.map +1 -1
  14. package/lib/bill-player/style/index.js +0 -9
  15. package/lib/bill-player/style/index.js.map +1 -1
  16. package/lib/bill-player/style/index.less +297 -297
  17. package/lib/components/set-tag-video/index.js +6 -34
  18. package/lib/components/set-tag-video/index.js.map +1 -1
  19. package/lib/components/set-tag-video/style/css.js.map +1 -1
  20. package/lib/components/set-tag-video/style/index.js.map +1 -1
  21. package/lib/components/set-tag-video/style/index.less +125 -125
  22. package/lib/components/split-screen/index.d.ts +1 -1
  23. package/lib/components/split-screen/index.js +3 -14
  24. package/lib/components/split-screen/index.js.map +1 -1
  25. package/lib/components/split-screen/style/css.js.map +1 -1
  26. package/lib/components/split-screen/style/index.js.map +1 -1
  27. package/lib/components/tag-video/index.js +10 -38
  28. package/lib/components/tag-video/index.js.map +1 -1
  29. package/lib/components/tag-video/style/css.js.map +1 -1
  30. package/lib/components/tag-video/style/index.js.map +1 -1
  31. package/lib/components/tag-video/style/index.less +69 -69
  32. package/lib/components/video-scale/index.d.ts +1 -1
  33. package/lib/components/video-scale/index.js +2 -9
  34. package/lib/components/video-scale/index.js.map +1 -1
  35. package/lib/components/video-scale/style/css.js.map +1 -1
  36. package/lib/components/video-scale/style/index.js.map +1 -1
  37. package/lib/context/index.js +0 -4
  38. package/lib/context/index.js.map +1 -1
  39. package/lib/controls/index.d.ts +11 -11
  40. package/lib/controls/index.js +46 -108
  41. package/lib/controls/index.js.map +1 -1
  42. package/lib/controls/style/css.js +0 -5
  43. package/lib/controls/style/css.js.map +1 -1
  44. package/lib/controls/style/index.js +0 -5
  45. package/lib/controls/style/index.js.map +1 -1
  46. package/lib/controls/style/index.less +188 -188
  47. package/lib/h264/PlayerManager.js +18 -27
  48. package/lib/h264/PlayerManager.js.map +1 -1
  49. package/lib/history-control/index.d.ts +2 -2
  50. package/lib/history-control/index.js +61 -121
  51. package/lib/history-control/index.js.map +1 -1
  52. package/lib/history-control/style/css.js +0 -6
  53. package/lib/history-control/style/css.js.map +1 -1
  54. package/lib/history-control/style/index.js +0 -6
  55. package/lib/history-control/style/index.js.map +1 -1
  56. package/lib/history-control/style/index.less +252 -252
  57. package/lib/history-control-v2/components/grid-item/index.js +38 -77
  58. package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
  59. package/lib/history-control-v2/components/panel/index.js +44 -114
  60. package/lib/history-control-v2/components/panel/index.js.map +1 -1
  61. package/lib/history-control-v2/context.js +0 -2
  62. package/lib/history-control-v2/context.js.map +1 -1
  63. package/lib/history-control-v2/index.d.ts +4 -4
  64. package/lib/history-control-v2/index.js +97 -166
  65. package/lib/history-control-v2/index.js.map +1 -1
  66. package/lib/history-control-v2/style/css.js +0 -10
  67. package/lib/history-control-v2/style/css.js.map +1 -1
  68. package/lib/history-control-v2/style/index.js +0 -10
  69. package/lib/history-control-v2/style/index.js.map +1 -1
  70. package/lib/history-control-v2/style/index.less +437 -437
  71. package/lib/history-control-v2/utils.js +1 -21
  72. package/lib/history-control-v2/utils.js.map +1 -1
  73. package/lib/history-player/index.d.ts +1 -1
  74. package/lib/history-player/index.js +146 -205
  75. package/lib/history-player/index.js.map +1 -1
  76. package/lib/history-player/style/css.js +0 -3
  77. package/lib/history-player/style/css.js.map +1 -1
  78. package/lib/history-player/style/index.js +0 -3
  79. package/lib/history-player/style/index.js.map +1 -1
  80. package/lib/history-player/style/index.less +102 -102
  81. package/lib/hooks/useSettings.js +1 -6
  82. package/lib/hooks/useSettings.js.map +1 -1
  83. package/lib/icc/PlayerManager.js +26 -57
  84. package/lib/icc/PlayerManager.js.map +1 -1
  85. package/lib/icc/api.d.ts +0 -68
  86. package/lib/icc/api.js +2 -16
  87. package/lib/icc/api.js.map +1 -1
  88. package/lib/icons/index.d.ts +36 -36
  89. package/lib/icons/index.js +23 -171
  90. package/lib/icons/index.js.map +1 -1
  91. package/lib/icons/index.less +32 -32
  92. package/lib/index.js +0 -10
  93. package/lib/index.js.map +1 -1
  94. package/lib/live-channel-player/index.d.ts +1 -1
  95. package/lib/live-channel-player/index.js +32 -67
  96. package/lib/live-channel-player/index.js.map +1 -1
  97. package/lib/live-channel-player/style/css.js +0 -1
  98. package/lib/live-channel-player/style/css.js.map +1 -1
  99. package/lib/live-channel-player/style/index.js +0 -1
  100. package/lib/live-channel-player/style/index.js.map +1 -1
  101. package/lib/live-control/index.d.ts +2 -2
  102. package/lib/live-control/index.js +36 -86
  103. package/lib/live-control/index.js.map +1 -1
  104. package/lib/live-control/style/css.js +0 -4
  105. package/lib/live-control/style/css.js.map +1 -1
  106. package/lib/live-control/style/index.js +0 -4
  107. package/lib/live-control/style/index.js.map +1 -1
  108. package/lib/live-control/style/index.less +99 -99
  109. package/lib/live-control-v2/index.d.ts +3 -3
  110. package/lib/live-control-v2/index.js +109 -141
  111. package/lib/live-control-v2/index.js.map +1 -1
  112. package/lib/live-control-v2/style/css.js +0 -7
  113. package/lib/live-control-v2/style/css.js.map +1 -1
  114. package/lib/live-control-v2/style/index.js +0 -7
  115. package/lib/live-control-v2/style/index.js.map +1 -1
  116. package/lib/live-control-v2/style/index.less +192 -192
  117. package/lib/live-player/index.d.ts +2 -0
  118. package/lib/live-player/index.js +96 -136
  119. package/lib/live-player/index.js.map +1 -1
  120. package/lib/live-player/style/css.js +0 -2
  121. package/lib/live-player/style/css.js.map +1 -1
  122. package/lib/live-player/style/index.js +0 -2
  123. package/lib/live-player/style/index.js.map +1 -1
  124. package/lib/live-player/style/index.less +75 -75
  125. package/lib/player/index.d.ts +1 -1
  126. package/lib/player/index.js +79 -244
  127. package/lib/player/index.js.map +1 -1
  128. package/lib/rsl/PlayerManager.js +18 -64
  129. package/lib/rsl/PlayerManager.js.map +1 -1
  130. package/lib/typings/@vtx/utils/index.d.ts +28 -28
  131. package/lib/typings/h5player.d.ts +146 -146
  132. package/lib/typings/webrtcplayer.d.ts +56 -56
  133. package/lib/typings/wsplayer.d.ts +99 -99
  134. package/lib/utils/index.d.ts +1 -1
  135. package/lib/utils/index.js +12 -91
  136. package/lib/utils/index.js.map +1 -1
  137. package/lib/vite-env.d.ts +1 -1
  138. package/lib/vtxHls/PlayerManager.js +6 -20
  139. package/lib/vtxHls/PlayerManager.js.map +1 -1
  140. package/lib/vtxHls/WhepManager.js +9 -72
  141. package/lib/vtxHls/WhepManager.js.map +1 -1
  142. package/lib/webrtc/PlayerManager.js +28 -41
  143. package/lib/webrtc/PlayerManager.js.map +1 -1
  144. package/package.json +125 -125
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","Array","fill","channelNum","channelId","LiveControlV2","forwardRef","props","ref","height","width","onExpandChange","onPlayingChannelChange","onVideoClose","onVideoCloseAll","onCloseVideoInRotation","extraDom","gridChange","onScreenshot","scale","defaultGrid","useSetState","expand","grid","activeIndex","channels","state","setState","playRefs","useRef","wrapRef","latestGrid","useFullscreen","isFullscreen","toggleFullscreen","channelRef","useImperativeHandle","setGrid","updateGrid","load","channel","index","current","findIndex","c","newChannels","getActiveIndex","multiLoad","init","adapt","getGrid","length","i","Number","push","channelLength","filter","v","map","item","_a","_b","isRepeat","find","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","handleExpand","slice","resizeAll","updateScale","timer","setTimeout","Object","values","forEach","player","resize","clearTimeout","closeVideo","currChannels","getGridItems","items","element","_jsx","GridItem","active","onClick","onClose","_jsxs","assign","className","style","children","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","useState","actData","setActData","loading","getPreviewUrl","then","res","name","deviceName","channelName","gridItemRef","gridItemSize","useSize","handlePtzType","type","types","url","_Fragment","PlayerHeader","VtxLivePlayer","deviceIp","devicePort","captureName","deviceId","deviceCode","streamType","showInfo","info","screenshot","cloudParams","query","tenantId","getUrlParam","ptzType","reroad","currentIndex","currentChannels","grids","len"],"sources":["live-control-v2/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef, useState, } from 'react';\nimport { getPreviewUrl } from '../api';\nimport SplitScreen from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { PlayerHeader } from '../controls';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { getUrlParam } from '../utils';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { useFullscreen, useSetState, useSize } from 'ahooks';\nimport Space from 'antd/lib/space';\nconst DEFAULT_GRID = 4;\nconst DEFAULT_ACTIVE = 0;\nconst DEFAULT_CHANNELS = Array(25).fill({ channelNum: '', channelId: '' });\n/**\n * 实时分屏组件\n */\nconst LiveControlV2 = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onPlayingChannelChange, onVideoClose, onVideoCloseAll, onCloseVideoInRotation, extraDom, gridChange = true, onScreenshot, scale, defaultGrid, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: defaultGrid || DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n scale: scale || '100%',\n });\n const playRefs = useRef({});\n const wrapRef = useRef(null);\n const latestGrid = useRef(defaultGrid || DEFAULT_GRID);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const channelRef = useRef(DEFAULT_CHANNELS);\n // 实时视频轮询\n // useInterval(() => {\n // // 是否有视频正在播放\n // const hasVideo = channelRef.current.some((item) => item.channelNum);\n // if (polling && hasVideo) {\n // updateChannels(DEFAULT_CHANNELS);\n // const timer = setTimeout(() => {\n // setState({\n // channels: channelRef.current,\n // });\n // clearTimeout(timer);\n // }, 0);\n // }\n // }, polling);\n useImperativeHandle(ref, () => {\n return {\n setGrid: (grid) => {\n updateGrid(grid);\n },\n load: (channel) => {\n const index = channelRef.current.findIndex((c) => c.channelId && channel.channelId && c.channelId === channel.channelId);\n if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n }\n else {\n // 播放该通道\n const newChannels = [...channelRef.current];\n newChannels[state.activeIndex] = channel;\n const activeIndex = getActiveIndex(newChannels, latestGrid.current, state.activeIndex);\n channelRef.current = newChannels;\n setState({ channels: newChannels, activeIndex });\n }\n },\n multiLoad: (channels, init = true, adapt = false) => {\n let grid = latestGrid.current;\n let newChannels = [], activeIndex = state.activeIndex;\n // 每次清空已经在播放的视频\n if (init) {\n adapt && (grid = getGrid(channels.length));\n for (let i = 0; i < Number(grid); i++) {\n newChannels.push(channels[i] ? channels[i] : { channelNum: '', channelId: '' });\n }\n }\n else {\n // 不清空,找寻空闲窗口播放\n const channelLength = channelRef.current.filter((v) => v.channelNum || v.channelId).length +\n channels.length;\n adapt && (grid = getGrid(channelLength));\n newChannels = [...new Array(grid)].map((item, index) => {\n var _a, _b;\n if (((_a = channelRef.current[index]) === null || _a === void 0 ? void 0 : _a.channelNum) ||\n ((_b = channelRef.current[index]) === null || _b === void 0 ? void 0 : _b.channelId)) {\n return channelRef.current[index];\n }\n return { channelNum: '', channelId: '' };\n });\n for (let i = 0; i < channels.length; i++) {\n const isRepeat = newChannels.find((item) => {\n var _a, _b;\n return (item === null || item === void 0 ? void 0 : item.channelNum) === ((_a = channels[i]) === null || _a === void 0 ? void 0 : _a.channelNum) ||\n (item === null || item === void 0 ? void 0 : item.channelId) === ((_b = channels[i]) === null || _b === void 0 ? void 0 : _b.channelId);\n });\n // 如果之前在播放,则不需重复打开新窗口\n if (!isRepeat) {\n const index = getActiveIndex(newChannels, grid, activeIndex);\n // 如果相等,说明没有空闲窗口\n // if (index === activeIndex) {\n // break;\n // }\n if (activeIndex === grid)\n break;\n newChannels[index] = channels[i] || { channelNum: '', channelId: '' };\n activeIndex = index + 1;\n }\n }\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels, activeIndex });\n },\n unLoad: (channelId) => {\n const index = channelRef.current.findIndex((c) => c.channelId === channelId);\n if (~index) {\n // 卸载通道\n const newChannels = [...channelRef.current];\n newChannels[index] = { channelNum: '', channelId: '' };\n updateChannels(newChannels);\n }\n },\n unLoadAll: handleCloseAll,\n };\n });\n useEffect(() => {\n if (onPlayingChannelChange) {\n onPlayingChannelChange(state.channels.filter((c) => !!c.channelNum || !!c.channelId));\n }\n }, [state.channels]);\n const handleCloseAll = () => {\n setState({\n activeIndex: DEFAULT_ACTIVE,\n });\n channelRef.current = DEFAULT_CHANNELS;\n updateChannels(DEFAULT_CHANNELS);\n onVideoCloseAll && onVideoCloseAll();\n };\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const updateGrid = (grid) => {\n let newChannels = [...channelRef.current];\n if (grid > newChannels.length) {\n newChannels = DEFAULT_CHANNELS.slice(0, grid).map((item, index) => {\n return newChannels[index] ? newChannels[index] : item;\n });\n }\n else {\n newChannels = newChannels.slice(0, grid);\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels });\n // 重置视频大小\n resizeAll();\n };\n const updateScale = (scale) => {\n setState({ scale });\n // 重置视频大小\n resizeAll();\n };\n // 重置所有视频大小\n const resizeAll = () => {\n const timer = setTimeout(() => {\n Object.values(playRefs.current).forEach((player) => {\n player && player.resize();\n });\n clearTimeout(timer);\n }, 100);\n };\n const updateChannels = (channels) => {\n channelRef.current = channels;\n setState({ channels });\n };\n // 关闭视频\n const closeVideo = (i) => {\n const currChannels = [...channelRef.current];\n const newChannels = [...channelRef.current];\n newChannels[i] = { channelNum: '', channelId: '' };\n updateChannels(newChannels);\n onVideoClose && onVideoClose(currChannels[i], newChannels);\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < Number(latestGrid.current); i++) {\n const element = (_jsx(GridItem, { ref: (ref) => {\n playRefs.current[i] = ref;\n }, active: state.activeIndex === i, onClick: () => setState({ activeIndex: i }), channel: channelRef.current[i] || { channelNum: '', channelId: '' }, onClose: () => {\n // 如果正在轮播\n if (onCloseVideoInRotation) {\n onCloseVideoInRotation(() => closeVideo(i));\n return;\n }\n closeVideo(i);\n }, scale: state.scale, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-control-v2\", ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}` }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsxs(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: [onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))), extraDom ? extraDom : null] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: \"split-line\" }), gridChange ? (_jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => updateGrid(grid) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) }))) : (_jsxs(\"div\", Object.assign({ className: 'grid-change-disable' }, { children: [_jsx(GridIcon, { disabled: !gridChange }), _jsx(DownOutlined, { className: \"arrow\" })] }))), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => updateScale(scale) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })));\n});\nLiveControlV2.displayName = 'LiveControlV2';\nconst GridItem = forwardRef((props, ref) => {\n const { active, onClick, channel, onClose, onScreenshot, scale } = props;\n const empty = !channel.channelNum && !channel.channelId;\n const [actData, setActData] = useState({});\n const loading = false;\n // const { data, loading } = useRequest(() => getPreviewUrl(channel as Required<ChannelType>), {\n // ready: !!channel.channelNum || !!channel.channelId,\n // refreshDeps: [channel.channelNum, channel.channelId],\n // });\n useEffect(() => {\n if ((channel === null || channel === void 0 ? void 0 : channel.channelNum) || channel.channelId) {\n getPreviewUrl(channel).then((res) => {\n setActData(res);\n });\n }\n else {\n setActData({});\n }\n }, [channel === null || channel === void 0 ? void 0 : channel.channelNum, channel === null || channel === void 0 ? void 0 : channel.channelId]);\n const name = `${actData === null || actData === void 0 ? void 0 : actData.deviceName}-${actData === null || actData === void 0 ? void 0 : actData.channelName}`;\n const [{ width, height }, setState] = useSetState({\n width: '100%',\n height: '100%',\n });\n const gridItemRef = useRef(null);\n const gridItemSize = useSize(gridItemRef);\n useEffect(() => {\n if ((gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.width) && (gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.height)) {\n switch (scale) {\n case '100%':\n setState({\n width: '100%',\n height: gridItemSize.height - 26,\n });\n break;\n case '4*3':\n if (gridItemSize.width / 4 < (gridItemSize.height - 26) / 3) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 4) * 3,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 3) * 4,\n height: '100%',\n });\n }\n break;\n case '16*9':\n if (gridItemSize.width / 16 < (gridItemSize.height - 26) / 9) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 16) * 9,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 9) * 16,\n height: '100%',\n });\n }\n break;\n }\n }\n }, [gridItemSize, scale]);\n const handlePtzType = (type) => {\n const types = {\n 1: 'all',\n 2: 'onlyFocus',\n 3: 'onlyRotate',\n 4: 'none',\n };\n return types[type];\n };\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef }, { children: (actData === null || actData === void 0 ? void 0 : actData.url) && (_jsxs(_Fragment, { children: [!empty && _jsx(PlayerHeader, { name: name, onClose: onClose }), _jsx(\"div\", Object.assign({ className: \"content\" }, { children: _jsx(\"div\", Object.assign({ style: { width, height } }, { children: _jsx(VtxLivePlayer, { ref: ref, empty: empty, url: actData.url, type: actData === null || actData === void 0 ? void 0 : actData.player, deviceIp: actData.deviceIp, devicePort: actData.devicePort, captureName: name, deviceId: actData.deviceId, channelNum: actData.channelNum, deviceCode: actData.deviceCode, streamType: actData.streamType, showInfo: channel.showInfo, info: channel.info, screenshot: onScreenshot, cloudParams: {\n query: {\n channelNum: actData.channelNum,\n deviceId: actData.deviceId,\n tenantId: getUrlParam('tenantId'),\n },\n type: handlePtzType((actData === null || actData === void 0 ? void 0 : actData.ptzType) || 4),\n }, reroad: () => {\n setActData({});\n getPreviewUrl(channel).then((res) => {\n setActData(res);\n });\n } }) })) }))] })) })));\n});\nGridItem.displayName = 'grid-item';\n/**\n * 获取当前激活的网格\n * @param channels 现有通道数组\n * @param grid 当前网格状态\n * @param currentIndex 当前索引\n * @returns\n */\nconst getActiveIndex = (channels, grid, currentIndex) => {\n const currentChannels = channels.slice(0, Number(grid));\n for (let i = currentIndex; i < currentChannels.length; i++) {\n if (!currentChannels[i].channelNum && !currentChannels[i].channelId)\n return i;\n }\n for (let i = 0; i < currentIndex; i++) {\n if (!currentChannels[i].channelNum && !currentChannels[i].channelId)\n return i;\n }\n return currentIndex;\n};\nconst grids = [1, 4, 6, 8, 9, 13, 17, 16, 22, 25];\n/**\n * 获取布局\n * @param len 通道数量\n */\nconst getGrid = (len) => {\n let grid;\n for (let i = 0; i < grids.length; i++) {\n if (grids[i] - len >= 0) {\n grid = grids[i];\n break;\n }\n }\n return grid > 25 ? 25 : grid;\n};\nexport default LiveControlV2;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_api","_splitScreen","_interopRequireDefault","_videoScale","_controls","_icons","_livePlayer","_utils","_icons2","_ahooks","_space","obj","__esModule","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","i","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","Object","prototype","toString","call","slice","constructor","name","test","len","length","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","fill","channelNum","channelId","LiveControlV2","forwardRef","props","ref","_props$height","height","_props$width","width","onExpandChange","onPlayingChannelChange","onVideoClose","onVideoCloseAll","onCloseVideoInRotation","extraDom","_props$gridChange","gridChange","onScreenshot","scale","defaultGrid","_useSetState","useSetState","expand","grid","activeIndex","channels","_useSetState2","state","setState","dragRef","useRef","playRefs","wrapRef","latestGrid","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","channelRef","useImperativeHandle","setGrid","updateGrid","load","channel","index","current","findIndex","c","newChannels","getActiveIndex","multiLoad","init","arguments","undefined","adapt","getGrid","Number","channelLength","filter","v","map","item","_a","_b","_loop","_i2","isRepeat","find","_ret","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","handleExpand","resizeAll","updateScale","timer","setTimeout","values","forEach","player","resize","clearTimeout","closeVideo","currChannels","getGridItems","items","_loop2","element","_jsx","GridItem","active","onClick","onClose","_index","el","parentNode","previousElementSibling","findParent","className","indexOf","_jsxs","assign","style","children","concat","onDragStart","e","target","onDragOver","indexDraging","indexTarget","insertBefore","nextSibling","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","_useState","useState","_useState2","actData","setActData","loading","getPreviewUrl","then","res","deviceName","channelName","_useSetState3","_useSetState4","_useSetState4$","gridItemRef","gridItemSize","useSize","handlePtzType","type","types","draggable","url","_Fragment","PlayerHeader","VtxLivePlayer","beenHasVideo","deviceIp","devicePort","captureName","deviceId","deviceCode","streamType","showInfo","info","screenshot","cloudParams","query","tenantId","getUrlParam","ptzType","reroad","currentIndex","currentChannels","grids","_default","exports"],"sources":["live-control-v2/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef, useState, } from 'react';\nimport { getPreviewUrl } from '../api';\nimport SplitScreen from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { PlayerHeader } from '../controls';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { getUrlParam } from '../utils';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { useFullscreen, useSetState, useSize } from 'ahooks';\nimport Space from 'antd/lib/space';\nconst DEFAULT_GRID = 4;\nconst DEFAULT_ACTIVE = 0;\nconst DEFAULT_CHANNELS = Array(25).fill({ channelNum: '', channelId: '' });\n/**\n * 实时分屏组件\n */\nconst LiveControlV2 = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onPlayingChannelChange, onVideoClose, onVideoCloseAll, onCloseVideoInRotation, extraDom, gridChange = true, onScreenshot, scale, defaultGrid, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: defaultGrid || DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n scale: scale || '100%',\n });\n const dragRef = useRef(null);\n const playRefs = useRef({});\n const wrapRef = useRef(null);\n const latestGrid = useRef(defaultGrid || DEFAULT_GRID);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const channelRef = useRef(DEFAULT_CHANNELS);\n // 实时视频轮询\n // useInterval(() => {\n // // 是否有视频正在播放\n // const hasVideo = channelRef.current.some((item) => item.channelNum);\n // if (polling && hasVideo) {\n // updateChannels(DEFAULT_CHANNELS);\n // const timer = setTimeout(() => {\n // setState({\n // channels: channelRef.current,\n // });\n // clearTimeout(timer);\n // }, 0);\n // }\n // }, polling);\n useImperativeHandle(ref, () => {\n return {\n setGrid: (grid) => {\n updateGrid(grid);\n },\n load: (channel) => {\n const index = channelRef.current.findIndex((c) => c.channelId && channel.channelId && c.channelId === channel.channelId);\n if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n }\n else {\n // 播放该通道\n const newChannels = [...channelRef.current];\n newChannels[state.activeIndex] = channel;\n const activeIndex = getActiveIndex(newChannels, latestGrid.current, state.activeIndex);\n channelRef.current = newChannels;\n setState({ channels: newChannels, activeIndex });\n }\n },\n multiLoad: (channels, init = true, adapt = false) => {\n let grid = latestGrid.current;\n let newChannels = [], activeIndex = state.activeIndex;\n // 每次清空已经在播放的视频\n if (init) {\n adapt && (grid = getGrid(channels.length));\n for (let i = 0; i < Number(grid); i++) {\n newChannels.push(channels[i] ? channels[i] : { channelNum: '', channelId: '' });\n }\n }\n else {\n // 不清空,找寻空闲窗口播放\n const channelLength = channelRef.current.filter((v) => v.channelNum || v.channelId).length +\n channels.length;\n adapt && (grid = getGrid(channelLength));\n newChannels = [...new Array(grid)].map((item, index) => {\n var _a, _b;\n if (((_a = channelRef.current[index]) === null || _a === void 0 ? void 0 : _a.channelNum) ||\n ((_b = channelRef.current[index]) === null || _b === void 0 ? void 0 : _b.channelId)) {\n return channelRef.current[index];\n }\n return { channelNum: '', channelId: '' };\n });\n for (let i = 0; i < channels.length; i++) {\n const isRepeat = newChannels.find((item) => {\n var _a, _b;\n return (item === null || item === void 0 ? void 0 : item.channelNum) === ((_a = channels[i]) === null || _a === void 0 ? void 0 : _a.channelNum) ||\n (item === null || item === void 0 ? void 0 : item.channelId) === ((_b = channels[i]) === null || _b === void 0 ? void 0 : _b.channelId);\n });\n // 如果之前在播放,则不需重复打开新窗口\n if (!isRepeat) {\n const index = getActiveIndex(newChannels, grid, activeIndex);\n // 如果相等,说明没有空闲窗口\n // if (index === activeIndex) {\n // break;\n // }\n if (activeIndex === grid)\n break;\n newChannels[index] = channels[i] || { channelNum: '', channelId: '' };\n activeIndex = index + 1;\n }\n }\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels, activeIndex });\n },\n unLoad: (channelId) => {\n const index = channelRef.current.findIndex((c) => c.channelId === channelId);\n if (~index) {\n // 卸载通道\n const newChannels = [...channelRef.current];\n newChannels[index] = { channelNum: '', channelId: '' };\n updateChannels(newChannels);\n }\n },\n unLoadAll: handleCloseAll,\n };\n });\n useEffect(() => {\n if (onPlayingChannelChange) {\n onPlayingChannelChange(state.channels.filter((c) => !!c.channelNum || !!c.channelId));\n }\n }, [state.channels]);\n const handleCloseAll = () => {\n setState({\n activeIndex: DEFAULT_ACTIVE,\n });\n channelRef.current = DEFAULT_CHANNELS;\n updateChannels(DEFAULT_CHANNELS);\n onVideoCloseAll && onVideoCloseAll();\n };\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const updateGrid = (grid) => {\n let newChannels = [...channelRef.current];\n if (grid > newChannels.length) {\n newChannels = DEFAULT_CHANNELS.slice(0, grid).map((item, index) => {\n return newChannels[index] ? newChannels[index] : item;\n });\n }\n else {\n newChannels = newChannels.slice(0, grid);\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels });\n // 重置视频大小\n resizeAll();\n };\n const updateScale = (scale) => {\n setState({ scale });\n // 重置视频大小\n resizeAll();\n };\n // 重置所有视频大小\n const resizeAll = () => {\n const timer = setTimeout(() => {\n Object.values(playRefs.current).forEach((player) => {\n player && player.resize();\n });\n clearTimeout(timer);\n }, 100);\n };\n const updateChannels = (channels) => {\n channelRef.current = channels;\n setState({ channels });\n };\n // 关闭视频\n const closeVideo = (i) => {\n const currChannels = [...channelRef.current];\n const newChannels = [...channelRef.current];\n newChannels[i] = { channelNum: '', channelId: '' };\n updateChannels(newChannels);\n onVideoClose && onVideoClose(currChannels[i], newChannels);\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < Number(latestGrid.current); i++) {\n const element = (_jsx(GridItem, { ref: (ref) => {\n playRefs.current[i] = ref;\n }, active: state.activeIndex === i, onClick: () => setState({ activeIndex: i }), channel: channelRef.current[i] || { channelNum: '', channelId: '' }, onClose: () => {\n // 如果正在轮播\n if (onCloseVideoInRotation) {\n onCloseVideoInRotation(() => closeVideo(i));\n return;\n }\n closeVideo(i);\n }, scale: state.scale, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\n };\n function _index(el) {\n var index = 0;\n if (!el || !el.parentNode) {\n return -1;\n }\n // previousElementSibling:上一个兄弟元素\n while (el && (el = el.previousElementSibling)) {\n index++;\n }\n return index;\n }\n function findParent(el, className) {\n if (el.className &&\n typeof (el.className) == 'string' &&\n el.className.indexOf(className) > -1) {\n return el;\n }\n return findParent(el.parentNode, className);\n }\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-control-v2\", ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}`, onDragStart: e => {\n dragRef.current = e.target;\n }, onDragOver: e => {\n if (!e.target) {\n return;\n }\n let target = e.target;\n if (target == null) {\n return;\n }\n target = findParent(target, 'grid-item-container');\n let indexDraging = _index(dragRef.current), indexTarget = _index(target);\n try {\n if (indexDraging < indexTarget) {\n // 目标比元素大,插到其后面\n // extSibling下一个兄弟元素\n target.parentNode.insertBefore(dragRef.current, target.nextSibling);\n }\n else if (indexDraging > indexTarget) {\n // 目标比元素小,插到其前面\n target.parentNode.insertBefore(dragRef.current, target);\n }\n }\n catch (e) {\n }\n } }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsxs(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: [onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))), extraDom ? extraDom : null] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: \"split-line\" }), gridChange ? (_jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => updateGrid(grid) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) }))) : (_jsxs(\"div\", Object.assign({ className: 'grid-change-disable' }, { children: [_jsx(GridIcon, { disabled: !gridChange }), _jsx(DownOutlined, { className: \"arrow\" })] }))), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => updateScale(scale) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })));\n});\nLiveControlV2.displayName = 'LiveControlV2';\nconst GridItem = forwardRef((props, ref) => {\n const { active, onClick, channel, onClose, onScreenshot, scale } = props;\n const empty = !channel.channelNum && !channel.channelId;\n const [actData, setActData] = useState({});\n const loading = false;\n // const { data, loading } = useRequest(() => getPreviewUrl(channel as Required<ChannelType>), {\n // ready: !!channel.channelNum || !!channel.channelId,\n // refreshDeps: [channel.channelNum, channel.channelId],\n // });\n useEffect(() => {\n if ((channel === null || channel === void 0 ? void 0 : channel.channelNum) || channel.channelId) {\n getPreviewUrl(channel).then((res) => {\n setActData(res);\n });\n }\n else {\n setActData({});\n }\n }, [channel === null || channel === void 0 ? void 0 : channel.channelNum, channel === null || channel === void 0 ? void 0 : channel.channelId]);\n const name = `${actData === null || actData === void 0 ? void 0 : actData.deviceName}-${actData === null || actData === void 0 ? void 0 : actData.channelName}`;\n const [{ width, height }, setState] = useSetState({\n width: '100%',\n height: '100%',\n });\n const gridItemRef = useRef(null);\n const gridItemSize = useSize(gridItemRef);\n useEffect(() => {\n if ((gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.width) && (gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.height)) {\n switch (scale) {\n case '100%':\n setState({\n width: '100%',\n height: gridItemSize.height - 26,\n });\n break;\n case '4*3':\n if (gridItemSize.width / 4 < (gridItemSize.height - 26) / 3) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 4) * 3,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 3) * 4,\n height: '100%',\n });\n }\n break;\n case '16*9':\n if (gridItemSize.width / 16 < (gridItemSize.height - 26) / 9) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 16) * 9,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 9) * 16,\n height: '100%',\n });\n }\n break;\n }\n }\n }, [gridItemSize, scale]);\n const handlePtzType = (type) => {\n const types = {\n 1: 'all',\n 2: 'onlyFocus',\n 3: 'onlyRotate',\n 4: 'none',\n };\n return types[type];\n };\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef, draggable: true }, { children: (actData === null || actData === void 0 ? void 0 : actData.url) && (_jsxs(_Fragment, { children: [!empty && _jsx(PlayerHeader, { name: name, onClose: onClose }), _jsx(\"div\", Object.assign({ className: \"content\" }, { children: _jsx(\"div\", Object.assign({ style: { width, height } }, { children: _jsx(VtxLivePlayer, { ref: ref, empty: empty, beenHasVideo: actData.beenHasVideo, url: actData.url, type: actData === null || actData === void 0 ? void 0 : actData.player, deviceIp: actData.deviceIp, devicePort: actData.devicePort, captureName: name, deviceId: actData.deviceId, channelNum: actData.channelNum, deviceCode: actData.deviceCode, streamType: actData.streamType, showInfo: channel.showInfo, info: channel.info, screenshot: onScreenshot, cloudParams: {\n query: {\n channelNum: actData.channelNum,\n deviceId: actData.deviceId,\n tenantId: getUrlParam('tenantId'),\n },\n type: handlePtzType((actData === null || actData === void 0 ? void 0 : actData.ptzType) || 4),\n }, reroad: () => {\n setActData({});\n getPreviewUrl(channel).then((res) => {\n setActData(res);\n });\n } }) })) }))] })) })));\n});\nGridItem.displayName = 'grid-item';\n/**\n * 获取当前激活的网格\n * @param channels 现有通道数组\n * @param grid 当前网格状态\n * @param currentIndex 当前索引\n * @returns\n */\nconst getActiveIndex = (channels, grid, currentIndex) => {\n const currentChannels = channels.slice(0, Number(grid));\n for (let i = currentIndex; i < currentChannels.length; i++) {\n if (!currentChannels[i].channelNum && !currentChannels[i].channelId)\n return i;\n }\n for (let i = 0; i < currentIndex; i++) {\n if (!currentChannels[i].channelNum && !currentChannels[i].channelId)\n return i;\n }\n return currentIndex;\n};\nconst grids = [1, 4, 6, 8, 9, 13, 17, 16, 22, 25];\n/**\n * 获取布局\n * @param len 通道数量\n */\nconst getGrid = (len) => {\n let grid;\n for (let i = 0; i < grids.length; i++) {\n if (grids[i] - len >= 0) {\n grid = grids[i];\n break;\n }\n }\n return grid > 25 ? 25 : grid;\n};\nexport default LiveControlV2;\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAJ,sBAAA,CAAAJ,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,OAAA,GAAAX,OAAA;AACA,IAAAY,MAAA,GAAAR,sBAAA,CAAAJ,OAAA;AAAmC,SAAAI,uBAAAS,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,mBAAAC,GAAA,WAAAC,kBAAA,CAAAD,GAAA,KAAAE,gBAAA,CAAAF,GAAA,KAAAG,2BAAA,CAAAH,GAAA,KAAAI,kBAAA;AAAA,SAAAA,mBAAA,cAAAC,SAAA;AAAA,SAAAH,iBAAAI,IAAA,eAAAC,MAAA,oBAAAD,IAAA,CAAAC,MAAA,CAAAC,QAAA,aAAAF,IAAA,+BAAAG,KAAA,CAAAC,IAAA,CAAAJ,IAAA;AAAA,SAAAL,mBAAAD,GAAA,QAAAS,KAAA,CAAAE,OAAA,CAAAX,GAAA,UAAAY,iBAAA,CAAAZ,GAAA;AAAA,SAAAa,eAAAb,GAAA,EAAAc,CAAA,WAAAC,eAAA,CAAAf,GAAA,KAAAgB,qBAAA,CAAAhB,GAAA,EAAAc,CAAA,KAAAX,2BAAA,CAAAH,GAAA,EAAAc,CAAA,KAAAG,gBAAA;AAAA,SAAAA,iBAAA,cAAAZ,SAAA;AAAA,SAAAF,4BAAAe,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAN,iBAAA,CAAAM,CAAA,EAAAC,MAAA,OAAAC,CAAA,GAAAC,MAAA,CAAAC,SAAA,CAAAC,QAAA,CAAAC,IAAA,CAAAN,CAAA,EAAAO,KAAA,aAAAL,CAAA,iBAAAF,CAAA,CAAAQ,WAAA,EAAAN,CAAA,GAAAF,CAAA,CAAAQ,WAAA,CAAAC,IAAA,MAAAP,CAAA,cAAAA,CAAA,mBAAAX,KAAA,CAAAC,IAAA,CAAAQ,CAAA,OAAAE,CAAA,+DAAAQ,IAAA,CAAAR,CAAA,UAAAR,iBAAA,CAAAM,CAAA,EAAAC,MAAA;AAAA,SAAAP,kBAAAZ,GAAA,EAAA6B,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAA7B,GAAA,CAAA8B,MAAA,EAAAD,GAAA,GAAA7B,GAAA,CAAA8B,MAAA,WAAAhB,CAAA,MAAAiB,IAAA,OAAAtB,KAAA,CAAAoB,GAAA,GAAAf,CAAA,GAAAe,GAAA,EAAAf,CAAA,IAAAiB,IAAA,CAAAjB,CAAA,IAAAd,GAAA,CAAAc,CAAA,UAAAiB,IAAA;AAAA,SAAAf,sBAAAhB,GAAA,EAAAc,CAAA,QAAAkB,EAAA,WAAAhC,GAAA,gCAAAO,MAAA,IAAAP,GAAA,CAAAO,MAAA,CAAAC,QAAA,KAAAR,GAAA,4BAAAgC,EAAA,QAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,IAAA,OAAAC,EAAA,OAAAC,EAAA,iBAAAJ,EAAA,IAAAH,EAAA,GAAAA,EAAA,CAAAR,IAAA,CAAAxB,GAAA,GAAAwC,IAAA,QAAA1B,CAAA,QAAAO,MAAA,CAAAW,EAAA,MAAAA,EAAA,UAAAM,EAAA,uBAAAA,EAAA,IAAAL,EAAA,GAAAE,EAAA,CAAAX,IAAA,CAAAQ,EAAA,GAAAS,IAAA,MAAAJ,IAAA,CAAAK,IAAA,CAAAT,EAAA,CAAAU,KAAA,GAAAN,IAAA,CAAAP,MAAA,KAAAhB,CAAA,GAAAwB,EAAA,iBAAAM,GAAA,IAAAL,EAAA,OAAAL,EAAA,GAAAU,GAAA,yBAAAN,EAAA,YAAAN,EAAA,eAAAI,EAAA,GAAAJ,EAAA,cAAAX,MAAA,CAAAe,EAAA,MAAAA,EAAA,2BAAAG,EAAA,QAAAL,EAAA,aAAAG,IAAA;AAAA,SAAAtB,gBAAAf,GAAA,QAAAS,KAAA,CAAAE,OAAA,CAAAX,GAAA,UAAAA,GAAA;AACnC,IAAM6C,YAAY,GAAG,CAAC;AACtB,IAAMC,cAAc,GAAG,CAAC;AACxB,IAAMC,gBAAgB,GAAGtC,KAAK,CAAC,EAAE,CAAC,CAACuC,IAAI,CAAC;EAAEC,UAAU,EAAE,EAAE;EAAEC,SAAS,EAAE;AAAG,CAAC,CAAC;AAC1E;AACA;AACA;AACA,IAAMC,aAAa,gBAAG,IAAAC,iBAAU,EAAC,UAACC,KAAK,EAAEC,GAAG,EAAK;EAC7C,IAAAC,aAAA,GAA2MF,KAAK,CAAxMG,MAAM;IAANA,MAAM,GAAAD,aAAA,cAAG,MAAM,GAAAA,aAAA;IAAAE,YAAA,GAAoLJ,KAAK,CAAvLK,KAAK;IAALA,KAAK,GAAAD,YAAA,cAAG,MAAM,GAAAA,YAAA;IAAEE,cAAc,GAAoJN,KAAK,CAAvKM,cAAc;IAAEC,sBAAsB,GAA4HP,KAAK,CAAvJO,sBAAsB;IAAEC,YAAY,GAA8GR,KAAK,CAA/HQ,YAAY;IAAEC,eAAe,GAA6FT,KAAK,CAAjHS,eAAe;IAAEC,sBAAsB,GAAqEV,KAAK,CAAhGU,sBAAsB;IAAEC,QAAQ,GAA2DX,KAAK,CAAxEW,QAAQ;IAAAC,iBAAA,GAA2DZ,KAAK,CAA9Da,UAAU;IAAVA,UAAU,GAAAD,iBAAA,cAAG,IAAI,GAAAA,iBAAA;IAAEE,YAAY,GAA0Bd,KAAK,CAA3Cc,YAAY;IAAEC,KAAK,GAAmBf,KAAK,CAA7Be,KAAK;IAAEC,WAAW,GAAMhB,KAAK,CAAtBgB,WAAW;EACrM,IAAAC,YAAA,GAA0B,IAAAC,mBAAW,EAAC;MAClCC,MAAM,EAAE,IAAI;MACZC,IAAI,EAAEJ,WAAW,IAAIxB,YAAY;MACjC6B,WAAW,EAAE5B,cAAc;MAC3B6B,QAAQ,EAAE5B,gBAAgB;MAC1BqB,KAAK,EAAEA,KAAK,IAAI;IACpB,CAAC,CAAC;IAAAQ,aAAA,GAAA/D,cAAA,CAAAyD,YAAA;IANKO,KAAK,GAAAD,aAAA;IAAEE,QAAQ,GAAAF,aAAA;EAOtB,IAAMG,OAAO,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EAC5B,IAAMC,QAAQ,GAAG,IAAAD,aAAM,EAAC,CAAC,CAAC,CAAC;EAC3B,IAAME,OAAO,GAAG,IAAAF,aAAM,EAAC,IAAI,CAAC;EAC5B,IAAMG,UAAU,GAAG,IAAAH,aAAM,EAACX,WAAW,IAAIxB,YAAY,CAAC;EACtD,IAAAuC,cAAA,GAA6C,IAAAC,qBAAa,EAACH,OAAO,CAAC;IAAAI,eAAA,GAAAzE,cAAA,CAAAuE,cAAA;IAA5DG,YAAY,GAAAD,eAAA;IAAIE,gBAAgB,GAAAF,eAAA,IAAhBE,gBAAgB;EACvC,IAAMC,UAAU,GAAG,IAAAT,aAAM,EAACjC,gBAAgB,CAAC;EAC3C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAA2C,0BAAmB,EAACpC,GAAG,EAAE,YAAM;IAC3B,OAAO;MACHqC,OAAO,EAAE,SAAAA,QAAClB,IAAI,EAAK;QACfmB,UAAU,CAACnB,IAAI,CAAC;MACpB,CAAC;MACDoB,IAAI,EAAE,SAAAA,KAACC,OAAO,EAAK;QACf,IAAMC,KAAK,GAAGN,UAAU,CAACO,OAAO,CAACC,SAAS,CAAC,UAACC,CAAC;UAAA,OAAKA,CAAC,CAAChD,SAAS,IAAI4C,OAAO,CAAC5C,SAAS,IAAIgD,CAAC,CAAChD,SAAS,KAAK4C,OAAO,CAAC5C,SAAS;QAAA,EAAC;QACxH,IAAI,CAAC6C,KAAK,EAAE;UACRjB,QAAQ,CAAC;YAAEJ,WAAW,EAAEqB;UAAM,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,MACI;UACD;UACA,IAAMI,WAAW,GAAApG,kBAAA,CAAO0F,UAAU,CAACO,OAAO,CAAC;UAC3CG,WAAW,CAACtB,KAAK,CAACH,WAAW,CAAC,GAAGoB,OAAO;UACxC,IAAMpB,WAAW,GAAG0B,cAAc,CAACD,WAAW,EAAEhB,UAAU,CAACa,OAAO,EAAEnB,KAAK,CAACH,WAAW,CAAC;UACtFe,UAAU,CAACO,OAAO,GAAGG,WAAW;UAChCrB,QAAQ,CAAC;YAAEH,QAAQ,EAAEwB,WAAW;YAAEzB,WAAW,EAAXA;UAAY,CAAC,CAAC;QACpD;MACJ,CAAC;MACD2B,SAAS,EAAE,SAAAA,UAAC1B,QAAQ,EAAiC;QAAA,IAA/B2B,IAAI,GAAAC,SAAA,CAAAzE,MAAA,QAAAyE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;QAAA,IAAEE,KAAK,GAAAF,SAAA,CAAAzE,MAAA,QAAAyE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,KAAK;QAC5C,IAAI9B,IAAI,GAAGU,UAAU,CAACa,OAAO;QAC7B,IAAIG,WAAW,GAAG,EAAE;UAAEzB,WAAW,GAAGG,KAAK,CAACH,WAAW;QACrD;QACA,IAAI4B,IAAI,EAAE;UACNG,KAAK,KAAKhC,IAAI,GAAGiC,OAAO,CAAC/B,QAAQ,CAAC7C,MAAM,CAAC,CAAC;UAC1C,KAAK,IAAIhB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG6F,MAAM,CAAClC,IAAI,CAAC,EAAE3D,CAAC,EAAE,EAAE;YACnCqF,WAAW,CAACzD,IAAI,CAACiC,QAAQ,CAAC7D,CAAC,CAAC,GAAG6D,QAAQ,CAAC7D,CAAC,CAAC,GAAG;cAAEmC,UAAU,EAAE,EAAE;cAAEC,SAAS,EAAE;YAAG,CAAC,CAAC;UACnF;QACJ,CAAC,MACI;UACD;UACA,IAAM0D,aAAa,GAAGnB,UAAU,CAACO,OAAO,CAACa,MAAM,CAAC,UAACC,CAAC;YAAA,OAAKA,CAAC,CAAC7D,UAAU,IAAI6D,CAAC,CAAC5D,SAAS;UAAA,EAAC,CAACpB,MAAM,GACtF6C,QAAQ,CAAC7C,MAAM;UACnB2E,KAAK,KAAKhC,IAAI,GAAGiC,OAAO,CAACE,aAAa,CAAC,CAAC;UACxCT,WAAW,GAAGpG,kBAAA,CAAI,IAAIU,KAAK,CAACgE,IAAI,CAAC,EAAEsC,GAAG,CAAC,UAACC,IAAI,EAAEjB,KAAK,EAAK;YACpD,IAAIkB,EAAE,EAAEC,EAAE;YACV,IAAI,CAAC,CAACD,EAAE,GAAGxB,UAAU,CAACO,OAAO,CAACD,KAAK,CAAC,MAAM,IAAI,IAAIkB,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAChE,UAAU,MACnF,CAACiE,EAAE,GAAGzB,UAAU,CAACO,OAAO,CAACD,KAAK,CAAC,MAAM,IAAI,IAAImB,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAChE,SAAS,CAAC,EAAE;cACtF,OAAOuC,UAAU,CAACO,OAAO,CAACD,KAAK,CAAC;YACpC;YACA,OAAO;cAAE9C,UAAU,EAAE,EAAE;cAAEC,SAAS,EAAE;YAAG,CAAC;UAC5C,CAAC,CAAC;UAAC,IAAAiE,KAAA,YAAAA,MAAAC,GAAA,EACuC;YACtC,IAAMC,QAAQ,GAAGlB,WAAW,CAACmB,IAAI,CAAC,UAACN,IAAI,EAAK;cACxC,IAAIC,EAAE,EAAEC,EAAE;cACV,OAAO,CAACF,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAAC/D,UAAU,OAAO,CAACgE,EAAE,GAAGtC,QAAQ,CAAC7D,GAAC,CAAC,MAAM,IAAI,IAAImG,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAChE,UAAU,CAAC,IAC5I,CAAC+D,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAAC9D,SAAS,OAAO,CAACgE,EAAE,GAAGvC,QAAQ,CAAC7D,GAAC,CAAC,MAAM,IAAI,IAAIoG,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAChE,SAAS,CAAC;YAC/I,CAAC,CAAC;YACF;YACA,IAAI,CAACmE,QAAQ,EAAE;cACX,IAAMtB,KAAK,GAAGK,cAAc,CAACD,WAAW,EAAE1B,IAAI,EAAEC,WAAW,CAAC;cAC5D;cACA;cACA;cACA;cACA,IAAIA,WAAW,KAAKD,IAAI;cAExB0B,WAAW,CAACJ,KAAK,CAAC,GAAGpB,QAAQ,CAAC7D,GAAC,CAAC,IAAI;gBAAEmC,UAAU,EAAE,EAAE;gBAAEC,SAAS,EAAE;cAAG,CAAC;cACrEwB,WAAW,GAAGqB,KAAK,GAAG,CAAC;YAC3B;UACJ,CAAC;UAlBD,KAAK,IAAIjF,GAAC,GAAG,CAAC,EAAEA,GAAC,GAAG6D,QAAQ,CAAC7C,MAAM,EAAEhB,GAAC,EAAE;YAAA,IAAAyG,IAAA,GAAAJ,KAAA,CAAAC,GAAA;YAAA,IAAAG,IAAA,cAc5B;UAAM;QAKtB;QACApC,UAAU,CAACa,OAAO,GAAGvB,IAAI;QACzBgB,UAAU,CAACO,OAAO,GAAGG,WAAW;QAChCrB,QAAQ,CAAC;UAAEL,IAAI,EAAJA,IAAI;UAAEE,QAAQ,EAAEwB,WAAW;UAAEzB,WAAW,EAAXA;QAAY,CAAC,CAAC;MAC1D,CAAC;MACD8C,MAAM,EAAE,SAAAA,OAACtE,SAAS,EAAK;QACnB,IAAM6C,KAAK,GAAGN,UAAU,CAACO,OAAO,CAACC,SAAS,CAAC,UAACC,CAAC;UAAA,OAAKA,CAAC,CAAChD,SAAS,KAAKA,SAAS;QAAA,EAAC;QAC5E,IAAI,CAAC6C,KAAK,EAAE;UACR;UACA,IAAMI,WAAW,GAAApG,kBAAA,CAAO0F,UAAU,CAACO,OAAO,CAAC;UAC3CG,WAAW,CAACJ,KAAK,CAAC,GAAG;YAAE9C,UAAU,EAAE,EAAE;YAAEC,SAAS,EAAE;UAAG,CAAC;UACtDuE,cAAc,CAACtB,WAAW,CAAC;QAC/B;MACJ,CAAC;MACDuB,SAAS,EAAEC;IACf,CAAC;EACL,CAAC,CAAC;EACF,IAAAC,gBAAS,EAAC,YAAM;IACZ,IAAIhE,sBAAsB,EAAE;MACxBA,sBAAsB,CAACiB,KAAK,CAACF,QAAQ,CAACkC,MAAM,CAAC,UAACX,CAAC;QAAA,OAAK,CAAC,CAACA,CAAC,CAACjD,UAAU,IAAI,CAAC,CAACiD,CAAC,CAAChD,SAAS;MAAA,EAAC,CAAC;IACzF;EACJ,CAAC,EAAE,CAAC2B,KAAK,CAACF,QAAQ,CAAC,CAAC;EACpB,IAAMgD,cAAc,GAAG,SAAjBA,cAAcA,CAAA,EAAS;IACzB7C,QAAQ,CAAC;MACLJ,WAAW,EAAE5B;IACjB,CAAC,CAAC;IACF2C,UAAU,CAACO,OAAO,GAAGjD,gBAAgB;IACrC0E,cAAc,CAAC1E,gBAAgB,CAAC;IAChCe,eAAe,IAAIA,eAAe,CAAC,CAAC;EACxC,CAAC;EACD,IAAM+D,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;IACvBlE,cAAc,IAAIA,cAAc,CAAC,CAACkB,KAAK,CAACL,MAAM,CAAC;IAC/CM,QAAQ,CAAC;MAAEN,MAAM,EAAE,CAACK,KAAK,CAACL;IAAO,CAAC,CAAC;EACvC,CAAC;EACD,IAAMoB,UAAU,GAAG,SAAbA,UAAUA,CAAInB,IAAI,EAAK;IACzB,IAAI0B,WAAW,GAAApG,kBAAA,CAAO0F,UAAU,CAACO,OAAO,CAAC;IACzC,IAAIvB,IAAI,GAAG0B,WAAW,CAACrE,MAAM,EAAE;MAC3BqE,WAAW,GAAGpD,gBAAgB,CAACtB,KAAK,CAAC,CAAC,EAAEgD,IAAI,CAAC,CAACsC,GAAG,CAAC,UAACC,IAAI,EAAEjB,KAAK,EAAK;QAC/D,OAAOI,WAAW,CAACJ,KAAK,CAAC,GAAGI,WAAW,CAACJ,KAAK,CAAC,GAAGiB,IAAI;MACzD,CAAC,CAAC;IACN,CAAC,MACI;MACDb,WAAW,GAAGA,WAAW,CAAC1E,KAAK,CAAC,CAAC,EAAEgD,IAAI,CAAC;IAC5C;IACAU,UAAU,CAACa,OAAO,GAAGvB,IAAI;IACzBgB,UAAU,CAACO,OAAO,GAAGG,WAAW;IAChCrB,QAAQ,CAAC;MAAEL,IAAI,EAAJA,IAAI;MAAEE,QAAQ,EAAEwB;IAAY,CAAC,CAAC;IACzC;IACA2B,SAAS,CAAC,CAAC;EACf,CAAC;EACD,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAI3D,KAAK,EAAK;IAC3BU,QAAQ,CAAC;MAAEV,KAAK,EAALA;IAAM,CAAC,CAAC;IACnB;IACA0D,SAAS,CAAC,CAAC;EACf,CAAC;EACD;EACA,IAAMA,SAAS,GAAG,SAAZA,SAASA,CAAA,EAAS;IACpB,IAAME,KAAK,GAAGC,UAAU,CAAC,YAAM;MAC3B5G,MAAM,CAAC6G,MAAM,CAACjD,QAAQ,CAACe,OAAO,CAAC,CAACmC,OAAO,CAAC,UAACC,MAAM,EAAK;QAChDA,MAAM,IAAIA,MAAM,CAACC,MAAM,CAAC,CAAC;MAC7B,CAAC,CAAC;MACFC,YAAY,CAACN,KAAK,CAAC;IACvB,CAAC,EAAE,GAAG,CAAC;EACX,CAAC;EACD,IAAMP,cAAc,GAAG,SAAjBA,cAAcA,CAAI9C,QAAQ,EAAK;IACjCc,UAAU,CAACO,OAAO,GAAGrB,QAAQ;IAC7BG,QAAQ,CAAC;MAAEH,QAAQ,EAARA;IAAS,CAAC,CAAC;EAC1B,CAAC;EACD;EACA,IAAM4D,UAAU,GAAG,SAAbA,UAAUA,CAAIzH,CAAC,EAAK;IACtB,IAAM0H,YAAY,GAAAzI,kBAAA,CAAO0F,UAAU,CAACO,OAAO,CAAC;IAC5C,IAAMG,WAAW,GAAApG,kBAAA,CAAO0F,UAAU,CAACO,OAAO,CAAC;IAC3CG,WAAW,CAACrF,CAAC,CAAC,GAAG;MAAEmC,UAAU,EAAE,EAAE;MAAEC,SAAS,EAAE;IAAG,CAAC;IAClDuE,cAAc,CAACtB,WAAW,CAAC;IAC3BtC,YAAY,IAAIA,YAAY,CAAC2E,YAAY,CAAC1H,CAAC,CAAC,EAAEqF,WAAW,CAAC;EAC9D,CAAC;EACD,IAAMsC,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;IACvB,IAAMC,KAAK,GAAG,EAAE;IAAC,IAAAC,MAAA,YAAAA,OAAA7H,CAAA,EACoC;MACjD,IAAM8H,OAAO,GAAI,IAAAC,eAAI,EAACC,QAAQ,EAAE;QAAExF,GAAG,EAAE,SAAAA,IAACA,IAAG,EAAK;UACxC2B,QAAQ,CAACe,OAAO,CAAClF,CAAC,CAAC,GAAGwC,IAAG;QAC7B,CAAC;QAAEyF,MAAM,EAAElE,KAAK,CAACH,WAAW,KAAK5D,CAAC;QAAEkI,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAMlE,QAAQ,CAAC;YAAEJ,WAAW,EAAE5D;UAAE,CAAC,CAAC;QAAA;QAAEgF,OAAO,EAAEL,UAAU,CAACO,OAAO,CAAClF,CAAC,CAAC,IAAI;UAAEmC,UAAU,EAAE,EAAE;UAAEC,SAAS,EAAE;QAAG,CAAC;QAAE+F,OAAO,EAAE,SAAAA,QAAA,EAAM;UACjK;UACA,IAAIlF,sBAAsB,EAAE;YACxBA,sBAAsB,CAAC;cAAA,OAAMwE,UAAU,CAACzH,CAAC,CAAC;YAAA,EAAC;YAC3C;UACJ;UACAyH,UAAU,CAACzH,CAAC,CAAC;QACjB,CAAC;QAAEsD,KAAK,EAAES,KAAK,CAACT,KAAK;QAAED,YAAY,EAAEA;MAAa,CAAC,EAAErD,CAAC,CAAE;MAC5D4H,KAAK,CAAChG,IAAI,CAACkG,OAAO,CAAC;IACvB,CAAC;IAZD,KAAK,IAAI9H,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG6F,MAAM,CAACxB,UAAU,CAACa,OAAO,CAAC,EAAElF,CAAC,EAAE;MAAA6H,MAAA,CAAA7H,CAAA;IAAA;IAanD,OAAO4H,KAAK;EAChB,CAAC;EACD,SAASQ,MAAMA,CAACC,EAAE,EAAE;IAChB,IAAIpD,KAAK,GAAG,CAAC;IACb,IAAI,CAACoD,EAAE,IAAI,CAACA,EAAE,CAACC,UAAU,EAAE;MACvB,OAAO,CAAC,CAAC;IACb;IACA;IACA,OAAOD,EAAE,KAAKA,EAAE,GAAGA,EAAE,CAACE,sBAAsB,CAAC,EAAE;MAC3CtD,KAAK,EAAE;IACX;IACA,OAAOA,KAAK;EAChB;EACA,SAASuD,UAAUA,CAACH,EAAE,EAAEI,SAAS,EAAE;IAC/B,IAAIJ,EAAE,CAACI,SAAS,IACZ,OAAQJ,EAAE,CAACI,SAAU,IAAI,QAAQ,IACjCJ,EAAE,CAACI,SAAS,CAACC,OAAO,CAACD,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;MACtC,OAAOJ,EAAE;IACb;IACA,OAAOG,UAAU,CAACH,EAAE,CAACC,UAAU,EAAEG,SAAS,CAAC;EAC/C;EACA,OAAQ,IAAAE,gBAAK,EAAC,KAAK,EAAEpI,MAAM,CAACqI,MAAM,CAAC;IAAEH,SAAS,EAAE,qBAAqB;IAAEjG,GAAG,EAAE4B,OAAO;IAAEyE,KAAK,EAAE;MAAEnG,MAAM,EAANA,MAAM;MAAEE,KAAK,EAALA;IAAM;EAAE,CAAC,EAAE;IAAEkG,QAAQ,EAAE,CAAC,IAAAf,eAAI,EAAC,KAAK,EAAExH,MAAM,CAACqI,MAAM,CAAC;MAAEH,SAAS,4BAAAM,MAAA,CAA4BhF,KAAK,CAACJ,IAAI,CAAE;MAAEqF,WAAW,EAAE,SAAAA,YAAAC,CAAC,EAAI;QAC/MhF,OAAO,CAACiB,OAAO,GAAG+D,CAAC,CAACC,MAAM;MAC9B,CAAC;MAAEC,UAAU,EAAE,SAAAA,WAAAF,CAAC,EAAI;QAChB,IAAI,CAACA,CAAC,CAACC,MAAM,EAAE;UACX;QACJ;QACA,IAAIA,MAAM,GAAGD,CAAC,CAACC,MAAM;QACrB,IAAIA,MAAM,IAAI,IAAI,EAAE;UAChB;QACJ;QACAA,MAAM,GAAGV,UAAU,CAACU,MAAM,EAAE,qBAAqB,CAAC;QAClD,IAAIE,YAAY,GAAGhB,MAAM,CAACnE,OAAO,CAACiB,OAAO,CAAC;UAAEmE,WAAW,GAAGjB,MAAM,CAACc,MAAM,CAAC;QACxE,IAAI;UACA,IAAIE,YAAY,GAAGC,WAAW,EAAE;YAC5B;YACA;YACAH,MAAM,CAACZ,UAAU,CAACgB,YAAY,CAACrF,OAAO,CAACiB,OAAO,EAAEgE,MAAM,CAACK,WAAW,CAAC;UACvE,CAAC,MACI,IAAIH,YAAY,GAAGC,WAAW,EAAE;YACjC;YACAH,MAAM,CAACZ,UAAU,CAACgB,YAAY,CAACrF,OAAO,CAACiB,OAAO,EAAEgE,MAAM,CAAC;UAC3D;QACJ,CAAC,CACD,OAAOD,CAAC,EAAE,CACV;MACJ;IAAE,CAAC,EAAE;MAAEH,QAAQ,EAAEnB,YAAY,CAAC;IAAE,CAAC,CAAC,CAAC,EAAE,IAAAgB,gBAAK,EAAC,KAAK,EAAEpI,MAAM,CAACqI,MAAM,CAAC;MAAEH,SAAS,EAAE;IAAkB,CAAC,EAAE;MAAEK,QAAQ,EAAE,CAAC,IAAAH,gBAAK,EAACa,iBAAK,EAAEjJ,MAAM,CAACqI,MAAM,CAAC;QAAEH,SAAS,EAAE,MAAM;QAAEgB,IAAI,EAAE,EAAE;QAAEC,KAAK,EAAE;MAAS,CAAC,EAAE;QAAEZ,QAAQ,EAAE,CAACjG,cAAc,IAAK,IAAAkF,eAAI,EAAC,KAAK,EAAExH,MAAM,CAACqI,MAAM,CAAC;UAAEV,OAAO,EAAEnB,YAAY;UAAE8B,KAAK,EAAE;YAAEc,OAAO,EAAE;UAAO;QAAE,CAAC,EAAE;UAAEb,QAAQ,EAAE/E,KAAK,CAACL,MAAM,GAAG,IAAAqE,eAAI,EAAC6B,eAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,IAAA7B,eAAI,EAAC8B,iBAAU,EAAE,CAAC,CAAC;QAAE,CAAC,CAAC,CAAE,EAAE3G,QAAQ,GAAGA,QAAQ,GAAG,IAAI;MAAE,CAAC,CAAC,CAAC,EAAE,IAAAyF,gBAAK,EAACa,iBAAK,EAAEjJ,MAAM,CAACqI,MAAM,CAAC;QAAEH,SAAS,EAAE,OAAO;QAAEgB,IAAI,EAAE,EAAE;QAAEC,KAAK,EAAE;MAAS,CAAC,EAAE;QAAEZ,QAAQ,EAAE,CAAC,IAAAf,eAAI,EAAC+B,mBAAY,EAAE;UAAE5B,OAAO,EAAErB;QAAe,CAAC,CAAC,EAAE,IAAAkB,eAAI,EAAC,KAAK,EAAE;UAAEU,SAAS,EAAE;QAAa,CAAC,CAAC,EAAErF,UAAU,GAAI,IAAA2E,eAAI,EAACgC,uBAAW,EAAExJ,MAAM,CAACqI,MAAM,CAAC;UAAEjF,IAAI,EAAEI,KAAK,CAACJ,IAAI;UAAEkB,OAAO,EAAE,SAAAA,QAAClB,IAAI;YAAA,OAAKmB,UAAU,CAACnB,IAAI,CAAC;UAAA;QAAC,CAAC,EAAE;UAAEmF,QAAQ,EAAE,IAAAH,gBAAK,EAAC,KAAK,EAAEpI,MAAM,CAACqI,MAAM,CAAC;YAAEH,SAAS,EAAE;UAAsB,CAAC,EAAE;YAAEK,QAAQ,EAAE,CAAC,IAAAf,eAAI,EAACiC,eAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAAjC,eAAI,EAACkC,oBAAY,EAAE;cAAExB,SAAS,EAAE;YAAa,CAAC,CAAC,EAAE,IAAAV,eAAI,EAACmC,kBAAU,EAAE;cAAEzB,SAAS,EAAE;YAAa,CAAC,CAAC;UAAE,CAAC,CAAC;QAAE,CAAC,CAAC,CAAC,GAAK,IAAAE,gBAAK,EAAC,KAAK,EAAEpI,MAAM,CAACqI,MAAM,CAAC;UAAEH,SAAS,EAAE;QAAsB,CAAC,EAAE;UAAEK,QAAQ,EAAE,CAAC,IAAAf,eAAI,EAACiC,eAAQ,EAAE;YAAEG,QAAQ,EAAE,CAAC/G;UAAW,CAAC,CAAC,EAAE,IAAA2E,eAAI,EAACkC,oBAAY,EAAE;YAAExB,SAAS,EAAE;UAAQ,CAAC,CAAC;QAAE,CAAC,CAAC,CAAE,EAAE,IAAAV,eAAI,EAACqC,sBAAU,EAAE7J,MAAM,CAACqI,MAAM,CAAC;UAAEtF,KAAK,EAAES,KAAK,CAACT,KAAK;UAAE+G,QAAQ,EAAE,SAAAA,SAAC/G,KAAK;YAAA,OAAK2D,WAAW,CAAC3D,KAAK,CAAC;UAAA;QAAC,CAAC,EAAE;UAAEwF,QAAQ,EAAE,IAAAH,gBAAK,EAAC,KAAK,EAAEpI,MAAM,CAACqI,MAAM,CAAC;YAAEH,SAAS,EAAE;UAAsB,CAAC,EAAE;YAAEK,QAAQ,EAAE,CAAC,IAAAf,eAAI,EAACuC,0BAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,IAAAvC,eAAI,EAACkC,oBAAY,EAAE;cAAExB,SAAS,EAAE;YAAa,CAAC,CAAC,EAAE,IAAAV,eAAI,EAACmC,kBAAU,EAAE;cAAEzB,SAAS,EAAE;YAAa,CAAC,CAAC;UAAE,CAAC,CAAC;QAAE,CAAC,CAAC,CAAC,EAAEhE,YAAY,GAAI,IAAAsD,eAAI,EAACwC,yBAAkB,EAAE;UAAErC,OAAO,EAAExD;QAAiB,CAAC,CAAC,GAAK,IAAAqD,eAAI,EAACyC,qBAAc,EAAE;UAAEtC,OAAO,EAAExD;QAAiB,CAAC,CAAE;MAAE,CAAC,CAAC,CAAC;IAAE,CAAC,CAAC,CAAC;EAAE,CAAC,CAAC,CAAC;AAC9hD,CAAC,CAAC;AACFrC,aAAa,CAACoI,WAAW,GAAG,eAAe;AAC3C,IAAMzC,QAAQ,gBAAG,IAAA1F,iBAAU,EAAC,UAACC,KAAK,EAAEC,GAAG,EAAK;EACxC,IAAQyF,MAAM,GAAqD1F,KAAK,CAAhE0F,MAAM;IAAEC,OAAO,GAA4C3F,KAAK,CAAxD2F,OAAO;IAAElD,OAAO,GAAmCzC,KAAK,CAA/CyC,OAAO;IAAEmD,OAAO,GAA0B5F,KAAK,CAAtC4F,OAAO;IAAE9E,YAAY,GAAYd,KAAK,CAA7Bc,YAAY;IAAEC,KAAK,GAAKf,KAAK,CAAfe,KAAK;EAC9D,IAAMoH,KAAK,GAAG,CAAC1F,OAAO,CAAC7C,UAAU,IAAI,CAAC6C,OAAO,CAAC5C,SAAS;EACvD,IAAAuI,SAAA,GAA8B,IAAAC,eAAQ,EAAC,CAAC,CAAC,CAAC;IAAAC,UAAA,GAAA9K,cAAA,CAAA4K,SAAA;IAAnCG,OAAO,GAAAD,UAAA;IAAEE,UAAU,GAAAF,UAAA;EAC1B,IAAMG,OAAO,GAAG,KAAK;EACrB;EACA;EACA;EACA;EACA,IAAAlE,gBAAS,EAAC,YAAM;IACZ,IAAI,CAAC9B,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAAC7C,UAAU,KAAK6C,OAAO,CAAC5C,SAAS,EAAE;MAC7F,IAAA6I,kBAAa,EAACjG,OAAO,CAAC,CAACkG,IAAI,CAAC,UAACC,GAAG,EAAK;QACjCJ,UAAU,CAACI,GAAG,CAAC;MACnB,CAAC,CAAC;IACN,CAAC,MACI;MACDJ,UAAU,CAAC,CAAC,CAAC,CAAC;IAClB;EACJ,CAAC,EAAE,CAAC/F,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAAC7C,UAAU,EAAE6C,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAAC5C,SAAS,CAAC,CAAC;EAC/I,IAAMvB,IAAI,MAAAkI,MAAA,CAAM+B,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACM,UAAU,OAAArC,MAAA,CAAI+B,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACO,WAAW,CAAE;EAC/J,IAAAC,aAAA,GAAsC,IAAA7H,mBAAW,EAAC;MAC9Cb,KAAK,EAAE,MAAM;MACbF,MAAM,EAAE;IACZ,CAAC,CAAC;IAAA6I,aAAA,GAAAxL,cAAA,CAAAuL,aAAA;IAAAE,cAAA,GAAAD,aAAA;IAHO3I,KAAK,GAAA4I,cAAA,CAAL5I,KAAK;IAAEF,MAAM,GAAA8I,cAAA,CAAN9I,MAAM;IAAIsB,QAAQ,GAAAuH,aAAA;EAIlC,IAAME,WAAW,GAAG,IAAAvH,aAAM,EAAC,IAAI,CAAC;EAChC,IAAMwH,YAAY,GAAG,IAAAC,eAAO,EAACF,WAAW,CAAC;EACzC,IAAA3E,gBAAS,EAAC,YAAM;IACZ,IAAI,CAAC4E,YAAY,KAAK,IAAI,IAAIA,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,YAAY,CAAC9I,KAAK,MAAM8I,YAAY,KAAK,IAAI,IAAIA,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,YAAY,CAAChJ,MAAM,CAAC,EAAE;MACvK,QAAQY,KAAK;QACT,KAAK,MAAM;UACPU,QAAQ,CAAC;YACLpB,KAAK,EAAE,MAAM;YACbF,MAAM,EAAEgJ,YAAY,CAAChJ,MAAM,GAAG;UAClC,CAAC,CAAC;UACF;QACJ,KAAK,KAAK;UACN,IAAIgJ,YAAY,CAAC9I,KAAK,GAAG,CAAC,GAAG,CAAC8I,YAAY,CAAChJ,MAAM,GAAG,EAAE,IAAI,CAAC,EAAE;YACzDsB,QAAQ,CAAC;cACLpB,KAAK,EAAE,MAAM;cACbF,MAAM,EAAGgJ,YAAY,CAAC9I,KAAK,GAAG,CAAC,GAAI;YACvC,CAAC,CAAC;UACN,CAAC,MACI;YACDoB,QAAQ,CAAC;cACLpB,KAAK,EAAG,CAAC8I,YAAY,CAAChJ,MAAM,GAAG,EAAE,IAAI,CAAC,GAAI,CAAC;cAC3CA,MAAM,EAAE;YACZ,CAAC,CAAC;UACN;UACA;QACJ,KAAK,MAAM;UACP,IAAIgJ,YAAY,CAAC9I,KAAK,GAAG,EAAE,GAAG,CAAC8I,YAAY,CAAChJ,MAAM,GAAG,EAAE,IAAI,CAAC,EAAE;YAC1DsB,QAAQ,CAAC;cACLpB,KAAK,EAAE,MAAM;cACbF,MAAM,EAAGgJ,YAAY,CAAC9I,KAAK,GAAG,EAAE,GAAI;YACxC,CAAC,CAAC;UACN,CAAC,MACI;YACDoB,QAAQ,CAAC;cACLpB,KAAK,EAAG,CAAC8I,YAAY,CAAChJ,MAAM,GAAG,EAAE,IAAI,CAAC,GAAI,EAAE;cAC5CA,MAAM,EAAE;YACZ,CAAC,CAAC;UACN;UACA;MACR;IACJ;EACJ,CAAC,EAAE,CAACgJ,YAAY,EAAEpI,KAAK,CAAC,CAAC;EACzB,IAAMsI,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,IAAI,EAAK;IAC5B,IAAMC,KAAK,GAAG;MACV,CAAC,EAAE,KAAK;MACR,CAAC,EAAE,WAAW;MACd,CAAC,EAAE,YAAY;MACf,CAAC,EAAE;IACP,CAAC;IACD,OAAOA,KAAK,CAACD,IAAI,CAAC;EACtB,CAAC;EACD,OAAQ,IAAA9D,eAAI,EAAC,KAAK,EAAExH,MAAM,CAACqI,MAAM,CAAC;IAAEH,SAAS,yBAAAM,MAAA,CAAyBd,MAAM,GAAG,QAAQ,GAAG,EAAE,OAAAc,MAAA,CAAIiC,OAAO,GAAG,EAAE,GAAG,UAAU,CAAE;IAAE9C,OAAO,EAAEA,OAAO;IAAE1F,GAAG,EAAEiJ,WAAW;IAAEM,SAAS,EAAE;EAAK,CAAC,EAAE;IAAEjD,QAAQ,EAAE,CAACgC,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACkB,GAAG,KAAM,IAAArD,gBAAK,EAACsD,oBAAS,EAAE;MAAEnD,QAAQ,EAAE,CAAC,CAAC4B,KAAK,IAAI,IAAA3C,eAAI,EAACmE,sBAAY,EAAE;QAAErL,IAAI,EAAEA,IAAI;QAAEsH,OAAO,EAAEA;MAAQ,CAAC,CAAC,EAAE,IAAAJ,eAAI,EAAC,KAAK,EAAExH,MAAM,CAACqI,MAAM,CAAC;QAAEH,SAAS,EAAE;MAAU,CAAC,EAAE;QAAEK,QAAQ,EAAE,IAAAf,eAAI,EAAC,KAAK,EAAExH,MAAM,CAACqI,MAAM,CAAC;UAAEC,KAAK,EAAE;YAAEjG,KAAK,EAALA,KAAK;YAAEF,MAAM,EAANA;UAAO;QAAE,CAAC,EAAE;UAAEoG,QAAQ,EAAE,IAAAf,eAAI,EAACoE,sBAAa,EAAE;YAAE3J,GAAG,EAAEA,GAAG;YAAEkI,KAAK,EAAEA,KAAK;YAAE0B,YAAY,EAAEtB,OAAO,CAACsB,YAAY;YAAEJ,GAAG,EAAElB,OAAO,CAACkB,GAAG;YAAEH,IAAI,EAAEf,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACxD,MAAM;YAAE+E,QAAQ,EAAEvB,OAAO,CAACuB,QAAQ;YAAEC,UAAU,EAAExB,OAAO,CAACwB,UAAU;YAAEC,WAAW,EAAE1L,IAAI;YAAE2L,QAAQ,EAAE1B,OAAO,CAAC0B,QAAQ;YAAErK,UAAU,EAAE2I,OAAO,CAAC3I,UAAU;YAAEsK,UAAU,EAAE3B,OAAO,CAAC2B,UAAU;YAAEC,UAAU,EAAE5B,OAAO,CAAC4B,UAAU;YAAEC,QAAQ,EAAE3H,OAAO,CAAC2H,QAAQ;YAAEC,IAAI,EAAE5H,OAAO,CAAC4H,IAAI;YAAEC,UAAU,EAAExJ,YAAY;YAAEyJ,WAAW,EAAE;cACx5BC,KAAK,EAAE;gBACH5K,UAAU,EAAE2I,OAAO,CAAC3I,UAAU;gBAC9BqK,QAAQ,EAAE1B,OAAO,CAAC0B,QAAQ;gBAC1BQ,QAAQ,EAAE,IAAAC,kBAAW,EAAC,UAAU;cACpC,CAAC;cACDpB,IAAI,EAAED,aAAa,CAAC,CAACd,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACoC,OAAO,KAAK,CAAC;YAChG,CAAC;YAAEC,MAAM,EAAE,SAAAA,OAAA,EAAM;cACbpC,UAAU,CAAC,CAAC,CAAC,CAAC;cACd,IAAAE,kBAAa,EAACjG,OAAO,CAAC,CAACkG,IAAI,CAAC,UAACC,GAAG,EAAK;gBACjCJ,UAAU,CAACI,GAAG,CAAC;cACnB,CAAC,CAAC;YACN;UAAE,CAAC;QAAE,CAAC,CAAC;MAAE,CAAC,CAAC,CAAC;IAAE,CAAC;EAAG,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC;AACFnD,QAAQ,CAACyC,WAAW,GAAG,WAAW;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMnF,cAAc,GAAG,SAAjBA,cAAcA,CAAIzB,QAAQ,EAAEF,IAAI,EAAEyJ,YAAY,EAAK;EACrD,IAAMC,eAAe,GAAGxJ,QAAQ,CAAClD,KAAK,CAAC,CAAC,EAAEkF,MAAM,CAAClC,IAAI,CAAC,CAAC;EACvD,KAAK,IAAI3D,CAAC,GAAGoN,YAAY,EAAEpN,CAAC,GAAGqN,eAAe,CAACrM,MAAM,EAAEhB,CAAC,EAAE,EAAE;IACxD,IAAI,CAACqN,eAAe,CAACrN,CAAC,CAAC,CAACmC,UAAU,IAAI,CAACkL,eAAe,CAACrN,CAAC,CAAC,CAACoC,SAAS,EAC/D,OAAOpC,CAAC;EAChB;EACA,KAAK,IAAIA,GAAC,GAAG,CAAC,EAAEA,GAAC,GAAGoN,YAAY,EAAEpN,GAAC,EAAE,EAAE;IACnC,IAAI,CAACqN,eAAe,CAACrN,GAAC,CAAC,CAACmC,UAAU,IAAI,CAACkL,eAAe,CAACrN,GAAC,CAAC,CAACoC,SAAS,EAC/D,OAAOpC,GAAC;EAChB;EACA,OAAOoN,YAAY;AACvB,CAAC;AACD,IAAME,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACjD;AACA;AACA;AACA;AACA,IAAM1H,OAAO,GAAG,SAAVA,OAAOA,CAAI7E,GAAG,EAAK;EACrB,IAAI4C,IAAI;EACR,KAAK,IAAI3D,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGsN,KAAK,CAACtM,MAAM,EAAEhB,CAAC,EAAE,EAAE;IACnC,IAAIsN,KAAK,CAACtN,CAAC,CAAC,GAAGe,GAAG,IAAI,CAAC,EAAE;MACrB4C,IAAI,GAAG2J,KAAK,CAACtN,CAAC,CAAC;MACf;IACJ;EACJ;EACA,OAAO2D,IAAI,GAAG,EAAE,GAAG,EAAE,GAAGA,IAAI;AAChC,CAAC;AAAC,IAAA4J,QAAA,GACalL,aAAa;AAAAmL,OAAA,cAAAD,QAAA"}
@@ -1,18 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  require("antd/lib/popover/style/css");
4
-
5
4
  require("antd/lib/space/style/css");
6
-
7
5
  require("antd/lib/tooltip/style/css");
8
-
9
6
  require("../../controls/style/css");
10
-
11
7
  require("../../live-player/style/css");
12
-
13
8
  require("../../components/split-screen/style/css");
14
-
15
9
  require("../../components/video-scale/style/css");
16
-
17
10
  require("./index.css");
18
11
  //# sourceMappingURL=css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"css.js","names":[],"sources":["live-control-v2/style/index.js"],"sourcesContent":["import 'antd/lib/popover/style';\nimport 'antd/lib/space/style';\nimport 'antd/lib/tooltip/style';\nimport '../../controls/style';\nimport '../../live-player/style';\nimport '../../components/split-screen/style';\nimport '../../components/video-scale/style';\nimport './index.less';\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
1
+ {"version":3,"file":"css.js","names":["require"],"sources":["live-control-v2/style/index.js"],"sourcesContent":["import 'antd/lib/popover/style';\nimport 'antd/lib/space/style';\nimport 'antd/lib/tooltip/style';\nimport '../../controls/style';\nimport '../../live-player/style';\nimport '../../components/split-screen/style';\nimport '../../components/video-scale/style';\nimport './index.less';\n"],"mappings":";;AAAAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA"}
@@ -1,18 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  require("antd/lib/popover/style");
4
-
5
4
  require("antd/lib/space/style");
6
-
7
5
  require("antd/lib/tooltip/style");
8
-
9
6
  require("../../controls/style");
10
-
11
7
  require("../../live-player/style");
12
-
13
8
  require("../../components/split-screen/style");
14
-
15
9
  require("../../components/video-scale/style");
16
-
17
10
  require("./index.less");
18
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["live-control-v2/style/index.js"],"sourcesContent":["import 'antd/lib/popover/style';\nimport 'antd/lib/space/style';\nimport 'antd/lib/tooltip/style';\nimport '../../controls/style';\nimport '../../live-player/style';\nimport '../../components/split-screen/style';\nimport '../../components/video-scale/style';\nimport './index.less';\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
1
+ {"version":3,"file":"index.js","names":["require"],"sources":["live-control-v2/style/index.js"],"sourcesContent":["import 'antd/lib/popover/style';\nimport 'antd/lib/space/style';\nimport 'antd/lib/tooltip/style';\nimport '../../controls/style';\nimport '../../live-player/style';\nimport '../../components/split-screen/style';\nimport '../../components/video-scale/style';\nimport './index.less';\n"],"mappings":";;AAAAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA"}
@@ -1,192 +1,192 @@
1
- .vtx-live-control-v2 {
2
- display: flex;
3
- flex-direction: column;
4
-
5
- .player-grid-container {
6
- display: grid;
7
- flex-grow: 1;
8
- grid-gap: 1px;
9
- height: 0;
10
- background-color: rgba(0, 0, 0, 0.8);
11
-
12
- &._1 {
13
- grid-template-rows: 1fr;
14
- grid-template-columns: 1fr;
15
- }
16
-
17
- &._4 {
18
- grid-template-rows: 1fr 1fr;
19
- grid-template-columns: 1fr 1fr;
20
- }
21
- &._9 {
22
- grid-template-rows: 1fr 1fr 1fr;
23
- grid-template-columns: 1fr 1fr 1fr;
24
- }
25
- &._16 {
26
- grid-template-rows: 1fr 1fr 1fr 1fr;
27
- grid-template-columns: 1fr 1fr 1fr 1fr;
28
- }
29
- &._25 {
30
- grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
31
- grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
32
- }
33
- &._6 {
34
- grid-template-rows: 1fr 1fr 1fr;
35
- grid-template-columns: 1fr 1fr 1fr;
36
- :nth-child(1) {
37
- grid-column-start: 1;
38
- grid-column-end: 3;
39
- grid-row-start: 1;
40
- grid-row-end: 3;
41
- }
42
- }
43
- &._8 {
44
- grid-template-rows: 1fr 1fr 1fr 1fr;
45
- grid-template-columns: 1fr 1fr 1fr 1fr;
46
- :nth-child(1) {
47
- grid-column-start: 1;
48
- grid-column-end: 4;
49
- grid-row-start: 1;
50
- grid-row-end: 4;
51
- }
52
- }
53
- &._10 {
54
- grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
55
- grid-template-columns: 1fr 1fr 1fr;
56
- :nth-child(1) {
57
- grid-column-start: 1;
58
- grid-column-end: 3;
59
- grid-row-start: 1;
60
- grid-row-end: 4;
61
- }
62
- }
63
- &._13 {
64
- grid-template-rows: 1fr 1fr 1fr 1fr;
65
- grid-template-columns: 1fr 1fr 1fr 1fr;
66
- :nth-child(1) {
67
- grid-column-start: 1;
68
- grid-column-end: 3;
69
- grid-row-start: 1;
70
- grid-row-end: 3;
71
- }
72
- }
73
- &._14 {
74
- grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
75
- grid-template-columns: 1fr 1fr 1fr 1fr;
76
- :nth-child(1) {
77
- grid-column-start: 1;
78
- grid-column-end: 3;
79
- grid-row-start: 1;
80
- grid-row-end: 4;
81
- }
82
- :nth-child(2) {
83
- grid-column-start: 3;
84
- grid-column-end: 5;
85
- }
86
- }
87
- &._17 {
88
- grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
89
- grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
90
- :nth-child(1) {
91
- grid-column-start: 1;
92
- grid-column-end: 4;
93
- grid-row-start: 1;
94
- grid-row-end: 4;
95
- }
96
- }
97
- &._22 {
98
- grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
99
- grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
100
- :nth-child(1) {
101
- grid-column-start: 1;
102
- grid-column-end: 3;
103
- grid-row-start: 1;
104
- grid-row-end: 3;
105
- }
106
- }
107
- .grid-item-container {
108
- display: flex;
109
- flex-direction: column;
110
- min-width: 0;
111
- min-height: 0;
112
- background-color: #2b3d51;
113
- align-items: center;
114
- &.emptyImg {
115
- background-image: url('../images/empty.png');
116
- background-repeat: no-repeat;
117
- background-position: center;
118
- }
119
- &.active {
120
- box-shadow: 0 0 0 1px #52c41a;
121
- }
122
- > .content {
123
- width: 100%;
124
- height: calc(100% - 26px);
125
- display: flex;
126
- align-items: center;
127
- justify-content: center;
128
- }
129
- }
130
- }
131
-
132
- .bottom-controls {
133
- display: flex;
134
- align-items: center;
135
- width: 100%;
136
- height: 33px;
137
- padding: 0 12px;
138
- background-color: #243241;
139
-
140
- .right {
141
- margin-left: auto;
142
-
143
- > div {
144
- height: 24px;
145
- }
146
- }
147
- .split-line {
148
- margin-top: 6px;
149
- width: 1px;
150
- background-color: rgba(255, 255, 255, 0.1);
151
- height: 14px;
152
- }
153
- .controls-icon-hover {
154
- color: rgba(255, 255, 255, 0.65);
155
- display: flex;
156
- align-items: center;
157
- padding-top: 2px;
158
- .hover-hide {
159
- display: inline-block;
160
- vertical-align: 0.1em;
161
- font-size: 12px;
162
- }
163
- .hover-show {
164
- display: none;
165
- vertical-align: 0.1em;
166
- font-size: 12px;
167
- }
168
- &:hover {
169
- .hover-hide {
170
- display: none;
171
- }
172
- .hover-show {
173
- display: inline-block;
174
- color: #1890ff;
175
- vertical-align: 0.2em;
176
- }
177
- }
178
- }
179
- .grid-change-disable {
180
- color: rgba(255, 255, 255, 0.65);
181
- display: flex;
182
- align-items: center;
183
- padding-top: 2px;
184
- cursor: not-allowed;
185
- .arrow {
186
- display: inline-block;
187
- vertical-align: 0.1em;
188
- font-size: 12px;
189
- }
190
- }
191
- }
192
- }
1
+ .vtx-live-control-v2 {
2
+ display: flex;
3
+ flex-direction: column;
4
+
5
+ .player-grid-container {
6
+ display: grid;
7
+ flex-grow: 1;
8
+ grid-gap: 1px;
9
+ height: 0;
10
+ background-color: rgba(0, 0, 0, 0.8);
11
+
12
+ &._1 {
13
+ grid-template-rows: 1fr;
14
+ grid-template-columns: 1fr;
15
+ }
16
+
17
+ &._4 {
18
+ grid-template-rows: 1fr 1fr;
19
+ grid-template-columns: 1fr 1fr;
20
+ }
21
+ &._9 {
22
+ grid-template-rows: 1fr 1fr 1fr;
23
+ grid-template-columns: 1fr 1fr 1fr;
24
+ }
25
+ &._16 {
26
+ grid-template-rows: 1fr 1fr 1fr 1fr;
27
+ grid-template-columns: 1fr 1fr 1fr 1fr;
28
+ }
29
+ &._25 {
30
+ grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
31
+ grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
32
+ }
33
+ &._6 {
34
+ grid-template-rows: 1fr 1fr 1fr;
35
+ grid-template-columns: 1fr 1fr 1fr;
36
+ :nth-child(1) {
37
+ grid-column-start: 1;
38
+ grid-column-end: 3;
39
+ grid-row-start: 1;
40
+ grid-row-end: 3;
41
+ }
42
+ }
43
+ &._8 {
44
+ grid-template-rows: 1fr 1fr 1fr 1fr;
45
+ grid-template-columns: 1fr 1fr 1fr 1fr;
46
+ :nth-child(1) {
47
+ grid-column-start: 1;
48
+ grid-column-end: 4;
49
+ grid-row-start: 1;
50
+ grid-row-end: 4;
51
+ }
52
+ }
53
+ &._10 {
54
+ grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
55
+ grid-template-columns: 1fr 1fr 1fr;
56
+ :nth-child(1) {
57
+ grid-column-start: 1;
58
+ grid-column-end: 3;
59
+ grid-row-start: 1;
60
+ grid-row-end: 4;
61
+ }
62
+ }
63
+ &._13 {
64
+ grid-template-rows: 1fr 1fr 1fr 1fr;
65
+ grid-template-columns: 1fr 1fr 1fr 1fr;
66
+ :nth-child(1) {
67
+ grid-column-start: 1;
68
+ grid-column-end: 3;
69
+ grid-row-start: 1;
70
+ grid-row-end: 3;
71
+ }
72
+ }
73
+ &._14 {
74
+ grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
75
+ grid-template-columns: 1fr 1fr 1fr 1fr;
76
+ :nth-child(1) {
77
+ grid-column-start: 1;
78
+ grid-column-end: 3;
79
+ grid-row-start: 1;
80
+ grid-row-end: 4;
81
+ }
82
+ :nth-child(2) {
83
+ grid-column-start: 3;
84
+ grid-column-end: 5;
85
+ }
86
+ }
87
+ &._17 {
88
+ grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
89
+ grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
90
+ :nth-child(1) {
91
+ grid-column-start: 1;
92
+ grid-column-end: 4;
93
+ grid-row-start: 1;
94
+ grid-row-end: 4;
95
+ }
96
+ }
97
+ &._22 {
98
+ grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
99
+ grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
100
+ :nth-child(1) {
101
+ grid-column-start: 1;
102
+ grid-column-end: 3;
103
+ grid-row-start: 1;
104
+ grid-row-end: 3;
105
+ }
106
+ }
107
+ .grid-item-container {
108
+ display: flex;
109
+ flex-direction: column;
110
+ min-width: 0;
111
+ min-height: 0;
112
+ background-color: #2b3d51;
113
+ align-items: center;
114
+ &.emptyImg {
115
+ background-image: url('../images/empty.png');
116
+ background-repeat: no-repeat;
117
+ background-position: center;
118
+ }
119
+ &.active {
120
+ box-shadow: 0 0 0 1px #52c41a;
121
+ }
122
+ > .content {
123
+ width: 100%;
124
+ height: calc(100% - 26px);
125
+ display: flex;
126
+ align-items: center;
127
+ justify-content: center;
128
+ }
129
+ }
130
+ }
131
+
132
+ .bottom-controls {
133
+ display: flex;
134
+ align-items: center;
135
+ width: 100%;
136
+ height: 33px;
137
+ padding: 0 12px;
138
+ background-color: #243241;
139
+
140
+ .right {
141
+ margin-left: auto;
142
+
143
+ > div {
144
+ height: 24px;
145
+ }
146
+ }
147
+ .split-line {
148
+ margin-top: 6px;
149
+ width: 1px;
150
+ background-color: rgba(255, 255, 255, 0.1);
151
+ height: 14px;
152
+ }
153
+ .controls-icon-hover {
154
+ color: rgba(255, 255, 255, 0.65);
155
+ display: flex;
156
+ align-items: center;
157
+ padding-top: 2px;
158
+ .hover-hide {
159
+ display: inline-block;
160
+ vertical-align: 0.1em;
161
+ font-size: 12px;
162
+ }
163
+ .hover-show {
164
+ display: none;
165
+ vertical-align: 0.1em;
166
+ font-size: 12px;
167
+ }
168
+ &:hover {
169
+ .hover-hide {
170
+ display: none;
171
+ }
172
+ .hover-show {
173
+ display: inline-block;
174
+ color: #1890ff;
175
+ vertical-align: 0.2em;
176
+ }
177
+ }
178
+ }
179
+ .grid-change-disable {
180
+ color: rgba(255, 255, 255, 0.65);
181
+ display: flex;
182
+ align-items: center;
183
+ padding-top: 2px;
184
+ cursor: not-allowed;
185
+ .arrow {
186
+ display: inline-block;
187
+ vertical-align: 0.1em;
188
+ font-size: 12px;
189
+ }
190
+ }
191
+ }
192
+ }
@@ -5,6 +5,8 @@ interface VtxPlayerProps {
5
5
  empty?: boolean;
6
6
  /** 视频流地址 */
7
7
  url: string;
8
+ /** 是否有对讲 */
9
+ beenHasVideo: boolean;
8
10
  /** 服务器地址 */
9
11
  deviceIp?: string;
10
12
  /** 服务器端口 */