import React, { Suspense } from 'react';
import Spin from 'antd/es/spin';
import 'antd/es/spin/style';
import { isMobile } from './utils/index';
var DataBus = React.lazy(function () {
  return import(
  /* webpackChunkName: "data-bus" */
  './core/dataBus');
});
var ViewsSwitches = React.lazy(function () {
  return import(
  /* webpackChunkName: "view-switches" */
  './components/topBar/controls/ViewSwitches/ViewSwitchesContainer');
});
var TopBar = React.lazy(function () {
  return import(
  /* webpackChunkName: "top-bar" */
  './components/topBar/subPanel/SubPanelContainer');
});
var TreeDiagramsContainer = React.lazy(function () {
  return import(
  /* webpackChunkName: "tree-diagram" */
  './components/treeDiagram/TreeDiagramsContainer');
});
var SideBar = React.lazy(function () {
  return import(
  /* webpackChunkName: "side-bar" */
  './components/sideBar/SideBarContainer');
});
var ExplorerBar = React.lazy(function () {
  return import(
  /* webpackChunkName: "explorer-bar" */
  './components/explorerBar/ExplorerBarContainer');
});
var Footer = React.lazy(function () {
  return import(
  /* webpackChunkName: "footer" */
  './components/footer');
});
import './App.less';

var App = function App() {
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return React.createElement("div", {
    className: "App"
  }, React.createElement("header", {
    className: "header"
  }, React.createElement(Suspense, {
    fallback: null
  }, React.createElement(DataBus, {
    standalone: props.standalone,
    predefinedState: props.predefinedState
  })), !isMobile ? React.createElement(Suspense, {
    fallback: React.createElement("div", {
      className: 'headerPlaceholder'
    })
  }, React.createElement(ViewsSwitches, null)) : null, React.createElement(Suspense, {
    fallback: null
  }, React.createElement(TopBar, null))), React.createElement("div", {
    className: "body"
  }, React.createElement(Suspense, {
    fallback: null
  }, React.createElement(ExplorerBar, null)), React.createElement(Suspense, {
    fallback: React.createElement("div", {
      className: 'loader'
    }, React.createElement(Spin, null))
  }, React.createElement(TreeDiagramsContainer, null)), React.createElement(Suspense, {
    fallback: null
  }, React.createElement(SideBar, null)), props.extraLayout.appBodyBottom && React.createElement(props.extraLayout.appBodyBottom.Component, props)), React.createElement("footer", {
    className: "footer"
  }, React.createElement(Suspense, {
    fallback: null
  }, React.createElement(Footer, null))));
};

export default App;