{"version":3,"sources":["webpack:///./app/statamic/resources/js/app.js","webpack:///./app/statamic/resources/js/components/toast/toast/index.js","webpack:///./app/statamic/resources/js/components/toast/manager/index.js","webpack:///./app/statamic/resources/js/components/toast/main.js","webpack:///./app/statamic/resources/js/mixins/Notifications.js","webpack:///./app/statamic/resources/js/components/toast/polyfills.js","webpack:///./app/statamic/resources/js/components/toast/manager/template.html","webpack:///./app/statamic/resources/js/components/toast/toast/template.html","webpack:///./app/statamic/resources/js/components/NotificationBus.js"],"names":["Object","defineProperty","__webpack_exports__","value","$","__WEBPACK_IMPORTED_MODULE_0_vue__","__webpack_require__","__WEBPACK_IMPORTED_MODULE_0_vue___default","n","__WEBPACK_IMPORTED_MODULE_1__mixins_Notifications_js__","require","Vue","el","mixins","Notifications","data","isPublishPage","isPreviewing","showShortcuts","navVisible","version","Statamic","draggingNonFile","sneakPeekViewport","sneakPeekFields","windowWidth","modalOpen","showLoginModal","computed","hasSearchResults","this","$refs","search","hasItems","methods","preview","_this","self","$broadcast","addClass","wait","then","width","localStorage","getItem","style","left","$el","$emit","show","removeClass","stopPreviewing","_this2","fadeOut","hide","ms","Promise","resolve","setTimeout","toggleNav","dragStart","dragEnd","sneakPeekResizeStart","e","window","addEventListener","sneakPeekResizing","sneakPeekResizeEnd","css","removeEventListener","preventDefault","clientX","setItem","ready","_this3","Mousetrap","bind","focus","document","documentElement","clientWidth","events","changesMade","changed","onbeforeunload","modal.open","modal.close","defaultOptions","theme","timeLife","closeBtn","toast","template","props","message","required","position","type","Number","destroyed","twoWay","Boolean","options","coerce","assign","isShow","styles","directionOfJumping","_startLazyAutoDestroy","detached","clearTimeout","timerDestroy","remove","_clearTimer","$remove","$destroy","_startTimer","_stopTimer","maxToasts","manager","toasts","classesOfPosition","_updateClassesOfPosition","_updateDirectionOfJumping","showToast","_addToast","_moveToast","setOptions","arguments","length","undefined","unshift","isDestroyed","reduceRight","prev","i","concat","split","reduce","val","toLowerCase","match","components","vue-toast","vueToast","VueToast","flash","flashExistingMessages","forEach","_ref","setFlashMessage","bindToastNotifications","opts","timeout","hasOwnProperty","dismissible","setFlashSuccess","setFlashError","enumerable","configurable","writable","target","firstSource","TypeError","to","nextSource","keysArray","keys","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","module","exports","NotificationBus","instance","_classCallCheck","$dispatch","defineProperties","prototype","$notify","get"],"mappings":"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","file":"/app/statamic/resources/dist/js/app.js","sourcesContent":["import Vue from 'vue';\nimport Notifications from './mixins/Notifications.js';\n\nrequire('./components/NotificationBus');\n\nvar vm = new Vue({\n el: '#statamic',\n\n mixins: [ Notifications ],\n\n data: {\n isPublishPage: false,\n isPreviewing: false,\n showShortcuts: false,\n navVisible: false,\n version: Statamic.version,\n draggingNonFile: false,\n sneakPeekViewport: null,\n sneakPeekFields: null,\n windowWidth: null,\n modalOpen: false,\n showLoginModal: false\n },\n\n computed: {\n hasSearchResults: function() {\n return this.$refs.search.hasItems;\n }\n },\n\n methods: {\n preview: function() {\n var self = this;\n self.$broadcast('previewing');\n\n this.sneakPeekViewport = $('.sneak-peek-viewport')[0];\n this.sneakPeekFields = $('.page-wrapper')[0];\n\n $('.sneak-peek-wrapper').addClass('animating on');\n\n this.wait(200).then(() => {\n self.isPreviewing = true;\n let width = localStorage.getItem('statamic.sneakpeek.width') || 400;\n this.sneakPeekViewport.style.left = width + 'px';\n this.sneakPeekFields.style.width = width + 'px';\n $(this.$el).addClass('sneak-peeking');\n this.$emit('livepreview.opened');\n return this.wait(200);\n }).then(() => {\n $('#sneak-peek-iframe').show();\n $(this.$el).addClass('sneak-peek-editing sneak-peek-animating');\n return this.wait(500);\n }).then(() => {\n $(this.$el).removeClass('sneak-peek-animating');\n });\n },\n\n stopPreviewing: function() {\n this.$broadcast('previewing.stopped');\n\n $('.sneak-peek-wrapper').addClass('animating');\n $(this.$el).addClass('sneak-peek-animating');\n $(this.$el).removeClass('sneak-peek-editing');\n $('#sneak-peek-iframe').fadeOut();\n $('.sneak-peek-wrapper .icon').hide();\n\n this.wait(500).then(() => {\n this.sneakPeekViewport.style.left = null;\n this.sneakPeekFields.style.width = null;\n $(this.$el).removeClass('sneak-peek-animating');\n $(this.$el).removeClass('sneak-peeking');\n return this.wait(200);\n }).then(() => {\n this.isPreviewing = false;\n this.$emit('livepreview.closed');\n $('.sneak-peek-wrapper').removeClass('on');\n return this.wait(200);\n }).then(() => {\n $('.sneak-peek-wrapper').removeClass('animating');\n });\n },\n\n /**\n * Returns a promise after specified milliseconds\n *\n * A nice alternative to nested setTimeouts.\n */\n wait(ms) {\n return new Promise(resolve => {\n setTimeout(resolve, ms);\n });\n },\n\n toggleNav: function () {\n this.navVisible = !this.navVisible;\n },\n\n /**\n * When the dragstart event is triggered.\n *\n * This event doesn't get triggered when dragging something from outside the browser,\n * so we can determine that something other than a file is being dragged.\n */\n dragStart() {\n this.draggingNonFile = true;\n },\n\n /**\n * When the dragend event is triggered.\n *\n * This event doesn't get triggered when dragging something from outside the browser,\n * so we can determine that something other than a file is being dragged.\n */\n dragEnd() {\n this.draggingNonFile = false;\n },\n\n sneakPeekResizeStart(e) {\n window.addEventListener('mousemove', this.sneakPeekResizing);\n window.addEventListener('mouseup', this.sneakPeekResizeEnd);\n $('.sneak-peek-iframe-wrap').css('pointer-events', 'none');\n },\n\n sneakPeekResizeEnd(e) {\n window.removeEventListener('mousemove', this.sneakPeekResizing, false);\n window.removeEventListener('mouseup', this.sneakPeekResizeEnd, false);\n $('.sneak-peek-iframe-wrap').css('pointer-events', 'auto');\n },\n\n sneakPeekResizing(e) {\n e.preventDefault();\n\n let width = e.clientX;\n\n // Prevent the width being too narrow.\n width = (width < 350) ? 350 : width;\n\n this.sneakPeekViewport.style.left = width + 'px';\n this.sneakPeekFields.style.width = width + 'px';\n\n localStorage.setItem('statamic.sneakpeek.width', width);\n\n this.$emit('livepreview.resizing', width);\n },\n },\n\n ready: function() {\n Mousetrap.bind(['/', 'ctrl+f'], function(e) {\n $('#global-search').focus();\n }, 'keyup');\n\n Mousetrap.bind('?', function(e) {\n this.showShortcuts = true;\n }.bind(this), 'keyup');\n\n Mousetrap.bind('escape', function(e) {\n this.$broadcast('close-modal');\n this.$broadcast('close-editor');\n this.$broadcast('close-selector');\n this.$broadcast('close-dropdown', null);\n }.bind(this), 'keyup');\n\n // Keep track of whether something other than a file is being dragged\n // so that components can tell when a file is being dragged.\n window.addEventListener('dragstart', this.dragStart);\n window.addEventListener('dragend', this.dragEnd);\n\n this.windowWidth = document.documentElement.clientWidth;\n window.addEventListener('resize', () => this.windowWidth = document.documentElement.clientWidth);\n },\n\n events: {\n 'changesMade': function (changed) {\n // If true, a confirmation dialog will be displayed when the user tries to\n // navigate away (or refresh, etc). If false, the dialog will no longer show.\n if (changed) {\n window.onbeforeunload = () => '';\n } else {\n window.onbeforeunload = null;\n }\n },\n\n 'modal.open': function () {\n this.modalOpen = true;\n },\n\n 'modal.close': function () {\n this.modalOpen = false;\n }\n }\n});\n\n\n\n// WEBPACK FOOTER //\n// ./app/statamic/resources/js/app.js","import template from './template.html'\n\nconst defaultOptions = {\n theme: 'default', // info warning error success\n timeLife: 5000,\n closeBtn: false,\n}\n\nexport default {\n template: template,\n props: {\n message: {\n required: true\n },\n position: {\n type: Number,\n required: true\n },\n destroyed: {\n twoWay: true,\n type: Boolean,\n required: true\n },\n options: {\n type: Object,\n coerce(options) {\n return Object.assign({}, defaultOptions, options)\n },\n },\n },\n data() {\n return {\n isShow: false\n }\n },\n computed: {\n styles() {\n return [\n `alert-${this.options.theme}`,\n (this.options.closeBtn) ? 'alert-dismissible' : null,\n ];\n },\n style() {\n return `transform: translateY(${this.options.directionOfJumping}${this.position * 100}%)`\n }\n },\n ready() {\n setTimeout(() => {\n this.isShow = true\n }, 50)\n\n if (this.options.timeLife) {\n this._startLazyAutoDestroy()\n }\n },\n detached() {\n clearTimeout(this.timerDestroy)\n },\n methods: {\n // Public\n remove() {\n this._clearTimer()\n this.destroyed = true\n this.$remove().$destroy()\n\n return this\n },\n // Private\n _startLazyAutoDestroy() {\n this._clearTimer()\n this.timerDestroy = setTimeout(() => {\n this.$remove().$destroy()\n }, this.options.timeLife)\n },\n _clearTimer() {\n if (this.timerDestroy) {\n clearTimeout(this.timerDestroy)\n }\n },\n _startTimer() {\n if (this.options.timeLife) {\n this._startLazyAutoDestroy()\n }\n },\n _stopTimer() {\n if (this.options.timeLife) {\n this._clearTimer()\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/statamic/resources/js/components/toast/toast/index.js","import template from './template.html'\nimport vueToast from '../toast'\n\nimport {isNumber} from '../utils.js'\n\nconst defaultOptions = {\n maxToasts: 6,\n position: 'left bottom'\n}\n\nexport default {\n template: template,\n data() {\n return {\n toasts: [],\n options: defaultOptions\n }\n },\n computed: {\n classesOfPosition() {\n return this._updateClassesOfPosition(this.options.position)\n },\n directionOfJumping() {\n return this._updateDirectionOfJumping(this.options.position)\n }\n },\n methods: {\n // Public\n showToast(message, options) {\n this._addToast(message, options)\n this._moveToast()\n\n return this\n },\n setOptions(options) {\n this.options = Object.assign(this.options, options || {})\n\n return this\n },\n // Private\n _addToast(message, options = {}) {\n if (!message) {\n return\n }\n\n options.directionOfJumping = this.directionOfJumping\n\n this.toasts.unshift({\n message,\n options,\n isDestroyed: false\n })\n },\n _moveToast(toast) {\n const maxToasts = this.options.maxToasts > 0\n ? this.options.maxToasts\n : 9999\n\n // moving||removing old toasts\n this.toasts = this.toasts.reduceRight((prev, toast, i) => {\n if (toast.isDestroyed) {\n return prev\n }\n\n if (i + 1 >= maxToasts) {\n return prev\n }\n\n return [toast].concat(prev)\n }, [])\n },\n _updateClassesOfPosition(position) {\n return position.split(' ').reduce((prev, val) => {\n prev[`--${val.toLowerCase()}`] = true\n\n return prev\n }, {})\n },\n _updateDirectionOfJumping(position) {\n return position.match(/top/i) ? '+' : '-'\n }\n },\n components: {\n 'vue-toast': vueToast\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/statamic/resources/js/components/toast/manager/index.js","import './polyfills.js'\nimport manager from './manager'\n\nexport default manager\n\n\n\n// WEBPACK FOOTER //\n// ./app/statamic/resources/js/components/toast/main.js","import VueToast from '../components/toast/main.js';\n\nexport default {\n components: { VueToast },\n\n data: {\n toast: null,\n flash: Statamic.flash,\n },\n\n methods: {\n flashExistingMessages() {\n this.flash.forEach(\n ({ type, message }) => this.setFlashMessage(message, { theme: type })\n );\n },\n\n bindToastNotifications() {\n this.toast = this.$refs.toast;\n if (this.toast) {\n this.toast.setOptions({\n position: 'bottom right',\n });\n }\n },\n\n setFlashMessage(message, opts) {\n this.toast.showToast(message, {\n theme: opts.theme,\n timeLife: opts.timeout || 5000,\n closeBtn: opts.hasOwnProperty('dismissible') ? opts.dismissible : true,\n });\n },\n },\n\n events: {\n setFlashSuccess(message, opts) {\n opts = opts || {};\n opts.theme = 'success';\n this.setFlashMessage(message, opts);\n },\n\n setFlashError(message, opts) {\n opts = opts || {};\n opts.theme = 'danger';\n this.setFlashMessage(message, opts);\n },\n },\n\n ready() {\n this.bindToastNotifications();\n this.flashExistingMessages();\n },\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/statamic/resources/js/mixins/Notifications.js","if (!Object.assign) {\n Object.defineProperty(Object, 'assign', {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function(target, firstSource) {\n 'use strict';\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert first argument to object');\n }\n\n var to = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var nextSource = arguments[i];\n if (nextSource === undefined || nextSource === null) {\n continue;\n }\n\n var keysArray = Object.keys(Object(nextSource));\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n return to;\n }\n });\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/statamic/resources/js/components/toast/polyfills.js","module.exports = \"