├── Screenshot
└── Capture.PNG
├── convo
├── assets
│ ├── img
│ │ ├── 2.png
│ │ ├── Logo.psd
│ │ ├── cry.gif
│ │ ├── good.gif
│ │ ├── hug.gif
│ │ ├── laugh.gif
│ │ ├── logo.png
│ │ ├── love.gif
│ │ ├── pro.png
│ │ ├── pro_2.png
│ │ ├── pro_4.png
│ │ ├── pro_5.png
│ │ ├── pro_6.png
│ │ ├── pro_7.png
│ │ ├── zzz.gif
│ │ ├── loadcat.gif
│ │ ├── logo_blue.png
│ │ ├── verified.png
│ │ ├── favicomatic
│ │ │ ├── icon.png
│ │ │ ├── favicon.ico
│ │ │ ├── favicon-16x16.png
│ │ │ └── favicon-32x32.png
│ │ └── fileuploader-dragdrop-background2.png
│ ├── fonts
│ │ ├── fontello.eot
│ │ ├── fontello.ttf
│ │ ├── fontello.woff
│ │ ├── fontello.woff2
│ │ ├── FontAwesome.otf
│ │ ├── fontawesome-webfont.eot
│ │ ├── fontawesome-webfont.ttf
│ │ ├── fontawesome-webfont.woff
│ │ ├── feather
│ │ │ ├── feather-webfont.eot
│ │ │ ├── feather-webfont.ttf
│ │ │ └── feather-webfont.woff
│ │ ├── fontawesome-webfont.woff2
│ │ ├── glyphicons-halflings-regular.eot
│ │ ├── glyphicons-halflings-regular.ttf
│ │ ├── glyphicons-halflings-regular.woff
│ │ ├── glyphicons-halflings-regular.woff2
│ │ └── fontello.svg
│ ├── css
│ │ ├── responsive.css
│ │ ├── reset.min.css
│ │ ├── style_two.css
│ │ ├── offline-language-english.css
│ │ ├── fontello.css
│ │ ├── offline-theme-slide.css
│ │ ├── emojionearea.min.css
│ │ └── style.css
│ └── js
│ │ ├── search.js
│ │ ├── index.js
│ │ ├── vue.js
│ │ ├── ripple-button.js
│ │ ├── emoji.js
│ │ ├── chats.js
│ │ ├── dashboard.js
│ │ ├── offline.min.js
│ │ ├── require.min.js
│ │ └── tether.min.js
└── index.html
└── README.md
/Screenshot/Capture.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/Screenshot/Capture.PNG
--------------------------------------------------------------------------------
/convo/assets/img/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/2.png
--------------------------------------------------------------------------------
/convo/assets/img/Logo.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/Logo.psd
--------------------------------------------------------------------------------
/convo/assets/img/cry.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/cry.gif
--------------------------------------------------------------------------------
/convo/assets/img/good.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/good.gif
--------------------------------------------------------------------------------
/convo/assets/img/hug.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/hug.gif
--------------------------------------------------------------------------------
/convo/assets/img/laugh.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/laugh.gif
--------------------------------------------------------------------------------
/convo/assets/img/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/logo.png
--------------------------------------------------------------------------------
/convo/assets/img/love.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/love.gif
--------------------------------------------------------------------------------
/convo/assets/img/pro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/pro.png
--------------------------------------------------------------------------------
/convo/assets/img/pro_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/pro_2.png
--------------------------------------------------------------------------------
/convo/assets/img/pro_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/pro_4.png
--------------------------------------------------------------------------------
/convo/assets/img/pro_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/pro_5.png
--------------------------------------------------------------------------------
/convo/assets/img/pro_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/pro_6.png
--------------------------------------------------------------------------------
/convo/assets/img/pro_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/pro_7.png
--------------------------------------------------------------------------------
/convo/assets/img/zzz.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/zzz.gif
--------------------------------------------------------------------------------
/convo/assets/img/loadcat.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/loadcat.gif
--------------------------------------------------------------------------------
/convo/assets/fonts/fontello.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/fonts/fontello.eot
--------------------------------------------------------------------------------
/convo/assets/fonts/fontello.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/fonts/fontello.ttf
--------------------------------------------------------------------------------
/convo/assets/img/logo_blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/logo_blue.png
--------------------------------------------------------------------------------
/convo/assets/img/verified.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/verified.png
--------------------------------------------------------------------------------
/convo/assets/fonts/fontello.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/fonts/fontello.woff
--------------------------------------------------------------------------------
/convo/assets/fonts/fontello.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/fonts/fontello.woff2
--------------------------------------------------------------------------------
/convo/assets/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/convo/assets/img/favicomatic/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/favicomatic/icon.png
--------------------------------------------------------------------------------
/convo/assets/img/favicomatic/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/favicomatic/favicon.ico
--------------------------------------------------------------------------------
/convo/assets/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/convo/assets/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/convo/assets/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/convo/assets/fonts/feather/feather-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/fonts/feather/feather-webfont.eot
--------------------------------------------------------------------------------
/convo/assets/fonts/feather/feather-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/fonts/feather/feather-webfont.ttf
--------------------------------------------------------------------------------
/convo/assets/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/convo/assets/img/favicomatic/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/favicomatic/favicon-16x16.png
--------------------------------------------------------------------------------
/convo/assets/img/favicomatic/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/favicomatic/favicon-32x32.png
--------------------------------------------------------------------------------
/convo/assets/fonts/feather/feather-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/fonts/feather/feather-webfont.woff
--------------------------------------------------------------------------------
/convo/assets/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/convo/assets/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/convo/assets/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/convo/assets/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/convo/assets/img/fileuploader-dragdrop-background2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Revisto/Convo/master/convo/assets/img/fileuploader-dragdrop-background2.png
--------------------------------------------------------------------------------
/convo/assets/css/responsive.css:
--------------------------------------------------------------------------------
1 | /*Sidebar Header*/
2 |
3 | @media (max-width: 1268px) {
4 | .user-photo {
5 | display: none;
6 | left: 130px;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Convo
2 | Web app chat messenger - Frontend
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/convo/assets/js/search.js:
--------------------------------------------------------------------------------
1 | document.querySelector('[data-search]').addEventListener('keyup', filter)
2 |
3 | function filter() {
4 | var term = document.querySelector('[data-search]').value
5 | var tag = document.querySelectorAll('[data-searchable] li ')
6 | for (i = 0; i < tag.length; i++) {
7 | if (tag[i].innerHTML.indexOf(term) !== -1) {
8 | tag[i].style.display = 'block'
9 | } else {
10 | tag[i].style.display = 'none'
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/convo/assets/js/index.js:
--------------------------------------------------------------------------------
1 | // For clicking/highlight the users on the left sidebar
2 | $('.person[data-chat=person1]').addClass('active');
3 |
4 | $('.left .person').mousedown(function () {
5 | if ($(this).hasClass('.active')) {
6 | return false;
7 | } else {
8 | var personName = $(this).find('.name').text();
9 | $('.left .person').removeClass('active');
10 | $(this).addClass('active');
11 | }
12 | });
13 |
14 |
15 |
16 | // Side Panel switch
17 | $(".heading-compose").click(function () {
18 | $(".side-two").css({
19 | "left": "0"
20 | });
21 | });
22 |
23 | $(".newMessage-back").click(function () {
24 | $(".side-two").css({
25 | "left": "-100%"
26 | });
27 | });
28 |
--------------------------------------------------------------------------------
/convo/assets/css/reset.min.css:
--------------------------------------------------------------------------------
1 | html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}
--------------------------------------------------------------------------------
/convo/assets/js/vue.js:
--------------------------------------------------------------------------------
1 | new Vue({
2 | el: '.container',
3 | data: function data() {return {
4 | users: [],
5 | errors: [],
6 | show: true };},
7 |
8 |
9 | mounted: function mounted() {
10 | this.getUsers();
11 | },
12 |
13 | methods: {
14 | getUsers: function getUsers() {var _this = this;
15 | axios.get('https://randomuser.me/api/?results=3').
16 | then(function (response) {
17 | console.log(JSON.stringify(response.data.results));
18 | _this.users = response.data.results;
19 | }).
20 | catch(function (e) {
21 | _this.errors.push(e);
22 | });
23 | } },
24 |
25 |
26 | filters: {
27 | capitalize: function capitalize(value) {
28 | if (!value) return '';
29 | value = value.toString();
30 | return value.charAt(0).toUpperCase() + value.slice(1);
31 | } } });
--------------------------------------------------------------------------------
/convo/assets/js/ripple-button.js:
--------------------------------------------------------------------------------
1 | $(function() {
2 |
3 | $(".ripple").on('click', function(e) {
4 |
5 | if ($(this).find('span').length === 0) {
6 |
7 | $(this).append('');
8 |
9 | var ripple = $(this).find('span'),
10 | size = ( $(this).innerWidth() > $(this).innerHeight() ) ? $(this).innerWidth()*2 : $(this).innerHeight()*2,
11 | clickY = $(this).offset().top,
12 | clickX = $(this).offset().left,
13 | x = e.pageX - clickX,
14 | y = e.pageY - clickY;
15 |
16 | ripple.css({
17 | 'top': y +'px',
18 | 'left': x +'px',
19 | });
20 |
21 | ripple.animate({
22 | 'width': size +'px',
23 | 'height': size +'px',
24 | 'margin-top': -size/2 +'px',
25 | 'margin-left': -size/2 +'px',
26 | 'opacity': 0,
27 | }, 450, function() {
28 | $(this).remove();
29 | });
30 |
31 | }
32 |
33 | });
34 |
35 | });
--------------------------------------------------------------------------------
/convo/assets/css/style_two.css:
--------------------------------------------------------------------------------
1 | /*User names tags*/
2 |
3 | .tag {
4 | font-family: "Segoe UI";
5 | font-size: 0.77rem;
6 | color: #6e7687;
7 | background-color: #f7f7f7;
8 | border-radius: 3px;
9 | padding: 0 .5rem;
10 | line-height: 2em;
11 | display: -ms-inline-flexbox;
12 | display: inline-flex;
13 | cursor: default;
14 | font-weight: 400;
15 | -webkit-user-select: none;
16 | -moz-user-select: none;
17 | -ms-user-select: none;
18 | user-select: none;
19 | }
20 |
21 | a.tag {
22 | text-decoration: none;
23 | cursor: pointer;
24 | transition: .3s color, .3s background;
25 | }
26 |
27 | a.tag:hover {
28 | background-color: rgba(110, 118, 135, 0.2);
29 | color: inherit;
30 | }
31 |
32 | .tag-addon {
33 | display: inline-block;
34 | padding: 0 .5rem;
35 | color: inherit;
36 | text-decoration: none;
37 | background: rgba(0, 0, 0, 0.06);
38 | margin: 0 -.5rem 0 .5rem;
39 | text-align: center;
40 | min-width: 1.5rem;
41 | }
42 |
43 | .tag-addon:last-child {
44 | border-top-right-radius: 3px;
45 | border-bottom-right-radius: 3px;
46 | }
47 |
48 | .tag-addon i {
49 | vertical-align: middle;
50 | margin: 0 -.25rem;
51 | }
52 |
53 | a.tag-addon {
54 | text-decoration: none;
55 | cursor: pointer;
56 | transition: .3s color, .3s background;
57 | }
58 |
59 | a.tag-addon:hover {
60 | background: rgba(0, 0, 0, 0.16);
61 | color: inherit;
62 | }
63 |
64 | .tag-avatar {
65 | width: 1.5rem;
66 | height: 1.5rem;
67 | border-radius: 3px 0 0 3px;
68 | margin: 0 .5rem 0 -.5rem;
69 | }
70 |
71 | .ava {
72 | width: 1.5rem;
73 | height: 1.5rem;
74 | line-height: 2rem;
75 | display: inline-block;
76 | background: #ced4da no-repeat center/cover;
77 | position: relative;
78 | text-align: center;
79 | color: #868e96;
80 | font-weight: 600;
81 | vertical-align: bottom;
82 | font-size: .875rem;
83 | -webkit-user-select: none;
84 | -moz-user-select: none;
85 | -ms-user-select: none;
86 | user-select: none;
87 | }
88 |
--------------------------------------------------------------------------------
/convo/assets/js/emoji.js:
--------------------------------------------------------------------------------
1 | var emojis = JSON.parse('[{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":null,"width":"72","height":"72"},{"name":"./assets/img/good.gif","width":"72","height":"72"},{"name":"./assets/img/cry.gif","width":"72","height":"72"},{"name":"./assets/img/hug.gif","width":"72","height":"72"},{"name":"./assets/img/laugh.gif","width":"72","height":"72"},{"name":"./assets/img/love.gif","width":"72","height":"72"},{"name":"./assets/img/zzz.gif","width":"72","height":"72"}]');
2 | // Not Made to be production level I made this quickly for testing a websocket server and added the emojies for fun!
3 | // Selectors
4 | var messages = document.querySelector('.msg-container')
5 | var btn = document.querySelector('.submit')
6 | var input = document.querySelector('.input input')
7 | var emojiholder = document.querySelector('.emoji-holder')
8 | var emojiwrapper = document.querySelector('.emoji-wrapper')
9 | var emojibtn = document.querySelector('.emoji-btn')
10 |
11 | // Button/Enter Key
12 | btn.addEventListener('click', sendMessage)
13 | input.addEventListener('keyup', function (evt) {
14 | if (evt.keyCode == 13) sendMessage()
15 | })
16 | emojibtn.addEventListener('click', function (e) {
17 | e.stopPropagation()
18 | this.classList.toggle('open')
19 | })
20 | document.body.addEventListener('click', function () {
21 | emojibtn.classList.remove('open')
22 | })
23 |
24 | // Messenger Functions
25 | function sendMessage() {
26 | var msg = input.value;
27 | input.value = ''
28 | writeLine(msg)
29 | }
30 |
31 | function addMessage(evt) {
32 | console.log(evt);
33 | var msg = evt.data ? JSON.parse(evt.data) : evt;
34 | writeLine(`${msg.FROM}: ${msg.MESSAGE}`)
35 | }
36 |
37 | function writeLine(text) {
38 | var message = document.createElement('div')
39 | message.classList.add('emoji-message')
40 | message.innerHTML = ' ' + text
41 | messages.appendChild(message)
42 | messages.scrollTop = messages.scrollHeight;
43 | }
44 |
45 | // Load the Emojies
46 | for (var i = 0; i < emojis.length; i++) {
47 | if (emojis[i].name == null) continue
48 | emojiwrapper.innerHTML += `
49 |
50 | `
51 | }
52 |
53 | // Emoji Events
54 | var emojiElements = []
55 | setTimeout(function () {
56 | emojiElements = document.querySelectorAll('.emoji-popup .emoji-img')
57 | for (var i = 0; i < emojiElements.length; i++) {
58 | emojiElements[i].addEventListener('click', function () {
59 | input.value = `
`
60 | sendMessage()
61 | emojibtn.classList.remove('open')
62 | })
63 | }
64 | })
65 |
--------------------------------------------------------------------------------
/convo/assets/js/chats.js:
--------------------------------------------------------------------------------
1 | (function () {
2 |
3 | var chat = {
4 | messageToSend: '',
5 | messageResponses: [
6 | 'You remind me of my chinese friend, UG LEE',
7 | 'How do you comfort a JavaScript bug? You console it.',
8 | 'An SQL query enters a bar, approaches two tables and asks: "May I join you?"',
9 | 'What is the most used language in programming? Profanity.',
10 | 'What is the object-oriented way to become wealthy? Inheritance.'
11 | ],
12 | init: function () {
13 | this.cacheDOM();
14 | this.bindEvents();
15 | this.render();
16 | },
17 | cacheDOM: function () {
18 | this.$chatHistory = $('.msg-single');
19 | this.$button = $('button');
20 | this.$textarea = $('#message-to-send');
21 | this.$chatHistoryList = this.$chatHistory.find('ul');
22 | },
23 | bindEvents: function () {
24 | this.$button.on('click', this.addMessage.bind(this));
25 | this.$textarea.on('keyup', this.addMessageEnter.bind(this));
26 | },
27 | render: function () {
28 | this.scrollToBottom();
29 | if (this.messageToSend.trim() !== '') {
30 | var template = Handlebars.compile($("#message-template").html());
31 | var context = {
32 | messageOutput: this.messageToSend,
33 | time: this.getCurrentTime()
34 | };
35 |
36 | this.$chatHistoryList.append(template(context));
37 | this.scrollToBottom();
38 | this.$textarea.val('');
39 |
40 | // responses
41 | var templateResponse = Handlebars.compile($("#message-response-template").html());
42 | var contextResponse = {
43 | response: this.getRandomItem(this.messageResponses),
44 | time: this.getCurrentTime()
45 | };
46 |
47 | setTimeout(function () {
48 | this.$chatHistoryList.append(templateResponse(contextResponse));
49 | this.scrollToBottom();
50 | }.bind(this), 1500);
51 |
52 | }
53 |
54 | },
55 |
56 | addMessage: function () {
57 | this.messageToSend = this.$textarea.val()
58 | this.render();
59 | },
60 | addMessageEnter: function (event) {
61 | // enter was pressed
62 | if (event.keyCode === 13) {
63 | this.addMessage();
64 | }
65 | },
66 | scrollToBottom: function () {
67 | this.$chatHistory.scrollTop(this.$chatHistory[0].scrollHeight);
68 | },
69 | getCurrentTime: function () {
70 | return new Date().toLocaleTimeString().
71 | replace(/([\d]+:[\d]{2})(:[\d]{2})(.*)/, "$1$3");
72 | },
73 | getRandomItem: function (arr) {
74 | return arr[Math.floor(Math.random() * arr.length)];
75 | }
76 |
77 | };
78 |
79 | chat.init();
80 |
81 | var searchFilter = {
82 | options: {
83 | valueNames: ['name']
84 | },
85 | init: function () {
86 | var userList = new List('people-list', this.options);
87 | var noItems = $('
No items found');
88 |
89 | userList.on('updated', function (list) {
90 | if (list.matchingItems.length === 0) {
91 | $(list.list).append(noItems);
92 | } else {
93 | noItems.detach();
94 | }
95 | });
96 | }
97 | };
98 |
99 | searchFilter.init();
100 |
101 | })();
102 |
--------------------------------------------------------------------------------
/convo/assets/js/dashboard.js:
--------------------------------------------------------------------------------
1 | require.config({
2 | shim: {
3 | 'bootstrap': ['jquery'],
4 | 'sparkline': ['jquery'],
5 | 'tablesorter': ['jquery'],
6 | 'vector-map': ['jquery'],
7 | 'vector-map-de': ['vector-map', 'jquery'],
8 | 'vector-map-world': ['vector-map', 'jquery'],
9 | 'core': ['bootstrap', 'jquery'],
10 | },
11 | paths: {
12 | 'core': 'assets/js/core',
13 | 'jquery': 'assets/js/vendors/jquery-3.2.1.min',
14 | 'bootstrap': 'assets/js/vendors/bootstrap.bundle.min',
15 | 'sparkline': 'assets/js/vendors/jquery.sparkline.min',
16 | 'selectize': 'assets/js/vendors/selectize.min',
17 | 'tablesorter': 'assets/js/vendors/jquery.tablesorter.min',
18 | 'vector-map': 'assets/js/vendors/jquery-jvectormap-2.0.3.min',
19 | 'vector-map-de': 'assets/js/vendors/jquery-jvectormap-de-merc',
20 | 'vector-map-world': 'assets/js/vendors/jquery-jvectormap-world-mill',
21 | 'circle-progress': 'assets/js/vendors/circle-progress.min',
22 | }
23 | });
24 | window.tabler = {
25 | colors: {
26 | 'blue': '#467fcf',
27 | 'blue-darkest': '#0e1929',
28 | 'blue-darker': '#1c3353',
29 | 'blue-dark': '#3866a6',
30 | 'blue-light': '#7ea5dd',
31 | 'blue-lighter': '#c8d9f1',
32 | 'blue-lightest': '#edf2fa',
33 | 'azure': '#45aaf2',
34 | 'azure-darkest': '#0e2230',
35 | 'azure-darker': '#1c4461',
36 | 'azure-dark': '#3788c2',
37 | 'azure-light': '#7dc4f6',
38 | 'azure-lighter': '#c7e6fb',
39 | 'azure-lightest': '#ecf7fe',
40 | 'indigo': '#6574cd',
41 | 'indigo-darkest': '#141729',
42 | 'indigo-darker': '#282e52',
43 | 'indigo-dark': '#515da4',
44 | 'indigo-light': '#939edc',
45 | 'indigo-lighter': '#d1d5f0',
46 | 'indigo-lightest': '#f0f1fa',
47 | 'purple': '#a55eea',
48 | 'purple-darkest': '#21132f',
49 | 'purple-darker': '#42265e',
50 | 'purple-dark': '#844bbb',
51 | 'purple-light': '#c08ef0',
52 | 'purple-lighter': '#e4cff9',
53 | 'purple-lightest': '#f6effd',
54 | 'pink': '#f66d9b',
55 | 'pink-darkest': '#31161f',
56 | 'pink-darker': '#622c3e',
57 | 'pink-dark': '#c5577c',
58 | 'pink-light': '#f999b9',
59 | 'pink-lighter': '#fcd3e1',
60 | 'pink-lightest': '#fef0f5',
61 | 'red': '#e74c3c',
62 | 'red-darkest': '#2e0f0c',
63 | 'red-darker': '#5c1e18',
64 | 'red-dark': '#b93d30',
65 | 'red-light': '#ee8277',
66 | 'red-lighter': '#f8c9c5',
67 | 'red-lightest': '#fdedec',
68 | 'orange': '#fd9644',
69 | 'orange-darkest': '#331e0e',
70 | 'orange-darker': '#653c1b',
71 | 'orange-dark': '#ca7836',
72 | 'orange-light': '#feb67c',
73 | 'orange-lighter': '#fee0c7',
74 | 'orange-lightest': '#fff5ec',
75 | 'yellow': '#f1c40f',
76 | 'yellow-darkest': '#302703',
77 | 'yellow-darker': '#604e06',
78 | 'yellow-dark': '#c19d0c',
79 | 'yellow-light': '#f5d657',
80 | 'yellow-lighter': '#fbedb7',
81 | 'yellow-lightest': '#fef9e7',
82 | 'lime': '#7bd235',
83 | 'lime-darkest': '#192a0b',
84 | 'lime-darker': '#315415',
85 | 'lime-dark': '#62a82a',
86 | 'lime-light': '#a3e072',
87 | 'lime-lighter': '#d7f2c2',
88 | 'lime-lightest': '#f2fbeb',
89 | 'green': '#5eba00',
90 | 'green-darkest': '#132500',
91 | 'green-darker': '#264a00',
92 | 'green-dark': '#4b9500',
93 | 'green-light': '#8ecf4d',
94 | 'green-lighter': '#cfeab3',
95 | 'green-lightest': '#eff8e6',
96 | 'teal': '#2bcbba',
97 | 'teal-darkest': '#092925',
98 | 'teal-darker': '#11514a',
99 | 'teal-dark': '#22a295',
100 | 'teal-light': '#6bdbcf',
101 | 'teal-lighter': '#bfefea',
102 | 'teal-lightest': '#eafaf8',
103 | 'cyan': '#17a2b8',
104 | 'cyan-darkest': '#052025',
105 | 'cyan-darker': '#09414a',
106 | 'cyan-dark': '#128293',
107 | 'cyan-light': '#5dbecd',
108 | 'cyan-lighter': '#b9e3ea',
109 | 'cyan-lightest': '#e8f6f8',
110 | 'gray': '#868e96',
111 | 'gray-darkest': '#1b1c1e',
112 | 'gray-darker': '#36393c',
113 | 'gray-dark': '#6b7278',
114 | 'gray-light': '#aab0b6',
115 | 'gray-lighter': '#dbdde0',
116 | 'gray-lightest': '#f3f4f5',
117 | 'gray-dark': '#343a40',
118 | 'gray-dark-darkest': '#0a0c0d',
119 | 'gray-dark-darker': '#15171a',
120 | 'gray-dark-dark': '#2a2e33',
121 | 'gray-dark-light': '#717579',
122 | 'gray-dark-lighter': '#c2c4c6',
123 | 'gray-dark-lightest': '#ebebec'
124 | }
125 | };
126 | require(['core']);
--------------------------------------------------------------------------------
/convo/assets/css/offline-language-english.css:
--------------------------------------------------------------------------------
1 | /* line 6, ../sass/_content.sass */
2 | .offline-ui .offline-ui-retry:before {
3 | content: "Reconnect";
4 | }
5 | /* line 11, ../sass/_content.sass */
6 | .offline-ui.offline-ui-up .offline-ui-content:before {
7 | content: "Yay! Your computer is connected to the internet.";
8 | }
9 | @media (max-width: 1024px) {
10 | /* line 11, ../sass/_content.sass */
11 | .offline-ui.offline-ui-up .offline-ui-content:before {
12 | content: "Yay! Your device is connected to the internet.";
13 | }
14 | }
15 | @media (max-width: 568px) {
16 | /* line 11, ../sass/_content.sass */
17 | .offline-ui.offline-ui-up .offline-ui-content:before {
18 | content: "Your device is connected.";
19 | }
20 | }
21 | /* line 22, ../sass/_content.sass */
22 | .offline-ui.offline-ui-down .offline-ui-content:before {
23 | content: "Oh oh! Your computer lost its internet connection.";
24 | }
25 | @media (max-width: 1024px) {
26 | /* line 22, ../sass/_content.sass */
27 | .offline-ui.offline-ui-down .offline-ui-content:before {
28 | content: "Oh oh! Your device lost its internet connection.";
29 | }
30 | }
31 | @media (max-width: 568px) {
32 | /* line 22, ../sass/_content.sass */
33 | .offline-ui.offline-ui-down .offline-ui-content:before {
34 | content: "Oops! Your device isn't connected.";
35 | }
36 | }
37 | /* line 33, ../sass/_content.sass */
38 | .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before {
39 | content: "Attempting to reconnect...";
40 | }
41 | /* line 42, ../sass/_content.sass */
42 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
43 | content: "Connection seems lost. Reconnecting in " attr(data-retry-in-value) " seconds...";
44 | }
45 | @media (max-width: 568px) {
46 | /* line 42, ../sass/_content.sass */
47 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
48 | content: "Reconnecting in " attr(data-retry-in-value) "s...";
49 | }
50 | }
51 | /* line 50, ../sass/_content.sass */
52 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
53 | content: "Connection seems lost. Reconnecting in " attr(data-retry-in-value) " second...";
54 | }
55 | @media (max-width: 568px) {
56 | /* line 50, ../sass/_content.sass */
57 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
58 | content: "Reconnecting in " attr(data-retry-in-value) "s...";
59 | }
60 | }
61 | /* line 58, ../sass/_content.sass */
62 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
63 | content: "Connection seems lost. Reconnecting in " attr(data-retry-in-value) " minutes...";
64 | }
65 | @media (max-width: 568px) {
66 | /* line 58, ../sass/_content.sass */
67 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
68 | content: "Reconnecting in " attr(data-retry-in-value) "m...";
69 | }
70 | }
71 | /* line 66, ../sass/_content.sass */
72 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
73 | content: "Connection seems lost. Reconnecting in " attr(data-retry-in-value) " minute...";
74 | }
75 | @media (max-width: 568px) {
76 | /* line 66, ../sass/_content.sass */
77 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
78 | content: "Reconnecting in " attr(data-retry-in-value) "m...";
79 | }
80 | }
81 | /* line 74, ../sass/_content.sass */
82 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
83 | content: "Connection seems lost. Reconnecting in " attr(data-retry-in-value) " hours...";
84 | }
85 | @media (max-width: 568px) {
86 | /* line 74, ../sass/_content.sass */
87 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
88 | content: "Reconnecting in " attr(data-retry-in-value) "h...";
89 | }
90 | }
91 | /* line 82, ../sass/_content.sass */
92 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
93 | content: "Connection seems lost. Reconnecting in " attr(data-retry-in-value) " hour...";
94 | }
95 | @media (max-width: 568px) {
96 | /* line 82, ../sass/_content.sass */
97 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
98 | content: "Reconnecting in " attr(data-retry-in-value) "h...";
99 | }
100 | }
101 | /* line 90, ../sass/_content.sass */
102 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry {
103 | display: none;
104 | }
105 | /* line 93, ../sass/_content.sass */
106 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before {
107 | content: "Connection attempt failed.";
108 | }
109 |
--------------------------------------------------------------------------------
/convo/assets/css/fontello.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: 'fontello';
3 | src: url('../fonts/fontello.eot?85119985');
4 | src: url('../fonts/fontello.eot?85119985#iefix') format('embedded-opentype'),
5 | url('../fonts/fontello.woff2?85119985') format('woff2'),
6 | url('../fonts/fontello.woff?85119985') format('woff'),
7 | url('../fonts/fontello.ttf?85119985') format('truetype'),
8 | url('../fonts/fontello.svg?85119985#fontello') format('svg');
9 | font-weight: normal;
10 | font-style: normal;
11 | }
12 | /* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
13 | /* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
14 | /*
15 | @media screen and (-webkit-min-device-pixel-ratio:0) {
16 | @font-face {
17 | font-family: 'fontello';
18 | src: url('../font/fontello.svg?85119985#fontello') format('svg');
19 | }
20 | }
21 | */
22 |
23 | [class^="icon-"]:before, [class*=" icon-"]:before {
24 | font-family: "fontello";
25 | font-style: normal;
26 | font-weight: normal;
27 | speak: none;
28 |
29 | display: inline-block;
30 | text-decoration: inherit;
31 | width: 1em;
32 | margin-right: .2em;
33 | text-align: center;
34 | /* opacity: .8; */
35 |
36 | /* For safety - reset parent styles, that can break glyph codes*/
37 | font-variant: normal;
38 | text-transform: none;
39 |
40 | /* fix buttons height, for twitter bootstrap */
41 | line-height: 1em;
42 |
43 | /* Animation center compensation - margins should be symmetric */
44 | /* remove if not needed */
45 | margin-left: .2em;
46 |
47 | /* you can be more comfortable with increased icons size */
48 | /* font-size: 120%; */
49 |
50 | /* Font smoothing. That was taken from TWBS */
51 | -webkit-font-smoothing: antialiased;
52 | -moz-osx-font-smoothing: grayscale;
53 |
54 | /* Uncomment for 3D effect */
55 | /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
56 | }
57 |
58 | .icon-bell:before { content: '\e800'; } /* '' */
59 | .icon-search:before { content: '\e801'; } /* '' */
60 | .icon-comment:before { content: '\e802'; } /* '' */
61 | .icon-comment-inv:before { content: '\e803'; } /* '' */
62 | .icon-flow-merge:before { content: '\e804'; } /* '' */
63 | .icon-flow-split:before { content: '\e805'; } /* '' */
64 | .icon-flow-parallel:before { content: '\e806'; } /* '' */
65 | .icon-flow-cross:before { content: '\e807'; } /* '' */
66 | .icon-article:before { content: '\e808'; } /* '' */
67 | .icon-article-alt:before { content: '\e809'; } /* '' */
68 | .icon-folder:before { content: '\e80a'; } /* '' */
69 | .icon-list:before { content: '\e80b'; } /* '' */
70 | .icon-cloud:before { content: '\e80c'; } /* '' */
71 | .icon-layers:before { content: '\e80d'; } /* '' */
72 | .icon-doc-inv:before { content: '\e80e'; } /* '' */
73 | .icon-doc:before { content: '\e80f'; } /* '' */
74 | .icon-home:before { content: '\e810'; } /* '' */
75 | .icon-link:before { content: '\e811'; } /* '' */
76 | .icon-attach:before { content: '\e812'; } /* '' */
77 | .icon-lock:before { content: '\e813'; } /* '' */
78 | .icon-lock-open:before { content: '\e814'; } /* '' */
79 | .icon-lock-empty:before { content: '\e815'; } /* '' */
80 | .icon-heart:before { content: '\e816'; } /* '' */
81 | .icon-user:before { content: '\e817'; } /* '' */
82 | .icon-comment-alt:before { content: '\e818'; } /* '' */
83 | .icon-comment-inv-alt:before { content: '\e819'; } /* '' */
84 | .icon-comment-alt2:before { content: '\e81a'; } /* '' */
85 | .icon-comment-inv-alt2:before { content: '\e81b'; } /* '' */
86 | .icon-chat:before { content: '\e81c'; } /* '' */
87 | .icon-chat-inv:before { content: '\e81d'; } /* '' */
88 | .icon-tag:before { content: '\e81e'; } /* '' */
89 | .icon-tag-empty:before { content: '\e81f'; } /* '' */
90 | .icon-lock-open-empty:before { content: '\e820'; } /* '' */
91 | .icon-download-cloud:before { content: '\e821'; } /* '' */
92 | .icon-upload-cloud:before { content: '\e822'; } /* '' */
93 | .icon-pencil-neg:before { content: '\e823'; } /* '' */
94 | .icon-pencil:before { content: '\e824'; } /* '' */
95 | .icon-undo:before { content: '\e825'; } /* '' */
96 | .icon-box:before { content: '\e826'; } /* '' */
97 | .icon-cog:before { content: '\e827'; } /* '' */
98 | .icon-calendar-alt:before { content: '\e828'; } /* '' */
99 | .icon-mic:before { content: '\e829'; } /* '' */
100 | .icon-volume-off:before { content: '\e82a'; } /* '' */
101 | .icon-headphones:before { content: '\e82b'; } /* '' */
102 | .icon-clock:before { content: '\e82c'; } /* '' */
103 | .icon-lamp:before { content: '\e82d'; } /* '' */
104 | .icon-resize-full:before { content: '\e82e'; } /* '' */
105 | .icon-resize-small:before { content: '\e82f'; } /* '' */
106 | .icon-popup:before { content: '\e830'; } /* '' */
107 | .icon-play-circle2:before { content: '\e831'; } /* '' */
108 | .icon-equalizer:before { content: '\e832'; } /* '' */
109 | .icon-rain:before { content: '\e833'; } /* '' */
110 | .icon-flash:before { content: '\e834'; } /* '' */
111 | .icon-loop:before { content: '\e835'; } /* '' */
112 | .icon-loop-alt:before { content: '\e836'; } /* '' */
113 | .icon-cw:before { content: '\e837'; } /* '' */
114 | .icon-key:before { content: '\e838'; } /* '' */
115 | .icon-hash:before { content: '\e839'; } /* '' */
116 | .icon-at:before { content: '\e83a'; } /* '' */
117 | .icon-dial:before { content: '\e83b'; } /* '' */
118 | .icon-book:before { content: '\e83c'; } /* '' */
119 | .icon-book-alt:before { content: '\e83d'; } /* '' */
120 | .icon-infinity:before { content: '\e83e'; } /* '' */
121 | .icon-check:before { content: '\e83f'; } /* '' */
122 | .icon-flash-1:before { content: '\e840'; } /* '' */
123 | .icon-flash-outline:before { content: '\e841'; } /* '' */
124 | .icon-globe:before { content: '\e842'; } /* '' */
125 | .icon-flag-filled:before { content: '\e843'; } /* '' */
126 | .icon-heart-1:before { content: '\e844'; } /* '' */
127 | .icon-heart-filled:before { content: '\e845'; } /* '' */
128 | .icon-user-1:before { content: '\e846'; } /* '' */
129 | .icon-user-add-outline:before { content: '\e847'; } /* '' */
130 | .icon-user-add:before { content: '\e848'; } /* '' */
131 | .icon-user-delete-outline:before { content: '\e849'; } /* '' */
132 | .icon-user-delete:before { content: '\e84a'; } /* '' */
133 | .icon-videocam:before { content: '\e84b'; } /* '' */
134 | .icon-picture:before { content: '\e84c'; } /* '' */
135 | .icon-th-large-outline:before { content: '\e84d'; } /* '' */
136 | .icon-th:before { content: '\e84e'; } /* '' */
137 | .icon-th-list:before { content: '\e84f'; } /* '' */
138 | .icon-ok:before { content: '\e850'; } /* '' */
139 | .icon-bell-1:before { content: '\e851'; } /* '' */
140 | .icon-location:before { content: '\e852'; } /* '' */
141 | .icon-direction:before { content: '\e853'; } /* '' */
142 | .icon-trash:before { content: '\e854'; } /* '' */
143 | .icon-doc-1:before { content: '\e855'; } /* '' */
144 | .icon-doc-add:before { content: '\e856'; } /* '' */
145 | .icon-coffee:before { content: '\e857'; } /* '' */
146 | .icon-fire-station:before { content: '\e858'; } /* '' */
147 | .icon-twitter:before { content: '\e859'; } /* '' */
148 | .icon-terminal:before { content: '\e85a'; } /* '' */
149 | .icon-github:before { content: '\e85b'; } /* '' */
150 | .icon-youtube:before { content: '\e85c'; } /* '' */
151 | .icon-call:before { content: '\e85d'; } /* '' */
152 | .icon-doc-new:before { content: '\e85e'; } /* '' */
153 | .icon-videocam-1:before { content: '\e85f'; } /* '' */
154 | .icon-bell-alt:before { content: '\f0f3'; } /* '' */
155 | .icon-facebook-rect:before { content: '\f301'; } /* '' */
156 | .icon-github-1:before { content: '\f308'; } /* '' */
157 | .icon-instagram-filled:before { content: '\f31f'; } /* '' */
158 | .icon-logout:before { content: '\e800'; } /* '' */
159 | .icon-emo-grin:before { content: '\e80c'; } /* '' */
--------------------------------------------------------------------------------
/convo/assets/js/offline.min.js:
--------------------------------------------------------------------------------
1 | /*! offline-js 0.7.13 */
2 | (function(){var a,b,c,d,e,f,g;d=function(a,b){var c,d,e,f;e=[];for(d in b.prototype)try{f=b.prototype[d],null==a[d]&&"function"!=typeof f?e.push(a[d]=f):e.push(void 0)}catch(g){c=g}return e},a={},null==a.options&&(a.options={}),c={checks:{xhr:{url:function(){return"/favicon.ico?_="+Math.floor(1e9*Math.random())},timeout:5e3},image:{url:function(){return"/favicon.ico?_="+Math.floor(1e9*Math.random())}},active:"xhr"},checkOnLoad:!1,interceptRequests:!0,reconnect:!0},e=function(a,b){var c,d,e,f,g,h;for(c=a,h=b.split("."),d=e=0,f=h.length;f>e&&(g=h[d],c=c[g],"object"==typeof c);d=++e);return d===h.length-1?c:void 0},a.getOption=function(b){var d,f;return f=null!=(d=e(a.options,b))?d:e(c,b),"function"==typeof f?f():f},"function"==typeof window.addEventListener&&window.addEventListener("online",function(){return setTimeout(a.confirmUp,100)},!1),"function"==typeof window.addEventListener&&window.addEventListener("offline",function(){return a.confirmDown()},!1),a.state="up",a.markUp=function(){return a.trigger("confirmed-up"),"up"!==a.state?(a.state="up",a.trigger("up")):void 0},a.markDown=function(){return a.trigger("confirmed-down"),"down"!==a.state?(a.state="down",a.trigger("down")):void 0},f={},a.on=function(b,c,d){var e,g,h,i,j;if(g=b.split(" "),g.length>1){for(j=[],h=0,i=g.length;i>h;h++)e=g[h],j.push(a.on(e,c,d));return j}return null==f[b]&&(f[b]=[]),f[b].push([d,c])},a.off=function(a,b){var c,d,e,g,h;if(null!=f[a]){if(b){for(e=0,h=[];ed;d++)h=g[d],b=h[0],c=h[1],i.push(c.call(b));return i}},b=function(a,b,c){var d,e,f,g,h;return h=function(){return a.status&&a.status<12e3?b():c()},null===a.onprogress?(d=a.onerror,a.onerror=function(){return c(),"function"==typeof d?d.apply(null,arguments):void 0},g=a.ontimeout,a.ontimeout=function(){return c(),"function"==typeof g?g.apply(null,arguments):void 0},e=a.onload,a.onload=function(){return h(),"function"==typeof e?e.apply(null,arguments):void 0}):(f=a.onreadystatechange,a.onreadystatechange=function(){return 4===a.readyState?h():0===a.readyState&&c(),"function"==typeof f?f.apply(null,arguments):void 0})},a.checks={},a.checks.xhr=function(){var c,d;d=new XMLHttpRequest,d.offline=!1,d.open("HEAD",a.getOption("checks.xhr.url"),!0),null!=d.timeout&&(d.timeout=a.getOption("checks.xhr.timeout")),b(d,a.markUp,a.markDown);try{d.send()}catch(e){c=e,a.markDown()}return d},a.checks.image=function(){var b;return b=document.createElement("img"),b.onerror=a.markDown,b.onload=a.markUp,void(b.src=a.getOption("checks.image.url"))},a.checks.down=a.markDown,a.checks.up=a.markUp,a.check=function(){return a.trigger("checking"),a.checks[a.getOption("checks.active")]()},a.confirmUp=a.confirmDown=a.check,a.onXHR=function(a){var b,c,e;return e=function(b,c){var d;return d=b.open,b.open=function(e,f,g,h,i){return a({type:e,url:f,async:g,flags:c,user:h,password:i,xhr:b}),d.apply(b,arguments)}},c=window.XMLHttpRequest,window.XMLHttpRequest=function(a){var b,d,f;return f=new c(a),e(f,a),d=f.setRequestHeader,f.headers={},f.setRequestHeader=function(a,b){return f.headers[a]=b,d.call(f,a,b)},b=f.overrideMimeType,f.overrideMimeType=function(a){return f.mimeType=a,b.call(f,a)},f},d(window.XMLHttpRequest,c),null!=window.XDomainRequest?(b=window.XDomainRequest,window.XDomainRequest=function(){var a;return a=new b,e(a),a},d(window.XDomainRequest,b)):void 0},g=function(){return a.getOption("interceptRequests")&&a.onXHR(function(c){var d;return d=c.xhr,d.offline!==!1?b(d,a.markUp,a.confirmDown):void 0}),a.getOption("checkOnLoad")?a.check():void 0},setTimeout(g,0),window.Offline=a}).call(this),function(){var a,b,c,d,e,f,g,h,i;if(!window.Offline)throw new Error("Offline Reconnect brought in without offline.js");d=Offline.reconnect={},f=null,e=function(){var a;return null!=d.state&&"inactive"!==d.state&&Offline.trigger("reconnect:stopped"),d.state="inactive",d.remaining=d.delay=null!=(a=Offline.getOption("reconnect.initialDelay"))?a:3},b=function(){var a,b;return a=null!=(b=Offline.getOption("reconnect.delay"))?b:Math.min(Math.ceil(1.5*d.delay),3600),d.remaining=d.delay=a},g=function(){return"connecting"!==d.state?(d.remaining-=1,Offline.trigger("reconnect:tick"),0===d.remaining?h():void 0):void 0},h=function(){return"waiting"===d.state?(Offline.trigger("reconnect:connecting"),d.state="connecting",Offline.check()):void 0},a=function(){return Offline.getOption("reconnect")?(e(),d.state="waiting",Offline.trigger("reconnect:started"),f=setInterval(g,1e3)):void 0},i=function(){return null!=f&&clearInterval(f),e()},c=function(){return Offline.getOption("reconnect")&&"connecting"===d.state?(Offline.trigger("reconnect:failure"),d.state="waiting",b()):void 0},d.tryNow=h,e(),Offline.on("down",a),Offline.on("confirmed-down",c),Offline.on("up",i)}.call(this),function(){var a,b,c,d,e,f;if(!window.Offline)throw new Error("Requests module brought in without offline.js");c=[],f=!1,d=function(a){return Offline.trigger("requests:capture"),"down"!==Offline.state&&(f=!0),c.push(a)},e=function(a){var b,c,d,e,f,g,h,i,j;j=a.xhr,g=a.url,f=a.type,h=a.user,d=a.password,b=a.body,j.abort(),j.open(f,g,!0,h,d),e=j.headers;for(c in e)i=e[c],j.setRequestHeader(c,i);return j.mimeType&&j.overrideMimeType(j.mimeType),j.send(b)},a=function(){return c=[]},b=function(){var b,d,f,g,h,i;for(Offline.trigger("requests:flush"),h={},b=0,f=c.length;f>b;b++)g=c[b],i=g.url.replace(/(\?|&)_=[0-9]+/,function(a,b){return"?"===b?b:""}),h[g.type.toUpperCase()+" - "+i]=g;for(d in h)g=h[d],e(g);return a()},setTimeout(function(){return Offline.getOption("requests")!==!1?(Offline.on("confirmed-up",function(){return f?(f=!1,a()):void 0}),Offline.on("up",b),Offline.on("down",function(){return f=!1}),Offline.onXHR(function(a){var b,c,e,f,g;return g=a.xhr,e=a.async,g.offline!==!1&&(f=function(){return d(a)},c=g.send,g.send=function(b){return a.body=b,c.apply(g,arguments)},e)?null===g.onprogress?(g.addEventListener("error",f,!1),g.addEventListener("timeout",f,!1)):(b=g.onreadystatechange,g.onreadystatechange=function(){return 0===g.readyState?f():4===g.readyState&&(0===g.status||g.status>=12e3)&&f(),"function"==typeof b?b.apply(null,arguments):void 0}):void 0}),Offline.requests={flush:b,clear:a}):void 0},0)}.call(this),function(){var a,b,c,d,e;if(!Offline)throw new Error("Offline simulate brought in without offline.js");for(d=["up","down"],b=0,c=d.length;c>b;b++)e=d[b],(document.querySelector("script[data-simulate='"+e+"']")||localStorage.OFFLINE_SIMULATE===e)&&(null==Offline.options&&(Offline.options={}),null==(a=Offline.options).checks&&(a.checks={}),Offline.options.checks.active=e)}.call(this),function(){var a,b,c,d,e,f,g,h,i,j,k,l,m;if(!window.Offline)throw new Error("Offline UI brought in without offline.js");b='',a='',f=function(a){var b;return b=document.createElement("div"),b.innerHTML=a,b.children[0]},g=e=null,d=function(a){return k(a),g.className+=" "+a},k=function(a){return g.className=g.className.replace(new RegExp("(^| )"+a.split(" ").join("|")+"( |$)","gi")," ")},i={},h=function(a,b){return d(a),null!=i[a]&&clearTimeout(i[a]),i[a]=setTimeout(function(){return k(a),delete i[a]},1e3*b)},m=function(a){var b,c,d,e;d={day:86400,hour:3600,minute:60,second:1};for(c in d)if(b=d[c],a>=b)return e=Math.floor(a/b),[e,c];return["now",""]},l=function(){var c,h;return g=f(b),document.body.appendChild(g),null!=Offline.reconnect&&Offline.getOption("reconnect")&&(g.appendChild(f(a)),c=g.querySelector(".offline-ui-retry"),h=function(a){return a.preventDefault(),Offline.reconnect.tryNow()},null!=c.addEventListener?c.addEventListener("click",h,!1):c.attachEvent("click",h)),d("offline-ui-"+Offline.state),e=g.querySelector(".offline-ui-content")},j=function(){return l(),Offline.on("up",function(){return k("offline-ui-down"),d("offline-ui-up"),h("offline-ui-up-2s",2),h("offline-ui-up-5s",5)}),Offline.on("down",function(){return k("offline-ui-up"),d("offline-ui-down"),h("offline-ui-down-2s",2),h("offline-ui-down-5s",5)}),Offline.on("reconnect:connecting",function(){return d("offline-ui-connecting"),k("offline-ui-waiting")}),Offline.on("reconnect:tick",function(){var a,b,c;return d("offline-ui-waiting"),k("offline-ui-connecting"),a=m(Offline.reconnect.remaining),b=a[0],c=a[1],e.setAttribute("data-retry-in-value",b),e.setAttribute("data-retry-in-unit",c)}),Offline.on("reconnect:stopped",function(){return k("offline-ui-connecting offline-ui-waiting"),e.setAttribute("data-retry-in-value",null),e.setAttribute("data-retry-in-unit",null)}),Offline.on("reconnect:failure",function(){return h("offline-ui-reconnect-failed-2s",2),h("offline-ui-reconnect-failed-5s",5)}),Offline.on("reconnect:success",function(){return h("offline-ui-reconnect-succeeded-2s",2),h("offline-ui-reconnect-succeeded-5s",5)})},"complete"===document.readyState?j():null!=document.addEventListener?document.addEventListener("DOMContentLoaded",j,!1):(c=document.onreadystatechange,document.onreadystatechange=function(){return"complete"===document.readyState&&j(),"function"==typeof c?c.apply(null,arguments):void 0})}.call(this);
--------------------------------------------------------------------------------
/convo/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | convo
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 | -
113 |
114 |
115 | kevin minion
116 | Just now
117 | Are you there bro?
118 |
119 | -
120 |
121 |
122 | bo jackson
123 |
124 | 3:52 AM
125 | It disappear all by itself? Dude you lying
126 |
127 | -
128 |
129 |
130 | michael jordan
131 |
132 | 7:08 PM
133 | Yo bro, you won't believe what amma bout
134 | to tellyou
135 |
136 | -
137 |
138 |
139 | jane doe
140 |
141 | 2:09 PM
142 | This is that, you know the drill
143 |
144 |
145 | -
146 |
147 |
148 | scrat
149 | Yesterday
150 | Where is my nut?
151 |
152 | -
153 |
154 |
155 | jane doe
156 |
157 | 2:09 PM
158 | This is that, you know the drill
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
197 |
198 |
199 |
200 |
203 |
204 |
249 |
250 |
253 |
254 |
255 |
256 |
270 |
271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
293 |
294 |
312 |
313 |
314 |
315 |
325 |
326 |
330 |
331 |
332 |
333 |
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
--------------------------------------------------------------------------------
/convo/assets/js/require.min.js:
--------------------------------------------------------------------------------
1 | /** vim: et:ts=4:sw=4:sts=4
2 | * @license RequireJS 2.3.5 Copyright jQuery Foundation and other contributors.
3 | * Released under MIT license, https://github.com/requirejs/requirejs/blob/master/LICENSE
4 | */
5 | var requirejs,require,define;!function(global,setTimeout){function commentReplace(e,t){return t||""}function isFunction(e){return"[object Function]"===ostring.call(e)}function isArray(e){return"[object Array]"===ostring.call(e)}function each(e,t){if(e){var i;for(i=0;i-1&&(!e[i]||!t(e[i],i,e));i-=1);}}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return hasProp(e,t)&&e[t]}function eachProp(e,t){var i;for(i in e)if(hasProp(e,i)&&t(e[i],i))break}function mixin(e,t,i,r){return t&&eachProp(t,function(t,n){!i&&hasProp(e,n)||(!r||"object"!=typeof t||!t||isArray(t)||isFunction(t)||t instanceof RegExp?e[n]=t:(e[n]||(e[n]={}),mixin(e[n],t,i,r)))}),e}function bind(e,t){return function(){return t.apply(e,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(e){throw e}function getGlobal(e){if(!e)return e;var t=global;return each(e.split("."),function(e){t=t[e]}),t}function makeError(e,t,i,r){var n=new Error(t+"\nhttp://requirejs.org/docs/errors.html#"+e);return n.requireType=e,n.requireModules=r,i&&(n.originalError=i),n}function newContext(e){function t(e){var t,i;for(t=0;t0&&(e.splice(t-1,2),t-=2)}}function i(e,i,r){var n,o,a,s,u,c,d,p,f,l,h=i&&i.split("/"),m=y.map,g=m&&m["*"];if(e&&(c=(e=e.split("/")).length-1,y.nodeIdCompat&&jsSuffixRegExp.test(e[c])&&(e[c]=e[c].replace(jsSuffixRegExp,"")),"."===e[0].charAt(0)&&h&&(e=h.slice(0,h.length-1).concat(e)),t(e),e=e.join("/")),r&&m&&(h||g)){e:for(a=(o=e.split("/")).length;a>0;a-=1){if(u=o.slice(0,a).join("/"),h)for(s=h.length;s>0;s-=1)if((n=getOwn(m,h.slice(0,s).join("/")))&&(n=getOwn(n,u))){d=n,p=a;break e}!f&&g&&getOwn(g,u)&&(f=getOwn(g,u),l=a)}!d&&f&&(d=f,p=l),d&&(o.splice(0,p,d),e=o.join("/"))}return getOwn(y.pkgs,e)||e}function r(e){isBrowser&&each(scripts(),function(t){if(t.getAttribute("data-requiremodule")===e&&t.getAttribute("data-requirecontext")===q.contextName)return t.parentNode.removeChild(t),!0})}function n(e){var t=getOwn(y.paths,e);if(t&&isArray(t)&&t.length>1)return t.shift(),q.require.undef(e),q.makeRequire(null,{skipMap:!0})([e]),!0}function o(e){var t,i=e?e.indexOf("!"):-1;return i>-1&&(t=e.substring(0,i),e=e.substring(i+1,e.length)),[t,e]}function a(e,t,r,n){var a,s,u,c,d=null,p=t?t.name:null,f=e,l=!0,h="";return e||(l=!1,e="_@r"+(T+=1)),c=o(e),d=c[0],e=c[1],d&&(d=i(d,p,n),s=getOwn(j,d)),e&&(d?h=r?e:s&&s.normalize?s.normalize(e,function(e){return i(e,p,n)}):-1===e.indexOf("!")?i(e,p,n):e:(d=(c=o(h=i(e,p,n)))[0],h=c[1],r=!0,a=q.nameToUrl(h))),u=!d||s||r?"":"_unnormalized"+(A+=1),{prefix:d,name:h,parentMap:t,unnormalized:!!u,url:a,originalName:f,isDefine:l,id:(d?d+"!"+h:h)+u}}function s(e){var t=e.id,i=getOwn(S,t);return i||(i=S[t]=new q.Module(e)),i}function u(e,t,i){var r=e.id,n=getOwn(S,r);!hasProp(j,r)||n&&!n.defineEmitComplete?(n=s(e)).error&&"error"===t?i(n.error):n.on(t,i):"defined"===t&&i(j[r])}function c(e,t){var i=e.requireModules,r=!1;t?t(e):(each(i,function(t){var i=getOwn(S,t);i&&(i.error=e,i.events.error&&(r=!0,i.emit("error",e)))}),r||req.onError(e))}function d(){globalDefQueue.length&&(each(globalDefQueue,function(e){var t=e[0];"string"==typeof t&&(q.defQueueMap[t]=!0),O.push(e)}),globalDefQueue=[])}function p(e){delete S[e],delete k[e]}function f(e,t,i){var r=e.map.id;e.error?e.emit("error",e.error):(t[r]=!0,each(e.depMaps,function(r,n){var o=r.id,a=getOwn(S,o);!a||e.depMatched[n]||i[o]||(getOwn(t,o)?(e.defineDep(n,j[o]),e.check()):f(a,t,i))}),i[r]=!0)}function l(){var e,t,i=1e3*y.waitSeconds,o=i&&q.startTime+i<(new Date).getTime(),a=[],s=[],u=!1,d=!0;if(!x){if(x=!0,eachProp(k,function(e){var i=e.map,c=i.id;if(e.enabled&&(i.isDefine||s.push(e),!e.error))if(!e.inited&&o)n(c)?(t=!0,u=!0):(a.push(c),r(c));else if(!e.inited&&e.fetched&&i.isDefine&&(u=!0,!i.prefix))return d=!1}),o&&a.length)return e=makeError("timeout","Load timeout for modules: "+a,null,a),e.contextName=q.contextName,c(e);d&&each(s,function(e){f(e,{},{})}),o&&!t||!u||!isBrowser&&!isWebWorker||w||(w=setTimeout(function(){w=0,l()},50)),x=!1}}function h(e){hasProp(j,e[0])||s(a(e[0],null,!0)).init(e[1],e[2])}function m(e,t,i,r){e.detachEvent&&!isOpera?r&&e.detachEvent(r,t):e.removeEventListener(i,t,!1)}function g(e){var t=e.currentTarget||e.srcElement;return m(t,q.onScriptLoad,"load","onreadystatechange"),m(t,q.onScriptError,"error"),{node:t,id:t&&t.getAttribute("data-requiremodule")}}function v(){var e;for(d();O.length;){if(null===(e=O.shift())[0])return c(makeError("mismatch","Mismatched anonymous define() module: "+e[e.length-1]));h(e)}q.defQueueMap={}}var x,b,q,E,w,y={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},S={},k={},M={},O=[],j={},P={},R={},T=1,A=1;return E={require:function(e){return e.require?e.require:e.require=q.makeRequire(e.map)},exports:function(e){if(e.usingExports=!0,e.map.isDefine)return e.exports?j[e.map.id]=e.exports:e.exports=j[e.map.id]={}},module:function(e){return e.module?e.module:e.module={id:e.map.id,uri:e.map.url,config:function(){return getOwn(y.config,e.map.id)||{}},exports:e.exports||(e.exports={})}}},b=function(e){this.events=getOwn(M,e.id)||{},this.map=e,this.shim=getOwn(y.shim,e.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},b.prototype={init:function(e,t,i,r){r=r||{},this.inited||(this.factory=t,i?this.on("error",i):this.events.error&&(i=bind(this,function(e){this.emit("error",e)})),this.depMaps=e&&e.slice(0),this.errback=i,this.inited=!0,this.ignore=r.ignore,r.enabled||this.enabled?this.enable():this.check())},defineDep:function(e,t){this.depMatched[e]||(this.depMatched[e]=!0,this.depCount-=1,this.depExports[e]=t)},fetch:function(){if(!this.fetched){this.fetched=!0,q.startTime=(new Date).getTime();var e=this.map;if(!this.shim)return e.prefix?this.callPlugin():this.load();q.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return e.prefix?this.callPlugin():this.load()}))}},load:function(){var e=this.map.url;P[e]||(P[e]=!0,q.load(this.map.id,e))},check:function(){if(this.enabled&&!this.enabling){var e,t,i=this.map.id,r=this.depExports,n=this.exports,o=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(o)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{n=q.execCb(i,o,r,n)}catch(t){e=t}else n=q.execCb(i,o,r,n);if(this.map.isDefine&&void 0===n&&((t=this.module)?n=t.exports:this.usingExports&&(n=this.exports)),e)return e.requireMap=this.map,e.requireModules=this.map.isDefine?[this.map.id]:null,e.requireType=this.map.isDefine?"define":"require",c(this.error=e)}else n=o;if(this.exports=n,this.map.isDefine&&!this.ignore&&(j[i]=n,req.onResourceLoad)){var a=[];each(this.depMaps,function(e){a.push(e.normalizedMap||e)}),req.onResourceLoad(q,this.map,a)}p(i),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else hasProp(q.defQueueMap,i)||this.fetch()}},callPlugin:function(){var e=this.map,t=e.id,r=a(e.prefix);this.depMaps.push(r),u(r,"defined",bind(this,function(r){var n,o,d,f=getOwn(R,this.map.id),l=this.map.name,h=this.map.parentMap?this.map.parentMap.name:null,m=q.makeRequire(e.parentMap,{enableBuildCallback:!0});return this.map.unnormalized?(r.normalize&&(l=r.normalize(l,function(e){return i(e,h,!0)})||""),o=a(e.prefix+"!"+l,this.map.parentMap,!0),u(o,"defined",bind(this,function(e){this.map.normalizedMap=o,this.init([],function(){return e},null,{enabled:!0,ignore:!0})})),void((d=getOwn(S,o.id))&&(this.depMaps.push(o),this.events.error&&d.on("error",bind(this,function(e){this.emit("error",e)})),d.enable()))):f?(this.map.url=q.nameToUrl(f),void this.load()):((n=bind(this,function(e){this.init([],function(){return e},null,{enabled:!0})})).error=bind(this,function(e){this.inited=!0,this.error=e,e.requireModules=[t],eachProp(S,function(e){0===e.map.id.indexOf(t+"_unnormalized")&&p(e.map.id)}),c(e)}),n.fromText=bind(this,function(i,r){var o=e.name,u=a(o),d=useInteractive;r&&(i=r),d&&(useInteractive=!1),s(u),hasProp(y.config,t)&&(y.config[o]=y.config[t]);try{req.exec(i)}catch(e){return c(makeError("fromtexteval","fromText eval for "+t+" failed: "+e,e,[t]))}d&&(useInteractive=!0),this.depMaps.push(u),q.completeLoad(o),m([o],n)}),void r.load(e.name,m,n,y))})),q.enable(r,this),this.pluginMaps[r.id]=r},enable:function(){k[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(e,t){var i,r,n;if("string"==typeof e){if(e=a(e,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[t]=e,n=getOwn(E,e.id))return void(this.depExports[t]=n(this));this.depCount+=1,u(e,"defined",bind(this,function(e){this.undefed||(this.defineDep(t,e),this.check())})),this.errback?u(e,"error",bind(this,this.errback)):this.events.error&&u(e,"error",bind(this,function(e){this.emit("error",e)}))}i=e.id,r=S[i],hasProp(E,i)||!r||r.enabled||q.enable(e,this)})),eachProp(this.pluginMaps,bind(this,function(e){var t=getOwn(S,e.id);t&&!t.enabled&&q.enable(e,this)})),this.enabling=!1,this.check()},on:function(e,t){var i=this.events[e];i||(i=this.events[e]=[]),i.push(t)},emit:function(e,t){each(this.events[e],function(e){e(t)}),"error"===e&&delete this.events[e]}},q={config:y,contextName:e,registry:S,defined:j,urlFetched:P,defQueue:O,defQueueMap:{},Module:b,makeModuleMap:a,nextTick:req.nextTick,onError:c,configure:function(e){if(e.baseUrl&&"/"!==e.baseUrl.charAt(e.baseUrl.length-1)&&(e.baseUrl+="/"),"string"==typeof e.urlArgs){var t=e.urlArgs;e.urlArgs=function(e,i){return(-1===i.indexOf("?")?"?":"&")+t}}var i=y.shim,r={paths:!0,bundles:!0,config:!0,map:!0};eachProp(e,function(e,t){r[t]?(y[t]||(y[t]={}),mixin(y[t],e,!0,!0)):y[t]=e}),e.bundles&&eachProp(e.bundles,function(e,t){each(e,function(e){e!==t&&(R[e]=t)})}),e.shim&&(eachProp(e.shim,function(e,t){isArray(e)&&(e={deps:e}),!e.exports&&!e.init||e.exportsFn||(e.exportsFn=q.makeShimExports(e)),i[t]=e}),y.shim=i),e.packages&&each(e.packages,function(e){var t;t=(e="string"==typeof e?{name:e}:e).name,e.location&&(y.paths[t]=e.location),y.pkgs[t]=e.name+"/"+(e.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(S,function(e,t){e.inited||e.map.unnormalized||(e.map=a(t,null,!0))}),(e.deps||e.callback)&&q.require(e.deps||[],e.callback)},makeShimExports:function(e){return function(){var t;return e.init&&(t=e.init.apply(global,arguments)),t||e.exports&&getGlobal(e.exports)}},makeRequire:function(t,n){function o(i,r,u){var d,p,f;return n.enableBuildCallback&&r&&isFunction(r)&&(r.__requireJsBuild=!0),"string"==typeof i?isFunction(r)?c(makeError("requireargs","Invalid require call"),u):t&&hasProp(E,i)?E[i](S[t.id]):req.get?req.get(q,i,t,o):(p=a(i,t,!1,!0),d=p.id,hasProp(j,d)?j[d]:c(makeError("notloaded",'Module name "'+d+'" has not been loaded yet for context: '+e+(t?"":". Use require([])")))):(v(),q.nextTick(function(){v(),(f=s(a(null,t))).skipMap=n.skipMap,f.init(i,r,u,{enabled:!0}),l()}),o)}return n=n||{},mixin(o,{isBrowser:isBrowser,toUrl:function(e){var r,n=e.lastIndexOf("."),o=e.split("/")[0],a="."===o||".."===o;return-1!==n&&(!a||n>1)&&(r=e.substring(n,e.length),e=e.substring(0,n)),q.nameToUrl(i(e,t&&t.id,!0),r,!0)},defined:function(e){return hasProp(j,a(e,t,!1,!0).id)},specified:function(e){return e=a(e,t,!1,!0).id,hasProp(j,e)||hasProp(S,e)}}),t||(o.undef=function(e){d();var i=a(e,t,!0),n=getOwn(S,e);n.undefed=!0,r(e),delete j[e],delete P[i.url],delete M[e],eachReverse(O,function(t,i){t[0]===e&&O.splice(i,1)}),delete q.defQueueMap[e],n&&(n.events.defined&&(M[e]=n.events),p(e))}),o},enable:function(e){getOwn(S,e.id)&&s(e).enable()},completeLoad:function(e){var t,i,r,o=getOwn(y.shim,e)||{},a=o.exports;for(d();O.length;){if(null===(i=O.shift())[0]){if(i[0]=e,t)break;t=!0}else i[0]===e&&(t=!0);h(i)}if(q.defQueueMap={},r=getOwn(S,e),!t&&!hasProp(j,e)&&r&&!r.inited){if(!(!y.enforceDefine||a&&getGlobal(a)))return n(e)?void 0:c(makeError("nodefine","No define call for "+e,null,[e]));h([e,o.deps||[],o.exportsFn])}l()},nameToUrl:function(e,t,i){var r,n,o,a,s,u,c,d=getOwn(y.pkgs,e);if(d&&(e=d),c=getOwn(R,e))return q.nameToUrl(c,t,i);if(req.jsExtRegExp.test(e))s=e+(t||"");else{for(r=y.paths,o=(n=e.split("/")).length;o>0;o-=1)if(a=n.slice(0,o).join("/"),u=getOwn(r,a)){isArray(u)&&(u=u[0]),n.splice(0,o,u);break}s=n.join("/"),s=("/"===(s+=t||(/^data\:|^blob\:|\?/.test(s)||i?"":".js")).charAt(0)||s.match(/^[\w\+\.\-]+:/)?"":y.baseUrl)+s}return y.urlArgs&&!/^blob\:/.test(s)?s+y.urlArgs(e,s):s},load:function(e,t){req.load(q,e,t)},execCb:function(e,t,i,r){return t.apply(r,i)},onScriptLoad:function(e){if("load"===e.type||readyRegExp.test((e.currentTarget||e.srcElement).readyState)){interactiveScript=null;var t=g(e);q.completeLoad(t.id)}},onScriptError:function(e){var t=g(e);if(!n(t.id)){var i=[];return eachProp(S,function(e,r){0!==r.indexOf("_@r")&&each(e.depMaps,function(e){if(e.id===t.id)return i.push(r),!0})}),c(makeError("scripterror",'Script error for "'+t.id+(i.length?'", needed by: '+i.join(", "):'"'),e,[t.id]))}}},q.require=q.makeRequire(),q}function getInteractiveScript(){return interactiveScript&&"interactive"===interactiveScript.readyState?interactiveScript:(eachReverse(scripts(),function(e){if("interactive"===e.readyState)return interactiveScript=e}),interactiveScript)}var req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.3.5",commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,isBrowser=!("undefined"==typeof window||"undefined"==typeof navigator||!window.document),isWebWorker=!isBrowser&&"undefined"!=typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1;if(void 0===define){if(void 0!==requirejs){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}void 0===require||isFunction(require)||(cfg=require,require=void 0),req=requirejs=function(e,t,i,r){var n,o,a=defContextName;return isArray(e)||"string"==typeof e||(o=e,isArray(t)?(e=t,t=i,i=r):e=[]),o&&o.context&&(a=o.context),(n=getOwn(contexts,a))||(n=contexts[a]=req.s.newContext(a)),o&&n.configure(o),n.require(e,t,i)},req.config=function(e){return req(e)},req.nextTick=void 0!==setTimeout?function(e){setTimeout(e,4)}:function(e){e()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(e){req[e]=function(){var t=contexts[defContextName];return t.require[e].apply(t,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],(baseElement=document.getElementsByTagName("base")[0])&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(e,t,i){var r=e.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return r.type=e.scriptType||"text/javascript",r.charset="utf-8",r.async=!0,r},req.load=function(e,t,i){var r,n=e&&e.config||{};if(isBrowser)return(r=req.createNode(n,t,i)).setAttribute("data-requirecontext",e.contextName),r.setAttribute("data-requiremodule",t),!r.attachEvent||r.attachEvent.toString&&r.attachEvent.toString().indexOf("[native code")<0||isOpera?(r.addEventListener("load",e.onScriptLoad,!1),r.addEventListener("error",e.onScriptError,!1)):(useInteractive=!0,r.attachEvent("onreadystatechange",e.onScriptLoad)),r.src=i,n.onNodeCreated&&n.onNodeCreated(r,n,t,i),currentlyAddingScript=r,baseElement?head.insertBefore(r,baseElement):head.appendChild(r),currentlyAddingScript=null,r;if(isWebWorker)try{setTimeout(function(){},0),importScripts(i),e.completeLoad(t)}catch(r){e.onError(makeError("importscripts","importScripts failed for "+t+" at "+i,r,[t]))}},isBrowser&&!cfg.skipDataMain&&eachReverse(scripts(),function(e){if(head||(head=e.parentNode),dataMain=e.getAttribute("data-main"))return mainScript=dataMain,cfg.baseUrl||-1!==mainScript.indexOf("!")||(src=mainScript.split("/"),mainScript=src.pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0}),define=function(e,t,i){var r,n;"string"!=typeof e&&(i=t,t=e,e=null),isArray(t)||(i=t,t=null),!t&&isFunction(i)&&(t=[],i.length&&(i.toString().replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,function(e,i){t.push(i)}),t=(1===i.length?["require"]:["require","exports","module"]).concat(t))),useInteractive&&(r=currentlyAddingScript||getInteractiveScript())&&(e||(e=r.getAttribute("data-requiremodule")),n=contexts[r.getAttribute("data-requirecontext")]),n?(n.defQueue.push([e,t,i]),n.defQueueMap[e]=!0):globalDefQueue.push([e,t,i])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg)}}(this,"undefined"==typeof setTimeout?void 0:setTimeout);
--------------------------------------------------------------------------------
/convo/assets/css/offline-theme-slide.css:
--------------------------------------------------------------------------------
1 | /* line 4, ../sass/_offline-theme-base.sass */
2 | .offline-ui, .offline-ui *, .offline-ui:before, .offline-ui:after, .offline-ui *:before, .offline-ui *:after {
3 | -webkit-box-sizing: border-box;
4 | -moz-box-sizing: border-box;
5 | box-sizing: border-box;
6 | }
7 |
8 | /* line 7, ../sass/_offline-theme-base.sass */
9 | .offline-ui {
10 | display: none;
11 | position: fixed;
12 | background: white;
13 | z-index: 2000;
14 | margin: auto;
15 | top: 0;
16 | left: 0;
17 | right: 0;
18 | }
19 | /* line 17, ../sass/_offline-theme-base.sass */
20 | .offline-ui .offline-ui-content:before {
21 | display: inline;
22 | }
23 | /* line 20, ../sass/_offline-theme-base.sass */
24 | .offline-ui .offline-ui-retry {
25 | -webkit-user-select: none;
26 | -moz-user-select: none;
27 | user-select: none;
28 | display: none;
29 | }
30 | /* line 24, ../sass/_offline-theme-base.sass */
31 | .offline-ui .offline-ui-retry:before {
32 | display: inline;
33 | }
34 | /* line 29, ../sass/_offline-theme-base.sass */
35 | .offline-ui.offline-ui-up.offline-ui-up-5s {
36 | display: block;
37 | }
38 | /* line 32, ../sass/_offline-theme-base.sass */
39 | .offline-ui.offline-ui-down {
40 | display: block;
41 | }
42 | /* line 37, ../sass/_offline-theme-base.sass */
43 | .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-retry {
44 | display: block;
45 | }
46 | /* line 42, ../sass/_offline-theme-base.sass */
47 | .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry {
48 | display: none;
49 | }
50 |
51 | @-webkit-keyframes offline-dropin {
52 | /* line 40, ../sass/_keyframes.sass */
53 | 0% {
54 | transform: translateY(0);
55 | -webkit-transform: translateY(0);
56 | -moz-transform: translateY(0);
57 | -ms-transform: translateY(0);
58 | -o-transform: translateY(0);
59 | opacity: 0;
60 | }
61 |
62 | /* line 43, ../sass/_keyframes.sass */
63 | 1% {
64 | transform: translateY(-800px);
65 | -webkit-transform: translateY(-800px);
66 | -moz-transform: translateY(-800px);
67 | -ms-transform: translateY(-800px);
68 | -o-transform: translateY(-800px);
69 | opacity: 0;
70 | }
71 |
72 | /* line 48, ../sass/_keyframes.sass */
73 | 2% {
74 | transform: translateY(-800px);
75 | -webkit-transform: translateY(-800px);
76 | -moz-transform: translateY(-800px);
77 | -ms-transform: translateY(-800px);
78 | -o-transform: translateY(-800px);
79 | opacity: 1;
80 | }
81 |
82 | /* line 51, ../sass/_keyframes.sass */
83 | 100% {
84 | transform: translateY(0);
85 | -webkit-transform: translateY(0);
86 | -moz-transform: translateY(0);
87 | -ms-transform: translateY(0);
88 | -o-transform: translateY(0);
89 | opacity: 1;
90 | }
91 | }
92 |
93 | @-moz-keyframes offline-dropin {
94 | /* line 40, ../sass/_keyframes.sass */
95 | 0% {
96 | transform: translateY(0);
97 | -webkit-transform: translateY(0);
98 | -moz-transform: translateY(0);
99 | -ms-transform: translateY(0);
100 | -o-transform: translateY(0);
101 | opacity: 0;
102 | }
103 |
104 | /* line 43, ../sass/_keyframes.sass */
105 | 1% {
106 | transform: translateY(-800px);
107 | -webkit-transform: translateY(-800px);
108 | -moz-transform: translateY(-800px);
109 | -ms-transform: translateY(-800px);
110 | -o-transform: translateY(-800px);
111 | opacity: 0;
112 | }
113 |
114 | /* line 48, ../sass/_keyframes.sass */
115 | 2% {
116 | transform: translateY(-800px);
117 | -webkit-transform: translateY(-800px);
118 | -moz-transform: translateY(-800px);
119 | -ms-transform: translateY(-800px);
120 | -o-transform: translateY(-800px);
121 | opacity: 1;
122 | }
123 |
124 | /* line 51, ../sass/_keyframes.sass */
125 | 100% {
126 | transform: translateY(0);
127 | -webkit-transform: translateY(0);
128 | -moz-transform: translateY(0);
129 | -ms-transform: translateY(0);
130 | -o-transform: translateY(0);
131 | opacity: 1;
132 | }
133 | }
134 |
135 | @-ms-keyframes offline-dropin {
136 | /* line 40, ../sass/_keyframes.sass */
137 | 0% {
138 | transform: translateY(0);
139 | -webkit-transform: translateY(0);
140 | -moz-transform: translateY(0);
141 | -ms-transform: translateY(0);
142 | -o-transform: translateY(0);
143 | opacity: 0;
144 | }
145 |
146 | /* line 43, ../sass/_keyframes.sass */
147 | 1% {
148 | transform: translateY(-800px);
149 | -webkit-transform: translateY(-800px);
150 | -moz-transform: translateY(-800px);
151 | -ms-transform: translateY(-800px);
152 | -o-transform: translateY(-800px);
153 | opacity: 0;
154 | }
155 |
156 | /* line 48, ../sass/_keyframes.sass */
157 | 2% {
158 | transform: translateY(-800px);
159 | -webkit-transform: translateY(-800px);
160 | -moz-transform: translateY(-800px);
161 | -ms-transform: translateY(-800px);
162 | -o-transform: translateY(-800px);
163 | opacity: 1;
164 | }
165 |
166 | /* line 51, ../sass/_keyframes.sass */
167 | 100% {
168 | transform: translateY(0);
169 | -webkit-transform: translateY(0);
170 | -moz-transform: translateY(0);
171 | -ms-transform: translateY(0);
172 | -o-transform: translateY(0);
173 | opacity: 1;
174 | }
175 | }
176 |
177 | @-o-keyframes offline-dropin {
178 | /* line 40, ../sass/_keyframes.sass */
179 | 0% {
180 | transform: translateY(0);
181 | -webkit-transform: translateY(0);
182 | -moz-transform: translateY(0);
183 | -ms-transform: translateY(0);
184 | -o-transform: translateY(0);
185 | opacity: 0;
186 | }
187 |
188 | /* line 43, ../sass/_keyframes.sass */
189 | 1% {
190 | transform: translateY(-800px);
191 | -webkit-transform: translateY(-800px);
192 | -moz-transform: translateY(-800px);
193 | -ms-transform: translateY(-800px);
194 | -o-transform: translateY(-800px);
195 | opacity: 0;
196 | }
197 |
198 | /* line 48, ../sass/_keyframes.sass */
199 | 2% {
200 | transform: translateY(-800px);
201 | -webkit-transform: translateY(-800px);
202 | -moz-transform: translateY(-800px);
203 | -ms-transform: translateY(-800px);
204 | -o-transform: translateY(-800px);
205 | opacity: 1;
206 | }
207 |
208 | /* line 51, ../sass/_keyframes.sass */
209 | 100% {
210 | transform: translateY(0);
211 | -webkit-transform: translateY(0);
212 | -moz-transform: translateY(0);
213 | -ms-transform: translateY(0);
214 | -o-transform: translateY(0);
215 | opacity: 1;
216 | }
217 | }
218 |
219 | @keyframes offline-dropin {
220 | /* line 40, ../sass/_keyframes.sass */
221 | 0% {
222 | transform: translateY(0);
223 | -webkit-transform: translateY(0);
224 | -moz-transform: translateY(0);
225 | -ms-transform: translateY(0);
226 | -o-transform: translateY(0);
227 | opacity: 0;
228 | }
229 |
230 | /* line 43, ../sass/_keyframes.sass */
231 | 1% {
232 | transform: translateY(-800px);
233 | -webkit-transform: translateY(-800px);
234 | -moz-transform: translateY(-800px);
235 | -ms-transform: translateY(-800px);
236 | -o-transform: translateY(-800px);
237 | opacity: 0;
238 | }
239 |
240 | /* line 48, ../sass/_keyframes.sass */
241 | 2% {
242 | transform: translateY(-800px);
243 | -webkit-transform: translateY(-800px);
244 | -moz-transform: translateY(-800px);
245 | -ms-transform: translateY(-800px);
246 | -o-transform: translateY(-800px);
247 | opacity: 1;
248 | }
249 |
250 | /* line 51, ../sass/_keyframes.sass */
251 | 100% {
252 | transform: translateY(0);
253 | -webkit-transform: translateY(0);
254 | -moz-transform: translateY(0);
255 | -ms-transform: translateY(0);
256 | -o-transform: translateY(0);
257 | opacity: 1;
258 | }
259 | }
260 |
261 | @-webkit-keyframes offline-dropout {
262 | /* line 57, ../sass/_keyframes.sass */
263 | 0% {
264 | transform: translateY(0);
265 | -webkit-transform: translateY(0);
266 | -moz-transform: translateY(0);
267 | -ms-transform: translateY(0);
268 | -o-transform: translateY(0);
269 | }
270 |
271 | /* line 59, ../sass/_keyframes.sass */
272 | 100% {
273 | transform: translateY(-800px);
274 | -webkit-transform: translateY(-800px);
275 | -moz-transform: translateY(-800px);
276 | -ms-transform: translateY(-800px);
277 | -o-transform: translateY(-800px);
278 | }
279 | }
280 |
281 | @-moz-keyframes offline-dropout {
282 | /* line 57, ../sass/_keyframes.sass */
283 | 0% {
284 | transform: translateY(0);
285 | -webkit-transform: translateY(0);
286 | -moz-transform: translateY(0);
287 | -ms-transform: translateY(0);
288 | -o-transform: translateY(0);
289 | }
290 |
291 | /* line 59, ../sass/_keyframes.sass */
292 | 100% {
293 | transform: translateY(-800px);
294 | -webkit-transform: translateY(-800px);
295 | -moz-transform: translateY(-800px);
296 | -ms-transform: translateY(-800px);
297 | -o-transform: translateY(-800px);
298 | }
299 | }
300 |
301 | @-ms-keyframes offline-dropout {
302 | /* line 57, ../sass/_keyframes.sass */
303 | 0% {
304 | transform: translateY(0);
305 | -webkit-transform: translateY(0);
306 | -moz-transform: translateY(0);
307 | -ms-transform: translateY(0);
308 | -o-transform: translateY(0);
309 | }
310 |
311 | /* line 59, ../sass/_keyframes.sass */
312 | 100% {
313 | transform: translateY(-800px);
314 | -webkit-transform: translateY(-800px);
315 | -moz-transform: translateY(-800px);
316 | -ms-transform: translateY(-800px);
317 | -o-transform: translateY(-800px);
318 | }
319 | }
320 |
321 | @-o-keyframes offline-dropout {
322 | /* line 57, ../sass/_keyframes.sass */
323 | 0% {
324 | transform: translateY(0);
325 | -webkit-transform: translateY(0);
326 | -moz-transform: translateY(0);
327 | -ms-transform: translateY(0);
328 | -o-transform: translateY(0);
329 | }
330 |
331 | /* line 59, ../sass/_keyframes.sass */
332 | 100% {
333 | transform: translateY(-800px);
334 | -webkit-transform: translateY(-800px);
335 | -moz-transform: translateY(-800px);
336 | -ms-transform: translateY(-800px);
337 | -o-transform: translateY(-800px);
338 | }
339 | }
340 |
341 | @keyframes offline-dropout {
342 | /* line 57, ../sass/_keyframes.sass */
343 | 0% {
344 | transform: translateY(0);
345 | -webkit-transform: translateY(0);
346 | -moz-transform: translateY(0);
347 | -ms-transform: translateY(0);
348 | -o-transform: translateY(0);
349 | }
350 |
351 | /* line 59, ../sass/_keyframes.sass */
352 | 100% {
353 | transform: translateY(-800px);
354 | -webkit-transform: translateY(-800px);
355 | -moz-transform: translateY(-800px);
356 | -ms-transform: translateY(-800px);
357 | -o-transform: translateY(-800px);
358 | }
359 | }
360 |
361 | @-webkit-keyframes offline-rotation {
362 | /* line 64, ../sass/_keyframes.sass */
363 | 0% {
364 | transform: rotate(0deg);
365 | -webkit-transform: rotate(0deg);
366 | -moz-transform: rotate(0deg);
367 | -ms-transform: rotate(0deg);
368 | -o-transform: rotate(0deg);
369 | }
370 |
371 | /* line 66, ../sass/_keyframes.sass */
372 | 100% {
373 | transform: rotate(359deg);
374 | -webkit-transform: rotate(359deg);
375 | -moz-transform: rotate(359deg);
376 | -ms-transform: rotate(359deg);
377 | -o-transform: rotate(359deg);
378 | }
379 | }
380 |
381 | @-moz-keyframes offline-rotation {
382 | /* line 64, ../sass/_keyframes.sass */
383 | 0% {
384 | transform: rotate(0deg);
385 | -webkit-transform: rotate(0deg);
386 | -moz-transform: rotate(0deg);
387 | -ms-transform: rotate(0deg);
388 | -o-transform: rotate(0deg);
389 | }
390 |
391 | /* line 66, ../sass/_keyframes.sass */
392 | 100% {
393 | transform: rotate(359deg);
394 | -webkit-transform: rotate(359deg);
395 | -moz-transform: rotate(359deg);
396 | -ms-transform: rotate(359deg);
397 | -o-transform: rotate(359deg);
398 | }
399 | }
400 |
401 | @-ms-keyframes offline-rotation {
402 | /* line 64, ../sass/_keyframes.sass */
403 | 0% {
404 | transform: rotate(0deg);
405 | -webkit-transform: rotate(0deg);
406 | -moz-transform: rotate(0deg);
407 | -ms-transform: rotate(0deg);
408 | -o-transform: rotate(0deg);
409 | }
410 |
411 | /* line 66, ../sass/_keyframes.sass */
412 | 100% {
413 | transform: rotate(359deg);
414 | -webkit-transform: rotate(359deg);
415 | -moz-transform: rotate(359deg);
416 | -ms-transform: rotate(359deg);
417 | -o-transform: rotate(359deg);
418 | }
419 | }
420 |
421 | @-o-keyframes offline-rotation {
422 | /* line 64, ../sass/_keyframes.sass */
423 | 0% {
424 | transform: rotate(0deg);
425 | -webkit-transform: rotate(0deg);
426 | -moz-transform: rotate(0deg);
427 | -ms-transform: rotate(0deg);
428 | -o-transform: rotate(0deg);
429 | }
430 |
431 | /* line 66, ../sass/_keyframes.sass */
432 | 100% {
433 | transform: rotate(359deg);
434 | -webkit-transform: rotate(359deg);
435 | -moz-transform: rotate(359deg);
436 | -ms-transform: rotate(359deg);
437 | -o-transform: rotate(359deg);
438 | }
439 | }
440 |
441 | @keyframes offline-rotation {
442 | /* line 64, ../sass/_keyframes.sass */
443 | 0% {
444 | transform: rotate(0deg);
445 | -webkit-transform: rotate(0deg);
446 | -moz-transform: rotate(0deg);
447 | -ms-transform: rotate(0deg);
448 | -o-transform: rotate(0deg);
449 | }
450 |
451 | /* line 66, ../sass/_keyframes.sass */
452 | 100% {
453 | transform: rotate(359deg);
454 | -webkit-transform: rotate(359deg);
455 | -moz-transform: rotate(359deg);
456 | -ms-transform: rotate(359deg);
457 | -o-transform: rotate(359deg);
458 | }
459 | }
460 |
461 | /* line 21, ../sass/offline-theme-slide.sass */
462 | .offline-ui {
463 | -webkit-border-radius: 0 0 4px 4px;
464 | -moz-border-radius: 0 0 4px 4px;
465 | -ms-border-radius: 0 0 4px 4px;
466 | -o-border-radius: 0 0 4px 4px;
467 | border-radius: 0 0 4px 4px;
468 | font-family: "Helvetica Neue", sans-serif;
469 | padding: 1em;
470 | width: 38em;
471 | max-width: 100%;
472 | overflow: hidden;
473 | }
474 | @media (max-width: 38em) {
475 | /* line 21, ../sass/offline-theme-slide.sass */
476 | .offline-ui {
477 | -webkit-border-radius: 0;
478 | -moz-border-radius: 0;
479 | -ms-border-radius: 0;
480 | -o-border-radius: 0;
481 | border-radius: 0;
482 | }
483 | }
484 | /* line 32, ../sass/offline-theme-slide.sass */
485 | .offline-ui .offline-ui-retry {
486 | position: absolute;
487 | right: 3em;
488 | top: 0;
489 | bottom: 0;
490 | background: rgba(0, 0, 0, 0.1);
491 | text-decoration: none;
492 | color: inherit;
493 | line-height: 3.5em;
494 | height: 3.5em;
495 | margin: auto;
496 | padding: 0 1em;
497 | }
498 | /* line 45, ../sass/offline-theme-slide.sass */
499 | .offline-ui.offline-ui-up {
500 | -webkit-animation: offline-dropout forwards 0.5s 2s;
501 | -moz-animation: offline-dropout forwards 0.5s 2s;
502 | -ms-animation: offline-dropout forwards 0.5s 2s;
503 | -o-animation: offline-dropout forwards 0.5s 2s;
504 | animation: offline-dropout forwards 0.5s 2s;
505 | -webkit-backface-visibility: hidden;
506 | background: #d6e9c6;
507 | color: #468847;
508 | }
509 | /* line 50, ../sass/offline-theme-slide.sass */
510 | .offline-ui.offline-ui-down {
511 | -webkit-animation: offline-dropin 0.5s;
512 | -moz-animation: offline-dropin 0.5s;
513 | -ms-animation: offline-dropin 0.5s;
514 | -o-animation: offline-dropin 0.5s;
515 | animation: offline-dropin 0.5s;
516 | -webkit-backface-visibility: hidden;
517 | background: #ec8787;
518 | color: #551313;
519 | }
520 | /* line 55, ../sass/offline-theme-slide.sass */
521 | .offline-ui.offline-ui-down.offline-ui-connecting, .offline-ui.offline-ui-down.offline-ui-waiting {
522 | background: #f8ecad;
523 | color: #7c6d1f;
524 | padding-right: 3em;
525 | }
526 | /* line 60, ../sass/offline-theme-slide.sass */
527 | .offline-ui.offline-ui-down.offline-ui-connecting:after, .offline-ui.offline-ui-down.offline-ui-waiting:after {
528 | -webkit-animation: offline-rotation 0.7s linear infinite;
529 | -moz-animation: offline-rotation 0.7s linear infinite;
530 | -ms-animation: offline-rotation 0.7s linear infinite;
531 | -o-animation: offline-rotation 0.7s linear infinite;
532 | animation: offline-rotation 0.7s linear infinite;
533 | -webkit-backface-visibility: hidden;
534 | -webkit-border-radius: 50%;
535 | -moz-border-radius: 50%;
536 | -ms-border-radius: 50%;
537 | -o-border-radius: 50%;
538 | border-radius: 50%;
539 | content: " ";
540 | display: block;
541 | position: absolute;
542 | right: 1em;
543 | top: 0;
544 | bottom: 0;
545 | margin: auto;
546 | height: 1em;
547 | width: 1em;
548 | border: 2px solid rgba(0, 0, 0, 0);
549 | border-top-color: #7c6d1f;
550 | border-left-color: #7c6d1f;
551 | opacity: 0.7;
552 | }
553 | /* line 77, ../sass/offline-theme-slide.sass */
554 | .offline-ui.offline-ui-down.offline-ui-waiting {
555 | padding-right: 11em;
556 | }
557 | /* line 80, ../sass/offline-theme-slide.sass */
558 | .offline-ui.offline-ui-down.offline-ui-waiting.offline-ui-reconnect-failed-2s {
559 | padding-right: 0;
560 | }
561 |
--------------------------------------------------------------------------------
/convo/assets/js/tether.min.js:
--------------------------------------------------------------------------------
1 | !function(t,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e(require,exports,module):t.Tether=e()}(this,function(t,e,o){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){var e=t.getBoundingClientRect(),o={};for(var n in e)o[n]=e[n];if(t.ownerDocument!==document){var r=t.ownerDocument.defaultView.frameElement;if(r){var s=i(r);o.top+=s.top,o.bottom+=s.top,o.left+=s.left,o.right+=s.left}}return o}function r(t){var e=getComputedStyle(t)||{},o=e.position,n=[];if("fixed"===o)return[t];for(var i=t;(i=i.parentNode)&&i&&1===i.nodeType;){var r=void 0;try{r=getComputedStyle(i)}catch(s){}if("undefined"==typeof r||null===r)return n.push(i),n;var a=r,f=a.overflow,l=a.overflowX,h=a.overflowY;/(auto|scroll)/.test(f+h+l)&&("absolute"!==o||["relative","absolute","fixed"].indexOf(r.position)>=0)&&n.push(i)}return n.push(t.ownerDocument.body),t.ownerDocument!==document&&n.push(t.ownerDocument.defaultView),n}function s(){A&&document.body.removeChild(A),A=null}function a(t){var e=void 0;t===document?(e=document,t=document.documentElement):e=t.ownerDocument;var o=e.documentElement,n=i(t),r=P();return n.top-=r.top,n.left-=r.left,"undefined"==typeof n.width&&(n.width=document.body.scrollWidth-n.left-n.right),"undefined"==typeof n.height&&(n.height=document.body.scrollHeight-n.top-n.bottom),n.top=n.top-o.clientTop,n.left=n.left-o.clientLeft,n.right=e.body.clientWidth-n.width-n.left,n.bottom=e.body.clientHeight-n.height-n.top,n}function f(t){return t.offsetParent||document.documentElement}function l(){var t=document.createElement("div");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");h(e.style,{position:"absolute",top:0,left:0,pointerEvents:"none",visibility:"hidden",width:"200px",height:"150px",overflow:"hidden"}),e.appendChild(t),document.body.appendChild(e);var o=t.offsetWidth;e.style.overflow="scroll";var n=t.offsetWidth;o===n&&(n=e.clientWidth),document.body.removeChild(e);var i=o-n;return{width:i,height:i}}function h(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],e=[];return Array.prototype.push.apply(e,arguments),e.slice(1).forEach(function(e){if(e)for(var o in e)({}).hasOwnProperty.call(e,o)&&(t[o]=e[o])}),t}function u(t,e){if("undefined"!=typeof t.classList)e.split(" ").forEach(function(e){e.trim()&&t.classList.remove(e)});else{var o=new RegExp("(^| )"+e.split(" ").join("|")+"( |$)","gi"),n=c(t).replace(o," ");g(t,n)}}function d(t,e){if("undefined"!=typeof t.classList)e.split(" ").forEach(function(e){e.trim()&&t.classList.add(e)});else{u(t,e);var o=c(t)+(" "+e);g(t,o)}}function p(t,e){if("undefined"!=typeof t.classList)return t.classList.contains(e);var o=c(t);return new RegExp("(^| )"+e+"( |$)","gi").test(o)}function c(t){return t.className instanceof t.ownerDocument.defaultView.SVGAnimatedString?t.className.baseVal:t.className}function g(t,e){t.setAttribute("class",e)}function m(t,e,o){o.forEach(function(o){-1===e.indexOf(o)&&p(t,o)&&u(t,o)}),e.forEach(function(e){p(t,e)||d(t,e)})}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function v(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function y(t,e){var o=arguments.length<=2||void 0===arguments[2]?1:arguments[2];return t+o>=e&&e>=t-o}function b(){return"undefined"!=typeof performance&&"undefined"!=typeof performance.now?performance.now():+new Date}function w(){for(var t={top:0,left:0},e=arguments.length,o=Array(e),n=0;e>n;n++)o[n]=arguments[n];return o.forEach(function(e){var o=e.top,n=e.left;"string"==typeof o&&(o=parseFloat(o,10)),"string"==typeof n&&(n=parseFloat(n,10)),t.top+=o,t.left+=n}),t}function C(t,e){return"string"==typeof t.left&&-1!==t.left.indexOf("%")&&(t.left=parseFloat(t.left,10)/100*e.width),"string"==typeof t.top&&-1!==t.top.indexOf("%")&&(t.top=parseFloat(t.top,10)/100*e.height),t}function O(t,e){return"scrollParent"===e?e=t.scrollParents[0]:"window"===e&&(e=[pageXOffset,pageYOffset,innerWidth+pageXOffset,innerHeight+pageYOffset]),e===document&&(e=e.documentElement),"undefined"!=typeof e.nodeType&&!function(){var t=e,o=a(e),n=o,i=getComputedStyle(e);if(e=[n.left,n.top,o.width+n.left,o.height+n.top],t.ownerDocument!==document){var r=t.ownerDocument.defaultView;e[0]+=r.pageXOffset,e[1]+=r.pageYOffset,e[2]+=r.pageXOffset,e[3]+=r.pageYOffset}$.forEach(function(t,o){t=t[0].toUpperCase()+t.substr(1),"Top"===t||"Left"===t?e[o]+=parseFloat(i["border"+t+"Width"]):e[o]-=parseFloat(i["border"+t+"Width"])})}(),e}var E=function(){function t(t,e){for(var o=0;o1?o-1:0),i=1;o>i;i++)n[i-1]=arguments[i];for(;e16?(e=Math.min(e-16,250),void(o=setTimeout(i,250))):void("undefined"!=typeof t&&b()-t<10||(null!=o&&(clearTimeout(o),o=null),t=b(),D(),e=b()-t))};"undefined"!=typeof window&&"undefined"!=typeof window.addEventListener&&["resize","scroll","touchmove"].forEach(function(t){window.addEventListener(t,n)})}();var X={center:"center",left:"right",right:"left"},F={middle:"middle",top:"bottom",bottom:"top"},H={top:0,left:0,middle:"50%",center:"50%",bottom:"100%",right:"100%"},N=function(t,e){var o=t.left,n=t.top;return"auto"===o&&(o=X[e.left]),"auto"===n&&(n=F[e.top]),{left:o,top:n}},U=function(t){var e=t.left,o=t.top;return"undefined"!=typeof H[t.left]&&(e=H[t.left]),"undefined"!=typeof H[t.top]&&(o=H[t.top]),{left:e,top:o}},V=function(t){var e=t.split(" "),o=B(e,2),n=o[0],i=o[1];return{top:n,left:i}},R=V,q=function(t){function e(t){var o=this;n(this,e),z(Object.getPrototypeOf(e.prototype),"constructor",this).call(this),this.position=this.position.bind(this),L.push(this),this.history=[],this.setOptions(t,!1),x.modules.forEach(function(t){"undefined"!=typeof t.initialize&&t.initialize.call(o)}),this.position()}return v(e,t),E(e,[{key:"getClass",value:function(){var t=arguments.length<=0||void 0===arguments[0]?"":arguments[0],e=this.options.classes;return"undefined"!=typeof e&&e[t]?this.options.classes[t]:this.options.classPrefix?this.options.classPrefix+"-"+t:t}},{key:"setOptions",value:function(t){var e=this,o=arguments.length<=1||void 0===arguments[1]?!0:arguments[1],n={offset:"0 0",targetOffset:"0 0",targetAttachment:"auto auto",classPrefix:"tether"};this.options=h(n,t);var i=this.options,s=i.element,a=i.target,f=i.targetModifier;if(this.element=s,this.target=a,this.targetModifier=f,"viewport"===this.target?(this.target=document.body,this.targetModifier="visible"):"scroll-handle"===this.target&&(this.target=document.body,this.targetModifier="scroll-handle"),["element","target"].forEach(function(t){if("undefined"==typeof e[t])throw new Error("Tether Error: Both element and target must be defined");"undefined"!=typeof e[t].jquery?e[t]=e[t][0]:"string"==typeof e[t]&&(e[t]=document.querySelector(e[t]))}),d(this.element,this.getClass("element")),this.options.addTargetClasses!==!1&&d(this.target,this.getClass("target")),!this.options.attachment)throw new Error("Tether Error: You must provide an attachment");this.targetAttachment=R(this.options.targetAttachment),this.attachment=R(this.options.attachment),this.offset=V(this.options.offset),this.targetOffset=V(this.options.targetOffset),"undefined"!=typeof this.scrollParents&&this.disable(),"scroll-handle"===this.targetModifier?this.scrollParents=[this.target]:this.scrollParents=r(this.target),this.options.enabled!==!1&&this.enable(o)}},{key:"getTargetBounds",value:function(){if("undefined"==typeof this.targetModifier)return a(this.target);if("visible"===this.targetModifier){if(this.target===document.body)return{top:pageYOffset,left:pageXOffset,height:innerHeight,width:innerWidth};var t=a(this.target),e={height:t.height,width:t.width,top:t.top,left:t.left};return e.height=Math.min(e.height,t.height-(pageYOffset-t.top)),e.height=Math.min(e.height,t.height-(t.top+t.height-(pageYOffset+innerHeight))),e.height=Math.min(innerHeight,e.height),e.height-=2,e.width=Math.min(e.width,t.width-(pageXOffset-t.left)),e.width=Math.min(e.width,t.width-(t.left+t.width-(pageXOffset+innerWidth))),e.width=Math.min(innerWidth,e.width),e.width-=2,e.topo.clientWidth||[n.overflow,n.overflowX].indexOf("scroll")>=0||this.target!==document.body,r=0;i&&(r=15);var s=t.height-parseFloat(n.borderTopWidth)-parseFloat(n.borderBottomWidth)-r,e={width:15,height:.975*s*(s/o.scrollHeight),left:t.left+t.width-parseFloat(n.borderLeftWidth)-15},f=0;408>s&&this.target===document.body&&(f=-11e-5*Math.pow(s,2)-.00727*s+22.58),this.target!==document.body&&(e.height=Math.max(e.height,24));var l=this.target.scrollTop/(o.scrollHeight-s);return e.top=l*(s-e.height-f)+t.top+parseFloat(n.borderTopWidth),this.target===document.body&&(e.height=Math.max(e.height,24)),e}}},{key:"clearCache",value:function(){this._cache={}}},{key:"cache",value:function(t,e){return"undefined"==typeof this._cache&&(this._cache={}),"undefined"==typeof this._cache[t]&&(this._cache[t]=e.call(this)),this._cache[t]}},{key:"enable",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]?!0:arguments[0];this.options.addTargetClasses!==!1&&d(this.target,this.getClass("enabled")),d(this.element,this.getClass("enabled")),this.enabled=!0,this.scrollParents.forEach(function(e){e!==t.target.ownerDocument&&e.addEventListener("scroll",t.position)}),e&&this.position()}},{key:"disable",value:function(){var t=this;u(this.target,this.getClass("enabled")),u(this.element,this.getClass("enabled")),this.enabled=!1,"undefined"!=typeof this.scrollParents&&this.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.position)})}},{key:"destroy",value:function(){var t=this;this.disable(),L.forEach(function(e,o){e===t&&L.splice(o,1)}),0===L.length&&s()}},{key:"updateAttachClasses",value:function(t,e){var o=this;t=t||this.attachment,e=e||this.targetAttachment;var n=["left","top","bottom","right","middle","center"];"undefined"!=typeof this._addAttachClasses&&this._addAttachClasses.length&&this._addAttachClasses.splice(0,this._addAttachClasses.length),"undefined"==typeof this._addAttachClasses&&(this._addAttachClasses=[]);var i=this._addAttachClasses;t.top&&i.push(this.getClass("element-attached")+"-"+t.top),t.left&&i.push(this.getClass("element-attached")+"-"+t.left),e.top&&i.push(this.getClass("target-attached")+"-"+e.top),e.left&&i.push(this.getClass("target-attached")+"-"+e.left);var r=[];n.forEach(function(t){r.push(o.getClass("element-attached")+"-"+t),r.push(o.getClass("target-attached")+"-"+t)}),M(function(){"undefined"!=typeof o._addAttachClasses&&(m(o.element,o._addAttachClasses,r),o.options.addTargetClasses!==!1&&m(o.target,o._addAttachClasses,r),delete o._addAttachClasses)})}},{key:"position",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]?!0:arguments[0];if(this.enabled){this.clearCache();var o=N(this.targetAttachment,this.attachment);this.updateAttachClasses(this.attachment,o);var n=this.cache("element-bounds",function(){return a(t.element)}),i=n.width,r=n.height;if(0===i&&0===r&&"undefined"!=typeof this.lastSize){var s=this.lastSize;i=s.width,r=s.height}else this.lastSize={width:i,height:r};var h=this.cache("target-bounds",function(){return t.getTargetBounds()}),u=h,d=C(U(this.attachment),{width:i,height:r}),p=C(U(o),u),c=C(this.offset,{width:i,height:r}),g=C(this.targetOffset,u);d=w(d,c),p=w(p,g);for(var m=h.left+p.left-d.left,v=h.top+p.top-d.top,y=0;yT.innerWidth&&(S=this.cache("scrollbar-size",l),E.viewport.bottom-=S.height),A.body.scrollHeight>T.innerHeight&&(S=this.cache("scrollbar-size",l),E.viewport.right-=S.width),(-1===["","static"].indexOf(A.body.style.position)||-1===["","static"].indexOf(A.body.parentElement.style.position))&&(E.page.bottom=A.body.scrollHeight-v-r,E.page.right=A.body.scrollWidth-m-i),"undefined"!=typeof this.options.optimizations&&this.options.optimizations.moveElement!==!1&&"undefined"==typeof this.targetModifier&&!function(){var e=t.cache("target-offsetparent",function(){return f(t.target)}),o=t.cache("target-offsetparent-bounds",function(){return a(e)}),n=getComputedStyle(e),i=o,r={};if(["Top","Left","Bottom","Right"].forEach(function(t){r[t.toLowerCase()]=parseFloat(n["border"+t+"Width"])}),o.right=A.body.scrollWidth-o.left-i.width+r.right,o.bottom=A.body.scrollHeight-o.top-i.height+r.bottom,E.page.top>=o.top+r.top&&E.page.bottom>=o.bottom&&E.page.left>=o.left+r.left&&E.page.right>=o.right){var s=e.scrollTop,l=e.scrollLeft;E.offset={top:E.page.top-o.top+s-r.top,left:E.page.left-o.left+l-r.left}}}(),this.move(E),this.history.unshift(E),this.history.length>3&&this.history.pop(),e&&_(),!0}}},{key:"move",value:function(t){var e=this;if("undefined"!=typeof this.element.parentNode){var o={};for(var n in t){o[n]={};for(var i in t[n]){for(var r=!1,s=0;s=0){var c=a.split(" "),m=B(c,2);u=m[0],h=m[1]}else h=u=a;var b=O(e,r);("target"===u||"both"===u)&&(ob[3]&&"bottom"===v.top&&(o-=d,v.top="top")),"together"===u&&("top"===v.top&&("bottom"===y.top&&ob[3]&&o-(s-d)>=b[1]&&(o-=s-d,v.top="bottom",y.top="bottom")),"bottom"===v.top&&("top"===y.top&&o+s>b[3]?(o-=d,v.top="top",o-=s,y.top="bottom"):"bottom"===y.top&&ob[3]&&"top"===y.top?(o-=s,y.top="bottom"):ob[2]&&"right"===v.left&&(n-=p,v.left="left")),"together"===h&&(nb[2]&&"right"===v.left?"left"===y.left?(n-=p,v.left="left",n-=f,y.left="right"):"right"===y.left&&(n-=p,v.left="left",n+=f,y.left="left"):"center"===v.left&&(n+f>b[2]&&"left"===y.left?(n-=f,y.left="right"):nb[3]&&"top"===y.top&&(o-=s,y.top="bottom")),("element"===h||"both"===h)&&(nb[2]&&("left"===y.left?(n-=f,y.left="right"):"center"===y.left&&(n-=f/2,y.left="right"))),"string"==typeof l?l=l.split(",").map(function(t){return t.trim()}):l===!0&&(l=["top","left","right","bottom"]),l=l||[];var w=[],C=[];o=0?(o=b[1],w.push("top")):C.push("top")),o+s>b[3]&&(l.indexOf("bottom")>=0?(o=b[3]-s,w.push("bottom")):C.push("bottom")),n=0?(n=b[0],w.push("left")):C.push("left")),n+f>b[2]&&(l.indexOf("right")>=0?(n=b[2]-f,w.push("right")):C.push("right")),w.length&&!function(){var t=void 0;t="undefined"!=typeof e.options.pinnedClass?e.options.pinnedClass:e.getClass("pinned"),g.push(t),w.forEach(function(e){g.push(t+"-"+e)})}(),C.length&&!function(){var t=void 0;t="undefined"!=typeof e.options.outOfBoundsClass?e.options.outOfBoundsClass:e.getClass("out-of-bounds"),g.push(t),C.forEach(function(e){g.push(t+"-"+e)})}(),(w.indexOf("left")>=0||w.indexOf("right")>=0)&&(y.left=v.left=!1),(w.indexOf("top")>=0||w.indexOf("bottom")>=0)&&(y.top=v.top=!1),(v.top!==i.top||v.left!==i.left||y.top!==e.attachment.top||y.left!==e.attachment.left)&&(e.updateAttachClasses(y,v),e.trigger("update",{attachment:y,targetAttachment:v}))}),M(function(){e.options.addTargetClasses!==!1&&m(e.target,g,c),m(e.element,g,c)}),{top:o,left:n}}});var j=x.Utils,a=j.getBounds,m=j.updateClasses,M=j.defer;x.modules.push({position:function(t){var e=this,o=t.top,n=t.left,i=this.cache("element-bounds",function(){return a(e.element)}),r=i.height,s=i.width,f=this.getTargetBounds(),l=o+r,h=n+s,u=[];o<=f.bottom&&l>=f.top&&["left","right"].forEach(function(t){var e=f[t];(e===n||e===h)&&u.push(t)}),n<=f.right&&h>=f.left&&["top","bottom"].forEach(function(t){var e=f[t];(e===o||e===l)&&u.push(t)});var d=[],p=[],c=["left","top","right","bottom"];return d.push(this.getClass("abutted")),c.forEach(function(t){d.push(e.getClass("abutted")+"-"+t)}),u.length&&p.push(this.getClass("abutted")),u.forEach(function(t){p.push(e.getClass("abutted")+"-"+t)}),M(function(){e.options.addTargetClasses!==!1&&m(e.target,p,d),m(e.element,p,d)}),!0}});var B=function(){function t(t,e){var o=[],n=!0,i=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(n=(s=a.next()).done)&&(o.push(s.value),!e||o.length!==e);n=!0);}catch(f){i=!0,r=f}finally{try{!n&&a["return"]&&a["return"]()}finally{if(i)throw r}}return o}return function(e,o){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();return x.modules.push({position:function(t){var e=t.top,o=t.left;if(this.options.shift){var n=this.options.shift;"function"==typeof this.options.shift&&(n=this.options.shift.call(this,{top:e,left:o}));var i=void 0,r=void 0;if("string"==typeof n){n=n.split(" "),n[1]=n[1]||n[0];var s=n,a=B(s,2);i=a[0],r=a[1],i=parseFloat(i,10),r=parseFloat(r,10)}else i=n.top,r=n.left;return e+=i,o+=r,{top:e,left:o}}}}),I});
--------------------------------------------------------------------------------
/convo/assets/css/emojionearea.min.css:
--------------------------------------------------------------------------------
1 | .dropdown-menu.textcomplete-dropdown[data-strategy=emojionearea] {
2 | position: absolute;
3 | z-index: 1000;
4 | min-width: 160px;
5 | padding: 5px 0;
6 | margin: 2px 0 0;
7 | font-size: 14px;
8 | text-align: left;
9 | list-style: none;
10 | background-color: #fff;
11 | -webkit-background-clip: padding-box;
12 | background-clip: padding-box;
13 | border: 1px solid #ccc;
14 | border: 1px solid rgba(0, 0, 0, .15);
15 | -moz-border-radius: 4px;
16 | -webkit-border-radius: 4px;
17 | border-radius: 4px;
18 | -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
19 | -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
20 | box-shadow: 0 6px 12px rgba(0, 0, 0, .175)
21 | }
22 |
23 | .dropdown-menu.textcomplete-dropdown[data-strategy=emojionearea] li.textcomplete-item {
24 | font-size: 14px;
25 | padding: 1px 3px;
26 | border: 0
27 | }
28 |
29 | .dropdown-menu.textcomplete-dropdown[data-strategy=emojionearea] li.textcomplete-item a {
30 | text-decoration: none;
31 | display: block;
32 | height: 100%;
33 | line-height: 1.8em;
34 | padding: 0 1.54em 0 .615em;
35 | color: #4f4f4f
36 | }
37 |
38 | .dropdown-menu.textcomplete-dropdown[data-strategy=emojionearea] li.textcomplete-item.active,
39 | .dropdown-menu.textcomplete-dropdown[data-strategy=emojionearea] li.textcomplete-item:hover {
40 | background-color: #e4e4e4
41 | }
42 |
43 | .dropdown-menu.textcomplete-dropdown[data-strategy=emojionearea] li.textcomplete-item.active a,
44 | .dropdown-menu.textcomplete-dropdown[data-strategy=emojionearea] li.textcomplete-item:hover a {
45 | color: #333
46 | }
47 |
48 | .dropdown-menu.textcomplete-dropdown[data-strategy=emojionearea] li.textcomplete-item .emojioneemoji {
49 | font-size: inherit;
50 | height: 2ex;
51 | width: 2.1ex;
52 | min-height: 20px;
53 | min-width: 20px;
54 | display: inline-block;
55 | margin: 0 5px .2ex 0;
56 | line-height: normal;
57 | vertical-align: middle;
58 | max-width: 100%;
59 | top: 0
60 | }
61 |
62 | .emojionearea-text .emojioneemoji,
63 | .emojionearea-text [class*=emojione-] {
64 | font-size: inherit;
65 | height: 2ex;
66 | width: 2.1ex;
67 | min-height: 20px;
68 | min-width: 20px;
69 | display: inline-block;
70 | margin: -.2ex .15em .2ex;
71 | line-height: normal;
72 | vertical-align: middle;
73 | max-width: 100%;
74 | top: 0
75 | }
76 |
77 | .emojionearea,
78 | .emojionearea * {
79 | -moz-box-sizing: border-box;
80 | -webkit-box-sizing: border-box;
81 | box-sizing: border-box
82 | }
83 |
84 | .emojionearea,
85 | .emojionearea.form-control {
86 | font-family: "Segoe UI", sans-serif;
87 | display: block;
88 | position: relative!important;
89 | /* width: 85%;*/
90 | height: auto;
91 | padding: 0;
92 | font-size: 1em;
93 | background-color: #FFF;
94 | /* border: 1px solid #CCC;*/
95 | -moz-border-radius: 3px;
96 | -webkit-border-radius: 3px;
97 | border-radius: 0px;
98 | -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
99 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
100 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
101 | -moz-transition: border-color .15s ease-in-out, -moz-box-shadow .15s ease-in-out;
102 | -o-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
103 | -webkit-transition: border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
104 | transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out
105 | }
106 |
107 | .emojionearea.focused {
108 |
109 | border-color: #66AFE9;
110 | outline: 0;
111 | -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
112 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
113 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6)
114 |
115 | }
116 |
117 |
118 | /*ORIGINAL MIN-HEIGHT:8em | MAX HEIGHT:15em*/
119 | .emojionearea .emojionearea-editor {
120 | display: block;
121 | height: auto;
122 | min-height: 4.5em;
123 | max-height: 2em;
124 | overflow: auto;
125 | padding: 6px 24px 6px 12px;
126 | line-height: 1.42857143;
127 | font-size: inherit;
128 | color: #555;
129 | background-color: transparent;
130 | border: 0;
131 | cursor: text;
132 | margin-right: 1px;
133 | -moz-border-radius: 0;
134 | -webkit-border-radius: 0;
135 | border-radius: 0;
136 | -moz-box-shadow: none;
137 | -webkit-box-shadow: none;
138 | box-shadow: none
139 | }
140 |
141 | .emojionearea .emojionearea-editor:empty:before {
142 | content: attr(placeholder);
143 | display: block;
144 | color: #BBB
145 | }
146 |
147 | .emojionearea .emojionearea-editor:focus {
148 | border: 0;
149 | outline: 0;
150 | -moz-box-shadow: none;
151 | -webkit-box-shadow: none;
152 | box-shadow: none
153 | }
154 |
155 | .emojionearea .emojionearea-editor .emojioneemoji,
156 | .emojionearea .emojionearea-editor [class*=emojione-] {
157 | font-size: inherit;
158 | height: 2ex;
159 | width: 2.1ex;
160 | min-height: 20px;
161 | min-width: 20px;
162 | display: inline-block;
163 | margin: -.2ex .15em .2ex;
164 | line-height: normal;
165 | vertical-align: middle;
166 | max-width: 100%;
167 | top: 0
168 | }
169 |
170 | .emojionearea.emojionearea-inline {
171 | /* height: 34px*/
172 | }
173 |
174 | .emojionearea.emojionearea-inline > .emojionearea-editor {
175 | height: 32px;
176 | min-height: 20px;
177 | overflow: hidden;
178 | white-space: nowrap;
179 | position: absolute;
180 | top: 0;
181 | left: 12px;
182 | right: 24px;
183 | padding: 6px 0
184 | }
185 |
186 | .emojionearea.emojionearea-inline > .emojionearea-button {
187 | top: 4px
188 | }
189 |
190 |
191 | /* Original right: 3px; | top: 3px; */
192 | .emojionearea .emojionearea-button {
193 | z-index: 5;
194 | position: absolute;
195 | right: 3px;
196 | top: 3px;
197 | width: 24px;
198 | height: 24px;
199 | opacity: .6;
200 | cursor: pointer;
201 | -moz-transition: opacity .3s ease-in-out;
202 | -o-transition: opacity .3s ease-in-out;
203 | -webkit-transition: opacity .3s ease-in-out;
204 | transition: opacity .3s ease-in-out
205 | }
206 |
207 | .emojionearea .emojionearea-button:hover {
208 | opacity: 1
209 | }
210 |
211 | .emojionearea .emojionearea-button > div {
212 | display: block;
213 | width: 24px;
214 | height: 24px;
215 | position: absolute;
216 | -moz-transition: all .4s ease-in-out;
217 | -o-transition: all .4s ease-in-out;
218 | -webkit-transition: all .4s ease-in-out;
219 | transition: all .4s ease-in-out
220 | }
221 |
222 | .emojionearea .emojionearea-button > div.emojionearea-button-open {
223 | background-position: 0 -24px;
224 | filter: alpha(enabled=false);
225 | opacity: 1
226 | }
227 |
228 | .emojionearea .emojionearea-button > div.emojionearea-button-close {
229 | background-position: 0 0;
230 | -webkit-transform: rotate(-45deg);
231 | -o-transform: rotate(-45deg);
232 | transform: rotate(-45deg);
233 | filter: alpha(Opacity=0);
234 | opacity: 0
235 | }
236 |
237 | .emojionearea .emojionearea-button.active > div.emojionearea-button-open {
238 | -webkit-transform: rotate(45deg);
239 | -o-transform: rotate(45deg);
240 | transform: rotate(45deg);
241 | filter: alpha(Opacity=0);
242 | opacity: 0
243 | }
244 |
245 | .emojionearea .emojionearea-button.active > div.emojionearea-button-close {
246 | -webkit-transform: rotate(0);
247 | -o-transform: rotate(0);
248 | transform: rotate(0);
249 | filter: alpha(enabled=false);
250 | opacity: 1
251 | }
252 |
253 | .emojionearea .emojionearea-picker {
254 | background: #FFF;
255 | position: absolute;
256 | -moz-box-shadow: 0 1px 5px rgba(0, 0, 0, .32);
257 | -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, .32);
258 | box-shadow: 0 1px 5px rgba(0, 0, 0, .32);
259 | -moz-border-radius: 5px;
260 | -webkit-border-radius: 5px;
261 | border-radius: 5px;
262 | height: 276px;
263 | width: 348px;
264 | top: -15px;
265 | right: -15px;
266 | z-index: 90;
267 | -moz-transition: all .25s ease-in-out;
268 | -o-transition: all .25s ease-in-out;
269 | -webkit-transition: all .25s ease-in-out;
270 | transition: all .25s ease-in-out;
271 | filter: alpha(Opacity=0);
272 | opacity: 0;
273 | -moz-user-select: -moz-none;
274 | -ms-user-select: none;
275 | -webkit-user-select: none;
276 | user-select: none
277 | }
278 |
279 | .emojionearea .emojionearea-picker.hidden {
280 | display: none
281 | }
282 |
283 | .emojionearea .emojionearea-picker .emojionearea-wrapper {
284 | position: relative;
285 | height: 276px;
286 | width: 348px
287 | }
288 |
289 | .emojionearea .emojionearea-picker .emojionearea-wrapper:after {
290 | content: "";
291 | display: block;
292 | position: absolute;
293 | background-repeat: no-repeat;
294 | z-index: 91
295 | }
296 |
297 | .emojionearea .emojionearea-picker .emojionearea-filters,
298 | .emojionearea .emojionearea-picker .emojionearea-search {
299 | width: 100%;
300 | position: absolute;
301 | z-index: 95
302 | }
303 |
304 | .emojionearea .emojionearea-picker .emojionearea-search {
305 | padding: 5px 0 0 10px;
306 | height: 40px
307 | }
308 |
309 | .emojionearea .emojionearea-picker .emojionearea-filters {
310 | background: #F5F7F9;
311 | padding: 0 0 0 7px;
312 | height: 40px
313 | }
314 |
315 | .emojionearea .emojionearea-picker .emojionearea-filters .emojionearea-filter {
316 | display: block;
317 | float: left;
318 | height: 40px;
319 | width: 32px;
320 | padding: 7px 1px 0;
321 | cursor: pointer;
322 | -webkit-filter: grayscale(1);
323 | filter: grayscale(1)
324 | }
325 |
326 | .emojionearea .emojionearea-picker .emojionearea-filters .emojionearea-filter.active {
327 | background: #fff
328 | }
329 |
330 | .emojionearea .emojionearea-picker .emojionearea-filters .emojionearea-filter.active,
331 | .emojionearea .emojionearea-picker .emojionearea-filters .emojionearea-filter:hover {
332 | -webkit-filter: grayscale(0);
333 | filter: grayscale(0)
334 | }
335 |
336 | .emojionearea .emojionearea-picker .emojionearea-filters .emojionearea-filter > i {
337 | width: 24px;
338 | height: 24px;
339 | top: 0
340 | }
341 |
342 | .emojionearea .emojionearea-picker .emojionearea-filters .emojionearea-filter > img {
343 | width: 24px;
344 | height: 24px;
345 | margin: 0 3px
346 | }
347 |
348 | .emojionearea .emojionearea-picker .emojionearea-tones {
349 | position: absolute;
350 | top: 46px;
351 | right: 10px;
352 | height: 22px;
353 | z-index: 95
354 | }
355 |
356 | .emojionearea .emojionearea-picker .emojionearea-tones > .btn-tone {
357 | display: inline-block;
358 | padding: 0;
359 | border: 0;
360 | vertical-align: middle;
361 | outline: 0;
362 | background: 0 0;
363 | cursor: pointer;
364 | position: relative
365 | }
366 |
367 | .emojionearea .emojionearea-picker .emojionearea-tones > .btn-tone.btn-tone-0,
368 | .emojionearea .emojionearea-picker .emojionearea-tones > .btn-tone.btn-tone-0:after {
369 | background-color: #ffcf3e
370 | }
371 |
372 | .emojionearea .emojionearea-picker .emojionearea-tones > .btn-tone.btn-tone-1,
373 | .emojionearea .emojionearea-picker .emojionearea-tones > .btn-tone.btn-tone-1:after {
374 | background-color: #fae3c5
375 | }
376 |
377 | .emojionearea .emojionearea-picker .emojionearea-tones > .btn-tone.btn-tone-2,
378 | .emojionearea .emojionearea-picker .emojionearea-tones > .btn-tone.btn-tone-2:after {
379 | background-color: #e2cfa5
380 | }
381 |
382 | .emojionearea .emojionearea-picker .emojionearea-tones > .btn-tone.btn-tone-3,
383 | .emojionearea .emojionearea-picker .emojionearea-tones > .btn-tone.btn-tone-3:after {
384 | background-color: #daa478
385 | }
386 |
387 | .emojionearea .emojionearea-picker .emojionearea-tones > .btn-tone.btn-tone-4,
388 | .emojionearea .emojionearea-picker .emojionearea-tones > .btn-tone.btn-tone-4:after {
389 | background-color: #a78058
390 | }
391 |
392 | .emojionearea .emojionearea-picker .emojionearea-tones > .btn-tone.btn-tone-5,
393 | .emojionearea .emojionearea-picker .emojionearea-tones > .btn-tone.btn-tone-5:after {
394 | background-color: #5e4d43
395 | }
396 |
397 | .emojionearea .emojionearea-picker .emojionearea-tones.emojionearea-tones-bullet > .btn-tone,
398 | .emojionearea .emojionearea-picker .emojionearea-tones.emojionearea-tones-square > .btn-tone {
399 | width: 20px;
400 | height: 20px;
401 | margin: 0;
402 | background-color: transparent
403 | }
404 |
405 | .emojionearea .emojionearea-picker .emojionearea-tones.emojionearea-tones-bullet > .btn-tone:after,
406 | .emojionearea .emojionearea-picker .emojionearea-tones.emojionearea-tones-square > .btn-tone:after {
407 | content: "";
408 | position: absolute;
409 | display: block;
410 | top: 4px;
411 | left: 4px;
412 | width: 12px;
413 | height: 12px
414 | }
415 |
416 | .emojionearea .emojionearea-picker .emojionearea-tones.emojionearea-tones-bullet > .btn-tone.active:after,
417 | .emojionearea .emojionearea-picker .emojionearea-tones.emojionearea-tones-square > .btn-tone.active:after {
418 | top: 0;
419 | left: 0;
420 | width: 20px;
421 | height: 20px
422 | }
423 |
424 | .emojionearea .emojionearea-picker .emojionearea-tones.emojionearea-tones-checkbox > .btn-tone,
425 | .emojionearea .emojionearea-picker .emojionearea-tones.emojionearea-tones-radio > .btn-tone {
426 | width: 16px;
427 | height: 16px;
428 | margin: 0 2px
429 | }
430 |
431 | .emojionearea .emojionearea-picker .emojionearea-tones.emojionearea-tones-checkbox > .btn-tone.active:after,
432 | .emojionearea .emojionearea-picker .emojionearea-tones.emojionearea-tones-radio > .btn-tone.active:after {
433 | content: "";
434 | position: absolute;
435 | display: block;
436 | background-color: transparent;
437 | border: 2px solid #fff;
438 | width: 8px;
439 | height: 8px;
440 | top: 2px;
441 | left: 2px;
442 | box-sizing: initial
443 | }
444 |
445 | .emojionearea .emojionearea-picker .emojionearea-scroll-area .emojionearea-category:after,
446 | .emojionearea .emojionearea-picker .emojionearea-scroll-area .emojionearea-category:before,
447 | .emojionearea .emojionearea-picker .emojionearea-scroll-area h1:after,
448 | .emojionearea .emojionearea-picker .emojionearea-scroll-area h1:before {
449 | content: " ";
450 | clear: both;
451 | display: block
452 | }
453 |
454 | .emojionearea .emojionearea-picker .emojionearea-tones.emojionearea-tones-bullet > .btn-tone,
455 | .emojionearea .emojionearea-picker .emojionearea-tones.emojionearea-tones-bullet > .btn-tone:after,
456 | .emojionearea .emojionearea-picker .emojionearea-tones.emojionearea-tones-radio > .btn-tone,
457 | .emojionearea .emojionearea-picker .emojionearea-tones.emojionearea-tones-radio > .btn-tone:after {
458 | -moz-border-radius: 100%;
459 | -webkit-border-radius: 100%;
460 | border-radius: 100%
461 | }
462 |
463 | .emojionearea .emojionearea-picker .emojionearea-tones.emojionearea-tones-checkbox > .btn-tone,
464 | .emojionearea .emojionearea-picker .emojionearea-tones.emojionearea-tones-checkbox > .btn-tone:after,
465 | .emojionearea .emojionearea-picker .emojionearea-tones.emojionearea-tones-square > .btn-tone,
466 | .emojionearea .emojionearea-picker .emojionearea-tones.emojionearea-tones-square > .btn-tone:after {
467 | -moz-border-radius: 1px;
468 | -webkit-border-radius: 1px;
469 | border-radius: 1px
470 | }
471 |
472 | .emojionearea .emojionearea-picker .emojionearea-scroll-area {
473 | height: 196px;
474 | overflow: auto;
475 | overflow-x: hidden;
476 | width: 100%;
477 | position: absolute;
478 | padding: 0 0 5px
479 | }
480 |
481 | .emojionearea .emojionearea-picker .emojionearea-scroll-area .emojionearea-emojis-list {
482 | z-index: 1
483 | }
484 |
485 | .emojionearea .emojionearea-picker .emojionearea-scroll-area h1 {
486 | display: block;
487 | font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
488 | font-size: 13px;
489 | font-weight: 400;
490 | color: #b2b2b2;
491 | background: #FFF;
492 | line-height: 20px;
493 | margin: 0;
494 | padding: 7px 0 5px 6px
495 | }
496 |
497 | .emojionearea .emojionearea-picker .emojionearea-scroll-area .emojionearea-category {
498 | padding: 0 0 0 7px
499 | }
500 |
501 | .emojionearea .emojionearea-picker .emojionearea-scroll-area [class*=emojione-] {
502 | -moz-box-sizing: content-box;
503 | -webkit-box-sizing: content-box;
504 | box-sizing: content-box;
505 | margin: 0;
506 | width: 24px;
507 | height: 24px;
508 | top: 0
509 | }
510 |
511 | .emojionearea .emojionearea-picker .emojionearea-scroll-area .emojibtn {
512 | -moz-box-sizing: content-box;
513 | -webkit-box-sizing: content-box;
514 | box-sizing: content-box;
515 | width: 24px;
516 | height: 24px;
517 | float: left;
518 | display: block;
519 | margin: 1px;
520 | padding: 3px
521 | }
522 |
523 | .emojionearea .emojionearea-picker .emojionearea-scroll-area .emojibtn:hover {
524 | -moz-border-radius: 4px;
525 | -webkit-border-radius: 4px;
526 | border-radius: 4px;
527 | background-color: #e4e4e4;
528 | cursor: pointer
529 | }
530 |
531 | .emojionearea .emojionearea-picker .emojionearea-scroll-area .emojibtn i,
532 | .emojionearea .emojionearea-picker .emojionearea-scroll-area .emojibtn img {
533 | float: left;
534 | display: block;
535 | width: 24px;
536 | height: 24px
537 | }
538 |
539 | .emojionearea .emojionearea-picker .emojionearea-scroll-area .emojibtn img.lazy-emoji {
540 | filter: alpha(Opacity=0);
541 | opacity: 0
542 | }
543 |
544 | .emojionearea .emojionearea-picker.emojionearea-filters-position-top .emojionearea-filters {
545 | top: 0;
546 | -moz-border-radius-topleft: 5px;
547 | -webkit-border-top-left-radius: 5px;
548 | border-top-left-radius: 5px;
549 | -moz-border-radius-topright: 5px;
550 | -webkit-border-top-right-radius: 5px;
551 | border-top-right-radius: 5px
552 | }
553 |
554 | .emojionearea .emojionearea-picker.emojionearea-filters-position-top .emojionearea-search {
555 | top: 40px
556 | }
557 |
558 | .emojionearea .emojionearea-picker.emojionearea-filters-position-top .emojionearea-scroll-area {
559 | bottom: 0
560 | }
561 |
562 | .emojionearea .emojionearea-picker.emojionearea-filters-position-bottom .emojionearea-filters {
563 | bottom: 0;
564 | -moz-border-radius-bottomleft: 5px;
565 | -webkit-border-bottom-left-radius: 5px;
566 | border-bottom-left-radius: 5px;
567 | -moz-border-radius-bottomright: 5px;
568 | -webkit-border-bottom-right-radius: 5px;
569 | border-bottom-right-radius: 5px
570 | }
571 |
572 | .emojionearea .emojionearea-picker.emojionearea-filters-position-bottom .emojionearea-search {
573 | bottom: 40px
574 | }
575 |
576 | .emojionearea .emojionearea-picker.emojionearea-filters-position-bottom .emojionearea-scroll-area {
577 | top: 0
578 | }
579 |
580 | .emojionearea .emojionearea-picker.emojionearea-picker-position-top {
581 | margin-top: -286px;
582 | right: -14px
583 | }
584 |
585 | .emojionearea .emojionearea-picker.emojionearea-picker-position-top .emojionearea-wrapper:after {
586 | width: 19px;
587 | height: 10px;
588 | background-position: -2px -49px;
589 | bottom: -10px;
590 | right: 20px
591 | }
592 |
593 | .emojionearea .emojionearea-picker.emojionearea-picker-position-top.emojionearea-filters-position-bottom .emojionearea-wrapper:after {
594 | background-position: -2px -80px
595 | }
596 |
597 | .emojionearea .emojionearea-picker.emojionearea-picker-position-left,
598 | .emojionearea .emojionearea-picker.emojionearea-picker-position-right {
599 | margin-right: -358px;
600 | top: -8px
601 | }
602 |
603 | .emojionearea .emojionearea-picker.emojionearea-picker-position-left .emojionearea-wrapper:after,
604 | .emojionearea .emojionearea-picker.emojionearea-picker-position-right .emojionearea-wrapper:after {
605 | width: 10px;
606 | height: 19px;
607 | background-position: 0 -60px;
608 | top: 13px;
609 | left: -10px
610 | }
611 |
612 | .emojionearea .emojionearea-picker.emojionearea-picker-position-left.emojionearea-filters-position-bottom .emojionearea-wrapper:after,
613 | .emojionearea .emojionearea-picker.emojionearea-picker-position-right.emojionearea-filters-position-bottom .emojionearea-wrapper:after {
614 | background-position: right -60px
615 | }
616 |
617 | .emojionearea .emojionearea-picker.emojionearea-picker-position-bottom {
618 | margin-top: 10px;
619 | right: -14px;
620 | top: 47px
621 | }
622 |
623 | .emojionearea .emojionearea-picker.emojionearea-picker-position-bottom .emojionearea-wrapper:after {
624 | width: 19px;
625 | height: 10px;
626 | background-position: -2px -100px;
627 | top: -10px;
628 | right: 20px
629 | }
630 |
631 | .emojionearea .emojionearea-picker.emojionearea-picker-position-bottom.emojionearea-filters-position-bottom .emojionearea-wrapper:after {
632 | background-position: -2px -90px
633 | }
634 |
635 | .emojionearea .emojionearea-button.active + .emojionearea-picker {
636 | filter: alpha(enabled=false);
637 | opacity: 1
638 | }
639 |
640 | .emojionearea .emojionearea-button.active + .emojionearea-picker-position-top {
641 | margin-top: -269px
642 | }
643 |
644 | .emojionearea .emojionearea-button.active + .emojionearea-picker-position-left,
645 | .emojionearea .emojionearea-button.active + .emojionearea-picker-position-right {
646 | margin-right: -341px
647 | }
648 |
649 | .emojionearea .emojionearea-button.active + .emojionearea-picker-position-bottom {
650 | margin-top: -7px
651 | }
652 |
653 | .emojionearea.emojionearea-standalone {
654 | display: inline-block;
655 | width: auto;
656 | box-shadow: none
657 | }
658 |
659 | .emojionearea.emojionearea-standalone .emojionearea-editor {
660 | min-height: 33px;
661 | position: relative;
662 | padding: 6px 42px 6px 6px
663 | }
664 |
665 | .emojionearea.emojionearea-standalone .emojionearea-editor::before {
666 | content: "";
667 | position: absolute;
668 | top: 4px;
669 | left: 50%;
670 | bottom: 4px;
671 | border-left: 1px solid #e6e6e6
672 | }
673 |
674 | .emojionearea.emojionearea-standalone .emojionearea-editor.has-placeholder .emojioneemoji {
675 | opacity: .4
676 | }
677 |
678 | .emojionearea.emojionearea-standalone .emojionearea-button {
679 | top: 0;
680 | right: 0;
681 | bottom: 0;
682 | left: 0;
683 | width: auto;
684 | height: auto
685 | }
686 |
687 | .emojionearea.emojionearea-standalone .emojionearea-button > div {
688 | right: 6px;
689 | top: 5px
690 | }
691 |
692 | .emojionearea.emojionearea-standalone .emojionearea-picker.emojionearea-picker-position-bottom .emojionearea-wrapper:after,
693 | .emojionearea.emojionearea-standalone .emojionearea-picker.emojionearea-picker-position-top .emojionearea-wrapper:after {
694 | right: 23px
695 | }
696 |
697 | .emojionearea.emojionearea-standalone .emojionearea-picker.emojionearea-picker-position-left .emojionearea-wrapper:after,
698 | .emojionearea.emojionearea-standalone .emojionearea-picker.emojionearea-picker-position-right .emojionearea-wrapper:after {
699 | top: 15px
700 | }
701 |
702 | .emojionearea .emojionearea-button > div,
703 | .emojionearea .emojionearea-picker .emojionearea-wrapper:after {
704 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAABuCAYAAADMB4ipAAAHfElEQVRo3u1XS1NT2Rb+9uOcQF4YlAJzLymFUHaLrdxKULvEUNpdTnRqD532f+AHMLMc94gqR1Zbt8rBnUh3YXipPGKwRDoWgXvrYiFUlEdIkPPYZ/dAkwox5yQCVt/bzRrBPnt9e+211/etFeDQDu3ArL+/X37OeqmRWoH7+vpItfWawStF1tfXR+zW9xW5ne0p8loOcAKuCdwpRft60C8a+X5zTvebCqcAvmidf1GGHtqhHdpf1qqKzsrKipyensbi4iKWl5cBAMFgEG1tbYhGo2hpadlbmxseHpaDg4MAgI6ODng8HgBAPp/H/Pw8AODatWvo7e2tvUHrui7v3r2L+fl5XL58GVeuXIHH49m1N5/Py0ePHmF0dBQdHR24desWVFXdtYdXAn/48CHm5+dx8+ZNRKPRigEUDpuenpb3799H4YaOnWh5eVmOj48jFoshGo0STdPkwMCAXF5elqV7BgYGpKZpMhqNklgshrGxMbx580Y6gicSCTDGEIvFAADpdBqpVArJZLK4J5lMIpVKIZ1OAwBisRgYY0gkEs6Rp1IphMNh+Hw+AgCGYQAANE0r7in8Xfjm8/lIOBzGq1evnMHX19fR1NRU/D8UCoFzjnA4XFwLh8PgnCMUChXXmpqakM1mUfVBS62xsZHk83lZWi1nz579ZA0AhBDO4A0NDchkMsWSJIRAURRiVy26rktVVUkmk0EgEHAGP3XqFKamppDP56Vpmrhz5w5u374t/X4/OP+w3TRNZLNZ6LoO0zSRz+dlf38/Ll686Jzz8+fPQwiBeDwOt9tNrl+/jkwmU6yaQpVkMhncuHEDbrebxONxCCEQiUScIw8Gg+TBgwdyZGQEyWRSdnV1kVQqJYeGhrC6ugrGGEKhEHp7e3Hy5EmSTCblvXv30NPTg2AwSA6M/vF4HCMjI7b0/yzh8vv9AIBsNrt34aokuQsLC7skt729varkHtqftUFf++FHsrq0QN3eBvp68Tfvf9Mv12oFCYU7G//e9nVuO7dpNbe2W4M//yQr0p8yRvyBo1Zr++lwLcCt7afD/sBRizJGavrB1dDYYh47Htrq+Kb7jBNwxzfdZ44dD201NLaYVUkU7ozQpuAJBkARwnRZpunN5zaa5hJjiXLH05GeiMd7JEM5zzHGNQBGZvk/Iv0yYVWMvK0zKk1Dl6ahW5RQobjqdjy+wEZn9PKF0n2d0csXPL7AhuKq26GECtPQLdPQZVtn1LlB69p7yRVVSEiDEGJwRd12e4+8PR3piRQidnuPvOWKuk0IMSSkwRVV6Np7WVVbSqvGsgSnlKkAFNPQXdrOtuKqcxtcUTUAhmUJnVJmlleJo3CVHmAaOlPUOmYJkxFKibQsSRkXhr4juKIKO2BHVSwcoLrqCVdUYho6K3YYRRWmoUtdey/tgKtK7rUffiQAsLq08MnbNLe2WwBgB/zHzueFyD8nwlIfbvdx8eU0WV1aKD1cVAMs9+F2j9gUPEEKemEJIe3AnXy4XfkBoNKSZHNthWfX31EA69VKttyHVyIOY1wRwmS6tqNsrr31vXo5k/bUu4gT2cp9lhbm0rzCJpeUUrE0vS63+c7/6uXMbDUWl/ssLczNFrVFddUT09AZpUy1LKvO0DVfPrfR9HxqfNbuEe185l9MFX3o6tIC5YpKFLWOfdQQ93Zu49j0+FDCDtjOp1yaOQCYhs4Y40wI05XfWj8yPT40Ua2ey33mEmMTtp2IUEq0nW3FKeJPGPjRp1Iz2QUuLUu66txG9NLVSK3gBZ+C1lcE54oqKOOCK6rm8QU2unu+u1ANuNynvFsBAG1ubbdMQ5eGviMAFDuP0w3sfMpvQEtb24fOQncU1bXl8R7JnOu+ZNv97XxKJwY6+PNPsrm13drObVqUMlMIU5OWpVHOc96Go5lTnV2fzC/VfAozD7HTCa6olBBa1Imlhbmq2lLuQ5xaW6nCPfnln0Yt7bDUhzhps8cfKH5//uTXmvS81OeLdqI/ZoROzSZrHqG/OvOPzxuhK5VgJTvV2bW3EdqJRABwrvvS/kfoSkoZvXT1YEbociHr7vnuYEfogpBFL109HKH/h0fomnXg3Lff79r7/MmvVbWG7gX4QObzc99+Tz7mHKah05KcW6ahQ9feS6cbMCdgt7eBWJagjCuUAC5tZzuouuo0Spm0hElc9R4cbf4bVl8v1p6WUmCuqEwIs34ruxaeeTy4uJVd67As08UVlVmWoG5vA7FLG3WMmHEupVTyW+vh2cn4DADMTsaTuc21LiGEhzHOnQ6gNtMrJSBMCKHkNt999WLi0S7hejEZH81n174WpukiIMw0dKq66p3Bw50RwhUVXFGJKUy28Xal48VkfKrSlWenhsc23q2cEB9SR7iiItwZIbbgHn8AlDFCCMW7laXjqZnHjkNpaubJzNuVpWZCKChjxOMPVH/QlaW0f/G3ZLqWWl6ce/bvlddp7yFD/w8Z+njoX1+GoZMjgzMAMDkyeLAMnRh+uKveJ0YGD4ahEyODFRk6OfrL/hj67GnckaHPng7vjaGzyYmaGDr77KktQ38H8tqx8Wja+WIAAAAASUVORK5CYII=)!important
705 | }
706 |
707 | .emojionearea.emojionearea-standalone .emojionearea-editor.has-placeholder {
708 | background-repeat: no-repeat;
709 | background-position: 20px 4px;
710 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMAQMAAABsu86kAAAABlBMVEUAAAC/v79T5hyIAAAAAXRSTlMAQObYZgAAABNJREFUCNdjYGNgQEb/P4AQqiAASiUEG6Vit44AAAAASUVORK5CYII=)!important
711 | }
712 |
--------------------------------------------------------------------------------
/convo/assets/css/style.css:
--------------------------------------------------------------------------------
1 | /* ==============================================
2 | =================================================
3 | ~ General ~
4 | =================================================
5 | ============================================== */
6 |
7 | body {
8 | font-size: 12px;
9 | font-family: "Segoe UI",
10 | "Roboto",
11 | "Helvetica",
12 | "Arial",
13 | sans-serif,
14 | "Apple Color Emoji",
15 | "Segoe UI Emoji",
16 | "Segoe UISymbol";
17 | overflow: hidden;
18 | image-rendering: crisp-edges;
19 | }
20 |
21 | .body *::-webkit-scrollbar {
22 | width: 5px;
23 | background: transparent;
24 | position: absolute;
25 | left: 0;
26 | }
27 |
28 | .body *::-webkit-scrollbar-thumb {
29 | background-color: rgba(0, 0, 0, 0);
30 | border-radius: 5px;
31 | }
32 |
33 | .body *:hover::-webkit-scrollbar-thumb {
34 | background-color: rgba(0, 0, 0, .3);
35 | border-radius: 5px;
36 | }
37 |
38 |
39 | /* ==============================================
40 | =================================================
41 | ~ Start Side Panel ~
42 | =================================================
43 | ============================================== */
44 |
45 | .side-panel {
46 | position: fixed;
47 | left: 0;
48 | top: 0;
49 | bottom: 0;
50 | background-color: #5769fe;
51 | color: white;
52 | width: 405px;
53 | z-index: 182;
54 | }
55 |
56 |
57 |
58 |
59 | /*----------------------------------
60 | Side panel header
61 | ------------------------------------*/
62 |
63 | .side-panel-header {
64 | height: 90px;
65 | background: #4f60f3;
66 |
67 | }
68 |
69 | .side-panel-header-two {
70 | height: 90px;
71 | background: #5a40d1;
72 |
73 | }
74 |
75 |
76 | .logo {
77 | position: absolute;
78 | left: 30px;
79 | top: 25px;
80 | width: 120px;
81 | z-index: 146;
82 | float: left;
83 | }
84 |
85 |
86 | .icons {
87 | position: absolute;
88 | right: 0%;
89 | float: right;
90 | font-size: 20px;
91 | padding: 30px;
92 | }
93 |
94 | .icon-more2 {
95 | float: right;
96 | padding: 35px 35px;
97 | cursor: pointer;
98 | }
99 |
100 | .icon-more2 a {
101 | color: #fff;
102 | padding: 18px;
103 |
104 | }
105 |
106 | .icon-more2 span {
107 | font-size: 23px;
108 | }
109 |
110 | .icon-more a {
111 | color: #f75f5e;
112 | }
113 |
114 | .icon-more a:hover {
115 | color: #f75f5e;
116 | }
117 |
118 |
119 |
120 | /****************************
121 |
122 | Notification Status
123 |
124 | *****************************/
125 |
126 | .noti-status {
127 | width: 12px;
128 | height: 12px;
129 | -webkit-border-radius: 100%;
130 | -moz-border-radius: 100%;
131 | -ms-border-radius: 100%;
132 | border-radius: 100%;
133 | position: absolute;
134 | border: 2px solid #4f60f3;
135 | background: #40EDA1;
136 | margin-left: 93px;
137 | }
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 | /*----------------------------------
148 | Side panel profile
149 | ------------------------------------*/
150 |
151 | .user-photo {
152 | position: absolute;
153 | left: 200px;
154 | top: 20px;
155 | z-index: 146;
156 | float: right;
157 | cursor: pointer;
158 | }
159 |
160 | .user-photo .avatar {
161 | width: 50px;
162 | height: 50px;
163 | border-radius: 50%;
164 | background: url('../img/pro.png') no-repeat white;
165 | background-position: center;
166 | background-size: contain;
167 | }
168 |
169 |
170 |
171 |
172 | /* User Status */
173 |
174 | .status {
175 | width: 13px;
176 | height: 13px;
177 | -webkit-border-radius: 100%;
178 | -moz-border-radius: 100%;
179 | -ms-border-radius: 100%;
180 | border-radius: 100%;
181 | position: absolute;
182 |
183 | border: 2px solid #4f60f3;
184 | }
185 |
186 | .user-photo .online {
187 | background: #40EDA1;
188 | }
189 |
190 | .user-photo .offline {
191 | background: #E74C3C;
192 | }
193 |
194 | /* Status Ends */
195 |
196 | /* Search Starts */
197 |
198 | .side-panel .search-box {
199 | float: left;
200 | width: 230px;
201 | height: 40px;
202 | position: relative;
203 | margin: 40px 50px;
204 | }
205 |
206 | .side-panel .search-box input,
207 | .side-panel .search-box .icon {
208 | transition-duration: .3s;
209 | }
210 |
211 | .side-panel .search-box input {
212 | font-family: 'Segoe UI', sans-serif;
213 | position: absolute;
214 | top: 0;
215 | left: 0;
216 | bottom: 0;
217 | width: 100%;
218 | border: 0;
219 | padding: 0;
220 | text-indent: 15px;
221 | font-size: 13px;
222 | height: 50px;
223 | z-index: 2;
224 | outline: none;
225 | color: #fff;
226 | background-color: transparent;
227 | border: 2px solid #fff;
228 | border-radius: 100px;
229 | transition-timing-function: cubic-bezier(0.3, 1.5, 0.6, 1);
230 | }
231 |
232 | .search-box ::-webkit-input-placeholder {
233 | /* Chrome */
234 | color: #fff;
235 | opacity: 1;
236 | }
237 |
238 | .search-box :-ms-input-placeholder {
239 | /* IE 10+ */
240 | color: #fff;
241 | opacity: 1;
242 | }
243 |
244 | .search-box ::-moz-placeholder {
245 | /* Firefox 19+ */
246 | color: #fff;
247 | opacity: 1;
248 | }
249 |
250 | .search-box :-moz-placeholder {
251 | /* Firefox 4 - 18 */
252 | color: #fff;
253 | opacity: 1;
254 | }
255 |
256 |
257 |
258 | .side-panel .search-box input:focus {
259 | width: 118%;
260 | }
261 |
262 | .side-panel .search-box input:focus ~ .icon {
263 | opacity: 1;
264 | z-index: 3;
265 | width: 0px;
266 | }
267 |
268 | .side-panel .search-box .icon {
269 | position: absolute;
270 | top: 13px;
271 | right: 0;
272 | bottom: 0;
273 | width: 40px;
274 | text-align: center;
275 | line-height: 50px;
276 | z-index: 1;
277 | cursor: pointer;
278 | opacity: .5;
279 | transition-timing-function: cubic-bezier(0.3, 1.5, 0.6, 1);
280 | }
281 |
282 |
283 |
284 | /*----------------------------------
285 | Left Panel Sides
286 | ------------------------------------*/
287 |
288 | .side-one {
289 | padding: 0;
290 | margin: 0;
291 | height: 100%;
292 | width: 100%;
293 | z-index: 1;
294 | position: relative;
295 | display: block;
296 | top: 0;
297 | }
298 |
299 | .side-two {
300 | padding: 0 !important;
301 | margin: 0 !important;
302 | height: 100%;
303 | width: 100%;
304 | z-index: 2;
305 | position: relative;
306 | top: -100%;
307 | left: -100%;
308 | -webkit-transition: left 0.3s ease;
309 | transition: left 0.3s ease;
310 | background: #4f60f3;
311 |
312 | }
313 |
314 |
315 |
316 | /*----------------------------------
317 | Temporary Users Starts | Chats
318 | ------------------------------------*/
319 |
320 | .side-panel {
321 | line-height: 19px;
322 | }
323 |
324 | .side-panel .people {
325 | margin-left: -1px;
326 | font-family: 'Segoe UI', sans-serif;
327 | overflow-y: auto;
328 | height: calc(100% - 200px);
329 | width: 100%;
330 | margin-top: 25px;
331 | }
332 |
333 | .counter {
334 | padding: 13%;
335 | font-size: 14px;
336 | line-height: 22px;
337 | color: #fff;
338 | font-family: 'Segoe UI', sans-serif;
339 | }
340 |
341 |
342 | .side-panel .people .person {
343 | position: relative;
344 | width: 100%;
345 | padding: 15px 25% 25px;
346 | cursor: pointer;
347 | list-style: none;
348 | padding-left: calc(10% + 1px);
349 | margin-top: -1px;
350 | margin-left: -1px;
351 | }
352 |
353 | .person .user-status {
354 | width: 13px;
355 | height: 13px;
356 | -webkit-border-radius: 100%;
357 | -moz-border-radius: 100%;
358 | -ms-border-radius: 100%;
359 | border-radius: 100%;
360 | position: absolute;
361 | /*left: 36px;*/
362 | border: 2px solid #5769fe;
363 | }
364 |
365 |
366 | .online {
367 | background: #40EDA1;
368 | }
369 |
370 | .offline {
371 | background: #E74C3C;
372 | }
373 |
374 |
375 | .person .verified-badge {
376 | display: inline-block;
377 | margin-left: 10px;
378 | margin-bottom: -10;
379 | width: 20px;
380 | height: 27px;
381 | background-size: 20px 20px;
382 | background: url(../img/verified.png) no-repeat 0 3px;
383 |
384 |
385 | }
386 |
387 | .side-panel .people .person:after {
388 | position: absolute;
389 | bottom: 0;
390 | left: 50%;
391 | display: block;
392 | width: 100%;
393 | height: 1.8px;
394 | content: '';
395 | background-color: #5f70fe;
396 | -webkit-transform: translate(-50%, 0);
397 | transform: translate(-50%, 0);
398 | }
399 |
400 | .side-panel .people .person img {
401 | float: left;
402 | width: 50px;
403 | /*! height: 50px; */
404 | margin-right: 12px;
405 | border-radius: 50%;
406 | }
407 |
408 | .side-panel .people .person .name {
409 | font-size: 14px;
410 | line-height: 22px;
411 | color: #fff;
412 | font-weight: 600;
413 | text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
414 | }
415 |
416 | .side-panel .people .person .time {
417 | /*
418 | font-size: 14px;
419 | position: absolute;
420 | right: 10%;
421 | padding: 0 0 5px 5px;
422 | color: #fff;
423 | */
424 | position: absolute;
425 | right: 10%;
426 | font-size: 11px;
427 | padding: 3px 8px;
428 |
429 | border: 1px solid #E5E5E5;
430 | border-radius: 15px;
431 |
432 | }
433 |
434 | .side-panel .people .person .preview {
435 | font-size: 14px;
436 | display: inline-block;
437 | overflow: hidden !important;
438 | width: 70%;
439 | white-space: nowrap;
440 | text-overflow: ellipsis;
441 | color: #f3f3f3;
442 | margin-top: 5px;
443 | }
444 |
445 | .side-panel .people .person.active,
446 | .people .person:hover {
447 | background-color: #4f60f3;
448 | }
449 |
450 | .side-panel .people .person.active span,
451 | .people .person:hover span {
452 | color: #fff;
453 | background: transparent;
454 | }
455 |
456 | .side-panel .people .person.active:after,
457 | .container .left .people .person:hover:after {
458 | display: none;
459 | }
460 |
461 |
462 |
463 | /* ==============================================
464 | =================================================
465 | ~ Message Wrapper / Container Starts ~
466 | =================================================
467 | ============================================== */
468 |
469 | .msg-wrapper {
470 | height: 100%;
471 | padding: 0px;
472 | border-left: solid 1px rgba(0, 0, 0, 0.3);
473 | }
474 |
475 | .msg-wrapper-header {
476 | /*! padding: 10px; */
477 | /*! position: absolute; */
478 | height: 90px;
479 | background: #fff;
480 | /*! z-index: -9; */
481 | width: 100%;
482 | z-index: 9999;
483 | border: solid 1px #d8d7ff;
484 | }
485 |
486 | .chat-user-meta {
487 | float: left;
488 | height: 100%;
489 | padding: 25px 12px;
490 | margin-left: 1.2em;
491 | display: inline-block;
492 | line-height: 1.5em;
493 | }
494 |
495 |
496 | .usr_name {
497 | width: 100%;
498 | display: flex;
499 | font-family: 'Segoe UI', sans-serif;
500 | font-size: 16px;
501 | font-weight: 600;
502 | color: #5769fe;
503 | text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
504 | }
505 |
506 | .usr_name__online {
507 | display: block;
508 | background: #00c853;
509 | height: 10px;
510 | width: 10px;
511 | border-radius: 10px;
512 | margin-left: 5px;
513 | margin-top: 8px;
514 | animation-name: blinking;
515 | animation-duration: 1.5s;
516 | animation-iteration-count: infinite;
517 | }
518 |
519 |
520 |
521 |
522 | .user-typing {
523 | font-family: 'Segoe UI', sans-serif;
524 | font-size: 14px;
525 | display: block;
526 | color: #888;
527 | }
528 |
529 | .icon-video {
530 | float: right;
531 | height: 100%;
532 | padding: 35px 35px;
533 | color: #cccccc;
534 | }
535 |
536 | .icon-video .more {
537 | cursor: pointer;
538 | }
539 |
540 | .icon-info {
541 | float: right;
542 | height: 100%;
543 | padding: 35px 10px;
544 | color: #cccccc;
545 | }
546 |
547 | .icon-info .more {
548 | cursor: pointer;
549 | }
550 |
551 | .icon-more {
552 | float: right;
553 | height: 100%;
554 | padding: 35px 35px;
555 | color: #cccccc;
556 | }
557 |
558 |
559 |
560 | .icon-more .more {
561 | cursor: pointer;
562 | }
563 |
564 |
565 |
566 |
567 | .icons-more a {
568 | text-decoration: none;
569 | font-family: 'Segoe UI', sans-serif;
570 | margin-right: 20px;
571 | cursor: pointer;
572 | }
573 |
574 | .msg-wrapper-body {
575 | height: 100%;
576 | padding: 0px;
577 | width: 100%;
578 | }
579 |
580 | .msg-container {
581 | height: 80%;
582 | width: 100%;
583 | overflow-y: scroll;
584 | }
585 |
586 | .msg-container {
587 | height: calc(100% - 160px);
588 | width: 100%;
589 | overflow-y: scroll;
590 | padding-top: 15px;
591 | padding-left: 15px;
592 | padding-right: 15px;
593 | border-bottom: solid 1px rgba(0, 0, 0, .075);
594 | background: url(../img/fileuploader-dragdrop-background2.png) #f9fafb;
595 | }
596 |
597 | .msg-single {
598 | clear: both;
599 | margin-bottom: 10px;
600 | text-decoration: none;
601 | list-style-type: none;
602 | margin: 20px 0px 0px 20px;
603 | }
604 |
605 | .msg-conatiner {
606 | font-size: 15.5px;
607 | font-family: "Segoe UI", sans-serif;
608 | float: left;
609 | display: inline-block;
610 | margin: 5px;
611 | min-width: 160px;
612 | min-height: 10px;
613 | max-width: 400px;
614 | line-height: 1.4;
615 | word-wrap: break-word;
616 | padding: 20px 25px;
617 | border-radius: 2px 10px 10px 10px;
618 | display: inline-block;
619 | color: #717171;
620 | background: #FFF;
621 | box-shadow: 0 5px 7px 0 rgba(194, 193, 255, 0.3);
622 | cursor: pointer;
623 | border: solid 1px #d8d7ff;
624 | }
625 |
626 | .msg-container .table-content-cell:first-child img {
627 | border-radius: 50%;
628 | width: 40px;
629 | }
630 |
631 | .message-seen {
632 | color: #cccdd6;
633 | font-size: 12px;
634 | margin-top: 10px;
635 | text-transform: lowercase;
636 | left: 190px;
637 | }
638 |
639 | .like-true {
640 | display: block;
641 | float: left;
642 | color: #ff3a3a;
643 | cursor: pointer;
644 | margin-top: 45px;
645 | margin-left: 10px;
646 | }
647 |
648 | .like-false {
649 | display: block;
650 | float: left;
651 | color: #bfbfbf;
652 | cursor: pointer;
653 | margin-top: 45px;
654 | margin-left: 10px;
655 | }
656 |
657 |
658 |
659 | .fa-heart:before {
660 | font-size: 15px;
661 | }
662 |
663 | .msg-container .sender-message-line .table-content-cell:first-child {
664 | vertical-align: top;
665 | width: 50px;
666 | }
667 |
668 |
669 | .msg-conatiner-two {
670 | font-size: 15.5px;
671 | font-family: "Segoe UI", sans-serif;
672 | float: right;
673 | display: inline-block;
674 | margin: 5px;
675 | min-width: 160px;
676 | min-height: 10px;
677 | max-width: 400px;
678 | line-height: 1.4;
679 | word-wrap: break-word;
680 | padding: 20px 25px;
681 | border-top-left-radius: 20px;
682 | border-bottom-right-radius: 20px;
683 | border-bottom-left-radius: 20px;
684 | display: inline-block;
685 | color: #fff;
686 | background: #5769fe;
687 | border-radius: 10px 2px 10px 10px;
688 | border: solid 1px #d8d7ff;
689 | box-shadow: 0 5px 7px 0 rgba(194, 193, 255, 0.3);
690 | cursor: pointer
691 | }
692 |
693 |
694 | .msg-conatiner-two .message-seen {
695 | color: #9ca7ff;
696 | font-size: 14px;
697 | margin-top: 5px;
698 | text-transform: lowercase;
699 | }
700 |
701 |
702 |
703 | /***********************
704 |
705 | Empty State
706 |
707 | ************************/
708 |
709 | * {
710 | font-family: 'Lato';
711 | }
712 |
713 | .empty_state {
714 | position: relative;
715 | top: -20px;
716 | width: 100%;
717 | height: 90%;
718 | display: flex;
719 | flex-direction: column;
720 |
721 | }
722 |
723 | .empty_state i {
724 | margin: auto;
725 | margin-bottom: 0px;
726 | font-size: 90px;
727 | }
728 |
729 |
730 | .empty_state h3 {
731 | margin: 8px 0px;
732 | text-align: center;
733 | font-weight: normal;
734 | }
735 |
736 | .empty_state p {
737 | font-size: 14px;
738 | margin: 0px;
739 | color: #999;
740 | text-align: center;
741 | }
742 |
743 | .empty_state button {
744 | outline: none;
745 | border: none;
746 | border-radius: 3px;
747 | padding: 8px 8px;
748 | margin: 20px auto auto auto;
749 | width: 50%;
750 | max-width: 200px;
751 | background: #5769fe;
752 | color: white;
753 | letter-spacing: 0.8px;
754 | text-transform: uppercase;
755 | font-size: 12px;
756 | cursor: pointer;
757 | }
758 |
759 |
760 | /***********************
761 |
762 | Empty State Ends
763 |
764 | ************************/
765 |
766 | .close-modal {
767 | color: #000;
768 | text-decoration: none;
769 | float: right;
770 | position: absolute;
771 | top: 10px;
772 | right: 20px;
773 | font-size: 20px;
774 |
775 | }
776 |
777 |
778 |
779 | /*Users List*/
780 |
781 | .list-wrapper {
782 | max-width: 400px;
783 | margin: 20px auto;
784 | }
785 |
786 |
787 |
788 | .list-item {
789 | background: #fff;
790 | border-radius: 3px;
791 | list-style: none;
792 | padding: 20px 20px;
793 | display: -webkit-box;
794 | display: -ms-flexbox;
795 | display: flex;
796 | margin-top: 13px;
797 |
798 | }
799 |
800 | .list-item-image {
801 | border-radius: 50%;
802 | width: 50px;
803 | }
804 |
805 | .list-item-content {
806 | margin-left: 20px;
807 | }
808 |
809 | .list-item-content h4,
810 | .list-item-content p {
811 | margin: 0;
812 | }
813 |
814 | .list-item-content .button {
815 | margin-top: 10px;
816 | }
817 |
818 | .list-item-content h4 {
819 | margin-top: 10px;
820 | font-size: 16px;
821 | font-weight: 600;
822 | }
823 |
824 | .list-item-content p {
825 | margin-top: 5px;
826 | color: #aaa;
827 | font-size: 14px;
828 |
829 | }
830 |
831 | .list-item-content a {
832 | position: absolute;
833 | margin-top: -30px;
834 | margin-left: 200px;
835 | color: #efefef;
836 | font-size: 30px;
837 |
838 | }
839 |
840 | .list-item-content a:hover {
841 | color: #5769fe;
842 |
843 | }
844 |
845 | .list-item-content a:focus {
846 | color: #5769fe;
847 |
848 | }
849 |
850 |
851 | /***********************
852 |
853 | Add Chat Modal Ends
854 |
855 | ************************/
856 |
857 | .table-content {
858 | display: table;
859 | width: 100%;
860 | margin: 0;
861 | }
862 |
863 | .table-content .table-content-cell {
864 | display: table-cell;
865 | vertical-align: middle;
866 | }
867 |
868 |
869 |
870 | .message-input {
871 | bottom: 0;
872 | width: 100%;
873 | z-index: 99;
874 | }
875 |
876 | .message-input .wrap {
877 | position: relative;
878 | }
879 |
880 | .message-input .wrap input {
881 | font-family: "Segoe UI", sans-serif;
882 | float: left;
883 | border: none;
884 | width: calc(100% - 130px);
885 | padding: 22px 32px 10px 8px;
886 | padding-bottom: 20px;
887 | font-size: 1em;
888 | background-color: transparent;
889 | }
890 |
891 | @media screen and (max-width: 735px) {
892 | .message-input .wrap input {
893 | padding: 15px 32px 16px 8px;
894 | }
895 | }
896 |
897 | .message-input .wrap input:focus {
898 | outline: none;
899 | }
900 |
901 | .message-input .wrap .paperclip {
902 | position: absolute;
903 | right: 90px;
904 | z-index: 4;
905 | margin-top: 25px;
906 | font-size: 1.3em;
907 | color: #CCCCCC;
908 | cursor: pointer;
909 | }
910 |
911 |
912 | @media screen and (max-width: 735px) {
913 | .message-input .wrap .paperclip .emoji {
914 | margin-top: 17px;
915 | right: 65px;
916 | }
917 | }
918 |
919 | .message-input .wrap .paperclip:hover {
920 | color: #40EDA1;
921 | }
922 |
923 | .message-input .wrap .emoji {
924 | position: absolute;
925 | right: 125px;
926 | z-index: 4;
927 | margin-top: 25px;
928 | font-size: 1.3em;
929 | color: #CCCCCC;
930 | cursor: pointer;
931 | }
932 |
933 | .message-input .wrap .emoji:hover {
934 | color: #EEB44F;
935 | }
936 |
937 |
938 | .message-input .wrap button {
939 | float: right;
940 | border: none;
941 | width: 60px;
942 | padding: 25px 0;
943 | background-color: #5769fe;
944 | cursor: pointer;
945 | color: #fff;
946 | font-size: 1.5em;
947 | }
948 |
949 | @media screen and (max-width: 735px) {
950 | .message-input .wrap button {
951 | padding: 16px 0;
952 | }
953 | }
954 |
955 | .message-input .wrap button:hover {
956 | color: #f1f1f1;
957 | }
958 |
959 | .message-input .wrap button:focus {
960 | outline: none;
961 | color: #f1f1f1;
962 | }
963 |
964 |
965 |
966 |
967 | /*Emoji One Custom CSS*/
968 |
969 | .span6 {
970 | float: left;
971 | width: 85%;
972 | }
973 |
974 |
975 |
976 | /* ==============================================
977 | =================================================
978 | ~ Message Wrapper / Container Ends ~
979 | =================================================
980 | ============================================== */
981 |
982 | .msg-container {
983 | overflow-y: scroll;
984 |
985 | }
986 |
987 | .msg-container {
988 | padding: 10px;
989 | animation: fade 0.25s;
990 | border-bottom: 1px solid rgba(0, 0, 0, 0.1);
991 | }
992 |
993 |
994 | .msg-wrapper-body .input {
995 | display: flex;
996 | }
997 |
998 | .msg-wrapper-body .input .btn,
999 | .msg-wrapper-body .input .emoji-btn {
1000 | line-height: 40px;
1001 | width: 75px;
1002 | padding: 25px 0;
1003 | text-align: center;
1004 | margin-left: 10px;
1005 | position: relative;
1006 | cursor: pointer;
1007 | color: #c3c3c3;
1008 | }
1009 |
1010 | .emoji-message {
1011 | margin-left: 700px;
1012 | }
1013 |
1014 |
1015 |
1016 | .msg-wrapper-body .input input {
1017 | font-size: 15px;
1018 | font-family: "Segoe UI", sans-serif;
1019 | border-radius: 2px;
1020 | margin-right: 0px;
1021 | border: none;
1022 | width: 100%;
1023 | flex: 1;
1024 | padding: 0px 20px;
1025 | font-weight: 600;
1026 | outline: none;
1027 | }
1028 |
1029 | @keyframes fade {
1030 | from {
1031 | opacity: 0;
1032 | }
1033 | to {
1034 | opacity: 1;
1035 | }
1036 | }
1037 |
1038 | @keyframes flyin {
1039 | from {
1040 | transform: translateY(400px);
1041 | opacity: 0;
1042 | }
1043 | to {
1044 | transform: translateY(0px);
1045 | opacity: 1;
1046 | }
1047 | }
1048 |
1049 |
1050 | .emoji-popup {
1051 | position: absolute;
1052 | top: -190px;
1053 | left: -143px;
1054 | height: 180px;
1055 | width: 200px;
1056 | background: #fff;
1057 | box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .1);
1058 | border-radius: 2px;
1059 | text-align: center;
1060 | overflow-y: auto;
1061 | opacity: 0;
1062 | pointer-events: none;
1063 | transition: all 0.25s;
1064 | box-sizing: border-box;
1065 | }
1066 |
1067 | .emoji-wrapper {
1068 | overflow: hidden;
1069 | padding: 10px;
1070 | box-sizing: border-box;
1071 | border: solid 1px #d8d7ff;
1072 | }
1073 |
1074 | .emoji-popup .emoji-img {
1075 | margin: auto;
1076 | width: 80px;
1077 | height: 80px;
1078 | text-align: center;
1079 | border-radius: 5px;
1080 | }
1081 |
1082 | .emoji-popup .emoji-img:hover {
1083 | background: rgba(0, 0, 0, 0.25);
1084 | }
1085 |
1086 |
1087 | /*
1088 | .emoji-btn:after {
1089 | content: '';
1090 | position: absolute;
1091 | border: 10px solid transparent;
1092 | border-top: 10px solid #999;
1093 | top: -10px;
1094 | left: 30px;
1095 | transition: all 0.25s;
1096 | opacity: 0;
1097 | }
1098 | */
1099 |
1100 | .emoji-btn.open:after {
1101 | opacity: 1;
1102 | }
1103 |
1104 | .emoji-btn.open .emoji-popup {
1105 | opacity: 1;
1106 | pointer-events: initial;
1107 | }
1108 |
1109 |
1110 | /* ==============================================
1111 | =================================================
1112 | ~ Buttons ~
1113 | =================================================
1114 | ============================================== */
1115 |
1116 | .button-container {
1117 | display: -webkit-box;
1118 | display: -ms-flexbox;
1119 | display: flex;
1120 | margin: 60px auto;
1121 | -ms-flex-wrap: wrap;
1122 | flex-wrap: wrap;
1123 | -webkit-box-pack: center;
1124 | -ms-flex-pack: center;
1125 | justify-content: center;
1126 | }
1127 |
1128 | .button {
1129 | font-family: "Segoe UI", sans-serif;
1130 | display: -webkit-box;
1131 | display: -ms-flexbox;
1132 | display: flex;
1133 | color: #000;
1134 | overflow: hidden;
1135 | padding: 12px 12px;
1136 | cursor: pointer;
1137 | -webkit-user-select: none;
1138 | -moz-user-select: none;
1139 | -ms-user-select: none;
1140 | user-select: none;
1141 | -webkit-transition: all 60ms ease-in-out;
1142 | transition: all 60ms ease-in-out;
1143 | text-align: center;
1144 | white-space: nowrap;
1145 | text-decoration: none !important;
1146 | color: #5769fe;
1147 | border-radius: 4px;
1148 | font-size: 13px;
1149 | font-weight: 500;
1150 | line-height: 1.3;
1151 | -webkit-appearance: none;
1152 | -moz-appearance: none;
1153 | appearance: none;
1154 | -webkit-box-pack: center;
1155 | -ms-flex-pack: center;
1156 | justify-content: center;
1157 | -webkit-box-align: center;
1158 | -ms-flex-align: center;
1159 | align-items: center;
1160 | -webkit-box-flex: 0;
1161 | -ms-flex: 0 0 160px;
1162 | flex: 0 0 160px;
1163 | }
1164 |
1165 | .button:hover {
1166 | -webkit-transition: all 60ms ease;
1167 | transition: all 60ms ease;
1168 | }
1169 |
1170 | .button:active {
1171 | -webkit-transition: all 60ms ease;
1172 | transition: all 60ms ease;
1173 | }
1174 |
1175 | .button:focus {
1176 | outline: 1px dotted #959595;
1177 | outline-offset: -4px;
1178 | }
1179 |
1180 | .button.-regular {
1181 | color: #202129;
1182 | background-color: #f2f2f2;
1183 | }
1184 |
1185 | .button.-regular:hover {
1186 | color: #202129;
1187 | background-color: #e1e2e2;
1188 | opacity: 1;
1189 | }
1190 |
1191 | .button.-regular:active {
1192 | background-color: #d5d6d6;
1193 | opacity: 1;
1194 | }
1195 |
1196 | .button.-dark {
1197 | color: #FFFFFF;
1198 | background: #161616;
1199 | }
1200 |
1201 | .button.-dark:focus {
1202 | outline: 1px dotted white;
1203 | outline-offset: -4px;
1204 | }
1205 |
1206 | .button.-green {
1207 | color: #FFFFFF;
1208 | background: #3dd28d;
1209 | }
1210 |
1211 | .button.-blue {
1212 | color: #FFFFFF;
1213 | background: #4f60f3;
1214 | }
1215 |
1216 |
1217 | .button.-blueish {
1218 | color: #FFFFFF;
1219 | background: #5769fe;
1220 | }
1221 |
1222 |
1223 | .-blueish:active {
1224 | background: #4c5de8;
1225 | }
1226 |
1227 |
1228 | .button.-salmon {
1229 | color: #FFFFFF;
1230 | background: #F32C52;
1231 | }
1232 |
1233 | .button.-sun {
1234 | color: #f15c5c;
1235 | background: #feee7d;
1236 | }
1237 |
1238 | .button.-alge {
1239 | color: #e7ff20;
1240 | background: #7999a9;
1241 | }
1242 |
1243 | .button.-flower {
1244 | color: #FE8CDF;
1245 | background: #353866;
1246 | }
1247 |
1248 |
1249 | /***********************
1250 |
1251 | Ripple Effect For Buttons
1252 |
1253 | ************************/
1254 |
1255 | .ripple {
1256 | display: block;
1257 | box-shadow: 0 0 12px 2px rgba(0, 0, 0, .1);
1258 | position: relative;
1259 | overflow: hidden;
1260 | }
1261 |
1262 | .ripple span {
1263 | position: absolute;
1264 | display: block;
1265 | border-radius: 100%;
1266 | }
1267 |
1268 |
1269 | /* Button #4 */
1270 |
1271 | button {
1272 | background-color: #5769fe;
1273 | }
1274 |
1275 | button span {
1276 | background-color: #495cff;
1277 | }
1278 |
--------------------------------------------------------------------------------
/convo/assets/fonts/fontello.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------