rails_notice 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +165 -0
  3. data/README.md +76 -0
  4. data/Rakefile +37 -0
  5. data/app/assets/config/rails_notice_manifest.js +3 -0
  6. data/app/assets/javascripts/controllers/notifications/index.js +0 -0
  7. data/app/assets/javascripts/controllers/rails_notice_admin/notification_settings/index.js +17 -0
  8. data/app/assets/javascripts/controllers/rails_notice_admin/notifications/index.js +15 -0
  9. data/app/assets/javascripts/controllers/rails_notice_admin/notify_settings/edit.js +3 -0
  10. data/app/assets/javascripts/controllers/rails_notice_admin/notify_settings/index.js +17 -0
  11. data/app/assets/javascripts/controllers/rails_notice_admin/notify_settings/new.js +18 -0
  12. data/app/assets/javascripts/rails_notice/cable.js +19 -0
  13. data/app/assets/javascripts/rails_notice/channels/notices.js +39 -0
  14. data/app/assets/javascripts/rails_notice/messenger-theme-future.js +33 -0
  15. data/app/assets/javascripts/rails_notice/messenger.min.js +2 -0
  16. data/app/assets/stylesheets/the_notify/cable.css +9 -0
  17. data/app/assets/stylesheets/the_notify/messenger-theme-air.css +357 -0
  18. data/app/assets/stylesheets/the_notify/messenger.css +105 -0
  19. data/app/channels/notices_channel.rb +7 -0
  20. data/app/channels/the_notify_connection.rb +30 -0
  21. data/app/controllers/concerns/rails_notice_controller.rb +18 -0
  22. data/app/controllers/rails_notice_admin/base_controller.rb +6 -0
  23. data/app/controllers/rails_notice_admin/notification_settings_controller.rb +55 -0
  24. data/app/controllers/rails_notice_admin/notifications_controller.rb +71 -0
  25. data/app/controllers/rails_notice_my/base_controller.rb +5 -0
  26. data/app/controllers/rails_notice_my/notification_settings_controller.rb +28 -0
  27. data/app/controllers/rails_notice_my/notifications_controller.rb +78 -0
  28. data/app/controllers/receivers_controller.rb +12 -0
  29. data/app/jobs/notification_job.rb +17 -0
  30. data/app/mailers/rails_notice_mailer.rb +21 -0
  31. data/app/models/annunciation.rb +4 -0
  32. data/app/models/concerns/i18n_helper.rb +14 -0
  33. data/app/models/concerns/the_notifiable.rb +33 -0
  34. data/app/models/concerns/the_publishable.rb +9 -0
  35. data/app/models/concerns/the_receivable.rb +17 -0
  36. data/app/models/notification.rb +156 -0
  37. data/app/models/notification_setting.rb +8 -0
  38. data/app/views/rails_notice/_link.html.erb +6 -0
  39. data/app/views/rails_notice_admin/base/_nav.html.erb +16 -0
  40. data/app/views/rails_notice_admin/notification_settings/_form.html.erb +7 -0
  41. data/app/views/rails_notice_admin/notification_settings/_search_form.html.erb +11 -0
  42. data/app/views/rails_notice_admin/notification_settings/edit.html.erb +14 -0
  43. data/app/views/rails_notice_admin/notification_settings/index.html.erb +52 -0
  44. data/app/views/rails_notice_admin/notification_settings/new.html.erb +13 -0
  45. data/app/views/rails_notice_admin/notification_settings/show.html.erb +0 -0
  46. data/app/views/rails_notice_admin/notifications/_form.html.erb +6 -0
  47. data/app/views/rails_notice_admin/notifications/_menu.html.erb +6 -0
  48. data/app/views/rails_notice_admin/notifications/_search_form.html.erb +11 -0
  49. data/app/views/rails_notice_admin/notifications/edit.html.erb +14 -0
  50. data/app/views/rails_notice_admin/notifications/index.html.erb +44 -0
  51. data/app/views/rails_notice_admin/notifications/new.html.erb +15 -0
  52. data/app/views/rails_notice_mailer/notify.html.erb +35 -0
  53. data/app/views/rails_notice_my/base/_nav_my.html.erb +4 -0
  54. data/app/views/rails_notice_my/notification_settings/_form.html.erb +5 -0
  55. data/app/views/rails_notice_my/notification_settings/show.html.erb +5 -0
  56. data/app/views/rails_notice_my/notifications/_navbar.html.erb +13 -0
  57. data/app/views/rails_notice_my/notifications/_notifications.html.erb +17 -0
  58. data/app/views/rails_notice_my/notifications/edit.html.erb +2 -0
  59. data/app/views/rails_notice_my/notifications/index.html.erb +28 -0
  60. data/app/views/rails_notice_my/notifications/index.js.erb +13 -0
  61. data/app/views/rails_notice_my/notifications/new.html.erb +1 -0
  62. data/app/views/rails_notice_my/notifications/read.js.erb +2 -0
  63. data/app/views/rails_notice_my/notifications/read_all.js.erb +2 -0
  64. data/app/views/rails_notice_my/notifications/show.html.erb +7 -0
  65. data/config/locales/en.yml +7 -0
  66. data/config/locales/zh.yml +7 -0
  67. data/config/routes.rb +29 -0
  68. data/db/migrate/20170110025557_create_notification.rb +21 -0
  69. data/db/migrate/20170209025946_create_notification_settings.rb +23 -0
  70. data/lib/rails_notice.rb +13 -0
  71. data/lib/rails_notice/active_record.rb +18 -0
  72. data/lib/rails_notice/config.rb +13 -0
  73. data/lib/rails_notice/engine.rb +9 -0
  74. data/lib/rails_notice/version.rb +3 -0
  75. data/lib/tasks/the_notify_tasks.rake +4 -0
  76. metadata +132 -0
@@ -0,0 +1,2 @@
1
+ /*! messenger 1.5.0 */
2
+ (function(){var e,t=window.Messenger;e=window.Messenger=function(){return e._call.apply(this,arguments)},window.Messenger.noConflict=function(){return window.Messenger=t,e}})(),window.Messenger._=function(){if(window._)return window._;var e=Array.prototype,t=Object.prototype,n=Function.prototype,s=(e.push,e.slice),r=(e.concat,t.toString);t.hasOwnProperty;var o=e.forEach,i=(e.map,e.reduce,e.reduceRight,e.filter),a=(e.every,e.some,e.indexOf,e.lastIndexOf,Array.isArray,Object.keys),l=n.bind,u={},c={},h=u.each=u.forEach=function(e,t,n){if(null!=e)if(o&&e.forEach===o)e.forEach(t,n);else if(e.length===+e.length){for(var s=0,r=e.length;r>s;s++)if(t.call(n,e[s],s,e)===c)return}else for(var i in e)if(u.has(e,i)&&t.call(n,e[i],i,e)===c)return};u.result=function(e,t){if(null==e)return null;var n=e[t];return u.isFunction(n)?n.call(e):n},u.once=function(e){var t,n=!1;return function(){return n?t:(n=!0,t=e.apply(this,arguments),e=null,t)}};var p=0;return u.uniqueId=function(e){var t=++p+"";return e?e+t:t},u.filter=u.select=function(e,t,n){var s=[];return null==e?s:i&&e.filter===i?e.filter(t,n):(h(e,function(e,r,o){t.call(n,e,r,o)&&(s[s.length]=e)}),s)},h(["Arguments","Function","String","Number","Date","RegExp"],function(e){u["is"+e]=function(t){return r.call(t)=="[object "+e+"]"}}),u.defaults=function(e){return h(s.call(arguments,1),function(t){if(t)for(var n in t)null==e[n]&&(e[n]=t[n])}),e},u.extend=function(e){return h(s.call(arguments,1),function(t){if(t)for(var n in t)e[n]=t[n]}),e},u.keys=a||function(e){if(e!==Object(e))throw new TypeError("Invalid object");var t=[];for(var n in e)u.has(e,n)&&(t[t.length]=n);return t},u.bind=function(e,t){if(e.bind===l&&l)return l.apply(e,s.call(arguments,1));var n=s.call(arguments,2);return function(){return e.apply(t,n.concat(s.call(arguments)))}},u.isObject=function(e){return e===Object(e)},u}(),window.Messenger.Events=function(){if(window.Backbone&&Backbone.Events)return Backbone.Events;var e=function(){var e=/\s+/,t=function(t,n,s,r){if(!s)return!0;if("object"==typeof s)for(var o in s)t[n].apply(t,[o,s[o]].concat(r));else{if(!e.test(s))return!0;for(var i=s.split(e),a=0,l=i.length;l>a;a++)t[n].apply(t,[i[a]].concat(r))}},n=function(e,t){var n,s=-1,r=e.length;switch(t.length){case 0:for(;r>++s;)(n=e[s]).callback.call(n.ctx);return;case 1:for(;r>++s;)(n=e[s]).callback.call(n.ctx,t[0]);return;case 2:for(;r>++s;)(n=e[s]).callback.call(n.ctx,t[0],t[1]);return;case 3:for(;r>++s;)(n=e[s]).callback.call(n.ctx,t[0],t[1],t[2]);return;default:for(;r>++s;)(n=e[s]).callback.apply(n.ctx,t)}},s={on:function(e,n,s){if(!t(this,"on",e,[n,s])||!n)return this;this._events||(this._events={});var r=this._events[e]||(this._events[e]=[]);return r.push({callback:n,context:s,ctx:s||this}),this},once:function(e,n,s){if(!t(this,"once",e,[n,s])||!n)return this;var r=this,o=_.once(function(){r.off(e,o),n.apply(this,arguments)});return o._callback=n,this.on(e,o,s),this},off:function(e,n,s){var r,o,i,a,l,u,c,h;if(!this._events||!t(this,"off",e,[n,s]))return this;if(!e&&!n&&!s)return this._events={},this;for(a=e?[e]:_.keys(this._events),l=0,u=a.length;u>l;l++)if(e=a[l],r=this._events[e]){if(i=[],n||s)for(c=0,h=r.length;h>c;c++)o=r[c],(n&&n!==o.callback&&n!==o.callback._callback||s&&s!==o.context)&&i.push(o);this._events[e]=i}return this},trigger:function(e){if(!this._events)return this;var s=Array.prototype.slice.call(arguments,1);if(!t(this,"trigger",e,s))return this;var r=this._events[e],o=this._events.all;return r&&n(r,s),o&&n(o,arguments),this},listenTo:function(e,t,n){var s=this._listeners||(this._listeners={}),r=e._listenerId||(e._listenerId=_.uniqueId("l"));return s[r]=e,e.on(t,"object"==typeof t?this:n,this),this},stopListening:function(e,t,n){var s=this._listeners;if(s){if(e)e.off(t,"object"==typeof t?this:n,this),t||n||delete s[e._listenerId];else{"object"==typeof t&&(n=this);for(var r in s)s[r].off(t,n,this);this._listeners={}}return this}}};return s.bind=s.on,s.unbind=s.off,s};return e()}(),function(){var e,t,n,s,r,o,i,a,l,u,c,h={}.hasOwnProperty,p=function(e,t){function n(){this.constructor=e}for(var s in t)h.call(t,s)&&(e[s]=t[s]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},d=[].slice,f=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1};e=jQuery,o=null!=(l=window._)?l:window.Messenger._,s=null!=(u="undefined"!=typeof Backbone&&null!==Backbone?Backbone.Events:void 0)?u:window.Messenger.Events,n=function(){function t(t){e.extend(this,s),o.isObject(t)&&(t.el&&this.setElement(t.el),this.model=t.model),this.initialize.apply(this,arguments)}return t.prototype.setElement=function(t){return this.$el=e(t),this.el=this.$el[0]},t.prototype.delegateEvents=function(e){var t,n,s,r,i,a,l;if(e||(e=o.result(this,"events"))){this.undelegateEvents(),t=/^(\S+)\s*(.*)$/,l=[];for(s in e){if(i=e[s],o.isFunction(i)||(i=this[e[s]]),!i)throw Error('Method "'+e[s]+'" does not exist');r=s.match(t),n=r[1],a=r[2],i=o.bind(i,this),n+=".delegateEvents"+this.cid,""===a?l.push(this.jqon(n,i)):l.push(this.jqon(n,a,i))}return l}},t.prototype.jqon=function(e,t,n){var s;return null!=this.$el.on?(s=this.$el).on.apply(s,arguments):(null==n&&(n=t,t=void 0),null!=t?this.$el.delegate(t,e,n):this.$el.bind(e,n))},t.prototype.jqoff=function(e){var t;return null!=this.$el.off?(t=this.$el).off.apply(t,arguments):(this.$el.undelegate(),this.$el.unbind(e))},t.prototype.undelegateEvents=function(){return this.jqoff(".delegateEvents"+this.cid)},t.prototype.remove=function(){return this.undelegateEvents(),this.$el.remove()},t}(),i=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return p(n,t),n.prototype.defaults={hideAfter:10,scroll:!0,closeButtonText:"&times;",escapeText:!1},n.prototype.initialize=function(t){return null==t&&(t={}),this.shown=!1,this.rendered=!1,this.messenger=t.messenger,this.options=e.extend({},this.options,t,this.defaults)},n.prototype.show=function(){var e;return this.rendered||this.render(),this.$message.removeClass("messenger-hidden"),e=this.shown,this.shown=!0,e?void 0:this.trigger("show")},n.prototype.hide=function(){var e;if(this.rendered)return this.$message.addClass("messenger-hidden"),e=this.shown,this.shown=!1,e?this.trigger("hide"):void 0},n.prototype.cancel=function(){return this.hide()},n.prototype.update=function(t){var n,s=this;return o.isString(t)&&(t={message:t}),e.extend(this.options,t),this.lastUpdate=new Date,this.rendered=!1,this.events=null!=(n=this.options.events)?n:{},this.render(),this.actionsToEvents(),this.delegateEvents(),this.checkClickable(),this.options.hideAfter?(this.$message.addClass("messenger-will-hide-after"),null!=this._hideTimeout&&clearTimeout(this._hideTimeout),this._hideTimeout=setTimeout(function(){return s.hide()},1e3*this.options.hideAfter)):this.$message.removeClass("messenger-will-hide-after"),this.options.hideOnNavigate?(this.$message.addClass("messenger-will-hide-on-navigate"),null!=("undefined"!=typeof Backbone&&null!==Backbone?Backbone.history:void 0)&&Backbone.history.on("route",function(){return s.hide()})):this.$message.removeClass("messenger-will-hide-on-navigate"),this.trigger("update",this)},n.prototype.scrollTo=function(){return this.options.scroll?e.scrollTo(this.$el,{duration:400,offset:{left:0,top:-20}}):void 0},n.prototype.timeSinceUpdate=function(){return this.lastUpdate?new Date-this.lastUpdate:null},n.prototype.actionsToEvents=function(){var e,t,n,s,r=this;n=this.options.actions,s=[];for(t in n)e=n[t],s.push(this.events['click [data-action="'+t+'"] a']=function(e){return function(n){return n.preventDefault(),n.stopPropagation(),r.trigger("action:"+t,e,n),e.action.call(r,n,r)}}(e));return s},n.prototype.checkClickable=function(){var e,t,n,s;n=this.events,s=[];for(t in n)e=n[t],"click"===t?s.push(this.$message.addClass("messenger-clickable")):s.push(void 0);return s},n.prototype.undelegateEvents=function(){var e;return n.__super__.undelegateEvents.apply(this,arguments),null!=(e=this.$message)?e.removeClass("messenger-clickable"):void 0},n.prototype.parseActions=function(){var t,n,s,r,o,i;n=[],o=this.options.actions;for(r in o)t=o[r],s=e.extend({},t),s.name=r,null==(i=s.label)&&(s.label=r),n.push(s);return n},n.prototype.template=function(t){var n,s,r,o,i,a,l,u,c,h,p=this;for(i=e("<div class='messenger-message message alert "+t.type+" message-"+t.type+" alert-"+t.type+"'>"),t.showCloseButton&&(r=e('<button type="button" class="messenger-close" data-dismiss="alert">'),r.html(t.closeButtonText),r.click(function(){var e;return p.cancel(),"function"==typeof(e=p.options).onClickClose&&e.onClickClose(),!0}),i.append(r)),a=t.escapeText?e('<div class="messenger-message-inner"></div>').text(t.message):e('<div class="messenger-message-inner">'+t.message+"</div>"),i.append(a),t.actions.length&&(s=e('<div class="messenger-actions">')),h=t.actions,u=0,c=h.length;c>u;u++)l=h[u],n=e("<span>"),n.attr("data-action",""+l.name),o=e("<a>"),o.html(l.label),n.append(e('<span class="messenger-phrase">')),n.append(o),s.append(n);return i.append(s),i},n.prototype.render=function(){var t;if(!this.rendered)return this._hasSlot||(this.setElement(this.messenger._reserveMessageSlot(this)),this._hasSlot=!0),t=e.extend({},this.options,{actions:this.parseActions()}),this.$message=e(this.template(t)),this.$el.html(this.$message),this.shown=!0,this.rendered=!0,this.trigger("render")},n}(n),r=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return p(t,e),t.prototype.initialize=function(){return t.__super__.initialize.apply(this,arguments),this._timers={}},t.prototype.cancel=function(){return this.clearTimers(),this.hide(),null!=this._actionInstance&&null!=this._actionInstance.abort?this._actionInstance.abort():void 0},t.prototype.clearTimers=function(){var e,t,n,s;n=this._timers;for(e in n)t=n[e],clearTimeout(t);return this._timers={},null!=(s=this.$message)?s.removeClass("messenger-retry-soon messenger-retry-later"):void 0},t.prototype.render=function(){var e,n,s,r;t.__super__.render.apply(this,arguments),this.clearTimers(),s=this.options.actions,r=[];for(n in s)e=s[n],e.auto?r.push(this.startCountdown(n,e)):r.push(void 0);return r},t.prototype.renderPhrase=function(e,t){var n;return n=e.phrase.replace("TIME",this.formatTime(t))},t.prototype.formatTime=function(e){var t;return t=function(e,t){return e=Math.floor(e),1!==e&&(t+="s"),"in "+e+" "+t},0===Math.floor(e)?"now...":60>e?t(e,"second"):(e/=60,60>e?t(e,"minute"):(e/=60,t(e,"hour")))},t.prototype.startCountdown=function(e,t){var n,s,r,o,i=this;if(null==this._timers[e])return n=this.$message.find("[data-action='"+e+"'] .messenger-phrase"),s=null!=(o=t.delay)?o:3,10>=s?(this.$message.removeClass("messenger-retry-later"),this.$message.addClass("messenger-retry-soon")):(this.$message.removeClass("messenger-retry-soon"),this.$message.addClass("messenger-retry-later")),r=function(){var o;return n.text(i.renderPhrase(t,s)),s>0?(o=Math.min(s,1),s-=o,i._timers[e]=setTimeout(r,1e3*o)):(i.$message.removeClass("messenger-retry-soon messenger-retry-later"),delete i._timers[e],t.action())},r()},t}(i),a=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return p(n,t),n.prototype.tagName="ul",n.prototype.className="messenger",n.prototype.messageDefaults={type:"info"},n.prototype.initialize=function(t){return this.options=null!=t?t:{},this.history=[],this.messageDefaults=e.extend({},this.messageDefaults,this.options.messageDefaults)},n.prototype.render=function(){return this.updateMessageSlotClasses()},n.prototype.findById=function(e){return o.filter(this.history,function(t){return t.msg.options.id===e})},n.prototype._reserveMessageSlot=function(t){var n,s,r=this;for(n=e("<li>"),n.addClass("messenger-message-slot"),this.$el.prepend(n),this.history.push({msg:t,$slot:n}),this._enforceIdConstraint(t),t.on("update",function(){return r._enforceIdConstraint(t)});this.options.maxMessages&&this.history.length>this.options.maxMessages;)s=this.history.shift(),s.msg.remove(),s.$slot.remove();return n},n.prototype._enforceIdConstraint=function(e){var t,n,s,r,o;if(null!=e.options.id)for(o=this.history,n=0,s=o.length;s>n;n++)if(t=o[n],r=t.msg,null!=r.options.id&&r.options.id===e.options.id&&e!==r){if(e.options.singleton)return e.hide(),void 0;r.hide()}},n.prototype.newMessage=function(e){var t,n,s,o,a=this;return null==e&&(e={}),e.messenger=this,i=null!=(n=null!=(s=Messenger.themes[null!=(o=e.theme)?o:this.options.theme])?s.Message:void 0)?n:r,t=new i(e),t.on("show",function(){return e.scrollTo&&"fixed"!==a.$el.css("position")?t.scrollTo():void 0}),t.on("hide show render",this.updateMessageSlotClasses,this),t},n.prototype.updateMessageSlotClasses=function(){var e,t,n,s,r,o,i;for(s=!0,t=null,e=!1,i=this.history,r=0,o=i.length;o>r;r++)n=i[r],n.$slot.removeClass("messenger-first messenger-last messenger-shown"),n.msg.shown&&n.msg.rendered&&(n.$slot.addClass("messenger-shown"),e=!0,t=n,s&&(s=!1,n.$slot.addClass("messenger-first")));return null!=t&&t.$slot.addClass("messenger-last"),this.$el[""+(e?"remove":"add")+"Class"]("messenger-empty")},n.prototype.hideAll=function(){var e,t,n,s,r;for(s=this.history,r=[],t=0,n=s.length;n>t;t++)e=s[t],r.push(e.msg.hide());return r},n.prototype.post=function(t){var n;return o.isString(t)&&(t={message:t}),t=e.extend(!0,{},this.messageDefaults,t),n=this.newMessage(t),n.update(t),n},n}(n),t=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return p(n,t),n.prototype.doDefaults={progressMessage:null,successMessage:null,errorMessage:"Error connecting to the server.",showSuccessWithoutError:!0,retry:{auto:!0,allow:!0},action:e.ajax},n.prototype.hookBackboneAjax=function(t){var n,s=this;if(null==t&&(t={}),null==window.Backbone)throw"Expected Backbone to be defined";return t=o.defaults(t,{id:"BACKBONE_ACTION",errorMessage:!1,successMessage:"Request completed successfully.",showSuccessWithoutError:!1}),n=function(e){var n;return n=o.extend({},t,e.messenger),s["do"](n,e)},null!=Backbone.ajax?(Backbone.ajax._withoutMessenger&&(Backbone.ajax=Backbone.ajax._withoutMessenger),(null==t.action||t.action===this.doDefaults.action)&&(t.action=Backbone.ajax),n._withoutMessenger=Backbone.ajax,Backbone.ajax=n):Backbone.sync=o.wrap(Backbone.sync,function(){var t,s,r;return r=arguments[0],t=arguments.length>=2?d.call(arguments,1):[],s=e.ajax,e.ajax=n,r.call.apply(r,[this].concat(d.call(t))),e.ajax=s})},n.prototype._getHandlerResponse=function(e){return e===!1?!1:e===!0||null==e?!0:e},n.prototype._parseEvents=function(e){var t,n,s,r,o,i,a;null==e&&(e={}),o={};for(r in e)s=e[r],n=r.indexOf(" "),i=r.substring(0,n),t=r.substring(n+1),null==(a=o[i])&&(o[i]={}),o[i][t]=s;return o},n.prototype._normalizeResponse=function(){var e,t,n,s,r,i,a;for(n=arguments.length>=1?d.call(arguments,0):[],s=null,r=null,e=null,i=0,a=n.length;a>i;i++)t=n[i],"success"===t||"timeout"===t||"abort"===t?s=t:null!=(null!=t?t.readyState:void 0)&&null!=(null!=t?t.responseText:void 0)?r=t:o.isObject(t)&&(e=t);return[s,e,r]},n.prototype.run=function(){var t,n,s,r,i,a,l,u,c,h,p,g=this;if(a=arguments[0],c=arguments[1],t=arguments.length>=3?d.call(arguments,2):[],null==c&&(c={}),a=e.extend(!0,{},this.messageDefaults,this.doDefaults,null!=a?a:{}),n=this._parseEvents(a.events),s=function(e,t){var n;return n=a[e+"Message"],o.isFunction(n)?n.call(g,e,t):n},l=null!=(p=a.messageInstance)?p:this.newMessage(a),null!=a.id&&(l.options.id=a.id),null!=a.progressMessage&&l.update(e.extend({},a,{message:s("progress",null),type:"info"})),i={},o.each(["error","success"],function(r){var u;return u=c[r],i[r]=function(){var i,h,p,m,y,v,_,w,b,x,C,M,k,$,E;return v=arguments.length>=1?d.call(arguments,0):[],b=g._normalizeResponse.apply(g,v),y=b[0],i=b[1],w=b[2],"success"===r&&null==l.errorCount&&a.showSuccessWithoutError===!1&&(a.successMessage=null),"error"===r&&(null==(x=a.errorCount)&&(a.errorCount=0),a.errorCount+=1),p=a.returnsPromise?v[0]:"function"==typeof u?u.apply(null,v):void 0,_=g._getHandlerResponse(p),o.isString(_)&&(_={message:_}),"error"!==r||0!==(null!=w?w.status:void 0)&&"abort"!==y?"error"===r&&null!=a.ignoredErrorCodes&&(C=null!=w?w.status:void 0,f.call(a.ignoredErrorCodes,C)>=0)?(l.hide(),void 0):(h={message:s(r,w),type:r,events:null!=(M=n[r])?M:{},hideOnNavigate:"success"===r},m=e.extend({},a,h,_),"number"==typeof(null!=(k=m.retry)?k.allow:void 0)&&m.retry.allow--,"error"===r&&(null!=w?w.status:void 0)>=500&&(null!=($=m.retry)?$.allow:void 0)?(null==m.retry.delay&&(m.retry.delay=4>m.errorCount?10:300),m.hideAfter&&(null==(E=m._hideAfter)&&(m._hideAfter=m.hideAfter),m.hideAfter=m._hideAfter+m.retry.delay),m._retryActions=!0,m.actions={retry:{label:"retry now",phrase:"Retrying TIME",auto:m.retry.auto,delay:m.retry.delay,action:function(){return m.messageInstance=l,setTimeout(function(){return g["do"].apply(g,[m,c].concat(d.call(t)))},0)}},cancel:{action:function(){return l.cancel()}}}):m._retryActions&&(delete m.actions.retry,delete m.actions.cancel,delete a._retryActions),l.update(m),_&&m.message?(Messenger(o.extend({},g.options,{instance:g})),l.show()):l.hide()):(l.hide(),void 0)}}),!a.returnsPromise)for(h in i)r=i[h],u=c[h],c[h]=r;return l._actionInstance=a.action.apply(a,[c].concat(d.call(t))),a.returnsPromise&&l._actionInstance.then(i.success,i.error),l},n.prototype["do"]=n.prototype.run,n.prototype.ajax=function(){var t,n;return n=arguments[0],t=arguments.length>=2?d.call(arguments,1):[],n.action=e.ajax,this.run.apply(this,[n].concat(d.call(t)))},n.prototype.expectPromise=function(e,t){return t=o.extend({},t,{action:e,returnsPromise:!0}),this.run(t)},n.prototype.error=function(e){return null==e&&(e={}),"string"==typeof e&&(e={message:e}),e.type="error",this.post(e)},n.prototype.info=function(e){return null==e&&(e={}),"string"==typeof e&&(e={message:e}),e.type="info",this.post(e)},n.prototype.success=function(e){return null==e&&(e={}),"string"==typeof e&&(e={message:e}),e.type="success",this.post(e)},n}(a),e.fn.messenger=function(){var n,s,r,i,l,u,c,h;return r=arguments[0],s=arguments.length>=2?d.call(arguments,1):[],null==r&&(r={}),n=this,null!=r&&o.isString(r)?(h=n.data("messenger"))[r].apply(h,s):(l=r,null==n.data("messenger")&&(a=null!=(u=null!=(c=Messenger.themes[l.theme])?c.Messenger:void 0)?u:t,n.data("messenger",i=new a(e.extend({el:n},l))),i.render()),n.data("messenger"))},window.Messenger._call=function(t){var n,s,r,o,i,a,l,u,c,h,p;if(a={extraClasses:"messenger-fixed messenger-on-bottom messenger-on-right",theme:"future",maxMessages:9,parentLocations:["body"]},t=e.extend(a,e._messengerDefaults,Messenger.options,t),null!=t.theme&&(t.extraClasses+=" messenger-theme-"+t.theme),l=t.instance||Messenger.instance,null==t.instance){for(c=t.parentLocations,s=null,r=null,h=0,p=c.length;p>h;h++)if(u=c[h],s=e(u),s.length){o=u;break}l?e(l._location).is(e(o))||(l.$el.detach(),s.prepend(l.$el)):(n=e("<ul>"),s.prepend(n),l=n.messenger(t),l._location=o,Messenger.instance=l)}return null!=l._addedClasses&&l.$el.removeClass(l._addedClasses),l.$el.addClass(i=""+l.className+" "+t.extraClasses),l._addedClasses=i,l},e.extend(Messenger,{Message:r,Messenger:t,themes:null!=(c=Messenger.themes)?c:{}}),e.globalMessenger=window.Messenger=Messenger}.call(this);
@@ -0,0 +1,9 @@
1
+ /*
2
+ *= require ./messenger
3
+ *= require ./messenger-theme-air
4
+ *= require_self
5
+ */
6
+
7
+ .ui.items > .item:before {
8
+ width: 0;
9
+ }
@@ -0,0 +1,357 @@
1
+ @-webkit-keyframes ui-spinner-rotate-right {
2
+ 0% {
3
+ -webkit-transform: rotate(0deg);
4
+ }
5
+ 25% {
6
+ -webkit-transform: rotate(180deg);
7
+ }
8
+ 50% {
9
+ -webkit-transform: rotate(180deg);
10
+ }
11
+ 75% {
12
+ -webkit-transform: rotate(360deg);
13
+ }
14
+ 100% {
15
+ -webkit-transform: rotate(360deg);
16
+ }
17
+ }
18
+ @-webkit-keyframes ui-spinner-rotate-left {
19
+ 0% {
20
+ -webkit-transform: rotate(0deg);
21
+ }
22
+ 25% {
23
+ -webkit-transform: rotate(0deg);
24
+ }
25
+ 50% {
26
+ -webkit-transform: rotate(180deg);
27
+ }
28
+ 75% {
29
+ -webkit-transform: rotate(180deg);
30
+ }
31
+ 100% {
32
+ -webkit-transform: rotate(360deg);
33
+ }
34
+ }
35
+ @-moz-keyframes ui-spinner-rotate-right {
36
+ 0% {
37
+ -moz-transform: rotate(0deg);
38
+ }
39
+ 25% {
40
+ -moz-transform: rotate(180deg);
41
+ }
42
+ 50% {
43
+ -moz-transform: rotate(180deg);
44
+ }
45
+ 75% {
46
+ -moz-transform: rotate(360deg);
47
+ }
48
+ 100% {
49
+ -moz-transform: rotate(360deg);
50
+ }
51
+ }
52
+ @-moz-keyframes ui-spinner-rotate-left {
53
+ 0% {
54
+ -moz-transform: rotate(0deg);
55
+ }
56
+ 25% {
57
+ -moz-transform: rotate(0deg);
58
+ }
59
+ 50% {
60
+ -moz-transform: rotate(180deg);
61
+ }
62
+ 75% {
63
+ -moz-transform: rotate(180deg);
64
+ }
65
+ 100% {
66
+ -moz-transform: rotate(360deg);
67
+ }
68
+ }
69
+ @keyframes ui-spinner-rotate-right {
70
+ 0% {
71
+ transform: rotate(0deg);
72
+ }
73
+ 25% {
74
+ transform: rotate(180deg);
75
+ }
76
+ 50% {
77
+ transform: rotate(180deg);
78
+ }
79
+ 75% {
80
+ transform: rotate(360deg);
81
+ }
82
+ 100% {
83
+ transform: rotate(360deg);
84
+ }
85
+ }
86
+ @keyframes ui-spinner-rotate-left {
87
+ 0% {
88
+ transform: rotate(0deg);
89
+ }
90
+ 25% {
91
+ transform: rotate(0deg);
92
+ }
93
+ 50% {
94
+ transform: rotate(180deg);
95
+ }
96
+ 75% {
97
+ transform: rotate(180deg);
98
+ }
99
+ 100% {
100
+ transform: rotate(360deg);
101
+ }
102
+ }
103
+ /* line 118, ../../src/sass/messenger-spinner.scss */
104
+ .messenger-spinner {
105
+ position: relative;
106
+ border-radius: 100%;
107
+ }
108
+ /* line 122, ../../src/sass/messenger-spinner.scss */
109
+ ul.messenger.messenger-spinner-active .messenger-spinner .messenger-spinner {
110
+ display: block;
111
+ }
112
+ /* line 126, ../../src/sass/messenger-spinner.scss */
113
+ .messenger-spinner .messenger-spinner-side {
114
+ width: 50%;
115
+ height: 100%;
116
+ overflow: hidden;
117
+ position: absolute;
118
+ }
119
+ /* line 132, ../../src/sass/messenger-spinner.scss */
120
+ .messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
121
+ border-radius: 999px;
122
+ position: absolute;
123
+ width: 100%;
124
+ height: 100%;
125
+ -moz-animation-iteration-count: infinite;
126
+ -webkit-animation-iteration-count: infinite;
127
+ animation-iteration-count: infinite;
128
+ -moz-animation-timing-function: linear;
129
+ -webkit-animation-timing-function: linear;
130
+ animation-timing-function: linear;
131
+ }
132
+ /* line 142, ../../src/sass/messenger-spinner.scss */
133
+ .messenger-spinner .messenger-spinner-side-left {
134
+ left: 0;
135
+ }
136
+ /* line 145, ../../src/sass/messenger-spinner.scss */
137
+ .messenger-spinner .messenger-spinner-side-left .messenger-spinner-fill {
138
+ left: 100%;
139
+ border-top-left-radius: 0;
140
+ border-bottom-left-radius: 0;
141
+ -moz-animation-name: ui-spinner-rotate-left;
142
+ -webkit-animation-name: ui-spinner-rotate-left;
143
+ animation-name: ui-spinner-rotate-left;
144
+ -moz-transform-origin: 0 50% 50%;
145
+ -ms-transform-origin: 0 50% 50%;
146
+ -webkit-transform-origin: 0 50% 50%;
147
+ transform-origin: 0 50% 50%;
148
+ }
149
+ /* line 154, ../../src/sass/messenger-spinner.scss */
150
+ .messenger-spinner .messenger-spinner-side-right {
151
+ left: 50%;
152
+ }
153
+ /* line 157, ../../src/sass/messenger-spinner.scss */
154
+ .messenger-spinner .messenger-spinner-side-right .messenger-spinner-fill {
155
+ left: -100%;
156
+ border-top-right-radius: 0;
157
+ border-bottom-right-radius: 0;
158
+ -moz-animation-name: ui-spinner-rotate-right;
159
+ -webkit-animation-name: ui-spinner-rotate-right;
160
+ animation-name: ui-spinner-rotate-right;
161
+ -moz-transform-origin: 100% 50% 50%;
162
+ -ms-transform-origin: 100% 50% 50%;
163
+ -webkit-transform-origin: 100% 50% 50%;
164
+ transform-origin: 100% 50% 50%;
165
+ }
166
+
167
+ /* line 16, ../../src/sass/messenger-theme-air.sass */
168
+ ul.messenger-theme-air {
169
+ -moz-user-select: none;
170
+ -webkit-user-select: none;
171
+ -o-user-select: none;
172
+ user-select: none;
173
+ font-family: "Raleway", sans-serif;
174
+ }
175
+ /* line 20, ../../src/sass/messenger-theme-air.sass */
176
+ ul.messenger-theme-air .messenger-message {
177
+ -moz-transition: background-color 0.4s;
178
+ -o-transition: background-color 0.4s;
179
+ -webkit-transition: background-color 0.4s;
180
+ transition: background-color 0.4s;
181
+ -moz-border-radius: 5px;
182
+ -webkit-border-radius: 5px;
183
+ border-radius: 5px;
184
+ -moz-box-shadow: inset 0 0 0 1px #fff, inset 0 2px #fff, 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.2);
185
+ -webkit-box-shadow: inset 0 0 0 1px #fff, inset 0 2px #fff, 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.2);
186
+ box-shadow: inset 0 0 0 1px #fff, inset 0 2px #fff, 0 0 0 1px rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.2);
187
+ border: 0px;
188
+ background-color: rgba(255, 255, 255, 0.8);
189
+ position: relative;
190
+ margin-bottom: 1em;
191
+ font-size: 13px;
192
+ color: #666;
193
+ font-weight: 500;
194
+ padding: 10px 30px 11px 46px;
195
+ }
196
+ /* line 33, ../../src/sass/messenger-theme-air.sass */
197
+ ul.messenger-theme-air .messenger-message:hover {
198
+ background-color: white;
199
+ }
200
+ /* line 36, ../../src/sass/messenger-theme-air.sass */
201
+ ul.messenger-theme-air .messenger-message .messenger-close {
202
+ position: absolute;
203
+ top: 0px;
204
+ right: 0px;
205
+ color: #888;
206
+ opacity: 1;
207
+ font-weight: bold;
208
+ display: block;
209
+ font-size: 20px;
210
+ line-height: 20px;
211
+ padding: 8px 10px 7px 7px;
212
+ cursor: pointer;
213
+ background: transparent;
214
+ border: 0;
215
+ -webkit-appearance: none;
216
+ }
217
+ /* line 52, ../../src/sass/messenger-theme-air.sass */
218
+ ul.messenger-theme-air .messenger-message .messenger-close:hover {
219
+ color: #444;
220
+ }
221
+ /* line 55, ../../src/sass/messenger-theme-air.sass */
222
+ ul.messenger-theme-air .messenger-message .messenger-close:active {
223
+ color: #222;
224
+ }
225
+ /* line 58, ../../src/sass/messenger-theme-air.sass */
226
+ ul.messenger-theme-air .messenger-message .messenger-actions {
227
+ float: none;
228
+ margin-top: 10px;
229
+ }
230
+ /* line 62, ../../src/sass/messenger-theme-air.sass */
231
+ ul.messenger-theme-air .messenger-message .messenger-actions a {
232
+ -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1), inset 0px 1px rgba(255, 255, 255, 0.05);
233
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1), inset 0px 1px rgba(255, 255, 255, 0.05);
234
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1), inset 0px 1px rgba(255, 255, 255, 0.05);
235
+ -moz-border-radius: 4px;
236
+ -webkit-border-radius: 4px;
237
+ border-radius: 4px;
238
+ text-decoration: none;
239
+ display: inline-block;
240
+ padding: 10px;
241
+ color: #888;
242
+ margin-right: 10px;
243
+ padding: 3px 10px 5px;
244
+ text-transform: capitalize;
245
+ }
246
+ /* line 73, ../../src/sass/messenger-theme-air.sass */
247
+ ul.messenger-theme-air .messenger-message .messenger-actions a:hover {
248
+ -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1), inset 0px 1px rgba(255, 255, 255, 0.15);
249
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1), inset 0px 1px rgba(255, 255, 255, 0.15);
250
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1), inset 0px 1px rgba(255, 255, 255, 0.15);
251
+ color: #444;
252
+ }
253
+ /* line 77, ../../src/sass/messenger-theme-air.sass */
254
+ ul.messenger-theme-air .messenger-message .messenger-actions a:active {
255
+ -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.18), inset 0px 1px rgba(0, 0, 0, 0.05);
256
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.18), inset 0px 1px rgba(0, 0, 0, 0.05);
257
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.18), inset 0px 1px rgba(0, 0, 0, 0.05);
258
+ background: rgba(0, 0, 0, 0.04);
259
+ color: #444;
260
+ }
261
+ /* line 82, ../../src/sass/messenger-theme-air.sass */
262
+ ul.messenger-theme-air .messenger-message .messenger-actions .messenger-phrase {
263
+ display: none;
264
+ }
265
+ /* line 85, ../../src/sass/messenger-theme-air.sass */
266
+ ul.messenger-theme-air .messenger-message .messenger-message-inner:before {
267
+ -moz-box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.3);
268
+ -webkit-box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.3);
269
+ box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.3);
270
+ -moz-border-radius: 50%;
271
+ -webkit-border-radius: 50%;
272
+ border-radius: 50%;
273
+ position: absolute;
274
+ left: 17px;
275
+ display: block;
276
+ content: " ";
277
+ top: 50%;
278
+ margin-top: -8px;
279
+ height: 13px;
280
+ width: 13px;
281
+ z-index: 20;
282
+ }
283
+ /* line 99, ../../src/sass/messenger-theme-air.sass */
284
+ ul.messenger-theme-air .messenger-message.alert-success .messenger-message-inner:before {
285
+ background-color: #5fca4a;
286
+ }
287
+ /* line 34, ../../src/sass/messenger-spinner.scss */
288
+ ul.messenger-theme-air .messenger-message.alert-error.messenger-retry-soon .messenger-spinner {
289
+ width: 24px;
290
+ height: 24px;
291
+ background: transparent;
292
+ }
293
+ /* line 39, ../../src/sass/messenger-spinner.scss */
294
+ ul.messenger-theme-air .messenger-message.alert-error.messenger-retry-soon .messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
295
+ background: #dd6a45;
296
+ -moz-animation-duration: 20s;
297
+ -webkit-animation-duration: 20s;
298
+ animation-duration: 20s;
299
+ opacity: 1;
300
+ }
301
+ /* line 47, ../../src/sass/messenger-spinner.scss */
302
+ ul.messenger-theme-air .messenger-message.alert-error.messenger-retry-soon .messenger-spinner:after {
303
+ content: "";
304
+ background: #fff;
305
+ position: absolute;
306
+ width: 19px;
307
+ height: 19px;
308
+ border-radius: 50%;
309
+ top: 2px;
310
+ left: 2px;
311
+ display: block;
312
+ }
313
+ /* line 34, ../../src/sass/messenger-spinner.scss */
314
+ ul.messenger-theme-air .messenger-message.alert-error.messenger-retry-later .messenger-spinner {
315
+ width: 24px;
316
+ height: 24px;
317
+ background: transparent;
318
+ }
319
+ /* line 39, ../../src/sass/messenger-spinner.scss */
320
+ ul.messenger-theme-air .messenger-message.alert-error.messenger-retry-later .messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
321
+ background: #dd6a45;
322
+ -moz-animation-duration: 600s;
323
+ -webkit-animation-duration: 600s;
324
+ animation-duration: 600s;
325
+ opacity: 1;
326
+ }
327
+ /* line 47, ../../src/sass/messenger-spinner.scss */
328
+ ul.messenger-theme-air .messenger-message.alert-error.messenger-retry-later .messenger-spinner:after {
329
+ content: "";
330
+ background: #fff;
331
+ position: absolute;
332
+ width: 19px;
333
+ height: 19px;
334
+ border-radius: 50%;
335
+ top: 2px;
336
+ left: 2px;
337
+ display: block;
338
+ }
339
+ /* line 109, ../../src/sass/messenger-theme-air.sass */
340
+ ul.messenger-theme-air .messenger-message.alert-error .messenger-message-inner:before {
341
+ background-color: #dd6a45;
342
+ }
343
+ /* line 113, ../../src/sass/messenger-theme-air.sass */
344
+ ul.messenger-theme-air .messenger-message.alert-info .messenger-message-inner:before {
345
+ background-color: #61c4b8;
346
+ }
347
+ /* line 116, ../../src/sass/messenger-theme-air.sass */
348
+ ul.messenger-theme-air .messenger-spinner {
349
+ display: block;
350
+ position: absolute;
351
+ left: 12px;
352
+ top: 50%;
353
+ margin-top: -13px;
354
+ height: 24px;
355
+ width: 24px;
356
+ z-index: 10;
357
+ }
@@ -0,0 +1,105 @@
1
+ /* line 4, ../../src/sass/messenger.sass */
2
+ ul.messenger {
3
+ margin: 0;
4
+ padding: 0;
5
+ }
6
+ /* line 8, ../../src/sass/messenger.sass */
7
+ ul.messenger > li {
8
+ list-style: none;
9
+ margin: 0;
10
+ padding: 0;
11
+ }
12
+ /* line 14, ../../src/sass/messenger.sass */
13
+ ul.messenger.messenger-empty {
14
+ display: none;
15
+ }
16
+ /* line 17, ../../src/sass/messenger.sass */
17
+ ul.messenger .messenger-message {
18
+ overflow: hidden;
19
+ *zoom: 1;
20
+ }
21
+ /* line 20, ../../src/sass/messenger.sass */
22
+ ul.messenger .messenger-message.messenger-hidden {
23
+ display: none;
24
+ }
25
+ /* line 23, ../../src/sass/messenger.sass */
26
+ ul.messenger .messenger-message .messenger-phrase, ul.messenger .messenger-message .messenger-actions a {
27
+ padding-right: 5px;
28
+ }
29
+ /* line 26, ../../src/sass/messenger.sass */
30
+ ul.messenger .messenger-message .messenger-actions {
31
+ float: right;
32
+ }
33
+ /* line 29, ../../src/sass/messenger.sass */
34
+ ul.messenger .messenger-message .messenger-actions a {
35
+ cursor: pointer;
36
+ text-decoration: underline;
37
+ }
38
+ /* line 33, ../../src/sass/messenger.sass */
39
+ ul.messenger .messenger-message ul, ul.messenger .messenger-message ol {
40
+ margin: 10px 18px 0;
41
+ }
42
+ /* line 36, ../../src/sass/messenger.sass */
43
+ ul.messenger.messenger-fixed {
44
+ position: fixed;
45
+ z-index: 10000;
46
+ }
47
+ /* line 40, ../../src/sass/messenger.sass */
48
+ ul.messenger.messenger-fixed .messenger-message {
49
+ min-width: 0;
50
+ -moz-box-sizing: border-box;
51
+ -webkit-box-sizing: border-box;
52
+ box-sizing: border-box;
53
+ }
54
+ /* line 45, ../../src/sass/messenger.sass */
55
+ ul.messenger.messenger-fixed .message .messenger-actions {
56
+ float: left;
57
+ }
58
+ /* line 48, ../../src/sass/messenger.sass */
59
+ ul.messenger.messenger-fixed.messenger-on-top {
60
+ top: 20px;
61
+ }
62
+ /* line 51, ../../src/sass/messenger.sass */
63
+ ul.messenger.messenger-fixed.messenger-on-bottom {
64
+ bottom: 20px;
65
+ }
66
+ /* line 54, ../../src/sass/messenger.sass */
67
+ ul.messenger.messenger-fixed.messenger-on-top, ul.messenger.messenger-fixed.messenger-on-bottom {
68
+ left: 50%;
69
+ width: 800px;
70
+ margin-left: -400px;
71
+ }
72
+ @media (max-width: 960px) {
73
+ /* line 54, ../../src/sass/messenger.sass */
74
+ ul.messenger.messenger-fixed.messenger-on-top, ul.messenger.messenger-fixed.messenger-on-bottom {
75
+ left: 10%;
76
+ width: 80%;
77
+ margin-left: 0px;
78
+ }
79
+ }
80
+ /* line 64, ../../src/sass/messenger.sass */
81
+ ul.messenger.messenger-fixed.messenger-on-top.messenger-on-right, ul.messenger.messenger-fixed.messenger-on-bottom.messenger-on-right {
82
+ right: 20px;
83
+ left: auto;
84
+ }
85
+ /* line 68, ../../src/sass/messenger.sass */
86
+ ul.messenger.messenger-fixed.messenger-on-top.messenger-on-left, ul.messenger.messenger-fixed.messenger-on-bottom.messenger-on-left {
87
+ left: 20px;
88
+ margin-left: 0px;
89
+ }
90
+ /* line 72, ../../src/sass/messenger.sass */
91
+ ul.messenger.messenger-fixed.messenger-on-right, ul.messenger.messenger-fixed.messenger-on-left {
92
+ width: 350px;
93
+ }
94
+ /* line 75, ../../src/sass/messenger.sass */
95
+ ul.messenger.messenger-fixed.messenger-on-right .messenger-actions, ul.messenger.messenger-fixed.messenger-on-left .messenger-actions {
96
+ float: left;
97
+ }
98
+ /* line 78, ../../src/sass/messenger.sass */
99
+ ul.messenger .messenger-spinner {
100
+ display: none;
101
+ }
102
+ /* line 81, ../../src/sass/messenger.sass */
103
+ ul.messenger .messenger-clickable {
104
+ cursor: pointer;
105
+ }