"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.ButtonSwitcher = ButtonSwitcher;
var _react = _interopRequireWildcard(require("react"));
var _button = require("../button");
var _modal = require("../modal");
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
function ButtonSwitcher({
  showAdvancedScheduler,
  advancedSchedulerToggleButtonText,
  onUseAdvancedScheduler,
  simpleSchedulerModalTexts,
  simpleSchedulerToggleButtonText,
  onUseSimpleScheduler,
  isDisabled = false,
  switchToSimpleTriggerId = 'switch-to-simple-scheduler-container',
  switchToAdvancedTriggerId = 'switch-to-advanced-scheduler-container',
  icon
}) {
  const [showUseSimpleSchedulerAlert, setShowUseSimpleSchedulerAlert] = (0, _react.useState)(false);
  if (showAdvancedScheduler) {
    return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
      className: "use-simple-scheduler-container",
      children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
        id: switchToSimpleTriggerId,
        className: "margin-top-2",
        accentType: _button.ACCENT_TYPES.COMMAND,
        leftIcon: icon,
        onClick: () => {
          setShowUseSimpleSchedulerAlert(true);
        },
        testId: "use-simple-scheduler-button",
        isDisabled: isDisabled,
        children: simpleSchedulerToggleButtonText
      }), showUseSimpleSchedulerAlert && /*#__PURE__*/(0, _jsxRuntime.jsx)(_modal.Modal, {
        title: simpleSchedulerModalTexts.title,
        testId: "use-simple-scheduler-alert-modal",
        modalKey: "use-simple-scheduler-alert-modal",
        show: showUseSimpleSchedulerAlert,
        onConfirmModal: () => {
          onUseSimpleScheduler();
          setShowUseSimpleSchedulerAlert(false);
        },
        aria: {
          labelledby: switchToSimpleTriggerId
        },
        confirmButtonText: simpleSchedulerModalTexts.confirmButtonText,
        showDismissButton: true,
        dismissButtonText: simpleSchedulerModalTexts.dismissButtonText,
        onDismissModal: () => {
          setShowUseSimpleSchedulerAlert(false);
        },
        labelText: simpleSchedulerModalTexts.labelText,
        children: simpleSchedulerModalTexts.content
      })]
    });
  }
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
    id: switchToAdvancedTriggerId,
    className: "margin-top-2",
    accentType: _button.ACCENT_TYPES.COMMAND,
    leftIcon: icon,
    onClick: onUseAdvancedScheduler,
    testId: "use-advanced-scheduler-button",
    isDisabled: isDisabled,
    children: advancedSchedulerToggleButtonText
  });
}