{"version":3,"sources":["webpack:///scripts/modal-bundle--9ad00f474b92f1059fe4.js","webpack:///./project/client/src/core/components/modal/dialog/dialog.js","webpack:///./project/client/src/core/components/modal/dialog/plugin--bundled.js","webpack:///./project/client/src/core/components/modal/iframe-loader/iframe-loader.js","webpack:///./project/client/src/core/components/modal/iframe-loader/plugin--bundled.js","webpack:///./project/client/src/core/components/modal/image-loader/image-loader.js","webpack:///./project/client/src/core/components/modal/image-loader/plugin--bundled.js","webpack:///./project/client/src/core/components/modal/modal-bundle.js","webpack:///./project/client/src/core/components/modal/modal-pager/modal-pager.js","webpack:///./project/client/src/core/components/modal/modal-pager/plugin--bundled.js","webpack:///./project/client/src/core/components/modal/modal/modal.js","webpack:///./project/client/src/core/components/modal/open-modal/open-modal.js","webpack:///./project/client/src/core/components/modal/open-modal/plugin--bundled.js"],"names":["webpackJsonp","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/dialog/dialog.js","module","exports","__webpack_require__","_classCallCheck","instance","Constructor","TypeError","Object","defineProperty","value","_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","key","protoProps","staticProps","prototype","_debug","_debug2","obj","__esModule","default","log","Dialog","element","options","this","controller","document","querySelector","controllerSelector","watch","addEventListener","loadDialogHandler","bind","unloadDialog","event","template","getElementById","detail","templateId","clone","importNode","content","appendChild","hidden","remove","DEFAULTS","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/dialog/plugin--bundled.js","_interopRequireDefault","_jquery","_jquery2","_lib","_lib2","_dialog","_dialog2","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/iframe-loader/iframe-loader.js","IframeLoader","iframe","iframeSelector","loadIframeHandler","unloadIframeHandler","src","style","setProperty","aspectRatio","title","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/iframe-loader/plugin--bundled.js","_iframeLoader","_iframeLoader2","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/image-loader/image-loader.js","ImageLoader","image","imageSelector","loadImageHandler","unloadImageeHandler","alt","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/image-loader/plugin--bundled.js","_imageLoader","_imageLoader2","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/modal-bundle.js","init","PLUGIN_NAME","Modal","ELEMENT_SELECTOR","_modal","_modal2","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/modal-pager/modal-pager.js","getJSONValue","stringValue","JSON","parse","error","ModalPager","modal","modalSelector","modalGalleryItems","Array","from","querySelectorAll","currentIndex","maxIndex","openModalHandler","backHandler","nextHandler","openingButton","indexOf","stopPropagation","openedEvent","CustomEvent","openEvent","bubbles","cancelable","assign","dialogClass","pager","hasBack","hasNext","dispatchEvent","newIndex","opener","getPageElement","dialogLabel","dataset","openModalDialogLabel","openModalOnOpen","pageModal","index","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/modal-pager/plugin--bundled.js","_modalPager","_modalPager2","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/modal/modal.js","_inert","_key","_key2","closeButton","closeButtonSelector","pagingControls","pagingControlsSelector","backButton","backButtonSelector","nextButton","nextButtonSelector","overlay","overlaySelector","escapeHandle","openHandler","pageHandler","close","goBack","goNext","handleIntent","initPager","assignOpeningButton","assignDialogLabel","assignDialogClass","open","closeContent","eventDetail","assignedClass","classList","add","setAttribute","intent","eventName","intentEvent","escape","arrowKeyHandle","left","right","inertOutside","isNotMyOverlay","notifyOpened","setTimeout","focusTarget","focus","unInertOutside","disengage","removeEventListener","removeAttribute","onCloseEvent","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/open-modal/open-modal.js","OpenModal","openModal","eventData","onOpen","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/open-modal/plugin--bundled.js","_openModal","_openModal2"],"mappings":"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","file":"scripts/modal-bundle--9ad00f474b92f1059fe4.js","sourcesContent":["webpackJsonp([\"modal-bundle\"],{\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/dialog/dialog.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar log = (0, _debug2.default)(\"dialog\");\n\nvar Dialog = function () {\n\tfunction Dialog(element, options) {\n\t\t_classCallCheck(this, Dialog);\n\n\t\tthis.element = element;\n\t\tthis.options = options;\n\t\tthis.controller = document.querySelector(this.options.controllerSelector);\n\n\t\tthis.watch();\n\t\tlog(element, options);\n\t}\n\n\t_createClass(Dialog, [{\n\t\tkey: \"watch\",\n\t\tvalue: function watch() {\n\t\t\tthis.controller.addEventListener('load_dialog', this.loadDialogHandler.bind(this));\n\t\t\tthis.controller.addEventListener('unloadmodal', this.unloadDialog.bind(this));\n\t\t}\n\t}, {\n\t\tkey: \"loadDialogHandler\",\n\t\tvalue: function loadDialogHandler(event) {\n\t\t\tlog('load dialog', event);\n\t\t\tvar template = document.getElementById(event.detail.templateId);\n\t\t\tvar clone = document.importNode(template.content, true);\n\t\t\tthis.element.appendChild(clone);\n\t\t\tthis.element.hidden = false;\n\t\t}\n\t}, {\n\t\tkey: \"unloadDialog\",\n\t\tvalue: function unloadDialog() {\n\t\t\tlog('unload dialog');\n\t\t\tthis.element.hidden = true;\n\t\t\tvar content = this.element.querySelector('*');\n\t\t\tif (content) {\n\t\t\t\tcontent.remove();\n\t\t\t}\n\t\t}\n\t}]);\n\n\treturn Dialog;\n}();\n\nDialog.DEFAULTS = {};\n\nexports.default = Dialog;\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/dialog/plugin--bundled.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _dialog = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/dialog/dialog.js\");\n\nvar _dialog2 = _interopRequireDefault(_dialog);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-dialog]';\nvar PLUGIN_NAME = 'Dialog';\n\n(0, _lib2.default)(PLUGIN_NAME, _dialog2.default);\n\n(0, _jquery2.default)(function () {\n\t(0, _jquery2.default)(ELEMENT_SELECTOR)[PLUGIN_NAME]();\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/iframe-loader/iframe-loader.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar log = (0, _debug2.default)(\"iframe-loader\");\n\nvar IframeLoader = function () {\n\tfunction IframeLoader(element, options) {\n\t\t_classCallCheck(this, IframeLoader);\n\n\t\tthis.element = element;\n\t\tthis.options = options;\n\n\t\tthis.iframe = this.element.querySelector(this.options.iframeSelector);\n\t\tthis.controller = document.querySelector(this.options.controllerSelector);\n\n\t\tthis.watch();\n\t}\n\n\t_createClass(IframeLoader, [{\n\t\tkey: \"watch\",\n\t\tvalue: function watch() {\n\t\t\tthis.controller.addEventListener('loadiframe', this.loadIframeHandler.bind(this));\n\n\t\t\t// TODO dont presume this is in a modal\n\t\t\tthis.controller.addEventListener('unloadmodal', this.unloadIframeHandler.bind(this));\n\t\t}\n\t}, {\n\t\tkey: \"loadIframeHandler\",\n\t\tvalue: function loadIframeHandler(event) {\n\t\t\tlog('load iframe', event);\n\t\t\tthis.element.hidden = false;\n\n\t\t\t// extract and apply event detail data\n\n\t\t\tthis.iframe.src = event.detail.src;\n\t\t\tthis.controller.style.setProperty('--aspect-ratio', event.detail.aspectRatio);\n\t\t\tthis.iframe.title = event.detail.title;\n\t\t}\n\t}, {\n\t\tkey: \"unloadIframeHandler\",\n\t\tvalue: function unloadIframeHandler() {\n\t\t\tlog('unload iframe');\n\t\t\tthis.element.hidden = true;\n\n\t\t\tthis.iframe.src = '';\n\t\t\tthis.controller.style.setProperty('--aspect-ratio', 'initial');\n\t\t\tthis.iframe.title = '';\n\t\t}\n\t}]);\n\n\treturn IframeLoader;\n}();\n\nIframeLoader.DEFAULTS = {\n\tiframeSelector: 'iframe'\n};\n\nexports.default = IframeLoader;\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/iframe-loader/plugin--bundled.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _iframeLoader = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/iframe-loader/iframe-loader.js\");\n\nvar _iframeLoader2 = _interopRequireDefault(_iframeLoader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-iframe-loader]';\nvar PLUGIN_NAME = 'IframeLoader';\n\n(0, _lib2.default)(PLUGIN_NAME, _iframeLoader2.default);\n\n(0, _jquery2.default)(function () {\n\t(0, _jquery2.default)(ELEMENT_SELECTOR)[PLUGIN_NAME]();\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/image-loader/image-loader.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar log = (0, _debug2.default)(\"image-loader\");\n\nvar ImageLoader = function () {\n\tfunction ImageLoader(element, options) {\n\t\t_classCallCheck(this, ImageLoader);\n\n\t\tthis.element = element;\n\t\tthis.options = options;\n\n\t\tthis.image = this.element.querySelector(this.options.imageSelector);\n\t\tthis.controller = document.querySelector(this.options.controllerSelector);\n\n\t\tthis.watch();\n\t\tlog(element, options);\n\t}\n\n\t_createClass(ImageLoader, [{\n\t\tkey: \"watch\",\n\t\tvalue: function watch() {\n\t\t\tthis.controller.addEventListener('loadimage', this.loadImageHandler.bind(this));\n\n\t\t\t// TODO dont presume this is in a modal\n\t\t\tthis.controller.addEventListener('unloadmodal', this.unloadImageeHandler.bind(this));\n\t\t}\n\t}, {\n\t\tkey: \"loadImageHandler\",\n\t\tvalue: function loadImageHandler(event) {\n\t\t\tlog('load image', event);\n\t\t\tthis.element.hidden = false;\n\n\t\t\t// extract and apply event detail data\n\n\t\t\tthis.image.src = event.detail.src;\n\t\t\tthis.image.alt = event.detail.alt;\n\t\t}\n\t}, {\n\t\tkey: \"unloadImageeHandler\",\n\t\tvalue: function unloadImageeHandler() {\n\t\t\tlog('unload image');\n\t\t\tthis.element.hidden = true;\n\n\t\t\tthis.image.src = '';\n\t\t\tthis.image.alt = '';\n\t\t}\n\t}]);\n\n\treturn ImageLoader;\n}();\n\nImageLoader.DEFAULTS = {\n\timageSelector: 'img'\n};\n\nexports.default = ImageLoader;\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/image-loader/plugin--bundled.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _imageLoader = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/image-loader/image-loader.js\");\n\nvar _imageLoader2 = _interopRequireDefault(_imageLoader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-image-loader]';\nvar PLUGIN_NAME = 'ImageLoader';\n\n(0, _lib2.default)(PLUGIN_NAME, _imageLoader2.default);\n\n(0, _jquery2.default)(function () {\n\t(0, _jquery2.default)(ELEMENT_SELECTOR)[PLUGIN_NAME]();\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/modal-bundle.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = init;\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/open-modal/plugin--bundled.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/modal-pager/plugin--bundled.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/iframe-loader/plugin--bundled.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/image-loader/plugin--bundled.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/dialog/plugin--bundled.js\");\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _modal = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/modal/modal.js\");\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-modal]';\nvar PLUGIN_NAME = 'Modal';\n\nfunction init() {\n\t(0, _lib2.default)(PLUGIN_NAME, _modal2.default);\n\t(0, _jquery2.default)(ELEMENT_SELECTOR)[PLUGIN_NAME]();\n};\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/modal-pager/modal-pager.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar log = (0, _debug2.default)(\"modal\");\n\nfunction getJSONValue(stringValue) {\n\ttry {\n\t\treturn JSON.parse(stringValue);\n\t} catch (error) {\n\t\treturn stringValue;\n\t}\n}\n\nvar ModalPager = function () {\n\tfunction ModalPager(element, options) {\n\t\t_classCallCheck(this, ModalPager);\n\n\t\tthis.element = element;\n\t\tthis.options = options;\n\n\t\tthis.modal = document.querySelector(this.options.modalSelector);\n\t\tthis.modalGalleryItems = Array.from(this.element.querySelectorAll(\"[data-open-modal]\"));\n\n\t\tif (this.modalGalleryItems.length < 2) {\n\t\t\tlog(\"Modal paging not needed. Aborting.\");\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.currentIndex = null;\n\t\tthis.maxIndex = this.modalGalleryItems.length - 1;\n\t\tthis.watch();\n\t}\n\n\t_createClass(ModalPager, [{\n\t\tkey: \"watch\",\n\t\tvalue: function watch() {\n\t\t\tthis.element.addEventListener(\"open modal\", this.openModalHandler.bind(this));\n\t\t\tthis.element.addEventListener(\"modal back\", this.backHandler.bind(this));\n\t\t\tthis.element.addEventListener(\"modal next\", this.nextHandler.bind(this));\n\t\t}\n\t}, {\n\t\tkey: \"openModalHandler\",\n\t\tvalue: function openModalHandler(event) {\n\t\t\tlog(\"open\", event.detail.openingButton);\n\n\t\t\tthis.currentIndex = this.modalGalleryItems.indexOf(event.detail.openingButton);\n\n\t\t\tlog(\"items\", this.currentIndex, this.modalGalleryItems);\n\n\t\t\tif (this.currentIndex === -1) {\n\t\t\t\tlog(\"Oops! Opened item not found in paging.\");\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tevent.stopPropagation();\n\n\t\t\tvar openedEvent = new CustomEvent(this.options.openEvent, {\n\t\t\t\tbubbles: true,\n\t\t\t\tcancelable: true,\n\t\t\t\tdetail: Object.assign({\n\t\t\t\t\tdialogClass: \"modal--has-paging\",\n\t\t\t\t\tpager: this.element,\n\t\t\t\t\thasBack: this.currentIndex !== 0,\n\t\t\t\t\thasNext: this.currentIndex !== this.maxIndex\n\t\t\t\t}, event.detail)\n\t\t\t});\n\n\t\t\tdocument.dispatchEvent(openedEvent);\n\t\t}\n\t}, {\n\t\tkey: \"pageModal\",\n\t\tvalue: function pageModal(newIndex) {\n\t\t\tvar opener = this.getPageElement(newIndex);\n\n\t\t\tif (!opener) {\n\t\t\t\tlog(\"Oops! Modal page item at index \" + newIndex + \" doesn't exist. Aborting.\");\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.currentIndex = newIndex;\n\n\t\t\tdocument.dispatchEvent(new CustomEvent(\"page modal\", {\n\t\t\t\tbubbles: true,\n\t\t\t\tcancelable: true,\n\t\t\t\tdetail: Object.assign({\n\t\t\t\t\tdialogClass: \"modal--has-paging\",\n\t\t\t\t\tdialogLabel: opener.dataset.openModalDialogLabel,\n\t\t\t\t\tpager: this.element,\n\t\t\t\t\thasBack: newIndex !== 0,\n\t\t\t\t\thasNext: newIndex !== this.maxIndex\n\t\t\t\t}, getJSONValue(opener.dataset.openModalOnOpen))\n\t\t\t}));\n\t\t}\n\t}, {\n\t\tkey: \"backHandler\",\n\t\tvalue: function backHandler() {\n\t\t\tlog(\"back\");\n\t\t\tif (this.currentIndex > 0) {\n\t\t\t\tthis.pageModal(this.currentIndex - 1);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"nextHandler\",\n\t\tvalue: function nextHandler() {\n\t\t\tlog(\"next\");\n\t\t\tif (this.currentIndex < this.maxIndex) {\n\t\t\t\tthis.pageModal(this.currentIndex + 1);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"getPageElement\",\n\t\tvalue: function getPageElement(index) {\n\t\t\tvar element = this.modalGalleryItems[index];\n\t\t\treturn element;\n\t\t}\n\t}]);\n\n\treturn ModalPager;\n}();\n\nModalPager.DEFAULTS = {\n\tdialogLabel: \"Dialog\",\n\topenEvent: \"open modal\"\n};\n\nexports.default = ModalPager;\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/modal-pager/plugin--bundled.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _modalPager = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/modal-pager/modal-pager.js\");\n\nvar _modalPager2 = _interopRequireDefault(_modalPager);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-modal-pager]';\nvar PLUGIN_NAME = 'ModalPager';\n\n(0, _lib2.default)(PLUGIN_NAME, _modalPager2.default);\n\n(0, _jquery2.default)(function () {\n\t(0, _jquery2.default)(ELEMENT_SELECTOR)[PLUGIN_NAME]();\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/modal/modal.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _inert = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/utilities/inert.js\");\n\nvar _key = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ally.js/src/when/key.js\");\n\nvar _key2 = _interopRequireDefault(_key);\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar log = (0, _debug2.default)(\"modal\");\n\nvar Modal = function () {\n\tfunction Modal(element, options) {\n\t\t_classCallCheck(this, Modal);\n\n\t\tthis.element = element;\n\t\tthis.options = options;\n\n\t\tthis.closeButton = this.element.querySelector(this.options.closeButtonSelector);\n\t\tthis.pagingControls = this.element.querySelector(this.options.pagingControlsSelector);\n\t\tthis.backButton = this.element.querySelector(this.options.backButtonSelector);\n\t\tthis.nextButton = this.element.querySelector(this.options.nextButtonSelector);\n\t\tthis.overlay = document.querySelector(this.options.overlaySelector);\n\n\t\t// Assigned upon opening a paged modal\n\t\tthis.pager = null;\n\n\t\t// Ally library persistent object (between open and close)\n\t\tthis.escapeHandle = null;\n\n\t\tthis.watch();\n\t}\n\n\t_createClass(Modal, [{\n\t\tkey: \"watch\",\n\t\tvalue: function watch() {\n\t\t\tdocument.addEventListener(this.options.openEvent, this.openHandler.bind(this));\n\t\t\tdocument.addEventListener(\"page modal\", this.pageHandler.bind(this));\n\n\t\t\tthis.closeButton.addEventListener(\"click\", this.close.bind(this));\n\n\t\t\tthis.backButton.addEventListener(\"click\", this.goBack.bind(this));\n\t\t\tthis.nextButton.addEventListener(\"click\", this.goNext.bind(this));\n\t\t}\n\t}, {\n\t\tkey: \"openHandler\",\n\t\tvalue: function openHandler(event) {\n\t\t\tlog(\"open modal\", event);\n\n\t\t\tthis.handleIntent(event.detail);\n\t\t\tthis.initPager(event.detail);\n\t\t\tthis.assignOpeningButton(event.detail);\n\t\t\tthis.assignDialogLabel(event.detail);\n\t\t\tthis.assignDialogClass(event.detail);\n\t\t\tthis.open();\n\t\t}\n\t}, {\n\t\tkey: \"pageHandler\",\n\t\tvalue: function pageHandler(event) {\n\t\t\tlog(\"page modal\", event);\n\n\t\t\t// clean up existing modal\n\t\t\tthis.closeContent();\n\t\t\tthis.assignDialogLabel(event.detail);\n\t\t\tthis.assignDialogClass(event.detail);\n\t\t\tthis.handleIntent(event.detail);\n\t\t\tthis.initPager(event.detail);\n\t\t}\n\t}, {\n\t\tkey: \"initPager\",\n\t\tvalue: function initPager(eventDetail) {\n\t\t\tif (!eventDetail || !eventDetail.pager) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.pager = eventDetail.pager;\n\t\t\tthis.pagingControls.hidden = false;\n\t\t\tthis.backButton.hidden = !eventDetail.hasBack;\n\t\t\tthis.nextButton.hidden = !eventDetail.hasNext;\n\t\t}\n\t}, {\n\t\tkey: \"goNext\",\n\t\tvalue: function goNext() {\n\t\t\tthis.pager.dispatchEvent(new CustomEvent(\"modal next\", {\n\t\t\t\tbubbles: false,\n\t\t\t\tcancelable: true\n\t\t\t}));\n\t\t}\n\t}, {\n\t\tkey: \"goBack\",\n\t\tvalue: function goBack() {\n\t\t\tthis.pager.dispatchEvent(new CustomEvent(\"modal back\", {\n\t\t\t\tbubbles: false,\n\t\t\t\tcancelable: true\n\t\t\t}));\n\t\t}\n\t}, {\n\t\tkey: \"assignDialogClass\",\n\t\tvalue: function assignDialogClass(eventDetail) {\n\t\t\tif (!eventDetail || !eventDetail.dialogClass) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis.assignedClass = eventDetail.dialogClass;\n\t\t\tthis.element.classList.add(eventDetail.dialogClass);\n\t\t}\n\t}, {\n\t\tkey: \"assignDialogLabel\",\n\t\tvalue: function assignDialogLabel(eventDetail) {\n\t\t\tif (!eventDetail || !eventDetail.dialogLabel) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis.element.setAttribute(\"aria-label\", eventDetail.dialogLabel);\n\t\t}\n\t}, {\n\t\tkey: \"assignOpeningButton\",\n\t\tvalue: function assignOpeningButton(eventDetail) {\n\t\t\tif (!eventDetail || !eventDetail.openingButton) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis.openingButton = eventDetail.openingButton;\n\t\t}\n\t}, {\n\t\tkey: \"handleIntent\",\n\t\tvalue: function handleIntent(eventDetail) {\n\t\t\tif (!eventDetail || !eventDetail.intent) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tvar eventName = eventDetail.intent;\n\n\t\t\tvar intentEvent = new CustomEvent(eventName, {\n\t\t\t\tbubbles: false,\n\t\t\t\tcancelable: true,\n\t\t\t\tdetail: eventDetail\n\t\t\t});\n\n\t\t\tthis.element.dispatchEvent(intentEvent);\n\t\t}\n\t}, {\n\t\tkey: \"open\",\n\t\tvalue: function open() {\n\t\t\tthis.escapeHandle = (0, _key2.default)({\n\t\t\t\tescape: this.close.bind(this)\n\t\t\t});\n\n\t\t\tthis.arrowKeyHandle = (0, _key2.default)({\n\t\t\t\tleft: this.goBack.bind(this),\n\t\t\t\tright: this.goNext.bind(this)\n\t\t\t});\n\n\t\t\t(0, _inert.inertOutside)(this.element, this.isNotMyOverlay.bind(this));\n\n\t\t\tthis.element.hidden = false;\n\t\t\tthis.overlay.hidden = false;\n\n\t\t\t// Set event listener as needed to make it possible for other components to use this overlay\n\t\t\tthis.overlay.addEventListener(\"click\", this.close.bind(this));\n\n\t\t\tvar notifyOpened = new CustomEvent('modalopened', {\n\t\t\t\tbubbles: true\n\t\t\t});\n\n\t\t\tthis.element.dispatchEvent(notifyOpened);\n\n\t\t\tsetTimeout(function (focusTarget) {\n\t\t\t\tfocusTarget.focus();\n\t\t\t}, 0, this.element);\n\t\t}\n\t}, {\n\t\tkey: \"isNotMyOverlay\",\n\t\tvalue: function isNotMyOverlay(element) {\n\t\t\treturn element != this.overlay;\n\t\t}\n\t}, {\n\t\tkey: \"close\",\n\t\tvalue: function close() {\n\t\t\t(0, _inert.unInertOutside)(this.element);\n\t\t\tthis.escapeHandle.disengage();\n\t\t\tthis.arrowKeyHandle.disengage();\n\t\t\tthis.pager = null;\n\n\t\t\tthis.element.hidden = true;\n\t\t\tthis.overlay.hidden = true;\n\t\t\tthis.pagingControls.hidden = true;\n\t\t\tthis.backButton.hidden = true;\n\t\t\tthis.nextButton.hidden = true;\n\n\t\t\tthis.closeContent();\n\n\t\t\t// Remove event listener here to make it possible for other components to use this overlay\n\t\t\tthis.overlay.removeEventListener(\"click\", this.close.bind(this));\n\n\t\t\tthis.openingButton.focus();\n\t\t}\n\t}, {\n\t\tkey: \"closeContent\",\n\t\tvalue: function closeContent() {\n\t\t\tthis.element.removeAttribute(\"aria-label\");\n\t\t\tthis.element.classList.remove(this.assignedClass);\n\t\t\tthis.element.dispatchEvent(new CustomEvent(this.options.onCloseEvent, {\n\t\t\t\tbubbles: false\n\t\t\t}));\n\t\t}\n\t}]);\n\n\treturn Modal;\n}();\n\nModal.DEFAULTS = {\n\topenEvent: \"open modal\"\n};\n\nexports.default = Modal;\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/open-modal/open-modal.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar log = (0, _debug2.default)(\"open-modal\");\n\nvar OpenModal = function () {\n\tfunction OpenModal(element, options) {\n\t\t_classCallCheck(this, OpenModal);\n\n\t\tthis.element = element;\n\t\tthis.options = options;\n\n\t\tthis.modal = document.querySelector(this.options.modalSelector);\n\n\t\tthis.watch();\n\t}\n\n\t_createClass(OpenModal, [{\n\t\tkey: \"watch\",\n\t\tvalue: function watch() {\n\t\t\tthis.element.addEventListener(\"click\", this.openModal.bind(this));\n\t\t}\n\t}, {\n\t\tkey: \"openModal\",\n\t\tvalue: function openModal() {\n\t\t\tvar eventData = this.options.onOpen || {};\n\n\t\t\tvar openedEvent = new CustomEvent(this.options.openEvent, {\n\t\t\t\tbubbles: true,\n\t\t\t\tcancelable: true,\n\t\t\t\tdetail: Object.assign({\n\t\t\t\t\topeningButton: this.element,\n\t\t\t\t\tdialogLabel: this.options.dialogLabel\n\t\t\t\t}, eventData)\n\t\t\t});\n\n\t\t\tthis.element.dispatchEvent(openedEvent);\n\t\t}\n\t}]);\n\n\treturn OpenModal;\n}();\n\nOpenModal.DEFAULTS = {\n\tdialogLabel: \"Dialog\",\n\topenEvent: \"open modal\"\n};\n\nexports.default = OpenModal;\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/open-modal/plugin--bundled.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _openModal = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/open-modal/open-modal.js\");\n\nvar _openModal2 = _interopRequireDefault(_openModal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-open-modal]';\nvar PLUGIN_NAME = 'OpenModal';\n\n(0, _lib2.default)(PLUGIN_NAME, _openModal2.default);\n\n(0, _jquery2.default)(function () {\n\t(0, _jquery2.default)(ELEMENT_SELECTOR)[PLUGIN_NAME]();\n});\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// scripts/modal-bundle--9ad00f474b92f1059fe4.js","import debug from \"debug\";\r\n\r\nconst log = debug(\"dialog\");\r\n\r\nclass Dialog {\r\n\tconstructor(element, options) {\r\n\t\tthis.element = element;\r\n\t\tthis.options = options;\r\n\t\tthis.controller = document.querySelector(this.options.controllerSelector);\r\n\r\n\t\tthis.watch();\r\n\t\tlog(element,options);\r\n\t}\r\n\r\n\twatch() {\r\n\t\tthis.controller.addEventListener('load_dialog', this.loadDialogHandler.bind(this));\r\n\t\tthis.controller.addEventListener('unloadmodal', this.unloadDialog.bind(this));\r\n\t}\r\n\r\n\tloadDialogHandler(event){\r\n\t\tlog('load dialog', event);\r\n\t\tconst template = document.getElementById(event.detail.templateId);\r\n\t\tconst clone = document.importNode(template.content, true);\r\n\t\tthis.element.appendChild(clone);\r\n\t\tthis.element.hidden = false;\r\n\t}\r\n\r\n\tunloadDialog() {\r\n\t\tlog('unload dialog');\r\n\t\tthis.element.hidden = true;\r\n\t\tconst content = this.element.querySelector('*');\r\n\t\tif(content) {\r\n\t\t\tcontent.remove();\r\n\t\t}\r\n\t}\r\n}\r\n\r\nDialog.DEFAULTS = {};\r\n\r\nexport default Dialog;\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/modal/dialog/dialog.js","import $ from 'jquery';\r\nimport plugin from '@core/plugins/lib';\r\nimport Dialog from './dialog';\r\n\r\nconst ELEMENT_SELECTOR = '[data-dialog]';\r\nconst PLUGIN_NAME = 'Dialog';\r\n\r\nplugin(PLUGIN_NAME, Dialog);\r\n\r\n$(() => {\r\n\t$(ELEMENT_SELECTOR)[PLUGIN_NAME]();\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/modal/dialog/plugin--bundled.js","import debug from \"debug\";\r\n\r\nconst log = debug(\"iframe-loader\");\r\n\r\nclass IframeLoader {\r\n\tconstructor(element, options) {\r\n\t\tthis.element = element;\r\n\t\tthis.options = options;\r\n\r\n\t\tthis.iframe = this.element.querySelector(this.options.iframeSelector);\r\n\t\tthis.controller = document.querySelector(this.options.controllerSelector);\r\n\r\n\t\tthis.watch();\r\n\t}\r\n\r\n\twatch() {\r\n\t\tthis.controller.addEventListener('loadiframe', this.loadIframeHandler.bind(this));\r\n\r\n\t\t// TODO dont presume this is in a modal\r\n\t\tthis.controller.addEventListener('unloadmodal', this.unloadIframeHandler.bind(this));\r\n\t}\r\n\r\n\tloadIframeHandler(event){\r\n\t\tlog('load iframe', event);\r\n\t\tthis.element.hidden = false;\r\n\r\n\t\t// extract and apply event detail data\r\n\r\n\t\tthis.iframe.src = event.detail.src;\r\n\t\tthis.controller.style.setProperty('--aspect-ratio', event.detail.aspectRatio);\r\n\t\tthis.iframe.title = event.detail.title;\r\n\t}\r\n\r\n\tunloadIframeHandler() {\r\n\t\tlog('unload iframe');\r\n\t\tthis.element.hidden = true;\r\n\r\n\t\tthis.iframe.src = '';\r\n\t\tthis.controller.style.setProperty('--aspect-ratio', 'initial');\r\n\t\tthis.iframe.title = '';\r\n\t}\r\n\r\n}\r\n\r\nIframeLoader.DEFAULTS = {\r\n\tiframeSelector: 'iframe'\r\n};\r\n\r\nexport default IframeLoader;\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/modal/iframe-loader/iframe-loader.js","import $ from 'jquery';\r\nimport plugin from '@core/plugins/lib';\r\nimport IframeLoader from './iframe-loader';\r\n\r\nconst ELEMENT_SELECTOR = '[data-iframe-loader]';\r\nconst PLUGIN_NAME = 'IframeLoader';\r\n\r\nplugin(PLUGIN_NAME, IframeLoader);\r\n\r\n$(() => {\r\n\t$(ELEMENT_SELECTOR)[PLUGIN_NAME]();\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/modal/iframe-loader/plugin--bundled.js","import debug from \"debug\";\r\n\r\nconst log = debug(\"image-loader\");\r\n\r\n\r\nclass ImageLoader {\r\n\tconstructor(element, options) {\r\n\t\tthis.element = element;\r\n\t\tthis.options = options;\r\n\r\n\t\tthis.image = this.element.querySelector(this.options.imageSelector);\r\n\t\tthis.controller = document.querySelector(this.options.controllerSelector);\r\n\r\n\t\tthis.watch();\r\n\t\tlog(element,options);\r\n\t}\r\n\r\n\twatch() {\r\n\t\tthis.controller.addEventListener('loadimage', this.loadImageHandler.bind(this));\r\n\r\n\t\t// TODO dont presume this is in a modal\r\n\t\tthis.controller.addEventListener('unloadmodal', this.unloadImageeHandler.bind(this));\r\n\t}\r\n\r\n\tloadImageHandler(event){\r\n\t\tlog('load image', event);\r\n\t\tthis.element.hidden = false;\r\n\r\n\t\t// extract and apply event detail data\r\n\r\n\t\tthis.image.src = event.detail.src;\r\n\t\tthis.image.alt = event.detail.alt;\r\n\t}\r\n\r\n\tunloadImageeHandler() {\r\n\t\tlog('unload image');\r\n\t\tthis.element.hidden = true;\r\n\r\n\t\tthis.image.src = '';\r\n\t\tthis.image.alt = '';\r\n\t}\r\n\r\n}\r\n\r\nImageLoader.DEFAULTS = {\r\n\timageSelector: 'img'\r\n};\r\n\r\nexport default ImageLoader;\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/modal/image-loader/image-loader.js","import $ from 'jquery';\r\nimport plugin from '@core/plugins/lib';\r\nimport ImageLoader from './image-loader';\r\n\r\nconst ELEMENT_SELECTOR = '[data-image-loader]';\r\nconst PLUGIN_NAME = 'ImageLoader';\r\n\r\nplugin(PLUGIN_NAME, ImageLoader);\r\n\r\n$(() => {\r\n\t$(ELEMENT_SELECTOR)[PLUGIN_NAME]();\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/modal/image-loader/plugin--bundled.js","import \"./open-modal/plugin--bundled\";\r\nimport \"./modal-pager/plugin--bundled\";\r\nimport \"./iframe-loader/plugin--bundled\";\r\nimport \"./image-loader/plugin--bundled\";\r\nimport \"./dialog/plugin--bundled\";\r\n\r\nimport $ from 'jquery';\r\nimport plugin from '@core/plugins/lib';\r\nimport Modal from './modal/modal';\r\n\r\nconst ELEMENT_SELECTOR = '[data-modal]';\r\nconst PLUGIN_NAME = 'Modal';\r\n\r\nexport default function init() {\r\n\tplugin(PLUGIN_NAME, Modal);\r\n\t$(ELEMENT_SELECTOR)[PLUGIN_NAME]();\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/modal/modal-bundle.js","import debug from \"debug\";\r\nconst log = debug(\"modal\");\r\n\r\nfunction getJSONValue(stringValue) {\r\n\ttry {\r\n\t\treturn JSON.parse(stringValue);\r\n\t} catch (error) {\r\n\t\treturn stringValue;\r\n\t}\r\n}\r\n\r\nclass ModalPager {\r\n\tconstructor(element, options) {\r\n\t\tthis.element = element;\r\n\t\tthis.options = options;\r\n\r\n\t\tthis.modal = document.querySelector(this.options.modalSelector);\r\n\t\tthis.modalGalleryItems = Array.from(\r\n\t\t\tthis.element.querySelectorAll(\"[data-open-modal]\")\r\n\t\t);\r\n\r\n\t\tif (this.modalGalleryItems.length < 2) {\r\n\t\t\tlog(\"Modal paging not needed. Aborting.\");\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tthis.currentIndex = null;\r\n\t\tthis.maxIndex = this.modalGalleryItems.length - 1;\r\n\t\tthis.watch();\r\n\t}\r\n\r\n\twatch() {\r\n\t\tthis.element.addEventListener(\r\n\t\t\t\"open modal\",\r\n\t\t\tthis.openModalHandler.bind(this)\r\n\t\t);\r\n\t\tthis.element.addEventListener(\r\n\t\t\t\"modal back\",\r\n\t\t\tthis.backHandler.bind(this)\r\n\t\t);\r\n\t\tthis.element.addEventListener(\r\n\t\t\t\"modal next\",\r\n\t\t\tthis.nextHandler.bind(this)\r\n\t\t);\r\n\t}\r\n\r\n\topenModalHandler(event) {\r\n\t\tlog(\"open\", event.detail.openingButton);\r\n\r\n\t\tthis.currentIndex = this.modalGalleryItems.indexOf(\r\n\t\t\tevent.detail.openingButton\r\n\t\t);\r\n\r\n\t\tlog(\"items\", this.currentIndex, this.modalGalleryItems);\r\n\r\n\t\tif (this.currentIndex === -1) {\r\n\t\t\tlog(\"Oops! Opened item not found in paging.\");\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tevent.stopPropagation();\r\n\r\n\t\tconst openedEvent = new CustomEvent(this.options.openEvent, {\r\n\t\t\tbubbles: true,\r\n\t\t\tcancelable: true,\r\n\t\t\tdetail: Object.assign(\r\n\t\t\t\t{\r\n\t\t\t\t\tdialogClass: \"modal--has-paging\",\r\n\t\t\t\t\tpager: this.element,\r\n\t\t\t\t\thasBack: this.currentIndex !== 0,\r\n\t\t\t\t\thasNext: this.currentIndex !== this.maxIndex,\r\n\t\t\t\t},\r\n\t\t\t\tevent.detail\r\n\t\t\t),\r\n\t\t});\r\n\r\n\t\tdocument.dispatchEvent(openedEvent);\r\n\t}\r\n\r\n\tpageModal(newIndex) {\r\n\t\tconst opener = this.getPageElement(newIndex);\r\n\r\n\t\tif (!opener) {\r\n\t\t\tlog(`Oops! Modal page item at index ${newIndex} doesn't exist. Aborting.`);\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tthis.currentIndex = newIndex;\r\n\r\n\t\tdocument.dispatchEvent(new CustomEvent(\"page modal\", {\r\n\t\t\tbubbles: true,\r\n\t\t\tcancelable: true,\r\n\t\t\tdetail: Object.assign(\r\n\t\t\t\t{\r\n\t\t\t\t\tdialogClass: \"modal--has-paging\",\r\n\t\t\t\t\tdialogLabel: opener.dataset.openModalDialogLabel,\r\n\t\t\t\t\tpager: this.element,\r\n\t\t\t\t\thasBack: newIndex !== 0,\r\n\t\t\t\t\thasNext: newIndex !== this.maxIndex,\r\n\t\t\t\t},\r\n\t\t\t\tgetJSONValue(opener.dataset.openModalOnOpen)\r\n\t\t\t),\r\n\t\t}));\r\n\t}\r\n\r\n\tbackHandler() {\r\n\t\tlog(\"back\");\r\n\t\tif (this.currentIndex > 0) {\r\n\t\t\tthis.pageModal(this.currentIndex - 1);\r\n\t\t}\r\n\t}\r\n\r\n\tnextHandler() {\r\n\t\tlog(\"next\");\r\n\t\tif (this.currentIndex < this.maxIndex) {\r\n\t\t\tthis.pageModal(this.currentIndex + 1);\r\n\t\t}\r\n\t}\r\n\r\n\tgetPageElement(index) {\r\n\t\tconst element = this.modalGalleryItems[index];\r\n\t\treturn element;\r\n\t}\r\n}\r\n\r\nModalPager.DEFAULTS = {\r\n\tdialogLabel: \"Dialog\",\r\n\topenEvent: \"open modal\",\r\n};\r\n\r\nexport default ModalPager;\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/modal/modal-pager/modal-pager.js","import $ from 'jquery';\r\nimport plugin from '@core/plugins/lib';\r\nimport ModalPager from './modal-pager';\r\n\r\nconst ELEMENT_SELECTOR = '[data-modal-pager]';\r\nconst PLUGIN_NAME = 'ModalPager';\r\n\r\nplugin(PLUGIN_NAME, ModalPager);\r\n\r\n$(() => {\r\n\t$(ELEMENT_SELECTOR)[PLUGIN_NAME]();\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/modal/modal-pager/plugin--bundled.js","import { inertOutside, unInertOutside} from \"@core/utilities/inert\";\r\nimport whenKey from 'ally.js/src/when/key';\r\n\r\nimport debug from \"debug\";\r\nconst log = debug(\"modal\");\r\n\r\nclass Modal {\r\n\tconstructor(element, options) {\r\n\t\tthis.element = element;\r\n\t\tthis.options = options;\r\n\r\n\t\tthis.closeButton = this.element.querySelector(\r\n\t\t\tthis.options.closeButtonSelector\r\n\t\t);\r\n\t\tthis.pagingControls = this.element.querySelector(\r\n\t\t\tthis.options.pagingControlsSelector\r\n\t\t);\r\n\t\tthis.backButton = this.element.querySelector(\r\n\t\t\tthis.options.backButtonSelector\r\n\t\t);\r\n\t\tthis.nextButton = this.element.querySelector(\r\n\t\t\tthis.options.nextButtonSelector\r\n\t\t);\r\n\t\tthis.overlay = document.querySelector(this.options.overlaySelector);\r\n\r\n\t\t// Assigned upon opening a paged modal\r\n\t\tthis.pager = null;\r\n\r\n\t\t// Ally library persistent object (between open and close)\r\n\t\tthis.escapeHandle = null;\r\n\r\n\t\tthis.watch();\r\n\t}\r\n\r\n\twatch() {\r\n\t\tdocument.addEventListener(\r\n\t\t\tthis.options.openEvent,\r\n\t\t\tthis.openHandler.bind(this)\r\n\t\t);\r\n\t\tdocument.addEventListener(\r\n\t\t\t\"page modal\",\r\n\t\t\tthis.pageHandler.bind(this)\r\n\t\t);\r\n\r\n\r\n\t\tthis.closeButton.addEventListener(\"click\", this.close.bind(this));\r\n\r\n\t\tthis.backButton.addEventListener(\"click\", this.goBack.bind(this));\r\n\t\tthis.nextButton.addEventListener(\"click\", this.goNext.bind(this));\r\n\t}\r\n\r\n\topenHandler(event) {\r\n\t\tlog(\"open modal\", event);\r\n\r\n\t\tthis.handleIntent(event.detail);\r\n\t\tthis.initPager(event.detail);\r\n\t\tthis.assignOpeningButton(event.detail);\r\n\t\tthis.assignDialogLabel(event.detail);\r\n\t\tthis.assignDialogClass(event.detail);\r\n\t\tthis.open();\r\n\t}\r\n\r\n\tpageHandler(event) {\r\n\t\tlog(\"page modal\", event);\r\n\r\n\t\t// clean up existing modal\r\n\t\tthis.closeContent();\r\n\t\tthis.assignDialogLabel(event.detail);\r\n\t\tthis.assignDialogClass(event.detail);\r\n\t\tthis.handleIntent(event.detail);\r\n\t\tthis.initPager(event.detail);\r\n\t}\r\n\r\n\tinitPager(eventDetail) {\r\n\t\tif(!eventDetail || !eventDetail.pager) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tthis.pager = eventDetail.pager;\r\n\t\tthis.pagingControls.hidden = false;\r\n\t\tthis.backButton.hidden = !eventDetail.hasBack;\r\n\t\tthis.nextButton.hidden = !eventDetail.hasNext;\r\n\t}\r\n\r\n\tgoNext() {\r\n\t\tthis.pager.dispatchEvent(new CustomEvent(\"modal next\", {\r\n\t\t\tbubbles: false,\r\n\t\t\tcancelable: true\r\n\t\t}));\r\n\t}\r\n\tgoBack() {\r\n\t\tthis.pager.dispatchEvent(new CustomEvent(\"modal back\", {\r\n\t\t\tbubbles: false,\r\n\t\t\tcancelable: true\r\n\t\t}));\r\n\t}\r\n\r\n\tassignDialogClass(eventDetail) {\r\n\t\tif(!eventDetail || !eventDetail.dialogClass) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tthis.assignedClass = eventDetail.dialogClass;\r\n\t\tthis.element.classList.add(eventDetail.dialogClass);\r\n\t}\r\n\r\n\tassignDialogLabel(eventDetail) {\r\n\t\tif(!eventDetail || !eventDetail.dialogLabel) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tthis.element.setAttribute(\"aria-label\", eventDetail.dialogLabel);\r\n\t}\r\n\r\n\tassignOpeningButton(eventDetail){\r\n\t\tif(!eventDetail || !eventDetail.openingButton) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tthis.openingButton = eventDetail.openingButton;\r\n\t}\r\n\r\n\thandleIntent(eventDetail){\r\n\t\tif(!eventDetail || !eventDetail.intent) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tconst eventName = eventDetail.intent;\r\n\r\n\t\tconst intentEvent = new CustomEvent(eventName, {\r\n\t\t\tbubbles: false,\r\n\t\t\tcancelable: true,\r\n\t\t\tdetail: eventDetail\r\n\t\t});\r\n\r\n\t\tthis.element.dispatchEvent(intentEvent);\r\n\t}\r\n\r\n\topen() {\r\n\t\tthis.escapeHandle = whenKey({\r\n\t\t\tescape: this.close.bind(this)\r\n\t\t});\r\n\r\n\t\tthis.arrowKeyHandle = whenKey({\r\n\t\t\tleft: this.goBack.bind(this),\r\n\t\t\tright: this.goNext.bind(this)\r\n\t\t});\r\n\r\n\t\tinertOutside(this.element, this.isNotMyOverlay.bind(this));\r\n\r\n\t\tthis.element.hidden = false;\r\n\t\tthis.overlay.hidden = false;\r\n\r\n\t\t// Set event listener as needed to make it possible for other components to use this overlay\r\n\t\tthis.overlay.addEventListener(\"click\", this.close.bind(this));\r\n\r\n\t\tconst notifyOpened = new CustomEvent('modalopened', {\r\n\t\t\tbubbles: true\r\n\t\t});\r\n\r\n\t\tthis.element.dispatchEvent(notifyOpened);\r\n\r\n\t\tsetTimeout(function (focusTarget){\r\n\t\t\tfocusTarget.focus();\r\n\t\t}, 0, this.element);\r\n\t}\r\n\r\n\tisNotMyOverlay(element) {\r\n\t\treturn element != this.overlay;\r\n\t}\r\n\r\n\tclose() {\r\n\t\tunInertOutside(this.element);\r\n\t\tthis.escapeHandle.disengage();\r\n\t\tthis.arrowKeyHandle.disengage();\r\n\t\tthis.pager = null;\r\n\r\n\t\tthis.element.hidden = true;\r\n\t\tthis.overlay.hidden = true;\r\n\t\tthis.pagingControls.hidden = true;\r\n\t\tthis.backButton.hidden = true;\r\n\t\tthis.nextButton.hidden = true;\r\n\r\n\t\tthis.closeContent();\r\n\r\n\t\t// Remove event listener here to make it possible for other components to use this overlay\r\n\t\tthis.overlay.removeEventListener(\"click\", this.close.bind(this));\r\n\r\n\t\tthis.openingButton.focus();\r\n\t}\r\n\r\n\tcloseContent() {\r\n\t\tthis.element.removeAttribute(\"aria-label\");\r\n\t\tthis.element.classList.remove(this.assignedClass);\r\n\t\tthis.element.dispatchEvent(new CustomEvent(this.options.onCloseEvent, {\r\n\t\t\tbubbles: false\r\n\t\t}));\r\n\t}\r\n}\r\n\r\nModal.DEFAULTS = {\r\n\topenEvent: \"open modal\"\r\n};\r\n\r\nexport default Modal;\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/modal/modal/modal.js","import debug from \"debug\";\r\n\r\nconst log = debug(\"open-modal\");\r\n\r\nclass OpenModal {\r\n\tconstructor(element, options) {\r\n\t\tthis.element = element;\r\n\t\tthis.options = options;\r\n\r\n\t\tthis.modal = document.querySelector(this.options.modalSelector);\r\n\r\n\t\tthis.watch();\r\n\t}\r\n\r\n\twatch() {\r\n\t\tthis.element.addEventListener(\"click\", this.openModal.bind(this));\r\n\t}\r\n\r\n\topenModal() {\r\n\t\tconst eventData = this.options.onOpen || {};\r\n\r\n\t\tconst openedEvent = new CustomEvent(this.options.openEvent, {\r\n\t\t\tbubbles: true,\r\n\t\t\tcancelable: true,\r\n\t\t\tdetail: Object.assign(\r\n\t\t\t\t{\r\n\t\t\t\t\topeningButton: this.element,\r\n\t\t\t\t\tdialogLabel: this.options.dialogLabel,\r\n\t\t\t\t},\r\n\t\t\t\teventData\r\n\t\t\t)\r\n\t\t});\r\n\r\n\t\tthis.element.dispatchEvent(openedEvent);\r\n\t}\r\n}\r\n\r\nOpenModal.DEFAULTS = {\r\n\tdialogLabel: \"Dialog\",\r\n\topenEvent: \"open modal\"\r\n};\r\n\r\nexport default OpenModal;\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/modal/open-modal/open-modal.js","import $ from 'jquery';\r\nimport plugin from '@core/plugins/lib';\r\nimport OpenModal from './open-modal';\r\n\r\nconst ELEMENT_SELECTOR = '[data-open-modal]';\r\nconst PLUGIN_NAME = 'OpenModal';\r\n\r\nplugin(PLUGIN_NAME, OpenModal);\r\n\r\n$(() => {\r\n\t$(ELEMENT_SELECTOR)[PLUGIN_NAME]();\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/modal/open-modal/plugin--bundled.js"],"sourceRoot":""}