From 19e8f7512048df2b80069292feae56075f065eec Mon Sep 17 00:00:00 2001 From: sualko Date: Mon, 23 Jan 2017 16:42:29 +0100 Subject: build v3.1.0-beta --- CHANGELOG.md | 9 + appinfo/info.xml | 2 +- build/ajax/getSettings.php | 15 + build/ajax/getUsers.php | 25 +- build/ajax/setAdminSettings.php | 4 + build/appinfo/info.xml | 2 +- build/css/jsxc.oc.css | 704 +- build/js/admin.js | 6 +- build/js/eof.js | 6 +- build/js/jsxc/css/jsxc.css | 1134 +- build/js/jsxc/css/magnific-popup.css | 85 +- build/js/jsxc/img/bell.svg | 61 + build/js/jsxc/img/composing.png | Bin 0 -> 1887 bytes build/js/jsxc/img/download_icon_black.svg | 137 + build/js/jsxc/img/download_icon_gray.svg | 137 + build/js/jsxc/img/download_icon_white.svg | 137 + build/js/jsxc/img/emotions/nextcloud.svg | 98 + build/js/jsxc/img/megaphone_icon_black.svg | 73 + build/js/jsxc/jsxc.js | 9830 ++-- build/js/jsxc/jsxc.min.js | 20 +- build/js/jsxc/jsxc.min.js.map | 2 +- .../js/jsxc/lib/emojione/assets/svg/0023-20e3.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/0023.svg | 1 + .../js/jsxc/lib/emojione/assets/svg/002a-20e3.svg | 5 +- build/js/jsxc/lib/emojione/assets/svg/002a.svg | 1 + .../js/jsxc/lib/emojione/assets/svg/0030-20e3.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/0030.svg | 1 + .../js/jsxc/lib/emojione/assets/svg/0031-20e3.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/0031.svg | 1 + .../js/jsxc/lib/emojione/assets/svg/0032-20e3.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/0032.svg | 1 + .../js/jsxc/lib/emojione/assets/svg/0033-20e3.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/0033.svg | 1 + .../js/jsxc/lib/emojione/assets/svg/0034-20e3.svg | 5 +- build/js/jsxc/lib/emojione/assets/svg/0034.svg | 1 + .../js/jsxc/lib/emojione/assets/svg/0035-20e3.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/0035.svg | 1 + .../js/jsxc/lib/emojione/assets/svg/0036-20e3.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/0036.svg | 1 + .../js/jsxc/lib/emojione/assets/svg/0037-20e3.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/0037.svg | 1 + .../js/jsxc/lib/emojione/assets/svg/0038-20e3.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/0038.svg | 1 + .../js/jsxc/lib/emojione/assets/svg/0039-20e3.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/0039.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/00a9.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/00ae.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/1f004.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f0cf.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f170.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/1f171.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f17e.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f17f.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f18e.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f191.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f192.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f193.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f194.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f195.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/1f196.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f197.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f198.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f199.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f19a.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1e6-1f1e8.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e6-1f1e9.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1e6-1f1ea.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e6-1f1eb.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1e6-1f1ec.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e6-1f1ee.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e6-1f1f1.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e6-1f1f2.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1e6-1f1f4.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e6-1f1f6.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e6-1f1f7.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1e6-1f1f8.svg | 4 +- .../jsxc/lib/emojione/assets/svg/1f1e6-1f1f9.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1e6-1f1fa.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e6-1f1fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e6-1f1fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e6-1f1ff.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f1e6.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1e7-1f1e6.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1e7.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1e9.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1ea.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1eb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1ec.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1ed.svg | 4 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1ee.svg | 6 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1ef.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1f1.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1f2.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1f3.svg | 4 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1f4.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1f6.svg | 4 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1f7.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1f8.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1f9.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e7-1f1ff.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f1e7.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1e8-1f1e6.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1e8.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1e9.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1eb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1ec.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1ed.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1ee.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1f0.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1f1.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1f2.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1f3.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1f4.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1f5.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1f7.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1fa.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1fc.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1fd.svg | 4 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e8-1f1ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f1e8.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1e9-1f1ea.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e9-1f1ec.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e9-1f1ef.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e9-1f1f0.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e9-1f1f2.svg | 4 +- .../jsxc/lib/emojione/assets/svg/1f1e9-1f1f4.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1e9-1f1ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f1e9.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1ea-1f1e6.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1ea-1f1e8.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ea-1f1ea.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1ea-1f1ec.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1ea-1f1ed.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ea-1f1f7.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ea-1f1f8.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1ea-1f1f9.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ea-1f1fa.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f1ea.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1eb-1f1ee.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1eb-1f1ef.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1eb-1f1f0.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1eb-1f1f2.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1eb-1f1f4.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1eb-1f1f7.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f1eb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1ec-1f1e6.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ec-1f1e7.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ec-1f1e9.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1ec-1f1ea.svg | 5 +- .../jsxc/lib/emojione/assets/svg/1f1ec-1f1eb.svg | 4 +- .../jsxc/lib/emojione/assets/svg/1f1ec-1f1ec.svg | 4 +- .../jsxc/lib/emojione/assets/svg/1f1ec-1f1ed.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1ec-1f1ee.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ec-1f1f1.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ec-1f1f2.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ec-1f1f3.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1ec-1f1f5.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1ec-1f1f6.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ec-1f1f7.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ec-1f1f8.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ec-1f1f9.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1ec-1f1fa.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1ec-1f1fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ec-1f1fe.svg | 6 +- build/js/jsxc/lib/emojione/assets/svg/1f1ec.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1ed-1f1f0.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ed-1f1f2.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ed-1f1f3.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ed-1f1f7.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1ed-1f1f9.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ed-1f1fa.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f1ed.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1ee-1f1e8.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1ee-1f1e9.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ee-1f1ea.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ee-1f1f1.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ee-1f1f2.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ee-1f1f3.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ee-1f1f4.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ee-1f1f6.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1ee-1f1f7.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1ee-1f1f8.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ee-1f1f9.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f1ee.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1ef-1f1ea.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ef-1f1f2.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1ef-1f1f4.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ef-1f1f5.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f1ef.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1f0-1f1ea.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f0-1f1ec.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f0-1f1ed.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f0-1f1ee.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f0-1f1f2.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f0-1f1f3.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f0-1f1f5.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f0-1f1f7.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f0-1f1fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f0-1f1fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f0-1f1ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f1f0.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1f1-1f1e6.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f1-1f1e7.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f1-1f1e8.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f1-1f1ee.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f1-1f1f0.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f1-1f1f7.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f1-1f1f8.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f1-1f1f9.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f1-1f1fa.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f1-1f1fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f1-1f1fe.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f1f1.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1f2-1f1e6.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1e8.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1e9.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1ea.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1eb.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1ec.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1ed.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1f0.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1f1.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1f2.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1f3.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1f4.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1f5.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1f6.svg | 5 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1f7.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1f8.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1f9.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1fa.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1fb.svg | 4 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1fc.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f2-1f1ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f1f2.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1f3-1f1e6.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f3-1f1e8.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f3-1f1ea.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f3-1f1eb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f3-1f1ec.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f3-1f1ee.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f3-1f1f1.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f3-1f1f4.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f3-1f1f5.svg | 5 +- .../jsxc/lib/emojione/assets/svg/1f1f3-1f1f7.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f3-1f1fa.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f3-1f1ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f1f3.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1f4-1f1f2.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f1f4.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1f5-1f1e6.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f5-1f1ea.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f5-1f1eb.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f5-1f1ec.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f5-1f1ed.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f5-1f1f0.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f5-1f1f1.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f5-1f1f2.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f5-1f1f3.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f5-1f1f7.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f5-1f1f8.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f5-1f1f9.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f5-1f1fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f5-1f1fe.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f1f5.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1f6-1f1e6.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f1f6.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1f7-1f1ea.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f7-1f1f4.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f7-1f1f8.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f7-1f1fa.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f7-1f1fc.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f1f7.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1f8-1f1e6.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1e7.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1e8.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1e9.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1ea.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1ec.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1ed.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1ee.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1ef.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1f0.svg | 4 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1f1.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1f2.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1f3.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1f4.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1f7.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1f8.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1f9.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1fb.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1fe.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f8-1f1ff.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f1f8.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1f9-1f1e6.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f9-1f1e8.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f9-1f1e9.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f9-1f1eb.svg | 4 +- .../jsxc/lib/emojione/assets/svg/1f1f9-1f1ec.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f9-1f1ed.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f9-1f1ef.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f9-1f1f0.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f9-1f1f1.svg | 4 +- .../jsxc/lib/emojione/assets/svg/1f1f9-1f1f2.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f9-1f1f3.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f9-1f1f4.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f9-1f1f7.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f9-1f1f9.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1f9-1f1fb.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1f9-1f1fc.svg | 4 +- .../jsxc/lib/emojione/assets/svg/1f1f9-1f1ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f1f9.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1fa-1f1e6.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1fa-1f1ec.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1fa-1f1f2.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1fa-1f1f8.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1fa-1f1fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1fa-1f1ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f1fa.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1fb-1f1e6.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1fb-1f1e8.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1fb-1f1ea.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1fb-1f1ec.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1fb-1f1ee.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1fb-1f1f3.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1fb-1f1fa.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/1f1fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1fc-1f1eb.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1fc-1f1f8.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f1fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1fd-1f1f0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f1fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1fe-1f1ea.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f1fe-1f1f9.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f1fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f1ff-1f1e6.svg | 4 +- .../jsxc/lib/emojione/assets/svg/1f1ff-1f1f2.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f1ff-1f1fc.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f1ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f201.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f202.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f21a.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f22f.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f232.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f233.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f234.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/1f235.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f236.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f237.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f238.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f239.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f23a.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f250.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f251.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f300.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f301.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f302.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f303.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f304.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f305.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f306.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f307.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f308.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f309.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f30a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f30b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f30c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f30d.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f30e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f30f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f310.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f311.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f312.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f313.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f314.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f315.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f316.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f317.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f318.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f319.svg | 5 +- build/js/jsxc/lib/emojione/assets/svg/1f31a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f31b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f31c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f31d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f31e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f31f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f320.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f321.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f324.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f325.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f326.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f327.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f328.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f329.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f32a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f32b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f32c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f32d.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f32e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f32f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f330.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f331.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f332.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f333.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f334.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f335.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f336.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f337.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/1f338.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f339.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f33a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f33b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f33c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f33d.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f33e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f33f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f340.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f341.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f342.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f343.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f344.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/1f345.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f346.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f347.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f348.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f349.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f34a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f34b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f34c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f34d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f34e.svg | 5 +- build/js/jsxc/lib/emojione/assets/svg/1f34f.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f350.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f351.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f352.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f353.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f354.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f355.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f356.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f357.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f358.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f359.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f35a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f35b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f35c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f35d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f35e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f35f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f360.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f361.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f362.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f363.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f364.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f365.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f366.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f367.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f368.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f369.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f36a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f36b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f36c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f36d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f36e.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f36f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f370.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f371.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f372.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f373.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f374.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f375.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f376.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f377.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f378.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f379.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f37a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f37b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f37c.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f37d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f37e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f37f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f380.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f381.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f382.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f383.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f384.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f385-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f385-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f385-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f385-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f385-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f385.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f386.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f387.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f388.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f389.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f38a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f38b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f38c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f38d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f38e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f38f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f390.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f391.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f392.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f393.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f396.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f397.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f399.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f39a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f39b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f39e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f39f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3a0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3a1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3a2.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3a3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3a4.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3a5.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3a6.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3a7.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3a8.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3a9.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3aa.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3ab.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3ac.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3ad.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3ae.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3af.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3b0.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f3b1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3b2.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3b3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3b4.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f3b5.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3b6.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3b7.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3b8.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3b9.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3ba.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f3bb.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3bc.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3bd.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3be.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3bf.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3c0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3c1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3c2.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3c3-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3c3-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3c3-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3c3-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3c3-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3c3.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3c4-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3c4-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3c4-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3c4-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3c4-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3c4.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f3c5.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3c6.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3c7-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3c7-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3c7-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3c7-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3c7-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3c7.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3c8.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3c9.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f3ca-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3ca-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3ca-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3ca-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3ca-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3ca.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3cb-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3cb-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3cb-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3cb-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3cb-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3cb.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3cc.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3cd.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3ce.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3cf.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3d0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3d1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3d2.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3d3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3d4.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3d5.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f3d6.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3d7.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f3d8.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3d9.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3da.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3db.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3dc.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3dd.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f3de.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f3df.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3e0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3e1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3e2.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3e3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3e4.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3e5.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3e6.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3e7.svg | 5 +- build/js/jsxc/lib/emojione/assets/svg/1f3e8.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3e9.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f3ea.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3eb.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3ec.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3ed.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3ee.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3ef.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3f0.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f3f3-1f308.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f3f3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3f4.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3f5.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3f7.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3f8.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3f9.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f3fa.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f400.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f401.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f402.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f403.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f404.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f405.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f406.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f407.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f408.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f409.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f40a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f40b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f40c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f40d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f40e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f40f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f410.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f411.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f412.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f413.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f414.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f415.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f416.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f417.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f418.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f419.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f41a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f41b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f41c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f41d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f41e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f41f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f420.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f421.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f422.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f423.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f424.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f425.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f426.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f427.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f428.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f429.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f42a.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f42b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f42c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f42d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f42e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f42f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f430.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f431.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f432.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f433.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f434.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f435.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f436.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f437.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f438.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f439.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f43a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f43b.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f43c.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/1f43d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f43e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f43f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f440.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f441-1f5e8.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f441.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f442-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f442-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f442-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f442-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f442-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f442.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f443-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f443-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f443-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f443-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f443-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f443.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f444.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f445.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f446-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f446-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f446-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f446-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f446-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f446.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f447-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f447-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f447-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f447-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f447-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f447.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f448-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f448-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f448-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f448-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f448-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f448.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f449-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f449-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f449-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f449-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f449-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f449.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44a-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44a-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44a-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44a-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44a-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f44a.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44b-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44b-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44b-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44b-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44b-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f44b.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44c-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44c-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44c-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44c-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44c-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f44c.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44d-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44d-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44d-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44d-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44d-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f44d.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44e-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44e-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44e-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44e-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44e-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f44e.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44f-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44f-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44f-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44f-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f44f-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f44f.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f450-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f450-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f450-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f450-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f450-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f450.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f451.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f452.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f453.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f454.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/1f455.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f456.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f457.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f458.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f459.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f45a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f45b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f45c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f45d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f45e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f45f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f460.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f461.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f462.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f463.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f464.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f465.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f466-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f466-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f466-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f466-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f466-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f466.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f467-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f467-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f467-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f467-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f467-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f467.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f468-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f468-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f468-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f468-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f468-1f3ff.svg | 2 +- .../assets/svg/1f468-1f468-1f466-1f466.svg | 2 +- .../lib/emojione/assets/svg/1f468-1f468-1f466.svg | 2 +- .../assets/svg/1f468-1f468-1f467-1f466.svg | 2 +- .../assets/svg/1f468-1f468-1f467-1f467.svg | 2 +- .../lib/emojione/assets/svg/1f468-1f468-1f467.svg | 2 +- .../assets/svg/1f468-1f469-1f466-1f466.svg | 3 +- .../assets/svg/1f468-1f469-1f467-1f466.svg | 3 +- .../assets/svg/1f468-1f469-1f467-1f467.svg | 3 +- .../lib/emojione/assets/svg/1f468-1f469-1f467.svg | 3 +- .../lib/emojione/assets/svg/1f468-2764-1f468.svg | 2 +- .../emojione/assets/svg/1f468-2764-1f48b-1f468.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f468.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f469-1f3fb.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f469-1f3fc.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f469-1f3fd.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f469-1f3fe.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f469-1f3ff.svg | 3 +- .../assets/svg/1f469-1f469-1f466-1f466.svg | 3 +- .../lib/emojione/assets/svg/1f469-1f469-1f466.svg | 5 +- .../assets/svg/1f469-1f469-1f467-1f466.svg | 5 +- .../assets/svg/1f469-1f469-1f467-1f467.svg | 5 +- .../lib/emojione/assets/svg/1f469-1f469-1f467.svg | 4 +- .../lib/emojione/assets/svg/1f469-2764-1f469.svg | 2 +- .../emojione/assets/svg/1f469-2764-1f48b-1f469.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f469.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f46a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f46b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f46c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f46d.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f46e-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f46e-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f46e-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f46e-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f46e-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f46e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f46f.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f470-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f470-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f470-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f470-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f470-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f470.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f471-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f471-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f471-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f471-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f471-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f471.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f472-1f3fb.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f472-1f3fc.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f472-1f3fd.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f472-1f3fe.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f472-1f3ff.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f472.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f473-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f473-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f473-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f473-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f473-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f473.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f474-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f474-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f474-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f474-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f474-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f474.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f475-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f475-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f475-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f475-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f475-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f475.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f476-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f476-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f476-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f476-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f476-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f476.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f477-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f477-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f477-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f477-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f477-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f477.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f478-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f478-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f478-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f478-1f3fe.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f478-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f478.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f479.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f47a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f47b.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f47c-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f47c-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f47c-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f47c-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f47c-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f47c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f47d.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f47e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f47f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f480.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f481-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f481-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f481-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f481-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f481-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f481.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f482-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f482-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f482-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f482-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f482-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f482.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f483-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f483-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f483-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f483-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f483-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f483.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f484.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f485-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f485-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f485-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f485-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f485-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f485.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f486-1f3fb.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f486-1f3fc.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f486-1f3fd.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f486-1f3fe.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f486-1f3ff.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f486.svg | 4 +- .../jsxc/lib/emojione/assets/svg/1f487-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f487-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f487-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f487-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f487-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f487.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f488.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f489.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f48a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f48b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f48c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f48d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f48e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f48f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f490.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f491.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f492.svg | 5 +- build/js/jsxc/lib/emojione/assets/svg/1f493.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f494.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f495.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f496.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f497.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f498.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f499.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f49a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f49b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f49c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f49d.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f49e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f49f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4a0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4a1.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f4a2.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4a3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4a4.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4a5.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4a6.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4a7.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4a8.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4a9.svg | 3 +- .../jsxc/lib/emojione/assets/svg/1f4aa-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f4aa-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f4aa-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f4aa-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f4aa-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4aa.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4ab.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4ac.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f4ad.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4ae.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4af.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4b0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4b1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4b2.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4b3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4b4.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4b5.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4b6.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4b7.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4b8.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4b9.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4ba.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4bb.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4bc.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4bd.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4be.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4bf.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4c0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4c1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4c2.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4c3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4c4.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4c5.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4c6.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4c7.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4c8.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4c9.svg | 6 +- build/js/jsxc/lib/emojione/assets/svg/1f4ca.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4cb.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4cc.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4cd.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4ce.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4cf.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4d0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4d1.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f4d2.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4d3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4d4.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f4d5.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4d6.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4d7.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4d8.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4d9.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4da.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4db.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4dc.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4dd.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4de.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4df.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4e0.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f4e1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4e2.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4e3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4e4.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4e5.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/1f4e6.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4e7.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4e8.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4e9.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4ea.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4eb.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4ec.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f4ed.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f4ee.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4ef.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4f0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4f1.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f4f2.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f4f3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4f4.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4f5.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4f6.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4f7.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4f8.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4f9.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4fa.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4fb.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4fc.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4fd.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f4ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f500.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f501.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f502.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f503.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f504.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f505.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f506.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f507.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f508.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f509.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f50a.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f50b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f50c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f50d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f50e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f50f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f510.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f511.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f512.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f513.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f514.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f515.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f516.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f517.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f518.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f519.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/1f51a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f51b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f51c.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/1f51d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f51e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f51f.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/1f520.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f521.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f522.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f523.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f524.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f525.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f526.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f527.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f528.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f529.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f52a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f52b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f52c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f52d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f52e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f52f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f530.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f531.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f532.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f533.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f534.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f535.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f536.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f537.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f538.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f539.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f53a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f53b.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f53c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f53d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f549.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f54a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f54b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f54c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f54d.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/1f54e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f550.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f551.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f552.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f553.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f554.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f555.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f556.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f557.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f558.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f559.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f55a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f55b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f55c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f55d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f55e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f55f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f560.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f561.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f562.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f563.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f564.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f565.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f566.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f567.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f56f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f570.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f573.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f574.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f575-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f575-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f575-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f575-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f575-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f575.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f576.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f577.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f578.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f579.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f57a-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f57a-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f57a-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f57a-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f57a-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f57a.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f587.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f58a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f58b.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f58c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f58d.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f590-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f590-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f590-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f590-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f590-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f590.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f595-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f595-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f595-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f595-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f595-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f595.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f596-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f596-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f596-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f596-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f596-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f596.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5a4.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f5a5.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f5a8.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/1f5b1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5b2.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5bc.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/1f5c2.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5c3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5c4.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5d1.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f5d2.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f5d3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5dc.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5dd.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5de.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5e1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5e3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5e8.svg | 2 + build/js/jsxc/lib/emojione/assets/svg/1f5ef.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5f3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5fa.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5fb.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5fc.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5fd.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5fe.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f5ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f600.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f601.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f602.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f603.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f604.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f605.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f606.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f607.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f608.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f609.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f60a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f60b.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f60c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f60d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f60e.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f60f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f610.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f611.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f612.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f613.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f614.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f615.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f616.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f617.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f618.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f619.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f61a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f61b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f61c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f61d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f61e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f61f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f620.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f621.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f622.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f623.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f624.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f625.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f626.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f627.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f628.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f629.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f62a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f62b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f62c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f62d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f62e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f62f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f630.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f631.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f632.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f633.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f634.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f635.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f636.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f637.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f638.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f639.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f63a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f63b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f63c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f63d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f63e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f63f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f640.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f641.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f642.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f643.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f644.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f645-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f645-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f645-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f645-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f645-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f645.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f646-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f646-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f646-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f646-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f646-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f646.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f647-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f647-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f647-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f647-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f647-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f647.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f648.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f649.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f64a.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64b-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64b-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64b-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64b-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64b-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f64b.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64c-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64c-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64c-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64c-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64c-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f64c.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64d-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64d-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64d-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64d-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64d-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f64d.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64e-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64e-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64e-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64e-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64e-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f64e.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64f-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64f-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64f-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64f-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f64f-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f64f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f680.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f681.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f682.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f683.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f684.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f685.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f686.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f687.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f688.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f689.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f68a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f68b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f68c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f68d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f68e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f68f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f690.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f691.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f692.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f693.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f694.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f695.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f696.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f697.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f698.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f699.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f69a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f69b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f69c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f69d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f69e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f69f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6a0.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/1f6a1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6a2.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6a3-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6a3-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6a3-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6a3-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6a3-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6a3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6a4.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6a5.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6a6.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6a7.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6a8.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6a9.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6aa.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6ab.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6ac.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6ad.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6ae.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6af.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6b0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6b1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6b2.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6b3.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6b4-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6b4-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6b4-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6b4-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6b4-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6b4.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6b5-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6b5-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6b5-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6b5-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6b5-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6b5.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6b6-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6b6-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6b6-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6b6-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6b6-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6b6.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6b7.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6b8.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f6b9.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6ba.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6bb.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6bc.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6bd.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6be.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f6bf.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6c0-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6c0-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6c0-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6c0-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f6c0-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6c0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6c1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6c2.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6c3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6c4.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6c5.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6cb.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6cc.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6cd.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6ce.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6cf.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6d0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6d1.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f6d2.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f6e0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6e1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6e2.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6e3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6e4.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6e5.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6e9.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6eb.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6ec.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6f0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f6f3.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f6f4.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f6f5.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f6f6.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f910.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f911.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f912.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f913.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f914.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f915.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/1f916.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f917.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f918-1f3fb.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f918-1f3fc.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f918-1f3fd.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f918-1f3fe.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f918-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f918.svg | 2 +- .../jsxc/lib/emojione/assets/svg/1f919-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f919-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f919-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f919-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f919-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f919.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91a-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91a-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91a-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91a-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91a-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f91a.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91b-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91b-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91b-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91b-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91b-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f91b.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91c-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91c-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91c-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91c-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91c-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f91c.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91d-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91d-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91d-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91d-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91d-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f91d.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91e-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91e-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91e-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91e-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f91e-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f91e.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f920.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f921.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f922.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f923.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f924.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f925.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f926-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f926-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f926-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f926-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f926-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f926.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f927.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f930-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f930-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f930-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f930-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f930-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f930.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f933-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f933-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f933-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f933-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f933-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f933.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f934-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f934-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f934-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f934-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f934-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f934.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f935-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f935-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f935-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f935-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f935-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f935.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f936-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f936-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f936-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f936-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f936-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f936.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f937-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f937-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f937-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f937-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f937-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f937.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f938-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f938-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f938-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f938-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f938-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f938.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f939-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f939-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f939-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f939-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f939-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f939.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f93a.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f93c-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f93c-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f93c-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f93c-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f93c-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f93c.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f93d-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f93d-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f93d-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f93d-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f93d-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f93d.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f93e-1f3fb.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f93e-1f3fc.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f93e-1f3fd.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f93e-1f3fe.svg | 1 + .../jsxc/lib/emojione/assets/svg/1f93e-1f3ff.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f93e.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f940.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f941.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f942.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f943.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f944.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f945.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f947.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f948.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f949.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f94a.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f94b.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f950.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f951.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f952.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f953.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f954.svg | 2 + build/js/jsxc/lib/emojione/assets/svg/1f955.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f956.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f957.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f958.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f959.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f95a.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f95b.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f95c.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f95d.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f95e.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f980.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f981.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f982.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f983.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f984.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/1f985.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f986.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f987.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f988.svg | 2 + build/js/jsxc/lib/emojione/assets/svg/1f989.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f98a.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f98b.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f98c.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f98d.svg | 2 + build/js/jsxc/lib/emojione/assets/svg/1f98e.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f98f.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f990.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f991.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/1f9c0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/203c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2049.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2122.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2139.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2194.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2195.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2196.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2197.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2198.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2199.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/21a9.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/21aa.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/231a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/231b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2328.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/23cf.svg | 1 + build/js/jsxc/lib/emojione/assets/svg/23e9.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/23ea.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/23eb.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/23ec.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/23ed.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/23ee.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/23ef.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/23f0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/23f1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/23f2.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/23f3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/23f8.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/23f9.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/23fa.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/24c2.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/25aa.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/25ab.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/25b6.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/25c0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/25fb.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/25fc.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/25fd.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/25fe.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2600.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2601.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2602.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2603.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/2604.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/260e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2611.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2614.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2615.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2618.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/261d-1f3fb.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/261d-1f3fc.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/261d-1f3fd.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/261d-1f3fe.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/261d-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/261d.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/2620.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2622.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2623.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2626.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/262a.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/262e.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/262f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2638.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2639.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/263a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2648.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2649.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/264a.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/264b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/264c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/264d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/264e.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/264f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2650.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2651.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2652.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2653.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2660.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/2663.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2665.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/2666.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2668.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/267b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/267f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2692.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2693.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/2694.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/2696.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2697.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2699.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/269b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/269c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26a0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26a1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26aa.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26ab.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26b0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26b1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26bd.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26be.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26c4.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26c5.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26c8.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26ce.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26cf.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26d1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26d3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26d4.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26e9.svg | 5 +- build/js/jsxc/lib/emojione/assets/svg/26ea.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26f0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26f1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26f2.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26f3.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26f4.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26f5.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26f7.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26f8.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/26f9-1f3fb.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/26f9-1f3fc.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/26f9-1f3fd.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/26f9-1f3fe.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/26f9-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26f9.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26fa.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/26fd.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2702.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2705.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2708.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2709.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270a-1f3fb.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270a-1f3fc.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270a-1f3fd.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270a-1f3fe.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270a-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/270a.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270b-1f3fb.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270b-1f3fc.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270b-1f3fd.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270b-1f3fe.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270b-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/270b.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270c-1f3fb.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270c-1f3fc.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270c-1f3fd.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270c-1f3fe.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270c-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/270c.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270d-1f3fb.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270d-1f3fc.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270d-1f3fd.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270d-1f3fe.svg | 2 +- .../js/jsxc/lib/emojione/assets/svg/270d-1f3ff.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/270d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/270f.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2712.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/2714.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2716.svg | 5 +- build/js/jsxc/lib/emojione/assets/svg/271d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2721.svg | 5 +- build/js/jsxc/lib/emojione/assets/svg/2728.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2733.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2734.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2744.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2747.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/274c.svg | 5 +- build/js/jsxc/lib/emojione/assets/svg/274e.svg | 3 +- build/js/jsxc/lib/emojione/assets/svg/2753.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2754.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2755.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2757.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2763.svg | 4 +- build/js/jsxc/lib/emojione/assets/svg/2764.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2795.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2796.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2797.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/27a1.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/27b0.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/27bf.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2934.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2935.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2b05.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2b06.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2b07.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2b1b.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2b1c.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2b50.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/2b55.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/3030.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/303d.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/3297.svg | 2 +- build/js/jsxc/lib/emojione/assets/svg/3299.svg | 2 +- build/js/jsxc/lib/emojione/lib/js/emojione.js | 152 +- build/js/jsxc/lib/emojione/lib/js/emojione.min.js | 14 +- build/js/jsxc/lib/i18next/i18next.min.js | 2 + .../jsxc/lib/i18next/release/i18next-latest.min.js | 5 - .../jsxc/lib/jquery-i18next/jquery-i18next.min.js | 1 + build/js/jsxc/lib/jsxc.dep.js | 46919 +++++++++++-------- build/js/jsxc/lib/jsxc.dep.min.js | 139 +- build/js/jsxc/lib/jsxc.dep.min.js.map | 2 +- .../magnific-popup/dist/jquery.magnific-popup.js | 334 +- .../dist/jquery.magnific-popup.min.js | 6 +- build/js/jsxc/lib/strophe.chatstates/index.js | 80 + .../strophe.jinglejs/strophe.jinglejs-bundle.js | 45952 ++++++++++-------- build/js/jsxc/lib/strophe.js/strophe.js | 1741 +- build/js/jsxc/lib/translation.js | 2 +- build/js/ojsxc.js | 19 +- build/settings.php | 3 + build/templates/settings.php | 80 +- js/jsxc | 2 +- package.json | 2 +- 1867 files changed, 65082 insertions(+), 46665 deletions(-) create mode 100644 build/js/jsxc/img/bell.svg create mode 100644 build/js/jsxc/img/composing.png create mode 100644 build/js/jsxc/img/download_icon_black.svg create mode 100644 build/js/jsxc/img/download_icon_gray.svg create mode 100644 build/js/jsxc/img/download_icon_white.svg create mode 100644 build/js/jsxc/img/emotions/nextcloud.svg create mode 100644 build/js/jsxc/img/megaphone_icon_black.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/0023.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/002a.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/0030.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/0031.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/0032.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/0033.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/0034.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/0035.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/0036.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/0037.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/0038.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/0039.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1e6.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1e7.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1e8.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1e9.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1ea.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1eb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1ec.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1ed.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1ee.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1ef.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1f0.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1f1.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1f2.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1f3.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1f4.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1f5.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1f6.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1f7.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1f8.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1f9.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1fa.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f1ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f3f3-1f308.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f57a-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f57a-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f57a-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f57a-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f57a-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f57a.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f5a4.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f5e8.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f6d1.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f6d2.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f6f4.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f6f5.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f6f6.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f919-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f919-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f919-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f919-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f919-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f919.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91a-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91a-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91a-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91a-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91a-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91a.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91b-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91b-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91b-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91b-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91b-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91b.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91c-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91c-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91c-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91c-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91c-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91c.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91d-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91d-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91d-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91d-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91d-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91d.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91e-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91e-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91e-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91e-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91e-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f91e.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f920.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f921.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f922.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f923.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f924.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f925.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f926-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f926-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f926-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f926-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f926-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f926.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f927.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f930-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f930-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f930-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f930-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f930-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f930.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f933-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f933-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f933-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f933-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f933-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f933.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f934-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f934-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f934-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f934-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f934-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f934.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f935-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f935-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f935-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f935-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f935-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f935.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f936-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f936-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f936-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f936-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f936-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f936.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f937-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f937-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f937-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f937-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f937-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f937.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f938-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f938-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f938-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f938-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f938-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f938.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f939-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f939-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f939-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f939-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f939-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f939.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93a.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93c-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93c-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93c-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93c-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93c-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93c.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93d-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93d-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93d-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93d-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93d-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93d.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93e-1f3fb.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93e-1f3fc.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93e-1f3fd.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93e-1f3fe.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93e-1f3ff.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f93e.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f940.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f941.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f942.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f943.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f944.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f945.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f947.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f948.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f949.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f94a.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f94b.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f950.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f951.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f952.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f953.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f954.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f955.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f956.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f957.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f958.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f959.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f95a.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f95b.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f95c.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f95d.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f95e.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f985.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f986.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f987.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f988.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f989.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f98a.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f98b.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f98c.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f98d.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f98e.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f98f.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f990.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/1f991.svg create mode 100644 build/js/jsxc/lib/emojione/assets/svg/23cf.svg create mode 100644 build/js/jsxc/lib/i18next/i18next.min.js delete mode 100644 build/js/jsxc/lib/i18next/release/i18next-latest.min.js create mode 100644 build/js/jsxc/lib/jquery-i18next/jquery-i18next.min.js create mode 100644 build/js/jsxc/lib/strophe.chatstates/index.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 949492a..af942b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## [Unreleased] +### Added +- add option to use user email as jid + +### Fixed +- fix untrimmed settings +- ignore empty webrtc configuration +- do not start jsxc inside a frame + ## 3.0.2 - 2016-12-23 ### Changed - rebrand from owncloud to nextcloud diff --git a/appinfo/info.xml b/appinfo/info.xml index faaa9b3..d3cacd4 100755 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -5,7 +5,7 @@ JavaScript XMPP Chat Facebook-like chat Facebook-like chat with end-to-end encrypted conversation, video calls, multi-user rooms, XMPP and internal server backend. - 3.0.2 + 3.1.0-beta agpl Klaus Herberth Tobia De Koninck diff --git a/build/ajax/getSettings.php b/build/ajax/getSettings.php index e638a20..4a03d39 100644 --- a/build/ajax/getSettings.php +++ b/build/ajax/getSettings.php @@ -39,12 +39,27 @@ if ($data ['serverType'] === 'internal') { exit; } +$data ['screenMediaExtension']['firefox'] = trim($config->getAppValue('ojsxc', 'firefoxExtension')); +$data ['screenMediaExtension']['chrome'] = trim($config->getAppValue('ojsxc', 'chromeExtension')); + $data ['xmpp'] ['url'] = trim($config->getAppValue('ojsxc', 'boshUrl')); $data ['xmpp'] ['domain'] = trim($config->getAppValue('ojsxc', 'xmppDomain')); $data ['xmpp'] ['resource'] = trim($config->getAppValue('ojsxc', 'xmppResource')); $data ['xmpp'] ['overwrite'] = validateBoolean($config->getAppValue('ojsxc', 'xmppOverwrite')); $data ['xmpp'] ['onlogin'] = true; +if (validateBoolean($config->getAppValue('ojsxc', 'xmppPreferMail'))) { + $mail = $config->getUserValue($username,'settings','email'); + + if ($mail !== null) { + list($u, $d) = explode("@", $mail, 2); + if ($d !== null && $d !== "") { + $data ['xmpp'] ['username'] = $u; + $data ['xmpp'] ['domain'] = $d; + } + } +} + $options = $config->getUserValue($username, 'ojsxc', 'options'); if ($options !== null) { diff --git a/build/ajax/getUsers.php b/build/ajax/getUsers.php index 1c4b258..5b5790b 100644 --- a/build/ajax/getUsers.php +++ b/build/ajax/getUsers.php @@ -8,6 +8,27 @@ header('Content-Type: application/json; charset=utf-8'); $limit = 10; $offset = 0; -$users = OCP\User::getDisplayNames((string) $_GET['search'], $limit, $offset); +$config = \OC::$server->getConfig(); +$preferMail = $config->getAppValue('ojsxc', 'xmppPreferMail'); +$preferMail = $preferMail === true || $preferMail === 'true'; -echo json_encode($users); +$userManager = \OC::$server->getUserManager(); +$users = $userManager->searchDisplayName((string) $_GET['search'], $limit, $offset); +$response = array(); + +foreach($users as $user) { + $uid = $user->getUID(); + $index = $uid; + + if ($preferMail) { + $mail = OCP\Config::getUserValue($uid, 'settings', 'email'); + + if (!empty($mail)) { + $index = $mail; + } + } + + $response[$index] = $user->getDisplayName(); +} + +echo json_encode($response); diff --git a/build/ajax/setAdminSettings.php b/build/ajax/setAdminSettings.php index d327e72..7a098f1 100644 --- a/build/ajax/setAdminSettings.php +++ b/build/ajax/setAdminSettings.php @@ -11,6 +11,7 @@ $config->setAppValue('ojsxc', 'xmppDomain', trim($_POST ['xmppDomain'])); $config->setAppValue('ojsxc', 'xmppResource', trim($_POST ['xmppResource'])); $config->setAppValue('ojsxc', 'xmppOverwrite', (isset($_POST ['xmppOverwrite'])) ? $_POST ['xmppOverwrite'] : 'false'); $config->setAppValue('ojsxc', 'xmppStartMinimized', (isset($_POST ['xmppStartMinimized'])) ? $_POST ['xmppStartMinimized'] : 'false'); +$config->setAppValue('ojsxc', 'xmppPreferMail', (isset($_POST ['xmppPreferMail'])) ? $_POST ['xmppPreferMail'] : 'false'); $config->setAppValue('ojsxc', 'iceUrl', trim($_POST ['iceUrl'])); $config->setAppValue('ojsxc', 'iceUsername', trim($_POST ['iceUsername'])); @@ -18,4 +19,7 @@ $config->setAppValue('ojsxc', 'iceCredential', $_POST ['iceCredential']); $config->setAppValue('ojsxc', 'iceSecret', $_POST ['iceSecret']); $config->setAppValue('ojsxc', 'iceTtl', $_POST ['iceTtl']); +$config->setAppValue('ojsxc', 'firefoxExtension', $_POST ['firefoxExtension']); +$config->setAppValue('ojsxc', 'chromeExtension', $_POST ['chromeExtension']); + echo 'true'; diff --git a/build/appinfo/info.xml b/build/appinfo/info.xml index faaa9b3..d3cacd4 100644 --- a/build/appinfo/info.xml +++ b/build/appinfo/info.xml @@ -5,7 +5,7 @@ JavaScript XMPP Chat Facebook-like chat Facebook-like chat with end-to-end encrypted conversation, video calls, multi-user rooms, XMPP and internal server backend. - 3.0.2 + 3.1.0-beta agpl Klaus Herberth Tobia De Koninck diff --git a/build/css/jsxc.oc.css b/build/css/jsxc.oc.css index 49d1c5f..3be492e 100644 --- a/build/css/jsxc.oc.css +++ b/build/css/jsxc.oc.css @@ -1,13 +1,13 @@ /*! - * ojsxc v3.0.2+appstore - 2016-12-27 + * ojsxc v3.1.0-beta - 2017-01-23 * - * Copyright (c) 2016 Klaus Herberth
+ * Copyright (c) 2017 Klaus Herberth
* Released under the MIT license * * Please see http://www.jsxc.org/ * * @author Klaus Herberth - * @version 3.0.2+appstore + * @version 3.1.0-beta * @license MIT */ @@ -219,8 +219,7 @@ overflow: hidden; position: fixed; background: #0b0b0b; - opacity: 0.8; - filter: alpha(opacity=80); } + opacity: 0.8; } .mfp-wrap { top: 0; @@ -324,7 +323,9 @@ button.mfp-arrow { outline: none; padding: 0; z-index: 1046; - box-shadow: none; } + box-shadow: none; + -ms-touch-action: manipulation; + touch-action: manipulation; } button::-moz-focus-inner { padding: 0; @@ -340,7 +341,6 @@ button::-moz-focus-inner { text-decoration: none; text-align: center; opacity: 0.65; - filter: alpha(opacity=65); padding: 0 0 18px 10px; color: #FFF; font-style: normal; @@ -348,8 +348,7 @@ button::-moz-focus-inner { font-family: Arial, Baskerville, monospace; } .mfp-close:hover, .mfp-close:focus { - opacity: 1; - filter: alpha(opacity=100); } + opacity: 1; } .mfp-close:active { top: 1px; } @@ -376,7 +375,6 @@ button::-moz-focus-inner { .mfp-arrow { position: absolute; opacity: 0.65; - filter: alpha(opacity=65); margin: 0; top: 50%; margin-top: -55px; @@ -388,12 +386,9 @@ button::-moz-focus-inner { margin-top: -54px; } .mfp-arrow:hover, .mfp-arrow:focus { - opacity: 1; - filter: alpha(opacity=100); } + opacity: 1; } .mfp-arrow:before, - .mfp-arrow:after, - .mfp-arrow .mfp-b, - .mfp-arrow .mfp-a { + .mfp-arrow:after { content: ''; display: block; width: 0; @@ -404,36 +399,30 @@ button::-moz-focus-inner { margin-top: 35px; margin-left: 35px; border: medium inset transparent; } - .mfp-arrow:after, - .mfp-arrow .mfp-a { + .mfp-arrow:after { border-top-width: 13px; border-bottom-width: 13px; top: 8px; } - .mfp-arrow:before, - .mfp-arrow .mfp-b { + .mfp-arrow:before { border-top-width: 21px; border-bottom-width: 21px; opacity: 0.7; } .mfp-arrow-left { left: 0; } - .mfp-arrow-left:after, - .mfp-arrow-left .mfp-a { + .mfp-arrow-left:after { border-right: 17px solid #FFF; margin-left: 31px; } - .mfp-arrow-left:before, - .mfp-arrow-left .mfp-b { + .mfp-arrow-left:before { margin-left: 25px; border-right: 27px solid #3F3F3F; } .mfp-arrow-right { right: 0; } - .mfp-arrow-right:after, - .mfp-arrow-right .mfp-a { + .mfp-arrow-right:after { border-left: 17px solid #FFF; margin-left: 39px; } - .mfp-arrow-right:before, - .mfp-arrow-right .mfp-b { + .mfp-arrow-right:before { border-left: 27px solid #3F3F3F; } .mfp-iframe-holder { @@ -570,27 +559,6 @@ img.mfp-img { padding-left: 6px; padding-right: 6px; } } -.mfp-ie7 .mfp-img { - padding: 0; } - -.mfp-ie7 .mfp-bottom-bar { - width: 600px; - left: 50%; - margin-left: -300px; - margin-top: 5px; - padding-bottom: 5px; } - -.mfp-ie7 .mfp-container { - padding: 0; } - -.mfp-ie7 .mfp-content { - padding-top: 44px; } - -.mfp-ie7 .mfp-close { - top: 0; - right: 0; - padding-top: 0; } - .emojione { /* Emoji Sizing */ font-size: inherit; @@ -608,7 +576,6 @@ img.emojione { /* prevent img stretch */ width: auto; } -/* BEGIN: bootstrap */ @keyframes progress-bar-stripes { from { background-position: 40px 0; } @@ -2640,10 +2607,13 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { padding-top: 6px; } } #jsxc_dialog .progress, #jsxc_webrtc .progress { - margin-bottom: 0px; } + margin-bottom: 0; } #jsxc_dialog .progress .progress-bar, #jsxc_webrtc .progress .progress-bar { width: 100%; } +#jsxc_dialog .mfp-close, #jsxc_webrtc .mfp-close { + font-size: 23px; } + .mfp-bg { z-index: 9000; } @@ -2653,10 +2623,6 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { .mfp-content { text-align: center; } -#jsxc_dialog .mfp-close { - font-size: 23px; } - -/* END: bootstrap */ @-webkit-keyframes bounce { 0% { bottom: 0; @@ -2680,6 +2646,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { animation-timing-function: ease-in; } 100% { bottom: 0; } } + @keyframes bounce { 0% { bottom: 0; @@ -2735,7 +2702,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { width: 204px; z-index: 85; } #jsxc_buddylist .jsxc_unreadMsg .jsxc_name { - padding-right: 0px; } + padding-right: 0; } #jsxc_buddylist .jsxc_oneway .jsxc_avatar, #jsxc_buddylist .jsxc_oneway .jsxc_caption { opacity: 0.7; } #jsxc_buddylist .jsxc_right { @@ -2748,7 +2715,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { line-height: 20px; color: #fff; } #jsxc_buddylist .jsxc_right div:hover { - opacity: 1.0; } + opacity: 1; } #jsxc_buddylist .jsxc_more { margin-right: 6px; z-index: 10; @@ -2773,7 +2740,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { display: none; } .jsxc_online:before, .jsxc_chat:before, .jsxc_away:before, .jsxc_xa:before, .jsxc_dnd:before { - content: ' '; + content: " "; display: block; width: 12px; height: 12px; @@ -2819,6 +2786,14 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { background-size: contain; border: 0; vertical-align: bottom; } + .jsxc_emoticon.jsxc_large { + width: 40px; + height: 40px; + margin-bottom: 7px; } + +#jsxc_roster .jsxc_emoticon.jsxc_large { + width: 19px; + height: 19px; } .jsxc_angel { background: url('../js/jsxc/img/emotions/angel.png'); } @@ -2891,14 +2866,13 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { #jsxc_roster { position: fixed; - top: 0px; + top: 0; bottom: 0; right: 0; width: 200px; overflow: visible; border-left: 1px solid #e1e1e1; display: none; - /*border-left: 1px solid $roster_border_left;*/ z-index: 80; margin-left: 10px; background-color: whitesmoke; } @@ -2964,9 +2938,58 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { transform: rotate(0deg); } #jsxc_roster.jsxc_state_shown { display: block; - right: 0px; + right: 0; -webkit-transition: right 0.5s; transition: right 0.5s; } + #jsxc_roster > .jsxc_bottom { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + line-height: 34px; + background-color: #eeeeee; + z-index: 50; + padding-right: 4px; } + #jsxc_roster > .jsxc_bottom:hover { + background-color: #ddd; } + #jsxc_roster > .jsxc_bottom .jsxc_inner { + width: 100%; } + #jsxc_roster > .jsxc_bottom ul { + padding: 0; + margin: 0; + width: 100%; + border-top: 1px solid transparent; + background-color: #eeeeee; } + #jsxc_roster > .jsxc_bottom ul li:last-child { + border-bottom: 1px solid transparent; } + #jsxc_roster > .jsxc_bottom li { + height: 44px; + background-color: #eeeeee; + color: #000; + cursor: pointer; + width: 100%; + padding-left: 44px; + line-height: 44px; + text-align: left; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + background-repeat: no-repeat; + background-position: 15px center; + background-size: 16px 16px; + opacity: 0.8; } + #jsxc_roster > .jsxc_bottom li.jsxc_disabled { + color: #333333; + cursor: default; } + #jsxc_roster > .jsxc_bottom li:hover:not(.jsxc_disabled) { + color: #000; + background-color: #ddd; } + #jsxc_roster > .jsxc_bottom li.jsxc_warning { + background-color: #f5e876; } + #jsxc_roster > .jsxc_bottom li.jsxc_warning:hover { + background-color: #f2e35d; } + #jsxc_roster > .jsxc_bottom > div > span { + cursor: pointer; } #jsxc_toggleRoster { width: 14px; @@ -2980,12 +3003,12 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { #jsxc_toggleRoster:hover { background-color: rgba(153, 153, 153, 0.5); } #jsxc_toggleRoster:before { - content: ''; + content: " "; position: absolute; display: block; width: 0; top: 50%; - right: 0px; + right: 0; border-style: solid; border-width: 6px 4px 6px 0; border-color: transparent whitesmoke; @@ -3024,7 +3047,6 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { padding-right: 30px; height: 100%; line-height: 100%; - /*padding-top: 4px;*/ box-sizing: border-box; } .jsxc_caption * { cursor: pointer; } @@ -3071,57 +3093,6 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { .jsxc_caption .jsxc_lastmsg .jsxc_emoticon { vertical-align: middle; } -#jsxc_roster > .jsxc_bottom { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - line-height: 34px; - background-color: #eeeeee; - z-index: 50; - padding-right: 4px; } - #jsxc_roster > .jsxc_bottom:hover { - background-color: #ddd; } - #jsxc_roster > .jsxc_bottom .jsxc_inner { - width: 100%; } - #jsxc_roster > .jsxc_bottom ul { - padding: 0; - margin: 0; - width: 100%; - border-top: 1px solid transparent; - background-color: #eeeeee; - margin: 0; } - #jsxc_roster > .jsxc_bottom ul li:last-child { - border-bottom: 1px solid transparent; } - #jsxc_roster > .jsxc_bottom li { - height: 44px; - background-color: #eeeeee; - color: #000; - cursor: pointer; - width: 100%; - padding-left: 44px; - line-height: 44px; - text-align: left; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - background-repeat: no-repeat; - background-position: 15px center; - background-size: 16px 16px; - opacity: 0.8; } - #jsxc_roster > .jsxc_bottom li.jsxc_disabled { - color: #333333; - cursor: default; } - #jsxc_roster > .jsxc_bottom li:hover:not(.jsxc_disabled) { - color: #000; - background-color: #ddd; } - -#jsxc_roster > .jsxc_bottom > div > span { - cursor: pointer; } - -#jsxc_roster > .jsxc_bottom > div:hover { - /*color: $roster_bottom_color_hover;*/ } - #jsxc_avatar { cursor: default !important; } @@ -3134,7 +3105,6 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { #jsxc_presence li { position: relative; } #jsxc_presence li:before { - /** Presence indicator */ position: absolute; top: 50%; left: 10px; @@ -3224,8 +3194,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { #jsxc_windowList > ul > li.jsxc_min { -webkit-transition: width 0.2s; transition: width 0.2s; - width: 46px !important; - /* overwrite resizeable width */ } + width: 46px !important; } @media (min-width: 768px) { #jsxc_windowList > ul > li.jsxc_min { width: 200px !important; } } @@ -3311,7 +3280,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { left: 0; cursor: pointer; } .jsxc_window .jsxc_emoticons:after { - content: ' '; + content: " "; background-image: url('../js/jsxc/img/smiley.svg'); background-position: center center; background-repeat: no-repeat; @@ -3334,7 +3303,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { padding: 3px; position: relative; } .jsxc_window .jsxc_emoticons ul:after { - content: ''; + content: " "; position: absolute; border-left: 8px solid transparent; border-right: 8px solid transparent; @@ -3381,7 +3350,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { height: 44px; width: 44px; } .jsxc_window .jsxc_fade .jsxc_overlay > div .jsxc_close:after { - content: '×'; + content: "×"; position: absolute; top: 4px; right: 4px; @@ -3413,30 +3382,33 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { overflow: hidden; padding: 3px; } .jsxc_window .slimScrollDiv { - margin: 0 0 6px 0; + margin: 0 0 6px; left: auto !important; top: auto !important; } - .jsxc_window input.jsxc_textinput { + .jsxc_window textarea.jsxc_textinput { width: 100%; height: 44px; margin: 0; - padding: 3px; - padding-left: 40px; - padding-right: 40px; + padding: 14px 40px 12px; outline: none; border-radius: 0; box-sizing: border-box; - border: 0; } - .jsxc_window input::-webkit-input-placeholder { + border: 0; + display: block; + resize: none; + -webkit-transition: height 0.5s; + transition: height 0.5s; + font-size: 13px; } + .jsxc_window textarea::-webkit-input-placeholder { color: #000; opacity: 0.3; } - .jsxc_window input::-moz-placeholder { + .jsxc_window textarea::-moz-placeholder { color: #000; opacity: 0.3; } - .jsxc_window input:-ms-input-placeholder { + .jsxc_window textarea:-ms-input-placeholder { color: #000; opacity: 0.3; } - .jsxc_window input::placeholder { + .jsxc_window textarea::placeholder { color: #000; opacity: 0.3; } .jsxc_window .jsxc_tools { @@ -3456,12 +3428,12 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { cursor: pointer; text-align: center; } .jsxc_window .jsxc_tools > div.jsxc_settings { - opacity: 1.0; } + opacity: 1; } .jsxc_window .jsxc_close { font-size: 20px; } .jsxc_window .jsxc_close:hover { color: #fff; - opacity: 1.0; } + opacity: 1; } .jsxc_window .jsxc_more { background-image: url('../js/jsxc/img/more_white.svg'); opacity: 0.4; } @@ -3490,10 +3462,40 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { position: relative; outline: none; clear: both; } + .jsxc_chatmessage.jsxc_error { + opacity: 0.7; } + .jsxc_chatmessage.jsxc_error:before { + content: " "; + position: absolute; + top: 3px; + right: 3px; + width: 8px; + height: 8px; + background-color: yellow; } .jsxc_chatmessage a { color: #00f; text-decoration: underline; - display: inline-block; } + display: inline-block; + max-width: 100%; + position: relative; } + .jsxc_chatmessage a[download]:before { + content: " "; + position: absolute; + top: 0; + right: 0; + bottom: 5px; + left: 0; + border-radius: 3px; + background-color: rgba(255, 255, 255, 0.7); + background-image: url("../img/download_icon_black.svg"); + background-size: contain; + background-position: center center; + background-repeat: no-repeat; + opacity: 0; + -webkit-transition: opacity 0.5s; + transition: opacity 0.5s; } + .jsxc_chatmessage a[download]:hover:before { + opacity: 0.6; } .jsxc_chatmessage img { max-width: 100%; } .jsxc_chatmessage .jsxc_avatar { @@ -3512,9 +3514,10 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { .jsxc_chatmessage .jsxc_attachment img { border-radius: 3px; } .jsxc_chatmessage .jsxc_attachment.jsxc_image { - line-height: 0px; + line-height: 0; padding: 0; - background-image: url(); } + background-image: url(""); + display: inline-block; } .jsxc_chatmessage .jsxc_attachment.jsxc_application { background-image: url('../js/jsxc/img/filetypes/application.svg'); } .jsxc_chatmessage .jsxc_attachment.jsxc_application-pdf { @@ -3522,7 +3525,8 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { .jsxc_chatmessage .jsxc_attachment.jsxc_audio { background-image: url('../js/jsxc/img/filetypes/audio.svg'); } .jsxc_chatmessage .jsxc_attachment.jsxc_video { - background-image: url('../js/jsxc/img/filetypes/video.svg'); } + background-image: url('../js/jsxc/img/filetypes/video.svg'); + opacity: 1; } .jsxc_chatmessage .jsxc_attachment.jsxc_text { background-image: url('../js/jsxc/img/filetypes/text.svg'); } @@ -3557,7 +3561,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { border-radius: 3px; background-color: #DBEDFF; } .jsxc_in:after { - content: ' '; + content: " "; position: absolute; border-style: solid; border-width: 5px 6px 5px 0; @@ -3579,7 +3583,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { border-radius: 3px; background-color: #e6ffd1; } .jsxc_out:after { - content: ' '; + content: " "; position: absolute; border-style: solid; border-width: 5px 0 5px 6px; @@ -3590,7 +3594,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { right: -6px; bottom: 10px; } .jsxc_out.jsxc_received:before { - content: '✓'; + content: "✓"; position: absolute; bottom: 2px; right: 2px; @@ -3608,7 +3612,34 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { padding-right: 4px; box-sizing: border-box; margin-right: 3px; - border-radius: 3px; } + border-radius: 3px; + background-color: transparent; + font-size: 0.8em; + font-style: italic; } + .jsxc_sys .jsxc_emoticon { + width: 1.2em; + height: 1.2em; + vertical-align: middle; } + .jsxc_sys.jsxc_composing { + text-align: center; + font-size: 0.9em; + font-style: italic; + display: block; + opacity: 0; + overflow: hidden; + -webkit-transition: opacity 0.6s; + transition: opacity 0.6s; } + .jsxc_sys.jsxc_composing:before { + content: " "; + width: 1.5em; + height: 1em; + display: inline-block; + background-size: 80%; + background-repeat: no-repeat; + margin: 0 3px 0 0; + background-image: url('../js/jsxc/img/composing.png'); } + .jsxc_sys.jsxc_composing.jsxc_fadein { + opacity: 1; } div.jsxc_settings { position: relative; } @@ -3630,22 +3661,22 @@ div.jsxc_transfer { right: 0; cursor: pointer; } div.jsxc_transfer:hover { - opacity: 1.0; } + opacity: 1; } div.jsxc_transfer.jsxc_disabled { background-image: url('../js/jsxc/img/padlock_open_disabled_black.svg'); cursor: default; } div.jsxc_transfer.jsxc_disabled:hover { opacity: 0.3; } div.jsxc_transfer.jsxc_fin { - opacity: 1.0; + opacity: 1; background-image: url('../js/jsxc/img/padlock_close_grey.svg'); } div.jsxc_transfer.jsxc_enc { - opacity: 1.0; + opacity: 1; background-image: url('../js/jsxc/img/padlock_close_orange.svg'); } div.jsxc_transfer.jsxc_enc.jsxc_trust { background-image: url('../js/jsxc/img/padlock_close_green.svg'); } -.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_bar .jsxc_avatar, li[data-type="groupchat"] .jsxc_avatar { +.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_bar .jsxc_avatar, li[data-type='groupchat'] .jsxc_avatar { text-indent: 999px; background-image: url('../js/jsxc/img/group_white.svg'); background-size: 70% 70% !important; @@ -3663,14 +3694,14 @@ div.jsxc_transfer { background-repeat: no-repeat; background-position: center; } .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_members:hover { - opacity: 1.0; } + opacity: 1; } .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_chatmessage.jsxc_in { margin-left: 50px; } .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_chatmessage.jsxc_in .jsxc_avatar { display: block; position: absolute; - bottom: 0px; + bottom: 0; left: -50px; background-color: #777; } .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_chatmessage.jsxc_in .jsxc_avatar:before { @@ -3682,7 +3713,7 @@ div.jsxc_transfer { background-color: #1d2d44; overflow: hidden; position: absolute; - top: 0px; + top: 0; -webkit-transition: height 400ms; transition: height 400ms; z-index: 100; } @@ -3694,7 +3725,7 @@ div.jsxc_transfer { overflow: hidden; -webkit-transition: left 400ms; transition: left 400ms; - padding: 0px; + padding: 0; padding-left: 6px; padding-right: 6px; padding-top: 3px; } @@ -3707,7 +3738,7 @@ div.jsxc_transfer { display: none; } .jsxc_windowItem .jsxc_memberlist ul > li .jsxc_avatar { margin-left: 2px; - margin-right: 0px; } + margin-right: 0; } .jsxc_windowItem .jsxc_memberlist.jsxc_expand ul { white-space: normal; } .jsxc_windowItem .jsxc_memberlist.jsxc_expand ul > li { @@ -3723,7 +3754,7 @@ div.jsxc_transfer { .jsxc_windowItem .jsxc_memberlist.jsxc_expand ul > li .jsxc_avatar { margin-right: 4px; } -li[data-type="groupchat"] .jsxc_video { +li[data-type='groupchat'] .jsxc_video { display: none; } .jsxc_right { @@ -3753,6 +3784,10 @@ li[data-type="groupchat"] .jsxc_video { .jsxc_maxWidth { max-width: 500px; } +.jsxc_meta { + text-align: right; + font-style: italic; } + #jsxc_dialog { padding: 20px; min-width: 320px; @@ -3761,8 +3796,7 @@ li[data-type="groupchat"] .jsxc_video { text-align: left; position: relative; background: #FFF; - width: auto; - border-radius: 5px; } + width: auto; } #jsxc_dialog * { box-sizing: border-box; } #jsxc_dialog ul { @@ -3778,8 +3812,10 @@ li[data-type="groupchat"] .jsxc_video { margin-bottom: 5px; width: 60%; outline: none; } - #jsxc_dialog p input[type="submit"] { + #jsxc_dialog p input[type='submit'] { width: auto; } + #jsxc_dialog table { + margin-bottom: 1em; } #jsxc_dialog hr { border: 0; border-top: 1px solid #eee; @@ -3792,20 +3828,16 @@ li[data-type="groupchat"] .jsxc_video { margin-top: 20px; } #jsxc_dialog .jsxc_right { margin-top: 20px; } - #jsxc_dialog form { - /*&.col-sm-6:nth-child(odd) { - clear: left; - }*/ } - #jsxc_dialog form fieldset { - margin-bottom: 30px; - padding: 0px 30px; - border: 1px solid #d9d9d9; } - #jsxc_dialog form fieldset h3 { - font-size: 15px; - color: #000; - background-color: #f2f2f2; - padding: 10px; - margin: 0 -30px 10px -30px; } + #jsxc_dialog form fieldset { + margin-bottom: 30px; + padding: 0 30px; + border: 1px solid #d9d9d9; } + #jsxc_dialog form fieldset h3 { + font-size: 15px; + color: #000; + background-color: #f2f2f2; + padding: 10px; + margin: 0 -30px 10px; } #jsxc_dialog legend { border: 0; font-size: 20px; } @@ -3818,9 +3850,9 @@ li[data-type="groupchat"] .jsxc_video { #jsxc_dialog input[readonly] { background-color: #e6e6e6; } #jsxc_dialog .jsxc_inputinfo { - padding-left: 30%; + padding: 0; font-style: italic; - margin-top: -1em; } + margin: 0; } #jsxc_dialog .jsxc_waiting:before { content: " "; width: 1em; @@ -3831,12 +3863,17 @@ li[data-type="groupchat"] .jsxc_video { background-image: url('../js/jsxc/img/loading.gif'); } #jsxc_dialog .jsxc_libraries, #jsxc_dialog .jsxc_credits { max-width: 300px; } + #jsxc_dialog .jsxc_warning { + display: block; + background-color: #fbfe7a; + padding: 3px 10px; + border-radius: 3px; } .jsxc_avatar { width: 36px; height: 36px; line-height: 36px; - margin: 0px 5px; + margin: 0 5px; background-color: #999999; border-radius: 50%; float: left; @@ -3868,7 +3905,6 @@ ul.jsxc_vCard { ul.jsxc_vCard li { cursor: default !important; } -/** Spot which is attached to xmpp: uris */ .jsxc_spot { display: inline-block; width: 12px; @@ -3904,7 +3940,6 @@ ul.jsxc_vCard { margin-right: 3px; margin-top: 4px; } -/** TODO: check if required */ .jsxc_list .jsxc_inner { box-sizing: border-box; max-height: 0; @@ -3932,8 +3967,7 @@ ul.jsxc_vCard { background-size: 32px 32px !important; background: url('../js/jsxc/img/loading.gif'); } -/* @TODO: check */ -#jsxc_loginForm input[type="submit"] { +#jsxc_loginForm input[type='submit'] { height: 34px; display: inline-block; padding: 6px 12px; @@ -3981,7 +4015,7 @@ img.jsxc_vCard { min-width: 25px; display: inline-block; padding: 6px 12px; - margin: 0px 2px; + margin: 0 2px; font-size: 14px; font-weight: 400; line-height: 1.42857143; @@ -3995,15 +4029,21 @@ img.jsxc_vCard { user-select: none; background-image: none; border: 1px solid transparent; - border-radius: 4px; } + border-radius: 4px; + -webkit-transition: background-color 0.5s; + transition: background-color 0.5s; } .jsxc_btn.jsxc_btn-default { border-color: #ccc; color: #555; background-color: rgba(240, 240, 240, 0.9); } + .jsxc_btn.jsxc_btn-default:hover { + background-color: #d6d6d6; } .jsxc_btn.jsxc_btn-primary { color: #fff; background-color: #337ab7; border-color: #2e6da4; } + .jsxc_btn.jsxc_btn-primary:hover { + background-color: #296496; } .jsxc_btn[disabled], .jsxc_btn[disabled]:hover { opacity: 0.65; cursor: not-allowed; @@ -4016,12 +4056,12 @@ img.jsxc_vCard { position: absolute; background-color: #FFF; color: #333; - border-radius: 3px 3px 3px 3px; + border-radius: 3px; z-index: 110; margin: 8px 2px 5px 10px; - right: 0px; - -webkit-filter: drop-shadow(0px 0px 5px rgba(150, 150, 150, 0.75)); - filter: drop-shadow(0px 0px 5px rgba(150, 150, 150, 0.75)); + right: 0; + -webkit-filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75)); + filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75)); padding: 4px 12px; padding-left: 5px; } .jsxc_menu:after { @@ -4051,7 +4091,7 @@ img.jsxc_vCard { white-space: nowrap; } .jsxc_menu a:hover { text-decoration: none; - opacity: 1.0; } + opacity: 1; } .jsxc_menu a.jsxc_disabled { text-decoration: line-through; opacity: 0.5; } @@ -4100,6 +4140,9 @@ img.jsxc_vCard { .jsxc_bookmarkicon { background-image: url('../js/jsxc/img/bookmark_black.svg'); } +.jsxc_announcementicon { + background-image: url('../js/jsxc/img/megaphone_icon_black.svg'); } + .jsxc_more { float: right; width: 44px; @@ -4110,7 +4153,7 @@ img.jsxc_vCard { background-position: center; opacity: 0.4; } .jsxc_more:hover { - opacity: 1.0; } + opacity: 1; } @media (min-width: 768px) { .jsxc_more { width: 25px; } } @@ -4151,13 +4194,207 @@ img.jsxc_vCard { #jsxc_webrtc li .jsxc_name:hover { color: #bbb; } +.jsxc_establishing:after, .jsxc_ringing:after { + content: " "; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: rgba(0, 0, 0, 0.4); + z-index: 10; } + +.jsxc_establishing:before { + content: " "; + display: block; + width: 40px; + height: 10px; + box-sizing: border-box; + background-color: #a1a1a1; + -webkit-animation-name: jsxc_establishing; + animation-name: jsxc_establishing; + -webkit-animation-duration: 2s; + animation-duration: 2s; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + position: absolute; + top: 50%; + left: 50%; + z-index: 20; + margin-left: -20px; + margin-top: -5px; } + +@-webkit-keyframes jsxc_establishing { + 0% { + border-width: 0; + background-color: #a1a1a1; + width: 40px; + margin-left: -20px; } + 50% { + background-color: #f1f1f1; + width: 80px; + margin-left: -40px; } + 100% { + border-width: 0; + background-color: #a1a1a1; + width: 40px; + margin-left: -20px; } } + +@keyframes jsxc_establishing { + 0% { + border-width: 0; + background-color: #a1a1a1; + width: 40px; + margin-left: -20px; } + 50% { + background-color: #f1f1f1; + width: 80px; + margin-left: -40px; } + 100% { + border-width: 0; + background-color: #a1a1a1; + width: 40px; + margin-left: -20px; } } + +.jsxc_ringing:before { + content: " "; + display: block; + width: 20px; + height: 20px; + box-sizing: border-box; + background-color: #98d48f; + border-radius: 50%; + -webkit-animation-name: jsxc_ringing; + animation-name: jsxc_ringing; + -webkit-animation-duration: 2s; + animation-duration: 2s; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + position: absolute; + top: 50%; + left: 50%; + z-index: 20; + margin-left: -10px; + margin-top: -10px; } + +@-webkit-keyframes jsxc_ringing { + 0% { + background-color: #98d48f; + width: 20px; + height: 20px; + margin-left: -10px; + margin-top: -10px; } + 50% { + background-color: #76ba6c; + width: 80px; + height: 80px; + margin-left: -40px; + margin-top: -40px; } + 100% { + background-color: #98d48f; + width: 20px; + height: 20px; + margin-left: -10px; + margin-top: -10px; } } + +@keyframes jsxc_ringing { + 0% { + background-color: #98d48f; + width: 20px; + height: 20px; + margin-left: -10px; + margin-top: -10px; } + 50% { + background-color: #76ba6c; + width: 80px; + height: 80px; + margin-left: -40px; + margin-top: -40px; } + 100% { + background-color: #98d48f; + width: 20px; + height: 20px; + margin-left: -10px; + margin-top: -10px; } } + +.jsxc_bell:before { + content: " "; + display: block; + width: 80px; + height: 80px; + box-sizing: border-box; + background-image: url('../js/jsxc/img/bell.svg'); + background-size: contain; + background-position: center; + background-repeat: no-repeat; + -webkit-animation-name: jsxc_ringing; + animation-name: jsxc_ringing; + -webkit-animation-duration: 1.5s; + animation-duration: 1.5s; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + position: absolute; + top: 50%; + left: 50%; + z-index: 20; + margin-left: -40px; + margin-top: -40px; } + +@-webkit-keyframes jsxc_bell { + 0% { + margin-left: -50px; } + 5% { + margin-left: -30px; } + 10% { + margin-left: -50px; } + 15% { + margin-left: -30px; } + 20% { + margin-left: -50px; } + 25% { + margin-left: -30px; } + 30% { + margin-left: -50px; } + 35% { + margin-left: -40px; } } + +@keyframes jsxc_bell { + 0% { + margin-left: -50px; } + 5% { + margin-left: -30px; } + 10% { + margin-left: -50px; } + 15% { + margin-left: -30px; } + 20% { + margin-left: -50px; } + 25% { + margin-left: -30px; } + 30% { + margin-left: -50px; } + 35% { + margin-left: -40px; } } + .jsxc_videoContainer { position: absolute; top: 0; left: 0; - right: 0px; - bottom: 0px; + right: 0; + bottom: 0; background-color: #999999; } + .jsxc_videoContainer.jsxc_minimized { + position: fixed; + top: 10px; + left: 10px; + right: auto; + bottom: auto; + z-index: 99; + background-color: transparent; + box-shadow: 0 0 10px #a1a1a1; } + .jsxc_videoContainer.jsxc_minimized .jsxc_localvideo { + position: static; + display: block; } .jsxc_videoContainer video { display: none; } .jsxc_videoContainer .jsxc_noRemoteVideo { @@ -4168,7 +4405,7 @@ img.jsxc_vCard { .jsxc_videoContainer .jsxc_controlbar { opacity: 0; } .jsxc_videoContainer:hover .jsxc_controlbar { - opacity: 1.0; } } + opacity: 1; } } .jsxc_noRemoteVideo p { position: absolute; @@ -4213,7 +4450,7 @@ img.jsxc_vCard { bottom: 10px; z-index: 9990; background-color: #000; - cursor: pointer; } + cursor: move; } div:full-screen { width: 100%; @@ -4259,13 +4496,13 @@ div.jsxc_video { div.jsxc_video.jsxc_disabled { background-image: url('../js/jsxc/img/camera_disabled_icon_white.svg'); } div.jsxc_video:not(.jsxc_disabled):hover { - opacity: 1.0; } + opacity: 1; } .jsxc_controlbar { position: absolute; top: 50px; left: 0; - right: 0px; + right: 0; text-align: center; z-index: 9090; -webkit-transition: 1s opacity; @@ -4276,12 +4513,12 @@ div.jsxc_video { bottom: 5%; top: initial; } } .jsxc_controlbar.jsxc_visible { - opacity: 1.0; } + opacity: 1; } .jsxc_controlbar > div { background-color: rgba(0, 0, 0, 0.5); height: 44px; border-radius: 22px; - padding: 0px 5px; + padding: 0 5px; display: inline-block; } .jsxc_controlbar .jsxc_videoControl { height: 44px; @@ -4294,7 +4531,7 @@ div.jsxc_video { display: inline-block; opacity: 0.8; } .jsxc_controlbar .jsxc_videoControl:hover { - opacity: 1.0; } + opacity: 1; } .jsxc_controlbar .jsxc_hangUp { background-image: url('../js/jsxc/img/hang_up_red.svg'); } .jsxc_controlbar .jsxc_fullscreen { @@ -4348,65 +4585,6 @@ div.jsxc_video { list-style: none; padding: 0; } -.bubblingG { - text-align: center; - width: 129px; - height: 80px; - position: absolute; - top: 40%; - left: 50%; - margin-left: -64px; } - .bubblingG span { - display: inline-block; - vertical-align: middle; - width: 16px; - height: 16px; - margin: 40px auto; - background: #000; - border-radius: 81px; - -webkit-animation: bubblingG 1.3s infinite alternate; - animation: bubblingG 1.3s infinite alternate; } - -#bubblingG_1 { - -webkit-animation-delay: 0s; - animation-delay: 0s; } - -#bubblingG_2 { - -webkit-animation-delay: 0.39s; - animation-delay: 0.39s; } - -#bubblingG_3 { - -webkit-animation-delay: 0.78s; - animation-delay: 0.78s; } - -@-webkit-keyframes bubblingG { - 0% { - width: 16px; - height: 16px; - background-color: #000; - -webkit-transform: translateY(0); - transform: translateY(0); } - 100% { - width: 39px; - height: 39px; - background-color: #fff; - -webkit-transform: translateY(-34px); - transform: translateY(-34px); } } - -@keyframes bubblingG { - 0% { - width: 16px; - height: 16px; - background-color: #000; - -webkit-transform: translateY(0); - transform: translateY(0); } - 100% { - width: 39px; - height: 39px; - background-color: #fff; - -webkit-transform: translateY(-34px); - transform: translateY(-34px); } } - .jsxc_fullscreen.jsxc_localvideo { border: 1px solid #fff; } @@ -4423,7 +4601,7 @@ div.jsxc_video { #jsxc { padding: 20px; } #jsxc h1 { - margin: 15px 0px 5px 0px; + margin: 15px 0 5px; font-size: 1.5em; } #jsxc a { color: blue; @@ -4448,6 +4626,10 @@ div.jsxc_video { #ojsxc .form-offset-label { padding-left: 280px; } } +@media (min-width: 768px) { + #ojsxc h3 { + margin-left: 285px; } } + #ojsxc label { box-sizing: border-box; padding-right: 15px; @@ -4469,12 +4651,10 @@ div.jsxc_video { @media (min-width: 768px) { #ojsxc input { width: auto; } } - -#ojsxc input + label { - width: auto; } - -#ojsxc input + label + em { - padding-left: 20px; } + #ojsxc input + label { + width: auto; } + #ojsxc input + label + em { + padding-left: 20px; } #ojsxc em, #ojsxc .boshUrl-msg { display: block; } @@ -4496,11 +4676,11 @@ div.jsxc_video { .jsxc_success { background-color: #A1F6BB; background-image: url("../img/pass-icon.png"); - color: #003300; - border-color: #003300; } + color: #030; + border-color: #030; } .jsxc_fail { - background-color: #FF9999; + background-color: #F99; background-image: url("../img/fail-icon.png"); color: #800000; border-color: #800000; } @@ -4509,8 +4689,8 @@ div.jsxc_video { width: 500px; } #mainContainer, #odf-toolbar { - right: 0px; - left: 0px; + right: 0; + left: 0; width: auto !important; z-index: 70 !important; } diff --git a/build/js/admin.js b/build/js/admin.js index cca6adb..d9c8fa1 100644 --- a/build/js/admin.js +++ b/build/js/admin.js @@ -1,13 +1,13 @@ /*! - * ojsxc v3.0.2+appstore - 2016-12-27 + * ojsxc v3.1.0-beta - 2017-01-23 * - * Copyright (c) 2016 Klaus Herberth
+ * Copyright (c) 2017 Klaus Herberth
* Released under the MIT license * * Please see http://www.jsxc.org/ * * @author Klaus Herberth - * @version 3.0.2+appstore + * @version 3.1.0-beta * @license MIT */ diff --git a/build/js/eof.js b/build/js/eof.js index 31590ea..9e624c2 100644 --- a/build/js/eof.js +++ b/build/js/eof.js @@ -1,13 +1,13 @@ /*! - * ojsxc v3.0.2+appstore - 2016-12-27 + * ojsxc v3.1.0-beta - 2017-01-23 * - * Copyright (c) 2016 Klaus Herberth
+ * Copyright (c) 2017 Klaus Herberth
* Released under the MIT license * * Please see http://www.jsxc.org/ * * @author Klaus Herberth - * @version 3.0.2+appstore + * @version 3.1.0-beta * @license MIT */ diff --git a/build/js/jsxc/css/jsxc.css b/build/js/jsxc/css/jsxc.css index 194b90d..f8619ee 100644 --- a/build/js/jsxc/css/jsxc.css +++ b/build/js/jsxc/css/jsxc.css @@ -206,8 +206,7 @@ overflow: hidden; position: fixed; background: #0b0b0b; - opacity: 0.8; - filter: alpha(opacity=80); } + opacity: 0.8; } .mfp-wrap { top: 0; @@ -300,8 +299,7 @@ .mfp-s-error .mfp-content { display: none; } -button.mfp-close, -button.mfp-arrow { +button.mfp-close, button.mfp-arrow { overflow: visible; cursor: pointer; background: transparent; @@ -311,7 +309,9 @@ button.mfp-arrow { outline: none; padding: 0; z-index: 1046; - box-shadow: none; } + box-shadow: none; + -ms-touch-action: manipulation; + touch-action: manipulation; } button::-moz-focus-inner { padding: 0; @@ -327,16 +327,13 @@ button::-moz-focus-inner { text-decoration: none; text-align: center; opacity: 0.65; - filter: alpha(opacity=65); padding: 0 0 18px 10px; color: #FFF; font-style: normal; font-size: 28px; font-family: Arial, Baskerville, monospace; } - .mfp-close:hover, - .mfp-close:focus { - opacity: 1; - filter: alpha(opacity=100); } + .mfp-close:hover, .mfp-close:focus { + opacity: 1; } .mfp-close:active { top: 1px; } @@ -363,7 +360,6 @@ button::-moz-focus-inner { .mfp-arrow { position: absolute; opacity: 0.65; - filter: alpha(opacity=65); margin: 0; top: 50%; margin-top: -55px; @@ -373,14 +369,9 @@ button::-moz-focus-inner { -webkit-tap-highlight-color: transparent; } .mfp-arrow:active { margin-top: -54px; } - .mfp-arrow:hover, - .mfp-arrow:focus { - opacity: 1; - filter: alpha(opacity=100); } - .mfp-arrow:before, - .mfp-arrow:after, - .mfp-arrow .mfp-b, - .mfp-arrow .mfp-a { + .mfp-arrow:hover, .mfp-arrow:focus { + opacity: 1; } + .mfp-arrow:before, .mfp-arrow:after { content: ''; display: block; width: 0; @@ -391,36 +382,30 @@ button::-moz-focus-inner { margin-top: 35px; margin-left: 35px; border: medium inset transparent; } - .mfp-arrow:after, - .mfp-arrow .mfp-a { + .mfp-arrow:after { border-top-width: 13px; border-bottom-width: 13px; top: 8px; } - .mfp-arrow:before, - .mfp-arrow .mfp-b { + .mfp-arrow:before { border-top-width: 21px; border-bottom-width: 21px; opacity: 0.7; } .mfp-arrow-left { left: 0; } - .mfp-arrow-left:after, - .mfp-arrow-left .mfp-a { + .mfp-arrow-left:after { border-right: 17px solid #FFF; margin-left: 31px; } - .mfp-arrow-left:before, - .mfp-arrow-left .mfp-b { + .mfp-arrow-left:before { margin-left: 25px; border-right: 27px solid #3F3F3F; } .mfp-arrow-right { right: 0; } - .mfp-arrow-right:after, - .mfp-arrow-right .mfp-a { + .mfp-arrow-right:after { border-left: 17px solid #FFF; margin-left: 39px; } - .mfp-arrow-right:before, - .mfp-arrow-right .mfp-b { + .mfp-arrow-right:before { border-left: 27px solid #3F3F3F; } .mfp-iframe-holder { @@ -557,27 +542,6 @@ img.mfp-img { padding-left: 6px; padding-right: 6px; } } -.mfp-ie7 .mfp-img { - padding: 0; } - -.mfp-ie7 .mfp-bottom-bar { - width: 600px; - left: 50%; - margin-left: -300px; - margin-top: 5px; - padding-bottom: 5px; } - -.mfp-ie7 .mfp-container { - padding: 0; } - -.mfp-ie7 .mfp-content { - padding-top: 44px; } - -.mfp-ie7 .mfp-close { - top: 0; - right: 0; - padding-top: 0; } - .emojione { /* Emoji Sizing */ font-size: inherit; @@ -587,7 +551,7 @@ img.mfp-img { min-width: 20px; /* Inline alignment adjust the margins */ display: inline-block; - margin: -0.2ex 0.15em 0.2ex; + margin: -.2ex .15em .2ex; line-height: normal; vertical-align: middle; } @@ -595,7 +559,6 @@ img.emojione { /* prevent img stretch */ width: auto; } -/* BEGIN: bootstrap */ @keyframes progress-bar-stripes { from { background-position: 40px 0; } @@ -670,9 +633,7 @@ img.emojione { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } -#jsxc_dialog .clearfix:before, -#jsxc_dialog .clearfix:after, #jsxc_webrtc .clearfix:before, -#jsxc_webrtc .clearfix:after { +#jsxc_dialog .clearfix:before, #jsxc_dialog .clearfix:after, #jsxc_webrtc .clearfix:before, #jsxc_webrtc .clearfix:after { content: " "; display: table; } @@ -770,9 +731,7 @@ img.emojione { margin-left: auto; padding-left: 15px; padding-right: 15px; } - #jsxc_dialog .container:before, - #jsxc_dialog .container:after, #jsxc_webrtc .container:before, - #jsxc_webrtc .container:after { + #jsxc_dialog .container:before, #jsxc_dialog .container:after, #jsxc_webrtc .container:before, #jsxc_webrtc .container:after { content: " "; display: table; } #jsxc_dialog .container:after, #jsxc_webrtc .container:after { @@ -792,9 +751,7 @@ img.emojione { margin-left: auto; padding-left: 15px; padding-right: 15px; } - #jsxc_dialog .container-fluid:before, - #jsxc_dialog .container-fluid:after, #jsxc_webrtc .container-fluid:before, - #jsxc_webrtc .container-fluid:after { + #jsxc_dialog .container-fluid:before, #jsxc_dialog .container-fluid:after, #jsxc_webrtc .container-fluid:before, #jsxc_webrtc .container-fluid:after { content: " "; display: table; } #jsxc_dialog .container-fluid:after, #jsxc_webrtc .container-fluid:after { @@ -803,9 +760,7 @@ img.emojione { #jsxc_dialog .row, #jsxc_webrtc .row { margin-left: -15px; margin-right: -15px; } - #jsxc_dialog .row:before, - #jsxc_dialog .row:after, #jsxc_webrtc .row:before, - #jsxc_webrtc .row:after { + #jsxc_dialog .row:before, #jsxc_dialog .row:after, #jsxc_webrtc .row:before, #jsxc_webrtc .row:after { content: " "; display: table; } #jsxc_dialog .row:after, #jsxc_webrtc .row:after { @@ -1308,9 +1263,13 @@ img.emojione { #jsxc_dialog .alert > p + p, #jsxc_webrtc .alert > p + p { margin-top: 5px; } -#jsxc_dialog .alert-dismissable, #jsxc_dialog .alert-dismissible, #jsxc_webrtc .alert-dismissable, #jsxc_webrtc .alert-dismissible { +#jsxc_dialog .alert-dismissable, +#jsxc_dialog .alert-dismissible, #jsxc_webrtc .alert-dismissable, +#jsxc_webrtc .alert-dismissible { padding-right: 35px; } - #jsxc_dialog .alert-dismissable .close, #jsxc_dialog .alert-dismissible .close, #jsxc_webrtc .alert-dismissable .close, #jsxc_webrtc .alert-dismissible .close { + #jsxc_dialog .alert-dismissable .close, + #jsxc_dialog .alert-dismissible .close, #jsxc_webrtc .alert-dismissable .close, + #jsxc_webrtc .alert-dismissible .close { position: relative; top: -2px; right: -21px; @@ -1372,37 +1331,19 @@ img.emojione { -moz-user-select: none; -ms-user-select: none; user-select: none; } - #jsxc_dialog .btn:focus, - #jsxc_dialog .btn.focus, - #jsxc_dialog .btn:active:focus, - #jsxc_dialog .btn:active.focus, - #jsxc_dialog .btn.active:focus, - #jsxc_dialog .btn.active.focus, #jsxc_webrtc .btn:focus, - #jsxc_webrtc .btn.focus, - #jsxc_webrtc .btn:active:focus, - #jsxc_webrtc .btn:active.focus, - #jsxc_webrtc .btn.active:focus, - #jsxc_webrtc .btn.active.focus { + #jsxc_dialog .btn:focus, #jsxc_dialog .btn.focus, #jsxc_dialog .btn:active:focus, #jsxc_dialog .btn:active.focus, #jsxc_dialog .btn.active:focus, #jsxc_dialog .btn.active.focus, #jsxc_webrtc .btn:focus, #jsxc_webrtc .btn.focus, #jsxc_webrtc .btn:active:focus, #jsxc_webrtc .btn:active.focus, #jsxc_webrtc .btn.active:focus, #jsxc_webrtc .btn.active.focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } - #jsxc_dialog .btn:hover, - #jsxc_dialog .btn:focus, - #jsxc_dialog .btn.focus, #jsxc_webrtc .btn:hover, - #jsxc_webrtc .btn:focus, - #jsxc_webrtc .btn.focus { + #jsxc_dialog .btn:hover, #jsxc_dialog .btn:focus, #jsxc_dialog .btn.focus, #jsxc_webrtc .btn:hover, #jsxc_webrtc .btn:focus, #jsxc_webrtc .btn.focus { color: #333; text-decoration: none; } - #jsxc_dialog .btn:active, - #jsxc_dialog .btn.active, #jsxc_webrtc .btn:active, - #jsxc_webrtc .btn.active { + #jsxc_dialog .btn:active, #jsxc_dialog .btn.active, #jsxc_webrtc .btn:active, #jsxc_webrtc .btn.active { outline: 0; background-image: none; box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } - #jsxc_dialog .btn.disabled, - #jsxc_dialog .btn[disabled], - fieldset[disabled] #jsxc_dialog .btn, #jsxc_webrtc .btn.disabled, - #jsxc_webrtc .btn[disabled], + #jsxc_dialog .btn.disabled, #jsxc_dialog .btn[disabled], + fieldset[disabled] #jsxc_dialog .btn, #jsxc_webrtc .btn.disabled, #jsxc_webrtc .btn[disabled], fieldset[disabled] #jsxc_webrtc .btn { cursor: not-allowed; pointer-events: none; @@ -1414,55 +1355,23 @@ img.emojione { color: #333; background-color: #fff; border-color: #ccc; } - #jsxc_dialog .btn-default:hover, - #jsxc_dialog .btn-default:focus, - #jsxc_dialog .btn-default.focus, - #jsxc_dialog .btn-default:active, - #jsxc_dialog .btn-default.active, - .open > #jsxc_dialog .btn-default.dropdown-toggle, #jsxc_webrtc .btn-default:hover, - #jsxc_webrtc .btn-default:focus, - #jsxc_webrtc .btn-default.focus, - #jsxc_webrtc .btn-default:active, - #jsxc_webrtc .btn-default.active, + #jsxc_dialog .btn-default:hover, #jsxc_dialog .btn-default:focus, #jsxc_dialog .btn-default.focus, #jsxc_dialog .btn-default:active, #jsxc_dialog .btn-default.active, + .open > #jsxc_dialog .btn-default.dropdown-toggle, #jsxc_webrtc .btn-default:hover, #jsxc_webrtc .btn-default:focus, #jsxc_webrtc .btn-default.focus, #jsxc_webrtc .btn-default:active, #jsxc_webrtc .btn-default.active, .open > #jsxc_webrtc .btn-default.dropdown-toggle { color: #333; - background-color: #e6e6e6; + background-color: #e6e5e5; border-color: #adadad; } - #jsxc_dialog .btn-default:active, - #jsxc_dialog .btn-default.active, - .open > #jsxc_dialog .btn-default.dropdown-toggle, #jsxc_webrtc .btn-default:active, - #jsxc_webrtc .btn-default.active, + #jsxc_dialog .btn-default:active, #jsxc_dialog .btn-default.active, + .open > #jsxc_dialog .btn-default.dropdown-toggle, #jsxc_webrtc .btn-default:active, #jsxc_webrtc .btn-default.active, .open > #jsxc_webrtc .btn-default.dropdown-toggle { background-image: none; } - #jsxc_dialog .btn-default.disabled, - #jsxc_dialog .btn-default.disabled:hover, - #jsxc_dialog .btn-default.disabled:focus, - #jsxc_dialog .btn-default.disabled.focus, - #jsxc_dialog .btn-default.disabled:active, - #jsxc_dialog .btn-default.disabled.active, - #jsxc_dialog .btn-default[disabled], - #jsxc_dialog .btn-default[disabled]:hover, - #jsxc_dialog .btn-default[disabled]:focus, - #jsxc_dialog .btn-default[disabled].focus, - #jsxc_dialog .btn-default[disabled]:active, - #jsxc_dialog .btn-default[disabled].active, + #jsxc_dialog .btn-default.disabled, #jsxc_dialog .btn-default.disabled:hover, #jsxc_dialog .btn-default.disabled:focus, #jsxc_dialog .btn-default.disabled.focus, #jsxc_dialog .btn-default.disabled:active, #jsxc_dialog .btn-default.disabled.active, #jsxc_dialog .btn-default[disabled], #jsxc_dialog .btn-default[disabled]:hover, #jsxc_dialog .btn-default[disabled]:focus, #jsxc_dialog .btn-default[disabled].focus, #jsxc_dialog .btn-default[disabled]:active, #jsxc_dialog .btn-default[disabled].active, fieldset[disabled] #jsxc_dialog .btn-default, fieldset[disabled] #jsxc_dialog .btn-default:hover, fieldset[disabled] #jsxc_dialog .btn-default:focus, fieldset[disabled] #jsxc_dialog .btn-default.focus, fieldset[disabled] #jsxc_dialog .btn-default:active, - fieldset[disabled] #jsxc_dialog .btn-default.active, #jsxc_webrtc .btn-default.disabled, - #jsxc_webrtc .btn-default.disabled:hover, - #jsxc_webrtc .btn-default.disabled:focus, - #jsxc_webrtc .btn-default.disabled.focus, - #jsxc_webrtc .btn-default.disabled:active, - #jsxc_webrtc .btn-default.disabled.active, - #jsxc_webrtc .btn-default[disabled], - #jsxc_webrtc .btn-default[disabled]:hover, - #jsxc_webrtc .btn-default[disabled]:focus, - #jsxc_webrtc .btn-default[disabled].focus, - #jsxc_webrtc .btn-default[disabled]:active, - #jsxc_webrtc .btn-default[disabled].active, + fieldset[disabled] #jsxc_dialog .btn-default.active, #jsxc_webrtc .btn-default.disabled, #jsxc_webrtc .btn-default.disabled:hover, #jsxc_webrtc .btn-default.disabled:focus, #jsxc_webrtc .btn-default.disabled.focus, #jsxc_webrtc .btn-default.disabled:active, #jsxc_webrtc .btn-default.disabled.active, #jsxc_webrtc .btn-default[disabled], #jsxc_webrtc .btn-default[disabled]:hover, #jsxc_webrtc .btn-default[disabled]:focus, #jsxc_webrtc .btn-default[disabled].focus, #jsxc_webrtc .btn-default[disabled]:active, #jsxc_webrtc .btn-default[disabled].active, fieldset[disabled] #jsxc_webrtc .btn-default, fieldset[disabled] #jsxc_webrtc .btn-default:hover, fieldset[disabled] #jsxc_webrtc .btn-default:focus, @@ -1479,55 +1388,23 @@ img.emojione { color: #fff; background-color: #337ab7; border-color: #2e6da4; } - #jsxc_dialog .btn-primary:hover, - #jsxc_dialog .btn-primary:focus, - #jsxc_dialog .btn-primary.focus, - #jsxc_dialog .btn-primary:active, - #jsxc_dialog .btn-primary.active, - .open > #jsxc_dialog .btn-primary.dropdown-toggle, #jsxc_webrtc .btn-primary:hover, - #jsxc_webrtc .btn-primary:focus, - #jsxc_webrtc .btn-primary.focus, - #jsxc_webrtc .btn-primary:active, - #jsxc_webrtc .btn-primary.active, + #jsxc_dialog .btn-primary:hover, #jsxc_dialog .btn-primary:focus, #jsxc_dialog .btn-primary.focus, #jsxc_dialog .btn-primary:active, #jsxc_dialog .btn-primary.active, + .open > #jsxc_dialog .btn-primary.dropdown-toggle, #jsxc_webrtc .btn-primary:hover, #jsxc_webrtc .btn-primary:focus, #jsxc_webrtc .btn-primary.focus, #jsxc_webrtc .btn-primary:active, #jsxc_webrtc .btn-primary.active, .open > #jsxc_webrtc .btn-primary.dropdown-toggle { color: #fff; background-color: #286090; border-color: #204d74; } - #jsxc_dialog .btn-primary:active, - #jsxc_dialog .btn-primary.active, - .open > #jsxc_dialog .btn-primary.dropdown-toggle, #jsxc_webrtc .btn-primary:active, - #jsxc_webrtc .btn-primary.active, + #jsxc_dialog .btn-primary:active, #jsxc_dialog .btn-primary.active, + .open > #jsxc_dialog .btn-primary.dropdown-toggle, #jsxc_webrtc .btn-primary:active, #jsxc_webrtc .btn-primary.active, .open > #jsxc_webrtc .btn-primary.dropdown-toggle { background-image: none; } - #jsxc_dialog .btn-primary.disabled, - #jsxc_dialog .btn-primary.disabled:hover, - #jsxc_dialog .btn-primary.disabled:focus, - #jsxc_dialog .btn-primary.disabled.focus, - #jsxc_dialog .btn-primary.disabled:active, - #jsxc_dialog .btn-primary.disabled.active, - #jsxc_dialog .btn-primary[disabled], - #jsxc_dialog .btn-primary[disabled]:hover, - #jsxc_dialog .btn-primary[disabled]:focus, - #jsxc_dialog .btn-primary[disabled].focus, - #jsxc_dialog .btn-primary[disabled]:active, - #jsxc_dialog .btn-primary[disabled].active, + #jsxc_dialog .btn-primary.disabled, #jsxc_dialog .btn-primary.disabled:hover, #jsxc_dialog .btn-primary.disabled:focus, #jsxc_dialog .btn-primary.disabled.focus, #jsxc_dialog .btn-primary.disabled:active, #jsxc_dialog .btn-primary.disabled.active, #jsxc_dialog .btn-primary[disabled], #jsxc_dialog .btn-primary[disabled]:hover, #jsxc_dialog .btn-primary[disabled]:focus, #jsxc_dialog .btn-primary[disabled].focus, #jsxc_dialog .btn-primary[disabled]:active, #jsxc_dialog .btn-primary[disabled].active, fieldset[disabled] #jsxc_dialog .btn-primary, fieldset[disabled] #jsxc_dialog .btn-primary:hover, fieldset[disabled] #jsxc_dialog .btn-primary:focus, fieldset[disabled] #jsxc_dialog .btn-primary.focus, fieldset[disabled] #jsxc_dialog .btn-primary:active, - fieldset[disabled] #jsxc_dialog .btn-primary.active, #jsxc_webrtc .btn-primary.disabled, - #jsxc_webrtc .btn-primary.disabled:hover, - #jsxc_webrtc .btn-primary.disabled:focus, - #jsxc_webrtc .btn-primary.disabled.focus, - #jsxc_webrtc .btn-primary.disabled:active, - #jsxc_webrtc .btn-primary.disabled.active, - #jsxc_webrtc .btn-primary[disabled], - #jsxc_webrtc .btn-primary[disabled]:hover, - #jsxc_webrtc .btn-primary[disabled]:focus, - #jsxc_webrtc .btn-primary[disabled].focus, - #jsxc_webrtc .btn-primary[disabled]:active, - #jsxc_webrtc .btn-primary[disabled].active, + fieldset[disabled] #jsxc_dialog .btn-primary.active, #jsxc_webrtc .btn-primary.disabled, #jsxc_webrtc .btn-primary.disabled:hover, #jsxc_webrtc .btn-primary.disabled:focus, #jsxc_webrtc .btn-primary.disabled.focus, #jsxc_webrtc .btn-primary.disabled:active, #jsxc_webrtc .btn-primary.disabled.active, #jsxc_webrtc .btn-primary[disabled], #jsxc_webrtc .btn-primary[disabled]:hover, #jsxc_webrtc .btn-primary[disabled]:focus, #jsxc_webrtc .btn-primary[disabled].focus, #jsxc_webrtc .btn-primary[disabled]:active, #jsxc_webrtc .btn-primary[disabled].active, fieldset[disabled] #jsxc_webrtc .btn-primary, fieldset[disabled] #jsxc_webrtc .btn-primary:hover, fieldset[disabled] #jsxc_webrtc .btn-primary:focus, @@ -1544,55 +1421,23 @@ img.emojione { color: #fff; background-color: #5cb85c; border-color: #4cae4c; } - #jsxc_dialog .btn-success:hover, - #jsxc_dialog .btn-success:focus, - #jsxc_dialog .btn-success.focus, - #jsxc_dialog .btn-success:active, - #jsxc_dialog .btn-success.active, - .open > #jsxc_dialog .btn-success.dropdown-toggle, #jsxc_webrtc .btn-success:hover, - #jsxc_webrtc .btn-success:focus, - #jsxc_webrtc .btn-success.focus, - #jsxc_webrtc .btn-success:active, - #jsxc_webrtc .btn-success.active, + #jsxc_dialog .btn-success:hover, #jsxc_dialog .btn-success:focus, #jsxc_dialog .btn-success.focus, #jsxc_dialog .btn-success:active, #jsxc_dialog .btn-success.active, + .open > #jsxc_dialog .btn-success.dropdown-toggle, #jsxc_webrtc .btn-success:hover, #jsxc_webrtc .btn-success:focus, #jsxc_webrtc .btn-success.focus, #jsxc_webrtc .btn-success:active, #jsxc_webrtc .btn-success.active, .open > #jsxc_webrtc .btn-success.dropdown-toggle { color: #fff; background-color: #449d44; border-color: #398439; } - #jsxc_dialog .btn-success:active, - #jsxc_dialog .btn-success.active, - .open > #jsxc_dialog .btn-success.dropdown-toggle, #jsxc_webrtc .btn-success:active, - #jsxc_webrtc .btn-success.active, + #jsxc_dialog .btn-success:active, #jsxc_dialog .btn-success.active, + .open > #jsxc_dialog .btn-success.dropdown-toggle, #jsxc_webrtc .btn-success:active, #jsxc_webrtc .btn-success.active, .open > #jsxc_webrtc .btn-success.dropdown-toggle { background-image: none; } - #jsxc_dialog .btn-success.disabled, - #jsxc_dialog .btn-success.disabled:hover, - #jsxc_dialog .btn-success.disabled:focus, - #jsxc_dialog .btn-success.disabled.focus, - #jsxc_dialog .btn-success.disabled:active, - #jsxc_dialog .btn-success.disabled.active, - #jsxc_dialog .btn-success[disabled], - #jsxc_dialog .btn-success[disabled]:hover, - #jsxc_dialog .btn-success[disabled]:focus, - #jsxc_dialog .btn-success[disabled].focus, - #jsxc_dialog .btn-success[disabled]:active, - #jsxc_dialog .btn-success[disabled].active, + #jsxc_dialog .btn-success.disabled, #jsxc_dialog .btn-success.disabled:hover, #jsxc_dialog .btn-success.disabled:focus, #jsxc_dialog .btn-success.disabled.focus, #jsxc_dialog .btn-success.disabled:active, #jsxc_dialog .btn-success.disabled.active, #jsxc_dialog .btn-success[disabled], #jsxc_dialog .btn-success[disabled]:hover, #jsxc_dialog .btn-success[disabled]:focus, #jsxc_dialog .btn-success[disabled].focus, #jsxc_dialog .btn-success[disabled]:active, #jsxc_dialog .btn-success[disabled].active, fieldset[disabled] #jsxc_dialog .btn-success, fieldset[disabled] #jsxc_dialog .btn-success:hover, fieldset[disabled] #jsxc_dialog .btn-success:focus, fieldset[disabled] #jsxc_dialog .btn-success.focus, fieldset[disabled] #jsxc_dialog .btn-success:active, - fieldset[disabled] #jsxc_dialog .btn-success.active, #jsxc_webrtc .btn-success.disabled, - #jsxc_webrtc .btn-success.disabled:hover, - #jsxc_webrtc .btn-success.disabled:focus, - #jsxc_webrtc .btn-success.disabled.focus, - #jsxc_webrtc .btn-success.disabled:active, - #jsxc_webrtc .btn-success.disabled.active, - #jsxc_webrtc .btn-success[disabled], - #jsxc_webrtc .btn-success[disabled]:hover, - #jsxc_webrtc .btn-success[disabled]:focus, - #jsxc_webrtc .btn-success[disabled].focus, - #jsxc_webrtc .btn-success[disabled]:active, - #jsxc_webrtc .btn-success[disabled].active, + fieldset[disabled] #jsxc_dialog .btn-success.active, #jsxc_webrtc .btn-success.disabled, #jsxc_webrtc .btn-success.disabled:hover, #jsxc_webrtc .btn-success.disabled:focus, #jsxc_webrtc .btn-success.disabled.focus, #jsxc_webrtc .btn-success.disabled:active, #jsxc_webrtc .btn-success.disabled.active, #jsxc_webrtc .btn-success[disabled], #jsxc_webrtc .btn-success[disabled]:hover, #jsxc_webrtc .btn-success[disabled]:focus, #jsxc_webrtc .btn-success[disabled].focus, #jsxc_webrtc .btn-success[disabled]:active, #jsxc_webrtc .btn-success[disabled].active, fieldset[disabled] #jsxc_webrtc .btn-success, fieldset[disabled] #jsxc_webrtc .btn-success:hover, fieldset[disabled] #jsxc_webrtc .btn-success:focus, @@ -1609,55 +1454,23 @@ img.emojione { color: #fff; background-color: #5bc0de; border-color: #46b8da; } - #jsxc_dialog .btn-info:hover, - #jsxc_dialog .btn-info:focus, - #jsxc_dialog .btn-info.focus, - #jsxc_dialog .btn-info:active, - #jsxc_dialog .btn-info.active, - .open > #jsxc_dialog .btn-info.dropdown-toggle, #jsxc_webrtc .btn-info:hover, - #jsxc_webrtc .btn-info:focus, - #jsxc_webrtc .btn-info.focus, - #jsxc_webrtc .btn-info:active, - #jsxc_webrtc .btn-info.active, + #jsxc_dialog .btn-info:hover, #jsxc_dialog .btn-info:focus, #jsxc_dialog .btn-info.focus, #jsxc_dialog .btn-info:active, #jsxc_dialog .btn-info.active, + .open > #jsxc_dialog .btn-info.dropdown-toggle, #jsxc_webrtc .btn-info:hover, #jsxc_webrtc .btn-info:focus, #jsxc_webrtc .btn-info.focus, #jsxc_webrtc .btn-info:active, #jsxc_webrtc .btn-info.active, .open > #jsxc_webrtc .btn-info.dropdown-toggle { color: #fff; background-color: #31b0d5; border-color: #269abc; } - #jsxc_dialog .btn-info:active, - #jsxc_dialog .btn-info.active, - .open > #jsxc_dialog .btn-info.dropdown-toggle, #jsxc_webrtc .btn-info:active, - #jsxc_webrtc .btn-info.active, + #jsxc_dialog .btn-info:active, #jsxc_dialog .btn-info.active, + .open > #jsxc_dialog .btn-info.dropdown-toggle, #jsxc_webrtc .btn-info:active, #jsxc_webrtc .btn-info.active, .open > #jsxc_webrtc .btn-info.dropdown-toggle { background-image: none; } - #jsxc_dialog .btn-info.disabled, - #jsxc_dialog .btn-info.disabled:hover, - #jsxc_dialog .btn-info.disabled:focus, - #jsxc_dialog .btn-info.disabled.focus, - #jsxc_dialog .btn-info.disabled:active, - #jsxc_dialog .btn-info.disabled.active, - #jsxc_dialog .btn-info[disabled], - #jsxc_dialog .btn-info[disabled]:hover, - #jsxc_dialog .btn-info[disabled]:focus, - #jsxc_dialog .btn-info[disabled].focus, - #jsxc_dialog .btn-info[disabled]:active, - #jsxc_dialog .btn-info[disabled].active, + #jsxc_dialog .btn-info.disabled, #jsxc_dialog .btn-info.disabled:hover, #jsxc_dialog .btn-info.disabled:focus, #jsxc_dialog .btn-info.disabled.focus, #jsxc_dialog .btn-info.disabled:active, #jsxc_dialog .btn-info.disabled.active, #jsxc_dialog .btn-info[disabled], #jsxc_dialog .btn-info[disabled]:hover, #jsxc_dialog .btn-info[disabled]:focus, #jsxc_dialog .btn-info[disabled].focus, #jsxc_dialog .btn-info[disabled]:active, #jsxc_dialog .btn-info[disabled].active, fieldset[disabled] #jsxc_dialog .btn-info, fieldset[disabled] #jsxc_dialog .btn-info:hover, fieldset[disabled] #jsxc_dialog .btn-info:focus, fieldset[disabled] #jsxc_dialog .btn-info.focus, fieldset[disabled] #jsxc_dialog .btn-info:active, - fieldset[disabled] #jsxc_dialog .btn-info.active, #jsxc_webrtc .btn-info.disabled, - #jsxc_webrtc .btn-info.disabled:hover, - #jsxc_webrtc .btn-info.disabled:focus, - #jsxc_webrtc .btn-info.disabled.focus, - #jsxc_webrtc .btn-info.disabled:active, - #jsxc_webrtc .btn-info.disabled.active, - #jsxc_webrtc .btn-info[disabled], - #jsxc_webrtc .btn-info[disabled]:hover, - #jsxc_webrtc .btn-info[disabled]:focus, - #jsxc_webrtc .btn-info[disabled].focus, - #jsxc_webrtc .btn-info[disabled]:active, - #jsxc_webrtc .btn-info[disabled].active, + fieldset[disabled] #jsxc_dialog .btn-info.active, #jsxc_webrtc .btn-info.disabled, #jsxc_webrtc .btn-info.disabled:hover, #jsxc_webrtc .btn-info.disabled:focus, #jsxc_webrtc .btn-info.disabled.focus, #jsxc_webrtc .btn-info.disabled:active, #jsxc_webrtc .btn-info.disabled.active, #jsxc_webrtc .btn-info[disabled], #jsxc_webrtc .btn-info[disabled]:hover, #jsxc_webrtc .btn-info[disabled]:focus, #jsxc_webrtc .btn-info[disabled].focus, #jsxc_webrtc .btn-info[disabled]:active, #jsxc_webrtc .btn-info[disabled].active, fieldset[disabled] #jsxc_webrtc .btn-info, fieldset[disabled] #jsxc_webrtc .btn-info:hover, fieldset[disabled] #jsxc_webrtc .btn-info:focus, @@ -1674,55 +1487,23 @@ img.emojione { color: #fff; background-color: #f0ad4e; border-color: #eea236; } - #jsxc_dialog .btn-warning:hover, - #jsxc_dialog .btn-warning:focus, - #jsxc_dialog .btn-warning.focus, - #jsxc_dialog .btn-warning:active, - #jsxc_dialog .btn-warning.active, - .open > #jsxc_dialog .btn-warning.dropdown-toggle, #jsxc_webrtc .btn-warning:hover, - #jsxc_webrtc .btn-warning:focus, - #jsxc_webrtc .btn-warning.focus, - #jsxc_webrtc .btn-warning:active, - #jsxc_webrtc .btn-warning.active, + #jsxc_dialog .btn-warning:hover, #jsxc_dialog .btn-warning:focus, #jsxc_dialog .btn-warning.focus, #jsxc_dialog .btn-warning:active, #jsxc_dialog .btn-warning.active, + .open > #jsxc_dialog .btn-warning.dropdown-toggle, #jsxc_webrtc .btn-warning:hover, #jsxc_webrtc .btn-warning:focus, #jsxc_webrtc .btn-warning.focus, #jsxc_webrtc .btn-warning:active, #jsxc_webrtc .btn-warning.active, .open > #jsxc_webrtc .btn-warning.dropdown-toggle { color: #fff; background-color: #ec971f; border-color: #d58512; } - #jsxc_dialog .btn-warning:active, - #jsxc_dialog .btn-warning.active, - .open > #jsxc_dialog .btn-warning.dropdown-toggle, #jsxc_webrtc .btn-warning:active, - #jsxc_webrtc .btn-warning.active, + #jsxc_dialog .btn-warning:active, #jsxc_dialog .btn-warning.active, + .open > #jsxc_dialog .btn-warning.dropdown-toggle, #jsxc_webrtc .btn-warning:active, #jsxc_webrtc .btn-warning.active, .open > #jsxc_webrtc .btn-warning.dropdown-toggle { background-image: none; } - #jsxc_dialog .btn-warning.disabled, - #jsxc_dialog .btn-warning.disabled:hover, - #jsxc_dialog .btn-warning.disabled:focus, - #jsxc_dialog .btn-warning.disabled.focus, - #jsxc_dialog .btn-warning.disabled:active, - #jsxc_dialog .btn-warning.disabled.active, - #jsxc_dialog .btn-warning[disabled], - #jsxc_dialog .btn-warning[disabled]:hover, - #jsxc_dialog .btn-warning[disabled]:focus, - #jsxc_dialog .btn-warning[disabled].focus, - #jsxc_dialog .btn-warning[disabled]:active, - #jsxc_dialog .btn-warning[disabled].active, + #jsxc_dialog .btn-warning.disabled, #jsxc_dialog .btn-warning.disabled:hover, #jsxc_dialog .btn-warning.disabled:focus, #jsxc_dialog .btn-warning.disabled.focus, #jsxc_dialog .btn-warning.disabled:active, #jsxc_dialog .btn-warning.disabled.active, #jsxc_dialog .btn-warning[disabled], #jsxc_dialog .btn-warning[disabled]:hover, #jsxc_dialog .btn-warning[disabled]:focus, #jsxc_dialog .btn-warning[disabled].focus, #jsxc_dialog .btn-warning[disabled]:active, #jsxc_dialog .btn-warning[disabled].active, fieldset[disabled] #jsxc_dialog .btn-warning, fieldset[disabled] #jsxc_dialog .btn-warning:hover, fieldset[disabled] #jsxc_dialog .btn-warning:focus, fieldset[disabled] #jsxc_dialog .btn-warning.focus, fieldset[disabled] #jsxc_dialog .btn-warning:active, - fieldset[disabled] #jsxc_dialog .btn-warning.active, #jsxc_webrtc .btn-warning.disabled, - #jsxc_webrtc .btn-warning.disabled:hover, - #jsxc_webrtc .btn-warning.disabled:focus, - #jsxc_webrtc .btn-warning.disabled.focus, - #jsxc_webrtc .btn-warning.disabled:active, - #jsxc_webrtc .btn-warning.disabled.active, - #jsxc_webrtc .btn-warning[disabled], - #jsxc_webrtc .btn-warning[disabled]:hover, - #jsxc_webrtc .btn-warning[disabled]:focus, - #jsxc_webrtc .btn-warning[disabled].focus, - #jsxc_webrtc .btn-warning[disabled]:active, - #jsxc_webrtc .btn-warning[disabled].active, + fieldset[disabled] #jsxc_dialog .btn-warning.active, #jsxc_webrtc .btn-warning.disabled, #jsxc_webrtc .btn-warning.disabled:hover, #jsxc_webrtc .btn-warning.disabled:focus, #jsxc_webrtc .btn-warning.disabled.focus, #jsxc_webrtc .btn-warning.disabled:active, #jsxc_webrtc .btn-warning.disabled.active, #jsxc_webrtc .btn-warning[disabled], #jsxc_webrtc .btn-warning[disabled]:hover, #jsxc_webrtc .btn-warning[disabled]:focus, #jsxc_webrtc .btn-warning[disabled].focus, #jsxc_webrtc .btn-warning[disabled]:active, #jsxc_webrtc .btn-warning[disabled].active, fieldset[disabled] #jsxc_webrtc .btn-warning, fieldset[disabled] #jsxc_webrtc .btn-warning:hover, fieldset[disabled] #jsxc_webrtc .btn-warning:focus, @@ -1739,55 +1520,23 @@ img.emojione { color: #fff; background-color: #d9534f; border-color: #d43f3a; } - #jsxc_dialog .btn-danger:hover, - #jsxc_dialog .btn-danger:focus, - #jsxc_dialog .btn-danger.focus, - #jsxc_dialog .btn-danger:active, - #jsxc_dialog .btn-danger.active, - .open > #jsxc_dialog .btn-danger.dropdown-toggle, #jsxc_webrtc .btn-danger:hover, - #jsxc_webrtc .btn-danger:focus, - #jsxc_webrtc .btn-danger.focus, - #jsxc_webrtc .btn-danger:active, - #jsxc_webrtc .btn-danger.active, + #jsxc_dialog .btn-danger:hover, #jsxc_dialog .btn-danger:focus, #jsxc_dialog .btn-danger.focus, #jsxc_dialog .btn-danger:active, #jsxc_dialog .btn-danger.active, + .open > #jsxc_dialog .btn-danger.dropdown-toggle, #jsxc_webrtc .btn-danger:hover, #jsxc_webrtc .btn-danger:focus, #jsxc_webrtc .btn-danger.focus, #jsxc_webrtc .btn-danger:active, #jsxc_webrtc .btn-danger.active, .open > #jsxc_webrtc .btn-danger.dropdown-toggle { color: #fff; background-color: #c9302c; border-color: #ac2925; } - #jsxc_dialog .btn-danger:active, - #jsxc_dialog .btn-danger.active, - .open > #jsxc_dialog .btn-danger.dropdown-toggle, #jsxc_webrtc .btn-danger:active, - #jsxc_webrtc .btn-danger.active, + #jsxc_dialog .btn-danger:active, #jsxc_dialog .btn-danger.active, + .open > #jsxc_dialog .btn-danger.dropdown-toggle, #jsxc_webrtc .btn-danger:active, #jsxc_webrtc .btn-danger.active, .open > #jsxc_webrtc .btn-danger.dropdown-toggle { background-image: none; } - #jsxc_dialog .btn-danger.disabled, - #jsxc_dialog .btn-danger.disabled:hover, - #jsxc_dialog .btn-danger.disabled:focus, - #jsxc_dialog .btn-danger.disabled.focus, - #jsxc_dialog .btn-danger.disabled:active, - #jsxc_dialog .btn-danger.disabled.active, - #jsxc_dialog .btn-danger[disabled], - #jsxc_dialog .btn-danger[disabled]:hover, - #jsxc_dialog .btn-danger[disabled]:focus, - #jsxc_dialog .btn-danger[disabled].focus, - #jsxc_dialog .btn-danger[disabled]:active, - #jsxc_dialog .btn-danger[disabled].active, + #jsxc_dialog .btn-danger.disabled, #jsxc_dialog .btn-danger.disabled:hover, #jsxc_dialog .btn-danger.disabled:focus, #jsxc_dialog .btn-danger.disabled.focus, #jsxc_dialog .btn-danger.disabled:active, #jsxc_dialog .btn-danger.disabled.active, #jsxc_dialog .btn-danger[disabled], #jsxc_dialog .btn-danger[disabled]:hover, #jsxc_dialog .btn-danger[disabled]:focus, #jsxc_dialog .btn-danger[disabled].focus, #jsxc_dialog .btn-danger[disabled]:active, #jsxc_dialog .btn-danger[disabled].active, fieldset[disabled] #jsxc_dialog .btn-danger, fieldset[disabled] #jsxc_dialog .btn-danger:hover, fieldset[disabled] #jsxc_dialog .btn-danger:focus, fieldset[disabled] #jsxc_dialog .btn-danger.focus, fieldset[disabled] #jsxc_dialog .btn-danger:active, - fieldset[disabled] #jsxc_dialog .btn-danger.active, #jsxc_webrtc .btn-danger.disabled, - #jsxc_webrtc .btn-danger.disabled:hover, - #jsxc_webrtc .btn-danger.disabled:focus, - #jsxc_webrtc .btn-danger.disabled.focus, - #jsxc_webrtc .btn-danger.disabled:active, - #jsxc_webrtc .btn-danger.disabled.active, - #jsxc_webrtc .btn-danger[disabled], - #jsxc_webrtc .btn-danger[disabled]:hover, - #jsxc_webrtc .btn-danger[disabled]:focus, - #jsxc_webrtc .btn-danger[disabled].focus, - #jsxc_webrtc .btn-danger[disabled]:active, - #jsxc_webrtc .btn-danger[disabled].active, + fieldset[disabled] #jsxc_dialog .btn-danger.active, #jsxc_webrtc .btn-danger.disabled, #jsxc_webrtc .btn-danger.disabled:hover, #jsxc_webrtc .btn-danger.disabled:focus, #jsxc_webrtc .btn-danger.disabled.focus, #jsxc_webrtc .btn-danger.disabled:active, #jsxc_webrtc .btn-danger.disabled.active, #jsxc_webrtc .btn-danger[disabled], #jsxc_webrtc .btn-danger[disabled]:hover, #jsxc_webrtc .btn-danger[disabled]:focus, #jsxc_webrtc .btn-danger[disabled].focus, #jsxc_webrtc .btn-danger[disabled]:active, #jsxc_webrtc .btn-danger[disabled].active, fieldset[disabled] #jsxc_webrtc .btn-danger, fieldset[disabled] #jsxc_webrtc .btn-danger:hover, fieldset[disabled] #jsxc_webrtc .btn-danger:focus, @@ -1804,36 +1553,20 @@ img.emojione { color: #337ab7; font-weight: normal; border-radius: 0; } - #jsxc_dialog .btn-link, - #jsxc_dialog .btn-link:active, - #jsxc_dialog .btn-link.active, - #jsxc_dialog .btn-link[disabled], - fieldset[disabled] #jsxc_dialog .btn-link, #jsxc_webrtc .btn-link, - #jsxc_webrtc .btn-link:active, - #jsxc_webrtc .btn-link.active, - #jsxc_webrtc .btn-link[disabled], + #jsxc_dialog .btn-link, #jsxc_dialog .btn-link:active, #jsxc_dialog .btn-link.active, #jsxc_dialog .btn-link[disabled], + fieldset[disabled] #jsxc_dialog .btn-link, #jsxc_webrtc .btn-link, #jsxc_webrtc .btn-link:active, #jsxc_webrtc .btn-link.active, #jsxc_webrtc .btn-link[disabled], fieldset[disabled] #jsxc_webrtc .btn-link { background-color: transparent; box-shadow: none; } - #jsxc_dialog .btn-link, - #jsxc_dialog .btn-link:hover, - #jsxc_dialog .btn-link:focus, - #jsxc_dialog .btn-link:active, #jsxc_webrtc .btn-link, - #jsxc_webrtc .btn-link:hover, - #jsxc_webrtc .btn-link:focus, - #jsxc_webrtc .btn-link:active { + #jsxc_dialog .btn-link, #jsxc_dialog .btn-link:hover, #jsxc_dialog .btn-link:focus, #jsxc_dialog .btn-link:active, #jsxc_webrtc .btn-link, #jsxc_webrtc .btn-link:hover, #jsxc_webrtc .btn-link:focus, #jsxc_webrtc .btn-link:active { border-color: transparent; } - #jsxc_dialog .btn-link:hover, - #jsxc_dialog .btn-link:focus, #jsxc_webrtc .btn-link:hover, - #jsxc_webrtc .btn-link:focus { + #jsxc_dialog .btn-link:hover, #jsxc_dialog .btn-link:focus, #jsxc_webrtc .btn-link:hover, #jsxc_webrtc .btn-link:focus { color: #23527c; text-decoration: underline; background-color: transparent; } - #jsxc_dialog .btn-link[disabled]:hover, - #jsxc_dialog .btn-link[disabled]:focus, + #jsxc_dialog .btn-link[disabled]:hover, #jsxc_dialog .btn-link[disabled]:focus, fieldset[disabled] #jsxc_dialog .btn-link:hover, - fieldset[disabled] #jsxc_dialog .btn-link:focus, #jsxc_webrtc .btn-link[disabled]:hover, - #jsxc_webrtc .btn-link[disabled]:focus, + fieldset[disabled] #jsxc_dialog .btn-link:focus, #jsxc_webrtc .btn-link[disabled]:hover, #jsxc_webrtc .btn-link[disabled]:focus, fieldset[disabled] #jsxc_webrtc .btn-link:hover, fieldset[disabled] #jsxc_webrtc .btn-link:focus { color: #777777; @@ -1882,17 +1615,11 @@ img.emojione { #jsxc_webrtc .btn-group-vertical > .btn { position: relative; float: left; } - #jsxc_dialog .btn-group > .btn:hover, - #jsxc_dialog .btn-group > .btn:focus, - #jsxc_dialog .btn-group > .btn:active, - #jsxc_dialog .btn-group > .btn.active, + #jsxc_dialog .btn-group > .btn:hover, #jsxc_dialog .btn-group > .btn:focus, #jsxc_dialog .btn-group > .btn:active, #jsxc_dialog .btn-group > .btn.active, #jsxc_dialog .btn-group-vertical > .btn:hover, #jsxc_dialog .btn-group-vertical > .btn:focus, #jsxc_dialog .btn-group-vertical > .btn:active, - #jsxc_dialog .btn-group-vertical > .btn.active, #jsxc_webrtc .btn-group > .btn:hover, - #jsxc_webrtc .btn-group > .btn:focus, - #jsxc_webrtc .btn-group > .btn:active, - #jsxc_webrtc .btn-group > .btn.active, + #jsxc_dialog .btn-group-vertical > .btn.active, #jsxc_webrtc .btn-group > .btn:hover, #jsxc_webrtc .btn-group > .btn:focus, #jsxc_webrtc .btn-group > .btn:active, #jsxc_webrtc .btn-group > .btn.active, #jsxc_webrtc .btn-group-vertical > .btn:hover, #jsxc_webrtc .btn-group-vertical > .btn:focus, #jsxc_webrtc .btn-group-vertical > .btn:active, @@ -1910,9 +1637,7 @@ img.emojione { #jsxc_dialog .btn-toolbar, #jsxc_webrtc .btn-toolbar { margin-left: -5px; } - #jsxc_dialog .btn-toolbar:before, - #jsxc_dialog .btn-toolbar:after, #jsxc_webrtc .btn-toolbar:before, - #jsxc_webrtc .btn-toolbar:after { + #jsxc_dialog .btn-toolbar:before, #jsxc_dialog .btn-toolbar:after, #jsxc_webrtc .btn-toolbar:before, #jsxc_webrtc .btn-toolbar:after { content: " "; display: table; } #jsxc_dialog .btn-toolbar:after, #jsxc_webrtc .btn-toolbar:after { @@ -1997,9 +1722,7 @@ img.emojione { width: 100%; max-width: 100%; } -#jsxc_dialog .btn-group-vertical > .btn-group:before, -#jsxc_dialog .btn-group-vertical > .btn-group:after, #jsxc_webrtc .btn-group-vertical > .btn-group:before, -#jsxc_webrtc .btn-group-vertical > .btn-group:after { +#jsxc_dialog .btn-group-vertical > .btn-group:before, #jsxc_dialog .btn-group-vertical > .btn-group:after, #jsxc_webrtc .btn-group-vertical > .btn-group:before, #jsxc_webrtc .btn-group-vertical > .btn-group:after { content: " "; display: table; } @@ -2159,10 +1882,8 @@ img.emojione { color: #999; } #jsxc_dialog .form-control::-webkit-input-placeholder, #jsxc_webrtc .form-control::-webkit-input-placeholder { color: #999; } - #jsxc_dialog .form-control[disabled], - #jsxc_dialog .form-control[readonly], - fieldset[disabled] #jsxc_dialog .form-control, #jsxc_webrtc .form-control[disabled], - #jsxc_webrtc .form-control[readonly], + #jsxc_dialog .form-control[disabled], #jsxc_dialog .form-control[readonly], + fieldset[disabled] #jsxc_dialog .form-control, #jsxc_webrtc .form-control[disabled], #jsxc_webrtc .form-control[readonly], fieldset[disabled] #jsxc_webrtc .form-control { background-color: #eeeeee; opacity: 1; } @@ -2189,34 +1910,46 @@ img.emojione { #jsxc_dialog input[type="date"].input-sm, .input-group-sm #jsxc_dialog input[type="date"], #jsxc_dialog input[type="time"].input-sm, - .input-group-sm #jsxc_dialog input[type="time"], + .input-group-sm + #jsxc_dialog input[type="time"], #jsxc_dialog input[type="datetime-local"].input-sm, - .input-group-sm #jsxc_dialog input[type="datetime-local"], + .input-group-sm + #jsxc_dialog input[type="datetime-local"], #jsxc_dialog input[type="month"].input-sm, - .input-group-sm #jsxc_dialog input[type="month"], #jsxc_webrtc input[type="date"].input-sm, + .input-group-sm + #jsxc_dialog input[type="month"], #jsxc_webrtc input[type="date"].input-sm, .input-group-sm #jsxc_webrtc input[type="date"], #jsxc_webrtc input[type="time"].input-sm, - .input-group-sm #jsxc_webrtc input[type="time"], + .input-group-sm + #jsxc_webrtc input[type="time"], #jsxc_webrtc input[type="datetime-local"].input-sm, - .input-group-sm #jsxc_webrtc input[type="datetime-local"], + .input-group-sm + #jsxc_webrtc input[type="datetime-local"], #jsxc_webrtc input[type="month"].input-sm, - .input-group-sm #jsxc_webrtc input[type="month"] { + .input-group-sm + #jsxc_webrtc input[type="month"] { line-height: 30px; } #jsxc_dialog input[type="date"].input-lg, .input-group-lg #jsxc_dialog input[type="date"], #jsxc_dialog input[type="time"].input-lg, - .input-group-lg #jsxc_dialog input[type="time"], + .input-group-lg + #jsxc_dialog input[type="time"], #jsxc_dialog input[type="datetime-local"].input-lg, - .input-group-lg #jsxc_dialog input[type="datetime-local"], + .input-group-lg + #jsxc_dialog input[type="datetime-local"], #jsxc_dialog input[type="month"].input-lg, - .input-group-lg #jsxc_dialog input[type="month"], #jsxc_webrtc input[type="date"].input-lg, + .input-group-lg + #jsxc_dialog input[type="month"], #jsxc_webrtc input[type="date"].input-lg, .input-group-lg #jsxc_webrtc input[type="date"], #jsxc_webrtc input[type="time"].input-lg, - .input-group-lg #jsxc_webrtc input[type="time"], + .input-group-lg + #jsxc_webrtc input[type="time"], #jsxc_webrtc input[type="datetime-local"].input-lg, - .input-group-lg #jsxc_webrtc input[type="datetime-local"], + .input-group-lg + #jsxc_webrtc input[type="datetime-local"], #jsxc_webrtc input[type="month"].input-lg, - .input-group-lg #jsxc_webrtc input[type="month"] { + .input-group-lg + #jsxc_webrtc input[type="month"] { line-height: 46px; } } #jsxc_dialog .form-group, #jsxc_webrtc .form-group { @@ -2271,35 +2004,39 @@ img.emojione { margin-top: 0; margin-left: 10px; } -#jsxc_dialog input[type="radio"][disabled], -#jsxc_dialog input[type="radio"].disabled, +#jsxc_dialog input[type="radio"][disabled], #jsxc_dialog input[type="radio"].disabled, fieldset[disabled] #jsxc_dialog input[type="radio"], #jsxc_dialog input[type="checkbox"][disabled], #jsxc_dialog input[type="checkbox"].disabled, -fieldset[disabled] #jsxc_dialog input[type="checkbox"], #jsxc_webrtc input[type="radio"][disabled], -#jsxc_webrtc input[type="radio"].disabled, +fieldset[disabled] +#jsxc_dialog input[type="checkbox"], #jsxc_webrtc input[type="radio"][disabled], #jsxc_webrtc input[type="radio"].disabled, fieldset[disabled] #jsxc_webrtc input[type="radio"], #jsxc_webrtc input[type="checkbox"][disabled], #jsxc_webrtc input[type="checkbox"].disabled, -fieldset[disabled] #jsxc_webrtc input[type="checkbox"] { +fieldset[disabled] +#jsxc_webrtc input[type="checkbox"] { cursor: not-allowed; } #jsxc_dialog .radio-inline.disabled, fieldset[disabled] #jsxc_dialog .radio-inline, #jsxc_dialog .checkbox-inline.disabled, -fieldset[disabled] #jsxc_dialog .checkbox-inline, #jsxc_webrtc .radio-inline.disabled, +fieldset[disabled] +#jsxc_dialog .checkbox-inline, #jsxc_webrtc .radio-inline.disabled, fieldset[disabled] #jsxc_webrtc .radio-inline, #jsxc_webrtc .checkbox-inline.disabled, -fieldset[disabled] #jsxc_webrtc .checkbox-inline { +fieldset[disabled] +#jsxc_webrtc .checkbox-inline { cursor: not-allowed; } #jsxc_dialog .radio.disabled label, fieldset[disabled] #jsxc_dialog .radio label, #jsxc_dialog .checkbox.disabled label, -fieldset[disabled] #jsxc_dialog .checkbox label, #jsxc_webrtc .radio.disabled label, +fieldset[disabled] +#jsxc_dialog .checkbox label, #jsxc_webrtc .radio.disabled label, fieldset[disabled] #jsxc_webrtc .radio label, #jsxc_webrtc .checkbox.disabled label, -fieldset[disabled] #jsxc_webrtc .checkbox label { +fieldset[disabled] +#jsxc_webrtc .checkbox label { cursor: not-allowed; } #jsxc_dialog .form-control-static, #jsxc_webrtc .form-control-static { @@ -2307,9 +2044,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { padding-bottom: 7px; margin-bottom: 0; min-height: 34px; } - #jsxc_dialog .form-control-static.input-lg, - #jsxc_dialog .form-control-static.input-sm, #jsxc_webrtc .form-control-static.input-lg, - #jsxc_webrtc .form-control-static.input-sm { + #jsxc_dialog .form-control-static.input-lg, #jsxc_dialog .form-control-static.input-sm, #jsxc_webrtc .form-control-static.input-lg, #jsxc_webrtc .form-control-static.input-sm { padding-left: 0; padding-right: 0; } @@ -2601,9 +2336,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { #jsxc_dialog .form-horizontal .form-group, #jsxc_webrtc .form-horizontal .form-group { margin-left: -15px; margin-right: -15px; } - #jsxc_dialog .form-horizontal .form-group:before, - #jsxc_dialog .form-horizontal .form-group:after, #jsxc_webrtc .form-horizontal .form-group:before, - #jsxc_webrtc .form-horizontal .form-group:after { + #jsxc_dialog .form-horizontal .form-group:before, #jsxc_dialog .form-horizontal .form-group:after, #jsxc_webrtc .form-horizontal .form-group:before, #jsxc_webrtc .form-horizontal .form-group:after { content: " "; display: table; } #jsxc_dialog .form-horizontal .form-group:after, #jsxc_webrtc .form-horizontal .form-group:after { @@ -2627,10 +2360,13 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { padding-top: 6px; } } #jsxc_dialog .progress, #jsxc_webrtc .progress { - margin-bottom: 0px; } + margin-bottom: 0; } #jsxc_dialog .progress .progress-bar, #jsxc_webrtc .progress .progress-bar { width: 100%; } +#jsxc_dialog .mfp-close, #jsxc_webrtc .mfp-close { + font-size: 23px; } + .mfp-bg { z-index: 9000; } @@ -2640,10 +2376,6 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { .mfp-content { text-align: center; } -#jsxc_dialog .mfp-close { - font-size: 23px; } - -/* END: bootstrap */ @-webkit-keyframes bounce { 0% { bottom: 0; @@ -2667,6 +2399,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { animation-timing-function: ease-in; } 100% { bottom: 0; } } + @keyframes bounce { 0% { bottom: 0; @@ -2722,7 +2455,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { width: 204px; z-index: 85; } #jsxc_buddylist .jsxc_unreadMsg .jsxc_name { - padding-right: 0px; } + padding-right: 0; } #jsxc_buddylist .jsxc_oneway .jsxc_avatar, #jsxc_buddylist .jsxc_oneway .jsxc_caption { opacity: 0.7; } #jsxc_buddylist .jsxc_right { @@ -2735,7 +2468,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { line-height: 20px; color: #fff; } #jsxc_buddylist .jsxc_right div:hover { - opacity: 1.0; } + opacity: 1; } #jsxc_buddylist .jsxc_more { margin-right: 6px; z-index: 10; @@ -2760,7 +2493,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { display: none; } .jsxc_online:before, .jsxc_chat:before, .jsxc_away:before, .jsxc_xa:before, .jsxc_dnd:before { - content: ' '; + content: " "; display: block; width: 12px; height: 12px; @@ -2806,6 +2539,14 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { background-size: contain; border: 0; vertical-align: bottom; } + .jsxc_emoticon.jsxc_large { + width: 40px; + height: 40px; + margin-bottom: 7px; } + +#jsxc_roster .jsxc_emoticon.jsxc_large { + width: 19px; + height: 19px; } .jsxc_angel { background: url('../img/emotions/angel.png'); } @@ -2878,14 +2619,13 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { #jsxc_roster { position: fixed; - top: 0px; + top: 0; bottom: 0; right: 0; width: 200px; overflow: visible; border-left: 1px solid #e1e1e1; display: none; - /*border-left: 1px solid $roster_border_left;*/ z-index: 80; margin-left: 10px; background-color: whitesmoke; } @@ -2927,7 +2667,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { color: #333; padding: 10px; } #jsxc_roster p a { - color: #b3b3b3; + color: #b3b2b2; text-decoration: underline; } #jsxc_roster .jsxc_avatar { position: relative; @@ -2951,9 +2691,58 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { transform: rotate(0deg); } #jsxc_roster.jsxc_state_shown { display: block; - right: 0px; + right: 0; -webkit-transition: right 0.5s; transition: right 0.5s; } + #jsxc_roster > .jsxc_bottom { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + line-height: 34px; + background-color: #eeeeee; + z-index: 50; + padding-right: 4px; } + #jsxc_roster > .jsxc_bottom:hover { + background-color: #ddd; } + #jsxc_roster > .jsxc_bottom .jsxc_inner { + width: 100%; } + #jsxc_roster > .jsxc_bottom ul { + padding: 0; + margin: 0; + width: 100%; + border-top: 1px solid transparent; + background-color: #eeeeee; } + #jsxc_roster > .jsxc_bottom ul li:last-child { + border-bottom: 1px solid transparent; } + #jsxc_roster > .jsxc_bottom li { + height: 44px; + background-color: #eeeeee; + color: #000; + cursor: pointer; + width: 100%; + padding-left: 44px; + line-height: 44px; + text-align: left; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + background-repeat: no-repeat; + background-position: 15px center; + background-size: 16px 16px; + opacity: 0.8; } + #jsxc_roster > .jsxc_bottom li.jsxc_disabled { + color: #333333; + cursor: default; } + #jsxc_roster > .jsxc_bottom li:hover:not(.jsxc_disabled) { + color: #000; + background-color: #ddd; } + #jsxc_roster > .jsxc_bottom li.jsxc_warning { + background-color: #f5e876; } + #jsxc_roster > .jsxc_bottom li.jsxc_warning:hover { + background-color: #f2e35d; } + #jsxc_roster > .jsxc_bottom > div > span { + cursor: pointer; } #jsxc_toggleRoster { width: 14px; @@ -2967,12 +2756,12 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { #jsxc_toggleRoster:hover { background-color: rgba(153, 153, 153, 0.5); } #jsxc_toggleRoster:before { - content: ''; + content: " "; position: absolute; display: block; width: 0; top: 50%; - right: 0px; + right: 0; border-style: solid; border-width: 6px 4px 6px 0; border-color: transparent whitesmoke; @@ -3011,7 +2800,6 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { padding-right: 30px; height: 100%; line-height: 100%; - /*padding-top: 4px;*/ box-sizing: border-box; } .jsxc_caption * { cursor: pointer; } @@ -3058,57 +2846,6 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { .jsxc_caption .jsxc_lastmsg .jsxc_emoticon { vertical-align: middle; } -#jsxc_roster > .jsxc_bottom { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - line-height: 34px; - background-color: #eeeeee; - z-index: 50; - padding-right: 4px; } - #jsxc_roster > .jsxc_bottom:hover { - background-color: #ddd; } - #jsxc_roster > .jsxc_bottom .jsxc_inner { - width: 100%; } - #jsxc_roster > .jsxc_bottom ul { - padding: 0; - margin: 0; - width: 100%; - border-top: 1px solid transparent; - background-color: #eeeeee; - margin: 0; } - #jsxc_roster > .jsxc_bottom ul li:last-child { - border-bottom: 1px solid transparent; } - #jsxc_roster > .jsxc_bottom li { - height: 44px; - background-color: #eeeeee; - color: #000; - cursor: pointer; - width: 100%; - padding-left: 44px; - line-height: 44px; - text-align: left; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - background-repeat: no-repeat; - background-position: 15px center; - background-size: 16px 16px; - opacity: 0.8; } - #jsxc_roster > .jsxc_bottom li.jsxc_disabled { - color: #333333; - cursor: default; } - #jsxc_roster > .jsxc_bottom li:hover:not(.jsxc_disabled) { - color: #000; - background-color: #ddd; } - -#jsxc_roster > .jsxc_bottom > div > span { - cursor: pointer; } - -#jsxc_roster > .jsxc_bottom > div:hover { - /*color: $roster_bottom_color_hover;*/ } - #jsxc_avatar { cursor: default !important; } @@ -3121,7 +2858,6 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { #jsxc_presence li { position: relative; } #jsxc_presence li:before { - /** Presence indicator */ position: absolute; top: 50%; left: 10px; @@ -3211,8 +2947,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { #jsxc_windowList > ul > li.jsxc_min { -webkit-transition: width 0.2s; transition: width 0.2s; - width: 46px !important; - /* overwrite resizeable width */ } + width: 46px !important; } @media (min-width: 768px) { #jsxc_windowList > ul > li.jsxc_min { width: 200px !important; } } @@ -3235,7 +2970,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { width: 14px; height: 100%; background-color: #cccccc; - color: gray; + color: #807f7f; text-align: center; line-height: 30px; float: left; @@ -3245,9 +2980,9 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { -ms-user-select: none; user-select: none; } #jsxc_windowListSB > div:hover { - background-color: #b3b3b3; } + background-color: #b3b2b2; } #jsxc_windowListSB > .jsxc_disabled { - background-color: #e6e6e6 !important; + background-color: #e6e5e5 !important; color: #cccccc; cursor: default !important; display: none; } @@ -3298,7 +3033,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { left: 0; cursor: pointer; } .jsxc_window .jsxc_emoticons:after { - content: ' '; + content: " "; background-image: url('../img/smiley.svg'); background-position: center center; background-repeat: no-repeat; @@ -3321,7 +3056,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { padding: 3px; position: relative; } .jsxc_window .jsxc_emoticons ul:after { - content: ''; + content: " "; position: absolute; border-left: 8px solid transparent; border-right: 8px solid transparent; @@ -3368,7 +3103,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { height: 44px; width: 44px; } .jsxc_window .jsxc_fade .jsxc_overlay > div .jsxc_close:after { - content: '×'; + content: "×"; position: absolute; top: 4px; right: 4px; @@ -3400,30 +3135,33 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { overflow: hidden; padding: 3px; } .jsxc_window .slimScrollDiv { - margin: 0 0 6px 0; + margin: 0 0 6px; left: auto !important; top: auto !important; } - .jsxc_window input.jsxc_textinput { + .jsxc_window textarea.jsxc_textinput { width: 100%; height: 44px; margin: 0; - padding: 3px; - padding-left: 40px; - padding-right: 40px; + padding: 14px 40px 12px; outline: none; border-radius: 0; box-sizing: border-box; - border: 0; } - .jsxc_window input::-webkit-input-placeholder { + border: 0; + display: block; + resize: none; + -webkit-transition: height 0.5s; + transition: height 0.5s; + font-size: 13px; } + .jsxc_window textarea::-webkit-input-placeholder { color: #000; opacity: 0.3; } - .jsxc_window input::-moz-placeholder { + .jsxc_window textarea::-moz-placeholder { color: #000; opacity: 0.3; } - .jsxc_window input:-ms-input-placeholder { + .jsxc_window textarea:-ms-input-placeholder { color: #000; opacity: 0.3; } - .jsxc_window input::placeholder { + .jsxc_window textarea::placeholder { color: #000; opacity: 0.3; } .jsxc_window .jsxc_tools { @@ -3443,12 +3181,12 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { cursor: pointer; text-align: center; } .jsxc_window .jsxc_tools > div.jsxc_settings { - opacity: 1.0; } + opacity: 1; } .jsxc_window .jsxc_close { font-size: 20px; } .jsxc_window .jsxc_close:hover { color: #fff; - opacity: 1.0; } + opacity: 1; } .jsxc_window .jsxc_more { background-image: url('../img/more_white.svg'); opacity: 0.4; } @@ -3477,10 +3215,40 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { position: relative; outline: none; clear: both; } + .jsxc_chatmessage.jsxc_error { + opacity: 0.7; } + .jsxc_chatmessage.jsxc_error:before { + content: " "; + position: absolute; + top: 3px; + right: 3px; + width: 8px; + height: 8px; + background-color: yellow; } .jsxc_chatmessage a { color: #00f; text-decoration: underline; - display: inline-block; } + display: inline-block; + max-width: 100%; + position: relative; } + .jsxc_chatmessage a[download]:before { + content: " "; + position: absolute; + top: 0; + right: 0; + bottom: 5px; + left: 0; + border-radius: 3px; + background-color: rgba(255, 255, 255, 0.7); + background-image: url("../img/download_icon_black.svg"); + background-size: contain; + background-position: center center; + background-repeat: no-repeat; + opacity: 0; + -webkit-transition: opacity 0.5s; + transition: opacity 0.5s; } + .jsxc_chatmessage a[download]:hover:before { + opacity: 0.6; } .jsxc_chatmessage img { max-width: 100%; } .jsxc_chatmessage .jsxc_avatar { @@ -3499,9 +3267,10 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { .jsxc_chatmessage .jsxc_attachment img { border-radius: 3px; } .jsxc_chatmessage .jsxc_attachment.jsxc_image { - line-height: 0px; + line-height: 0; padding: 0; - background-image: url(); } + background-image: url(""); + display: inline-block; } .jsxc_chatmessage .jsxc_attachment.jsxc_application { background-image: url('../img/filetypes/application.svg'); } .jsxc_chatmessage .jsxc_attachment.jsxc_application-pdf { @@ -3509,7 +3278,8 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { .jsxc_chatmessage .jsxc_attachment.jsxc_audio { background-image: url('../img/filetypes/audio.svg'); } .jsxc_chatmessage .jsxc_attachment.jsxc_video { - background-image: url('../img/filetypes/video.svg'); } + background-image: url('../img/filetypes/video.svg'); + opacity: 1; } .jsxc_chatmessage .jsxc_attachment.jsxc_text { background-image: url('../img/filetypes/text.svg'); } @@ -3544,7 +3314,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { border-radius: 3px; background-color: #DBEDFF; } .jsxc_in:after { - content: ' '; + content: " "; position: absolute; border-style: solid; border-width: 5px 6px 5px 0; @@ -3566,7 +3336,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { border-radius: 3px; background-color: #e6ffd1; } .jsxc_out:after { - content: ' '; + content: " "; position: absolute; border-style: solid; border-width: 5px 0 5px 6px; @@ -3577,7 +3347,7 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { right: -6px; bottom: 10px; } .jsxc_out.jsxc_received:before { - content: '✓'; + content: "✓"; position: absolute; bottom: 2px; right: 2px; @@ -3595,7 +3365,34 @@ fieldset[disabled] #jsxc_webrtc .checkbox label { padding-right: 4px; box-sizing: border-box; margin-right: 3px; - border-radius: 3px; } + border-radius: 3px; + background-color: transparent; + font-size: 0.8em; + font-style: italic; } + .jsxc_sys .jsxc_emoticon { + width: 1.2em; + height: 1.2em; + vertical-align: middle; } + .jsxc_sys.jsxc_composing { + text-align: center; + font-size: 0.9em; + font-style: italic; + display: block; + opacity: 0; + overflow: hidden; + -webkit-transition: opacity 0.6s; + transition: opacity 0.6s; } + .jsxc_sys.jsxc_composing:before { + content: " "; + width: 1.5em; + height: 1em; + display: inline-block; + background-size: 80%; + background-repeat: no-repeat; + margin: 0 3px 0 0; + background-image: url('../img/composing.png'); } + .jsxc_sys.jsxc_composing.jsxc_fadein { + opacity: 1; } div.jsxc_settings { position: relative; } @@ -3617,22 +3414,22 @@ div.jsxc_transfer { right: 0; cursor: pointer; } div.jsxc_transfer:hover { - opacity: 1.0; } + opacity: 1; } div.jsxc_transfer.jsxc_disabled { background-image: url('../img/padlock_open_disabled_black.svg'); cursor: default; } div.jsxc_transfer.jsxc_disabled:hover { opacity: 0.3; } div.jsxc_transfer.jsxc_fin { - opacity: 1.0; + opacity: 1; background-image: url('../img/padlock_close_grey.svg'); } div.jsxc_transfer.jsxc_enc { - opacity: 1.0; + opacity: 1; background-image: url('../img/padlock_close_orange.svg'); } div.jsxc_transfer.jsxc_enc.jsxc_trust { background-image: url('../img/padlock_close_green.svg'); } -.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_bar .jsxc_avatar, li[data-type="groupchat"] .jsxc_avatar { +.jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_bar .jsxc_avatar, li[data-type='groupchat'] .jsxc_avatar { text-indent: 999px; background-image: url('../img/group_white.svg'); background-size: 70% 70% !important; @@ -3650,14 +3447,14 @@ div.jsxc_transfer { background-repeat: no-repeat; background-position: center; } .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_members:hover { - opacity: 1.0; } + opacity: 1; } .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_chatmessage.jsxc_in { margin-left: 50px; } .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_chatmessage.jsxc_in .jsxc_avatar { display: block; position: absolute; - bottom: 0px; + bottom: 0; left: -50px; background-color: #777; } .jsxc_windowItem.jsxc_groupchat.jsxc_normal .jsxc_chatmessage.jsxc_in .jsxc_avatar:before { @@ -3669,7 +3466,7 @@ div.jsxc_transfer { background-color: #1d2d44; overflow: hidden; position: absolute; - top: 0px; + top: 0; -webkit-transition: height 400ms; transition: height 400ms; z-index: 100; } @@ -3681,7 +3478,7 @@ div.jsxc_transfer { overflow: hidden; -webkit-transition: left 400ms; transition: left 400ms; - padding: 0px; + padding: 0; padding-left: 6px; padding-right: 6px; padding-top: 3px; } @@ -3694,7 +3491,7 @@ div.jsxc_transfer { display: none; } .jsxc_windowItem .jsxc_memberlist ul > li .jsxc_avatar { margin-left: 2px; - margin-right: 0px; } + margin-right: 0; } .jsxc_windowItem .jsxc_memberlist.jsxc_expand ul { white-space: normal; } .jsxc_windowItem .jsxc_memberlist.jsxc_expand ul > li { @@ -3710,7 +3507,7 @@ div.jsxc_transfer { .jsxc_windowItem .jsxc_memberlist.jsxc_expand ul > li .jsxc_avatar { margin-right: 4px; } -li[data-type="groupchat"] .jsxc_video { +li[data-type='groupchat'] .jsxc_video { display: none; } .jsxc_right { @@ -3740,6 +3537,10 @@ li[data-type="groupchat"] .jsxc_video { .jsxc_maxWidth { max-width: 500px; } +.jsxc_meta { + text-align: right; + font-style: italic; } + #jsxc_dialog { padding: 20px; min-width: 320px; @@ -3748,8 +3549,7 @@ li[data-type="groupchat"] .jsxc_video { text-align: left; position: relative; background: #FFF; - width: auto; - border-radius: 5px; } + width: auto; } #jsxc_dialog * { box-sizing: border-box; } #jsxc_dialog ul { @@ -3765,8 +3565,10 @@ li[data-type="groupchat"] .jsxc_video { margin-bottom: 5px; width: 60%; outline: none; } - #jsxc_dialog p input[type="submit"] { + #jsxc_dialog p input[type='submit'] { width: auto; } + #jsxc_dialog table { + margin-bottom: 1em; } #jsxc_dialog hr { border: 0; border-top: 1px solid #eee; @@ -3779,20 +3581,16 @@ li[data-type="groupchat"] .jsxc_video { margin-top: 20px; } #jsxc_dialog .jsxc_right { margin-top: 20px; } - #jsxc_dialog form { - /*&.col-sm-6:nth-child(odd) { - clear: left; - }*/ } - #jsxc_dialog form fieldset { - margin-bottom: 30px; - padding: 0px 30px; - border: 1px solid #d9d9d9; } - #jsxc_dialog form fieldset h3 { - font-size: 15px; - color: #000; - background-color: #f2f2f2; - padding: 10px; - margin: 0 -30px 10px -30px; } + #jsxc_dialog form fieldset { + margin-bottom: 30px; + padding: 0 30px; + border: 1px solid #d9d9d9; } + #jsxc_dialog form fieldset h3 { + font-size: 15px; + color: #000; + background-color: #f2f2f2; + padding: 10px; + margin: 0 -30px 10px; } #jsxc_dialog legend { border: 0; font-size: 20px; } @@ -3803,11 +3601,11 @@ li[data-type="groupchat"] .jsxc_video { #jsxc_dialog .btn-group button { margin-right: 0; } #jsxc_dialog input[readonly] { - background-color: #e6e6e6; } + background-color: #e6e5e5; } #jsxc_dialog .jsxc_inputinfo { - padding-left: 30%; + padding: 0; font-style: italic; - margin-top: -1em; } + margin: 0; } #jsxc_dialog .jsxc_waiting:before { content: " "; width: 1em; @@ -3818,19 +3616,24 @@ li[data-type="groupchat"] .jsxc_video { background-image: url('../img/loading.gif'); } #jsxc_dialog .jsxc_libraries, #jsxc_dialog .jsxc_credits { max-width: 300px; } + #jsxc_dialog .jsxc_warning { + display: block; + background-color: #fbfe7a; + padding: 3px 10px; + border-radius: 3px; } .jsxc_avatar { width: 36px; height: 36px; line-height: 36px; - margin: 0px 5px; + margin: 0 5px; background-color: #999999; border-radius: 50%; float: left; text-align: center; font-weight: bold; font-size: 30px; - color: #b3b3b3; + color: #b3b2b2; position: relative; font-family: Arial, sans-serif; background-size: cover; @@ -3855,7 +3658,6 @@ ul.jsxc_vCard { ul.jsxc_vCard li { cursor: default !important; } -/** Spot which is attached to xmpp: uris */ .jsxc_spot { display: inline-block; width: 12px; @@ -3891,7 +3693,6 @@ ul.jsxc_vCard { margin-right: 3px; margin-top: 4px; } -/** TODO: check if required */ .jsxc_list .jsxc_inner { box-sizing: border-box; max-height: 0; @@ -3919,8 +3720,7 @@ ul.jsxc_vCard { background-size: 32px 32px !important; background: url('../img/loading.gif'); } -/* @TODO: check */ -#jsxc_loginForm input[type="submit"] { +#jsxc_loginForm input[type='submit'] { height: 34px; display: inline-block; padding: 6px 12px; @@ -3968,7 +3768,7 @@ img.jsxc_vCard { min-width: 25px; display: inline-block; padding: 6px 12px; - margin: 0px 2px; + margin: 0 2px; font-size: 14px; font-weight: 400; line-height: 1.42857143; @@ -3982,15 +3782,21 @@ img.jsxc_vCard { user-select: none; background-image: none; border: 1px solid transparent; - border-radius: 4px; } + border-radius: 4px; + -webkit-transition: background-color 0.5s; + transition: background-color 0.5s; } .jsxc_btn.jsxc_btn-default { border-color: #ccc; color: #555; background-color: rgba(240, 240, 240, 0.9); } + .jsxc_btn.jsxc_btn-default:hover { + background-color: #d6d6d6; } .jsxc_btn.jsxc_btn-primary { color: #fff; background-color: #337ab7; border-color: #2e6da4; } + .jsxc_btn.jsxc_btn-primary:hover { + background-color: #296496; } .jsxc_btn[disabled], .jsxc_btn[disabled]:hover { opacity: 0.65; cursor: not-allowed; @@ -4003,12 +3809,12 @@ img.jsxc_vCard { position: absolute; background-color: #FFF; color: #333; - border-radius: 3px 3px 3px 3px; + border-radius: 3px; z-index: 110; margin: 8px 2px 5px 10px; - right: 0px; - -webkit-filter: drop-shadow(0px 0px 5px rgba(150, 150, 150, 0.75)); - filter: drop-shadow(0px 0px 5px rgba(150, 150, 150, 0.75)); + right: 0; + -webkit-filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75)); + filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75)); padding: 4px 12px; padding-left: 5px; } .jsxc_menu:after { @@ -4038,7 +3844,7 @@ img.jsxc_vCard { white-space: nowrap; } .jsxc_menu a:hover { text-decoration: none; - opacity: 1.0; } + opacity: 1; } .jsxc_menu a.jsxc_disabled { text-decoration: line-through; opacity: 0.5; } @@ -4087,6 +3893,9 @@ img.jsxc_vCard { .jsxc_bookmarkicon { background-image: url('../img/bookmark_black.svg'); } +.jsxc_announcementicon { + background-image: url('../img/megaphone_icon_black.svg'); } + .jsxc_more { float: right; width: 44px; @@ -4097,7 +3906,7 @@ img.jsxc_vCard { background-position: center; opacity: 0.4; } .jsxc_more:hover { - opacity: 1.0; } + opacity: 1; } @media (min-width: 768px) { .jsxc_more { width: 25px; } } @@ -4138,13 +3947,207 @@ img.jsxc_vCard { #jsxc_webrtc li .jsxc_name:hover { color: #bbb; } +.jsxc_establishing:after, .jsxc_ringing:after { + content: " "; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: rgba(0, 0, 0, 0.4); + z-index: 10; } + +.jsxc_establishing:before { + content: " "; + display: block; + width: 40px; + height: 10px; + box-sizing: border-box; + background-color: #a1a1a1; + -webkit-animation-name: jsxc_establishing; + animation-name: jsxc_establishing; + -webkit-animation-duration: 2s; + animation-duration: 2s; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + position: absolute; + top: 50%; + left: 50%; + z-index: 20; + margin-left: -20px; + margin-top: -5px; } + +@-webkit-keyframes jsxc_establishing { + 0% { + border-width: 0; + background-color: #a1a1a1; + width: 40px; + margin-left: -20px; } + 50% { + background-color: #f1f1f1; + width: 80px; + margin-left: -40px; } + 100% { + border-width: 0; + background-color: #a1a1a1; + width: 40px; + margin-left: -20px; } } + +@keyframes jsxc_establishing { + 0% { + border-width: 0; + background-color: #a1a1a1; + width: 40px; + margin-left: -20px; } + 50% { + background-color: #f1f1f1; + width: 80px; + margin-left: -40px; } + 100% { + border-width: 0; + background-color: #a1a1a1; + width: 40px; + margin-left: -20px; } } + +.jsxc_ringing:before { + content: " "; + display: block; + width: 20px; + height: 20px; + box-sizing: border-box; + background-color: #98d48f; + border-radius: 50%; + -webkit-animation-name: jsxc_ringing; + animation-name: jsxc_ringing; + -webkit-animation-duration: 2s; + animation-duration: 2s; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + position: absolute; + top: 50%; + left: 50%; + z-index: 20; + margin-left: -10px; + margin-top: -10px; } + +@-webkit-keyframes jsxc_ringing { + 0% { + background-color: #98d48f; + width: 20px; + height: 20px; + margin-left: -10px; + margin-top: -10px; } + 50% { + background-color: #76ba6c; + width: 80px; + height: 80px; + margin-left: -40px; + margin-top: -40px; } + 100% { + background-color: #98d48f; + width: 20px; + height: 20px; + margin-left: -10px; + margin-top: -10px; } } + +@keyframes jsxc_ringing { + 0% { + background-color: #98d48f; + width: 20px; + height: 20px; + margin-left: -10px; + margin-top: -10px; } + 50% { + background-color: #76ba6c; + width: 80px; + height: 80px; + margin-left: -40px; + margin-top: -40px; } + 100% { + background-color: #98d48f; + width: 20px; + height: 20px; + margin-left: -10px; + margin-top: -10px; } } + +.jsxc_bell:before { + content: " "; + display: block; + width: 80px; + height: 80px; + box-sizing: border-box; + background-image: url('../img/bell.svg'); + background-size: contain; + background-position: center; + background-repeat: no-repeat; + -webkit-animation-name: jsxc_ringing; + animation-name: jsxc_ringing; + -webkit-animation-duration: 1.5s; + animation-duration: 1.5s; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + position: absolute; + top: 50%; + left: 50%; + z-index: 20; + margin-left: -40px; + margin-top: -40px; } + +@-webkit-keyframes jsxc_bell { + 0% { + margin-left: -50px; } + 5% { + margin-left: -30px; } + 10% { + margin-left: -50px; } + 15% { + margin-left: -30px; } + 20% { + margin-left: -50px; } + 25% { + margin-left: -30px; } + 30% { + margin-left: -50px; } + 35% { + margin-left: -40px; } } + +@keyframes jsxc_bell { + 0% { + margin-left: -50px; } + 5% { + margin-left: -30px; } + 10% { + margin-left: -50px; } + 15% { + margin-left: -30px; } + 20% { + margin-left: -50px; } + 25% { + margin-left: -30px; } + 30% { + margin-left: -50px; } + 35% { + margin-left: -40px; } } + .jsxc_videoContainer { position: absolute; top: 0; left: 0; - right: 0px; - bottom: 0px; + right: 0; + bottom: 0; background-color: #999999; } + .jsxc_videoContainer.jsxc_minimized { + position: fixed; + top: 10px; + left: 10px; + right: auto; + bottom: auto; + z-index: 99; + background-color: transparent; + box-shadow: 0 0 10px #a1a1a1; } + .jsxc_videoContainer.jsxc_minimized .jsxc_localvideo { + position: static; + display: block; } .jsxc_videoContainer video { display: none; } .jsxc_videoContainer .jsxc_noRemoteVideo { @@ -4155,7 +4158,7 @@ img.jsxc_vCard { .jsxc_videoContainer .jsxc_controlbar { opacity: 0; } .jsxc_videoContainer:hover .jsxc_controlbar { - opacity: 1.0; } } + opacity: 1; } } .jsxc_noRemoteVideo p { position: absolute; @@ -4176,7 +4179,7 @@ img.jsxc_vCard { left: 50%; margin-left: -100px; } .jsxc_noRemoteVideo > div > div { - background-color: #4d4d4d; } + background-color: #4d4c4c; } .jsxc_noRemoteVideo > div > div:first-child { width: 50%; height: 50%; @@ -4200,7 +4203,7 @@ img.jsxc_vCard { bottom: 10px; z-index: 9990; background-color: #000; - cursor: pointer; } + cursor: move; } div:full-screen { width: 100%; @@ -4246,13 +4249,13 @@ div.jsxc_video { div.jsxc_video.jsxc_disabled { background-image: url('../img/camera_disabled_icon_white.svg'); } div.jsxc_video:not(.jsxc_disabled):hover { - opacity: 1.0; } + opacity: 1; } .jsxc_controlbar { position: absolute; top: 50px; left: 0; - right: 0px; + right: 0; text-align: center; z-index: 9090; -webkit-transition: 1s opacity; @@ -4263,12 +4266,12 @@ div.jsxc_video { bottom: 5%; top: initial; } } .jsxc_controlbar.jsxc_visible { - opacity: 1.0; } + opacity: 1; } .jsxc_controlbar > div { background-color: rgba(0, 0, 0, 0.5); height: 44px; border-radius: 22px; - padding: 0px 5px; + padding: 0 5px; display: inline-block; } .jsxc_controlbar .jsxc_videoControl { height: 44px; @@ -4281,7 +4284,7 @@ div.jsxc_video { display: inline-block; opacity: 0.8; } .jsxc_controlbar .jsxc_videoControl:hover { - opacity: 1.0; } + opacity: 1; } .jsxc_controlbar .jsxc_hangUp { background-image: url('../img/hang_up_red.svg'); } .jsxc_controlbar .jsxc_fullscreen { @@ -4335,65 +4338,6 @@ div.jsxc_video { list-style: none; padding: 0; } -.bubblingG { - text-align: center; - width: 129px; - height: 80px; - position: absolute; - top: 40%; - left: 50%; - margin-left: -64px; } - .bubblingG span { - display: inline-block; - vertical-align: middle; - width: 16px; - height: 16px; - margin: 40px auto; - background: #000; - border-radius: 81px; - -webkit-animation: bubblingG 1.3s infinite alternate; - animation: bubblingG 1.3s infinite alternate; } - -#bubblingG_1 { - -webkit-animation-delay: 0s; - animation-delay: 0s; } - -#bubblingG_2 { - -webkit-animation-delay: 0.39s; - animation-delay: 0.39s; } - -#bubblingG_3 { - -webkit-animation-delay: 0.78s; - animation-delay: 0.78s; } - -@-webkit-keyframes bubblingG { - 0% { - width: 16px; - height: 16px; - background-color: #000; - -webkit-transform: translateY(0); - transform: translateY(0); } - 100% { - width: 39px; - height: 39px; - background-color: #fff; - -webkit-transform: translateY(-34px); - transform: translateY(-34px); } } - -@keyframes bubblingG { - 0% { - width: 16px; - height: 16px; - background-color: #000; - -webkit-transform: translateY(0); - transform: translateY(0); } - 100% { - width: 39px; - height: 39px; - background-color: #fff; - -webkit-transform: translateY(-34px); - transform: translateY(-34px); } } - .jsxc_fullscreen.jsxc_localvideo { border: 1px solid #fff; } diff --git a/build/js/jsxc/css/magnific-popup.css b/build/js/jsxc/css/magnific-popup.css index a530c65..8561e18 100644 --- a/build/js/jsxc/css/magnific-popup.css +++ b/build/js/jsxc/css/magnific-popup.css @@ -8,8 +8,7 @@ overflow: hidden; position: fixed; background: #0b0b0b; - opacity: 0.8; - filter: alpha(opacity=80); } + opacity: 0.8; } .mfp-wrap { top: 0; @@ -29,8 +28,6 @@ left: 0; top: 0; padding: 0 8px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; box-sizing: border-box; } .mfp-container:before { @@ -50,7 +47,8 @@ text-align: left; z-index: 1045; } -.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content { +.mfp-inline-holder .mfp-content, +.mfp-ajax-holder .mfp-content { width: 100%; cursor: auto; } @@ -71,7 +69,10 @@ .mfp-auto-cursor .mfp-content { cursor: auto; } -.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter { +.mfp-close, +.mfp-arrow, +.mfp-preloader, +.mfp-counter { -webkit-user-select: none; -moz-user-select: none; user-select: none; } @@ -103,7 +104,8 @@ .mfp-s-error .mfp-content { display: none; } -button.mfp-close, button.mfp-arrow { +button.mfp-close, +button.mfp-arrow { overflow: visible; cursor: pointer; background: transparent; @@ -113,8 +115,9 @@ button.mfp-close, button.mfp-arrow { outline: none; padding: 0; z-index: 1046; - -webkit-box-shadow: none; - box-shadow: none; } + box-shadow: none; + touch-action: manipulation; } + button::-moz-focus-inner { padding: 0; border: 0; } @@ -129,22 +132,22 @@ button::-moz-focus-inner { text-decoration: none; text-align: center; opacity: 0.65; - filter: alpha(opacity=65); padding: 0 0 18px 10px; color: #FFF; font-style: normal; font-size: 28px; font-family: Arial, Baskerville, monospace; } - .mfp-close:hover, .mfp-close:focus { - opacity: 1; - filter: alpha(opacity=100); } + .mfp-close:hover, + .mfp-close:focus { + opacity: 1; } .mfp-close:active { top: 1px; } .mfp-close-btn-in .mfp-close { color: #333; } -.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close { +.mfp-image-holder .mfp-close, +.mfp-iframe-holder .mfp-close { color: #FFF; right: -6px; text-align: right; @@ -163,20 +166,20 @@ button::-moz-focus-inner { .mfp-arrow { position: absolute; opacity: 0.65; - filter: alpha(opacity=65); margin: 0; top: 50%; margin-top: -55px; padding: 0; width: 90px; height: 110px; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } + -webkit-tap-highlight-color: transparent; } .mfp-arrow:active { margin-top: -54px; } - .mfp-arrow:hover, .mfp-arrow:focus { - opacity: 1; - filter: alpha(opacity=100); } - .mfp-arrow:before, .mfp-arrow:after, .mfp-arrow .mfp-b, .mfp-arrow .mfp-a { + .mfp-arrow:hover, + .mfp-arrow:focus { + opacity: 1; } + .mfp-arrow:before, + .mfp-arrow:after { content: ''; display: block; width: 0; @@ -187,30 +190,30 @@ button::-moz-focus-inner { margin-top: 35px; margin-left: 35px; border: medium inset transparent; } - .mfp-arrow:after, .mfp-arrow .mfp-a { + .mfp-arrow:after { border-top-width: 13px; border-bottom-width: 13px; top: 8px; } - .mfp-arrow:before, .mfp-arrow .mfp-b { + .mfp-arrow:before { border-top-width: 21px; border-bottom-width: 21px; opacity: 0.7; } .mfp-arrow-left { left: 0; } - .mfp-arrow-left:after, .mfp-arrow-left .mfp-a { + .mfp-arrow-left:after { border-right: 17px solid #FFF; margin-left: 31px; } - .mfp-arrow-left:before, .mfp-arrow-left .mfp-b { + .mfp-arrow-left:before { margin-left: 25px; border-right: 27px solid #3F3F3F; } .mfp-arrow-right { right: 0; } - .mfp-arrow-right:after, .mfp-arrow-right .mfp-a { + .mfp-arrow-right:after { border-left: 17px solid #FFF; margin-left: 39px; } - .mfp-arrow-right:before, .mfp-arrow-right .mfp-b { + .mfp-arrow-right:before { border-left: 27px solid #3F3F3F; } .mfp-iframe-holder { @@ -245,8 +248,6 @@ img.mfp-img { height: auto; display: block; line-height: 0; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; box-sizing: border-box; padding: 40px 0 40px; margin: 0 auto; } @@ -318,8 +319,6 @@ img.mfp-img { top: auto; padding: 3px 5px; position: fixed; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; box-sizing: border-box; } .mfp-img-mobile .mfp-bottom-bar:empty { padding: 0; } @@ -335,40 +334,18 @@ img.mfp-img { background: rgba(0, 0, 0, 0.6); position: fixed; text-align: center; - padding: 0; } - } + padding: 0; } } @media all and (max-width: 900px) { .mfp-arrow { -webkit-transform: scale(0.75); transform: scale(0.75); } - .mfp-arrow-left { -webkit-transform-origin: 0; transform-origin: 0; } - .mfp-arrow-right { -webkit-transform-origin: 100%; transform-origin: 100%; } - .mfp-container { padding-left: 6px; - padding-right: 6px; } - } - -.mfp-ie7 .mfp-img { - padding: 0; } -.mfp-ie7 .mfp-bottom-bar { - width: 600px; - left: 50%; - margin-left: -300px; - margin-top: 5px; - padding-bottom: 5px; } -.mfp-ie7 .mfp-container { - padding: 0; } -.mfp-ie7 .mfp-content { - padding-top: 44px; } -.mfp-ie7 .mfp-close { - top: 0; - right: 0; - padding-top: 0; } + padding-right: 6px; } } diff --git a/build/js/jsxc/img/bell.svg b/build/js/jsxc/img/bell.svg new file mode 100644 index 0000000..8f82d27 --- /dev/null +++ b/build/js/jsxc/img/bell.svg @@ -0,0 +1,61 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/build/js/jsxc/img/composing.png b/build/js/jsxc/img/composing.png new file mode 100644 index 0000000..184e7a7 Binary files /dev/null and b/build/js/jsxc/img/composing.png differ diff --git a/build/js/jsxc/img/download_icon_black.svg b/build/js/jsxc/img/download_icon_black.svg new file mode 100644 index 0000000..bcc2209 --- /dev/null +++ b/build/js/jsxc/img/download_icon_black.svg @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/build/js/jsxc/img/download_icon_gray.svg b/build/js/jsxc/img/download_icon_gray.svg new file mode 100644 index 0000000..9f978d9 --- /dev/null +++ b/build/js/jsxc/img/download_icon_gray.svg @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/build/js/jsxc/img/download_icon_white.svg b/build/js/jsxc/img/download_icon_white.svg new file mode 100644 index 0000000..576a0a4 --- /dev/null +++ b/build/js/jsxc/img/download_icon_white.svg @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/build/js/jsxc/img/emotions/nextcloud.svg b/build/js/jsxc/img/emotions/nextcloud.svg new file mode 100644 index 0000000..3126a03 --- /dev/null +++ b/build/js/jsxc/img/emotions/nextcloud.svg @@ -0,0 +1,98 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/build/js/jsxc/img/megaphone_icon_black.svg b/build/js/jsxc/img/megaphone_icon_black.svg new file mode 100644 index 0000000..23a924f --- /dev/null +++ b/build/js/jsxc/img/megaphone_icon_black.svg @@ -0,0 +1,73 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/build/js/jsxc/jsxc.js b/build/js/jsxc/jsxc.js index d1b72cd..935bc12 100644 --- a/build/js/jsxc/jsxc.js +++ b/build/js/jsxc/jsxc.js @@ -1,13 +1,13 @@ /*! - * jsxc v3.0.1 - 2016-10-28 + * jsxc v3.1.0-beta - 2017-01-23 * - * Copyright (c) 2016 Klaus Herberth
+ * Copyright (c) 2017 Klaus Herberth
* Released under the MIT license * * Please see http://www.jsxc.org/ * * @author Klaus Herberth - * @version 3.0.1 + * @version 3.1.0-beta * @license MIT */ @@ -25,7 +25,7 @@ var jsxc = null, RTC = null, RTCPeerconnection = null; */ jsxc = { /** Version of jsxc */ - version: '3.0.1', + version: '3.1.0-beta', /** True if i'm the master */ master: false, @@ -78,6 +78,12 @@ jsxc = { /** My bar id */ bid: null, + /** Current state */ + currentState: null, + + /** Current UI state */ + currentUIState: null, + /** Some constants */ CONST: { NOTIFICATION_DEFAULT: 'default', @@ -98,7 +104,20 @@ jsxc = { FORWARD: 'urn:xmpp:forward:0' }, HIDDEN: 'hidden', - SHOWN: 'shown' + SHOWN: 'shown', + STATE: { + INITIATING: 0, + PREVCONFOUND: 1, + SUSPEND: 2, + TRYTOINTERCEPT: 3, + INTERCEPTED: 4, + ESTABLISHING: 5, + READY: 6 + }, + UISTATE: { + INITIATING: 0, + READY: 1 + } }, /** @@ -210,6 +229,7 @@ jsxc = { * @param {object} options See {@link jsxc.options} */ init: function(options) { + jsxc.changeState(jsxc.CONST.STATE.INITIATING); if (options && options.loginForm && typeof options.loginForm.attachIfFound === 'boolean' && !options.loginForm.ifFound) { // translate deprated option attachIfFound found to new ifFound @@ -270,15 +290,22 @@ jsxc = { lang = jsxc.options.defaultLang; } - // initialize i18n translator - $.i18n.init({ + // initialize i18next translator + window.i18next.init({ lng: lang, fallbackLng: 'en', - resStore: I18next, - // use localStorage and set expiration to a day - useLocalStorage: true, - localStorageExpirationTime: 60 * 60 * 24 * 1000, - debug: jsxc.storage.getItem('debug') === true + resources: I18next, + debug: jsxc.storage.getItem('debug') === true, + interpolation: { + prefix: '__', + suffix: '__' + } + }, function() { + window.jqueryI18next.init(window.i18next, $, { + tName: 't', + i18nName: 'i18next', + handleName: 'localize', + }); }); if (jsxc.storage.getItem('debug') === true) { @@ -303,6 +330,7 @@ jsxc = { // Looking for a login form if (!jsxc.isLoginForm()) { + jsxc.changeState(jsxc.CONST.STATE.SUSPEND); if (jsxc.options.displayRosterMinimized()) { // Show minimized roster @@ -314,6 +342,8 @@ jsxc = { return; } + jsxc.changeState(jsxc.CONST.STATE.TRYTOINTERCEPT); + if (typeof jsxc.options.formFound === 'function') { jsxc.options.formFound.call(); } @@ -335,7 +365,9 @@ jsxc = { form.off('submit'); // Add jsxc login action to form - form.submit(function() { + form.submit(function(ev) { + ev.preventDefault(); + jsxc.prepareLogin(function(settings) { if (settings !== false) { // settings.xmpp.onlogin is deprecated since v2.1.0 @@ -356,9 +388,12 @@ jsxc = { return false; }); + jsxc.changeState(jsxc.CONST.STATE.INTERCEPTED); + } else if (!jsxc.isLoginForm() || (jsxc.options.loginForm && jsxc.options.loginForm.ifFound === 'attach')) { // Restore old connection + jsxc.changeState(jsxc.CONST.STATE.PREVCONFOUND); if (typeof jsxc.storage.getItem('alive') === 'undefined') { jsxc.onMaster(); @@ -566,14 +601,10 @@ jsxc = { jsxc.gui.init(); $('#jsxc_roster').removeClass('jsxc_noConnection'); - jsxc.restoreRoster(); - jsxc.restoreWindows(); - jsxc.restoreCompleted = true; - jsxc.registerLogout(); jsxc.gui.updateAvatar($('#jsxc_roster > .jsxc_bottom'), jsxc.jidToBid(jsxc.storage.getItem('jid')), 'own'); - $(document).trigger('restoreCompleted.jsxc'); + jsxc.gui.restore(); }, /** @@ -787,8 +818,12 @@ jsxc = { if (form.find('#submit').length > 0) { form.find('#submit').click(); - } else { + } else if (form.get(0) && typeof form.get(0).submit === 'function') { form.submit(); + } else if (form.find('[type="submit"]').length > 0) { + form.find('[type="submit"]').click(); + } else { + jsxc.warn('Could not submit login form.'); } }, @@ -928,12 +963,28 @@ jsxc = { isExtraSmallDevice: function() { return $(window).width() < 500; + }, + + changeState: function(state) { + jsxc.currentState = state; + + jsxc.debug('State changed to ' + Object.keys(jsxc.CONST.STATE)[state]); + + $(document).trigger('stateChange.jsxc', state); + }, + + changeUIState: function(state) { + jsxc.currentUIState = state; + + jsxc.debug('UI State changed to ' + Object.keys(jsxc.CONST.UISTATE)[state]); + + $(document).trigger('stateUIChange.jsxc', state); } }; /** * Handle XMPP stuff. - * + * * @namespace jsxc.xmpp */ jsxc.xmpp = { @@ -941,14 +992,14 @@ jsxc.xmpp = { /** * Create new connection or attach to old - * + * * @name login * @memberOf jsxc.xmpp * @private */ /** * Create new connection with given parameters. - * + * * @name login^2 * @param {string} jid * @param {string} password @@ -957,7 +1008,7 @@ jsxc.xmpp = { */ /** * Attach connection with given parameters. - * + * * @name login^3 * @param {string} jid * @param {string} sid @@ -1074,6 +1125,8 @@ jsxc.xmpp = { jsxc.xmpp.conn.caps.node = 'http://jsxc.org/'; } + jsxc.changeState(jsxc.CONST.STATE.ESTABLISHING); + if (sid && rid) { jsxc.debug('Try to attach'); jsxc.debug('SID: ' + sid); @@ -1109,7 +1162,7 @@ jsxc.xmpp = { /** * Logs user out of his xmpp session and does some clean up. - * + * * @param {boolean} complete If set to false, roster will not be removed * @returns {Boolean} */ @@ -1176,7 +1229,7 @@ jsxc.xmpp = { /** * Triggered if connection is established - * + * * @private */ connected: function() { @@ -1204,12 +1257,13 @@ jsxc.xmpp = { jsxc.xmpp.conn.resume(); jsxc.onMaster(); + jsxc.changeState(jsxc.CONST.STATE.READY); $(document).trigger('attached.jsxc'); }, /** * Triggered if connection is attached - * + * * @private */ attached: function() { @@ -1217,7 +1271,8 @@ jsxc.xmpp = { $('#jsxc_roster').removeClass('jsxc_noConnection'); jsxc.xmpp.conn.addHandler(jsxc.xmpp.onRosterChanged, 'jabber:iq:roster', 'iq', 'set'); - jsxc.xmpp.conn.addHandler(jsxc.xmpp.onMessage, null, 'message', 'chat'); + jsxc.xmpp.conn.addHandler(jsxc.xmpp.onChatMessage, null, 'message', 'chat'); + jsxc.xmpp.conn.addHandler(jsxc.xmpp.onHeadlineMessage, null, 'message', 'headline'); jsxc.xmpp.conn.addHandler(jsxc.xmpp.onReceived, null, 'message'); jsxc.xmpp.conn.addHandler(jsxc.xmpp.onPresence, null, 'presence'); @@ -1279,17 +1334,15 @@ jsxc.xmpp = { jsxc.xmpp.sendPres(); if (!jsxc.restoreCompleted) { - jsxc.restoreRoster(); - jsxc.restoreWindows(); - jsxc.restoreCompleted = true; - - $(document).trigger('restoreCompleted.jsxc'); + jsxc.gui.restore(); } } jsxc.xmpp.saveSessionParameter(); jsxc.masterActions(); + + jsxc.changeState(jsxc.CONST.STATE.READY); }, saveSessionParameter: function() { @@ -1350,7 +1403,7 @@ jsxc.xmpp = { /** * Triggered if lost connection - * + * * @private */ disconnected: function() { @@ -1375,6 +1428,7 @@ jsxc.xmpp = { if (jsxc.triggeredFromElement) { $(document).trigger('toggle.roster.jsxc', ['hidden', 0]); + jsxc.gui.roster.ready = false; $('#jsxc_roster').remove(); // REVIEW: logoutElement without href attribute? @@ -1389,11 +1443,13 @@ jsxc.xmpp = { jsxc.role_allocation = false; jsxc.master = false; jsxc.storage.removeItem('alive'); + + jsxc.changeState(jsxc.CONST.STATE.SUSPEND); }, /** * Triggered on connection fault - * + * * @param {String} condition information why we lost the connection * @private */ @@ -1407,7 +1463,7 @@ jsxc.xmpp = { /** * Triggered on auth fail. - * + * * @private */ onAuthFail: function() { @@ -1429,7 +1485,7 @@ jsxc.xmpp = { /** * Triggered on initial roster load - * + * * @param {dom} iq * @private */ @@ -1477,11 +1533,12 @@ jsxc.xmpp = { jsxc.gui.roster.loaded = true; jsxc.debug('Roster loaded'); $(document).trigger('cloaded.roster.jsxc'); + jsxc.changeUIState(jsxc.CONST.UISTATE.READY); }, /** * Triggerd on roster changes - * + * * @param {dom} iq * @returns {Boolean} True to preserve handler * @private @@ -1556,19 +1613,19 @@ jsxc.xmpp = { /** * Triggered on incoming presence stanzas - * + * * @param {dom} presence * @private */ onPresence: function(presence) { /* * - * + * * 5 * - * + * * chat * 5 = 0; + + if (jsxc.otr.objects.hasOwnProperty(bid) && !isMucBid) { + jsxc.otr.objects[bid].sendMsg(msg, message); } else { - jsxc.xmpp._sendMessage(jsxc.gui.window.get(bid).data('jid'), msg, uid); + jsxc.xmpp._sendMessage(jsxc.gui.window.get(bid).data('jid'), msg, message); } }, /** * Create message stanza and send it. - * + * * @memberOf jsxc.xmpp * @param jid Jabber id * @param msg Message * @param uid unique id * @private */ - _sendMessage: function(jid, msg, uid) { + _sendMessage: function(jid, msg, message) { + // @TODO put jid into message object var data = jsxc.storage.getUserItem('buddy', jsxc.jidToBid(jid)) || {}; var isBar = (Strophe.getBareJidFromJid(jid) === jid); var type = data.type || 'chat'; + message = message || {}; var xmlMsg = $msg({ to: jid, type: type, - id: uid - }).c('body').t(msg); + id: message._uid + }); + + if (message.type === jsxc.Message.HTML) { + xmlMsg.c("html", { + xmlns: Strophe.NS.XHTML_IM + }); + + // Omit StropheJS XEP-0071 limitations + var body = Strophe.xmlElement("body", { + xmlns: Strophe.NS.XHTML + }); + body.innerHTML = msg; + + xmlMsg.node.appendChild(body); + } else { + xmlMsg.c('body').t(msg); + } if (jsxc.xmpp.carbons.enabled && msg.match(/^\?OTR/)) { xmlMsg.up().c("private", { @@ -1990,12 +2141,19 @@ jsxc.xmpp = { }); } + if (jsxc.xmpp.conn.chatstates && !jsxc.xmpp.chatState.isDisabled()) { + // send active event (XEP-0085) + xmlMsg.up().c('active', { + xmlns: Strophe.NS.CHATSTATES + }); + } + jsxc.xmpp.conn.send(xmlMsg); }, /** * This function loads a vcard. - * + * * @memberOf jsxc.xmpp * @param bid * @param cb @@ -2019,7 +2177,7 @@ jsxc.xmpp = { /** * Retrieves capabilities. - * + * * @memberOf jsxc.xmpp * @param jid * @returns List of known capabilities @@ -2041,7 +2199,7 @@ jsxc.xmpp = { /** * Test if jid has given features - * + * * @param {string} jid Jabber id * @param {string[]} feature Single feature or list of features * @param {Function} cb Called with the result as first param. @@ -2093,7 +2251,7 @@ jsxc.xmpp = { /** * Handle carbons (XEP-0280); - * + * * @namespace jsxc.xmpp.carbons */ jsxc.xmpp.carbons = { @@ -2101,7 +2259,7 @@ jsxc.xmpp.carbons = { /** * Enable carbons. - * + * * @memberOf jsxc.xmpp.carbons * @param cb callback */ @@ -2127,7 +2285,7 @@ jsxc.xmpp.carbons = { /** * Disable carbons. - * + * * @memberOf jsxc.xmpp.carbons * @param cb callback */ @@ -2153,7 +2311,7 @@ jsxc.xmpp.carbons = { /** * Enable/Disable carbons depending on options key. - * + * * @memberOf jsxc.xmpp.carbons * @param err error message */ @@ -2171,266 +2329,254 @@ jsxc.xmpp.carbons = { }; /** - * Load message object with given uid. - * - * @class Message - * @memberOf jsxc - * @param {string} uid Unified identifier from message object + * @namespace jsxc.fileTransfer + * @type {Object} */ +jsxc.fileTransfer = {}; + /** - * Create new message object. + * Make bytes more human readable. * - * @class Message - * @memberOf jsxc - * @param {object} args New message properties - * @param {string} args.bid - * @param {direction} args.direction - * @param {string} args.msg - * @param {boolean} args.encrypted - * @param {boolean} args.forwarded - * @param {boolean} args.sender - * @param {integer} args.stamp - * @param {object} args.attachment Attached data - * @param {string} args.attachment.name File name - * @param {string} args.attachment.size File size - * @param {string} args.attachment.type File type - * @param {string} args.attachment.data File data + * @memberOf jsxc.fileTransfer + * @param {Integer} byte + * @return {String} */ +jsxc.fileTransfer.formatByte = function(byte) { + var s = ['', 'KB', 'MB', 'GB', 'TB']; + var i; -jsxc.Message = function() { - - /** @member {string} */ - this._uid = null; - - /** @member {boolean} */ - this._received = false; - - /** @member {boolean} */ - this.encrypted = false; + for (i = 1; i < s.length; i++) { + if (byte < 1024) { + break; + } + byte /= 1024; + } - /** @member {boolean} */ - this.forwarded = false; + return (Math.round(byte * 10) / 10) + s[i - 1]; +}; - /** @member {integer} */ - this.stamp = new Date().getTime(); +/** + * Start file transfer dialog. + * + * @memberOf jsxc.fileTransfer + * @param {String} jid + */ +jsxc.fileTransfer.startGuiAction = function(jid) { + var bid = jsxc.jidToBid(jid); + var res = Strophe.getResourceFromJid(jid); - if (typeof arguments[0] === 'string' && arguments[0].length > 0 && arguments.length === 1) { - this._uid = arguments[0]; + if (!res && !jsxc.xmpp.httpUpload.ready) { + jsxc.fileTransfer.selectResource(bid, jsxc.fileTransfer.startGuiAction); - this.load(this._uid); - } else if (typeof arguments[0] === 'object' && arguments[0] !== null) { - $.extend(this, arguments[0]); + return; } - if (!this._uid) { - this._uid = new Date().getTime() + ':msg'; - } + jsxc.fileTransfer.showFileSelection(jid); }; /** - * Load message properties. + * Show select dialog for file transfer capable resources. * - * @memberof jsxc.Message - * @param {string} uid + * @memberOf jsxc.fileTransfer + * @param {String} bid + * @param {Function} success_cb Called if user selects resource + * @param {Function} error_cb Called if no resource was found or selected */ -jsxc.Message.prototype.load = function(uid) { - var data = jsxc.storage.getUserItem('msg', uid); +jsxc.fileTransfer.selectResource = function(bid, success_cb, error_cb) { + var win = jsxc.gui.window.get(bid); + var jid = win.data('jid'); + var res = Strophe.getResourceFromJid(jid); + + var fileCapableRes = jsxc.webrtc.getCapableRes(jid, jsxc.webrtc.reqFileFeatures); + var resources = Object.keys(jsxc.storage.getUserItem('res', bid)) || []; + + if (res === null && resources.length === 1 && fileCapableRes.length === 1) { + // only one resource is available and this resource is also capable to receive files + res = fileCapableRes[0]; + jid = bid + '/' + res; + + success_cb(jid); + } else if (fileCapableRes.indexOf(res) >= 0) { + // currently used resource is capable to receive files + success_cb(bid + '/' + res); + } else if (fileCapableRes.indexOf(res) < 0) { + // show selection dialog + jsxc.gui.window.selectResource(bid, $.t('Your_contact_uses_multiple_clients_'), function(data) { + if (data.status === 'unavailable') { + jsxc.gui.window.hideOverlay(bid); - if (!data) { - jsxc.debug('Could not load message with uid ' + uid); + if (typeof error_cb === 'function') { + error_cb(); + } + } else if (data.status === 'selected') { + success_cb(bid + '/' + data.result); + } + }, fileCapableRes); } - - $.extend(this, data); }; /** - * Save message properties and create thumbnail. + * Show file selector. * - * @memberOf jsxc.Message - * @return {Message} this object + * @memberOf jsxc.fileTransfer + * @param {String} jid */ -jsxc.Message.prototype.save = function() { - var history; +jsxc.fileTransfer.showFileSelection = function(jid) { + var bid = jsxc.jidToBid(jid); + var msg = $('
'); + msg.addClass('jsxc_chatmessage'); - if (this.bid) { - history = jsxc.storage.getUserItem('history', this.bid) || []; + jsxc.gui.window.showOverlay(bid, msg, true); - if (history.indexOf(this._uid) < 0) { - if (history.length > jsxc.options.get('numberOfMsg')) { - jsxc.Message.delete(history.pop()); - } - } else { - history = null; + // open file selection for user + msg.find('label').click(); + + msg.find('[type="file"]').change(function(ev) { + var file = ev.target.files[0]; // FileList object + + if (!file) { + return; } - } - if (Image && this.attachment && this.attachment.type.match(/^image\//i) && this.attachment.data) { - var sHeight, sWidth, sx, sy; - var dHeight = 100, - dWidth = 100; - var canvas = $("").get(0); + jsxc.fileTransfer.fileSelected(jid, msg, file); + }); +}; - canvas.width = dWidth; - canvas.height = dHeight; +/** + * Callback for file selector. + * + * @memberOf jsxc.fileTransfer + * @param {String} jid + * @param {jQuery} msg jQuery object of temporary file message + * @param {File} file selected file + */ +jsxc.fileTransfer.fileSelected = function(jid, msg, file) { + var bid = jsxc.jidToBid(jid); - var ctx = canvas.getContext("2d"); - var img = new Image(); + if (file.transportMethod !== 'webrtc' && jsxc.xmpp.httpUpload.ready && file.size > jsxc.options.get('httpUpload').maxSize) { + jsxc.debug('File too large for http upload.'); - img.src = this.attachment.data; + file.transportMethod = 'webrtc'; - if (img.height > img.width) { - sHeight = img.width; - sWidth = img.width; - sx = 0; - sy = (img.height - img.width) / 2; - } else { - sHeight = img.height; - sWidth = img.height; - sx = (img.width - img.height) / 2; - sy = 0; - } + jsxc.fileTransfer.selectResource(bid, function(jid) { + jsxc.fileTransfer.fileSelected(jid, msg, file); + }, function() { + var maxSize = jsxc.fileTransfer.formatByte(jsxc.options.get('httpUpload').maxSize); + var fileSize = jsxc.fileTransfer.formatByte(file.size); - ctx.drawImage(img, sx, sy, sWidth, sHeight, 0, 0, dWidth, dHeight); + jsxc.gui.window.postMessage({ + bid: bid, + direction: jsxc.Message.SYS, + msg: $.t('File_too_large') + ' (' + fileSize + ' > ' + maxSize + ')' + }); - this.attachment.thumbnail = canvas.toDataURL(); + jsxc.gui.window.hideOverlay(bid); + }); - if (this.direction === 'out') { - // save storage - this.attachment.data = null; - } + return; + } else if (!jsxc.xmpp.httpUpload.ready && Strophe.getResourceFromJid(jid)) { + // http upload not available + file.transportMethod = 'webrtc'; } - var data; - - if (this.attachment && this.attachment.size > jsxc.options.maxStorableSize && this.direction === 'in') { - jsxc.debug('Attachment to large to store'); + var attachment = $('
'); + attachment.addClass('jsxc_attachment'); + attachment.addClass('jsxc_' + file.type.replace(/\//, '-')); + attachment.addClass('jsxc_' + file.type.replace(/^([^/]+)\/.*/, '$1')); - data = this.attachment.data; - this.attachment.data = null; - this.attachment.persistent = false; + msg.empty().append(attachment); - //TODO inform user - } + if (FileReader && file.type.match(/^image\//)) { + // show image preview + var img = $('preview').attr('title', file.name); + img.attr('src', jsxc.options.get('root') + '/img/loading.gif'); + img.appendTo(attachment); - jsxc.storage.setUserItem('msg', this._uid, this); + var reader = new FileReader(); - if (history) { - history.unshift(this._uid); + reader.onload = function() { + img.attr('src', reader.result); + }; - jsxc.storage.setUserItem('history', this.bid, history); + reader.readAsDataURL(file); + } else { + attachment.text(file.name + ' (' + file.size + ' byte)'); } - if (data && this.attachment) { - this.attachment.data = data; - } + $('