/******/ (function(modules) { // webpackBootstrap
/******/ 	// install a JSONP callback for chunk loading
/******/ 	function webpackJsonpCallback(data) {
/******/ 		var chunkIds = data[0];
/******/ 		var moreModules = data[1];
/******/ 		var executeModules = data[2];
/******/
/******/ 		// add "moreModules" to the modules object,
/******/ 		// then flag all "chunkIds" as loaded and fire callback
/******/ 		var moduleId, chunkId, i = 0, resolves = [];
/******/ 		for(;i < chunkIds.length; i++) {
/******/ 			chunkId = chunkIds[i];
/******/ 			if(installedChunks[chunkId]) {
/******/ 				resolves.push(installedChunks[chunkId][0]);
/******/ 			}
/******/ 			installedChunks[chunkId] = 0;
/******/ 		}
/******/ 		for(moduleId in moreModules) {
/******/ 			if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
/******/ 				modules[moduleId] = moreModules[moduleId];
/******/ 			}
/******/ 		}
/******/ 		if(parentJsonpFunction) parentJsonpFunction(data);
/******/
/******/ 		while(resolves.length) {
/******/ 			resolves.shift()();
/******/ 		}
/******/
/******/ 		// add entry modules from loaded chunk to deferred list
/******/ 		deferredModules.push.apply(deferredModules, executeModules || []);
/******/
/******/ 		// run deferred modules when all chunks ready
/******/ 		return checkDeferredModules();
/******/ 	};
/******/ 	function checkDeferredModules() {
/******/ 		var result;
/******/ 		for(var i = 0; i < deferredModules.length; i++) {
/******/ 			var deferredModule = deferredModules[i];
/******/ 			var fulfilled = true;
/******/ 			for(var j = 1; j < deferredModule.length; j++) {
/******/ 				var depId = deferredModule[j];
/******/ 				if(installedChunks[depId] !== 0) fulfilled = false;
/******/ 			}
/******/ 			if(fulfilled) {
/******/ 				deferredModules.splice(i--, 1);
/******/ 				result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
/******/ 			}
/******/ 		}
/******/
/******/ 		return result;
/******/ 	}
/******/
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// object to store loaded and loading chunks
/******/ 	// undefined = chunk not loaded, null = chunk preloaded/prefetched
/******/ 	// Promise = chunk loading, 0 = chunk loaded
/******/ 	var installedChunks = {
/******/ 		"main": 0
/******/ 	};
/******/
/******/ 	var deferredModules = [];
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__webpack_require__.d = function(exports, name, getter) {
/******/ 		if(!__webpack_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ 		}
/******/ 	};
/******/
/******/ 	// define __esModule on exports
/******/ 	__webpack_require__.r = function(exports) {
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 		}
/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
/******/ 	};
/******/
/******/ 	// create a fake namespace object
/******/ 	// mode & 1: value is a module id, require it
/******/ 	// mode & 2: merge all properties of value into the ns
/******/ 	// mode & 4: return value when already ns object
/******/ 	// mode & 8|1: behave like require
/******/ 	__webpack_require__.t = function(value, mode) {
/******/ 		if(mode & 1) value = __webpack_require__(value);
/******/ 		if(mode & 8) return value;
/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ 		var ns = Object.create(null);
/******/ 		__webpack_require__.r(ns);
/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ 		return ns;
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "";
/******/
/******/ 	var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
/******/ 	var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
/******/ 	jsonpArray.push = webpackJsonpCallback;
/******/ 	jsonpArray = jsonpArray.slice();
/******/ 	for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
/******/ 	var parentJsonpFunction = oldJsonpFunction;
/******/
/******/
/******/ 	// add entry module to deferred list
/******/ 	deferredModules.push([0,"vendor~main"]);
/******/ 	// run deferred modules when ready
/******/ 	return checkDeferredModules();
/******/ })
/************************************************************************/
/******/ ({

/***/ "./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js?!./node_modules/sass-loader/lib/loader.js?!./src/styles/main.scss":
/*!***************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js??ref--7-2!./node_modules/sass-loader/lib/loader.js??ref--7-3!./src/styles/main.scss ***!
  \***************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "./src/application/application.js":
/*!****************************************!*\
  !*** ./src/application/application.js ***!
  \****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var presentation_application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! presentation-application */ "./node_modules/presentation-application/dist/presentation-application.js");
/* harmony import */ var presentation_application__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(presentation_application__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _router_router_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../router/router.js */ "./src/router/router.js");
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants.js */ "./src/constants.js");




class Application extends presentation_application__WEBPACK_IMPORTED_MODULE_0__["Application"] {
  constructor() {
    super({
      "name": _constants_js__WEBPACK_IMPORTED_MODULE_2__["APP_NAME"],
      "router": new _router_router_js__WEBPACK_IMPORTED_MODULE_1__["default"]()
    });
    this.title = _constants_js__WEBPACK_IMPORTED_MODULE_2__["APP_NAME"];
  }

}

;
const app = new Application();
/* harmony default export */ __webpack_exports__["default"] = (app);

/***/ }),

/***/ "./src/components/aboutDialog.js":
/*!***************************************!*\
  !*** ./src/components/aboutDialog.js ***!
  \***************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var presentation_dialogs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! presentation-dialogs */ "./node_modules/presentation-dialogs/dist/presentation-dialogs.js");
/* harmony import */ var presentation_dialogs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(presentation_dialogs__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants.js */ "./src/constants.js");



class AboutDialog extends presentation_dialogs__WEBPACK_IMPORTED_MODULE_0__["DialogView"] {
  constructor() {
    super({
      "el": _constants_js__WEBPACK_IMPORTED_MODULE_1__["DIALOG_EL"],
      "buttons": {
        "cancel": "cancel"
      },
      "style": "bigForm about",
      "name": "about",
      "body": `
        <h2>A way cool app</h2>
        <h3>Version ${"1.2.0"}</h3>
        <p>Does something cool</p>
        <p class="author">Written by ${_constants_js__WEBPACK_IMPORTED_MODULE_1__["AUTHOR"]}</p>
        <figure class="logo"></figure>
      `,
      "title": `${_constants_js__WEBPACK_IMPORTED_MODULE_1__["APP_NAME"]}`
    });
  }

}

;
/* harmony default export */ __webpack_exports__["default"] = (AboutDialog);

/***/ }),

/***/ "./src/components/article.js":
/*!***********************************!*\
  !*** ./src/components/article.js ***!
  \***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var presentation_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! presentation-components */ "./node_modules/presentation-components/dist/presentation-components.js");
/* harmony import */ var presentation_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(presentation_components__WEBPACK_IMPORTED_MODULE_0__);


class Article extends presentation_components__WEBPACK_IMPORTED_MODULE_0__["Article"] {
  constructor() {
    super({
      "id": "app",
      "name": "article",
      "style": "article",
      "header": "<i></i>",
      "headerStyle": "header",
      "headerEl": "header",
      "body": ""
    }); // This is where body content will go

    this.addSection({
      "id": "main",
      "class": "main"
    }); // for the dialogs

    this.addSection({
      "id": "dialogs",
      "class": "dialogs"
    });
  }

}

;
/* harmony default export */ __webpack_exports__["default"] = (Article);

/***/ }),

/***/ "./src/components/header.js":
/*!**********************************!*\
  !*** ./src/components/header.js ***!
  \**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var presentation_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! presentation-components */ "./node_modules/presentation-components/dist/presentation-components.js");
/* harmony import */ var presentation_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(presentation_components__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants.js */ "./src/constants.js");
/* harmony import */ var _messages_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../messages.js */ "./src/messages.js");



const AVATAR_IMAGE = "avatar";
const MENU = "menu";

class Header extends presentation_components__WEBPACK_IMPORTED_MODULE_0__["Header"] {
  constructor(options) {
    super({
      "el": "#header",
      "name": "header"
    });
    this.template = `
      <nav id="${MENU}"></nav>
      <figure data-${this.name}="logo" data-click="logo" class="logo" id="${AVATAR_IMAGE}"></figure>
      <h1 class="appname">${_constants_js__WEBPACK_IMPORTED_MODULE_1__["APP_NAME"]}</h1>
    `;
  }

  logo(e) {
    this.sendMessage(_messages_js__WEBPACK_IMPORTED_MODULE_2__["DISPLAY_ABOUT"]);
  }

}

;
/* harmony default export */ __webpack_exports__["default"] = (Header);

/***/ }),

/***/ "./src/constants.js":
/*!**************************!*\
  !*** ./src/constants.js ***!
  \**************************/
/*! exports provided: APP_NAME, AUTHOR, DIALOG_EL */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "APP_NAME", function() { return APP_NAME; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AUTHOR", function() { return AUTHOR; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DIALOG_EL", function() { return DIALOG_EL; });
const APP_NAME = "My Application";
const AUTHOR = "Me";
const DIALOG_EL = "#dialogs";

/***/ }),

/***/ "./src/index.js":
/*!**********************!*\
  !*** ./src/index.js ***!
  \**********************/
/*! no exports provided */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var presentation_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! presentation-css */ "./node_modules/presentation-css/src/styles/material-generic.scss");
/* harmony import */ var presentation_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(presentation_css__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var material_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! material-icons */ "./node_modules/material-icons/iconfont/material-icons.css");
/* harmony import */ var material_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(material_icons__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var typeface_roboto__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! typeface-roboto */ "./node_modules/typeface-roboto/index.css");
/* harmony import */ var typeface_roboto__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(typeface_roboto__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _styles_main_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./styles/main.scss */ "./src/styles/main.scss");
/* harmony import */ var _styles_main_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_styles_main_scss__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _setup_initializeApp_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./setup/initializeApp.js */ "./src/setup/initializeApp.js");





Object(_setup_initializeApp_js__WEBPACK_IMPORTED_MODULE_4__["default"])();

/***/ }),

/***/ "./src/logger/logger.js":
/*!******************************!*\
  !*** ./src/logger/logger.js ***!
  \******************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var next_core_logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next-core-logger */ "./node_modules/next-core-logger/dist/next-core-logger.js");
/* harmony import */ var next_core_logger__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_core_logger__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var presentation_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! presentation-logger */ "./node_modules/presentation-logger/dist/presentation-logger.js");
/* harmony import */ var presentation_logger__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(presentation_logger__WEBPACK_IMPORTED_MODULE_1__);


const Logger = new presentation_logger__WEBPACK_IMPORTED_MODULE_1__["ConsoleLogger"](next_core_logger__WEBPACK_IMPORTED_MODULE_0__["Level"].DEBUG);
/* harmony default export */ __webpack_exports__["default"] = (Logger);

/***/ }),

/***/ "./src/messages.js":
/*!*************************!*\
  !*** ./src/messages.js ***!
  \*************************/
/*! exports provided: DISPLAY_ERROR_MESSAGE, DISPLAY_MESSAGE, DISPLAY_NOTIFICATION, DISPLAY_ABOUT, NAVIGATION, PANEL, HEADER */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DISPLAY_ERROR_MESSAGE", function() { return DISPLAY_ERROR_MESSAGE; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DISPLAY_MESSAGE", function() { return DISPLAY_MESSAGE; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DISPLAY_NOTIFICATION", function() { return DISPLAY_NOTIFICATION; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DISPLAY_ABOUT", function() { return DISPLAY_ABOUT; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "NAVIGATION", function() { return NAVIGATION; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PANEL", function() { return PANEL; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HEADER", function() { return HEADER; });
const DISPLAY_ERROR_MESSAGE = "displayErrorMessage";
const DISPLAY_MESSAGE = "displayMessage";
const DISPLAY_NOTIFICATION = "displayNotification";
const DISPLAY_ABOUT = "displayabout";
const NAVIGATION = "navigation";
const PANEL = "panel";
const HEADER = "header";

/***/ }),

/***/ "./src/router/router.js":
/*!******************************!*\
  !*** ./src/router/router.js ***!
  \******************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _logger_logger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../logger/logger.js */ "./src/logger/logger.js");
/* harmony import */ var _application_application_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../application/application.js */ "./src/application/application.js");
/* harmony import */ var presentation_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! presentation-router */ "./node_modules/presentation-router/dist/presentation-router.js");
/* harmony import */ var presentation_router__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(presentation_router__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _messages_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../messages.js */ "./src/messages.js");
/* harmony import */ var _views_homeView_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../views/homeView.js */ "./src/views/homeView.js");



 // views


const TRANSITION = {
  "in": 250,
  "out": 250
};

const loadViewAndObserve = async (router, view) => {
  await router.loadView(view);
  await _application_application_js__WEBPACK_IMPORTED_MODULE_1__["default"].mediator.observeColleagueAndTrigger(view, _messages_js__WEBPACK_IMPORTED_MODULE_3__["PANEL"], view.name);
};

class Router extends presentation_router__WEBPACK_IMPORTED_MODULE_2__["Router"] {
  constructor() {
    super({
      "transition": TRANSITION,
      "routes": {
        "": () => {
          const view = new _views_homeView_js__WEBPACK_IMPORTED_MODULE_4__["default"]();
          loadViewAndObserve(this, view);
          return this;
        },
        "home": () => {
          const view = new _views_homeView_js__WEBPACK_IMPORTED_MODULE_4__["default"]();
          loadViewAndObserve(this, view);
          return this;
        }
      }
    });
  }

  cleanup() {
    if (this.view) {
      _application_application_js__WEBPACK_IMPORTED_MODULE_1__["default"].mediator.dismissColleagueTrigger(this.view, _messages_js__WEBPACK_IMPORTED_MODULE_3__["PANEL"], this.view.name);
    }

    return super.cleanup();
  }

}

;
/* harmony default export */ __webpack_exports__["default"] = (Router);

/***/ }),

/***/ "./src/setup/initializeApp.js":
/*!************************************!*\
  !*** ./src/setup/initializeApp.js ***!
  \************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _views_mediator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../views/mediator.js */ "./src/views/mediator.js");
/* harmony import */ var _components_article_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../components/article.js */ "./src/components/article.js");
/* harmony import */ var _components_header_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../components/header.js */ "./src/components/header.js");
/* harmony import */ var _application_application_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../application/application.js */ "./src/application/application.js");
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants.js */ "./src/constants.js");






const initializeApp = async () => {
  try {
    _application_application_js__WEBPACK_IMPORTED_MODULE_3__["default"].mediator = new _views_mediator_js__WEBPACK_IMPORTED_MODULE_0__["default"]();

    if (!_application_application_js__WEBPACK_IMPORTED_MODULE_3__["default"].mediator) {
      throw new Error("Error creating mediator!");
    }

    _application_application_js__WEBPACK_IMPORTED_MODULE_3__["default"].mediator.article = new _components_article_js__WEBPACK_IMPORTED_MODULE_1__["default"]();

    if (!_application_application_js__WEBPACK_IMPORTED_MODULE_3__["default"].mediator.article) {
      throw new Error("Error creating mediator!");
    }

    _application_application_js__WEBPACK_IMPORTED_MODULE_3__["default"].mediator.header = new _components_header_js__WEBPACK_IMPORTED_MODULE_2__["default"]();

    if (!_application_application_js__WEBPACK_IMPORTED_MODULE_3__["default"].mediator.header) {
      throw new Error("Error creating header!");
    }

    let view = await _application_application_js__WEBPACK_IMPORTED_MODULE_3__["default"].mediator.article.render();

    if (!view) {
      throw new Error("Error creating mediator!");
    }

    view = await _application_application_js__WEBPACK_IMPORTED_MODULE_3__["default"].mediator.header.render();

    if (!view) {
      throw new Error("Error creating header!");
    }

    _application_application_js__WEBPACK_IMPORTED_MODULE_3__["default"].mediator.observeColleagueAndTrigger(_application_application_js__WEBPACK_IMPORTED_MODULE_3__["default"].mediator.article, "article", "header");
    _application_application_js__WEBPACK_IMPORTED_MODULE_3__["default"].mediator.observeColleagueAndTrigger(_application_application_js__WEBPACK_IMPORTED_MODULE_3__["default"].mediator.header, "header", "header");

    if (!_application_application_js__WEBPACK_IMPORTED_MODULE_3__["default"].mediator.channels) {
      throw new Error("Error observing views!");
    }

    const p = await _application_application_js__WEBPACK_IMPORTED_MODULE_3__["default"].start();

    if (!p) {
      throw new Error("Error starting application!");
    }
  } catch (e) {
    const err = `Error initializing Application - ${e}`;
    throw new Error(err);
  }
};

/* harmony default export */ __webpack_exports__["default"] = (initializeApp);

/***/ }),

/***/ "./src/styles/main.scss":
/*!******************************!*\
  !*** ./src/styles/main.scss ***!
  \******************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {


var content = __webpack_require__(/*! !../../node_modules/mini-css-extract-plugin/dist/loader.js!../../node_modules/css-loader/dist/cjs.js??ref--7-2!../../node_modules/sass-loader/lib/loader.js??ref--7-3!./main.scss */ "./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js?!./node_modules/sass-loader/lib/loader.js?!./src/styles/main.scss");

if(typeof content === 'string') content = [[module.i, content, '']];

var transform;
var insertInto;



var options = {"hmr":true}

options.transform = transform
options.insertInto = undefined;

var update = __webpack_require__(/*! ../../node_modules/style-loader/lib/addStyles.js */ "./node_modules/style-loader/lib/addStyles.js")(content, options);

if(content.locals) module.exports = content.locals;

if(false) {}

/***/ }),

/***/ "./src/views/functions/mediation.js":
/*!******************************************!*\
  !*** ./src/views/functions/mediation.js ***!
  \******************************************/
/*! exports provided: displayAbout, displayErrorMessage, displayMessage, displayNotification */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "displayAbout", function() { return displayAbout; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "displayErrorMessage", function() { return displayErrorMessage; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "displayMessage", function() { return displayMessage; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "displayNotification", function() { return displayNotification; });
/* harmony import */ var presentation_dialogs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! presentation-dialogs */ "./node_modules/presentation-dialogs/dist/presentation-dialogs.js");
/* harmony import */ var presentation_dialogs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(presentation_dialogs__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _components_aboutDialog_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../components/aboutDialog.js */ "./src/components/aboutDialog.js");
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants.js */ "./src/constants.js");




const displayDialog = async (clazz, context) => {
  if (context.messageDialog) {
    await context.messageDialog.remove();
    context.messageDialog = null;
  }

  context.messageDialog = clazz;
  await context.messageDialog.render();
  return true;
};

const displayAbout = async context => {
  return displayDialog(new _components_aboutDialog_js__WEBPACK_IMPORTED_MODULE_1__["default"](), context);
};
const displayErrorMessage = async (message, context) => {
  return displayDialog(new presentation_dialogs__WEBPACK_IMPORTED_MODULE_0__["ErrorDialogView"]({
    "el": _constants_js__WEBPACK_IMPORTED_MODULE_2__["DIALOG_EL"],
    "body": message
  }), context);
};
const displayMessage = async (message, title, context) => {
  return displayDialog(new presentation_dialogs__WEBPACK_IMPORTED_MODULE_0__["MessageDialogView"]({
    "el": _constants_js__WEBPACK_IMPORTED_MODULE_2__["DIALOG_EL"],
    "body": message,
    "title": title
  }), context);
};
const displayNotification = async (message, title, context) => {
  if (context.notify) {
    await context.notify.remove();
    context.notify = null;
  }

  context.notify = new presentation_dialogs__WEBPACK_IMPORTED_MODULE_0__["Notification"]({
    "el": _constants_js__WEBPACK_IMPORTED_MODULE_2__["DIALOG_EL"],
    "body": message,
    "title": title
  });
  await context.notify.render();
};

/***/ }),

/***/ "./src/views/homeView.js":
/*!*******************************!*\
  !*** ./src/views/homeView.js ***!
  \*******************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var presentation_decorator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! presentation-decorator */ "./node_modules/presentation-decorator/dist/presentation-decorator.js");
/* harmony import */ var presentation_decorator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(presentation_decorator__WEBPACK_IMPORTED_MODULE_0__);

const MOUNT_POINT = "#main";

class HomeView extends presentation_decorator__WEBPACK_IMPORTED_MODULE_0__["DirectiveView"] {
  constructor() {
    super({
      "el": MOUNT_POINT,
      "name": "homeview",
      "style": "view",
      "template": "<p>Welcome to Augmented.js Next!</p>"
    });
  }

}

;
/* harmony default export */ __webpack_exports__["default"] = (HomeView);

/***/ }),

/***/ "./src/views/mediator.js":
/*!*******************************!*\
  !*** ./src/views/mediator.js ***!
  \*******************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var presentation_mediator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! presentation-mediator */ "./node_modules/presentation-mediator/dist/presentation-mediator.js");
/* harmony import */ var presentation_mediator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(presentation_mediator__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _application_application_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../application/application.js */ "./src/application/application.js");
/* harmony import */ var _logger_logger_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../logger/logger.js */ "./src/logger/logger.js");
/* harmony import */ var _messages_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../messages.js */ "./src/messages.js");
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants.js */ "./src/constants.js");
/* harmony import */ var _functions_mediation_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./functions/mediation.js */ "./src/views/functions/mediation.js");







class Mediator extends presentation_mediator__WEBPACK_IMPORTED_MODULE_0__["Mediator"] {
  constructor() {
    super({
      "name": "appmediator"
    });
    this.on(_messages_js__WEBPACK_IMPORTED_MODULE_3__["DISPLAY_ABOUT"], message => {
      Object(_functions_mediation_js__WEBPACK_IMPORTED_MODULE_5__["displayAbout"])(this);
    });
    this.on(_messages_js__WEBPACK_IMPORTED_MODULE_3__["DISPLAY_ERROR_MESSAGE"], message => {
      Object(_functions_mediation_js__WEBPACK_IMPORTED_MODULE_5__["displayErrorMessage"])(message, this);
    });
    this.on(_messages_js__WEBPACK_IMPORTED_MODULE_3__["DISPLAY_MESSAGE"], (message, title) => {
      Object(_functions_mediation_js__WEBPACK_IMPORTED_MODULE_5__["displayMessage"])(message, title, this);
    });
    this.on(_messages_js__WEBPACK_IMPORTED_MODULE_3__["DISPLAY_NOTIFICATION"], (message, title) => {
      Object(_functions_mediation_js__WEBPACK_IMPORTED_MODULE_5__["displayNotification"])(message, title, this);
    });
    this.on(_messages_js__WEBPACK_IMPORTED_MODULE_3__["NAVIGATION"], where => {
      if (where) {
        _application_application_js__WEBPACK_IMPORTED_MODULE_1__["default"].navigate(where);
      } else {
        _logger_logger_js__WEBPACK_IMPORTED_MODULE_2__["default"].warn("Can not navigate to nowhere.");
      }
    });
  }

  displayErrorMessage(message) {
    Object(_functions_mediation_js__WEBPACK_IMPORTED_MODULE_5__["displayErrorMessage"])(message, this);
  }

  displayMessage(message, title) {
    Object(_functions_mediation_js__WEBPACK_IMPORTED_MODULE_5__["displayMessage"])(message, title, this);
  }

}

;
/* harmony default export */ __webpack_exports__["default"] = (Mediator);

/***/ }),

/***/ 0:
/*!****************************!*\
  !*** multi ./src/index.js ***!
  \****************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__(/*! ./src/index.js */"./src/index.js");


/***/ })

/******/ });
//# sourceMappingURL=bundle.js.map