{"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":["__webpack_require__","__WEBPACK_IMPORTED_MODULE_0_vue___default","a","el","mixins","__WEBPACK_IMPORTED_MODULE_1__mixins_Notifications_js__","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","Object","coerce","assign","isShow","styles","directionOfJumping","_startLazyAutoDestroy","detached","clearTimeout","timerDestroy","remove","_clearTimer","$remove","$destroy","_startTimer","_stopTimer","manager_defaultOptions","maxToasts","main","template_default","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","__webpack_exports__","VueToast","flash","flashExistingMessages","forEach","_ref","setFlashMessage","bindToastNotifications","opts","timeout","hasOwnProperty","dismissible","setFlashSuccess","setFlashError","defineProperty","enumerable","configurable","writable","value","target","firstSource","TypeError","to","nextSource","keysArray","keys","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","module","exports","NotificationBus","instance","_classCallCheck","$dispatch","defineProperties","prototype","$notify","get"],"mappings":"mLAGAA,EAAQ,KAEC,IAAIC,EAAAC,GACTC,GAAI,YAEJC,QAAUC,EAAA,GAEVC,MACIC,eAAe,EACfC,cAAc,EACdC,eAAe,EACfC,YAAY,EACZC,QAASC,SAASD,QAClBE,iBAAiB,EACjBC,kBAAmB,KACnBC,gBAAiB,KACjBC,YAAa,KACbC,WAAW,EACXC,gBAAgB,GAGpBC,UACIC,iBAAkB,WACd,OAAOC,KAAKC,MAAMC,OAAOC,WAIjCC,SACIC,QAAS,WAAW,IAAAC,EAAAN,KACZO,EAAOP,KACXO,EAAKC,WAAW,cAEhBR,KAAKP,kBAAoBgB,EAAE,wBAAwB,GACnDT,KAAKN,gBAAkBe,EAAE,iBAAiB,GAE1CA,EAAE,uBAAuBC,SAAS,gBAElCV,KAAKW,KAAK,KAAKC,KAAK,WAChBL,EAAKpB,cAAe,EACpB,IAAI0B,EAAQC,aAAaC,QAAQ,6BAA+B,IAKhE,OAJAT,EAAKb,kBAAkBuB,MAAMC,KAAOJ,EAAQ,KAC5CP,EAAKZ,gBAAgBsB,MAAMH,MAAQA,EAAQ,KAC3CJ,EAAEH,EAAKY,KAAKR,SAAS,iBACrBJ,EAAKa,MAAM,sBACJb,EAAKK,KAAK,OAClBC,KAAK,WAGJ,OAFAH,EAAE,sBAAsBW,OACxBX,EAAEH,EAAKY,KAAKR,SAAS,2CACdJ,EAAKK,KAAK,OAClBC,KAAK,WACJH,EAAEH,EAAKY,KAAKG,YAAY,2BAIhCC,eAAgB,WAAW,IAAAC,EAAAvB,KACvBA,KAAKQ,WAAW,sBAEhBC,EAAE,uBAAuBC,SAAS,aAClCD,EAAET,KAAKkB,KAAKR,SAAS,wBACrBD,EAAET,KAAKkB,KAAKG,YAAY,sBACxBZ,EAAE,sBAAsBe,UACxBf,EAAE,6BAA6BgB,OAE/BzB,KAAKW,KAAK,KAAKC,KAAK,WAKhB,OAJAW,EAAK9B,kBAAkBuB,MAAMC,KAAO,KACpCM,EAAK7B,gBAAgBsB,MAAMH,MAAQ,KACnCJ,EAAEc,EAAKL,KAAKG,YAAY,wBACxBZ,EAAEc,EAAKL,KAAKG,YAAY,iBACjBE,EAAKZ,KAAK,OAClBC,KAAK,WAIJ,OAHAW,EAAKpC,cAAe,EACpBoC,EAAKJ,MAAM,sBACXV,EAAE,uBAAuBY,YAAY,MAC9BE,EAAKZ,KAAK,OAClBC,KAAK,WACJH,EAAE,uBAAuBY,YAAY,gBAS7CV,KAzDK,SAyDAe,GACD,OAAO,IAAIC,QAAQ,SAAAC,GACfC,WAAWD,EAASF,MAI5BI,UAAW,WACP9B,KAAKX,YAAcW,KAAKX,YAS5B0C,UAzEK,WA0ED/B,KAAKR,iBAAkB,GAS3BwC,QAnFK,WAoFDhC,KAAKR,iBAAkB,GAG3ByC,qBAvFK,SAuFgBC,GACjBC,OAAOC,iBAAiB,YAAapC,KAAKqC,mBAC1CF,OAAOC,iBAAiB,UAAWpC,KAAKsC,oBACxC7B,EAAE,2BAA2B8B,IAAI,iBAAkB,SAGvDD,mBA7FK,SA6FcJ,GACfC,OAAOK,oBAAoB,YAAaxC,KAAKqC,mBAAmB,GAChEF,OAAOK,oBAAoB,UAAWxC,KAAKsC,oBAAoB,GAC/D7B,EAAE,2BAA2B8B,IAAI,iBAAkB,SAGvDF,kBAnGK,SAmGaH,GACdA,EAAEO,iBAEF,IAAI5B,EAAQqB,EAAEQ,QAGd7B,EAASA,EAAQ,IAAO,IAAMA,EAE9Bb,KAAKP,kBAAkBuB,MAAMC,KAAOJ,EAAQ,KAC5Cb,KAAKN,gBAAgBsB,MAAMH,MAAQA,EAAQ,KAE3CC,aAAa6B,QAAQ,2BAA4B9B,GAEjDb,KAAKmB,MAAM,uBAAwBN,KAI3C+B,MAAO,WAAW,IAAAC,EAAA7C,KACd8C,UAAUC,MAAM,IAAK,UAAW,SAASb,GACrCzB,EAAE,kBAAkBuC,SACrB,SAEHF,UAAUC,KAAK,IAAK,SAASb,GACzBlC,KAAKZ,eAAgB,GACvB2D,KAAK/C,MAAO,SAEd8C,UAAUC,KAAK,SAAU,SAASb,GAC9BlC,KAAKQ,WAAW,eAChBR,KAAKQ,WAAW,gBAChBR,KAAKQ,WAAW,kBAChBR,KAAKQ,WAAW,iBAAkB,OACpCuC,KAAK/C,MAAO,SAIdmC,OAAOC,iBAAiB,YAAapC,KAAK+B,WAC1CI,OAAOC,iBAAiB,UAAWpC,KAAKgC,SAExChC,KAAKL,YAAcsD,SAASC,gBAAgBC,YAC5ChB,OAAOC,iBAAiB,SAAU,kBAAMS,EAAKlD,YAAcsD,SAASC,gBAAgBC,eAGxFC,QACIC,YAAe,SAAUC,GAIjBnB,OAAOoB,eADPD,EACwB,iBAAM,IAEN,MAIhCE,aAAc,WACVxD,KAAKJ,WAAY,GAGrB6D,cAAe,WACXzD,KAAKJ,WAAY,4FCzLvB8D,GACFC,MAAO,UACPC,SAAU,IACVC,UAAU,GAGdC,GACIC,gBAAUlF,EACVmF,OACIC,SACIC,UAAU,GAEdC,UACIC,KAAMC,OACNH,UAAU,GAEdI,WACIC,QAAQ,EACRH,KAAMI,QACNN,UAAU,GAEdO,SACIL,KAAMM,OACNC,OAFK,SAEEF,GACH,OAAOC,OAAOE,UAAWlB,EAAgBe,MAIrDxF,KAtBW,WAuBP,OACI4F,QAAQ,IAGhB/E,UACIgF,OADM,WAEF,OAAO,SACM9E,KAAKyE,QAAQd,MACrB3D,KAAKyE,QAAQZ,SAAY,oBAAsB,OAGxD7C,MAPM,WAQF,+BAAgChB,KAAKyE,QAAQM,mBAAqC,IAAhB/E,KAAKmE,SAAvE,OAGRvB,MAtCW,WAsCH,IAAAtC,EAAAN,KACJ6B,WAAW,WACPvB,EAAKuE,QAAS,GACf,IAEC7E,KAAKyE,QAAQb,UACb5D,KAAKgF,yBAGbC,SA/CW,WAgDPC,aAAalF,KAAKmF,eAEtB/E,SAEIgF,OAFK,WAOD,OAJApF,KAAKqF,cACLrF,KAAKsE,WAAY,EACjBtE,KAAKsF,UAAUC,WAERvF,MAGXgF,sBAVK,WAUmB,IAAAzD,EAAAvB,KACpBA,KAAKqF,cACLrF,KAAKmF,aAAetD,WAAW,WAC3BN,EAAK+D,UAAUC,YAChBvF,KAAKyE,QAAQb,WAEpByB,YAhBK,WAiBGrF,KAAKmF,cACLD,aAAalF,KAAKmF,eAG1BK,YArBK,WAsBGxF,KAAKyE,QAAQb,UACb5D,KAAKgF,yBAGbS,WA1BK,WA2BGzF,KAAKyE,QAAQb,UACb5D,KAAKqF,iBCjFrB,IAAMK,GACJC,UAAW,EACXxB,SAAU,eCJZyB,GDQE7B,SAAU8B,EAAAhH,EACVI,KAFa,WAGX,OACE6G,UACArB,QAASiB,IAGb5F,UACEiG,kBADQ,WAEN,OAAO/F,KAAKgG,yBAAyBhG,KAAKyE,QAAQN,WAEpDY,mBAJQ,WAKN,OAAO/E,KAAKiG,0BAA0BjG,KAAKyE,QAAQN,YAGvD/D,SAEE8F,UAFO,SAEGjC,EAASQ,GAIjB,OAHAzE,KAAKmG,UAAUlC,EAASQ,GACxBzE,KAAKoG,aAEEpG,MAETqG,WARO,SAQI5B,GAGT,OAFAzE,KAAKyE,QAAUC,OAAOE,OAAO5E,KAAKyE,QAASA,OAEpCzE,MAGTmG,UAdO,SAcGlC,GAAuB,IAAdQ,EAAc6B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,MAC1BrC,IAILQ,EAAQM,mBAAqB/E,KAAK+E,mBAElC/E,KAAK8F,OAAOW,SACVxC,UACAQ,UACAiC,aAAa,MAGjBN,WA3BO,SA2BItC,GACT,IAAM6B,EAAY3F,KAAKyE,QAAQkB,UAAY,EACvC3F,KAAKyE,QAAQkB,UACb,KAGJ3F,KAAK8F,OAAS9F,KAAK8F,OAAOa,YAAY,SAACC,EAAM9C,EAAO+C,GAClD,OAAI/C,EAAM4C,YACDE,EAGLC,EAAI,GAAKlB,EACJiB,GAGD9C,GAAOgD,OAAOF,SAG1BZ,yBA7CO,SA6CkB7B,GACvB,OAAOA,EAAS4C,MAAM,KAAKC,OAAO,SAACJ,EAAMK,GAGvC,OAFAL,OAAUK,EAAIC,gBAAmB,EAE1BN,QAGXX,0BApDO,SAoDmB9B,GACxB,OAAOA,EAASgD,MAAM,QAAU,IAAM,MAG1CC,YACEC,YAAavD,IEjFjBwD,EAAA,GACIF,YAAcG,SAAA3B,GAEd3G,MACI6E,MAAO,KACP0D,MAAOjI,SAASiI,OAGpBpH,SACIqH,sBADK,WACmB,IAAAnH,EAAAN,KACpBA,KAAKwH,MAAME,QACP,SAAAC,GAAA,IAAGvD,EAAHuD,EAAGvD,KAAMH,EAAT0D,EAAS1D,QAAT,OAAuB3D,EAAKsH,gBAAgB3D,GAAWN,MAAOS,OAItEyD,uBAPK,WAQD7H,KAAK8D,MAAQ9D,KAAKC,MAAM6D,MACpB9D,KAAK8D,OACL9D,KAAK8D,MAAMuC,YACPlC,SAAU,kBAKtByD,gBAhBK,SAgBW3D,EAAS6D,GACrB9H,KAAK8D,MAAMoC,UAAUjC,GACjBN,MAAUmE,EAAKnE,MACfC,SAAUkE,EAAKC,SAAW,IAC1BlE,UAAUiE,EAAKE,eAAe,gBAAiBF,EAAKG,gBAKhE7E,QACI8E,gBADI,SACYjE,EAAS6D,IACrBA,EAAOA,OACFnE,MAAQ,UACb3D,KAAK4H,gBAAgB3D,EAAS6D,IAGlCK,cAPI,SAOUlE,EAAS6D,IACnBA,EAAOA,OACFnE,MAAQ,SACb3D,KAAK4H,gBAAgB3D,EAAS6D,KAItClF,MA/CW,WAgDP5C,KAAK6H,yBACL7H,KAAKyH,6CCnDR/C,OAAOE,QACVF,OAAO0D,eAAe1D,OAAQ,UAC5B2D,YAAY,EACZC,cAAc,EACdC,UAAU,EACVC,MAAO,SAASC,EAAQC,GACtB,aACA,QAAelC,IAAXiC,GAAmC,OAAXA,EAC1B,MAAM,IAAIE,UAAU,2CAItB,IADA,IAAIC,EAAKlE,OAAO+D,GACP5B,EAAI,EAAGA,EAAIP,UAAUC,OAAQM,IAAK,CACzC,IAAIgC,EAAavC,UAAUO,GAC3B,QAAmBL,IAAfqC,GAA2C,OAAfA,EAKhC,IADA,IAAIC,EAAYpE,OAAOqE,KAAKrE,OAAOmE,IAC1BG,EAAY,EAAGC,EAAMH,EAAUvC,OAAQyC,EAAYC,EAAKD,IAAa,CAC5E,IAAIE,EAAUJ,EAAUE,GACpBG,EAAOzE,OAAO0E,yBAAyBP,EAAYK,QAC1C1C,IAAT2C,GAAsBA,EAAKd,aAC7BO,EAAGM,GAAWL,EAAWK,KAI/B,OAAON,wBC3BbS,EAAAC,QAAA,+OCAAD,EAAAC,QAAA,srBCEMC,aACF,SAAAA,EAAYC,gGAAUC,CAAAzJ,KAAAuJ,GAClBvJ,KAAKwJ,SAAWA,4CAGZvF,EAAS6D,GACb9H,KAAKwJ,SAASE,UAAU,kBAAmBzF,EAAS6D,iCAGlD7D,EAAS6D,GACX9H,KAAKwJ,SAASE,UAAU,gBAAiBzF,EAAS6D,YAI1DpD,OAAOiF,iBAAiB/K,EAAAC,EAAI+K,WACxBC,SACIC,IADK,WAED,OAAO,IAAIP,EAAgBvJ","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 = \"