odaptos_design_system 1.4.99 → 1.4.101

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.
@@ -6,14 +6,20 @@ export interface ControlsBarProps extends HTMLAttributes<HTMLDivElement> {
6
6
  endInterview?: () => void;
7
7
  enableScreenSharing?: () => void;
8
8
  enableMicrophone?: () => void;
9
+ muteMicrophone?: () => void;
9
10
  enableCamera?: () => void;
11
+ muteCamera?: () => void;
10
12
  displayChat?: () => void;
11
13
  displayTasks?: () => void;
14
+ startRecording?: () => void;
15
+ stopRecording?: () => void;
12
16
  isChatOpen?: boolean;
13
17
  areTasksOpen?: boolean;
14
18
  isNewTask?: boolean;
15
19
  isNewMessage?: boolean;
16
20
  isMicrophoneActive?: boolean;
17
21
  isCameraActive?: boolean;
22
+ isRecording?: boolean;
23
+ disabledRecording?: boolean;
18
24
  }
19
- export declare const ControlsBar: ({ className, isInterviewer, isScreenShare, endInterview, enableScreenSharing, enableMicrophone, enableCamera, displayChat, displayTasks, isChatOpen, areTasksOpen, isNewTask, isNewMessage, isMicrophoneActive, isCameraActive, ...props }: ControlsBarProps) => React.JSX.Element;
25
+ export declare const ControlsBar: ({ className, isInterviewer, isScreenShare, endInterview, enableScreenSharing, enableMicrophone, muteMicrophone, enableCamera, muteCamera, displayChat, displayTasks, startRecording, stopRecording, isChatOpen, areTasksOpen, isNewTask, isNewMessage, isMicrophoneActive, isCameraActive, isRecording, disabledRecording, ...props }: ControlsBarProps) => React.JSX.Element;
@@ -7852,8 +7852,8 @@ const DatePicker = ({
7852
7852
  }))));
7853
7853
  };
7854
7854
 
7855
- var css_248z$a = ".ControlsBar-modules_control_bar__uxXow{align-items:center;display:inline-flex;gap:.5rem}.ControlsBar-modules_control_bar__uxXow .ControlsBar-modules_separator__Np2W8{background:var(--color-neutral-dark-shades-700,#64666a);height:1rem;width:.0625rem}.ControlsBar-modules_chatBubbleIcon__ujTs1 svg{fill:transparent!important}";
7856
- var styles$a = {"control_bar":"ControlsBar-modules_control_bar__uxXow","separator":"ControlsBar-modules_separator__Np2W8","chatBubbleIcon":"ControlsBar-modules_chatBubbleIcon__ujTs1"};
7855
+ var css_248z$a = ".ControlsBar-modules_control_bar__uxXow{align-items:center;display:inline-flex;gap:.5rem}.ControlsBar-modules_control_bar__uxXow .ControlsBar-modules_separator__Np2W8{background:var(--color-neutral-dark-shades-700,#64666a);height:1rem;width:.0625rem}.ControlsBar-modules_control_bar__uxXow .ControlsBar-modules_record_btn__rp6Um{align-items:flex-start;background:var(--Color-Extended-Red-50,#fff6f6);border:none;border-radius:1.5rem;box-shadow:0 4px 8px 3px rgba(0,0,0,.08),0 1px 3px 0 rgba(0,0,0,.15);display:flex;gap:.5rem;padding:.5rem}.ControlsBar-modules_chatBubbleIcon__ujTs1 svg{fill:transparent!important}";
7856
+ var styles$a = {"control_bar":"ControlsBar-modules_control_bar__uxXow","separator":"ControlsBar-modules_separator__Np2W8","record_btn":"ControlsBar-modules_record_btn__rp6Um","chatBubbleIcon":"ControlsBar-modules_chatBubbleIcon__ujTs1"};
7857
7857
  styleInject(css_248z$a);
7858
7858
 
7859
7859
  const ControlsBar = ({
@@ -7863,28 +7863,50 @@ const ControlsBar = ({
7863
7863
  endInterview,
7864
7864
  enableScreenSharing,
7865
7865
  enableMicrophone,
7866
+ muteMicrophone,
7866
7867
  enableCamera,
7868
+ muteCamera,
7867
7869
  displayChat,
7868
7870
  displayTasks,
7871
+ startRecording,
7872
+ stopRecording,
7869
7873
  isChatOpen,
7870
7874
  areTasksOpen,
7871
7875
  isNewTask,
7872
7876
  isNewMessage,
7873
7877
  isMicrophoneActive,
7874
7878
  isCameraActive,
7879
+ isRecording,
7880
+ disabledRecording,
7875
7881
  ...props
7876
7882
  }) => {
7877
7883
  return /*#__PURE__*/React__default.createElement("div", Object.assign({
7878
7884
  className: `${styles$a.control_bar} ${className ?? ''}`
7879
7885
  }, props), enableMicrophone && /*#__PURE__*/React__default.createElement(CircledIconButton, {
7880
7886
  icon: isMicrophoneActive ? /*#__PURE__*/React__default.createElement(MicrophoneIcon, null) : /*#__PURE__*/React__default.createElement(MicrophoneIcon, null),
7881
- onClick: () => enableMicrophone()
7887
+ onClick: () => {
7888
+ if (isMicrophoneActive) enableMicrophone();else {
7889
+ if (muteMicrophone) muteMicrophone();
7890
+ }
7891
+ }
7882
7892
  }), enableCamera && /*#__PURE__*/React__default.createElement(CircledIconButton, {
7883
7893
  icon: isCameraActive ? /*#__PURE__*/React__default.createElement(MeetingIcon, null) : /*#__PURE__*/React__default.createElement(MeetingIcon, null),
7884
- onClick: () => enableCamera()
7894
+ onClick: () => {
7895
+ if (isCameraActive) enableCamera();else {
7896
+ if (muteCamera) muteCamera();
7897
+ }
7898
+ }
7885
7899
  }), /*#__PURE__*/React__default.createElement("div", {
7886
7900
  className: styles$a.separator
7887
- }), isInterviewer && endInterview && /*#__PURE__*/React__default.createElement(InterviewButton, {
7901
+ }), isInterviewer && /*#__PURE__*/React__default.createElement("button", {
7902
+ disabled: disabledRecording,
7903
+ className: styles$a.record_btn,
7904
+ onClick: () => {
7905
+ if (isRecording && startRecording) startRecording();else {
7906
+ if (stopRecording) stopRecording();
7907
+ }
7908
+ }
7909
+ }, isRecording ? /*#__PURE__*/React__default.createElement(StopRecordingIcon, null) : /*#__PURE__*/React__default.createElement(RecordIcon, null)), isInterviewer && endInterview && /*#__PURE__*/React__default.createElement(InterviewButton, {
7888
7910
  text: "End Interview",
7889
7911
  variant: "end-interview",
7890
7912
  onClick: () => endInterview(),