'use strict';

var index = require('../KitStoreProvider/index.js');
var React = require('react');

function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }

var React__default = /*#__PURE__*/_interopDefault(React);

var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp.call(b, prop))
      __defNormalProp(a, prop, b[prop]);
  if (__getOwnPropSymbols)
    for (var prop of __getOwnPropSymbols(b)) {
      if (__propIsEnum.call(b, prop))
        __defNormalProp(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
const ModalStack = () => {
  const stack = index.useKitSelector(
    (state) => state.modal.stack
  );
  const closeModal = index.useCloseModal();
  const resetModal = index.useResetModal();
  return /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, stack.map((modal) => /* @__PURE__ */ React__default.default.createElement(
    modal.component,
    __spreadProps(__spreadValues({}, modal.props), {
      modalId: modal.id,
      onClose: () => {
        var _a;
        if ((_a = modal.props) == null ? void 0 : _a.onClose) {
          modal.props.onClose();
        }
        closeModal(modal.id);
      },
      closeAllModal: () => {
        var _a, _b;
        (_b = (_a = modal.props).closeAllModal) == null ? void 0 : _b.call(_a);
        resetModal();
      },
      key: modal.id
    })
  )));
};
var ModalStack$1 = ModalStack;

module.exports = ModalStack$1;
