diff --git a/client/packages/lowcoder-comps/package.json b/client/packages/lowcoder-comps/package.json index c77e3beb1..b5f0b1a00 100644 --- a/client/packages/lowcoder-comps/package.json +++ b/client/packages/lowcoder-comps/package.json @@ -19,6 +19,8 @@ "@fullcalendar/timeline": "^6.1.6", "@types/react": "^18.2.45", "@types/react-dom": "^18.2.18", + "agora-rtc-sdk-ng": "^4.20.2", + "agora-rtm-sdk": "^1.5.1", "big.js": "^6.2.1", "echarts-extension-gmap": "^1.6.0", "echarts-wordcloud": "^2.1.0", @@ -32,6 +34,30 @@ "lowcoder": { "description": "", "comps": { + "meetingController": { + "name": "Agora Meeting Controller", + "icon": "./icons/icon-comp-calendar.svg", + "layoutInfo": { + "w": 15, + "h": 60 + } + }, + "meetingSharing": { + "name": "Agora Meeting Sharing", + "icon": "./icons/icon-comp-calendar.svg", + "layoutInfo": { + "w": 15, + "h": 60 + } + }, + "meetingStream": { + "name": "Video Stream", + "icon": "./icons/icon-comp-calendar.svg", + "layoutInfo": { + "w": 15, + "h": 60 + } + }, "calendar": { "name": "Calendar", "icon": "./icons/icon-comp-calendar.svg", diff --git a/client/packages/lowcoder/src/comps/comps/meetingComp/meetingControlerUtils.tsx b/client/packages/lowcoder-comps/src/comps/agoraMeetingComp/meetingControlerUtils.tsx similarity index 100% rename from client/packages/lowcoder/src/comps/comps/meetingComp/meetingControlerUtils.tsx rename to client/packages/lowcoder-comps/src/comps/agoraMeetingComp/meetingControlerUtils.tsx diff --git a/client/packages/lowcoder/src/comps/comps/meetingComp/videoMeetingControllerComp.tsx b/client/packages/lowcoder-comps/src/comps/agoraMeetingComp/meetingControllerComp.tsx similarity index 71% rename from client/packages/lowcoder/src/comps/comps/meetingComp/videoMeetingControllerComp.tsx rename to client/packages/lowcoder-comps/src/comps/agoraMeetingComp/meetingControllerComp.tsx index 1465a2610..4eda12555 100644 --- a/client/packages/lowcoder/src/comps/comps/meetingComp/videoMeetingControllerComp.tsx +++ b/client/packages/lowcoder-comps/src/comps/agoraMeetingComp/meetingControllerComp.tsx @@ -1,53 +1,47 @@ -import { default as CloseOutlined } from "@ant-design/icons/CloseOutlined"; -import { default as Button } from "antd/es/button"; -import { ContainerCompBuilder } from "comps/comps/containerBase/containerCompBuilder"; -import { - gridItemCompToGridItems, - InnerGrid, -} from "comps/comps/containerComp/containerView"; -import { AutoHeightControl } from "comps/controls/autoHeightControl"; -import { BoolControl } from "comps/controls/boolControl"; -import { StringControl } from "comps/controls/codeControl"; import { + NameConfig, + BoolControl, + withDefault, + withExposingConfigs, + StringControl, + Section, + sectionNames, + styleControl, BooleanStateControl, - jsonObjectExposingStateControl, + AutoHeightControl, stringStateControl, -} from "comps/controls/codeStateControl"; -import { PositionControl } from "comps/controls/dropdownControl"; -import { - closeEvent, + InnerGrid, + useUserViewMode, + getData, + gridItemCompToGridItems, + Layers, + isNumeric, + withMethodExposing, eventHandlerControl, - MeetingEventHandlerControl, -} from "comps/controls/eventHandlerControl"; -import { styleControl } from "comps/controls/styleControl"; -import { DrawerStyle } from "comps/controls/styleControlConstants"; -import { stateComp, withDefault } from "comps/generators"; -import { withMethodExposing } from "comps/generators/withMethodExposing"; -import { BackgroundColorContext } from "comps/utils/backgroundColorContext"; -import { CanvasContainerID } from "constants/domLocators"; -import { Layers } from "constants/Layers"; -import { trans } from "i18n"; -import { changeChildAction } from "lowcoder-core"; -import { + DrawerStyle, + PositionControl, + jsonObjectExposingStateControl, + stateComp, Drawer, + changeChildAction, HintPlaceHolder, - Section, - sectionNames, -} from "lowcoder-design"; -import { useCallback, useEffect, useState } from "react"; -import { ResizeHandle } from "react-resizable"; -import styled from "styled-components"; -import { useUserViewMode } from "util/hooks"; -import { isNumeric } from "util/stringUtils"; -import { NameConfig, withExposingConfigs } from "../../generators/withExposing"; - -import { v4 as uuidv4 } from "uuid"; - -import { useContext } from "react"; -import { EditorContext } from "comps/editorState"; - -// import axios from "axios"; + // styledm, + // DrawerWrapper, + BackgroundColorContext, + ContainerCompBuilder, + closeEvent, + MeetingEventHandlerControl, +} from "lowcoder-sdk"; +import { default as CloseOutlined } from "@ant-design/icons/CloseOutlined"; +import type { JSONValue } from "../../../../lowcoder/src/util/jsonTypes"; +// import { default as Button } from "antd/es/button"; +const EventOptions = [closeEvent] as const; +import { trans } from "../../i18n/comps"; +// const DrawerWrapper = styledm.div` +// // Shield the mouse events of the lower layer, the mask can be closed in the edit mode to prevent the lower layer from sliding +// pointer-events: auto; +// `; import AgoraRTC, { type ICameraVideoTrack, type IMicrophoneAudioTrack, @@ -57,50 +51,13 @@ import AgoraRTC, { type ILocalVideoTrack, } from "agora-rtc-sdk-ng"; -import type { JSONValue } from "util/jsonTypes"; -import { getData } from "../listViewComp/listViewUtils"; import type { RtmChannel, RtmClient } from "agora-rtm-sdk"; - -const EventOptions = [closeEvent] as const; +import { useCallback, useEffect, useState } from "react"; +import { ResizeHandle } from "react-resizable"; +import { v4 as uuidv4 } from "uuid"; const DEFAULT_SIZE = 378; const DEFAULT_PADDING = 16; - -const DrawerWrapper = styled.div` - // Shield the mouse events of the lower layer, the mask can be closed in the edit mode to prevent the lower layer from sliding - pointer-events: auto; -`; - -const ButtonStyle = styled(Button)` - position: absolute; - left: 0; - top: 0; - z-index: 10; - font-weight: 700; - box-shadow: none; - color: rgba(0, 0, 0, 0.45); - height: 54px; - width: 54px; - - svg { - width: 16px; - height: 16px; - } - - &, - :hover, - :focus { - background-color: transparent; - border: none; - } - - :hover, - :focus { - color: rgba(0, 0, 0, 0.75); - } -`; - -// If it is a number, use the px unit by default function transToPxSize(size: string | number) { return isNumeric(size) ? size + "px" : (size as string); } @@ -126,7 +83,34 @@ let screenShareStream: ILocalVideoTrack; let userId: UID | null | undefined; let rtmChannelResponse: RtmChannel; let rtmClient: RtmClient; - +// const ButtonStyle = styledm(Button)` +// position: absolute; +// left: 0; +// top: 0; +// z-index: 10; +// font-weight: 700; +// box-shadow: none; +// color: rgba(0, 0, 0, 0.45); +// height: 54px; +// width: 54px; + +// svg { +// width: 16px; +// height: 16px; +// } + +// &, +// :hover, +// :focus { +// background-color: transparent; +// border: none; +// } + +// :hover, +// :focus { +// color: rgba(0, 0, 0, 0.75); +// } +// `; const turnOnCamera = async (flag?: boolean) => { if (videoTrack) { return videoTrack.setEnabled(flag!); @@ -194,11 +178,9 @@ const publishVideo = async ( rtmToken: string, rtcToken: string ) => { - // initializing the Agora Meeting Client await turnOnCamera(true); await client.join(appId, channel, rtcToken, userId); await client.publish(videoTrack); - // initializing the Agora RTM Client await rtmInit(appId, userId, rtmToken, channel); }; @@ -224,6 +206,7 @@ const rtmInit = async (appId: any, uid: any, token: any, channel: any) => { await rtmChannelResponse.join(); }; +const CanvasContainerID = "__canvas_container__"; const meetingControllerChildren = { visible: withDefault(BooleanStateControl, "false"), onEvent: eventHandlerControl(EventOptions), @@ -259,11 +242,11 @@ const meetingControllerChildren = { let MTComp = (function () { return new ContainerCompBuilder( meetingControllerChildren, - (props, dispatch) => { + (props: any, dispatch: any) => { const isTopBom = ["top", "bottom"].includes(props.placement); const { items, ...otherContainerProps } = props.container; - const userViewMode = useUserViewMode(); - const resizable = !userViewMode && (!isTopBom || !props.autoHeight); + // const userViewMode = useUserViewMode(); + // const resizable = !userViewMode && (!isTopBom || !props.autoHeight); const onResizeStop = useCallback( ( e: React.SyntheticEvent, @@ -291,13 +274,22 @@ let MTComp = (function () { useEffect(() => { if (userJoined) { + console.log("userJoined ", userJoined); + let prevUsers: any[] = props.participants as []; + console.log("prevUsers ", prevUsers); let userData = { user: userJoined.uid, audiostatus: userJoined.hasAudio, streamingVideo: true, }; + console.log("userData ", userData); setUserIds((userIds: any) => [...userIds, userData]); + console.log("userIds ", userIds); + console.log( + "removeDuplicates ", + removeDuplicates(getData([...prevUsers, userData]).data, "user") + ); dispatch( changeChildAction( "participants", @@ -386,6 +378,8 @@ let MTComp = (function () { props.localUser.onChange(localObject); }, [props.sharing.value]); + console.log("participants ", props.participants); + useEffect(() => { let prevUsers: [] = props.participants as []; const updatedItems = prevUsers.map((userInfo: any) => { @@ -455,7 +449,6 @@ let MTComp = (function () { }); } }, [rtmChannelResponse]); - useEffect(() => { if (client) { //Enable Agora to send audio bytes @@ -502,140 +495,144 @@ let MTComp = (function () { return ( - - - document.querySelector(`#${CanvasContainerID}`) || document.body - } - footer={null} - width={transToPxSize(props.width || DEFAULT_SIZE)} - height={ - !props.autoHeight - ? transToPxSize(props.height || DEFAULT_SIZE) - : "" + {/* */} + + document.querySelector(`#${CanvasContainerID}`) || document.body + } + footer={null} + width={transToPxSize(props.width || DEFAULT_SIZE)} + height={ + !props.autoHeight + ? transToPxSize(props.height || DEFAULT_SIZE) + : "" + } + onClose={(e: any) => { + props.visible.onChange(false); + }} + afterOpenChange={(visible: any) => { + if (!visible) { + props.onEvent("close"); } - onClose={(e) => { - props.visible.onChange(false); - }} - afterOpenChange={(visible) => { - if (!visible) { - props.onEvent("close"); - } - }} - zIndex={Layers.drawer} - maskClosable={props.maskClosable} - mask={props.showMask} - > - + {/* { props.visible.onChange(false); }} > - - - - + */} + + + {/* */} ); } ) - .setPropertyViewFn((children) => ( + .setPropertyViewFn((children: any) => ( <> - {(useContext(EditorContext).editorModeStatus === "logic" || useContext(EditorContext).editorModeStatus === "both") && ( - <>
- {children.appId.propertyView({ - label: trans("meeting.appid"), - })} - {children.meetingName.propertyView({ - label: trans("meeting.meetingName"), - })} - {children.localUserID.propertyView({ - label: trans("meeting.localUserID"), - })} - {children.rtmToken.propertyView({ - label: trans("meeting.rtmToken"), - })} - {children.rtcToken.propertyView({ - label: trans("meeting.rtcToken"), - })} -
-
- {children.onEvent.getPropertyView()} - {children.onMeetingEvent.getPropertyView()} -
- - )} - - {(useContext(EditorContext).editorModeStatus === "layout" || useContext(EditorContext).editorModeStatus === "both") && ( - <>
- {children.placement.propertyView({ - label: trans("drawer.placement"), - radioButton: true, - })} - {["top", "bottom"].includes(children.placement.getView()) - ? children.autoHeight.getPropertyView() - : children.width.propertyView({ - label: trans("drawer.width"), - tooltip: trans("drawer.widthTooltip"), - placeholder: DEFAULT_SIZE + "", + {/* {(EditorContext.editorModeStatus === "logic" || + EditorContext.editorModeStatus === "both") && ( + <> */} +
+ {children.appId.propertyView({ + label: trans("meeting.appid"), + })} + {children.meetingName.propertyView({ + label: trans("meeting.meetingName"), + })} + {children.localUserID.propertyView({ + label: trans("meeting.localUserID"), + })} + {children.rtmToken.propertyView({ + label: trans("meeting.rtmToken"), + })} + {children.rtcToken.propertyView({ + label: trans("meeting.rtcToken"), + })} +
+
+ {children.onEvent.getPropertyView()} + {children.onMeetingEvent.getPropertyView()} +
+ {/* + )} */} + + {/* {(EditorContext.editorModeStatus === "layout" || + EditorContext.editorModeStatus === "both") && ( + <> */} + {/*
+ {children.placement.propertyView({ + label: trans("meeting.placement"), + radioButton: true, + })} + {["top", "bottom"].includes(children.placement.getView()) + ? children.autoHeight.getPropertyView() + : children.width.propertyView({ + label: trans("meeting.width"), + tooltip: trans("meeting.widthTooltip"), + placeholder: DEFAULT_SIZE + "", + })} + {!children.autoHeight.getView() && + ["top", "bottom"].includes(children.placement.getView()) && + children.height.propertyView({ + label: trans("meeting.height"), + tooltip: trans("meeting.heightTooltip"), + placeholder: DEFAULT_SIZE + "", + })} + {children.maskClosable.propertyView({ + label: trans("meeting.maskClosable"), + })} + {children.showMask.propertyView({ + label: trans("meeting.showMask"), })} - {!children.autoHeight.getView() && - ["top", "bottom"].includes(children.placement.getView()) && - children.height.propertyView({ - label: trans("drawer.height"), - tooltip: trans("drawer.heightTooltip"), - placeholder: DEFAULT_SIZE + "", - })} - {children.maskClosable.propertyView({ - label: trans("prop.maskClosable"), - })} - {children.showMask.propertyView({ - label: trans("prop.showMask"), - })} -
- -
- - {children.style.getPropertyView()} -
- )} +
+ +
+ {children.style.getPropertyView()} +
*/} + {/* */} + {/* )} */} )) .build(); })(); MTComp = class extends MTComp { - override autoHeight(): boolean { + autoHeight(): boolean { return false; } }; @@ -644,20 +641,18 @@ MTComp = withMethodExposing(MTComp, [ { method: { name: "openDrawer", - description: trans("drawer.openDrawerDesc"), params: [], }, - execute: (comp, values) => { + execute: (comp: any, values: any) => { comp.children.visible.getView().onChange(true); }, }, { method: { name: "startSharing", - description: trans("drawer.openDrawerDesc"), params: [], }, - execute: async (comp, values) => { + execute: async (comp: any, values: any) => { if (!comp.children.meetingActive.getView().value) return; let sharing = !comp.children.sharing.getView().value; await shareScreen(sharing); @@ -670,7 +665,7 @@ MTComp = withMethodExposing(MTComp, [ description: trans("meeting.actionBtnDesc"), params: [], }, - execute: async (comp, values) => { + execute: async (comp: any, values: any) => { if (!comp.children.meetingActive.getView().value) return; let value = !comp.children.audioControl.getView().value; comp.children.localUser.change({ @@ -689,7 +684,7 @@ MTComp = withMethodExposing(MTComp, [ description: trans("meeting.actionBtnDesc"), params: [], }, - execute: async (comp, values) => { + execute: async (comp: any, values: any) => { //check if meeting is active if (!comp.children.meetingActive.getView().value) return; //toggle videoControl @@ -717,7 +712,13 @@ MTComp = withMethodExposing(MTComp, [ description: trans("meeting.actionBtnDesc"), params: [], }, - execute: async (comp, values) => { + execute: async (comp: any, values: any) => { + console.log("startMeeting ", { + // user: userId + "", + audiostatus: false, + speaking: false, + streamingVideo: true, + }); if (comp.children.meetingActive.getView().value) return; userId = comp.children.localUserID.getView().value === "" @@ -729,6 +730,12 @@ MTComp = withMethodExposing(MTComp, [ speaking: false, streamingVideo: true, }); + console.log("startMeeting localUser ", { + user: userId + "", + audiostatus: false, + speaking: false, + streamingVideo: true, + }); comp.children.localUser.children.value.dispatch( changeChildAction( @@ -760,7 +767,7 @@ MTComp = withMethodExposing(MTComp, [ description: trans("meeting.broadCast"), params: [], }, - execute: async (comp, values) => { + execute: async (comp: any, values: any) => { if (!comp.children.meetingActive.getView().value) return; let messagedata = values !== undefined && values[0] !== undefined ? values[0] : ""; @@ -788,7 +795,7 @@ MTComp = withMethodExposing(MTComp, [ description: trans("meeting.meetingName"), params: [], }, - execute: async (comp, values) => { + execute: async (comp: any, values: any) => { let meetingName: any = values[0]; comp.children.meetingName.change(meetingName); }, @@ -799,7 +806,7 @@ MTComp = withMethodExposing(MTComp, [ description: trans("meeting.userName"), params: [], }, - execute: async (comp, values) => { + execute: async (comp: any, values: any) => { let userName: any = values[0]; let userLocal = comp.children.localUser.getView().value; comp.children.localUser.change({ ...userLocal, userName: userName }); @@ -811,7 +818,7 @@ MTComp = withMethodExposing(MTComp, [ description: trans("meeting.rtcToken"), params: [], }, - execute: async (comp, values) => { + execute: async (comp: any, values: any) => { let rtcToken: any = values[0]; comp.children.rtcToken.change(rtcToken); }, @@ -822,7 +829,7 @@ MTComp = withMethodExposing(MTComp, [ description: trans("meeting.rtmToken"), params: [], }, - execute: async (comp, values) => { + execute: async (comp: any, values: any) => { let rtmToken: any = values[0]; comp.children.rtmToken.change(rtmToken); }, @@ -833,7 +840,7 @@ MTComp = withMethodExposing(MTComp, [ description: trans("meeting.actionBtnDesc"), params: [], }, - execute: async (comp, values) => { + execute: async (comp: any, values: any) => { if (!comp.children.meetingActive.getView().value) return; let value = !comp.children.endCall.getView().value; @@ -848,20 +855,9 @@ MTComp = withMethodExposing(MTComp, [ }); }, }, - { - method: { - name: "closeDrawer", - description: trans("drawer.closeDrawerDesc"), - params: [], - }, - execute: (comp, values) => { - comp.children.visible.getView().onChange(false); - }, - }, ]); -export const VideoMeetingControllerComp = withExposingConfigs(MTComp, [ - new NameConfig("visible", trans("export.visibleDesc")), +export const MeetingControllerComp = withExposingConfigs(MTComp, [ new NameConfig("appId", trans("meeting.appid")), new NameConfig("localUser", trans("meeting.host")), new NameConfig("participants", trans("meeting.participants")), diff --git a/client/packages/lowcoder/src/comps/comps/meetingComp/videoMeetingStreamComp.tsx b/client/packages/lowcoder-comps/src/comps/agoraMeetingComp/videoMeetingStreamComp.tsx similarity index 72% rename from client/packages/lowcoder/src/comps/comps/meetingComp/videoMeetingStreamComp.tsx rename to client/packages/lowcoder-comps/src/comps/agoraMeetingComp/videoMeetingStreamComp.tsx index 3b70c392e..3831f203b 100644 --- a/client/packages/lowcoder/src/comps/comps/meetingComp/videoMeetingStreamComp.tsx +++ b/client/packages/lowcoder-comps/src/comps/agoraMeetingComp/videoMeetingStreamComp.tsx @@ -1,29 +1,28 @@ -import { BoolCodeControl, StringControl } from "comps/controls/codeControl"; -import { EditorContext } from "comps/editorState"; -import { withDefault } from "comps/generators/simpleGenerators"; -import { UICompBuilder } from "comps/generators/uiCompBuilder"; -import ReactResizeDetector from "react-resize-detector"; import { + NameConfig, + withDefault, + withExposingConfigs, + StringControl, Section, sectionNames, -} from "lowcoder-design"; -import { trans } from "i18n"; -import styled from "styled-components"; -import { + AutoHeightControl, + EditorContext, + styled, + MeetingEventHandlerControl, + BoolCodeControl, + RefControl, + stringExposingStateControl, + StringStateControl, + UICompBuilder, CommonNameConfig, - NameConfig, - withExposingConfigs, -} from "../../generators/withExposing"; +} from "lowcoder-sdk"; import { ButtonStyleControl } from "./videobuttonCompConstants"; -import { RefControl } from "comps/controls/refControl"; -import { useEffect, useRef, useState } from "react"; -import { AutoHeightControl } from "comps/controls/autoHeightControl"; -import { client } from "./videoMeetingControllerComp"; +import { trans } from "../../i18n/comps"; + +import { client } from "./meetingControllerComp"; import type { IAgoraRTCRemoteUser } from "agora-rtc-sdk-ng"; -import { useContext } from "react"; -import { MeetingEventHandlerControl } from "comps/controls/eventHandlerControl"; -import { StringStateControl, stringExposingStateControl } from "comps/controls/codeStateControl"; -import { hiddenPropertyView } from "comps/utils/propertyUtils"; +import { useEffect, useRef, useState } from "react"; +import ReactResizeDetector from "react-resize-detector"; const VideoContainer = styled.video` height: 100%; @@ -42,14 +41,17 @@ const meetingStreamChildren = { disabled: BoolCodeControl, loading: BoolCodeControl, style: ButtonStyleControl, - viewRef: RefControl, + viewRef: RefControl, userId: withDefault(stringExposingStateControl(""), "{{meeting1.localUser}}"), - profileImageUrl: withDefault(StringStateControl, "https://api.dicebear.com/7.x/fun-emoji/svg?seed=Peanut&radius=50&backgroundColor=transparent&randomizeIds=true&eyes=wink,sleepClose"), + profileImageUrl: withDefault( + StringStateControl, + "https://api.dicebear.com/7.x/fun-emoji/svg?seed=Peanut&radius=50&backgroundColor=transparent&randomizeIds=true&eyes=wink,sleepClose" + ), noVideoText: stringExposingStateControl(trans("meeting.noVideo")), }; let VideoCompBuilder = (function () { - return new UICompBuilder(meetingStreamChildren, (props) => { + return new UICompBuilder(meetingStreamChildren, (props: any) => { const videoRef = useRef(null); const conRef = useRef(null); const [userId, setUserId] = useState(); @@ -116,7 +118,7 @@ let VideoCompBuilder = (function () { !user.hasVideo && user.uid + "" !== userData.user && userData.user !== "" - ) { + ) { props.onEvent("videoOff"); } } @@ -128,13 +130,12 @@ let VideoCompBuilder = (function () { setVideo(userData.streamingVideo); } }, [props.userId.value]); - - // console.log(props.userId); + console.log("userId", userId); return ( - {(editorState) => ( + {(editorState: any) => (
); }) - .setPropertyViewFn((children) => ( + .setPropertyViewFn((children: any) => ( <>
{children.userId.propertyView({ label: trans("meeting.videoId") })} - + {children.profileImageUrl.propertyView({ label: trans("meeting.profileImageUrl"), - placeholder: "https://api.dicebear.com/7.x/fun-emoji/svg?seed=Peanut&radius=50&backgroundColor=transparent&randomizeIds=true&eyes=wink,sleepClose", + placeholder: + "https://api.dicebear.com/7.x/fun-emoji/svg?seed=Peanut&radius=50&backgroundColor=transparent&randomizeIds=true&eyes=wink,sleepClose", })}
- {(useContext(EditorContext).editorModeStatus === "logic" || useContext(EditorContext).editorModeStatus === "both") && ( + {/* {(useContext(EditorContext).editorModeStatus === "logic" || + useContext(EditorContext).editorModeStatus === "both") && (
{children.onEvent.getPropertyView()} {hiddenPropertyView(children)}
)} - {(useContext(EditorContext).editorModeStatus === "layout" || useContext(EditorContext).editorModeStatus === "both") && ( - <>
- {children.autoHeight.getPropertyView()} -
-
- {children.profilePadding.propertyView({ - label: "Profile Image Padding", - })} - {children.profileBorderRadius.propertyView({ - label: "Profile Image Border Radius", - })} - {children.videoAspectRatio.propertyView({ - label: "Video Aspect Ratio", - })} - {children.style.getPropertyView()} -
- - )} + {(useContext(EditorContext).editorModeStatus === "layout" || + useContext(EditorContext).editorModeStatus === "both") && ( + <> */} +
+ {children.autoHeight.getPropertyView()} +
+
+ {children.profilePadding.propertyView({ + label: "Profile Image Padding", + })} + {children.profileBorderRadius.propertyView({ + label: "Profile Image Border Radius", + })} + {children.videoAspectRatio.propertyView({ + label: "Video Aspect Ratio", + })} + {children.style.getPropertyView()} +
+ {/* */} + {/* )} */} )) .build(); })(); VideoCompBuilder = class extends VideoCompBuilder { - override autoHeight(): boolean { - return this.children.autoHeight.getView(); + autoHeight(): boolean { + return false; } }; export const VideoMeetingStreamComp = withExposingConfigs(VideoCompBuilder, [ - new NameConfig("loading", trans("button.loadingDesc")), + new NameConfig("loading", trans("meeting.loadingDesc")), new NameConfig("profileImageUrl", trans("meeting.profileImageUrl")), ...CommonNameConfig, diff --git a/client/packages/lowcoder/src/comps/comps/meetingComp/videoSharingStreamComp.tsx b/client/packages/lowcoder-comps/src/comps/agoraMeetingComp/videoSharingStreamComp.tsx similarity index 70% rename from client/packages/lowcoder/src/comps/comps/meetingComp/videoSharingStreamComp.tsx rename to client/packages/lowcoder-comps/src/comps/agoraMeetingComp/videoSharingStreamComp.tsx index d03897dd7..902f34a7c 100644 --- a/client/packages/lowcoder/src/comps/comps/meetingComp/videoSharingStreamComp.tsx +++ b/client/packages/lowcoder-comps/src/comps/agoraMeetingComp/videoSharingStreamComp.tsx @@ -1,29 +1,26 @@ -import { BoolCodeControl, StringControl } from "comps/controls/codeControl"; -import { EditorContext } from "comps/editorState"; -import { withDefault } from "comps/generators"; -import { UICompBuilder } from "comps/generators/uiCompBuilder"; -import ReactResizeDetector from "react-resize-detector"; import { + NameConfig, + withDefault, + withExposingConfigs, + StringControl, Section, sectionNames, -} from "lowcoder-design"; -import { trans } from "i18n"; -import styled from "styled-components"; -import { + AutoHeightControl, + EditorContext, + styled, + MeetingEventHandlerControl, + BoolCodeControl, + RefControl, + stringExposingStateControl, + UICompBuilder, CommonNameConfig, - NameConfig, - withExposingConfigs, -} from "../../generators/withExposing"; -import { ButtonStyleControl } from "./videobuttonCompConstants"; -import { RefControl } from "comps/controls/refControl"; +} from "lowcoder-sdk"; import { useEffect, useRef, useState } from "react"; -import { AutoHeightControl } from "comps/controls/autoHeightControl"; -import { client } from "./videoMeetingControllerComp"; +import { client } from "./meetingControllerComp"; import type { IAgoraRTCRemoteUser } from "agora-rtc-sdk-ng"; -import { useContext } from "react"; -import { MeetingEventHandlerControl } from "comps/controls/eventHandlerControl"; -import { stringExposingStateControl } from "comps/controls/codeStateControl"; -import { hiddenPropertyView } from "comps/utils/propertyUtils"; +import { trans } from "../../i18n/comps"; +import ReactResizeDetector from "react-resize-detector"; +import { ButtonStyleControl } from "./videobuttonCompConstants"; const VideoContainer = styled.video` height: 100%; @@ -42,13 +39,13 @@ const sharingStreamChildren = { disabled: BoolCodeControl, loading: BoolCodeControl, style: ButtonStyleControl, - viewRef: RefControl, + viewRef: RefControl, userId: withDefault(stringExposingStateControl(""), "{{meeting1.localUser}}"), noVideoText: stringExposingStateControl(trans("meeting.noVideo")), }; let SharingCompBuilder = (function () { - return new UICompBuilder(sharingStreamChildren, (props) => { + return new UICompBuilder(sharingStreamChildren, (props: any) => { const videoRef = useRef(null); const conRef = useRef(null); const [userId, setUserId] = useState(); @@ -95,8 +92,6 @@ let SharingCompBuilder = (function () { client.on( "user-unpublished", (user: IAgoraRTCRemoteUser, mediaType: "video" | "audio") => { - // console.log("user-unpublished"); - if (mediaType === "audio") { if ( !user.hasAudio && @@ -130,7 +125,7 @@ let SharingCompBuilder = (function () { return ( - {(editorState) => ( + {(editorState: any) => (
{userId ? ( @@ -161,7 +156,7 @@ let SharingCompBuilder = (function () { ) : ( <> )} - {/*

{userName ?? ""}

-
*/} +
)}
); }) - .setPropertyViewFn((children) => ( + .setPropertyViewFn((children: any) => ( <>
{children.userId.propertyView({ label: trans("meeting.videoId") })}
- {(useContext(EditorContext).editorModeStatus === "logic" || useContext(EditorContext).editorModeStatus === "both") && ( + {/* {(useContext(EditorContext).editorModeStatus === "logic" || + useContext(EditorContext).editorModeStatus === "both") && (
{children.onEvent.getPropertyView()} {hiddenPropertyView(children)}
- )} + )} */} - {(useContext(EditorContext).editorModeStatus === "layout" || useContext(EditorContext).editorModeStatus === "both") && ( - <>
- {children.autoHeight.getPropertyView()} -
-
- {children.profilePadding.propertyView({ - label: "Profile Image Padding", - })} - {children.profileBorderRadius.propertyView({ - label: "Profile Image Border Radius", - })} - {children.videoAspectRatio.propertyView({ - label: "Video Aspect Ratio", - })} - {children.style.getPropertyView()} -
- - )} + {/* {(useContext(EditorContext).editorModeStatus === "layout" || + useContext(EditorContext).editorModeStatus === "both") && ( + <> */} +
+ {children.autoHeight.getPropertyView()} +
+
+ {children.profilePadding.propertyView({ + label: "Profile Image Padding", + })} + {children.profileBorderRadius.propertyView({ + label: "Profile Image Border Radius", + })} + {children.videoAspectRatio.propertyView({ + label: "Video Aspect Ratio", + })} + {children.style?.getPropertyView()} +
+ {/* */} + {/* )} */} )) .build(); })(); SharingCompBuilder = class extends SharingCompBuilder { - override autoHeight(): boolean { - return this.children.autoHeight.getView(); + autoHeight(): boolean { + return false; } }; export const VideoSharingStreamComp = withExposingConfigs(SharingCompBuilder, [ - new NameConfig("loading", trans("button.loadingDesc")), + new NameConfig("loading", trans("meeting.loadingDesc")), ...CommonNameConfig, ]); + \ No newline at end of file diff --git a/client/packages/lowcoder-comps/src/comps/agoraMeetingComp/videobuttonCompConstants.tsx b/client/packages/lowcoder-comps/src/comps/agoraMeetingComp/videobuttonCompConstants.tsx new file mode 100644 index 000000000..2b74fd189 --- /dev/null +++ b/client/packages/lowcoder-comps/src/comps/agoraMeetingComp/videobuttonCompConstants.tsx @@ -0,0 +1,111 @@ +import { default as Button } from "antd/es/button"; +import { + styleControl, + ButtonStyleType, + ButtonStyle, + migrateOldData, + refMethods, + blurMethod, + clickMethod, + focusWithOptions, + genActiveColor, + genHoverColor, +} from "lowcoder-sdk"; +import styled, { css } from "styled-components"; +// import { genActiveColor, genHoverColor } from "lowcoder-design"; + +export function getButtonStyle(buttonStyle: any) { + const hoverColor = genHoverColor(buttonStyle.background); + const activeColor = genActiveColor(buttonStyle.background); + return css` + &&& { + border-radius: ${buttonStyle.radius}; + margin: ${buttonStyle.margin}; + padding: ${buttonStyle.padding}; + &:not(:disabled) { + // click animation color + --antd-wave-shadow-color: ${buttonStyle.border}; + border-color: ${buttonStyle.border}; + color: ${buttonStyle.text}; + background-color: ${buttonStyle.background}; + border-radius: ${buttonStyle.radius}; + margin: ${buttonStyle.margin}; + padding: ${buttonStyle.padding}; + + &:hover, + &:focus { + color: ${buttonStyle.text}; + background-color: ${hoverColor}; + border-color: ${buttonStyle.border === buttonStyle.background + ? hoverColor + : buttonStyle.border}; + } + + &:active { + color: ${buttonStyle.text}; + background-color: ${activeColor}; + border-color: ${buttonStyle.border === buttonStyle.background + ? activeColor + : buttonStyle.border}; + } + } + } + `; +} + +export const Button100 = styled(Button)<{ $buttonStyle?: any }>` + ${(props) => props.$buttonStyle && getButtonStyle(props.$buttonStyle)} + width: 100%; + height: auto; + display: inline-flex; + justify-content: center; + align-items: center; + overflow: hidden; + span { + overflow: hidden; + text-overflow: ellipsis; + } + gap: 6px; +`; + +export const ButtonCompWrapper = styled.div<{ disabled: boolean }>` + // The button component is disabled but can respond to drag & select events + ${(props) => + props.disabled && + ` + cursor: not-allowed; + button:disabled { + pointer-events: none; + } + `}; +`; + +/** + * Compatible with old data 2022-08-05 + */ +function fixOldData(oldData: any) { + if ( + oldData && + (oldData.hasOwnProperty("backgroundColor") || + oldData.hasOwnProperty("borderColor") || + oldData.hasOwnProperty("color")) + ) { + return { + background: oldData.backgroundColor, + border: oldData.borderColor, + text: oldData.color, + }; + } + return oldData; +} +const ButtonTmpStyleControl = styleControl(ButtonStyle); +export const ButtonStyleControl = migrateOldData( + ButtonTmpStyleControl, + fixOldData +); + +export const buttonRefMethods = refMethods([ + focusWithOptions, + blurMethod, + clickMethod, +]); diff --git a/client/packages/lowcoder-comps/src/comps/calendarComp/calendarComp.tsx b/client/packages/lowcoder-comps/src/comps/calendarComp/calendarComp.tsx index f4d3d32cc..e03ac5ec8 100644 --- a/client/packages/lowcoder-comps/src/comps/calendarComp/calendarComp.tsx +++ b/client/packages/lowcoder-comps/src/comps/calendarComp/calendarComp.tsx @@ -116,7 +116,7 @@ let CalendarBasicComp = (function () { const theme = useContext(ThemeContext); const ref = createRef(); const editEvent = useRef(); - const [form] = Form.useForm(); + const [form] = Form.useForm(); const [left, setLeft] = useState(undefined); const [licensed, setLicensed] = useState(props.licenseKey !== ""); diff --git a/client/packages/lowcoder-comps/src/i18n/comps/locales/en.ts b/client/packages/lowcoder-comps/src/i18n/comps/locales/en.ts index 53b106826..3df5edda9 100644 --- a/client/packages/lowcoder-comps/src/i18n/comps/locales/en.ts +++ b/client/packages/lowcoder-comps/src/i18n/comps/locales/en.ts @@ -98,6 +98,67 @@ export const en = { dataDesc: "Image Data", buttonTextDesc: "Button Text", }, + meeting: { + logLevel: "Agora SDK Log Level", + placement: "Meeting Drawer Placement", + meeting: "Meeting Settings", + loadingDesc: "loadingDesc", + cameraView: "Camera View", + cameraViewDesc: "Camera View of the Local User (Host)", + screenShared: "Screen Shared", + heightTooltip: "Pixel, e.g. 378", + height: "Drawer Height", + widthTooltip: "Pixel or Percentage, e.g. 520, 60%", + width: "Drawer Width", + screenSharedDesc: "Screen Shared by the Local User (Host)", + audioUnmuted: "Audio Unmuted", + audioMuted: "Audio Muted", + videoClicked: "Video Clicked", + showMask: "Show Mask", + maskClosable: "Click Outside to Close", + videoOff: "Video Off", + videoOn: "Video On", + size: "Size", + top: "Top", + host: "Host of the Meeting Room. You would need to manage the host as own Application Logic", + participants: "Participants of the Meeting Room", + shareScreen: "Display Screen Shared by the Local User", + appid: "Agora Application ID", + meetingName: "Meeting Name", + localUserID: "Host User ID", + userName: "Host User Name", + rtmToken: "Agora RTM Token", + rtcToken: "Agora RTC Token", + noVideo: "No Video", + profileImageUrl: "Profile Image URL", + right: "Right", + bottom: "Bottom", + videoId: "Video Stream ID", + audioStatus: "Audio Status", + left: "Left", + widthTooltip: "Pixel or Percentage, e.g. 520, 60%", + heightTooltip: "Pixel, e.g. 378", + openDrawerDesc: "Open Drawer", + closeDrawerDesc: "Close Drawer", + width: "Drawer Width", + height: "Drawer Height", + actionBtnDesc: "Action Button", + broadCast: "Broadcast Messages", + title: "Meeting Title", + meetingCompName: "Agora Meeting Controller", + sharingCompName: "Screen Share Stream", + videoCompName: "Camera Stream", + videoSharingCompName: "Screen Share Stream", + meetingControlCompName: "Control Button", + meetingCompDesc: "Meeting Component", + meetingCompControls: "Meeting Control", + meetingCompKeywords: "Agora Meeting, Web Meeting, Collaboration", + iconSize: "Icon Size", + userId: "Host User ID", + roomId: "Room ID", + meetingActive: "Ongoing Meeting", + messages: "Broadcasted Messages", + }, calendar: { events: "Events Data", resources: "Resources", diff --git a/client/packages/lowcoder-comps/src/index.ts b/client/packages/lowcoder-comps/src/index.ts index 065393b52..9d8097d32 100644 --- a/client/packages/lowcoder-comps/src/index.ts +++ b/client/packages/lowcoder-comps/src/index.ts @@ -1,11 +1,16 @@ import { ChartCompWithDefault } from "./comps/chartComp/chartComp"; import { ImageEditorComp } from "./comps/imageEditorComp/index"; import { CalendarComp } from "./comps/calendarComp/calendarComp"; -import { MermaidComp } from "comps/mermaidComp"; - +import { MermaidComp } from "comps/mermaidComp"; +import { MeetingControllerComp } from "comps/agoraMeetingComp/meetingControllerComp"; +import { VideoMeetingStreamComp } from "comps/agoraMeetingComp/videoMeetingStreamComp"; +import { VideoSharingStreamComp } from "comps/agoraMeetingComp/videoSharingStreamComp"; export default { chart: ChartCompWithDefault, imageEditor: ImageEditorComp, calendar: CalendarComp, mermaid: MermaidComp, + meetingController: MeetingControllerComp, + meetingStream: VideoMeetingStreamComp, + meetingSharing: VideoSharingStreamComp, }; diff --git a/client/packages/lowcoder/package.json b/client/packages/lowcoder/package.json index d9a05c00d..7d39538c1 100644 --- a/client/packages/lowcoder/package.json +++ b/client/packages/lowcoder/package.json @@ -36,9 +36,6 @@ "@types/react-signature-canvas": "^1.0.2", "@types/react-test-renderer": "^18.0.0", "@types/react-virtualized": "^9.21.21", - "agora-access-token": "^2.0.4", - "agora-rtc-sdk-ng": "^4.19.0", - "agora-rtm-sdk": "^1.5.1", "antd": "5.13.2", "axios": "^1.6.2", "buffer": "^6.0.3", diff --git a/client/packages/lowcoder/src/base/codeEditor/autoFormat.tsx b/client/packages/lowcoder/src/base/codeEditor/autoFormat.tsx index c70d404b0..17b5820a3 100644 --- a/client/packages/lowcoder/src/base/codeEditor/autoFormat.tsx +++ b/client/packages/lowcoder/src/base/codeEditor/autoFormat.tsx @@ -14,7 +14,7 @@ export async function htmlFormatter(text: string) { const prettier = await require("prettier/standalone"); const parserPlugin = await require("prettier/parser-html"); return (await prettier.format(text, { parser: "html", plugins: [parserPlugin], semi: false })).trim(); -} +} async function getJavascriptFormatter() { const prettier = await require("prettier/standalone"); diff --git a/client/packages/lowcoder/src/comps/comps/layout/mobileTabLayout.tsx b/client/packages/lowcoder/src/comps/comps/layout/mobileTabLayout.tsx index 09a56ae1d..e08567a82 100644 --- a/client/packages/lowcoder/src/comps/comps/layout/mobileTabLayout.tsx +++ b/client/packages/lowcoder/src/comps/comps/layout/mobileTabLayout.tsx @@ -5,7 +5,7 @@ import { manualOptionsControl } from "comps/controls/optionsControl"; import { BoolCodeControl, StringControl } from "comps/controls/codeControl"; import { IconControl } from "comps/controls/iconControl"; import styled from "styled-components"; -import React, { Suspense, useContext, useState } from "react"; +import React, { Suspense, useContext, useState } from "react"; import { registerLayoutMap } from "comps/comps/uiComp"; import { AppSelectComp } from "comps/comps/layout/appSelectComp"; import { NameAndExposingInfo } from "comps/utils/exposingTypes"; diff --git a/client/packages/lowcoder/src/comps/comps/meetingComp/controlButton.tsx b/client/packages/lowcoder/src/comps/comps/meetingComp/controlButton.tsx index 1f7815a80..1a2321a9b 100644 --- a/client/packages/lowcoder/src/comps/comps/meetingComp/controlButton.tsx +++ b/client/packages/lowcoder/src/comps/comps/meetingComp/controlButton.tsx @@ -28,10 +28,7 @@ import { } from "../../generators/withExposing"; import { IForm } from "../formComp/formDataConstants"; import { SimpleNameComp } from "../simpleNameComp"; -import { - Button100, - ButtonStyleControl, -} from "./videobuttonCompConstants"; +import { Button100, ButtonStyleControl } from "./videobuttonCompConstants"; import { RefControl } from "comps/controls/refControl"; import { AutoHeightControl } from "comps/controls/autoHeightControl"; import { @@ -247,16 +244,16 @@ let ButtonTmpComp = (function () { loading={props.loading} style={ props.autoHeight - ? { - width: "100%", - height: "100%", - aspectRatio: props.aspectRatio, - borderRadius: props.style.radius, - } + ? { + width: "100%", + height: "100%", + aspectRatio: props.aspectRatio, + borderRadius: props.style.radius, + } : { - aspectRatio: props.aspectRatio, - borderRadius: props.style.radius, - } + aspectRatio: props.aspectRatio, + borderRadius: props.style.radius, + } } disabled={ props.disabled || @@ -276,7 +273,6 @@ let ButtonTmpComp = (function () { {props.prefixIcon} )} - @@ -293,8 +289,8 @@ let ButtonTmpComp = (function () { })} - - {(useContext(EditorContext).editorModeStatus === "logic" || useContext(EditorContext).editorModeStatus === "both") && ( + {(useContext(EditorContext).editorModeStatus === "logic" || + useContext(EditorContext).editorModeStatus === "both") && (
{children.onEvent.getPropertyView()} {disabledPropertyView(children)} @@ -303,19 +299,22 @@ let ButtonTmpComp = (function () {
)} - {(useContext(EditorContext).editorModeStatus === "layout" || useContext(EditorContext).editorModeStatus === "both") && ( - <>
+ {(useContext(EditorContext).editorModeStatus === "layout" || + useContext(EditorContext).editorModeStatus === "both") && ( + <> +
{children.autoHeight.getPropertyView()} {children.iconSize.propertyView({ label: trans("button.iconSize"), })}
- {children.style.getPropertyView()} - {children.aspectRatio.propertyView({ - label: trans("style.aspectRatio"), - })} -
+ {children.style.getPropertyView()} + {children.aspectRatio.propertyView({ + label: trans("style.aspectRatio"), + })} +
+ )} )) diff --git a/client/packages/lowcoder/src/comps/comps/meetingComp/videobuttonCompConstants.tsx b/client/packages/lowcoder/src/comps/comps/meetingComp/videobuttonCompConstants.tsx index b0068495c..2b74fd189 100644 --- a/client/packages/lowcoder/src/comps/comps/meetingComp/videobuttonCompConstants.tsx +++ b/client/packages/lowcoder/src/comps/comps/meetingComp/videobuttonCompConstants.tsx @@ -1,20 +1,20 @@ import { default as Button } from "antd/es/button"; -import { styleControl } from "comps/controls/styleControl"; import { + styleControl, ButtonStyleType, ButtonStyle, -} from "comps/controls/styleControlConstants"; -import { migrateOldData } from "comps/generators/simpleGenerators"; -import styled, { css } from "styled-components"; -import { genActiveColor, genHoverColor } from "lowcoder-design"; -import { refMethods } from "comps/generators/withMethodExposing"; -import { + migrateOldData, + refMethods, blurMethod, clickMethod, focusWithOptions, -} from "comps/utils/methodUtils"; + genActiveColor, + genHoverColor, +} from "lowcoder-sdk"; +import styled, { css } from "styled-components"; +// import { genActiveColor, genHoverColor } from "lowcoder-design"; -export function getButtonStyle(buttonStyle: ButtonStyleType) { +export function getButtonStyle(buttonStyle: any) { const hoverColor = genHoverColor(buttonStyle.background); const activeColor = genActiveColor(buttonStyle.background); return css` @@ -53,7 +53,7 @@ export function getButtonStyle(buttonStyle: ButtonStyleType) { `; } -export const Button100 = styled(Button)<{ $buttonStyle?: ButtonStyleType }>` +export const Button100 = styled(Button)<{ $buttonStyle?: any }>` ${(props) => props.$buttonStyle && getButtonStyle(props.$buttonStyle)} width: 100%; height: auto; @@ -104,7 +104,7 @@ export const ButtonStyleControl = migrateOldData( fixOldData ); -export const buttonRefMethods = refMethods([ +export const buttonRefMethods = refMethods([ focusWithOptions, blurMethod, clickMethod, diff --git a/client/packages/lowcoder/src/comps/comps/remoteComp/loaders.tsx b/client/packages/lowcoder/src/comps/comps/remoteComp/loaders.tsx index 61140cf1b..cc6b9ef74 100644 --- a/client/packages/lowcoder/src/comps/comps/remoteComp/loaders.tsx +++ b/client/packages/lowcoder/src/comps/comps/remoteComp/loaders.tsx @@ -16,7 +16,7 @@ async function npmLoader( const { packageName, packageVersion, compName } = remoteInfo; const entry = `${NPM_PLUGIN_ASSETS_BASE_URL}/${packageName}@${localPackageVersion}/index.js`; - // const entry = `../../../../../public/package/index.js`; + /// const entry = `../../../../../public/package/index.js`; // console.log("Entry", entry); try { const module = await import( diff --git a/client/packages/lowcoder/src/comps/comps/tabs/index.tsx b/client/packages/lowcoder/src/comps/comps/tabs/index.tsx index 3f687dfad..7877697cc 100644 --- a/client/packages/lowcoder/src/comps/comps/tabs/index.tsx +++ b/client/packages/lowcoder/src/comps/comps/tabs/index.tsx @@ -1 +1 @@ -export { TabbedContainerComp } from "./tabbedContainerComp"; + export { TabbedContainerComp } from "./tabbedContainerComp"; \ No newline at end of file diff --git a/client/packages/lowcoder/src/comps/hooks/agoraFunctions.tsx b/client/packages/lowcoder/src/comps/hooks/agoraFunctions.tsx deleted file mode 100644 index 159ee0547..000000000 --- a/client/packages/lowcoder/src/comps/hooks/agoraFunctions.tsx +++ /dev/null @@ -1,144 +0,0 @@ -import { useEffect, useState } from "react"; -import AgoraRTC, { - type IAgoraRTCClient, - type IAgoraRTCRemoteUser, - type ICameraVideoTrack, - type IMicrophoneAudioTrack, -} from "agora-rtc-sdk-ng"; // Update the import with correct types -import { v4 as uuidv4 } from "uuid"; - -const useAgora = () => { - const [client, setClient] = useState(null); - const [audioTrack, setAudioTrack] = useState( - null - ); - const [videoTrack, setVideoTrack] = useState(null); - const [isJoined, setIsJoined] = useState(false); - const [videoHeight, setHeight] = useState(200); - const [videoWidth, setWidth] = useState(200); - - const initializeAgora = () => { - const agoraClient = AgoraRTC.createClient({ mode: "rtc", codec: "vp8" }); - setClient(agoraClient); - }; - - const turnOnCamera = async (flag: any) => { - if (videoTrack) { - return videoTrack.setEnabled(flag); - } - const newVideoTrack = await AgoraRTC.createCameraVideoTrack(); - newVideoTrack.play("camera-video"); - setVideoTrack(newVideoTrack); - }; - - const turnOnMicrophone = async (flag: any) => { - if (audioTrack) { - return audioTrack.setEnabled(flag); - } - const newAudioTrack = await AgoraRTC.createMicrophoneAudioTrack(); - newAudioTrack.play(); - setAudioTrack(newAudioTrack); - }; - - const leaveChannel = async () => { - if (isJoined) { - if (!client) { - // console.error("Agora client is not initialized"); - return; - } - - if (!client.localTracks.length) { - // console.error("No local tracks to unpublish"); - return; - } - - if (videoTrack) { - await turnOnCamera(false); - await client.unpublish(videoTrack); - videoTrack.stop(); - setVideoTrack(null); - } - - if (audioTrack) { - await turnOnMicrophone(false); - await client.unpublish(audioTrack); - audioTrack.stop(); - setAudioTrack(null); - } - - await client.leave(); - setIsJoined(false); - } - }; - - const joinChannel = async (appId: any, channel: any, token: any) => { - if (!channel) { - channel = "react-room"; - } - - if (isJoined) { - await leaveChannel(); - } - - client?.on("user-published", onUserPublish); - - await client?.join(appId, channel, token || null, uuidv4()); - setIsJoined(true); - }; - - const publishVideo = async (appId: any, channel: any) => { - await turnOnCamera(true); - - if (!isJoined) { - await joinChannel(appId, channel, null); - } - - await client?.publish(videoTrack!); - - const mediaStreamTrack = videoTrack?.getMediaStreamTrack(); - - if (mediaStreamTrack) { - const videoSettings = mediaStreamTrack.getSettings(); - const videoWidth = videoSettings.width; - const videoHeight = videoSettings.height; - setWidth(videoWidth!); - setHeight(videoHeight!); - // console.log(`Video width: ${videoWidth}px, height: ${videoHeight}px`); - } else { - // console.error("Media stream track not found"); - } - }; - - const onUserPublish = async ( - user: IAgoraRTCRemoteUser, - mediaType: string - ) => { - if (mediaType === "video") { - const remoteTrack = await client?.subscribe(user, mediaType); - remoteTrack?.play("remote-video"); - } - if (mediaType === "audio") { - const remoteTrack = await client?.subscribe(user, mediaType); - remoteTrack?.play(); - } - }; - - return { - client, - audioTrack, - videoTrack, - isJoined, - turnOnCamera, - turnOnMicrophone, - leaveChannel, - joinChannel, - publishVideo, - initializeAgora, - videoWidth, - videoHeight, - setHeight, - setWidth, - }; -}; - -export default useAgora; diff --git a/client/packages/lowcoder/src/comps/hooks/hookComp.tsx b/client/packages/lowcoder/src/comps/hooks/hookComp.tsx index 8002436e1..4ae329d36 100644 --- a/client/packages/lowcoder/src/comps/hooks/hookComp.tsx +++ b/client/packages/lowcoder/src/comps/hooks/hookComp.tsx @@ -3,6 +3,7 @@ import { getAllCompItems } from "comps/comps/containerBase/utils"; import { SimpleNameComp } from "comps/comps/simpleNameComp"; import { StringControl } from "comps/controls/codeControl"; import { EditorContext } from "comps/editorState"; +import { RemoteCompInfo } from "types/remoteComp"; import { simpleMultiComp, withDefault, @@ -13,6 +14,8 @@ import { import { hookToStateComp, simpleValueComp } from "comps/generators/hookToComp"; import { withSimpleExposing } from "comps/generators/withExposing"; import { DrawerComp } from "comps/hooks/drawerComp"; +import { remoteComp } from "comps/comps/remoteComp/remoteComp"; + import { HookCompConstructor, HookCompMapRawType, @@ -33,7 +36,6 @@ import { ToastComp } from "./toastComp"; import { ThemeComp } from "./themeComp"; import UrlParamsHookComp from "./UrlParamsHookComp"; import { UtilsComp } from "./utilsComp"; -import { VideoMeetingControllerComp } from "../comps/meetingComp/videoMeetingControllerComp"; import { ScreenInfoHookComp } from "./screenInfoComp"; window._ = _; @@ -85,7 +87,11 @@ const TitleHookComp = withPropertyViewFn(TitleTmp2Comp, (comp) => { ); }); - +const builtInRemoteComps: Omit = { + source: !!REACT_APP_BUNDLE_BUILTIN_PLUGIN ? "bundle" : "npm", + isRemote: true, + packageName: "lowcoder-comps", +}; const HookMap: HookCompMapRawType = { title: TitleHookComp, windowSize: WindowSizeComp, @@ -93,17 +99,17 @@ const HookMap: HookCompMapRawType = { lodashJsLib: LodashJsLib, dayJsLib: DayJsLib, momentJsLib: DayJsLib, // old components use this hook - utils: UtilsComp, + utils: UtilsComp, message: MessageComp, toast: ToastComp, localStorage: LocalStorageComp, modal: ModalComp, - meeting: VideoMeetingControllerComp, + meeting: remoteComp({ ...builtInRemoteComps, compName: "meetingController" }), currentUser: CurrentUserHookComp, screenInfo: ScreenInfoHookComp, urlParams: UrlParamsHookComp, drawer: DrawerComp, - theme: ThemeComp, + theme: ThemeComp, }; export const HookTmpComp = withTypeAndChildren(HookMap, "title", { diff --git a/client/packages/lowcoder/src/comps/hooks/hookCompTypes.tsx b/client/packages/lowcoder/src/comps/hooks/hookCompTypes.tsx index 617f2f6c1..3277bf78b 100644 --- a/client/packages/lowcoder/src/comps/hooks/hookCompTypes.tsx +++ b/client/packages/lowcoder/src/comps/hooks/hookCompTypes.tsx @@ -3,7 +3,7 @@ import { withExposingRaw } from "comps/generators/withExposing"; const AllHookComp = [ "modal", "drawer", - "meeting", + // "meeting", "title", "windowSize", "currentTime", @@ -18,6 +18,7 @@ const AllHookComp = [ "screenInfo", "urlParams", "theme", + "meeting" ] as const; export type HookCompType = (typeof AllHookComp)[number]; @@ -44,10 +45,10 @@ const HookCompConfig: Record< category: "ui", singleton: false, }, - meeting: { - category: "ui", - singleton: false, - }, + // meeting: { + // category: "ui", + // singleton: false, + // }, lodashJsLib: { category: "hide", }, diff --git a/client/packages/lowcoder/src/comps/index-test.tsx b/client/packages/lowcoder/src/comps/index-test.tsx index 7a59a6839..117772602 100644 --- a/client/packages/lowcoder/src/comps/index-test.tsx +++ b/client/packages/lowcoder/src/comps/index-test.tsx @@ -65,10 +65,7 @@ import { MentionComp } from "./comps/textInputComp/mentionComp"; import { AutoCompleteComp } from "./comps/autoCompleteComp/autoCompleteComp"; import { JsonLottieComp } from "./comps/jsonComp/jsonLottieComp"; import { ResponsiveLayoutComp } from "./comps/responsiveLayout"; -import { VideoMeetingStreamComp } from "./comps/meetingComp/videoMeetingStreamComp"; import { ControlButton } from "./comps/meetingComp/controlButton"; -import { VideoMeetingControllerComp } from "./comps/meetingComp/videoMeetingControllerComp"; -import { VideoSharingStreamComp } from "./comps/meetingComp/videoSharingStreamComp"; import { AudioCompIcon, @@ -147,7 +144,6 @@ const builtInRemoteComps: Omit = { }; var uiCompMap: Registry = { - // Dashboards chart: { @@ -163,6 +159,47 @@ var uiCompMap: Registry = { h: 40, }, }, + sharingcomponent: { + name: trans("meeting.sharingCompName"), + enName: "Sharing", + description: trans("meeting.sharingCompName"), + categories: ["collaboration"], + icon: VideoCompIcon, + keywords: trans("meeting.meetingCompKeywords"), + // comp: VideoSharingStreamComp, + comp: remoteComp({ ...builtInRemoteComps, compName: "meetingStream" }), + withoutLoading: true, + layoutInfo: { + w: 12, + h: 50, + }, + }, + videocomponent: { + name: trans("meeting.videoCompName"), + enName: "Video", + description: trans("meeting.videoCompName"), + categories: ["collaboration"], + icon: VideoCompIcon, + keywords: trans("meeting.meetingCompKeywords"), + // comp: VideoMeetingStreamComp, + comp: remoteComp({ ...builtInRemoteComps, compName: "meetingStream" }), + withoutLoading: true, + layoutInfo: { + w: 6, + h: 32, + }, + }, + meeting: { + name: trans("meeting.meetingCompName"), + enName: "Drawer", + comp: remoteComp({ ...builtInRemoteComps, compName: "meetingController" }), + description: trans("meeting.meetingCompDesc"), + categories: ["collaboration"], + icon: DrawerCompIcon, + keywords: trans("meeting.meetingCompKeywords"), + // comp: VideoMeetingControllerComp, + withoutLoading: true, + }, mermaid: { name: trans("uiComp.mermaidCompName"), enName: "Mermaid Charts", @@ -419,49 +456,49 @@ var uiCompMap: Registry = { // Collaboration - sharingcomponent: { - name: trans("meeting.sharingCompName"), - enName: "Sharing", - description: trans("meeting.sharingCompName"), - categories: ["collaboration"], - icon: VideoCompIcon, - keywords: trans("meeting.meetingCompKeywords"), - comp: VideoSharingStreamComp, - withoutLoading: true, - layoutInfo: { - w: 12, - h: 50, - } - }, - videocomponent: { - name: trans("meeting.videoCompName"), - enName: "Video", - description: trans("meeting.videoCompName"), - categories: ["collaboration"], - icon: VideoCompIcon, - keywords: trans("meeting.meetingCompKeywords"), - comp: VideoMeetingStreamComp, - withoutLoading: true, - layoutInfo: { - w: 6, - h: 32, - } - }, - meeting: { - name: trans("meeting.meetingCompName"), - enName: "Drawer", - description: trans("meeting.meetingCompDesc"), - categories: ["collaboration"], - icon: DrawerCompIcon, - keywords: trans("meeting.meetingCompKeywords"), - comp: VideoMeetingControllerComp, - withoutLoading: true, - }, + // sharingcomponent: { + // name: trans("meeting.sharingCompName"), + // enName: "Sharing", + // description: trans("meeting.sharingCompName"), + // categories: ["collaboration"], + // icon: VideoCompIcon, + // keywords: trans("meeting.meetingCompKeywords"), + // comp: VideoSharingStreamComp, + // withoutLoading: true, + // layoutInfo: { + // w: 12, + // h: 50, + // }, + // }, + // videocomponent: { + // name: trans("meeting.videoCompName"), + // enName: "Video", + // description: trans("meeting.videoCompName"), + // categories: ["collaboration"], + // icon: VideoCompIcon, + // keywords: trans("meeting.meetingCompKeywords"), + // comp: VideoMeetingStreamComp, + // withoutLoading: true, + // layoutInfo: { + // w: 6, + // h: 32, + // }, + // }, + // meeting: { + // name: trans("meeting.meetingCompName"), + // enName: "Drawer", + // description: trans("meeting.meetingCompDesc"), + // categories: ["collaboration"], + // icon: DrawerCompIcon, + // keywords: trans("meeting.meetingCompKeywords"), + // comp: VideoMeetingControllerComp, + // withoutLoading: true, + // }, comment: { name: trans("uiComp.commentCompName"), enName: "comment", description: trans("uiComp.commentCompDesc"), - categories: ["forms","collaboration"], + categories: ["forms", "collaboration"], icon: CommentIcon, keywords: trans("uiComp.commentCompKeywords"), comp: CommentComp, @@ -474,7 +511,7 @@ var uiCompMap: Registry = { name: trans("uiComp.mentionCompName"), enName: "mention", description: trans("uiComp.mentionCompDesc"), - categories: ["forms","collaboration"], + categories: ["forms", "collaboration"], icon: MentionIcon, keywords: trans("uiComp.mentionCompKeywords"), comp: MentionComp, @@ -560,9 +597,9 @@ var uiCompMap: Registry = { keywords: trans("uiComp.inputCompKeywords"), comp: InputComp, layoutInfo: { - w: 6, + w: 6, h: 6, - } + }, }, password: { name: trans("uiComp.passwordCompName"), @@ -573,9 +610,9 @@ var uiCompMap: Registry = { keywords: trans("uiComp.passwordCompKeywords"), comp: PasswordComp, layoutInfo: { - w: 6, + w: 6, h: 6, - } + }, }, numberInput: { name: trans("uiComp.numberInputCompName"), @@ -586,9 +623,9 @@ var uiCompMap: Registry = { keywords: trans("uiComp.numberInputCompKeywords"), comp: NumberInputComp, layoutInfo: { - w: 6, + w: 6, h: 6, - } + }, }, textArea: { name: trans("uiComp.textAreaCompName"), @@ -599,9 +636,9 @@ var uiCompMap: Registry = { keywords: trans("uiComp.textAreaCompKeywords"), comp: TextAreaComp, layoutInfo: { - w: 6, + w: 6, h: 12, - } + }, }, switch: { name: trans("uiComp.switchCompName"), @@ -612,9 +649,9 @@ var uiCompMap: Registry = { keywords: trans("uiComp.switchCompKeywords"), comp: SwitchComp, layoutInfo: { - w: 6, + w: 6, h: 6, - } + }, }, checkbox: { name: trans("uiComp.checkboxCompName"), @@ -770,15 +807,15 @@ var uiCompMap: Registry = { keywords: trans("uiComp.ratingCompKeywords"), comp: RatingComp, layoutInfo: { - w: 6, + w: 6, h: 6, - } + }, }, autocomplete: { name: trans("uiComp.autoCompleteCompName"), enName: "autoComplete", description: trans("uiComp.autoCompleteCompDesc"), - categories: ["forms","collaboration"], + categories: ["forms", "collaboration"], icon: AutoCompleteCompIcon, keywords: cnchar .spell(trans("uiComp.autoCompleteCompName"), "first", "low") @@ -817,11 +854,10 @@ var uiCompMap: Registry = { w: 6, h: 20, }, - }, - + }, // Document handling - + file: { name: trans("uiComp.fileUploadCompName"), enName: "File Upload", @@ -848,7 +884,7 @@ var uiCompMap: Registry = { h: 40, }, }, - + // Multimedia image: { @@ -1082,7 +1118,6 @@ var uiCompMap: Registry = { h: 24, }, }, - }; export function loadComps() { diff --git a/client/packages/lowcoder/src/comps/index.tsx b/client/packages/lowcoder/src/comps/index.tsx index ca68a92b1..78d5283d3 100644 --- a/client/packages/lowcoder/src/comps/index.tsx +++ b/client/packages/lowcoder/src/comps/index.tsx @@ -6,10 +6,16 @@ import { ModalComp } from "comps/hooks/modalComp"; import { ButtonComp } from "./comps/buttonComp/buttonComp"; import { DropdownComp } from "./comps/buttonComp/dropdownComp"; import { LinkComp } from "./comps/buttonComp/linkComp"; -import { ContainerComp, defaultContainerData } from "./comps/containerComp/containerComp"; +import { + ContainerComp, + defaultContainerData, +} from "./comps/containerComp/containerComp"; import { defaultCollapsibleContainerData } from "./comps/containerComp/collapsibleContainerComp"; import { ContainerComp as FloatTextContainerComp } from "./comps/containerComp/textContainerComp"; -import { PageLayoutComp, defaultPageLayoutData } from "./comps/containerComp/pageLayoutComp"; +import { + PageLayoutComp, + defaultPageLayoutData, +} from "./comps/containerComp/pageLayoutComp"; import { CustomComp } from "./comps/customComp/customComp"; import { DatePickerComp, DateRangeComp } from "./comps/dateComp/dateComp"; import { DividerComp } from "./comps/dividerComp"; @@ -41,7 +47,12 @@ import { TextAreaComp } from "./comps/textInputComp/textAreaComp"; import { TimePickerComp, TimeRangeComp } from "./comps/dateComp/timeComp"; import { defaultFormData, FormComp } from "./comps/formComp/formComp"; import { IFrameComp } from "./comps/iframeComp"; -import { defaultGridData, defaultListViewData, GridComp, ListViewComp,} from "./comps/listViewComp"; +import { + defaultGridData, + defaultListViewData, + GridComp, + ListViewComp, +} from "./comps/listViewComp"; import { ModuleComp } from "./comps/moduleComp/moduleComp"; import { NavComp } from "./comps/navComp/navComp"; import { TableComp } from "./comps/tableComp"; @@ -52,7 +63,11 @@ import { TreeComp } from "./comps/treeComp/treeComp"; import { TreeSelectComp } from "./comps/treeComp/treeSelectComp"; import { trans } from "i18n"; import { remoteComp } from "./comps/remoteComp/remoteComp"; -import { registerComp, type UICompManifest, type UICompType } from "./uiCompRegistry"; +import { + registerComp, + type UICompManifest, + type UICompType, +} from "./uiCompRegistry"; import { AudioComp } from "./comps/mediaComp/audioComp"; import { VideoComp } from "./comps/mediaComp/videoComp"; import { DrawerComp } from "./hooks/drawerComp"; @@ -67,12 +82,8 @@ import { TourComp } from "./comps/tourComp/tourComp"; import { CommentComp } from "./comps/commentComp/commentComp"; import { MentionComp } from "./comps/textInputComp/mentionComp"; import { AutoCompleteComp } from "./comps/autoCompleteComp/autoCompleteComp"; -import { JsonLottieComp } from "./comps/jsonComp/jsonLottieComp"; +import { JsonLottieComp } from "./comps/jsonComp/jsonLottieComp"; import { ResponsiveLayoutComp } from "./comps/responsiveLayout"; -import { VideoMeetingStreamComp } from "./comps/meetingComp/videoMeetingStreamComp"; -import { ControlButton } from "./comps/meetingComp/controlButton"; -import { VideoMeetingControllerComp } from "./comps/meetingComp/videoMeetingControllerComp"; -import { VideoSharingStreamComp } from "./comps/meetingComp/videoSharingStreamComp"; import { IconComp } from "./comps/iconComp"; import { @@ -156,9 +167,48 @@ const builtInRemoteComps: Omit = { }; export var uiCompMap: Registry = { - // Dashboards - + sharingcomponent: { + name: trans("meeting.sharingCompName"), + enName: "Sharing", + description: trans("meeting.sharingCompName"), + categories: ["collaboration"], + icon: VideoCompIcon, + keywords: trans("meeting.meetingCompKeywords"), + // comp: VideoSharingStreamComp, + comp: remoteComp({ ...builtInRemoteComps, compName: "meetingStream" }), + withoutLoading: true, + layoutInfo: { + w: 12, + h: 50, + }, + }, + videocomponent: { + name: trans("meeting.videoCompName"), + enName: "Video", + description: trans("meeting.videoCompName"), + categories: ["collaboration"], + icon: VideoCompIcon, + keywords: trans("meeting.meetingCompKeywords"), + // comp: VideoMeetingStreamComp, + comp: remoteComp({ ...builtInRemoteComps, compName: "meetingStream" }), + withoutLoading: true, + layoutInfo: { + w: 6, + h: 32, + }, + }, + meeting: { + name: trans("meeting.meetingCompName"), + enName: "Drawer", + comp: remoteComp({ ...builtInRemoteComps, compName: "meetingController" }), + description: trans("meeting.meetingCompDesc"), + categories: ["collaboration"], + icon: DrawerCompIcon, + keywords: trans("meeting.meetingCompKeywords"), + // comp: VideoMeetingControllerComp, + withoutLoading: true, + }, chart: { name: trans("uiComp.chartCompName"), enName: "Chart", @@ -193,8 +243,8 @@ export var uiCompMap: Registry = { icon: TimeLineIcon, keywords: trans("uiComp.timelineCompKeywords"), lazyLoad: true, - compName: 'TimeLineComp', - compPath: 'comps/timelineComp/timelineComp', + compName: "TimeLineComp", + compPath: "comps/timelineComp/timelineComp", layoutInfo: { w: 12, h: 40, @@ -208,15 +258,15 @@ export var uiCompMap: Registry = { icon: TableCompIcon, keywords: trans("uiComp.tableCompKeywords"), lazyLoad: true, - compName: 'TableComp', - compPath: 'comps/tableComp/index', + compName: "TableComp", + compPath: "comps/tableComp/index", layoutInfo: { w: 12, h: 40, }, withoutLoading: true, - defaultDataFnName: 'defaultTableData', - defaultDataFnPath: 'comps/tableComp/mockTableComp' + defaultDataFnName: "defaultTableData", + defaultDataFnPath: "comps/tableComp/mockTableComp", }, slider: { name: trans("uiComp.sliderCompName"), @@ -226,8 +276,8 @@ export var uiCompMap: Registry = { icon: SliderCompIcon, keywords: trans("uiComp.sliderCompKeywords"), lazyLoad: true, - compName: 'SliderComp', - compPath: 'comps/numberInputComp/sliderComp', + compName: "SliderComp", + compPath: "comps/numberInputComp/sliderComp", layoutInfo: { w: 6, h: 5, @@ -241,8 +291,8 @@ export var uiCompMap: Registry = { icon: RangeSliderCompIcon, keywords: trans("uiComp.rangeSliderCompKeywords"), lazyLoad: true, - compName: 'RangeSliderComp', - compPath: 'comps/numberInputComp/rangeSliderComp', + compName: "RangeSliderComp", + compPath: "comps/numberInputComp/rangeSliderComp", layoutInfo: { w: 6, h: 5, @@ -259,8 +309,8 @@ export var uiCompMap: Registry = { icon: ResponsiveLayoutCompIcon, keywords: trans("uiComp.responsiveLayoutCompKeywords"), lazyLoad: true, - compName: 'ResponsiveLayoutComp', - compPath: 'comps/responsiveLayout/index', + compName: "ResponsiveLayoutComp", + compPath: "comps/responsiveLayout/index", withoutLoading: true, layoutInfo: { w: 24, @@ -276,8 +326,8 @@ export var uiCompMap: Registry = { icon: ContainerCompIcon, keywords: trans("uiComp.containerCompKeywords"), lazyLoad: true, - compName: 'ContainerComp', - compPath: 'comps/containerComp/containerComp', + compName: "ContainerComp", + compPath: "comps/containerComp/containerComp", withoutLoading: true, layoutInfo: { w: 12, @@ -285,8 +335,8 @@ export var uiCompMap: Registry = { // static: true, delayCollision: true, }, - defaultDataFnName: 'defaultContainerData', - defaultDataFnPath: 'comps/containerComp/containerComp' + defaultDataFnName: "defaultContainerData", + defaultDataFnPath: "comps/containerComp/containerComp", }, floatTextContainer: { @@ -297,8 +347,8 @@ export var uiCompMap: Registry = { icon: FloatingTextComp, keywords: trans("uiComp.floatTextContainerCompKeywords"), comp: FloatTextContainerComp, - compName: 'ContainerComp', - compPath: 'comps/containerComp/textContainerComp', + compName: "ContainerComp", + compPath: "comps/containerComp/textContainerComp", withoutLoading: true, layoutInfo: { w: 12, @@ -307,8 +357,8 @@ export var uiCompMap: Registry = { delayCollision: true, }, defaultDataFn: defaultContainerData, - defaultDataFnName: 'defaultContainerData', - defaultDataFnPath: 'comps/containerComp/containerComp' + defaultDataFnName: "defaultContainerData", + defaultDataFnPath: "comps/containerComp/containerComp", }, tabbedContainer: { @@ -319,8 +369,8 @@ export var uiCompMap: Registry = { icon: TabbedContainerCompIcon, keywords: trans("uiComp.tabbedContainerCompKeywords"), lazyLoad: true, - compName: 'TabbedContainerComp', - compPath: 'comps/tabs/index', + compName: "TabbedContainerComp", + compPath: "comps/tabs/index", withoutLoading: true, layoutInfo: { w: 12, @@ -337,8 +387,8 @@ export var uiCompMap: Registry = { icon: CollapsibleContainerCompIcon, keywords: trans("uiComp.collapsibleContainerCompKeywords"), lazyLoad: true, - compName: 'ContainerComp', - compPath: 'comps/containerComp/containerComp', + compName: "ContainerComp", + compPath: "comps/containerComp/containerComp", withoutLoading: true, layoutInfo: { w: 12, @@ -346,8 +396,8 @@ export var uiCompMap: Registry = { // static: true, delayCollision: true, }, - defaultDataFnName: 'defaultCollapsibleContainerData', - defaultDataFnPath: 'comps/containerComp/collapsibleContainerComp', + defaultDataFnName: "defaultCollapsibleContainerData", + defaultDataFnPath: "comps/containerComp/collapsibleContainerComp", }, pageLayout: { name: trans("uiComp.pageLayoutCompName"), @@ -375,15 +425,15 @@ export var uiCompMap: Registry = { categories: ["layout"], keywords: trans("uiComp.listViewCompKeywords"), lazyLoad: true, - compName: 'ListViewComp', - compPath: 'comps/listViewComp/index', + compName: "ListViewComp", + compPath: "comps/listViewComp/index", layoutInfo: { w: 12, h: 40, delayCollision: true, }, - defaultDataFnName: 'defaultListViewData', - defaultDataFnPath: 'comps/listViewComp/index', + defaultDataFnName: "defaultListViewData", + defaultDataFnPath: "comps/listViewComp/index", }, grid: { name: trans("uiComp.gridCompName"), @@ -393,15 +443,15 @@ export var uiCompMap: Registry = { categories: ["layout"], keywords: trans("uiComp.gridCompKeywords"), lazyLoad: true, - compName: 'GridComp', - compPath: 'comps/listViewComp/index', + compName: "GridComp", + compPath: "comps/listViewComp/index", layoutInfo: { w: 12, h: 40, delayCollision: true, }, - defaultDataFnName: 'defaultGridData', - defaultDataFnPath: 'comps/listViewComp/index', + defaultDataFnName: "defaultGridData", + defaultDataFnPath: "comps/listViewComp/index", }, modal: { name: trans("uiComp.modalCompName"), @@ -411,8 +461,8 @@ export var uiCompMap: Registry = { categories: ["layout"], keywords: trans("uiComp.modalCompKeywords"), lazyLoad: true, - compName: 'ModalComp', - compPath: 'hooks/modalComp', + compName: "ModalComp", + compPath: "hooks/modalComp", withoutLoading: true, }, drawer: { @@ -423,8 +473,8 @@ export var uiCompMap: Registry = { icon: DrawerCompIcon, keywords: trans("uiComp.drawerCompKeywords"), lazyLoad: true, - compName: 'DrawerComp', - compPath: 'hooks/drawerComp', + compName: "DrawerComp", + compPath: "hooks/drawerComp", withoutLoading: true, }, navigation: { @@ -435,8 +485,8 @@ export var uiCompMap: Registry = { categories: ["layout"], keywords: trans("uiComp.navigationCompKeywords"), lazyLoad: true, - compName: 'NavComp', - compPath: 'comps/navComp/navComp', + compName: "NavComp", + compPath: "comps/navComp/navComp", layoutInfo: { w: 24, h: 5, @@ -450,8 +500,8 @@ export var uiCompMap: Registry = { icon: CascaderCompIcon, keywords: trans("uiComp.cascaderCompKeywords"), lazyLoad: true, - compName: 'CascaderWithDefault', - compPath: 'comps/selectInputComp/cascaderComp', + compName: "CascaderWithDefault", + compPath: "comps/selectInputComp/cascaderComp", layoutInfo: { w: 9, h: 5, @@ -465,8 +515,8 @@ export var uiCompMap: Registry = { icon: LinkCompIcon, keywords: trans("uiComp.linkCompKeywords"), lazyLoad: true, - compName: 'LinkComp', - compPath: 'comps/buttonComp/linkComp', + compName: "LinkComp", + compPath: "comps/buttonComp/linkComp", layoutInfo: { w: 6, h: 5, @@ -480,8 +530,8 @@ export var uiCompMap: Registry = { icon: DividerCompIcon, keywords: trans("uiComp.dividerCompKeywords"), lazyLoad: true, - compName: 'DividerComp', - compPath: 'comps/dividerComp', + compName: "DividerComp", + compPath: "comps/dividerComp", layoutInfo: { w: 12, h: 1, @@ -505,62 +555,75 @@ export var uiCompMap: Registry = { }, // Collaboration - - sharingcomponent: { - name: trans("meeting.sharingCompName"), - enName: "Sharing", - description: trans("meeting.sharingCompName"), - categories: ["collaboration"], - icon: VideoCompIcon, - keywords: trans("meeting.meetingCompKeywords"), - lazyLoad: true, - compName: 'VideoSharingStreamComp', - compPath: 'comps/meetingComp/videoSharingStreamComp', - withoutLoading: true, - layoutInfo: { - w: 12, - h: 50, - } - }, - videocomponent: { - name: trans("meeting.videoCompName"), - enName: "Video", - description: trans("meeting.videoCompName"), - categories: ["collaboration"], - icon: VideoCompIcon, - keywords: trans("meeting.meetingCompKeywords"), - lazyLoad: true, - compName: 'VideoMeetingStreamComp', - compPath: 'comps/meetingComp/videoMeetingStreamComp', - withoutLoading: true, - layoutInfo: { - w: 6, - h: 32, - } - }, - meeting: { - name: trans("meeting.meetingCompName"), - enName: "Drawer", - description: trans("meeting.meetingCompDesc"), - categories: ["collaboration"], - icon: DrawerCompIcon, - keywords: trans("meeting.meetingCompKeywords"), - lazyLoad: true, - compName: 'VideoMeetingControllerComp', - compPath: 'comps/meetingComp/videoMeetingControllerComp', - withoutLoading: true, - }, + // we moved Agora Meetings to lowcoder-comps + // sharingcomponent: { + // name: trans("meeting.sharingCompName"), + // enName: "Sharing", + // description: trans("meeting.sharingCompName"), + // categories: ["collaboration"], + // icon: VideoCompIcon, + // keywords: trans("meeting.meetingCompKeywords"), + // lazyLoad: true, + // compName: "VideoSharingStreamComp", + // // compPath: "comps/meetingComp/videoSharingStreamComp", + // comp: remoteComp({ ...builtInRemoteComps, compName: "meetingSharing" }), + // withoutLoading: true, + // layoutInfo: { + // w: 12, + // h: 50, + // }, + // }, + // videocomponent: { + // name: trans("meeting.videoCompName"), + // enName: "Video", + // description: trans("meeting.videoCompName"), + // categories: ["collaboration"], + // icon: VideoCompIcon, + // comp: remoteComp({ ...builtInRemoteComps, compName: "meetingStream" }), + // keywords: trans("meeting.meetingCompKeywords"), + // layoutInfo: { + // w: 6, + // h: 32, + // }, + // // name: trans("meeting.videoCompName"), + // // enName: "Video", + // // description: trans("meeting.videoCompName"), + // // categories: ["collaboration"], + // // icon: VideoCompIcon, + // // keywords: trans("meeting.meetingCompKeywords"), + // // lazyLoad: true, + // // compName: "VideoMeetingStreamComp", + // // compPath: "comps/meetingComp/videoMeetingStreamComp", + // // withoutLoading: true, + // // layoutInfo: { + // // w: 6, + // // h: 32, + // // }, + // }, + // meeting: { + // name: trans("meeting.meetingCompName"), + // enName: "Drawer", + // description: trans("meeting.meetingCompDesc"), + // categories: ["collaboration"], + // icon: DrawerCompIcon, + // keywords: trans("meeting.meetingCompKeywords"), + // lazyLoad: true, + // compName: "VideoMeetingControllerComp", + // // compPath: "comps/meetingComp/videoMeetingControllerComp", + // comp: remoteComp({ ...builtInRemoteComps, compName: "meetingController" }), + // withoutLoading: true, + // }, comment: { name: trans("uiComp.commentCompName"), enName: "comment", description: trans("uiComp.commentCompDesc"), - categories: ["forms","collaboration"], + categories: ["forms", "collaboration"], icon: CommentIcon, keywords: trans("uiComp.commentCompKeywords"), lazyLoad: true, - compName: 'CommentComp', - compPath: 'comps/commentComp/commentComp', + compName: "CommentComp", + compPath: "comps/commentComp/commentComp", layoutInfo: { w: 12, h: 55, @@ -570,12 +633,12 @@ export var uiCompMap: Registry = { name: trans("uiComp.mentionCompName"), enName: "mention", description: trans("uiComp.mentionCompDesc"), - categories: ["forms","collaboration"], + categories: ["forms", "collaboration"], icon: MentionIcon, keywords: trans("uiComp.mentionCompKeywords"), lazyLoad: true, - compName: 'MentionComp', - compPath: 'comps/textInputComp/mentionComp', + compName: "MentionComp", + compPath: "comps/textInputComp/mentionComp", }, // Forms @@ -588,8 +651,8 @@ export var uiCompMap: Registry = { icon: FormCompIcon, keywords: trans("uiComp.formCompKeywords"), lazyLoad: true, - compName: 'FormComp', - compPath: 'comps/formComp/formComp', + compName: "FormComp", + compPath: "comps/formComp/formComp", withoutLoading: true, layoutInfo: { w: 12, @@ -597,8 +660,8 @@ export var uiCompMap: Registry = { // static: true, delayCollision: true, }, - defaultDataFnName: 'defaultFormData', - defaultDataFnPath: 'comps/formComp/formComp', + defaultDataFnName: "defaultFormData", + defaultDataFnPath: "comps/formComp/formComp", }, jsonSchemaForm: { name: trans("uiComp.jsonSchemaFormCompName"), @@ -608,8 +671,8 @@ export var uiCompMap: Registry = { icon: JsonFormCompIcon, keywords: trans("uiComp.jsonSchemaFormCompKeywords"), lazyLoad: true, - compName: 'JsonSchemaFormComp', - compPath: 'comps/jsonSchemaFormComp/jsonSchemaFormComp', + compName: "JsonSchemaFormComp", + compPath: "comps/jsonSchemaFormComp/jsonSchemaFormComp", layoutInfo: { w: 12, h: 50, @@ -623,8 +686,8 @@ export var uiCompMap: Registry = { icon: JsonEditorCompIcon, keywords: trans("uiComp.jsonEditorCompKeywords"), lazyLoad: true, - compName: 'JsonEditorComp', - compPath: 'comps/jsonComp/jsonEditorComp', + compName: "JsonEditorComp", + compPath: "comps/jsonComp/jsonEditorComp", layoutInfo: { w: 12, h: 50, @@ -638,8 +701,8 @@ export var uiCompMap: Registry = { icon: JsonExplorerCompIcon, keywords: trans("uiComp.jsonExplorerCompKeywords"), lazyLoad: true, - compName: 'JsonExplorerComp', - compPath: 'comps/jsonComp/jsonExplorerComp', + compName: "JsonExplorerComp", + compPath: "comps/jsonComp/jsonExplorerComp", layoutInfo: { w: 12, h: 50, @@ -653,8 +716,8 @@ export var uiCompMap: Registry = { icon: RichTextEditorCompIcon, keywords: trans("uiComp.richTextEditorCompKeywords"), lazyLoad: true, - compName: 'RichTextEditorComp', - compPath: 'comps/richTextEditorComp', + compName: "RichTextEditorComp", + compPath: "comps/richTextEditorComp", layoutInfo: { w: 12, h: 50, @@ -668,12 +731,12 @@ export var uiCompMap: Registry = { icon: InputCompIcon, keywords: trans("uiComp.inputCompKeywords"), lazyLoad: true, - compName: 'InputComp', - compPath: 'comps/textInputComp/inputComp', + compName: "InputComp", + compPath: "comps/textInputComp/inputComp", layoutInfo: { - w: 6, + w: 6, h: 6, - } + }, }, password: { name: trans("uiComp.passwordCompName"), @@ -683,12 +746,12 @@ export var uiCompMap: Registry = { icon: PasswordCompIcon, keywords: trans("uiComp.passwordCompKeywords"), lazyLoad: true, - compName: 'PasswordComp', - compPath: 'comps/textInputComp/passwordComp', + compName: "PasswordComp", + compPath: "comps/textInputComp/passwordComp", layoutInfo: { - w: 6, + w: 6, h: 6, - } + }, }, numberInput: { name: trans("uiComp.numberInputCompName"), @@ -698,12 +761,12 @@ export var uiCompMap: Registry = { icon: NumberInputCompIcon, keywords: trans("uiComp.numberInputCompKeywords"), lazyLoad: true, - compName: 'NumberInputComp', - compPath: 'comps/numberInputComp/numberInputComp', + compName: "NumberInputComp", + compPath: "comps/numberInputComp/numberInputComp", layoutInfo: { - w: 6, + w: 6, h: 6, - } + }, }, textArea: { name: trans("uiComp.textAreaCompName"), @@ -713,12 +776,12 @@ export var uiCompMap: Registry = { icon: TextAreaCompIcon, keywords: trans("uiComp.textAreaCompKeywords"), lazyLoad: true, - compName: 'TextAreaComp', - compPath: 'comps/textInputComp/textAreaComp', + compName: "TextAreaComp", + compPath: "comps/textInputComp/textAreaComp", layoutInfo: { - w: 6, + w: 6, h: 12, - } + }, }, switch: { name: trans("uiComp.switchCompName"), @@ -728,12 +791,12 @@ export var uiCompMap: Registry = { icon: SwitchCompIcon, keywords: trans("uiComp.switchCompKeywords"), lazyLoad: true, - compName: 'SwitchComp', - compPath: 'comps/switchComp', + compName: "SwitchComp", + compPath: "comps/switchComp", layoutInfo: { - w: 6, + w: 6, h: 6, - } + }, }, checkbox: { name: trans("uiComp.checkboxCompName"), @@ -743,8 +806,8 @@ export var uiCompMap: Registry = { icon: CheckboxCompIcon, keywords: trans("uiComp.checkboxCompKeywords"), lazyLoad: true, - compName: 'CheckboxComp', - compPath: 'comps/selectInputComp/checkboxComp', + compName: "CheckboxComp", + compPath: "comps/selectInputComp/checkboxComp", layoutInfo: { w: 6, h: 6, @@ -758,8 +821,8 @@ export var uiCompMap: Registry = { icon: RadioCompIcon, keywords: trans("uiComp.radioCompKeywords"), lazyLoad: true, - compName: 'RadioComp', - compPath: 'comps/selectInputComp/radioComp', + compName: "RadioComp", + compPath: "comps/selectInputComp/radioComp", layoutInfo: { w: 6, h: 6, @@ -773,8 +836,8 @@ export var uiCompMap: Registry = { icon: DateCompIcon, keywords: trans("uiComp.dateCompKeywords"), lazyLoad: true, - compName: 'DatePickerComp', - compPath: 'comps/dateComp/dateComp', + compName: "DatePickerComp", + compPath: "comps/dateComp/dateComp", layoutInfo: { w: 6, h: 6, @@ -788,8 +851,8 @@ export var uiCompMap: Registry = { icon: DateRangeCompIcon, keywords: trans("uiComp.dateRangeCompKeywords"), lazyLoad: true, - compName: 'DateRangeComp', - compPath: 'comps/dateComp/dateComp', + compName: "DateRangeComp", + compPath: "comps/dateComp/dateComp", layoutInfo: { w: 12, h: 6, @@ -803,8 +866,8 @@ export var uiCompMap: Registry = { icon: TimeCompIcon, keywords: trans("uiComp.timeCompKeywords"), lazyLoad: true, - compName: 'TimePickerComp', - compPath: 'comps/dateComp/timeComp', + compName: "TimePickerComp", + compPath: "comps/dateComp/timeComp", layoutInfo: { w: 6, h: 6, @@ -818,8 +881,8 @@ export var uiCompMap: Registry = { icon: TimeRangeCompIcon, keywords: trans("uiComp.timeRangeCompKeywords"), lazyLoad: true, - compName: 'TimeRangeComp', - compPath: 'comps/dateComp/timeComp', + compName: "TimeRangeComp", + compPath: "comps/dateComp/timeComp", layoutInfo: { w: 12, h: 6, @@ -833,8 +896,8 @@ export var uiCompMap: Registry = { icon: ButtonCompIcon, keywords: trans("uiComp.buttonCompKeywords"), lazyLoad: true, - compName: 'ButtonComp', - compPath: 'comps/buttonComp/buttonComp', + compName: "ButtonComp", + compPath: "comps/buttonComp/buttonComp", layoutInfo: { w: 6, h: 6, @@ -849,8 +912,8 @@ export var uiCompMap: Registry = { icon: ButtonCompIcon, keywords: trans("uiComp.meetingCompKeywords"), lazyLoad: true, - compName: 'ControlButton', - compPath: 'comps/meetingComp/controlButton', + compName: "ControlButton", + compPath: "comps/meetingComp/controlButton", withoutLoading: true, layoutInfo: { w: 3, @@ -865,8 +928,8 @@ export var uiCompMap: Registry = { icon: DropdownCompIcon, keywords: trans("uiComp.dropdownCompKeywords"), lazyLoad: true, - compName: 'DropdownComp', - compPath: 'comps/buttonComp/dropdownComp', + compName: "DropdownComp", + compPath: "comps/buttonComp/dropdownComp", layoutInfo: { w: 6, h: 6, @@ -880,8 +943,8 @@ export var uiCompMap: Registry = { icon: ToggleButtonCompIcon, keywords: trans("uiComp.toggleButtonCompKeywords"), lazyLoad: true, - compName: 'ToggleButtonComp', - compPath: 'comps/buttonComp/toggleButtonComp', + compName: "ToggleButtonComp", + compPath: "comps/buttonComp/toggleButtonComp", layoutInfo: { w: 3, h: 6, @@ -895,8 +958,8 @@ export var uiCompMap: Registry = { icon: SegmentedCompIcon, keywords: trans("uiComp.segmentedControlCompKeywords"), lazyLoad: true, - compName: 'SegmentedControlComp', - compPath: 'comps/selectInputComp/segmentedControl', + compName: "SegmentedControlComp", + compPath: "comps/selectInputComp/segmentedControl", layoutInfo: { w: 6, h: 6, @@ -910,8 +973,8 @@ export var uiCompMap: Registry = { icon: SegmentedCompIcon, keywords: trans("uiComp.stepControlCompKeywords"), lazyLoad: true, - compName: 'StepComp', - compPath: 'comps/selectInputComp/stepControl', + compName: "StepComp", + compPath: "comps/selectInputComp/stepsControl", layoutInfo: { w: 19, h: 6, @@ -926,25 +989,25 @@ export var uiCompMap: Registry = { icon: RatingCompIcon, keywords: trans("uiComp.ratingCompKeywords"), lazyLoad: true, - compName: 'RatingComp', - compPath: 'comps/ratingComp', + compName: "RatingComp", + compPath: "comps/ratingComp", layoutInfo: { - w: 6, + w: 6, h: 6, - } + }, }, autocomplete: { name: trans("uiComp.autoCompleteCompName"), enName: "autoComplete", description: trans("uiComp.autoCompleteCompDesc"), - categories: ["forms","collaboration"], + categories: ["forms", "collaboration"], icon: AutoCompleteCompIcon, keywords: cnchar .spell(trans("uiComp.autoCompleteCompName"), "first", "low") .toString(), lazyLoad: true, - compName: 'AutoCompleteComp', - compPath: 'comps/autoCompleteComp/autoCompleteComp', + compName: "AutoCompleteComp", + compPath: "comps/autoCompleteComp/autoCompleteComp", layoutInfo: { w: 6, h: 5, @@ -961,8 +1024,8 @@ export var uiCompMap: Registry = { icon: ProgressCompIcon, keywords: trans("uiComp.progressCompKeywords"), lazyLoad: true, - compName: 'ProgressComp', - compPath: 'comps/progressComp', + compName: "ProgressComp", + compPath: "comps/progressComp", layoutInfo: { w: 6, h: 5, @@ -976,17 +1039,16 @@ export var uiCompMap: Registry = { icon: ProcessCircleCompIcon, keywords: trans("uiComp.progressCircleCompKeywords"), lazyLoad: true, - compName: 'ProgressCircleComp', - compPath: 'comps/progressCircleComp', + compName: "ProgressCircleComp", + compPath: "comps/progressCircleComp", layoutInfo: { w: 6, h: 20, }, - }, - + }, // Document handling - + file: { name: trans("uiComp.fileUploadCompName"), enName: "File Upload", @@ -995,8 +1057,8 @@ export var uiCompMap: Registry = { icon: UploadCompIcon, keywords: trans("uiComp.fileUploadCompKeywords"), lazyLoad: true, - compName: 'FileComp', - compPath: 'comps/fileComp/fileComp', + compName: "FileComp", + compPath: "comps/fileComp/fileComp", layoutInfo: { w: 6, h: 5, @@ -1010,14 +1072,14 @@ export var uiCompMap: Registry = { icon: FileViewerCompIcon, keywords: trans("uiComp.fileViewerCompKeywords"), lazyLoad: true, - compName: 'FileViewerComp', - compPath: 'comps/fileViewerComp', + compName: "FileViewerComp", + compPath: "comps/fileViewerComp", layoutInfo: { w: 12, h: 40, }, }, - + // Multimedia image: { @@ -1028,8 +1090,8 @@ export var uiCompMap: Registry = { icon: ImageCompIcon, keywords: trans("uiComp.imageCompKeywords"), lazyLoad: true, - compName: 'ImageComp', - compPath: 'comps/imageComp', + compName: "ImageComp", + compPath: "comps/imageComp", layoutInfo: { w: 12, h: 40, @@ -1043,8 +1105,8 @@ export var uiCompMap: Registry = { icon: CarouselCompIcon, keywords: trans("uiComp.drawerCompKeywords"), lazyLoad: true, - compName: 'CarouselComp', - compPath: 'comps/carouselComp', + compName: "CarouselComp", + compPath: "comps/carouselComp", withoutLoading: true, layoutInfo: { w: 12, @@ -1059,8 +1121,8 @@ export var uiCompMap: Registry = { icon: AudioCompIcon, keywords: trans("uiComp.audioCompKeywords"), lazyLoad: true, - compName: 'AudioComp', - compPath: 'comps/mediaComp/audioComp', + compName: "AudioComp", + compPath: "comps/mediaComp/audioComp", layoutInfo: { w: 6, h: 5, @@ -1074,8 +1136,8 @@ export var uiCompMap: Registry = { icon: VideoCompIcon, keywords: trans("uiComp.videoCompKeywords"), lazyLoad: true, - compName: 'VideoComp', - compPath: 'comps/mediaComp/videoComp', + compName: "VideoComp", + compPath: "comps/mediaComp/videoComp", layoutInfo: { w: 12, h: 40, @@ -1089,8 +1151,8 @@ export var uiCompMap: Registry = { icon: LottieIcon, keywords: trans("uiComp.jsonLottieCompKeywords"), lazyLoad: true, - compName: 'JsonLottieComp', - compPath: 'comps/jsonComp/jsonLottieComp', + compName: "JsonLottieComp", + compPath: "comps/jsonComp/jsonLottieComp", layoutInfo: { w: 12, h: 40, @@ -1133,8 +1195,8 @@ export var uiCompMap: Registry = { icon: QRCodeCompIcon, keywords: trans("uiComp.qrCodeCompKeywords"), lazyLoad: true, - compName: 'QRCodeComp', - compPath: 'comps/qrCodeComp', + compName: "QRCodeComp", + compPath: "comps/qrCodeComp", layoutInfo: { w: 6, h: 32, @@ -1148,8 +1210,8 @@ export var uiCompMap: Registry = { icon: ScannerIcon, keywords: trans("uiComp.scannerCompKeywords"), lazyLoad: true, - compName: 'ScannerComp', - compPath: 'comps/buttonComp/scannerComp', + compName: "ScannerComp", + compPath: "comps/buttonComp/scannerComp", layoutInfo: { w: 6, h: 5, @@ -1163,8 +1225,8 @@ export var uiCompMap: Registry = { icon: SignatureIcon, keywords: trans("uiComp.signatureCompKeywords"), lazyLoad: true, - compName: 'SignatureComp', - compPath: 'comps/signatureComp', + compName: "SignatureComp", + compPath: "comps/signatureComp", layoutInfo: { w: 12, h: 40, @@ -1178,8 +1240,8 @@ export var uiCompMap: Registry = { icon: SelectCompIcon, keywords: trans("uiComp.selectCompKeywords"), lazyLoad: true, - compName: 'SelectComp', - compPath: 'comps/selectInputComp/selectComp', + compName: "SelectComp", + compPath: "comps/selectInputComp/selectComp", layoutInfo: { w: 6, h: 5, @@ -1206,8 +1268,8 @@ export var uiCompMap: Registry = { icon: MultiSelectCompIcon, keywords: trans("uiComp.multiSelectCompKeywords"), lazyLoad: true, - compName: 'MultiSelectComp', - compPath: 'comps/selectInputComp/multiSelectComp', + compName: "MultiSelectComp", + compPath: "comps/selectInputComp/multiSelectComp", layoutInfo: { w: 6, h: 5, @@ -1221,8 +1283,8 @@ export var uiCompMap: Registry = { icon: TreeIcon, keywords: trans("uiComp.treeCompKeywords"), lazyLoad: true, - compName: 'TreeComp', - compPath: 'comps/treeComp/treeComp', + compName: "TreeComp", + compPath: "comps/treeComp/treeComp", layoutInfo: { w: 12, h: 40, @@ -1236,8 +1298,8 @@ export var uiCompMap: Registry = { icon: TreeSelectIcon, keywords: trans("uiComp.treeSelectCompKeywords"), lazyLoad: true, - compName: 'TreeSelectComp', - compPath: 'comps/treeComp/treeSelectComp', + compName: "TreeSelectComp", + compPath: "comps/treeComp/treeSelectComp", layoutInfo: { w: 12, h: 5, @@ -1254,8 +1316,8 @@ export var uiCompMap: Registry = { categories: ["integration"], keywords: trans("uiComp.iframeCompKeywords"), lazyLoad: true, - compName: 'IFrameComp', - compPath: 'comps/iframeComp', + compName: "IFrameComp", + compPath: "comps/iframeComp", layoutInfo: { w: 12, h: 40, @@ -1269,8 +1331,8 @@ export var uiCompMap: Registry = { categories: ["integration"], keywords: trans("uiComp.customCompKeywords"), lazyLoad: true, - compName: 'CustomComp', - compPath: 'comps/customComp/customComp', + compName: "CustomComp", + compPath: "comps/customComp/customComp", layoutInfo: { w: 12, h: 40, @@ -1284,8 +1346,8 @@ export var uiCompMap: Registry = { categories: [], keywords: trans("uiComp.moduleCompKeywords"), lazyLoad: true, - compName: 'ModuleComp', - compPath: 'comps/moduleComp/moduleComp', + compName: "ModuleComp", + compPath: "comps/moduleComp/moduleComp", layoutInfo: { w: 12, h: 40, @@ -1301,19 +1363,18 @@ export var uiCompMap: Registry = { categories: ["dashboards", "layout", "multimedia"], icon: TextCompIcon, keywords: trans("uiComp.textCompKeywords"), - compName: 'TextComp', + compName: "TextComp", lazyLoad: true, - compPath: 'comps/textComp', + compPath: "comps/textComp", layoutInfo: { w: 6, h: 24, }, }, - }; export function loadComps() { - if(!uiCompMap) return; + if (!uiCompMap) return; const entries = Object.entries(uiCompMap); for (const [compType, manifest] of entries) { registerComp(compType as UICompType, manifest); diff --git a/client/packages/lowcoder/src/index.sdk.ts b/client/packages/lowcoder/src/index.sdk.ts index 54316b68c..49b43f3c2 100644 --- a/client/packages/lowcoder/src/index.sdk.ts +++ b/client/packages/lowcoder/src/index.sdk.ts @@ -4,7 +4,22 @@ import * as uuid from "uuid"; import * as styledNameExports from "styled-components"; import styledDefault from "styled-components"; +export * as styledm from "styled-components"; +export * from "comps/comps/containerBase/containerCompBuilder"; +export * from "comps/utils/backgroundColorContext"; +export { getData } from "comps/comps/listViewComp/listViewUtils"; +export { + gridItemCompToGridItems, + InnerGrid, +} from "comps/comps/containerComp/containerView"; +export { Layers } from "constants/Layers"; +export * from "comps/controls/eventHandlerControl"; +export * from "comps/utils/methodUtils"; +// export * from Button + +export { useUserViewMode } from "util/hooks"; +export * from "comps/editorState"; export * from "redux/store/store"; // util diff --git a/client/yarn.lock b/client/yarn.lock index f371d308c..68d251739 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -73,8 +73,8 @@ __metadata: linkType: hard "@ant-design/cssinjs@npm:^1.18.2": - version: 1.18.4 - resolution: "@ant-design/cssinjs@npm:1.18.4" + version: 1.19.1 + resolution: "@ant-design/cssinjs@npm:1.19.1" dependencies: "@babel/runtime": ^7.11.1 "@emotion/hash": ^0.8.0 @@ -86,7 +86,7 @@ __metadata: peerDependencies: react: ">=16.0.0" react-dom: ">=16.0.0" - checksum: c6028097929a9948d1e9d5441aeab51ff824edacf98976fb06c146397c7cc9b2fc3f88765a0d93345b1fbbf6b766f638260652d5637fcbf6e6bbafe4e79e60bd + checksum: d4db654f0bc45932db59b8583587c7e0baf4985074b0e1aa9dd6cbd058fb40a655c103a2c9ba344f36d3048ac3b86c489d538d4d2d95a730d3d8dbee11b70fe2 languageName: node linkType: hard @@ -98,8 +98,8 @@ __metadata: linkType: hard "@ant-design/icons@npm:^5.2.6, @ant-design/icons@npm:^5.3.0": - version: 5.3.4 - resolution: "@ant-design/icons@npm:5.3.4" + version: 5.3.6 + resolution: "@ant-design/icons@npm:5.3.6" dependencies: "@ant-design/colors": ^7.0.0 "@ant-design/icons-svg": ^4.4.0 @@ -109,7 +109,7 @@ __metadata: peerDependencies: react: ">=16.0.0" react-dom: ">=16.0.0" - checksum: 9c3e04e20159250ed9a6e694e2944ce2a5d3f164d41bb024ce64c69692a4b14a31fb3f25c0dd7c6f6770269731e46fc3ac81d8a23bfdcad08178135fe008e8e4 + checksum: bdb57adcdc0c687002e99d91413ac1c9ffd70c8368a54648ef6c3427c074b24376d8dced57542be695f5fdfe81be14a62b58a41cba7f5efdadc77c4161c58cae languageName: node linkType: hard @@ -138,24 +138,24 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.23.5, @babel/compat-data@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/compat-data@npm:7.24.1" - checksum: e14e94b00c3ac57bba929a87da8edb6c6a99d0051c54bf49591a5481440dd4d3ac7b4e4a93b81b54e45c2bca55e538aa1e1ad8281b083440a1598bfa8c8df03a +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.23.5, @babel/compat-data@npm:^7.24.4": + version: 7.24.4 + resolution: "@babel/compat-data@npm:7.24.4" + checksum: 52ce371658dc7796c9447c9cb3b9c0659370d141b76997f21c5e0028cca4d026ca546b84bc8d157ce7ca30bd353d89f9238504eb8b7aefa9b1f178b4c100c2d4 languageName: node linkType: hard "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.16.0, @babel/core@npm:^7.19.6, @babel/core@npm:^7.21.3, @babel/core@npm:^7.23.9": - version: 7.24.3 - resolution: "@babel/core@npm:7.24.3" + version: 7.24.4 + resolution: "@babel/core@npm:7.24.4" dependencies: "@ampproject/remapping": ^2.2.0 "@babel/code-frame": ^7.24.2 - "@babel/generator": ^7.24.1 + "@babel/generator": ^7.24.4 "@babel/helper-compilation-targets": ^7.23.6 "@babel/helper-module-transforms": ^7.23.3 - "@babel/helpers": ^7.24.1 - "@babel/parser": ^7.24.1 + "@babel/helpers": ^7.24.4 + "@babel/parser": ^7.24.4 "@babel/template": ^7.24.0 "@babel/traverse": ^7.24.1 "@babel/types": ^7.24.0 @@ -164,7 +164,7 @@ __metadata: gensync: ^1.0.0-beta.2 json5: ^2.2.3 semver: ^6.3.1 - checksum: 1a33460794f4122cf255b656f4d6586913f41078a1afdf1bcf0365ddbd99c1ddb68f904062f9079445ab26b507c36bc297055192bc26e5c8e6e3def42195f9ab + checksum: 15ecad7581f3329995956ba461961b1af7bed48901f14fe962ccd3217edca60049e9e6ad4ce48134618397e6c90230168c842e2c28e47ef1f16c97dbbf663c61 languageName: node linkType: hard @@ -182,15 +182,15 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.24.1, @babel/generator@npm:^7.7.2": - version: 7.24.1 - resolution: "@babel/generator@npm:7.24.1" +"@babel/generator@npm:^7.24.1, @babel/generator@npm:^7.24.4, @babel/generator@npm:^7.7.2": + version: 7.24.4 + resolution: "@babel/generator@npm:7.24.4" dependencies: "@babel/types": ^7.24.0 "@jridgewell/gen-mapping": ^0.3.5 "@jridgewell/trace-mapping": ^0.3.25 jsesc: ^2.5.1 - checksum: 98c6ce5ec7a1cba2bdf35cdf607273b90cf7cf82bbe75cd0227363fb84d7e1bd8efa74f40247d5900c8c009123f10132ad209a05283757698de918278c3c6700 + checksum: 1b6146c31386c9df3eb594a2c36b5c98da4f67f7c06edb3d68a442b92516b21bb5ba3ad7dbe0058fe76625ed24d66923e15c95b0df75ef1907d4068921a699b8 languageName: node linkType: hard @@ -225,9 +225,9 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.21.0, @babel/helper-create-class-features-plugin@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/helper-create-class-features-plugin@npm:7.24.1" +"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.21.0, @babel/helper-create-class-features-plugin@npm:^7.24.1, @babel/helper-create-class-features-plugin@npm:^7.24.4": + version: 7.24.4 + resolution: "@babel/helper-create-class-features-plugin@npm:7.24.4" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 "@babel/helper-environment-visitor": ^7.22.20 @@ -240,7 +240,7 @@ __metadata: semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 310d063eafbd2a777609770c1aa7b24e43f375122fd84031c45edc512686000197da1cf450b48eca266489131bc06dbaa35db2afed8b7213c9bcfa8c89b82c4d + checksum: 75b0a51ae1f7232932559779b78711c271404d02d069156d1bd9a7982c165c5134058d2ec2d8b5f2e42026ee4f52ba2a30c86a7aa3bce6b5fd0991eb721abc8c languageName: node linkType: hard @@ -432,14 +432,14 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/helpers@npm:7.24.1" +"@babel/helpers@npm:^7.24.4": + version: 7.24.4 + resolution: "@babel/helpers@npm:7.24.4" dependencies: "@babel/template": ^7.24.0 "@babel/traverse": ^7.24.1 "@babel/types": ^7.24.0 - checksum: 0643b8ccf3358682303aea65f0798e482b2c3642040d32ffe130a245f4a46d0d23fe575a5e06e3cda4e8ec4af89d52b94ff1c444a74465d47ccc27da6ddbbb9f + checksum: ecd2dc0b3b32e24b97fa3bcda432dd3235b77c2be1e16eafc35b8ef8f6c461faa99796a8bc2431a408c98b4aabfd572c160e2b67ecea4c5c9dd3a8314a97994a languageName: node linkType: hard @@ -455,12 +455,24 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/parser@npm:7.24.1" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.1, @babel/parser@npm:^7.24.4": + version: 7.24.4 + resolution: "@babel/parser@npm:7.24.4" bin: parser: ./bin/babel-parser.js - checksum: a1068941dddf82ffdf572565b8b7b2cddb963ff9ddf97e6e28f50e843d820b4285e6def8f59170104a94e2a91ae2e3b326489886d77a57ea29d468f6a5e79bf9 + checksum: 94c9e3e592894cd6fc57c519f4e06b65463df9be5f01739bb0d0bfce7ffcf99b3c2fdadd44dc59cc858ba2739ce6e469813a941c2f2dfacf333a3b2c9c5c8465 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.24.4": + version: 7.24.4 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.24.4" + dependencies: + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-plugin-utils": ^7.24.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 0be3f41b1b865d7a4ed1a432337be48de67989d0b4e47def34a05097a804b6fc193115f97c954fd757339e0b80030ecf1d0a3d3fd6e7e91718644de0a5aae3d3 languageName: node linkType: hard @@ -900,14 +912,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-block-scoping@npm:7.24.1" +"@babel/plugin-transform-block-scoping@npm:^7.24.4": + version: 7.24.4 + resolution: "@babel/plugin-transform-block-scoping@npm:7.24.4" dependencies: "@babel/helper-plugin-utils": ^7.24.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 65423ee83dba4e84c357f34e0970a96d0f5e727fad327cc7bdb0e1492243eb9c72b95d3c649dc0b488b9b4774dadef5662fed0bf66717b59673ff6d4ffbd6441 + checksum: 5229ffe1c55744b96f791521e2876b01ed05c81df67488a7453ce66c2faceb9d1d653089ce6f0abf512752e15e9acac0e75a797a860f24e05b4d36497c7c3183 languageName: node linkType: hard @@ -923,16 +935,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-class-static-block@npm:7.24.1" +"@babel/plugin-transform-class-static-block@npm:^7.24.4": + version: 7.24.4 + resolution: "@babel/plugin-transform-class-static-block@npm:7.24.4" dependencies: - "@babel/helper-create-class-features-plugin": ^7.24.1 + "@babel/helper-create-class-features-plugin": ^7.24.4 "@babel/helper-plugin-utils": ^7.24.0 "@babel/plugin-syntax-class-static-block": ^7.14.5 peerDependencies: "@babel/core": ^7.12.0 - checksum: 253c627c11d9df79e3b32e78bfa1fe0dd1f91c3579da52bf73f76c83de53b140dcb1c9cc5f4c65ff1505754a01b59bc83987c35bcc8f89492b63dae46adef78f + checksum: 3b1db3308b57ba21d47772a9f183804234c23fd64c9ca40915d2d65c5dc7a48b49a6de16b8b90b7a354eacbb51232a862f0fca3dbd23e27d34641f511decddab languageName: node linkType: hard @@ -1494,16 +1506,16 @@ __metadata: linkType: hard "@babel/plugin-transform-typescript@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-typescript@npm:7.24.1" + version: 7.24.4 + resolution: "@babel/plugin-transform-typescript@npm:7.24.4" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 - "@babel/helper-create-class-features-plugin": ^7.24.1 + "@babel/helper-create-class-features-plugin": ^7.24.4 "@babel/helper-plugin-utils": ^7.24.0 "@babel/plugin-syntax-typescript": ^7.24.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 1a37fa55ab176b11c3763da4295651b3db38f0a7f3d47b5cd5ab1e33cbcbbf2b471c4bdb7b24f39392d4660409209621c8d11c521de2deffddc3d876a1b60482 + checksum: 57a9a776b1910c706d28972e4b056ced3af8fc59c29b2a6205c2bb2a408141ddb59a8f2f6041f8467a7b260942818767f4ecabb9f63adf7fddf2afa25e774dfc languageName: node linkType: hard @@ -1555,13 +1567,14 @@ __metadata: linkType: hard "@babel/preset-env@npm:^7.16.4, @babel/preset-env@npm:^7.19.4, @babel/preset-env@npm:^7.20.2": - version: 7.24.3 - resolution: "@babel/preset-env@npm:7.24.3" + version: 7.24.4 + resolution: "@babel/preset-env@npm:7.24.4" dependencies: - "@babel/compat-data": ^7.24.1 + "@babel/compat-data": ^7.24.4 "@babel/helper-compilation-targets": ^7.23.6 "@babel/helper-plugin-utils": ^7.24.0 "@babel/helper-validator-option": ^7.23.5 + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": ^7.24.4 "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.24.1 "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.24.1 "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": ^7.24.1 @@ -1588,9 +1601,9 @@ __metadata: "@babel/plugin-transform-async-generator-functions": ^7.24.3 "@babel/plugin-transform-async-to-generator": ^7.24.1 "@babel/plugin-transform-block-scoped-functions": ^7.24.1 - "@babel/plugin-transform-block-scoping": ^7.24.1 + "@babel/plugin-transform-block-scoping": ^7.24.4 "@babel/plugin-transform-class-properties": ^7.24.1 - "@babel/plugin-transform-class-static-block": ^7.24.1 + "@babel/plugin-transform-class-static-block": ^7.24.4 "@babel/plugin-transform-classes": ^7.24.1 "@babel/plugin-transform-computed-properties": ^7.24.1 "@babel/plugin-transform-destructuring": ^7.24.1 @@ -1640,7 +1653,7 @@ __metadata: semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4f3376444f938b3884fddd3cded86cfda97a1fb4bccc93b49fb4593a63f79d9b20e6fb0e1a0934736cea6205df3998c752b248c5f5ec398162fbe165c8e69c5c + checksum: 5a057a6463f92b02bfe66257d3f2c76878815bc7847f2a716b0539d9f547eae2a9d1f0fc62a5c0eff6ab0504bb52e815829ef893e4586b641f8dd6a609d114f3 languageName: node linkType: hard @@ -1696,11 +1709,11 @@ __metadata: linkType: hard "@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.10.4, @babel/runtime@npm:^7.11.1, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.16.7, @babel/runtime@npm:^7.18.0, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.0, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.22.5, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.23.6, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": - version: 7.24.1 - resolution: "@babel/runtime@npm:7.24.1" + version: 7.24.4 + resolution: "@babel/runtime@npm:7.24.4" dependencies: regenerator-runtime: ^0.14.0 - checksum: 5c8f3b912ba949865f03b3cf8395c60e1f4ebd1033fbd835bdfe81b6cac8a87d85bc3c7aded5fcdf07be044c9ab8c818f467abe0deca50020c72496782639572 + checksum: 2f27d4c0ffac7ae7999ac0385e1106f2a06992a8bdcbf3da06adcac7413863cd08c198c2e4e970041bbea849e17f02e1df18875539b6afba76c781b6b59a07c3 languageName: node linkType: hard @@ -1759,8 +1772,8 @@ __metadata: linkType: hard "@codemirror/autocomplete@npm:^6.0.0, @codemirror/autocomplete@npm:^6.11.1": - version: 6.15.0 - resolution: "@codemirror/autocomplete@npm:6.15.0" + version: 6.16.0 + resolution: "@codemirror/autocomplete@npm:6.16.0" dependencies: "@codemirror/language": ^6.0.0 "@codemirror/state": ^6.0.0 @@ -1771,7 +1784,7 @@ __metadata: "@codemirror/state": ^6.0.0 "@codemirror/view": ^6.0.0 "@lezer/common": ^1.0.0 - checksum: fce8d85e34a76d37a009c74d7d25c32a8cf12a9cbcff95211f96ff9afcb092e0d79e1f3b40425b4ea9b797579aaf64dd770ff2187ffabe2e5c9f44da23631363 + checksum: e33d3d8c961c03dc4a70d1ac6f01aee5362d778da9d873a8335aed47f7de9430eab083589736e7922464b941d5da23c51ab6af05400413a8d1a07604ffcb99f7 languageName: node linkType: hard @@ -1801,8 +1814,8 @@ __metadata: linkType: hard "@codemirror/lang-html@npm:^6.4.7": - version: 6.4.8 - resolution: "@codemirror/lang-html@npm:6.4.8" + version: 6.4.9 + resolution: "@codemirror/lang-html@npm:6.4.9" dependencies: "@codemirror/autocomplete": ^6.0.0 "@codemirror/lang-css": ^6.0.0 @@ -1813,7 +1826,7 @@ __metadata: "@lezer/common": ^1.0.0 "@lezer/css": ^1.1.0 "@lezer/html": ^1.3.0 - checksum: 9aec56c333cc06f9e4bb6d09806ae83e4a7f235a26b3244010e2dcea83a923cfcd7bec84904b8a59bc81256b0bb579a52bf5614962dad031d7577db1c49a216a + checksum: ac8c3ceb0396f2e032752c5079bd950124dca708bc64e96fc147dc5fe7133e5cee0814fe951abdb953ec1d11fa540e4b30a712b5149d9a36016a197a28de45d7 languageName: node linkType: hard @@ -1843,8 +1856,8 @@ __metadata: linkType: hard "@codemirror/lang-sql@npm:^6.5.4": - version: 6.6.1 - resolution: "@codemirror/lang-sql@npm:6.6.1" + version: 6.6.3 + resolution: "@codemirror/lang-sql@npm:6.6.3" dependencies: "@codemirror/autocomplete": ^6.0.0 "@codemirror/language": ^6.0.0 @@ -1852,7 +1865,7 @@ __metadata: "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.0.0 - checksum: 65f59b2a4477ddff27aba9435f4c3f1d236cbc03aa7c9cf3b2f70b8bbcd748c8883aae249efd9077fdbd9b23a9c0f046a29c945ffb0d8e6ef4e9ee9f61d35a88 + checksum: b8e554bda9107107283674a6397cdb4816ad8bb429afd739fdc5e0339ef60170f09bdd93e7dc3eaf7f24ffaec5c7477ee42af7c05cb471990657014fac2fea1e languageName: node linkType: hard @@ -1900,13 +1913,13 @@ __metadata: linkType: hard "@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0": - version: 6.26.0 - resolution: "@codemirror/view@npm:6.26.0" + version: 6.26.3 + resolution: "@codemirror/view@npm:6.26.3" dependencies: "@codemirror/state": ^6.4.0 style-mod: ^4.1.0 w3c-keyname: ^2.2.4 - checksum: 93c824334228d0ed81c0db8f58a627b69dad1300f4b64df6e19b487aa36cbd8bf624121092119fc09d49c290cd4e1c88680de62bd138a15f89570832f7addd80 + checksum: fdee35fb5e0bbba7b6f1a9b43a865880911bbfafd30360da5dda21b35f81ba2d080ff66b6c3d94dbe946b6b7ec98a76208786360b8f030ef10bcb054b816de05 languageName: node linkType: hard @@ -2462,46 +2475,46 @@ __metadata: languageName: node linkType: hard -"@fortawesome/fontawesome-common-types@npm:6.5.1": - version: 6.5.1 - resolution: "@fortawesome/fontawesome-common-types@npm:6.5.1" - checksum: c597062de8903aae591b652aa03b9b7aaa66e8c71e5950dc34a8b2812851a7f4ad743fba7396bab87d787c5359bb121496769a165bd3399d039dc214434f6f0c +"@fortawesome/fontawesome-common-types@npm:6.5.2": + version: 6.5.2 + resolution: "@fortawesome/fontawesome-common-types@npm:6.5.2" + checksum: 8164f3e16683db5125634a4fbf3db83a5a7366bb830111ffe8538e1b8f98f8fe6dc35609cf2c595a7d6840e27d3fb45b57faf7340e40e98f0d76207fe8f94e79 languageName: node linkType: hard "@fortawesome/fontawesome-svg-core@npm:^6.5.1": - version: 6.5.1 - resolution: "@fortawesome/fontawesome-svg-core@npm:6.5.1" + version: 6.5.2 + resolution: "@fortawesome/fontawesome-svg-core@npm:6.5.2" dependencies: - "@fortawesome/fontawesome-common-types": 6.5.1 - checksum: e17f995abe215d288163b2cd009f935c7f96bc896ab4ea7a75de72789d52a1275bd112eeb60cadd63bb20017a05ed765232157079bfb7efda7347a5614e04ce1 + "@fortawesome/fontawesome-common-types": 6.5.2 + checksum: f0c2a0800074c5bbc143631b9f3f818b94bd14b8590153058eecc9f548ae0ac78cfca61196880f9b3b79b5d5b5afdb140d05da75542da2087701614c9c043905 languageName: node linkType: hard "@fortawesome/free-brands-svg-icons@npm:^6.5.1": - version: 6.5.1 - resolution: "@fortawesome/free-brands-svg-icons@npm:6.5.1" + version: 6.5.2 + resolution: "@fortawesome/free-brands-svg-icons@npm:6.5.2" dependencies: - "@fortawesome/fontawesome-common-types": 6.5.1 - checksum: c29f8a9ad9886c0733d3616b5ea05b08b4943c1b5231c73f31a07e7df36c337e5a51cfe7cc610e623cb2b4a0607e3f82a8a3f46107c4347aa653784489672314 + "@fortawesome/fontawesome-common-types": 6.5.2 + checksum: f037c15978da40942e7962f3ddbddf767bc1a5a126952422c786408e4942f7da4daaefe028ba039b56761636903a5916b845547755a8e04e079c6f92e724fd37 languageName: node linkType: hard "@fortawesome/free-regular-svg-icons@npm:^6.5.1": - version: 6.5.1 - resolution: "@fortawesome/free-regular-svg-icons@npm:6.5.1" + version: 6.5.2 + resolution: "@fortawesome/free-regular-svg-icons@npm:6.5.2" dependencies: - "@fortawesome/fontawesome-common-types": 6.5.1 - checksum: c1809fae5f3bffff2f06d414f552e38acf385f79bb1b1a8e34b6b9c1138e9e6be7f8ed1503da0f72e225079138b8377f95f279d0079bb04ba8d3bfb3025ec512 + "@fortawesome/fontawesome-common-types": 6.5.2 + checksum: e5a6cf019e0252adbfc64d150c47beeb78c90f3d6173df75891a7fd3af45ce187412e498cb21e7d1b0818047febe9ff5a9896d0ca8c279eb5217cb4af63cc71d languageName: node linkType: hard "@fortawesome/free-solid-svg-icons@npm:^6.5.1": - version: 6.5.1 - resolution: "@fortawesome/free-solid-svg-icons@npm:6.5.1" + version: 6.5.2 + resolution: "@fortawesome/free-solid-svg-icons@npm:6.5.2" dependencies: - "@fortawesome/fontawesome-common-types": 6.5.1 - checksum: c544b8389bab4ab375d172feeb334d4a591bd7c594acdcc546b5197f2bcc80be22be119a03994dbe7f13d133c11b41c471b62c92dd318fbe0378202c43c09d7d + "@fortawesome/fontawesome-common-types": 6.5.2 + checksum: f23964434ccbab5114c05bcdabb79d8e801b5be534618db7947d40d4841a3e52177e6145ae5fe59c941d864f70ffcffd0f1e4f0983dfd0048a1f5f3430a00c8c languageName: node linkType: hard @@ -2705,25 +2718,6 @@ __metadata: languageName: node linkType: hard -"@gilbarbara/helpers@npm:^0.9.2": - version: 0.9.2 - resolution: "@gilbarbara/helpers@npm:0.9.2" - dependencies: - "@gilbarbara/types": ^0.2.2 - is-lite: ^1.2.1 - checksum: b6f92e5425bc39a6a7443ef4cc3be356c98e43fff003365f11441ff2564fb6c8db156a09bbccb6c9af47056e00db859ad7236cb1f3c27bbde31970fa01ff6f82 - languageName: node - linkType: hard - -"@gilbarbara/types@npm:^0.2.2": - version: 0.2.2 - resolution: "@gilbarbara/types@npm:0.2.2" - dependencies: - type-fest: ^4.1.0 - checksum: 0c348410efa59a653f0f4f9342950fce08bd86ccc600488fe81ae20b5c040675637569fa9eef9c36d9ed62932c2fa7a996a7ca54b5d40ecbf9738876e269d9d4 - languageName: node - linkType: hard - "@humanwhocodes/config-array@npm:^0.11.14": version: 0.11.14 resolution: "@humanwhocodes/config-array@npm:0.11.14" @@ -2743,9 +2737,9 @@ __metadata: linkType: hard "@humanwhocodes/object-schema@npm:^2.0.2": - version: 2.0.2 - resolution: "@humanwhocodes/object-schema@npm:2.0.2" - checksum: 2fc11503361b5fb4f14714c700c02a3f4c7c93e9acd6b87a29f62c522d90470f364d6161b03d1cc618b979f2ae02aed1106fd29d302695d8927e2fc8165ba8ee + version: 2.0.3 + resolution: "@humanwhocodes/object-schema@npm:2.0.3" + checksum: d3b78f6c5831888c6ecc899df0d03bcc25d46f3ad26a11d7ea52944dc36a35ef543fad965322174238d677a43d5c694434f6607532cff7077062513ad7022631 languageName: node linkType: hard @@ -3066,9 +3060,9 @@ __metadata: linkType: hard "@leichtgewicht/ip-codec@npm:^2.0.1": - version: 2.0.4 - resolution: "@leichtgewicht/ip-codec@npm:2.0.4" - checksum: 468de1f04d33de6d300892683d7c8aecbf96d1e2c5fe084f95f816e50a054d45b7c1ebfb141a1447d844b86a948733f6eebd92234da8581c84a1ad4de2946a2d + version: 2.0.5 + resolution: "@leichtgewicht/ip-codec@npm:2.0.5" + checksum: 4fcd025d0a923cb6b87b631a83436a693b255779c583158bbeacde6b4dd75b94cc1eba1c9c188de5fc36c218d160524ea08bfe4ef03a056b00ff14126d66f881 languageName: node linkType: hard @@ -3111,13 +3105,13 @@ __metadata: linkType: hard "@lezer/javascript@npm:^1.0.0": - version: 1.4.13 - resolution: "@lezer/javascript@npm:1.4.13" + version: 1.4.14 + resolution: "@lezer/javascript@npm:1.4.14" dependencies: "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.1.3 "@lezer/lr": ^1.3.0 - checksum: a5e4607fec7671dff66d1f3bfee5a5da7395982f1867e17ac4d8f2d8f223451fb18516ef2699340b148af112176a07e1fcba9e63c5f8397c12895dd0509113d6 + checksum: 4880026f72bcfcd13f204cc57f1469ba04597304ba79d1331048be1e2b0bcb879e9d4b7e57a6a273f38ac66385740b15a6edb4249ecfcc971b94804298399256 languageName: node linkType: hard @@ -3198,15 +3192,15 @@ __metadata: linkType: hard "@npmcli/agent@npm:^2.0.0": - version: 2.2.1 - resolution: "@npmcli/agent@npm:2.2.1" + version: 2.2.2 + resolution: "@npmcli/agent@npm:2.2.2" dependencies: agent-base: ^7.1.0 http-proxy-agent: ^7.0.0 https-proxy-agent: ^7.0.1 lru-cache: ^10.0.1 - socks-proxy-agent: ^8.0.1 - checksum: c69aca42dbba393f517bc5777ee872d38dc98ea0e5e93c1f6d62b82b8fecdc177a57ea045f07dda1a770c592384b2dd92a5e79e21e2a7cf51c9159466a8f9c9b + socks-proxy-agent: ^8.0.3 + checksum: 67de7b88cc627a79743c88bab35e023e23daf13831a8aa4e15f998b92f5507b644d8ffc3788afc8e64423c612e0785a6a92b74782ce368f49a6746084b50d874 languageName: node linkType: hard @@ -3492,8 +3486,8 @@ __metadata: linkType: hard "@rjsf/antd@npm:^5.15.1": - version: 5.17.1 - resolution: "@rjsf/antd@npm:5.17.1" + version: 5.18.2 + resolution: "@rjsf/antd@npm:5.18.2" dependencies: classnames: ^2.5.1 lodash: ^4.17.21 @@ -3501,18 +3495,18 @@ __metadata: rc-picker: ^2.7.6 peerDependencies: "@ant-design/icons": ^4.0.0 || ^5.0.0 - "@rjsf/core": ^5.16.x - "@rjsf/utils": ^5.16.x + "@rjsf/core": ^5.18.x + "@rjsf/utils": ^5.18.x antd: ^4.24.0 || ^5.8.5 dayjs: ^1.8.0 react: ^16.14.0 || >=17 - checksum: f5b0368007a06cf0430b8211a49bc0399d541c04c2f49cfb6da5ef24538f450af651d49684834c1be7a33213a627b6a088fb291629da642c4b0a86424b4c1824 + checksum: bef08fd4ee6585fbac5c9a4c7eab32a01c09ddebbae556a7ca4198c2a1f160d978d0b80d0d1b14964da245ecb537f0323a334b3c38aad3077a57e588167f760d languageName: node linkType: hard "@rjsf/core@npm:^5.15.1": - version: 5.17.1 - resolution: "@rjsf/core@npm:5.17.1" + version: 5.18.2 + resolution: "@rjsf/core@npm:5.18.2" dependencies: lodash: ^4.17.21 lodash-es: ^4.17.21 @@ -3520,15 +3514,15 @@ __metadata: nanoid: ^3.3.7 prop-types: ^15.8.1 peerDependencies: - "@rjsf/utils": ^5.16.x + "@rjsf/utils": ^5.18.x react: ^16.14.0 || >=17 - checksum: 2dead2886a4db152d259d3e85281c1fa5975eeac5f05c2840201ccc583ef1cf9d48c922cd404d515133e140eae7a8fca4aa63ccde0bcfe63d0b3fbe3cd621aed + checksum: b8b20bd75090b15b19e176aa766c037f3a7f1a27dbbde07ab095376a85e0027fd441b6e37355c8d3b389393db1f1b27699769034146040864c63a8f110d5e2d7 languageName: node linkType: hard "@rjsf/utils@npm:^5.15.1": - version: 5.17.1 - resolution: "@rjsf/utils@npm:5.17.1" + version: 5.18.2 + resolution: "@rjsf/utils@npm:5.18.2" dependencies: json-schema-merge-allof: ^0.8.1 jsonpointer: ^5.0.1 @@ -3537,21 +3531,21 @@ __metadata: react-is: ^18.2.0 peerDependencies: react: ^16.14.0 || >=17 - checksum: 83010de66b06f1046b023a0b7d0bf30b5f47b152893c3b12f1f42faa89e7c7d18b2f04fe2e9035e5f63454317f09e6d5753fc014d43b933c8023b71fc50c3acf + checksum: 19342ce160f5f2ff1b1448bc61b0767c9b19a3c365fe3dca221c9178dff6b54123bdfe9dd4b0314aa7965011edb0e76029f7e76226936066bfacbaaa619546b4 languageName: node linkType: hard "@rjsf/validator-ajv8@npm:^5.15.1": - version: 5.17.1 - resolution: "@rjsf/validator-ajv8@npm:5.17.1" + version: 5.18.2 + resolution: "@rjsf/validator-ajv8@npm:5.18.2" dependencies: ajv: ^8.12.0 ajv-formats: ^2.1.1 lodash: ^4.17.21 lodash-es: ^4.17.21 peerDependencies: - "@rjsf/utils": ^5.16.x - checksum: 6135960e979571839822bff2f62b37288e909ca760d363db1ea7056d96fd38d2e0ff9d70df1d8b2a7f6ffb38d37568354acd368e64c9c5dde69111456a46870d + "@rjsf/utils": ^5.18.x + checksum: 0ed953615b0619a376edfa95ccb891f1aa701e1915a09de562fb1c13a69a4902887359dcf68597f78ffc0a9be9c402c1488ef8ae552be8c8f48aeb7d59d3eae3 languageName: node linkType: hard @@ -3788,101 +3782,122 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.13.0" +"@rollup/rollup-android-arm-eabi@npm:4.14.3": + version: 4.14.3 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.14.3" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-android-arm64@npm:4.13.0" +"@rollup/rollup-android-arm64@npm:4.14.3": + version: 4.14.3 + resolution: "@rollup/rollup-android-arm64@npm:4.14.3" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-darwin-arm64@npm:4.13.0" +"@rollup/rollup-darwin-arm64@npm:4.14.3": + version: 4.14.3 + resolution: "@rollup/rollup-darwin-arm64@npm:4.14.3" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-darwin-x64@npm:4.13.0" +"@rollup/rollup-darwin-x64@npm:4.14.3": + version: 4.14.3 + resolution: "@rollup/rollup-darwin-x64@npm:4.14.3" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.13.0" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.14.3": + version: 4.14.3 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.14.3" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.13.0" +"@rollup/rollup-linux-arm-musleabihf@npm:4.14.3": + version: 4.14.3 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.14.3" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.14.3": + version: 4.14.3 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.14.3" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.13.0" +"@rollup/rollup-linux-arm64-musl@npm:4.14.3": + version: 4.14.3 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.14.3" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.13.0" +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.14.3": + version: 4.14.3 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.14.3" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.14.3": + version: 4.14.3 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.14.3" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.13.0" +"@rollup/rollup-linux-s390x-gnu@npm:4.14.3": + version: 4.14.3 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.14.3" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.14.3": + version: 4.14.3 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.14.3" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.13.0" +"@rollup/rollup-linux-x64-musl@npm:4.14.3": + version: 4.14.3 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.14.3" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.13.0" +"@rollup/rollup-win32-arm64-msvc@npm:4.14.3": + version: 4.14.3 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.14.3" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.13.0" +"@rollup/rollup-win32-ia32-msvc@npm:4.14.3": + version: 4.14.3 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.14.3" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.13.0": - version: 4.13.0 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.13.0" +"@rollup/rollup-win32-x64-msvc@npm:4.14.3": + version: 4.14.3 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.14.3" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@rushstack/eslint-patch@npm:^1.1.0": - version: 1.8.0 - resolution: "@rushstack/eslint-patch@npm:1.8.0" - checksum: 25ba5f5dc8828f9a5499045b28d33c642e3db7cd32b3e5f4fbfa5cc6695c28b3967981d662cf37df4e945ba7f874df9bd559c9b2770a1e7d3b5b36afb45246c3 + version: 1.10.2 + resolution: "@rushstack/eslint-patch@npm:1.10.2" + checksum: 2bac46e0f662c6b9c1f1d2268e4165a779331b9229eaeeb360852feaecdc5cb4adf8e1a36ac510b3545a83f83de702811b984afe26ec7d4a79e1c0ea708e2bfe languageName: node linkType: hard @@ -4247,8 +4262,8 @@ __metadata: linkType: hard "@testing-library/react@npm:^14.1.2": - version: 14.2.2 - resolution: "@testing-library/react@npm:14.2.2" + version: 14.3.1 + resolution: "@testing-library/react@npm:14.3.1" dependencies: "@babel/runtime": ^7.12.5 "@testing-library/dom": ^9.0.0 @@ -4256,7 +4271,7 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: cb73df588592d9101429f057eaa6f320fc12524d5eb2acc8a16002c1ee2d9422a49e44841003bba42974c9ae1ced6b134f0d647826eca42ab8f19e4592971b16 + checksum: b057d4c9db5a523acfc24d7bc4665a924ab8d6f252c7f51eecf7dd30f1239413e1134925fd5cc9cbdef80496af64c04e6719b2081f89fe05ba87e8c6305bcc16 languageName: node linkType: hard @@ -4428,12 +4443,12 @@ __metadata: linkType: hard "@types/eslint@npm:*": - version: 8.56.6 - resolution: "@types/eslint@npm:8.56.6" + version: 8.56.9 + resolution: "@types/eslint@npm:8.56.9" dependencies: "@types/estree": "*" "@types/json-schema": "*" - checksum: 960996940c8702c6e9bf221f2927f088d8f6463ad21ae1eb8260c62642ce48097a79a4277d99cb7cafde6939beadbd79610015fdd08b18679e565bcad5fcd36f + checksum: c0c033fc724774b791bf97465cfe246814eda1f82460aff2daa64dfce1b1a01626c75f4281d2ab10dcd9176446df0b4bf57e8ac542da6476902e28683e89137d languageName: node linkType: hard @@ -4452,14 +4467,14 @@ __metadata: linkType: hard "@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^4.17.33": - version: 4.17.43 - resolution: "@types/express-serve-static-core@npm:4.17.43" + version: 4.19.0 + resolution: "@types/express-serve-static-core@npm:4.19.0" dependencies: "@types/node": "*" "@types/qs": "*" "@types/range-parser": "*" "@types/send": "*" - checksum: 08e940cae52eb1388a7b5f61d65f028e783add77d1854243ae920a6a2dfb5febb6acaafbcf38be9d678b0411253b9bc325893c463a93302405f24135664ab1e4 + checksum: 39c09fcb3f61de96ed56d97273874cafe50e6675ac254af4d77014e569e4fdc29d1d0d1dd12e11f008cb9a52785b07c2801c6ba91397965392b20c75ee01fb4e languageName: node linkType: hard @@ -4642,13 +4657,6 @@ __metadata: languageName: node linkType: hard -"@types/mime@npm:*": - version: 3.0.4 - resolution: "@types/mime@npm:3.0.4" - checksum: a6139c8e1f705ef2b064d072f6edc01f3c099023ad7c4fce2afc6c2bf0231888202adadbdb48643e8e20da0ce409481a49922e737eca52871b3dc08017455843 - languageName: node - linkType: hard - "@types/mime@npm:^1": version: 1.3.5 resolution: "@types/mime@npm:1.3.5" @@ -4687,18 +4695,18 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 20.11.30 - resolution: "@types/node@npm:20.11.30" + version: 20.12.7 + resolution: "@types/node@npm:20.12.7" dependencies: undici-types: ~5.26.4 - checksum: 7597767aa3e44b0f1bf62efa522dd17741135f283c11de6a20ead8bb7016fb4999cc30adcd8f2bb29ebb216906c92894346ccd187de170927dc1e212d2c07c81 + checksum: 7cc979f7e2ca9a339ec71318c3901b9978555257929ef3666987f3e447123bc6dc92afcc89f6347e09e07d602fde7d51bcddea626c23aa2bb74aeaacfd1e1686 languageName: node linkType: hard "@types/node@npm:^16.7.13": - version: 16.18.91 - resolution: "@types/node@npm:16.18.91" - checksum: f5a85c90cf1fcedbeba9e1364cbc738cb8d6a67eee7912470d0d61174f6a70fa819ac53a1ca282689e623c47ea1a164171c22129f1e1e8741911f0009f2197d1 + version: 16.18.96 + resolution: "@types/node@npm:16.18.96" + checksum: c5b4c20868e1ecb2e3b975b37aeeb5790b3a4f1472b496fae779ac4f14ba4fb4c0e9ed8e9b6eb389e5a074371056130c9d6506705b144b4f6985ffa844556242 languageName: node linkType: hard @@ -4726,9 +4734,9 @@ __metadata: linkType: hard "@types/prop-types@npm:*, @types/prop-types@npm:^15.0.0": - version: 15.7.11 - resolution: "@types/prop-types@npm:15.7.11" - checksum: 7519ff11d06fbf6b275029fe03fff9ec377b4cb6e864cac34d87d7146c7f5a7560fd164bdc1d2dbe00b60c43713631251af1fd3d34d46c69cd354602bc0c7c54 + version: 15.7.12 + resolution: "@types/prop-types@npm:15.7.12" + checksum: ac16cc3d0a84431ffa5cfdf89579ad1e2269549f32ce0c769321fdd078f84db4fbe1b461ed5a1a496caf09e637c0e367d600c541435716a55b1d9713f5035dfe languageName: node linkType: hard @@ -4765,11 +4773,11 @@ __metadata: linkType: hard "@types/react-dom@npm:^18.0.0, @types/react-dom@npm:^18.2.18": - version: 18.2.22 - resolution: "@types/react-dom@npm:18.2.22" + version: 18.2.25 + resolution: "@types/react-dom@npm:18.2.25" dependencies: "@types/react": "*" - checksum: 83bb3ddcd7894f20a9a6cbc2befe75d8b76984734020c455b4c50cad625a4025250d8e1d247ef6264e484d47d5a94f2dd11f77c1dcac6a5de998cb447d85b720 + checksum: 85f9278d6456c6cdc76da6806a33b472588cdd029b08dde32e8b5636b25a3eae529b4ac2e08c848a3d7ca44e4e97ee9a3df406c96fa0768de935c8eed6e07590 languageName: node linkType: hard @@ -4853,23 +4861,22 @@ __metadata: linkType: hard "@types/react-virtualized@npm:^9.21.21": - version: 9.21.29 - resolution: "@types/react-virtualized@npm:9.21.29" + version: 9.21.30 + resolution: "@types/react-virtualized@npm:9.21.30" dependencies: "@types/prop-types": "*" "@types/react": "*" - checksum: df10e8847e20ac2b4bac647a9bfc027edbc73ff41e298024de7b8588e0d8e9b220ba7d65231fced9ca9eb5284a1d6a478ec934f950f33795baed586bd0e30ea0 + checksum: 3beb6bc5e0edc4831094a0911ca0a5bc6a53295a54aa530e376dc5af98fb7c51bb11e293c652d56cfbcd7049b6bee880569939960ac48ca4ac6d63983030818e languageName: node linkType: hard "@types/react@npm:^18": - version: 18.2.67 - resolution: "@types/react@npm:18.2.67" + version: 18.2.78 + resolution: "@types/react@npm:18.2.78" dependencies: "@types/prop-types": "*" - "@types/scheduler": "*" csstype: ^3.0.2 - checksum: 9e48122b0e8d0ae20601f613aca32289eeb94d55c58ff03a7dc532d80ed289a1ba9715f14b773bd926ccdd63e503717f14264143ef531dc370063abe09dee0b2 + checksum: f686d735707d46690d05ac76e8c8a619802ea6a4a8f2837981669f7dc13b6984751edc4994242afa3be279df15c67b72a5a658f02a7c5ca16f9a0b4878f1bf18 languageName: node linkType: hard @@ -4903,13 +4910,6 @@ __metadata: languageName: node linkType: hard -"@types/scheduler@npm:*": - version: 0.16.8 - resolution: "@types/scheduler@npm:0.16.8" - checksum: 6c091b096daa490093bf30dd7947cd28e5b2cd612ec93448432b33f724b162587fed9309a0acc104d97b69b1d49a0f3fc755a62282054d62975d53d7fd13472d - languageName: node - linkType: hard - "@types/semver@npm:^7.3.12": version: 7.5.8 resolution: "@types/semver@npm:7.5.8" @@ -4937,13 +4937,13 @@ __metadata: linkType: hard "@types/serve-static@npm:*, @types/serve-static@npm:^1.15.5": - version: 1.15.5 - resolution: "@types/serve-static@npm:1.15.5" + version: 1.15.7 + resolution: "@types/serve-static@npm:1.15.7" dependencies: "@types/http-errors": "*" - "@types/mime": "*" "@types/node": "*" - checksum: 0ff4b3703cf20ba89c9f9e345bc38417860a88e85863c8d6fe274a543220ab7f5f647d307c60a71bb57dc9559f0890a661e8dc771a6ec5ef195d91c8afc4a893 + "@types/send": "*" + checksum: bbbf00dbd84719da2250a462270dc68964006e8d62f41fe3741abd94504ba3688f420a49afb2b7478921a1544d3793183ffa097c5724167da777f4e0c7f1a7d6 languageName: node linkType: hard @@ -5648,12 +5648,12 @@ __metadata: languageName: node linkType: hard -"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0": - version: 7.1.0 - resolution: "agent-base@npm:7.1.0" +"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": + version: 7.1.1 + resolution: "agent-base@npm:7.1.1" dependencies: debug: ^4.3.4 - checksum: f7828f991470a0cc22cb579c86a18cbae83d8a3cbed39992ab34fc7217c4d126017f1c74d0ab66be87f71455318a8ea3e757d6a37881b8d0f2a2c6aa55e5418f + checksum: 51c158769c5c051482f9ca2e6e1ec085ac72b5a418a9b31b4e82fe6c0a6699adb94c1c42d246699a587b3335215037091c79e0de512c516f73b6ea844202f037 languageName: node linkType: hard @@ -5667,17 +5667,7 @@ __metadata: languageName: node linkType: hard -"agora-access-token@npm:^2.0.4": - version: 2.0.4 - resolution: "agora-access-token@npm:2.0.4" - dependencies: - crc-32: 1.2.0 - cuint: 0.2.2 - checksum: 7d91fa01c4ba085f70b8bdac9d296f8a5d29d2dc5a1c5cd995d4fe7bfb557cc3c5223bb0417065e89c584c0dbfaa7ddfdb4b689b0b8fc2459e77ad9d4ff0d52a - languageName: node - linkType: hard - -"agora-rtc-sdk-ng@npm:^4.19.0": +"agora-rtc-sdk-ng@npm:^4.20.2": version: 4.20.2 resolution: "agora-rtc-sdk-ng@npm:4.20.2" dependencies: @@ -5708,20 +5698,21 @@ __metadata: linkType: hard "ahooks@npm:^3.7.6": - version: 3.7.10 - resolution: "ahooks@npm:3.7.10" + version: 3.7.11 + resolution: "ahooks@npm:3.7.11" dependencies: "@babel/runtime": ^7.21.0 dayjs: ^1.9.1 intersection-observer: ^0.12.0 js-cookie: ^2.x.x lodash: ^4.17.21 + react-fast-compare: ^3.2.2 resize-observer-polyfill: ^1.5.1 screenfull: ^5.0.0 tslib: ^2.4.1 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 8b5a618a5745f39a9d40e689f8d52938276d03dfda9fcf6c57ff3dec13f7313cb70dc1b5a2d8ca8ddaec650e7045ce2b9bcab5e04f4ebeb41c4ff76318959cd8 + checksum: 290f78a27a25720060e0e4a0b15a772e58f8e02534a000fa60e8fa2e09958c2ec410d382c51e5d510e511a8563f67fdbbee3ffe20680bb2a34573691ba3dbafc languageName: node linkType: hard @@ -5871,8 +5862,8 @@ __metadata: linkType: hard "antd-mobile@npm:^5.34.0": - version: 5.34.0 - resolution: "antd-mobile@npm:5.34.0" + version: 5.35.0 + resolution: "antd-mobile@npm:5.35.0" dependencies: "@floating-ui/dom": ^1.4.2 "@rc-component/mini-decimal": ^1.1.0 @@ -5883,9 +5874,11 @@ __metadata: antd-mobile-v5-count: ^1.0.1 classnames: ^2.3.2 dayjs: ^1.11.7 - lodash: ^4.17.21 + deepmerge: ^4.3.1 + nano-memoize: ^3.0.16 rc-field-form: ~1.27.4 rc-util: ^5.38.1 + react-fast-compare: ^3.2.2 react-is: ^18.2.0 runes2: ^1.1.2 staged-components: ^1.1.3 @@ -5893,7 +5886,7 @@ __metadata: use-sync-external-store: ^1.2.0 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: b30dae9507a6e0ee2fb15dea9a1700a8a625668604d6656530ceaff178efb96d16674c86080456af51a3ac6ac9d6c78f1abc3d375e1bdf3ffb18464a91af527c + checksum: cd8eadff320bad28f2e0ff0de42f0320c42cdfdc73d1ebc2d0d262ad5a4d180acdc3751204c035b43dd0557d55b0fe6d68562175d6b073a7da5cb2f54f5d4815 languageName: node linkType: hard @@ -6867,9 +6860,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.30001587": - version: 1.0.30001599 - resolution: "caniuse-lite@npm:1.0.30001599" - checksum: d7e619e2e723547b7311ba0ca5134d9cd55df548e93dbedcf8a6e4ec74c7db91969c4272fb1ab2fd94cddeac6a8176ebf05853eb06689d5e76bb97d979a214b0 + version: 1.0.30001610 + resolution: "caniuse-lite@npm:1.0.30001610" + checksum: 580c7367aafd7e524f4e3f0e8b22ac08d081a4d44ceece211f1758e214df9a87961750fb1e1ee28a2cd2830f0daf3edafe5e1d87bf1eefbbe7c6cf3d00e2979d languageName: node linkType: hard @@ -7105,19 +7098,19 @@ __metadata: languageName: node linkType: hard -"cnchar-types@npm:^3.2.5": - version: 3.2.5 - resolution: "cnchar-types@npm:3.2.5" - checksum: fbbe186b03c20c50499d37027ae3fbeea695d4f2bd6144baf55a35e890f892ae59d17e1b6918c13addf5f134c8e28dba490a2ad2a2f79cf0eb542b0b3c3343cb +"cnchar-types@npm:^3.2.6": + version: 3.2.6 + resolution: "cnchar-types@npm:3.2.6" + checksum: 4e9bb0d321ca1c57e4f1655294afb1a9ce0194c1d4fa41b3df134be27e513edd3cece26a85847271bff08ac83d9142059b548da85766e0ec7ed72c7a7f98b5d6 languageName: node linkType: hard "cnchar@npm:^3.2.4": - version: 3.2.5 - resolution: "cnchar@npm:3.2.5" + version: 3.2.6 + resolution: "cnchar@npm:3.2.6" dependencies: - cnchar-types: ^3.2.5 - checksum: b12317386642a04b41f791631d7af25cfaa9251572083b102c684a786ac280c61dedcfab31e870acaa1be4498580f1794725ff965c40e9e2fe1fcfde99ef6e1b + cnchar-types: ^3.2.6 + checksum: e51be217e33925662f612f239c9d352bb87c076988ec737b0ff42cfba8ef0704d7ff6271ceb1dda2ad6b631e0e410ac71f1242eac994adb5f2d5dfb19c4d014a languageName: node linkType: hard @@ -7508,25 +7501,6 @@ __metadata: languageName: node linkType: hard -"countup.js@npm:^2.8.0": - version: 2.8.0 - resolution: "countup.js@npm:2.8.0" - checksum: bfded0c6051b79be5f07c097f97bc39f29e95b92b01077fc214ee118b0afbc53988b3a491e2319ea7a1896014a9cda52f150722ccce9afd677faea5ade1274dd - languageName: node - linkType: hard - -"crc-32@npm:1.2.0": - version: 1.2.0 - resolution: "crc-32@npm:1.2.0" - dependencies: - exit-on-epipe: ~1.0.1 - printj: ~1.1.0 - bin: - crc32: ./bin/crc32.njs - checksum: 7bcde8bea262f6629ac3c70e20bdfa3d058dc77091705ce8620513f76f19b41fc273ddd65a716eef9b4e33fbb61ff7f9b266653d214319aef27e4223789c6b9e - languageName: node - linkType: hard - "crc-32@npm:~1.2.0, crc-32@npm:~1.2.1": version: 1.2.2 resolution: "crc-32@npm:1.2.2" @@ -7653,14 +7627,14 @@ __metadata: linkType: hard "css-loader@npm:^6.10.0": - version: 6.10.0 - resolution: "css-loader@npm:6.10.0" + version: 6.11.0 + resolution: "css-loader@npm:6.11.0" dependencies: icss-utils: ^5.1.0 postcss: ^8.4.33 - postcss-modules-extract-imports: ^3.0.0 - postcss-modules-local-by-default: ^4.0.4 - postcss-modules-scope: ^3.1.1 + postcss-modules-extract-imports: ^3.1.0 + postcss-modules-local-by-default: ^4.0.5 + postcss-modules-scope: ^3.2.0 postcss-modules-values: ^4.0.0 postcss-value-parser: ^4.2.0 semver: ^7.5.4 @@ -7672,7 +7646,7 @@ __metadata: optional: true webpack: optional: true - checksum: ee3d62b5f7e4eb24281a22506431e920d07a45bd6ea627731ce583f3c6a846ab8b8b703bace599b9b35256b9e762f9f326d969abb72b69c7e6055eacf39074fd + checksum: 5c8d35975a7121334905394e88e28f05df72f037dbed2fb8fec4be5f0b313ae73a13894ba791867d4a4190c35896da84a7fd0c54fb426db55d85ba5e714edbe3 languageName: node linkType: hard @@ -7835,13 +7809,6 @@ __metadata: languageName: node linkType: hard -"cuint@npm:0.2.2": - version: 0.2.2 - resolution: "cuint@npm:0.2.2" - checksum: b8127a93a7f16ce120ffcb22108014327c9808b258ee20e7dbb4c6740d7cb0f0c12d18a054eb716b0f2470090666abaae8a082d3cd5ef0e94fa447dd155842c4 - languageName: node - linkType: hard - "cytoscape-cose-bilkent@npm:^4.1.0": version: 4.1.0 resolution: "cytoscape-cose-bilkent@npm:4.1.0" @@ -8395,14 +8362,14 @@ __metadata: linkType: hard "dedent@npm:^1.0.0": - version: 1.5.1 - resolution: "dedent@npm:1.5.1" + version: 1.5.3 + resolution: "dedent@npm:1.5.3" peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: babel-plugin-macros: optional: true - checksum: c3c300a14edf1bdf5a873f9e4b22e839d62490bc5c8d6169c1f15858a1a76733d06a9a56930e963d677a2ceeca4b6b0894cc5ea2f501aa382ca5b92af3413c2a + checksum: 045b595557b2a8ea2eb9b0b4623d764e9a87326486fe2b61191b4342ed93dc01245644d8a09f3108a50c0ee7965f1eedd92e4a3a503ed89ea8e810566ea27f9a languageName: node linkType: hard @@ -8764,9 +8731,9 @@ __metadata: linkType: hard "dompurify@npm:^3.0.5": - version: 3.0.11 - resolution: "dompurify@npm:3.0.11" - checksum: aefb86fbaa2cc6acda1a75ea918f69043689cb726f2932e5c1c3c85904255fd145230d66f0a9493ed27d64d035e990f3a767d99d73b1ae7c0b297782be230658 + version: 3.1.0 + resolution: "dompurify@npm:3.1.0" + checksum: 06fc76607cd076e394b2ea5479ab6f0407b8fedb6877ae95e94207b878365e5e1cd914055dacce152a5f419818afb8d4cd284b780246cf35363f0747c179a0ba languageName: node linkType: hard @@ -8874,20 +8841,20 @@ __metadata: linkType: hard "ejs@npm:^3.1.6": - version: 3.1.9 - resolution: "ejs@npm:3.1.9" + version: 3.1.10 + resolution: "ejs@npm:3.1.10" dependencies: jake: ^10.8.5 bin: ejs: bin/cli.js - checksum: af6f10eb815885ff8a8cfacc42c6b6cf87daf97a4884f87a30e0c3271fedd85d76a3a297d9c33a70e735b97ee632887f85e32854b9cdd3a2d97edf931519a35f + checksum: ce90637e9c7538663ae023b8a7a380b2ef7cc4096de70be85abf5a3b9641912dde65353211d05e24d56b1f242d71185c6d00e02cb8860701d571786d92c71f05 languageName: node linkType: hard "electron-to-chromium@npm:^1.4.668": - version: 1.4.713 - resolution: "electron-to-chromium@npm:1.4.713" - checksum: cffeff470a73c47763463fdc8f58854544102b572afe417defca6f511fa88dbe7e0b1720f0e64cf0cf92053aa3b086f5de24899a68a12a346f6b9b74ff1c0768 + version: 1.4.736 + resolution: "electron-to-chromium@npm:1.4.736" + checksum: dcba6d43ffbc40e5d3decb3a0de67b9721a257fefde4eceac0d75202029c62ace7b377d217f49d1ba9cfbad61f89a14514e85a4de77b7205cee336f2e1f0baee languageName: node linkType: hard @@ -9001,11 +8968,11 @@ __metadata: linkType: hard "envinfo@npm:^7.7.3": - version: 7.11.1 - resolution: "envinfo@npm:7.11.1" + version: 7.12.0 + resolution: "envinfo@npm:7.12.0" bin: envinfo: dist/cli.js - checksum: f3d38ab6bc62388466e86e2f5665f90f238ca349c81bb36b311d908cb5ca96650569b43b308c9dcb6725a222693f6c43a704794e74a68fb445ec5575a90ca05e + checksum: 4c83a55768cf8b7e553155c29e7fa7bbdb0fb2c1156208efc373fc030045c6aca5e8e642e96027d3eb0c752156922ea3fca6183d9e13f38507f0e02ec82c23a1 languageName: node linkType: hard @@ -9046,8 +9013,8 @@ __metadata: linkType: hard "es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2": - version: 1.23.2 - resolution: "es-abstract@npm:1.23.2" + version: 1.23.3 + resolution: "es-abstract@npm:1.23.3" dependencies: array-buffer-byte-length: ^1.0.1 arraybuffer.prototype.slice: ^1.0.3 @@ -9088,14 +9055,14 @@ __metadata: safe-regex-test: ^1.0.3 string.prototype.trim: ^1.2.9 string.prototype.trimend: ^1.0.8 - string.prototype.trimstart: ^1.0.7 + string.prototype.trimstart: ^1.0.8 typed-array-buffer: ^1.0.2 typed-array-byte-length: ^1.0.1 typed-array-byte-offset: ^1.0.2 - typed-array-length: ^1.0.5 + typed-array-length: ^1.0.6 unbox-primitive: ^1.0.2 which-typed-array: ^1.1.15 - checksum: cc6410cb58ba90e3f0f84d83297c372ca545017b94e50fd0020119e82b26f0dbf9885c72335f0063b93669393c505712c6fe82bef7ae4d3d29d770c0dbfb1340 + checksum: f840cf161224252512f9527306b57117192696571e07920f777cb893454e32999206198b4f075516112af6459daca282826d1735c450528470356d09eff3a9ae languageName: node linkType: hard @@ -9155,9 +9122,9 @@ __metadata: linkType: hard "es-module-lexer@npm:^1.2.1": - version: 1.4.2 - resolution: "es-module-lexer@npm:1.4.2" - checksum: f4cfb9e1227f63c786d1c861a086cad477d2b9b29128b343d20e34ae775341a62f62cea0119976a1db58908c99f50a469ef9f3ec0529de012c6d780b41456912 + version: 1.5.0 + resolution: "es-module-lexer@npm:1.5.0" + checksum: adbe0772701e226b4b853f758fd89c0bbfe8357ab93babde7b1cdb4f88c3a31460c908cbe578817e241d116cc4fcf569f7c6f29c4fbfa0aadb0def90f1ad4dd2 languageName: node linkType: hard @@ -9900,13 +9867,6 @@ __metadata: languageName: node linkType: hard -"exit-on-epipe@npm:~1.0.1": - version: 1.0.1 - resolution: "exit-on-epipe@npm:1.0.1" - checksum: e8ab4940416d19f311b3c9226e3725c6c4c6026fe682266ecc0ff33a455d585fe3e4ee757857c7bf1d0491b478cb232b8e395dfb438e65ac87317eda47304c32 - languageName: node - linkType: hard - "exit@npm:^0.1.2": version: 0.1.2 resolution: "exit@npm:0.1.2" @@ -10254,13 +10214,6 @@ __metadata: languageName: node linkType: hard -"flag-icons@npm:^7.2.1": - version: 7.2.1 - resolution: "flag-icons@npm:7.2.1" - checksum: c24a71a1e830860625b60f4a0d16dff51dcc5e6849aeacb93e44bb0cd1553f5ba7d07fdfbb35ea3e297ddb300ca4bdb6a8499c396e25882c8ed38a942dc922cc - languageName: node - linkType: hard - "flat-cache@npm:^3.0.4": version: 3.2.0 resolution: "flat-cache@npm:3.2.0" @@ -10597,17 +10550,17 @@ __metadata: linkType: hard "glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.7": - version: 10.3.10 - resolution: "glob@npm:10.3.10" + version: 10.3.12 + resolution: "glob@npm:10.3.12" dependencies: foreground-child: ^3.1.0 - jackspeak: ^2.3.5 + jackspeak: ^2.3.6 minimatch: ^9.0.1 - minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 - path-scurry: ^1.10.1 + minipass: ^7.0.4 + path-scurry: ^1.10.2 bin: glob: dist/esm/bin.mjs - checksum: 4f2fe2511e157b5a3f525a54092169a5f92405f24d2aed3142f4411df328baca13059f4182f1db1bf933e2c69c0bd89e57ae87edd8950cba8c7ccbe84f721cf3 + checksum: 2b0949d6363021aaa561b108ac317bf5a97271b8a5d7a5fac1a176e40e8068ecdcccc992f8a7e958593d501103ac06d673de92adc1efcbdab45edefe35f8d7c6 languageName: node linkType: hard @@ -11761,13 +11714,6 @@ __metadata: languageName: node linkType: hard -"is-plain-object@npm:^5.0.0": - version: 5.0.0 - resolution: "is-plain-object@npm:5.0.0" - checksum: e32d27061eef62c0847d303125440a38660517e586f2f3db7c9d179ae5b6674ab0f469d519b2e25c147a1a3bc87156d0d5f4d8821e0ce4a9ee7fe1fcf11ce45c - languageName: node - linkType: hard - "is-potential-custom-element-name@npm:^1.0.1": version: 1.0.1 resolution: "is-potential-custom-element-name@npm:1.0.1" @@ -12066,7 +12012,7 @@ __metadata: languageName: node linkType: hard -"jackspeak@npm:^2.3.5": +"jackspeak@npm:^2.3.6": version: 2.3.6 resolution: "jackspeak@npm:2.3.6" dependencies: @@ -12894,13 +12840,13 @@ __metadata: linkType: hard "katex@npm:^0.16.9": - version: 0.16.9 - resolution: "katex@npm:0.16.9" + version: 0.16.10 + resolution: "katex@npm:0.16.10" dependencies: commander: ^8.3.0 bin: katex: cli.js - checksum: 861194dfd4d86505e657f688fb73048d46ac498edafce71199502a35b03c0ecc35ba930c631be79c4a09d90a0d23476673cd52f6bc367c7a161854d64005fa95 + checksum: 108e9d810e17840c43eef8d46171096f4cc97852bfd1e2dd1890d9b3435846816e3e98678a31d38bd064eb97eea83b18ff224cb65d5f9511b54ce7ff4359b591 languageName: node linkType: hard @@ -13431,6 +13377,8 @@ __metadata: "@fullcalendar/timeline": ^6.1.6 "@types/react": ^18.2.45 "@types/react-dom": ^18.2.18 + agora-rtc-sdk-ng: ^4.20.2 + agora-rtm-sdk: ^1.5.1 big.js: ^6.2.1 echarts-extension-gmap: ^1.6.0 echarts-wordcloud: ^2.1.0 @@ -13553,7 +13501,6 @@ __metadata: babel-jest: ^29.3.0 babel-preset-react-app: ^10.0.1 chalk: 4 - flag-icons: ^7.2.1 husky: ^8.0.1 jest: ^29.5.0 jest-canvas-mock: ^2.5.2 @@ -13563,7 +13510,6 @@ __metadata: mq-polyfill: ^1.1.8 number-precision: ^1.6.0 prettier: ^3.1.0 - react-countup: ^6.5.3 react-player: ^2.11.0 resize-observer-polyfill: ^1.5.1 rimraf: ^3.0.2 @@ -13686,9 +13632,6 @@ __metadata: "@types/regenerator-runtime": ^0.13.1 "@types/uuid": ^8.3.4 "@vitejs/plugin-react": ^2.2.0 - agora-access-token: ^2.0.4 - agora-rtc-sdk-ng: ^4.19.0 - agora-rtm-sdk: ^1.5.1 antd: 5.13.2 axios: ^1.6.2 buffer: ^6.0.3 @@ -13778,7 +13721,7 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.0.1, lru-cache@npm:^9.1.1 || ^10.0.0": +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": version: 10.2.0 resolution: "lru-cache@npm:10.2.0" checksum: eee7ddda4a7475deac51ac81d7dd78709095c6fa46e8350dc2d22462559a1faa3b81ed931d5464b13d48cbd7e08b46100b6f768c76833912bc444b99c37e25db @@ -13863,11 +13806,11 @@ __metadata: linkType: hard "magic-string@npm:^0.30.1, magic-string@npm:^0.30.2, magic-string@npm:^0.30.3": - version: 0.30.8 - resolution: "magic-string@npm:0.30.8" + version: 0.30.9 + resolution: "magic-string@npm:0.30.9" dependencies: "@jridgewell/sourcemap-codec": ^1.4.15 - checksum: 79922f4500d3932bb587a04440d98d040170decf432edc0f91c0bf8d41db16d364189bf800e334170ac740918feda62cd39dcc170c337dc18050cfcf00a5f232 + checksum: a97b9a706b39e9569781dcb662b15ab085ca3af8b916cd69d8485e8565108917c17e4eb03b6b1013389387d827bb3025711ebeafe237f742bc95a90708416147 languageName: node linkType: hard @@ -13935,11 +13878,11 @@ __metadata: linkType: hard "markdown-to-jsx@npm:^7.4.1": - version: 7.4.4 - resolution: "markdown-to-jsx@npm:7.4.4" + version: 7.4.7 + resolution: "markdown-to-jsx@npm:7.4.7" peerDependencies: react: ">= 0.14.0" - checksum: a901e68a4cf258095133b659a52b35dc7b8025706d74cb363831c664cf0c948d06098b6327dd956f0f429e31d8c7f2a272a39d16c9b370072d1012557f2ade41 + checksum: bb8a696c8a95dd67ac1eb44255f31cf17e60b6c2ff03bfcd51b5e28da17856c57d7a16da59fda7f3a4eedb01d7e92eeef57a10ff3abd5431e5c80059d4565016 languageName: node linkType: hard @@ -14147,11 +14090,11 @@ __metadata: linkType: hard "memfs@npm:^4.6.0": - version: 4.8.0 - resolution: "memfs@npm:4.8.0" + version: 4.8.2 + resolution: "memfs@npm:4.8.2" dependencies: tslib: ^2.0.0 - checksum: ac371aad4eb51d1ffaec497e9557d8892cfc910a5bc4fd3e32749c002dca71665e8cf5fe91cc381fff4f38df1df53750ea446cb522eff39f2c59dc5d7fafb14d + checksum: ffbc79e89542c57ccdd83f906252313a8354fb050bab6500728a60a321ca2f090e70145c324ff1540b27272a34ff5049b2790e7d5a9af9ec4505fffeca19db8f languageName: node linkType: hard @@ -14676,11 +14619,11 @@ __metadata: linkType: hard "minimatch@npm:^9.0.1": - version: 9.0.3 - resolution: "minimatch@npm:9.0.3" + version: 9.0.4 + resolution: "minimatch@npm:9.0.4" dependencies: brace-expansion: ^2.0.1 - checksum: 253487976bf485b612f16bf57463520a14f512662e592e95c571afdab1442a6a6864b6c88f248ce6fc4ff0b6de04ac7aa6c8bb51e868e99d1d65eb0658a708b5 + checksum: cf717f597ec3eed7dabc33153482a2e8d49f4fd3c26e58fd9c71a94c5029a0838728841b93f46bf1263b65a8010e2ee800d0dc9b004ab8ba8b6d1ec07cc115b5 languageName: node linkType: hard @@ -14758,7 +14701,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3": +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4": version: 7.0.4 resolution: "minipass@npm:7.0.4" checksum: 87585e258b9488caf2e7acea242fd7856bbe9a2c84a7807643513a338d66f368c7d518200ad7b70a508664d408aa000517647b2930c259a8b1f9f0984f344a21 @@ -14884,6 +14827,13 @@ __metadata: languageName: node linkType: hard +"nano-memoize@npm:^3.0.16": + version: 3.0.16 + resolution: "nano-memoize@npm:3.0.16" + checksum: b3ed15450f842eeb08fdf434f3ebbfd5a7da07124f1c77428116c1b88eb42a8f973289d7b17fbd20eec3356b39de3d37d574167e4e0a00977d06a2e616a1bea0 + languageName: node + linkType: hard + "nanoid@npm:^3.3.6, nanoid@npm:^3.3.7": version: 3.3.7 resolution: "nanoid@npm:3.3.7" @@ -14972,8 +14922,8 @@ __metadata: linkType: hard "node-gyp@npm:latest": - version: 10.0.1 - resolution: "node-gyp@npm:10.0.1" + version: 10.1.0 + resolution: "node-gyp@npm:10.1.0" dependencies: env-paths: ^2.2.0 exponential-backoff: ^3.1.1 @@ -14987,7 +14937,7 @@ __metadata: which: ^4.0.0 bin: node-gyp: bin/node-gyp.js - checksum: 60a74e66d364903ce02049966303a57f898521d139860ac82744a5fdd9f7b7b3b61f75f284f3bfe6e6add3b8f1871ce305a1d41f775c7482de837b50c792223f + checksum: 72e2ab4b23fc32007a763da94018f58069fc0694bf36115d49a2b195c8831e12cf5dd1e7a3718fa85c06969aedf8fc126722d3b672ec1cb27e06ed33caee3c60 languageName: node linkType: hard @@ -15075,11 +15025,11 @@ __metadata: linkType: hard "numbro@npm:^2.3.6": - version: 2.4.0 - resolution: "numbro@npm:2.4.0" + version: 2.5.0 + resolution: "numbro@npm:2.5.0" dependencies: bignumber.js: ^8 || ^9 - checksum: 25400b2dea487ab9033964e15ea2027b4dc32da21f473c04f68dfc23a96ecb9d5c0684af4e817454bced02b69ade790a379307af5c5820d26fb6abc65cb1ffe1 + checksum: 0d0b228eeb6525c4557c273bb860f1425af53289f3be054ad768576ed83060552ae6e14a0d47debb8c7ce9ecf25685e34f1fd30ead7275948af85f94ecdca595 languageName: node linkType: hard @@ -15193,12 +15143,13 @@ __metadata: linkType: hard "object.hasown@npm:^1.1.3": - version: 1.1.3 - resolution: "object.hasown@npm:1.1.3" + version: 1.1.4 + resolution: "object.hasown@npm:1.1.4" dependencies: - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: 76bc17356f6124542fb47e5d0e78d531eafa4bba3fc2d6fc4b1a8ce8b6878912366c0d99f37ce5c84ada8fd79df7aa6ea1214fddf721f43e093ad2df51f27da1 + define-properties: ^1.2.1 + es-abstract: ^1.23.2 + es-object-atoms: ^1.0.0 + checksum: bc46eb5ca22106fcd07aab1411508c2c68b7565fe8fb272f166fb9bf203972e8b5c86a5a4b2c86204beead0626a7a4119d32cefbaf7c5dd57b400bf9e6363cb6 languageName: node linkType: hard @@ -15566,13 +15517,13 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.10.1": - version: 1.10.1 - resolution: "path-scurry@npm:1.10.1" +"path-scurry@npm:^1.10.2": + version: 1.10.2 + resolution: "path-scurry@npm:1.10.2" dependencies: - lru-cache: ^9.1.1 || ^10.0.0 + lru-cache: ^10.2.0 minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 - checksum: e2557cff3a8fb8bc07afdd6ab163a92587884f9969b05bbbaf6fe7379348bfb09af9ed292af12ed32398b15fb443e81692047b786d1eeb6d898a51eb17ed7d90 + checksum: 6739b4290f7d1a949c61c758b481c07ac7d1a841964c68cf5e1fa153d7e18cbde4872b37aadf9c5173c800d627f219c47945859159de36c977dd82419997b9b8 languageName: node linkType: hard @@ -15709,36 +15660,36 @@ __metadata: languageName: node linkType: hard -"postcss-modules-extract-imports@npm:^3.0.0": - version: 3.0.0 - resolution: "postcss-modules-extract-imports@npm:3.0.0" +"postcss-modules-extract-imports@npm:^3.1.0": + version: 3.1.0 + resolution: "postcss-modules-extract-imports@npm:3.1.0" peerDependencies: postcss: ^8.1.0 - checksum: 4b65f2f1382d89c4bc3c0a1bdc5942f52f3cb19c110c57bd591ffab3a5fee03fcf831604168205b0c1b631a3dce2255c70b61aaae3ef39d69cd7eb450c2552d2 + checksum: b9192e0f4fb3d19431558be6f8af7ca45fc92baaad9b2778d1732a5880cd25c3df2074ce5484ae491e224f0d21345ffc2d419bd51c25b019af76d7a7af88c17f languageName: node linkType: hard -"postcss-modules-local-by-default@npm:^4.0.4": - version: 4.0.4 - resolution: "postcss-modules-local-by-default@npm:4.0.4" +"postcss-modules-local-by-default@npm:^4.0.5": + version: 4.0.5 + resolution: "postcss-modules-local-by-default@npm:4.0.5" dependencies: icss-utils: ^5.0.0 postcss-selector-parser: ^6.0.2 postcss-value-parser: ^4.1.0 peerDependencies: postcss: ^8.1.0 - checksum: 578b955b0773147890caa88c30b10dfc849c5b1412a47ad51751890dba16fca9528c3ab00a19b186a8c2c150c2d08e2ce64d3d907800afee1f37c6d38252e365 + checksum: ca9b01f4a0a3dfb33e016299e2dfb7e85c3123292f7aec2efc0c6771b9955648598bfb4c1561f7ee9732fb27fb073681233661b32eef98baab43743f96735452 languageName: node linkType: hard -"postcss-modules-scope@npm:^3.1.1": - version: 3.1.1 - resolution: "postcss-modules-scope@npm:3.1.1" +"postcss-modules-scope@npm:^3.2.0": + version: 3.2.0 + resolution: "postcss-modules-scope@npm:3.2.0" dependencies: postcss-selector-parser: ^6.0.4 peerDependencies: postcss: ^8.1.0 - checksum: 9e9d23abb0babc7fa243be65704d72a5a9ceb2bded4dbaef96a88210d468b03c8c3158c197f4e22300c851f08c6fdddd6ebe65f44e4c34448b45b8a2e063a16d + checksum: 2ffe7e98c1fa993192a39c8dd8ade93fc4f59fbd1336ce34fcedaee0ee3bafb29e2e23fb49189256895b30e4f21af661c6a6a16ef7b17ae2c859301e4a4459ae languageName: node linkType: hard @@ -15781,7 +15732,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.27, postcss@npm:^8.4.33, postcss@npm:^8.4.36": +"postcss@npm:^8.4.27, postcss@npm:^8.4.33, postcss@npm:^8.4.38": version: 8.4.38 resolution: "postcss@npm:8.4.38" dependencies: @@ -15844,15 +15795,6 @@ __metadata: languageName: node linkType: hard -"printj@npm:~1.1.0": - version: 1.1.2 - resolution: "printj@npm:1.1.2" - bin: - printj: ./bin/printj.njs - checksum: 1c0c66844545415e339356ad62009cdc467819817b1e0341aba428087a1414d46b84089edb4e77ef24705829f8aae6349724b9c7bd89d8690302b2de7a89b315 - languageName: node - linkType: hard - "proc-log@npm:^3.0.0": version: 3.0.0 resolution: "proc-log@npm:3.0.0" @@ -15915,9 +15857,9 @@ __metadata: linkType: hard "property-information@npm:^6.0.0": - version: 6.4.1 - resolution: "property-information@npm:6.4.1" - checksum: d9eece5f14b6fea9e6a1fa65fba88554956a58825eb9a5c8327bffee06bcc265117eaeae901871e8e8a5caec8d5e05ce39ab6872d5cef3b49a6f07815b6ef285 + version: 6.5.0 + resolution: "property-information@npm:6.5.0" + checksum: 6e55664e2f64083b715011e5bafaa1e694faf36986c235b0907e95d09259cc37c38382e3cc94a4c3f56366e05336443db12c8a0f0968a8c0a1b1416eebfc8f53 languageName: node linkType: hard @@ -16405,8 +16347,8 @@ __metadata: linkType: hard "rc-picker@npm:~3.14.6": - version: 3.14.6 - resolution: "rc-picker@npm:3.14.6" + version: 3.14.7 + resolution: "rc-picker@npm:3.14.7" dependencies: "@babel/runtime": ^7.10.1 "@rc-component/trigger": ^1.5.0 @@ -16428,7 +16370,7 @@ __metadata: optional: true moment: optional: true - checksum: e87914c6ffbbcf760b56080d8bf504cf9323885378a6769abcf9a62bb1325f7a9d534c065a683ab1d30269a26a81ce11a008d01aacc800359e3c7a4fbda66e17 + checksum: c6e8cd6f330dd05c736b59bdfae599a76068bf2a6ab4afe121b39f53653622e40929032fa3381ad59152b308a6d5fafdeecffe580bb4c9c3413776203fc99188 languageName: node linkType: hard @@ -16727,17 +16669,6 @@ __metadata: languageName: node linkType: hard -"react-countup@npm:^6.5.3": - version: 6.5.3 - resolution: "react-countup@npm:6.5.3" - dependencies: - countup.js: ^2.8.0 - peerDependencies: - react: ">= 16.3.0" - checksum: c9a9776737a469e68beb035b81334879bac2e7d8edb1721f97d115d7b88e87d6ad62fc99083e329650b4416fe33d85b33211719afd531b83399e12d7ded25f89 - languageName: node - linkType: hard - "react-documents@npm:^1.2.1": version: 1.2.1 resolution: "react-documents@npm:1.2.1" @@ -16775,7 +16706,7 @@ __metadata: languageName: node linkType: hard -"react-fast-compare@npm:^3.0.1, react-fast-compare@npm:^3.1.1": +"react-fast-compare@npm:^3.0.1, react-fast-compare@npm:^3.1.1, react-fast-compare@npm:^3.2.2": version: 3.2.2 resolution: "react-fast-compare@npm:3.2.2" checksum: 2071415b4f76a3e6b55c84611c4d24dcb12ffc85811a2840b5a3f1ff2d1a99be1020d9437ee7c6e024c9f4cbb84ceb35e48cf84f28fcb00265ad2dfdd3947704 @@ -16872,11 +16803,10 @@ __metadata: linkType: hard "react-joyride@npm:^2.4.0": - version: 2.8.0 - resolution: "react-joyride@npm:2.8.0" + version: 2.8.1 + resolution: "react-joyride@npm:2.8.1" dependencies: "@gilbarbara/deep-equal": ^0.3.1 - "@gilbarbara/helpers": ^0.9.2 deep-diff: ^1.0.2 deepmerge: ^4.3.1 is-lite: ^1.2.1 @@ -16886,11 +16816,11 @@ __metadata: scroll: ^3.0.1 scrollparent: ^2.1.0 tree-changes: ^0.11.2 - type-fest: ^4.12.0 + type-fest: ^4.15.0 peerDependencies: react: 15 - 18 react-dom: 15 - 18 - checksum: b514fca2f3dad79dc7b3f2802b0f8c16230102a196b7734430682ee263a73c3fab2d4e8ebd2763f9638d8150decd474cbacb3b2644883049dc2f8df5bc88012c + checksum: 555394e3f9f2cd91602a8f639c28a9f881d2c8ea82ad93054fb9548cf407da3e17c23e4fc44bca04b4d0acd9955cb3886a61c5f4ebdcee6c512737272a27b38e languageName: node linkType: hard @@ -16943,8 +16873,8 @@ __metadata: linkType: hard "react-player@npm:^2.11.0": - version: 2.15.1 - resolution: "react-player@npm:2.15.1" + version: 2.16.0 + resolution: "react-player@npm:2.16.0" dependencies: deepmerge: ^4.0.0 load-script: ^1.0.0 @@ -16953,7 +16883,7 @@ __metadata: react-fast-compare: ^3.0.1 peerDependencies: react: ">=16.6.0" - checksum: 8e065dd7effcbec0bb770393b676145aa8bd46e4d2f9c46b1c15f5c1dff3f1a334f619aa3cc8525f82e6772b773fb9e96745d5e835b5264cd9ce1166ed9e1492 + checksum: 9cc78a6099fdf06bbb2e1db75aa57461fb152eb6207a00e6e026dde0675b6f4ad02a45cab7b6c18a9f19e001bf9695a5be0cbe7606eca57a0af501ced717fbe9 languageName: node linkType: hard @@ -17970,22 +17900,25 @@ __metadata: linkType: hard "rollup@npm:^4.13.0": - version: 4.13.0 - resolution: "rollup@npm:4.13.0" - dependencies: - "@rollup/rollup-android-arm-eabi": 4.13.0 - "@rollup/rollup-android-arm64": 4.13.0 - "@rollup/rollup-darwin-arm64": 4.13.0 - "@rollup/rollup-darwin-x64": 4.13.0 - "@rollup/rollup-linux-arm-gnueabihf": 4.13.0 - "@rollup/rollup-linux-arm64-gnu": 4.13.0 - "@rollup/rollup-linux-arm64-musl": 4.13.0 - "@rollup/rollup-linux-riscv64-gnu": 4.13.0 - "@rollup/rollup-linux-x64-gnu": 4.13.0 - "@rollup/rollup-linux-x64-musl": 4.13.0 - "@rollup/rollup-win32-arm64-msvc": 4.13.0 - "@rollup/rollup-win32-ia32-msvc": 4.13.0 - "@rollup/rollup-win32-x64-msvc": 4.13.0 + version: 4.14.3 + resolution: "rollup@npm:4.14.3" + dependencies: + "@rollup/rollup-android-arm-eabi": 4.14.3 + "@rollup/rollup-android-arm64": 4.14.3 + "@rollup/rollup-darwin-arm64": 4.14.3 + "@rollup/rollup-darwin-x64": 4.14.3 + "@rollup/rollup-linux-arm-gnueabihf": 4.14.3 + "@rollup/rollup-linux-arm-musleabihf": 4.14.3 + "@rollup/rollup-linux-arm64-gnu": 4.14.3 + "@rollup/rollup-linux-arm64-musl": 4.14.3 + "@rollup/rollup-linux-powerpc64le-gnu": 4.14.3 + "@rollup/rollup-linux-riscv64-gnu": 4.14.3 + "@rollup/rollup-linux-s390x-gnu": 4.14.3 + "@rollup/rollup-linux-x64-gnu": 4.14.3 + "@rollup/rollup-linux-x64-musl": 4.14.3 + "@rollup/rollup-win32-arm64-msvc": 4.14.3 + "@rollup/rollup-win32-ia32-msvc": 4.14.3 + "@rollup/rollup-win32-x64-msvc": 4.14.3 "@types/estree": 1.0.5 fsevents: ~2.3.2 dependenciesMeta: @@ -17999,12 +17932,18 @@ __metadata: optional: true "@rollup/rollup-linux-arm-gnueabihf": optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true "@rollup/rollup-linux-arm64-gnu": optional: true "@rollup/rollup-linux-arm64-musl": optional: true + "@rollup/rollup-linux-powerpc64le-gnu": + optional: true "@rollup/rollup-linux-riscv64-gnu": optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true "@rollup/rollup-linux-x64-gnu": optional: true "@rollup/rollup-linux-x64-musl": @@ -18019,7 +17958,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: c2c35bee0a71ceb0df37c170c2b73a500bf9ebdffb747487d77831348603d50dcfcdd9d0a937362d3a87edda559c9d1e017fba2d75f05f0c594634d9b8dde9a4 + checksum: f5077037e8514e330db1451a92bf6d9d15b8634698b2e60f56d8d7f30df11cdacfcd1b350a1598ed6516383b5ed2bf3e5a0685e72f81bb2fdb4e630491d09b67 languageName: node linkType: hard @@ -18584,24 +18523,24 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:^8.0.1": - version: 8.0.2 - resolution: "socks-proxy-agent@npm:8.0.2" +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.3 + resolution: "socks-proxy-agent@npm:8.0.3" dependencies: - agent-base: ^7.0.2 + agent-base: ^7.1.1 debug: ^4.3.4 socks: ^2.7.1 - checksum: 4fb165df08f1f380881dcd887b3cdfdc1aba3797c76c1e9f51d29048be6e494c5b06d68e7aea2e23df4572428f27a3ec22b3d7c75c570c5346507433899a4b6d + checksum: 8fab38821c327c190c28f1658087bc520eb065d55bc07b4a0fdf8d1e0e7ad5d115abbb22a95f94f944723ea969dd771ad6416b1e3cde9060c4c71f705c8b85c5 languageName: node linkType: hard "socks@npm:^2.7.1": - version: 2.8.1 - resolution: "socks@npm:2.8.1" + version: 2.8.3 + resolution: "socks@npm:2.8.3" dependencies: ip-address: ^9.0.5 smart-buffer: ^4.2.0 - checksum: 29586d42e9c36c5016632b2bcb6595e3adfbcb694b3a652c51bc8741b079c5ec37bdd5675a1a89a1620078c8137208294991fabb50786f92d47759a725b2b62e + checksum: 7a6b7f6eedf7482b9e4597d9a20e09505824208006ea8f2c49b71657427f3c137ca2ae662089baa73e1971c62322d535d9d0cf1c9235cf6f55e315c18203eadd languageName: node linkType: hard @@ -18953,14 +18892,14 @@ __metadata: languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.7": - version: 1.0.7 - resolution: "string.prototype.trimstart@npm:1.0.7" +"string.prototype.trimstart@npm:^1.0.8": + version: 1.0.8 + resolution: "string.prototype.trimstart@npm:1.0.8" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: 13d0c2cb0d5ff9e926fa0bec559158b062eed2b68cd5be777ffba782c96b2b492944e47057274e064549b94dd27cf81f48b27a31fee8af5b574cff253e7eb613 + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-object-atoms: ^1.0.0 + checksum: df1007a7f580a49d692375d996521dc14fd103acda7f3034b3c558a60b82beeed3a64fa91e494e164581793a8ab0ae2f59578a49896a7af6583c1f20472bce96 languageName: node linkType: hard @@ -19218,8 +19157,8 @@ __metadata: linkType: hard "tar@npm:^6.1.11, tar@npm:^6.1.2": - version: 6.2.0 - resolution: "tar@npm:6.2.0" + version: 6.2.1 + resolution: "tar@npm:6.2.1" dependencies: chownr: ^2.0.0 fs-minipass: ^2.0.0 @@ -19227,7 +19166,7 @@ __metadata: minizlib: ^2.1.1 mkdirp: ^1.0.3 yallist: ^4.0.0 - checksum: db4d9fe74a2082c3a5016630092c54c8375ff3b280186938cfd104f2e089c4fd9bad58688ef6be9cf186a889671bf355c7cda38f09bbf60604b281715ca57f5c + checksum: f1322768c9741a25356c11373bce918483f40fa9a25c69c59410c8a1247632487edef5fe76c5f12ac51a6356d2f1829e96d2bc34098668a2fc34d76050ac2b6c languageName: node linkType: hard @@ -19271,8 +19210,8 @@ __metadata: linkType: hard "terser@npm:^5.0.0, terser@npm:^5.10.0, terser@npm:^5.26.0": - version: 5.29.2 - resolution: "terser@npm:5.29.2" + version: 5.30.3 + resolution: "terser@npm:5.30.3" dependencies: "@jridgewell/source-map": ^0.3.3 acorn: ^8.8.2 @@ -19280,7 +19219,7 @@ __metadata: source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: 2310d04e530903ed4da6168c4c90ab65965c5f1f8919733772119ff560e9e9be2def070c9659f7d96f2e28489c4378241c4cef1917f05b9524587436fdd5a802 + checksum: 8c680ed32a948f806fade0969c52aab94b6de174e4a78610f5d3abf9993b161eb19b88b2ceadff09b153858727c02deb6709635e4bfbd519f67d54e0394e2983 languageName: node linkType: hard @@ -19702,10 +19641,10 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^4.1.0, type-fest@npm:^4.12.0": - version: 4.13.1 - resolution: "type-fest@npm:4.13.1" - checksum: 53959d57d64910a493ec4afb2e98149b6deac73ede4774af15335e7016527524646acd45af1738a0fe7b654c3f655ca6bfe88cc9adc9e8f859548356c6e5a0ec +"type-fest@npm:^4.15.0": + version: 4.15.0 + resolution: "type-fest@npm:4.15.0" + checksum: 8da2b8c4556a6bbafd79c0d50b4f3ba6526942aead9c1687038980276eee72b95a1d195bc6f1408e0ebf96ebfbe9d33436b506b35ed4b68f14f8b3ff56753850 languageName: node linkType: hard @@ -19757,9 +19696,9 @@ __metadata: languageName: node linkType: hard -"typed-array-length@npm:^1.0.5": - version: 1.0.5 - resolution: "typed-array-length@npm:1.0.5" +"typed-array-length@npm:^1.0.6": + version: 1.0.6 + resolution: "typed-array-length@npm:1.0.6" dependencies: call-bind: ^1.0.7 for-each: ^0.3.3 @@ -19767,7 +19706,7 @@ __metadata: has-proto: ^1.0.3 is-typed-array: ^1.1.13 possible-typed-array-names: ^1.0.0 - checksum: 82f5b666155cff1b345a1f3ab018d3f7667990f525435e4c8448cc094ab0f8ea283bb7cbde4d7bc82ea0b9b1072523bf31e86620d72615951d7fa9ccb4f42dfa + checksum: f0315e5b8f0168c29d390ff410ad13e4d511c78e6006df4a104576844812ee447fcc32daab1f3a76c9ef4f64eff808e134528b5b2439de335586b392e9750e5c languageName: node linkType: hard @@ -20435,8 +20374,8 @@ __metadata: linkType: hard "vite@npm:^4.5.2": - version: 4.5.2 - resolution: "vite@npm:4.5.2" + version: 4.5.3 + resolution: "vite@npm:4.5.3" dependencies: esbuild: ^0.18.10 fsevents: ~2.3.2 @@ -20470,17 +20409,17 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 9d1f84f703c2660aced34deee7f309278ed368880f66e9570ac115c793d91f7fffb80ab19c602b3c8bc1341fe23437d86a3fcca2a9ef82f7ef0cdac5a40d0c86 + checksum: fd3f512ce48ca2a1fe60ad0376283b832de9272725fdbc65064ae9248f792de87b0f27a89573115e23e26784800daca329f8a9234d298ba6f60e808a9c63883c languageName: node linkType: hard "vite@npm:^5.0.12": - version: 5.2.2 - resolution: "vite@npm:5.2.2" + version: 5.2.8 + resolution: "vite@npm:5.2.8" dependencies: esbuild: ^0.20.1 fsevents: ~2.3.3 - postcss: ^8.4.36 + postcss: ^8.4.38 rollup: ^4.13.0 peerDependencies: "@types/node": ^18.0.0 || >=20.0.0 @@ -20510,7 +20449,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: ef20480a0d4145f05378d33d295917995679c75205c19872346f18ad847cca8ac90794b7cfb280f787c0db60a90afcc1ae2c2e5ccedfe4751fb4a3c0ff07be69 + checksum: c0a77271b548fce443af59a383939924ffcba8e6d0ba6ecb2e481d0ec2318465d2116ce9317599c448e6d6d8af11a67b8efc5b52cb1deab37d2e83311ac4f1b5 languageName: node linkType: hard @@ -20695,8 +20634,8 @@ __metadata: linkType: hard "webpack-bundle-analyzer@npm:^4.10.1": - version: 4.10.1 - resolution: "webpack-bundle-analyzer@npm:4.10.1" + version: 4.10.2 + resolution: "webpack-bundle-analyzer@npm:4.10.2" dependencies: "@discoveryjs/json-ext": 0.5.7 acorn: ^8.0.4 @@ -20706,14 +20645,13 @@ __metadata: escape-string-regexp: ^4.0.0 gzip-size: ^6.0.0 html-escaper: ^2.0.2 - is-plain-object: ^5.0.0 opener: ^1.5.2 picocolors: ^1.0.0 sirv: ^2.0.3 ws: ^7.3.1 bin: webpack-bundle-analyzer: lib/bin/analyzer.js - checksum: 77f48f10a493b1cc95674526472978a2de32412ddbf556bd3903738f14890611426f19477352993efe5a9fd6ca16711eb912d986f2221b17ba6eeca1b6f71fb6 + checksum: 4f0275e7d87bb6203a618ca5d2d4953943979d986fa2b91be1bf1ad0bcd22bec13398803273d11699f9fbcf106896311208a72d63fe5f8a47b687a226e598dc1 languageName: node linkType: hard @@ -20750,8 +20688,8 @@ __metadata: linkType: hard "webpack-dev-middleware@npm:^7.1.0": - version: 7.1.1 - resolution: "webpack-dev-middleware@npm:7.1.1" + version: 7.2.1 + resolution: "webpack-dev-middleware@npm:7.2.1" dependencies: colorette: ^2.0.10 memfs: ^4.6.0 @@ -20764,7 +20702,7 @@ __metadata: peerDependenciesMeta: webpack: optional: true - checksum: 54b748ba354649bb5d80862f8828a05e75c0037a64ef3228722ebff1a6a9d5498467edc1a9fe210ed0ff8f37b2d32d2271273d8b6576f8249371881f14a309ad + checksum: bb8c75f7ceabc13ee2c3bc9648190e05a0a8c6d40b940ef72b09ea858a63d16bcb434b49995f1025125a1c3a1c8d40274beb5d26ef2fb1458b19e7f6fe3a91fe languageName: node linkType: hard