diff options
-rw-r--r-- | .eslintrc.js | 6 | ||||
-rw-r--r-- | css/contacts.scss | 5 | ||||
-rw-r--r-- | css/details.scss | 70 | ||||
-rw-r--r-- | css/settings.scss | 150 | ||||
-rw-r--r-- | js/contacts.js | 4139 | ||||
-rw-r--r-- | package-lock.json | 52 | ||||
-rw-r--r-- | package.json | 1 | ||||
-rw-r--r-- | src/components/appNavigation.vue | 2 | ||||
-rw-r--r-- | src/components/appNavigation/navigationItem.vue | 10 | ||||
-rw-r--r-- | src/components/contentDetails.vue | 119 | ||||
-rw-r--r-- | src/components/contentList.vue | 10 | ||||
-rw-r--r-- | src/components/contentList/contentListItem.vue | 37 | ||||
-rw-r--r-- | src/components/popoverMenu/popoverItem.vue | 6 | ||||
-rw-r--r-- | src/models/contact.js | 22 | ||||
-rw-r--r-- | src/services/parseVcf.js | 4 | ||||
-rw-r--r-- | src/store/FakeName.vcf | 1 | ||||
-rw-r--r-- | src/store/addressbooks.js | 41 | ||||
-rw-r--r-- | src/store/contacts.js | 56 | ||||
-rw-r--r-- | src/store/index.js | 3 | ||||
-rw-r--r-- | src/views/Contacts.vue | 70 | ||||
-rw-r--r-- | webpack.common.js | 2 |
21 files changed, 4522 insertions, 284 deletions
diff --git a/.eslintrc.js b/.eslintrc.js index 7839ef54..8c2f0020 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -34,6 +34,7 @@ module.exports = { // tabs only indent: ['error', 'tab'], 'no-tabs': 0, + 'vue/html-indent': ['error', 'tab'], // only debug console 'no-console': ['error', { 'allow': ['debug'] }], // classes blocks @@ -41,8 +42,9 @@ module.exports = { // es6 import/export and require 'node/no-unpublished-require': ['off'], 'node/no-unsupported-features': ['off'], - // vue format - 'vue/html-indent': ['error', 'tab'], + // space before self-closing elements + 'vue/html-closing-bracket-spacing': 'error', + // code spacing with attributes 'vue/max-attributes-per-line': [ 'error', { diff --git a/css/contacts.scss b/css/contacts.scss index 75bb4ab9..92e7a293 100644 --- a/css/contacts.scss +++ b/css/contacts.scss @@ -1,3 +1,2 @@ -test { - color: transparent; -}
\ No newline at end of file +@import 'settings'; +@import 'details';
\ No newline at end of file diff --git a/css/details.scss b/css/details.scss new file mode 100644 index 00000000..545c21c4 --- /dev/null +++ b/css/details.scss @@ -0,0 +1,70 @@ +/** + * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> + * + * @author John Molakvoæ <skjnldsv@protonmail.com> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +#contact-details { + + // header + header { + height: 100px; + padding-left: 44px; + display: flex; + font-weight: bold; + align-items: center; + #contact-avatar { + position: relative; + height: 75px; + width: 75px; + border-radius: 50%; + overflow: hidden; + flex-shrink: 0; + .contact-avatar-background { + background-color: var(--color-background-dark); + opacity: .2; + z-index: 0; + } + img { + z-index: 1; + } + label.icon-upload-white { + opacity: .5; + z-index: 2; + &:hover, + a:active, + a:focus { + opacity: .7; + } + } + img + label.icon-upload-white { + opacity: 0; + } + .contact-avatar-background, + img, + label.icon-upload-white { + position: absolute; + width: 100%; + height: 100%; + } + } + } + + +}
\ No newline at end of file diff --git a/css/settings.scss b/css/settings.scss new file mode 100644 index 00000000..94307029 --- /dev/null +++ b/css/settings.scss @@ -0,0 +1,150 @@ +/** + * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> + * + * @author John Molakvoæ <skjnldsv@protonmail.com> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +// contacts settings section +#app-settings-content { + .settings-section { + display: flex; + align-items: center; + } +} + +// Addressbook lists +#address-book-list li { + padding: 6px 0; + display: flex; + align-items: center; + white-space: nowrap; + text-overflow: ellipsis; + + .addressbook-name { + display: block; + flex: 0 1 auto; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + .addressbook-share, + .addressbook-menu .icon-more { + width: 44px; + height: 44px; + opacity: .5; + &:hover, + &:focus, + &:active { + opacity: .7; + } + } + .addressbook-share { + margin-left: auto; + } +} + +#new-addressbook-form { + display: flex; +} + +// Share Addressbook +.addressBook-share-list { + margin-top: 8px; + margin-bottom: 12px; + display: flex; + flex-direction: column; +} + +// Sharees settings for Addressbook +.sharee-input { + width: 100% !important; + margin-right: 0; + padding-right: 30px; + text-overflow: ellipsis; +} + +.calendar-share-item { + padding: 0 5px; + display: inline-flex; + align-items: center; + .shareeIdentifier { + width: 100%; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + display: inline-block; + vertical-align: top; + opacity: 0.5; + } + .utils { + padding: 0 !important; + float: right; + position: relative !important; + display: inline-flex; + align-items: center; + flex-shrink: 0; + height: 20px; + .checkbox + label { + padding: 0 !important; + } + } + + .icon { + margin-right: 5px; + opacity: 0.2; + width: 16px; + height: 16px; + display: inline-block; + } + + .icon-group { + background-image: url(/apps/contacts/img/group.svg); + } + + .icon-delete { + display: inline-block; + width: 24px; + height: 20px; + opacity: 0.4; + } +} + +// Sort Contacts +.sort-contacts { + .multiselect.multiselect-vue { + width: 120px; + margin-left: 5px; + } + input#sort-by, .multiselect__single { + padding: 6px 12px; + min-height: 34px; + text-align: center; + background: url(/core/css/../img/actions/triangle-s.svg) no-repeat right 4px center; + background-color: inherit; + outline: 0; + padding-right: 24px !important; + } +} + +// Import contacts +.import-contact { + .multiselect.multiselect-vue { + width: 100%; + } +} diff --git a/js/contacts.js b/js/contacts.js index d1408e22..e99d178d 100644 --- a/js/contacts.js +++ b/js/contacts.js @@ -81,116 +81,3806 @@ /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./src/main.js"); +/******/ return __webpack_require__(__webpack_require__.s = 0); /******/ }) /************************************************************************/ /******/ ({ -/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************/ +/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=script&lang=js": +/*!*******************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=script&lang=js ***! + \*******************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexports.default = {\n\tname: 'App'\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL0FwcC52dWU/YzY1ZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkEyQkE7QUFDQTtBQURBLEMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9zcmMvQXBwLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8IS0tXG4gLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gLVxuIC0gQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gLVxuIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gLVxuIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gLVxuIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gLVxuIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuIC1cbiAtLT5cblxuPHRlbXBsYXRlPlxuXHQ8cm91dGVyLXZpZXcgLz5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdBcHAnXG59XG48L3NjcmlwdD5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=script&lang=js&\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexports.default = {\n\tname: 'App'\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL0FwcC52dWU/YzY1ZCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkEyQkE7QUFDQTtBQURBLEMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9zcmMvQXBwLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIjwhLS1cbiAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAtXG4gLSBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAtXG4gLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAtXG4gLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gLVxuIC0tPlxuXG48dGVtcGxhdGU+XG5cdDxyb3V0ZXItdmlldyAvPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0FwcCdcbn1cbjwvc2NyaXB0PlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=script&lang=js\n"); /***/ }), -/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/addressBook.vue?vue&type=script&lang=js&": -/*!***************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/addressBook.vue?vue&type=script&lang=js& ***! - \***************************************************************************************************************************************************/ +/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/addressBook.vue?vue&type=script&lang=js": +/*!**************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/addressBook.vue?vue&type=script&lang=js ***! + \**************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _popoverMenu = __webpack_require__(/*! ./popoverMenu */ \"./src/components/popoverMenu.vue\");\n\nvar _popoverMenu2 = _interopRequireDefault(_popoverMenu);\n\nvar _vueClickOutside = __webpack_require__(/*! vue-click-outside */ \"./node_modules/vue-click-outside/index.js\");\n\nvar _vueClickOutside2 = _interopRequireDefault(_vueClickOutside);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexports.default = {\n\tcomponents: {\n\t\tpopoverMenu: _popoverMenu2.default,\n\t\tclickOutside: _vueClickOutside2.default\n\t},\n\tdirectives: {\n\t\tclickOutside: _vueClickOutside2.default\n\t},\n\tprops: {\n\t\taddressbook: {\n\t\t\ttype: Object,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t}\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\tmenuOpen: false\n\t\t};\n\t},\n\n\tcomputed: {\n\t\tmenu: function menu() {\n\t\t\treturn [];\n\t\t}\n\t},\n\tmethods: {\n\t\tshare: function share() {\n\t\t\talert('Shared!');\n\t\t},\n\t\tcloseMenu: function closeMenu() {\n\t\t\tthis.menuOpen = false;\n\t\t},\n\t\ttoggleMenu: function toggleMenu() {\n\t\t\tthis.menuOpen = !this.menuOpen;\n\t\t}\n\t}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL2NvbXBvbmVudHMvYWRkcmVzc0Jvb2sudnVlP2IzOGYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBd0NBOzs7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBRUE7QUFDQTtBQUNBLG9DQURBO0FBRUE7QUFGQSxFQURBO0FBS0E7QUFDQTtBQURBLEVBTEE7QUFRQTtBQUNBO0FBQ0EsZUFEQTtBQUVBLFVBRkEsc0JBRUE7QUFDQTtBQUNBO0FBSkE7QUFEQSxFQVJBO0FBZ0JBLEtBaEJBLGtCQWdCQTtBQUNBO0FBQ0E7QUFEQTtBQUdBLEVBcEJBOztBQXFCQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTtBQUNBO0FBSEEsRUFyQkE7QUEwQkE7QUFDQSxPQURBLG1CQUNBO0FBQ0E7QUFDQSxHQUhBO0FBSUEsV0FKQSx1QkFJQTtBQUNBO0FBQ0EsR0FOQTtBQU9BLFlBUEEsd0JBT0E7QUFDQTtBQUNBO0FBVEE7QUExQkEsQyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPyEuL3NyYy9jb21wb25lbnRzL2FkZHJlc3NCb29rLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8IS0tXG4gIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTggSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAgLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuXG48dGVtcGxhdGU+XG5cdDxsaSA6Y2xhc3M9XCJ7J2Rpc2FibGVkJzogIWFkZHJlc3Nib29rLmVuYWJsZWR9XCI+XG5cdFx0PCEtLSBhZGRyZXNzYm9vayBuYW1lIC0tPlxuXHRcdHt7IGFkZHJlc3Nib29rLmRpc3BsYXlOYW1lIH19XG5cdFx0PCEtLSBzaGFyaW5nIGJ1dHRvbiAtLT5cblx0XHQ8YSBocmVmPVwiI1wiIGNsYXNzPVwiaWNvbi1zaGFyZWRcIiBAY2xpY2s9XCJzaGFyZVwiIC8+XG5cdFx0PCEtLSBwb3BvdmVybWVudSAtLT5cblx0XHQ8YSB2LWNsaWNrLW91dHNpZGU9XCJjbG9zZU1lbnVcIiBocmVmPVwiI1wiIGNsYXNzPVwiYWRkcmVzc2Jvb2stbWVudVwiXG5cdFx0XHRAY2xpY2s9XCJ0b2dnbGVNZW51XCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiaWNvbi1tb3JlXCIgLz5cblx0XHRcdDxkaXYgOmNsYXNzPVwieydvcGVuJzogbWVudU9wZW59XCIgY2xhc3M9XCJwb3BvdmVybWVudVwiPlxuXHRcdFx0XHQ8cG9wb3Zlci1tZW51IC8+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2E+XG5cdDwvbGk+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IHBvcG92ZXJNZW51IGZyb20gJy4vcG9wb3Zlck1lbnUnXG5pbXBvcnQgY2xpY2tPdXRzaWRlIGZyb20gJ3Z1ZS1jbGljay1vdXRzaWRlJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdGNvbXBvbmVudHM6IHtcblx0XHRwb3BvdmVyTWVudSxcblx0XHRjbGlja091dHNpZGVcblx0fSxcblx0ZGlyZWN0aXZlczoge1xuXHRcdGNsaWNrT3V0c2lkZVxuXHR9LFxuXHRwcm9wczoge1xuXHRcdGFkZHJlc3Nib29rOiB7XG5cdFx0XHR0eXBlOiBPYmplY3QsXG5cdFx0XHRkZWZhdWx0KCkge1xuXHRcdFx0XHRyZXR1cm4ge31cblx0XHRcdH1cblx0XHR9XG5cdH0sXG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdG1lbnVPcGVuOiBmYWxzZVxuXHRcdH1cblx0fSxcblx0Y29tcHV0ZWQ6IHtcblx0XHRtZW51KCkge1xuXHRcdFx0cmV0dXJuIFtdXG5cdFx0fVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0c2hhcmUoKSB7XG5cdFx0XHRhbGVydCgnU2hhcmVkIScpXG5cdFx0fSxcblx0XHRjbG9zZU1lbnUoKSB7XG5cdFx0XHR0aGlzLm1lbnVPcGVuID0gZmFsc2Vcblx0XHR9LFxuXHRcdHRvZ2dsZU1lbnUoKSB7XG5cdFx0XHR0aGlzLm1lbnVPcGVuID0gIXRoaXMubWVudU9wZW5cblx0XHR9XG5cdH1cbn1cbjwvc2NyaXB0PlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/addressBook.vue?vue&type=script&lang=js&\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _popoverMenu = __webpack_require__(/*! ./popoverMenu */ \"./src/components/popoverMenu.vue\");\n\nvar _popoverMenu2 = _interopRequireDefault(_popoverMenu);\n\nvar _vueClickOutside = __webpack_require__(/*! vue-click-outside */ \"./node_modules/vue-click-outside/index.js\");\n\nvar _vueClickOutside2 = _interopRequireDefault(_vueClickOutside);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexports.default = {\n\tcomponents: {\n\t\tpopoverMenu: _popoverMenu2.default,\n\t\tclickOutside: _vueClickOutside2.default\n\t},\n\tdirectives: {\n\t\tclickOutside: _vueClickOutside2.default\n\t},\n\tprops: {\n\t\taddressbook: {\n\t\t\ttype: Object,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t}\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\tmenuOpen: false\n\t\t};\n\t},\n\n\tcomputed: {\n\t\tmenu: function menu() {\n\t\t\treturn [];\n\t\t}\n\t},\n\tmethods: {\n\t\tshare: function share() {\n\t\t\talert('Shared!');\n\t\t},\n\t\tcloseMenu: function closeMenu() {\n\t\t\tthis.menuOpen = false;\n\t\t},\n\t\ttoggleMenu: function toggleMenu() {\n\t\t\tthis.menuOpen = !this.menuOpen;\n\t\t}\n\t}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL2NvbXBvbmVudHMvYWRkcmVzc0Jvb2sudnVlP2IzOGYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBd0NBOzs7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBRUE7QUFDQTtBQUNBLG9DQURBO0FBRUE7QUFGQSxFQURBO0FBS0E7QUFDQTtBQURBLEVBTEE7QUFRQTtBQUNBO0FBQ0EsZUFEQTtBQUVBLFVBRkEsc0JBRUE7QUFDQTtBQUNBO0FBSkE7QUFEQSxFQVJBO0FBZ0JBLEtBaEJBLGtCQWdCQTtBQUNBO0FBQ0E7QUFEQTtBQUdBLEVBcEJBOztBQXFCQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTtBQUNBO0FBSEEsRUFyQkE7QUEwQkE7QUFDQSxPQURBLG1CQUNBO0FBQ0E7QUFDQSxHQUhBO0FBSUEsV0FKQSx1QkFJQTtBQUNBO0FBQ0EsR0FOQTtBQU9BLFlBUEEsd0JBT0E7QUFDQTtBQUNBO0FBVEE7QUExQkEsQyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPyEuL3NyYy9jb21wb25lbnRzL2FkZHJlc3NCb29rLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIjwhLS1cbiAgLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAgLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAgLVxuICAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gIC1cbiAgLS0+XG5cbjx0ZW1wbGF0ZT5cblx0PGxpIDpjbGFzcz1cInsnZGlzYWJsZWQnOiAhYWRkcmVzc2Jvb2suZW5hYmxlZH1cIj5cblx0XHQ8IS0tIGFkZHJlc3Nib29rIG5hbWUgLS0+XG5cdFx0e3sgYWRkcmVzc2Jvb2suZGlzcGxheU5hbWUgfX1cblx0XHQ8IS0tIHNoYXJpbmcgYnV0dG9uIC0tPlxuXHRcdDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJpY29uLXNoYXJlZFwiIEBjbGljaz1cInNoYXJlXCIgLz5cblx0XHQ8IS0tIHBvcG92ZXJtZW51IC0tPlxuXHRcdDxhIHYtY2xpY2stb3V0c2lkZT1cImNsb3NlTWVudVwiIGhyZWY9XCIjXCIgY2xhc3M9XCJhZGRyZXNzYm9vay1tZW51XCJcblx0XHRcdEBjbGljaz1cInRvZ2dsZU1lbnVcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJpY29uLW1vcmVcIiAvPlxuXHRcdFx0PGRpdiA6Y2xhc3M9XCJ7J29wZW4nOiBtZW51T3Blbn1cIiBjbGFzcz1cInBvcG92ZXJtZW51XCI+XG5cdFx0XHRcdDxwb3BvdmVyLW1lbnUgLz5cblx0XHRcdDwvZGl2PlxuXHRcdDwvYT5cblx0PC9saT5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgcG9wb3Zlck1lbnUgZnJvbSAnLi9wb3BvdmVyTWVudSdcbmltcG9ydCBjbGlja091dHNpZGUgZnJvbSAndnVlLWNsaWNrLW91dHNpZGUnXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0Y29tcG9uZW50czoge1xuXHRcdHBvcG92ZXJNZW51LFxuXHRcdGNsaWNrT3V0c2lkZVxuXHR9LFxuXHRkaXJlY3RpdmVzOiB7XG5cdFx0Y2xpY2tPdXRzaWRlXG5cdH0sXG5cdHByb3BzOiB7XG5cdFx0YWRkcmVzc2Jvb2s6IHtcblx0XHRcdHR5cGU6IE9iamVjdCxcblx0XHRcdGRlZmF1bHQoKSB7XG5cdFx0XHRcdHJldHVybiB7fVxuXHRcdFx0fVxuXHRcdH1cblx0fSxcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0bWVudU9wZW46IGZhbHNlXG5cdFx0fVxuXHR9LFxuXHRjb21wdXRlZDoge1xuXHRcdG1lbnUoKSB7XG5cdFx0XHRyZXR1cm4gW11cblx0XHR9XG5cdH0sXG5cdG1ldGhvZHM6IHtcblx0XHRzaGFyZSgpIHtcblx0XHRcdGFsZXJ0KCdTaGFyZWQhJylcblx0XHR9LFxuXHRcdGNsb3NlTWVudSgpIHtcblx0XHRcdHRoaXMubWVudU9wZW4gPSBmYWxzZVxuXHRcdH0sXG5cdFx0dG9nZ2xlTWVudSgpIHtcblx0XHRcdHRoaXMubWVudU9wZW4gPSAhdGhpcy5tZW51T3BlblxuXHRcdH1cblx0fVxufVxuPC9zY3JpcHQ+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/addressBook.vue?vue&type=script&lang=js\n"); /***/ }), -/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/appNavigation.vue?vue&type=script&lang=js&": +/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/appNavigation.vue?vue&type=script&lang=js": +/*!****************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/appNavigation.vue?vue&type=script&lang=js ***! + \****************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _navigationItem = __webpack_require__(/*! ./appNavigation/navigationItem */ \"./src/components/appNavigation/navigationItem.vue\");\n\nvar _navigationItem2 = _interopRequireDefault(_navigationItem);\n\nvar _vueClickOutside = __webpack_require__(/*! vue-click-outside */ \"./node_modules/vue-click-outside/index.js\");\n\nvar _vueClickOutside2 = _interopRequireDefault(_vueClickOutside);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexports.default = {\n\tname: 'AppNavigation',\n\tcomponents: {\n\t\tnavigationItem: _navigationItem2.default,\n\t\tclickOutside: _vueClickOutside2.default\n\t},\n\tdirectives: {\n\t\tclickOutside: _vueClickOutside2.default\n\t},\n\tprops: {\n\t\tmenu: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn {\n\t\t\t\t\tnew: {\n\t\t\t\t\t\tid: 'new-item',\n\t\t\t\t\t\taction: function action() {\n\t\t\t\t\t\t\treturn alert('Success!');\n\t\t\t\t\t\t},\n\t\t\t\t\t\ticon: 'icon-add',\n\t\t\t\t\t\ttext: 'New item'\n\t\t\t\t\t},\n\t\t\t\t\tmenu: {\n\t\t\t\t\t\tid: 'navigation',\n\t\t\t\t\t\titems: []\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\topened: false\n\t\t};\n\t},\n\n\tmethods: {\n\t\ttoggleMenu: function toggleMenu() {\n\t\t\tthis.opened = !this.opened;\n\t\t},\n\t\tcloseMenu: function closeMenu() {\n\t\t\tthis.opened = false;\n\t\t}\n\t}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL2NvbXBvbmVudHMvYXBwTmF2aWdhdGlvbi52dWU/ZmVlMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUErQ0E7Ozs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBRUE7QUFDQSxzQkFEQTtBQUVBO0FBQ0EsMENBREE7QUFFQTtBQUZBLEVBRkE7QUFNQTtBQUNBO0FBREEsRUFOQTtBQVNBO0FBQ0E7QUFDQSxlQURBO0FBRUEsaUJBRkE7QUFHQTtBQUNBO0FBQ0E7QUFDQSxvQkFEQTtBQUVBO0FBQUE7QUFBQSxPQUZBO0FBR0Esc0JBSEE7QUFJQTtBQUpBLE1BREE7QUFPQTtBQUNBLHNCQURBO0FBRUE7QUFGQTtBQVBBO0FBY0E7QUFsQkE7QUFEQSxFQVRBO0FBK0JBLEtBL0JBLGtCQStCQTtBQUNBO0FBQ0E7QUFEQTtBQUdBLEVBbkNBOztBQW9DQTtBQUNBLFlBREEsd0JBQ0E7QUFDQTtBQUNBLEdBSEE7QUFJQSxXQUpBLHVCQUlBO0FBQ0E7QUFDQTtBQU5BO0FBcENBLEMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9zcmMvY29tcG9uZW50cy9hcHBOYXZpZ2F0aW9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIjwhLS1cbiAgLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAgLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAgLVxuICAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gIC1cbiAgLS0+XG5cbjx0ZW1wbGF0ZT5cblx0PGRpdiBpZD1cImFwcC1uYXZpZ2F0aW9uXCIgOmNsYXNzPVwieydpY29uLWxvYWRpbmcnOiBtZW51LmxvYWRpbmd9XCI+XG5cdFx0PGRpdiB2LWlmPVwibWVudS5uZXdcIiBjbGFzcz1cImFwcC1uYXZpZ2F0aW9uLW5ld1wiPlxuXHRcdFx0PGJ1dHRvbiA6aWQ9XCJtZW51Lm5ldy5pZFwiIDpjbGFzcz1cIm1lbnUubmV3Lmljb25cIiB0eXBlPVwiYnV0dG9uXCJcblx0XHRcdFx0QGNsaWNrPVwibWVudS5uZXcuYWN0aW9uXCI+e3sgbWVudS5uZXcudGV4dCB9fTwvYnV0dG9uPlxuXHRcdDwvZGl2PlxuXHRcdDx1bCA6aWQ9XCJtZW51LmlkXCI+XG5cdFx0XHQ8bmF2aWdhdGlvbi1pdGVtIHYtZm9yPVwiaXRlbSBpbiBtZW51Lml0ZW1zXCIgOml0ZW09XCJpdGVtXCIgOmtleT1cIml0ZW0ua2V5XCIgLz5cblx0XHQ8L3VsPlxuXHRcdDxkaXYgdi1jbGljay1vdXRzaWRlPVwiY2xvc2VNZW51XCIgdi1pZj1cIiEhJHNsb3RzWydzZXR0aW5ncy1jb250ZW50J11cIiBpZD1cImFwcC1zZXR0aW5nc1wiXG5cdFx0XHQ6Y2xhc3M9XCJ7b3Blbjogb3BlbmVkfVwiPlxuXHRcdFx0PGRpdiBpZD1cImFwcC1zZXR0aW5ncy1oZWFkZXJcIj5cblx0XHRcdFx0PGJ1dHRvbiBjbGFzcz1cInNldHRpbmdzLWJ1dHRvblwiXG5cdFx0XHRcdFx0ZGF0YS1hcHBzLXNsaWRlLXRvZ2dsZT1cIiNhcHAtc2V0dGluZ3MtY29udGVudFwiXG5cdFx0XHRcdFx0QGNsaWNrPVwidG9nZ2xlTWVudVwiXG5cdFx0XHRcdD57eyB0KCdjb250YWN0cycsICdTZXR0aW5ncycpIH19PC9idXR0b24+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgaWQ9XCJhcHAtc2V0dGluZ3MtY29udGVudFwiPlxuXHRcdFx0XHQ8c2xvdCBuYW1lPVwic2V0dGluZ3MtY29udGVudFwiIC8+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IG5hdmlnYXRpb25JdGVtIGZyb20gJy4vYXBwTmF2aWdhdGlvbi9uYXZpZ2F0aW9uSXRlbSdcbmltcG9ydCBjbGlja091dHNpZGUgZnJvbSAndnVlLWNsaWNrLW91dHNpZGUnXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0FwcE5hdmlnYXRpb24nLFxuXHRjb21wb25lbnRzOiB7XG5cdFx0bmF2aWdhdGlvbkl0ZW0sXG5cdFx0Y2xpY2tPdXRzaWRlXG5cdH0sXG5cdGRpcmVjdGl2ZXM6IHtcblx0XHRjbGlja091dHNpZGVcblx0fSxcblx0cHJvcHM6IHtcblx0XHRtZW51OiB7XG5cdFx0XHR0eXBlOiBPYmplY3QsXG5cdFx0XHRyZXF1aXJlZDogdHJ1ZSxcblx0XHRcdGRlZmF1bHQ6ICgpID0+IHtcblx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRuZXc6IHtcblx0XHRcdFx0XHRcdGlkOiAnbmV3LWl0ZW0nLFxuXHRcdFx0XHRcdFx0YWN0aW9uOiAoKSA9PiBhbGVydCgnU3VjY2VzcyEnKSxcblx0XHRcdFx0XHRcdGljb246ICdpY29uLWFkZCcsXG5cdFx0XHRcdFx0XHR0ZXh0OiAnTmV3IGl0ZW0nXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRtZW51OiB7XG5cdFx0XHRcdFx0XHRpZDogJ25hdmlnYXRpb24nLFxuXHRcdFx0XHRcdFx0aXRlbXM6IFtcblxuXHRcdFx0XHRcdFx0XVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fSxcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0b3BlbmVkOiBmYWxzZVxuXHRcdH1cblx0fSxcblx0bWV0aG9kczoge1xuXHRcdHRvZ2dsZU1lbnUoKSB7XG5cdFx0XHR0aGlzLm9wZW5lZCA9ICF0aGlzLm9wZW5lZFxuXHRcdH0sXG5cdFx0Y2xvc2VNZW51KCkge1xuXHRcdFx0dGhpcy5vcGVuZWQgPSBmYWxzZVxuXHRcdH1cblx0fVxufVxuPC9zY3JpcHQ+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/appNavigation.vue?vue&type=script&lang=js\n"); + +/***/ }), + +/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/appNavigation/navigationItem.vue?vue&type=script&lang=js": +/*!*******************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/appNavigation/navigationItem.vue?vue&type=script&lang=js ***! + \*******************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _popoverMenu = __webpack_require__(/*! ../popoverMenu */ \"./src/components/popoverMenu.vue\");\n\nvar _popoverMenu2 = _interopRequireDefault(_popoverMenu);\n\nvar _vueClickOutside = __webpack_require__(/*! vue-click-outside */ \"./node_modules/vue-click-outside/index.js\");\n\nvar _vueClickOutside2 = _interopRequireDefault(_vueClickOutside);\n\nvar _vue = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.js\");\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n\tname: 'NavigationItem',\n\tcomponents: {\n\t\tpopoverMenu: _popoverMenu2.default\n\t},\n\tdirectives: {\n\t\tClickOutside: _vueClickOutside2.default\n\t},\n\tprops: {\n\t\titem: {\n\t\t\ttype: Object,\n\t\t\trequired: true\n\t\t}\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\topenedMenu: false\n\t\t};\n\t},\n\tmounted: function mounted() {\n\t\t// prevent click outside event with popupItem.\n\t\tthis.popupItem = this.$el;\n\t},\n\n\tmethods: {\n\t\tshowMenu: function showMenu() {\n\t\t\tthis.openedMenu = true;\n\t\t},\n\t\thideMenu: function hideMenu() {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\t\ttoggleCollapse: function toggleCollapse() {\n\t\t\t// if item.opened isn't set, Vue won't trigger view updates https://vuejs.org/v2/api/#Vue-set\n\t\t\t// ternary is here to detect the undefined state of item.opened\n\t\t\t_vue2.default.set(this.item, 'opened', this.item.opened ? !this.item.opened : true);\n\t\t},\n\t\tcancelEdit: function cancelEdit() {\n\t\t\t// remove the editing class\n\t\t\tif (Array.isArray(this.item.classes)) {\n\t\t\t\tthis.item.classes = this.item.classes.filter(function (item) {\n\t\t\t\t\treturn item !== 'editing';\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\t// This is used to decide which outter element type to use\n\t\t// li or router-link\n\t\tnavElement: function navElement(item) {\n\t\t\tif (item.href) {\n\t\t\t\treturn {\n\t\t\t\t\tis: 'li'\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tis: 'router-link',\n\t\t\t\ttag: 'li',\n\t\t\t\tto: item.router,\n\t\t\t\texact: true\n\t\t\t};\n\t\t}\n\t}\n}; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n// |