import { useContext } from "react";
import TimePicker from "./time-picker.js";
import { isDayjs, isArray } from "../_util/is.js";
import { toLocal, toTimezone } from "../_util/dayjs.js";
import omit from "../_util/omit.js";
import PickerContext from "./context.js";
import { jsx } from "../../../../../../@emotion_react@11.10.4_3toe27fv7etiytxb5kxc7fxaw4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
var __assign = globalThis && globalThis.__assign || function() {
  __assign = Object.assign || function(t) {
    for (var s, i = 1, n = arguments.length; i < n; i++) {
      s = arguments[i];
      for (var p in s)
        if (Object.prototype.hasOwnProperty.call(s, p))
          t[p] = s[p];
    }
    return t;
  };
  return __assign.apply(this, arguments);
};
var __rest = globalThis && globalThis.__rest || function(s, e) {
  var t = {};
  for (var p in s)
    if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
      t[p] = s[p];
  if (s != null && typeof Object.getOwnPropertySymbols === "function")
    for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
      if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
        t[p[i]] = s[p[i]];
    }
  return t;
};
function RangePicker(props) {
  var _a = props.format, format = _a === void 0 ? "HH:mm:ss" : _a, onSelect = props.onSelect, focusedInputIndex = props.focusedInputIndex, changeFocusedInputIndex = props.changeFocusedInputIndex, popupVisible = props.popupVisible, onConfirmValue = props.onConfirmValue, _b = props.valueShow, valueShow = _b === void 0 ? [] : _b, setValueShow = props.setValueShow, disableConfirm = props.disableConfirm, rest = __rest(props, ["format", "onSelect", "focusedInputIndex", "changeFocusedInputIndex", "popupVisible", "onConfirmValue", "valueShow", "setValueShow", "disableConfirm"]);
  var _c = useContext(PickerContext), utcOffset = _c.utcOffset, timezone = _c.timezone;
  function onSelectTime(_, time) {
    var zoneValue = valueShow.slice();
    var v = valueShow.map(function(a) {
      return toLocal(a, utcOffset, timezone);
    });
    zoneValue[focusedInputIndex] = toTimezone(time, utcOffset, timezone);
    v[focusedInputIndex] = time;
    onSelect && onSelect(v.map(function(t) {
      return t.format(format);
    }), v);
    setValueShow(zoneValue);
    if (disableConfirm && isArray(v) && isDayjs(v[0]) && isDayjs(v[1])) {
      onConfirmValue(zoneValue);
    }
  }
  function onConfirmValueInner() {
    if (valueShow.length && (valueShow[0] === void 0 || valueShow[1] === void 0)) {
      changeFocusedInputIndex(focusedInputIndex === 0 ? 1 : 0);
    } else {
      onConfirmValue(valueShow);
    }
  }
  var timepickerProps = omit(rest, ["defaultValue", "placeholder", "value", "onChange"]);
  var currentShowValue = valueShow[focusedInputIndex];
  return /* @__PURE__ */ jsx(TimePicker, {
    ...__assign({
      onSelect: onSelectTime,
      value: currentShowValue,
      format,
      isRangePicker: true,
      onConfirmValue: onConfirmValueInner,
      confirmBtnDisabled: !isDayjs(currentShowValue),
      valueShow: currentShowValue,
      popupVisible,
      disableConfirm
    }, timepickerProps)
  });
}
export {
  RangePicker as default
};
//# sourceMappingURL=range-picker.js.map
