@naviedu/room-platform-react 0.0.54 → 0.0.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.esm.js +98 -91
  2. package/package.json +1 -1
package/index.esm.js CHANGED
@@ -27837,7 +27837,7 @@ function RoomPlatformShell(param) {
27837
27837
  !isSidebarOpen && !isMobileFullscreen ? /*#__PURE__*/ jsx("button", {
27838
27838
  type: "button",
27839
27839
  "aria-label": "Mở sidebar",
27840
- className: "absolute right-4 top-4 z-10 inline-flex size-10 items-center justify-center rounded-lg border border-white/20 bg-slate-950/80 text-white shadow-lg transition-colors hover:bg-slate-900",
27840
+ className: "absolute right-4 top-4 z-40 inline-flex size-10 items-center justify-center rounded-lg border border-white/20 bg-slate-950/80 text-white shadow-lg transition-colors hover:bg-slate-900",
27841
27841
  onClick: controls.onOpenSidebar,
27842
27842
  children: /*#__PURE__*/ jsx(PanelRightOpen, {
27843
27843
  className: "size-5"
@@ -27870,6 +27870,94 @@ function RoomPlatformShell(param) {
27870
27870
  });
27871
27871
  }
27872
27872
 
27873
+ var cameraOverlayClassName = 'absolute left-4 top-4 z-30 aspect-video w-48 max-w-[40%]';
27874
+ function RoomPlatformCameraOverlay(param) {
27875
+ var trackRef = param.trackRef, status = param.status, testId = param.testId;
27876
+ return /*#__PURE__*/ jsx("div", {
27877
+ "data-identity": trackRef === null || trackRef === void 0 ? void 0 : trackRef.participant.identity,
27878
+ "data-status": status,
27879
+ "data-testid": testId,
27880
+ className: cameraOverlayClassName,
27881
+ style: {
27882
+ aspectRatio: getRoomPlatformTrackAspectRatio(trackRef !== null && trackRef !== void 0 ? trackRef : null)
27883
+ },
27884
+ children: trackRef ? /*#__PURE__*/ jsx(RoomPlatformVideoTile, {
27885
+ kind: "overlay",
27886
+ mediaClassName: "h-full w-full overflow-hidden",
27887
+ trackRef: trackRef
27888
+ }) : 'Đang chờ tín hiệu lớp học'
27889
+ });
27890
+ }
27891
+ function RoomPlatformStage(param) {
27892
+ var controlBar = param.controlBar, _param_layout = param.layout, layout = _param_layout === void 0 ? 'stage' : _param_layout, model = param.model, overlayTrack = param.overlayTrack, status = param.status, whiteboard = param.whiteboard;
27893
+ var _ref;
27894
+ var _model_primary, _model_primary1;
27895
+ var cameraOverlayTrack = overlayTrack !== null && overlayTrack !== void 0 ? overlayTrack : model.primary;
27896
+ var displayedTrack = layout === 'camera-overlay' ? cameraOverlayTrack : model.primary;
27897
+ var screenShareTrack = layout === 'stage' && ((_model_primary = model.primary) === null || _model_primary === void 0 ? void 0 : _model_primary.source) === Track.Source.ScreenShare ? model.primary : null;
27898
+ var displayedTrackRatio = useRoomPlatformTrackAspectRatio(displayedTrack !== null && displayedTrack !== void 0 ? displayedTrack : null);
27899
+ var screenShareRatio = useRoomPlatformTrackAspectRatio(screenShareTrack);
27900
+ var frameStyle = {
27901
+ aspectRatio: screenShareTrack ? screenShareRatio.aspectRatio : displayedTrackRatio.aspectRatio
27902
+ };
27903
+ var isScreenShare = Boolean(screenShareTrack);
27904
+ var resolvedOverlayTrack = overlayTrack !== null && overlayTrack !== void 0 ? overlayTrack : isScreenShare ? model.cameraOverlay : undefined;
27905
+ var frameClassName = model.primary ? 'relative flex h-full min-h-0 w-full items-center justify-center overflow-hidden rounded-lg text-white ring-1 ring-white/10' : 'relative flex h-full min-h-0 w-full items-center justify-center overflow-hidden rounded-lg bg-slate-950 p-4 text-sm text-slate-300 ring-1 ring-white/10';
27906
+ if (layout === 'camera-overlay') {
27907
+ return /*#__PURE__*/ jsx(RoomPlatformCameraOverlay, {
27908
+ status: status,
27909
+ testId: "room-platform-stage",
27910
+ trackRef: cameraOverlayTrack
27911
+ });
27912
+ }
27913
+ return /*#__PURE__*/ jsxs("div", {
27914
+ className: "relative flex min-h-0 flex-1 items-center justify-center bg-slate-950 p-2 sm:p-4 w-full",
27915
+ "data-status": status,
27916
+ "data-testid": "room-platform-stage",
27917
+ children: [
27918
+ /*#__PURE__*/ jsx(RoomPlatformControlAnchor, {
27919
+ anchorKind: "video-frame",
27920
+ anchorScope: "frame",
27921
+ className: "h-full max-h-full w-auto max-w-full flex-none bg-slate-950",
27922
+ controlBar: controlBar,
27923
+ style: frameStyle,
27924
+ children: /*#__PURE__*/ jsx("section", {
27925
+ className: frameClassName,
27926
+ "data-source": (_ref = (_model_primary1 = model.primary) === null || _model_primary1 === void 0 ? void 0 : _model_primary1.source) !== null && _ref !== void 0 ? _ref : 'empty',
27927
+ "data-testid": "room-platform-stage-frame",
27928
+ style: frameStyle,
27929
+ children: isScreenShare && model.primary ? /*#__PURE__*/ jsx("div", {
27930
+ "data-testid": "room-platform-main-screen-share",
27931
+ className: "relative flex h-full w-full items-center justify-center overflow-hidden rounded-lg text-sm text-slate-300",
27932
+ children: /*#__PURE__*/ jsx(RoomPlatformScreenShareWhiteboardFrame, {
27933
+ aspectRatio: frameStyle.aspectRatio,
27934
+ onLoadedMetadata: screenShareRatio.onLoadedMetadata,
27935
+ onResize: screenShareRatio.onResize,
27936
+ trackRef: model.primary,
27937
+ children: whiteboard
27938
+ })
27939
+ }) : model.primary ? /*#__PURE__*/ jsx(RoomPlatformFitMediaFrame, {
27940
+ aspectRatio: frameStyle.aspectRatio,
27941
+ testId: "room-platform-stage-media-frame",
27942
+ children: /*#__PURE__*/ jsx(RoomPlatformVideoTile, {
27943
+ className: "h-full w-full",
27944
+ kind: "stage",
27945
+ mediaClassName: "h-full w-full overflow-hidden",
27946
+ onLoadedMetadata: displayedTrackRatio.onLoadedMetadata,
27947
+ onResize: displayedTrackRatio.onResize,
27948
+ trackRef: model.primary
27949
+ })
27950
+ }) : 'Đang chờ tín hiệu lớp học'
27951
+ })
27952
+ }),
27953
+ resolvedOverlayTrack ? /*#__PURE__*/ jsx(RoomPlatformCameraOverlay, {
27954
+ testId: "room-platform-camera-overlay",
27955
+ trackRef: resolvedOverlayTrack
27956
+ }) : null
27957
+ ]
27958
+ });
27959
+ }
27960
+
27873
27961
  function _define_property$3(obj, key, value) {
27874
27962
  if (key in obj) {
27875
27963
  Object.defineProperty(obj, key, {
@@ -27996,6 +28084,7 @@ function RoomPlatformPrivateRoomStage(param) {
27996
28084
  var callerCameraTrack = selectTrackByExternalActorId(cameraTracks, callerExternalActorId);
27997
28085
  var studentCameraTrack = selectTrackByExternalActorId(cameraTracks, studentExternalActorId);
27998
28086
  var screenShareTrack = activeScreenShareExternalActorId ? selectTrackByExternalActorId(screenShareTracks, activeScreenShareExternalActorId) : null;
28087
+ var screenShareCameraTrack = activeScreenShareExternalActorId ? selectTrackByExternalActorId(cameraTracks, activeScreenShareExternalActorId) : null;
27999
28088
  var hasActiveScreenShare = Boolean(activeScreenShareExternalActorId);
28000
28089
  var screenShareRatio = useRoomPlatformTrackAspectRatio(screenShareTrack);
28001
28090
  var shareSessionKey = (screenShareTrack === null || screenShareTrack === void 0 ? void 0 : screenShareTrack.publication.trackSid) ? "livekit:".concat(screenShareTrack.publication.trackSid) : undefined;
@@ -28074,10 +28163,16 @@ function RoomPlatformPrivateRoomStage(param) {
28074
28163
  children: /*#__PURE__*/ jsx("section", {
28075
28164
  "data-testid": "classroom-video-frame",
28076
28165
  className: "relative h-full min-h-0 w-full overflow-hidden rounded-lg bg-slate-950 text-white",
28077
- children: /*#__PURE__*/ jsx("div", {
28166
+ children: /*#__PURE__*/ jsxs("div", {
28078
28167
  "data-testid": "private-live-room-main-stage",
28079
28168
  className: "relative flex h-full min-h-0 min-w-0 items-center justify-center overflow-hidden rounded-lg",
28080
- children: mainStage
28169
+ children: [
28170
+ mainStage,
28171
+ hasActiveScreenShare && screenShareCameraTrack ? /*#__PURE__*/ jsx(RoomPlatformCameraOverlay, {
28172
+ testId: "private-live-room-camera-overlay",
28173
+ trackRef: screenShareCameraTrack
28174
+ }) : null
28175
+ ]
28081
28176
  })
28082
28177
  })
28083
28178
  })
@@ -29083,94 +29178,6 @@ function RoomPlatformSpeakQueue(param) {
29083
29178
  });
29084
29179
  }
29085
29180
 
29086
- var cameraOverlayClassName = 'absolute left-4 top-4 z-30 aspect-video w-48 max-w-[40%]';
29087
- function RoomPlatformCameraOverlay(param) {
29088
- var trackRef = param.trackRef, status = param.status, testId = param.testId;
29089
- return /*#__PURE__*/ jsx("div", {
29090
- "data-identity": trackRef === null || trackRef === void 0 ? void 0 : trackRef.participant.identity,
29091
- "data-status": status,
29092
- "data-testid": testId,
29093
- className: cameraOverlayClassName,
29094
- style: {
29095
- aspectRatio: getRoomPlatformTrackAspectRatio(trackRef !== null && trackRef !== void 0 ? trackRef : null)
29096
- },
29097
- children: trackRef ? /*#__PURE__*/ jsx(RoomPlatformVideoTile, {
29098
- kind: "overlay",
29099
- mediaClassName: "h-full w-full overflow-hidden",
29100
- trackRef: trackRef
29101
- }) : 'Đang chờ tín hiệu lớp học'
29102
- });
29103
- }
29104
- function RoomPlatformStage(param) {
29105
- var controlBar = param.controlBar, _param_layout = param.layout, layout = _param_layout === void 0 ? 'stage' : _param_layout, model = param.model, overlayTrack = param.overlayTrack, status = param.status, whiteboard = param.whiteboard;
29106
- var _ref;
29107
- var _model_primary, _model_primary1;
29108
- var cameraOverlayTrack = overlayTrack !== null && overlayTrack !== void 0 ? overlayTrack : model.primary;
29109
- var displayedTrack = layout === 'camera-overlay' ? cameraOverlayTrack : model.primary;
29110
- var screenShareTrack = layout === 'stage' && ((_model_primary = model.primary) === null || _model_primary === void 0 ? void 0 : _model_primary.source) === Track.Source.ScreenShare ? model.primary : null;
29111
- var displayedTrackRatio = useRoomPlatformTrackAspectRatio(displayedTrack !== null && displayedTrack !== void 0 ? displayedTrack : null);
29112
- var screenShareRatio = useRoomPlatformTrackAspectRatio(screenShareTrack);
29113
- var frameStyle = {
29114
- aspectRatio: screenShareTrack ? screenShareRatio.aspectRatio : displayedTrackRatio.aspectRatio
29115
- };
29116
- var isScreenShare = Boolean(screenShareTrack);
29117
- var resolvedOverlayTrack = overlayTrack !== null && overlayTrack !== void 0 ? overlayTrack : isScreenShare ? model.cameraOverlay : undefined;
29118
- var frameClassName = model.primary ? 'relative flex h-full min-h-0 w-full items-center justify-center overflow-hidden rounded-lg text-white ring-1 ring-white/10' : 'relative flex h-full min-h-0 w-full items-center justify-center overflow-hidden rounded-lg bg-slate-950 p-4 text-sm text-slate-300 ring-1 ring-white/10';
29119
- if (layout === 'camera-overlay') {
29120
- return /*#__PURE__*/ jsx(RoomPlatformCameraOverlay, {
29121
- status: status,
29122
- testId: "room-platform-stage",
29123
- trackRef: cameraOverlayTrack
29124
- });
29125
- }
29126
- return /*#__PURE__*/ jsxs("div", {
29127
- className: "relative flex min-h-0 flex-1 items-center justify-center bg-slate-950 p-2 sm:p-4 w-full",
29128
- "data-status": status,
29129
- "data-testid": "room-platform-stage",
29130
- children: [
29131
- /*#__PURE__*/ jsx(RoomPlatformControlAnchor, {
29132
- anchorKind: "video-frame",
29133
- anchorScope: "frame",
29134
- className: "h-full max-h-full w-auto max-w-full flex-none bg-slate-950",
29135
- controlBar: controlBar,
29136
- style: frameStyle,
29137
- children: /*#__PURE__*/ jsx("section", {
29138
- className: frameClassName,
29139
- "data-source": (_ref = (_model_primary1 = model.primary) === null || _model_primary1 === void 0 ? void 0 : _model_primary1.source) !== null && _ref !== void 0 ? _ref : 'empty',
29140
- "data-testid": "room-platform-stage-frame",
29141
- style: frameStyle,
29142
- children: isScreenShare && model.primary ? /*#__PURE__*/ jsx("div", {
29143
- "data-testid": "room-platform-main-screen-share",
29144
- className: "relative flex h-full w-full items-center justify-center overflow-hidden rounded-lg text-sm text-slate-300",
29145
- children: /*#__PURE__*/ jsx(RoomPlatformScreenShareWhiteboardFrame, {
29146
- aspectRatio: frameStyle.aspectRatio,
29147
- onLoadedMetadata: screenShareRatio.onLoadedMetadata,
29148
- onResize: screenShareRatio.onResize,
29149
- trackRef: model.primary,
29150
- children: whiteboard
29151
- })
29152
- }) : model.primary ? /*#__PURE__*/ jsx(RoomPlatformFitMediaFrame, {
29153
- aspectRatio: frameStyle.aspectRatio,
29154
- testId: "room-platform-stage-media-frame",
29155
- children: /*#__PURE__*/ jsx(RoomPlatformVideoTile, {
29156
- className: "h-full w-full",
29157
- kind: "stage",
29158
- mediaClassName: "h-full w-full overflow-hidden",
29159
- onLoadedMetadata: displayedTrackRatio.onLoadedMetadata,
29160
- onResize: displayedTrackRatio.onResize,
29161
- trackRef: model.primary
29162
- })
29163
- }) : 'Đang chờ tín hiệu lớp học'
29164
- })
29165
- }),
29166
- resolvedOverlayTrack ? /*#__PURE__*/ jsx(RoomPlatformCameraOverlay, {
29167
- testId: "room-platform-camera-overlay",
29168
- trackRef: resolvedOverlayTrack
29169
- }) : null
29170
- ]
29171
- });
29172
- }
29173
-
29174
29181
  function RoomPlatformTopBar(param) {
29175
29182
  var monitorSelector = param.monitorSelector, completionAction = param.completionAction, topBarLeading = param.topBarLeading, topBarTrailing = param.topBarTrailing;
29176
29183
  var hasTrailingContent = Boolean(monitorSelector || completionAction || topBarTrailing);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naviedu/room-platform-react",
3
- "version": "0.0.54",
3
+ "version": "0.0.55",
4
4
  "type": "module",
5
5
  "main": "./index.esm.js",
6
6
  "module": "./index.esm.js",