import "core-js/modules/es.symbol.js";
import "core-js/modules/es.array.filter.js";
import "core-js/modules/es.array.for-each.js";
import "core-js/modules/es.array.push.js";
import "core-js/modules/es.object.define-properties.js";
import "core-js/modules/es.object.define-property.js";
import "core-js/modules/es.object.get-own-property-descriptor.js";
import "core-js/modules/es.object.get-own-property-descriptors.js";
import "core-js/modules/es.object.keys.js";
import "core-js/modules/es.object.to-string.js";
import "core-js/modules/esnext.iterator.constructor.js";
import "core-js/modules/esnext.iterator.filter.js";
import "core-js/modules/esnext.iterator.for-each.js";
import "core-js/modules/web.dom-collections.for-each.js";
import _defineProperty from "@babel/runtime/helpers/defineProperty";
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
import React, { useEffect, useMemo } from 'react';
import { useI18n } from '../../../i18n';
import { FcrCheckbox } from '../../checkbox';
import { FcrIcon } from '../../icon';
import { FcrIconType } from '../../icon/type';
import { FcrPopover } from '../../popover';
import { FcrRadioGroup } from '../../radio';
import { FcrToolTip } from '../../tooltip';
import './index.css';
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
export var AudioProcessingChannel = /*#__PURE__*/function (AudioProcessingChannel) {
  AudioProcessingChannel["MONO"] = "1";
  AudioProcessingChannel["STEREO"] = "2";
  return AudioProcessingChannel;
}({});
export var ShareAudio = function ShareAudio(props) {
  var t = useI18n();
  var shareWithAudio = props.shareWithAudio,
    _props$currentAudioCh = props.currentAudioChannel,
    currentAudioChannel = _props$currentAudioCh === void 0 ? AudioProcessingChannel.MONO : _props$currentAudioCh,
    toggleShareWithAudio = props.toggleShareWithAudio,
    _props$showInfoTip = props.showInfoTip,
    showInfoTip = _props$showInfoTip === void 0 ? false : _props$showInfoTip;
  var _React$useState = React.useState(false),
    _React$useState2 = _slicedToArray(_React$useState, 2),
    popoverVisible = _React$useState2[0],
    setVisible = _React$useState2[1];
  var handlerVisibleChange = function handlerVisibleChange(visible) {
    setVisible(visible);
  };
  useEffect(function () {
    function handleBlur(event) {
      setVisible(false);
    }
    window.addEventListener('blur', handleBlur);
    return function () {
      window.removeEventListener('blur', handleBlur);
    };
  }, []);
  var shareAudioTips = useMemo(function () {
    if (!shareWithAudio) {
      return t('fmt_screenshare_window_checkbox_shareAudio');
    }
    if (currentAudioChannel === AudioProcessingChannel.STEREO) {
      return t('fmt_uimanager_option_dualchannel');
    }
    return t('fmt_uimanager_option_Sharedmono');
  }, [shareWithAudio, currentAudioChannel]);
  return /*#__PURE__*/_jsxs("div", {
    className: "share-audio-checkbox",
    children: [/*#__PURE__*/_jsx(FcrToolTip, {
      content: shareAudioTips,
      trigger: "hover",
      placement: "top",
      mouseEnterDelay: 0,
      children: /*#__PURE__*/_jsx("div", {
        className: "share-audio-action-button share-selectrion",
        children: /*#__PURE__*/_jsx(FcrCheckbox, {
          checked: shareWithAudio,
          label: t('fmt_screenshare_window_checkbox_shareAudio'),
          styleType: "brand",
          onChange: toggleShareWithAudio
        })
      })
    }), /*#__PURE__*/_jsx(FcrPopover, {
      overlayClassName: "share-audio-popover",
      overlayInnerStyle: {
        border: 0,
        boxShadow: 'var(--fcr_web_light_dropup_m)',
        borderRadius: 'var(--fcr_cornerradius_l)',
        padding: '4px 6px'
      },
      content: /*#__PURE__*/_jsx(ShareAudioOptions, _objectSpread({}, props)),
      trigger: "click",
      visible: popoverVisible,
      onVisibleChange: handlerVisibleChange,
      children: /*#__PURE__*/_jsx("div", {
        className: "share-audio-action-button share-selectrion",
        children: /*#__PURE__*/_jsx(FcrIcon, {
          type: FcrIconType.FCR_DROPUP4,
          size: 24,
          colors: {
            iconPrimary: 'var(--fcr_web_ui_scene_mainicon1)'
          }
        })
      })
    }), showInfoTip ? /*#__PURE__*/_jsx(FcrToolTip, {
      mouseEnterDelay: 0,
      trigger: "hover",
      placement: "top",
      content: t('fmt_screenshare_tips_share_pc_sound'),
      children: /*#__PURE__*/_jsx("button", {
        style: {
          marginLeft: '6px'
        },
        children: /*#__PURE__*/_jsx(FcrIcon, {
          type: FcrIconType.FCR_EXCLAMATIONMASK,
          size: 20,
          colors: {
            iconPrimary: 'var(--fcr_ui_scene_icontext1)'
          }
        })
      })
    }) : /*#__PURE__*/_jsx(_Fragment, {})]
  });
};
var ShareAudioOptions = function ShareAudioOptions(props) {
  var _props$onSwitchAudioC = props.onSwitchAudioChannel,
    onSwitchAudioChannel = _props$onSwitchAudioC === void 0 ? function () {} : _props$onSwitchAudioC,
    _props$currentAudioCh2 = props.currentAudioChannel,
    currentAudioChannel = _props$currentAudioCh2 === void 0 ? AudioProcessingChannel.MONO : _props$currentAudioCh2;
  var t = useI18n();
  return /*#__PURE__*/_jsx("div", {
    className: "share-audio-options share-audio-not-draggable",
    children: /*#__PURE__*/_jsx(FcrRadioGroup, {
      defaultValue: currentAudioChannel,
      options: [{
        label: /*#__PURE__*/_jsx("div", {
          className: currentAudioChannel === AudioProcessingChannel.MONO ? 'radio-label-active' : 'radio-label-normal',
          children: t('fmt_uimanager_option_Monochannel')
        }),
        value: AudioProcessingChannel.MONO,
        iconColor: 'var(--fcr_ui_scene_icontext1)',
        styleType: 'transparent'
      }, {
        label: /*#__PURE__*/_jsx("div", {
          className: currentAudioChannel === AudioProcessingChannel.STEREO ? 'radio-label-active' : 'radio-label-normal',
          children: t('fmt_uimanager_option_Stereo')
        }),
        value: AudioProcessingChannel.STEREO,
        iconColor: 'var(--fcr_ui_scene_icontext1)',
        styleType: 'transparent'
      }],
      onChange: function onChange(value) {
        onSwitchAudioChannel(value);
      }
    })
  });
};