WhatsApp Chat WP - Version 4.8.7

Version Description

  • New. QuadLayers dashboard widget
Download this release

Release Info

Developer quadlayers
Plugin Icon 128x128 WhatsApp Chat WP
Version 4.8.7
Comparing to
See all releases

Code changes from version 4.8.6 to 4.8.7

assets/backend/css/main.css CHANGED
@@ -1 +1,207 @@
1
- #qlwapp_contacts_table td,#qlwapp_contacts_table th{padding:1em !important;vertical-align:top;line-height:1.75em}#qlwapp_contacts_table td img.qlwapp-avatar{width:50px;height:50px}#qlwapp_contacts_table tbody.ui-sortable .wc-item-reorder-nav button{position:relative;overflow:hidden;float:left;display:block;width:24px;height:24px;margin:0;background:0 0;border:none;box-shadow:none;color:#82878c;text-indent:-9999px;cursor:pointer;outline:0}#qlwapp_contacts_table tbody.ui-sortable .wc-item-reorder-nav button::before{display:inline-block;position:absolute;top:0;right:0;width:100%;height:100%;font:normal 20px/23px dashicons;text-align:center;text-indent:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#qlwapp_contacts_table tbody.ui-sortable .wc-item-reorder-nav button.wc-move-up::before{content:"\f343"}#qlwapp_contacts_table tbody.ui-sortable .wc-item-reorder-nav button.wc-move-down::before{content:"\f347"}#qlwapp_contacts_table tbody.ui-sortable .wc-item-reorder-nav button.wc-move-disabled{color:#d5d5d5 !important;cursor:default;pointer-events:none}#qlwapp_contacts_table tbody.ui-sortable .wc-item-reorder-nav::before{content:"\f333";font-family:Dashicons;text-align:center;line-height:1;color:#999;display:block;width:24px;float:left;height:100%;line-height:24px;cursor:move}#qlwapp_modal{max-width:890px;max-height:560px;margin:auto}#qlwapp_modal.processing{pointer-events:none}#qlwapp_modal.processing:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;background-color:#ffffff;z-index:999;opacity:0.8}#qlwapp_modal.qlwapp-modal-icon .thumbnail{vertical-align:middle;text-align:center}#qlwapp_modal.qlwapp-modal-icon .thumbnail:before{content:'';display:inline-block;width:0px;height:100%;vertical-align:middle}#qlwapp_modal.qlwapp-modal-icon .thumbnail>i{text-align:center;font-size:2vw;display:inline-block;vertical-align:middle;height:auto;width:auto}#qlwapp_modal.qlwapp-modal-contact{max-width:990px;max-height:560px;margin:auto}#qlwapp_modal.qlwapp-modal-contact table{padding:15px;border-width:1px 0 0 0;box-shadow:none;table-layout:fixed}#qlwapp_modal.qlwapp-modal-contact table th{width:70px}#qlwapp_modal.qlwapp-modal-contact table td{width:calc(50% - 70px)}#qlwapp_modal.qlwapp-modal-contact .edit-attachment-frame .attachment-media-view{width:75%}#qlwapp_modal.qlwapp-modal-contact .edit-attachment-frame .attachment-info{width:25%}#qlwapp_modal.qlwapp-modal-contact .edit-attachment-frame .attachment-details{overflow:hidden}#qlwapp_modal.qlwapp-modal-contact input[type=time]{height:30px}#qlwapp_modal.qlwapp-modal-contact .panel-wrap{overflow:hidden}#qlwapp_modal.qlwapp-modal-contact .panel .options_group{overflow:hidden;border-bottom:1px solid #eee}#qlwapp_modal.qlwapp-modal-contact .panel .options_group:first-child{border-top:0}#qlwapp_modal.qlwapp-modal-contact .panel p.form-field{font-size:12px;padding:7.5px 15px;line-height:24px}#qlwapp_modal.qlwapp-modal-contact .panel p.form-field>label{display:inline-block}#qlwapp_modal.qlwapp-modal-contact .panel p.form-field>label:first-child{width:100px}#qlwapp_modal.qlwapp-modal-contact .panel p.form-field>.select2-container:nth-of-type(1){width:80px !important}#qlwapp_modal.qlwapp-modal-contact .panel p.form-field>.select2-container:nth-of-type(2){width:calc(100% - 191px) !important}#qlwapp_modal.qlwapp-modal-contact .panel p.form-field>.select2-container:only-of-type{width:calc(100% - 88px) !important}#qlwapp_modal.qlwapp-modal-contact .panel select,#qlwapp_modal.qlwapp-modal-contact .panel textarea,#qlwapp_modal.qlwapp-modal-contact .panel input[type=phone],#qlwapp_modal.qlwapp-modal-contact .panel input[type=text]{width:100%;max-width:100%}#qlwapp_modal.qlwapp-modal-contact ul.qlwapp-tabs{margin:0;width:20%;float:left;line-height:1em;padding:0 0 10px;position:relative;background-color:#fafafa;border-right:1px solid #eee;box-sizing:border-box}#qlwapp_modal.qlwapp-modal-contact ul.qlwapp-tabs:after{content:"";display:block;width:100%;height:9999em;position:absolute;bottom:-9999em;left:0;background-color:#fafafa;border-right:1px solid #eee}#qlwapp_modal.qlwapp-modal-contact ul.qlwapp-tabs li{margin:0;padding:0;display:block;position:relative}#qlwapp_modal.qlwapp-modal-contact ul.qlwapp-tabs li a{margin:0;padding:10px;display:block;box-shadow:none;text-decoration:none;line-height:20px !important;border-bottom:1px solid #eee}#qlwapp_modal.qlwapp-modal-contact ul.qlwapp-tabs li a span{margin-left:.618em;margin-right:.618em}#qlwapp_modal.qlwapp-modal-contact ul.qlwapp-tabs li a:before{content:"\f107";font-family:Dashicons;speak:none;font-weight:400;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;font-variant:normal;text-decoration:none}#qlwapp_modal.qlwapp-modal-contact .qlwapp-input,#qlwapp_modal.qlwapp-modal-contact .qlwapp-select2{width:350px;max-width:100%}#qlwapp_modal.qlwapp-modal-contact .qlwapp-input{margin:0;padding:6px;box-sizing:border-box;vertical-align:top}.settings-save-status .spinner{float:none;display:inline-block;margin:0 10px}.settings-save-status .saved{font-size:12px;display:none}.settings-save-status .saved.is-active{display:inline-block}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #qlwapp_contacts_table td,
2
+ #qlwapp_contacts_table th {
3
+ padding: 1em !important;
4
+ vertical-align: top;
5
+ line-height: 1.75em; }
6
+
7
+ #qlwapp_contacts_table td img.qlwapp-avatar {
8
+ width: 50px;
9
+ height: 50px; }
10
+
11
+ #qlwapp_contacts_table tbody.ui-sortable .wc-item-reorder-nav button {
12
+ position: relative;
13
+ overflow: hidden;
14
+ float: left;
15
+ display: block;
16
+ width: 24px;
17
+ height: 24px;
18
+ margin: 0;
19
+ background: 0 0;
20
+ border: none;
21
+ box-shadow: none;
22
+ color: #82878c;
23
+ text-indent: -9999px;
24
+ cursor: pointer;
25
+ outline: 0; }
26
+ #qlwapp_contacts_table tbody.ui-sortable .wc-item-reorder-nav button::before {
27
+ display: inline-block;
28
+ position: absolute;
29
+ top: 0;
30
+ right: 0;
31
+ width: 100%;
32
+ height: 100%;
33
+ font: normal 20px/23px dashicons;
34
+ text-align: center;
35
+ text-indent: 0;
36
+ -webkit-font-smoothing: antialiased;
37
+ -moz-osx-font-smoothing: grayscale; }
38
+ #qlwapp_contacts_table tbody.ui-sortable .wc-item-reorder-nav button.wc-move-up::before {
39
+ content: "\f343"; }
40
+ #qlwapp_contacts_table tbody.ui-sortable .wc-item-reorder-nav button.wc-move-down::before {
41
+ content: "\f347"; }
42
+ #qlwapp_contacts_table tbody.ui-sortable .wc-item-reorder-nav button.wc-move-disabled {
43
+ color: #d5d5d5 !important;
44
+ cursor: default;
45
+ pointer-events: none; }
46
+
47
+ #qlwapp_contacts_table tbody.ui-sortable .wc-item-reorder-nav::before {
48
+ content: "\f333";
49
+ font-family: Dashicons;
50
+ text-align: center;
51
+ line-height: 1;
52
+ color: #999;
53
+ display: block;
54
+ width: 24px;
55
+ float: left;
56
+ height: 100%;
57
+ line-height: 24px;
58
+ cursor: move; }
59
+
60
+ #qlwapp_modal {
61
+ max-width: 890px;
62
+ max-height: 560px;
63
+ margin: auto; }
64
+ #qlwapp_modal.processing {
65
+ pointer-events: none; }
66
+ #qlwapp_modal.processing:before {
67
+ content: '';
68
+ position: absolute;
69
+ top: 0;
70
+ bottom: 0;
71
+ left: 0;
72
+ right: 0;
73
+ background-color: #ffffff;
74
+ z-index: 999;
75
+ opacity: 0.8; }
76
+ #qlwapp_modal.qlwapp-modal-icon .thumbnail {
77
+ vertical-align: middle;
78
+ text-align: center; }
79
+ #qlwapp_modal.qlwapp-modal-icon .thumbnail:before {
80
+ content: '';
81
+ display: inline-block;
82
+ width: 0px;
83
+ height: 100%;
84
+ vertical-align: middle; }
85
+ #qlwapp_modal.qlwapp-modal-icon .thumbnail > i {
86
+ text-align: center;
87
+ font-size: 2vw;
88
+ display: inline-block;
89
+ vertical-align: middle;
90
+ height: auto;
91
+ width: auto; }
92
+ #qlwapp_modal.qlwapp-modal-contact {
93
+ max-width: 990px;
94
+ max-height: 560px;
95
+ margin: auto; }
96
+ #qlwapp_modal.qlwapp-modal-contact table {
97
+ padding: 15px;
98
+ border-width: 1px 0 0 0;
99
+ box-shadow: none;
100
+ table-layout: fixed; }
101
+ #qlwapp_modal.qlwapp-modal-contact table th {
102
+ width: 70px; }
103
+ #qlwapp_modal.qlwapp-modal-contact table td {
104
+ width: calc(50% - 70px); }
105
+ #qlwapp_modal.qlwapp-modal-contact .edit-attachment-frame .attachment-media-view {
106
+ width: 75%; }
107
+ #qlwapp_modal.qlwapp-modal-contact .edit-attachment-frame .attachment-info {
108
+ width: 25%; }
109
+ #qlwapp_modal.qlwapp-modal-contact .edit-attachment-frame .attachment-details {
110
+ overflow: hidden; }
111
+ #qlwapp_modal.qlwapp-modal-contact input[type=time] {
112
+ height: 30px; }
113
+ #qlwapp_modal.qlwapp-modal-contact .panel-wrap {
114
+ overflow: hidden; }
115
+ #qlwapp_modal.qlwapp-modal-contact .panel .options_group {
116
+ overflow: hidden;
117
+ border-bottom: 1px solid #eee; }
118
+ #qlwapp_modal.qlwapp-modal-contact .panel .options_group:first-child {
119
+ border-top: 0; }
120
+ #qlwapp_modal.qlwapp-modal-contact .panel p.form-field {
121
+ font-size: 12px;
122
+ padding: 7.5px 15px;
123
+ line-height: 24px; }
124
+ #qlwapp_modal.qlwapp-modal-contact .panel p.form-field > label {
125
+ display: inline-block; }
126
+ #qlwapp_modal.qlwapp-modal-contact .panel p.form-field > label:first-child {
127
+ width: 100px; }
128
+ #qlwapp_modal.qlwapp-modal-contact .panel p.form-field > .select2-container:nth-of-type(1) {
129
+ width: 80px !important; }
130
+ #qlwapp_modal.qlwapp-modal-contact .panel p.form-field > .select2-container:nth-of-type(2) {
131
+ width: calc(100% - 191px) !important; }
132
+ #qlwapp_modal.qlwapp-modal-contact .panel p.form-field > .select2-container:only-of-type {
133
+ width: calc(100% - 88px) !important; }
134
+ #qlwapp_modal.qlwapp-modal-contact .panel select,
135
+ #qlwapp_modal.qlwapp-modal-contact .panel textarea,
136
+ #qlwapp_modal.qlwapp-modal-contact .panel input[type=phone],
137
+ #qlwapp_modal.qlwapp-modal-contact .panel input[type=text] {
138
+ width: 100%;
139
+ max-width: 100%; }
140
+ #qlwapp_modal.qlwapp-modal-contact ul.qlwapp-tabs {
141
+ margin: 0;
142
+ width: 20%;
143
+ float: left;
144
+ line-height: 1em;
145
+ padding: 0 0 10px;
146
+ position: relative;
147
+ background-color: #fafafa;
148
+ border-right: 1px solid #eee;
149
+ box-sizing: border-box; }
150
+ #qlwapp_modal.qlwapp-modal-contact ul.qlwapp-tabs:after {
151
+ content: "";
152
+ display: block;
153
+ width: 100%;
154
+ height: 9999em;
155
+ position: absolute;
156
+ bottom: -9999em;
157
+ left: 0;
158
+ background-color: #fafafa;
159
+ border-right: 1px solid #eee; }
160
+ #qlwapp_modal.qlwapp-modal-contact ul.qlwapp-tabs li {
161
+ margin: 0;
162
+ padding: 0;
163
+ display: block;
164
+ position: relative; }
165
+ #qlwapp_modal.qlwapp-modal-contact ul.qlwapp-tabs li a {
166
+ margin: 0;
167
+ padding: 10px;
168
+ display: block;
169
+ box-shadow: none;
170
+ text-decoration: none;
171
+ line-height: 20px !important;
172
+ border-bottom: 1px solid #eee; }
173
+ #qlwapp_modal.qlwapp-modal-contact ul.qlwapp-tabs li a span {
174
+ margin-left: .618em;
175
+ margin-right: .618em; }
176
+ #qlwapp_modal.qlwapp-modal-contact ul.qlwapp-tabs li a:before {
177
+ content: "\f107";
178
+ font-family: Dashicons;
179
+ speak: none;
180
+ font-weight: 400;
181
+ text-transform: none;
182
+ line-height: 1;
183
+ -webkit-font-smoothing: antialiased;
184
+ font-variant: normal;
185
+ text-decoration: none; }
186
+ #qlwapp_modal.qlwapp-modal-contact .qlwapp-input,
187
+ #qlwapp_modal.qlwapp-modal-contact .qlwapp-select2 {
188
+ width: 350px;
189
+ max-width: 100%; }
190
+ #qlwapp_modal.qlwapp-modal-contact .qlwapp-input {
191
+ margin: 0;
192
+ padding: 6px;
193
+ box-sizing: border-box;
194
+ vertical-align: top; }
195
+
196
+ .settings-save-status .spinner {
197
+ float: none;
198
+ display: inline-block;
199
+ margin: 0 10px; }
200
+
201
+ .settings-save-status .saved {
202
+ font-size: 12px;
203
+ display: none; }
204
+ .settings-save-status .saved.is-active {
205
+ display: inline-block; }
206
+
207
+ /*# sourceMappingURL=main.css.map*/
assets/backend/js/admin.asset.php CHANGED
@@ -1 +1 @@
1
- <?php return array('dependencies' => array('jquery', 'qlwapp-select2', 'wp-color-picker'), 'version' => 'b72c3e0d6cbe4fffd9812912e78e34bd');
1
+ <?php return array('dependencies' => array('jquery', 'qlwapp-select2', 'wp-color-picker'), 'version' => '50b8ae6e6524d430a7e39c01bd37c548');
assets/backend/js/admin.js CHANGED
@@ -1 +1,337 @@
1
- !function(e){var t={};function n(a){if(t[a])return t[a].exports;var o=t[a]={i:a,l:!1,exports:{}};return e[a].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(a,o,function(t){return e[t]}.bind(null,o));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t){!function(){e.exports=this.jQuery}()},function(e,t,n){"use strict";n.r(t);var a=n(0),o=n.n(a);n(2),n(3);!function(e){function t(t){t?e("#submit").attr("disabled",!0):e("#submit").attr("disabled",!1)}t(!0),e("form").change((function(e){t(!1)})),e(".button").click((function(){t(!1)})),e("button").click((function(){t(!1)})),e(".qlwapp-color-field").wpColorPicker({change:function(e,n){t(!1)},clear:function(e,n){t(!1)}}),e(document).on("tinymce_change",(function(e){t(!1)})),e(document).on("qlwapp-enhanced-select",(function(t){e(".qlwapp-select2").filter(":not(.enhanced)").each((function(){e(this).select2({allowClear:!1,theme:"default",minimumResultsForSearch:-1}).addClass("enhanced")})),e(".qlwapp-select2-search").filter(":not(.enhanced)").each((function(){var t=e(this),n=e(this).data("name"),a={allowClear:!0,ajax:{url:ajaxurl,dataType:"json",data:function(e){return{name:n,per_page:10,q:e.term||0,selected:t.select2("val")||0,action:"qlwapp_get_posts",nonce:qlwapp.nonce.qlwapp_get_posts}},processResults:function(t){var n=[];return t&&e.each(t,(function(e,t){n.push({id:e,text:t})})),{results:n}},cache:!0},minimumInputLength:3};e(this).select2(a).addClass("enhanced")}))})).trigger("qlwapp-enhanced-select"),e("select[name=box]").on("change",(function(){e(".nav-tab.qlwapp_box").toggleClass("hidden"),e(".nav-tab.qlwapp_contacts").toggleClass("hidden");var t=e("#qlwapp_button_form"),n=t.find("#qlwapp_button_form_nonce").val();t.trigger("qlwapp.save",["qlwapp_save_button",n])})),"no"==e("select[name=auto_open]").val()&&e("input[name=auto_delay_open]").closest("tr").addClass("hidden"),e("select[name=auto_open]").on("change",(function(){e("input[name=auto_delay_open]").closest("tr").toggleClass("hidden")})),e(".qlwapp-color-field").wpColorPicker(),e(document).on("click",".upload_image_button",(function(t){t.preventDefault();var n=wp.media.editor.send.attachment,a=e(this);return wp.media.editor.send.attachment=function(t,o){e(a).parent().prev().attr("src",o.url),e(a).prev().val(o.url).trigger("change"),wp.media.editor.send.attachment=n},wp.media.editor.open(a),!1})),e(document).on("click",".remove_image_button",(function(t){t.preventDefault();var n=e(this).parent().prev().attr("data-src");return e(this).parent().prev().attr("src",n),e(this).prev().prev().val("").trigger("change"),!1})),e(document).on("qlwapp.save","form",(function(n,a,o){var r=e(n.currentTarget),i=r.find(".settings-save-status .spinner"),c=r.find(".settings-save-status .saved");return e.ajax({url:ajaxurl,data:{action:a,nonce:o,form_data:r.serialize()},dataType:"json",type:"POST",beforeSend:function(){t(!0),i.addClass("is-active")},complete:function(){i.removeClass("is-active")},error:function(e){console.log(e)},success:function(e){c.addClass("is-active"),e.success?setTimeout((function(){c.removeClass("is-active")}),2e3):alert(e.data)}}),!1})),e(document).on("submit","#qlwapp_button_form",(function(t){t.preventDefault();var n=e(this),a=n.find("#qlwapp_button_form_nonce").val();n.trigger("qlwapp.save",["qlwapp_save_button",a])})),e(document).on("submit","#qlwapp_box_form",(function(t){t.preventDefault();var n=e(this),a=n.find("#qlwapp_box_form_nonce").val();n.trigger("qlwapp.save",["qlwapp_save_box",a])})),e(document).on("submit","#qlwapp_display_form",(function(t){t.preventDefault();var n=e(this),a=n.find("#qlwapp_display_form_nonce").val();n.trigger("qlwapp.save",["qlwapp_save_display",a])})),e(document).on("submit","#qlwapp_scheme_form",(function(t){t.preventDefault();var n=e(this),a=n.find("#qlwapp_scheme_form_nonce").val();n.trigger("qlwapp.save",["qlwapp_save_scheme",a])}))}(o.a)},function(e,t){!function(){e.exports=this.wp.wpColorPicker}()},function(e,t){!function(){e.exports=this.jQuery.select2}()}]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = "./src/backend/admin.js");
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
+
89
+ /***/ "./src/backend/admin.js":
90
+ /*!******************************!*\
91
+ !*** ./src/backend/admin.js ***!
92
+ \******************************/
93
+ /*! no exports provided */
94
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
95
+
96
+ "use strict";
97
+ __webpack_require__.r(__webpack_exports__);
98
+ /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
99
+ /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
100
+ /* harmony import */ var wp_color_picker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wp-color-picker */ "wp-color-picker");
101
+ /* harmony import */ var wp_color_picker__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(wp_color_picker__WEBPACK_IMPORTED_MODULE_1__);
102
+ /* harmony import */ var qlwapp_select2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! qlwapp-select2 */ "qlwapp-select2");
103
+ /* harmony import */ var qlwapp_select2__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(qlwapp_select2__WEBPACK_IMPORTED_MODULE_2__);
104
+
105
+
106
+
107
+
108
+ (function ($) {
109
+ // Disbled all
110
+ // ---------------------------------------------------------------------------
111
+ function disabled(value) {
112
+ if (value) {
113
+ $('#submit').attr('disabled', true);
114
+ } else {
115
+ $('#submit').attr('disabled', false);
116
+ }
117
+ }
118
+
119
+ disabled(true);
120
+ $('form').change(function (e) {
121
+ disabled(false);
122
+ });
123
+ $('.button').click(function () {
124
+ disabled(false);
125
+ });
126
+ $('button').click(function () {
127
+ disabled(false);
128
+ });
129
+ $('.qlwapp-color-field').wpColorPicker({
130
+ change: function change(event, ui) {
131
+ disabled(false);
132
+ },
133
+ clear: function clear(event, ui) {
134
+ disabled(false);
135
+ }
136
+ });
137
+ $(document).on('tinymce_change', function (e) {
138
+ disabled(false);
139
+ });
140
+ $(document).on('qlwapp-enhanced-select', function (e) {
141
+ $('.qlwapp-select2').filter(':not(.enhanced)').each(function () {
142
+ var select2_args = {
143
+ allowClear: false,
144
+ theme: 'default',
145
+ minimumResultsForSearch: -1
146
+ };
147
+ $(this).select2(select2_args).addClass('enhanced');
148
+ });
149
+ $('.qlwapp-select2-search').filter(':not(.enhanced)').each(function () {
150
+ var $select = $(this),
151
+ name = $(this).data('name');
152
+ var select2_args = {
153
+ allowClear: true,
154
+ ajax: {
155
+ url: ajaxurl,
156
+ dataType: 'json',
157
+ //delay: 500,
158
+ data: function data(params) {
159
+ return {
160
+ name: name,
161
+ per_page: 10,
162
+ q: params.term || 0,
163
+ selected: $select.select2('val') || 0,
164
+ action: 'qlwapp_get_posts',
165
+ nonce: qlwapp.nonce.qlwapp_get_posts
166
+ };
167
+ },
168
+ processResults: function processResults(response) {
169
+ var options = [];
170
+
171
+ if (response) {
172
+ $.each(response, function (id, title) {
173
+ options.push({
174
+ id: id,
175
+ text: title
176
+ });
177
+ });
178
+ }
179
+
180
+ return {
181
+ results: options
182
+ };
183
+ },
184
+ cache: true
185
+ },
186
+ minimumInputLength: 3
187
+ };
188
+ $(this).select2(select2_args).addClass('enhanced');
189
+ }); // $('.qlwapp-select2').select2({allowClear: false, theme: 'default', minimumResultsForSearch: -1});
190
+ }).trigger('qlwapp-enhanced-select');
191
+ $('select[name=box]').on('change', function () {
192
+ $('.nav-tab.qlwapp_box').toggleClass('hidden');
193
+ $('.nav-tab.qlwapp_contacts').toggleClass('hidden');
194
+ var $form = $('#qlwapp_button_form'),
195
+ nonce = $form.find('#qlwapp_button_form_nonce').val();
196
+ $form.trigger('qlwapp.save', ['qlwapp_save_button', nonce]);
197
+ });
198
+
199
+ if ($('select[name=auto_open]').val() == 'no') {
200
+ $('input[name=auto_delay_open]').closest('tr').addClass('hidden');
201
+ }
202
+
203
+ $('select[name=auto_open]').on('change', function () {
204
+ $('input[name=auto_delay_open]').closest('tr').toggleClass('hidden');
205
+ });
206
+ $('.qlwapp-color-field').wpColorPicker();
207
+ $(document).on('click', '.upload_image_button', function (e) {
208
+ e.preventDefault();
209
+ var send_attachment_bkp = wp.media.editor.send.attachment,
210
+ button = $(this);
211
+
212
+ wp.media.editor.send.attachment = function (props, attachment) {
213
+ $(button).parent().prev().attr('src', attachment.url);
214
+ $(button).prev().val(attachment.url).trigger('change');
215
+ wp.media.editor.send.attachment = send_attachment_bkp;
216
+ };
217
+
218
+ wp.media.editor.open(button);
219
+ return false;
220
+ });
221
+ $(document).on('click', '.remove_image_button', function (e) {
222
+ e.preventDefault();
223
+ var src = $(this).parent().prev().attr('data-src');
224
+ $(this).parent().prev().attr('src', src);
225
+ $(this).prev().prev().val('').trigger('change');
226
+ return false;
227
+ }); // Ajax
228
+ // ---------------------------------------------------------------------------
229
+
230
+ $(document).on('qlwapp.save', 'form', function (e, action, nonce) {
231
+ var $form = $(e.currentTarget),
232
+ $spinner = $form.find('.settings-save-status .spinner'),
233
+ $saved = $form.find('.settings-save-status .saved');
234
+ $.ajax({
235
+ url: ajaxurl,
236
+ data: {
237
+ action: action,
238
+ nonce: nonce,
239
+ form_data: $form.serialize()
240
+ },
241
+ dataType: 'json',
242
+ type: 'POST',
243
+ beforeSend: function beforeSend() {
244
+ disabled(true);
245
+ $spinner.addClass('is-active');
246
+ },
247
+ complete: function complete() {
248
+ $spinner.removeClass('is-active');
249
+ },
250
+ error: function error(response) {
251
+ console.log(response);
252
+ },
253
+ success: function success(response) {
254
+ $saved.addClass('is-active');
255
+
256
+ if (response.success) {
257
+ setTimeout(function () {
258
+ $saved.removeClass('is-active');
259
+ }, 2000);
260
+ } else {
261
+ alert(response.data);
262
+ }
263
+ }
264
+ });
265
+ return false;
266
+ }); // Ajax Button Submit
267
+ // ---------------------------------------------------------------------------
268
+
269
+ $(document).on('submit', '#qlwapp_button_form', function (e) {
270
+ e.preventDefault();
271
+ var $form = $(this),
272
+ nonce = $form.find('#qlwapp_button_form_nonce').val();
273
+ $form.trigger('qlwapp.save', ['qlwapp_save_button', nonce]);
274
+ }); // Ajax BOX Submit
275
+ // ---------------------------------------------------------------------------
276
+
277
+ $(document).on('submit', '#qlwapp_box_form', function (e) {
278
+ e.preventDefault();
279
+ var $form = $(this),
280
+ nonce = $form.find('#qlwapp_box_form_nonce').val();
281
+ $form.trigger('qlwapp.save', ['qlwapp_save_box', nonce]);
282
+ }); // Ajax Display Submit
283
+ // ---------------------------------------------------------------------------
284
+
285
+ $(document).on('submit', '#qlwapp_display_form', function (e) {
286
+ e.preventDefault();
287
+ var $form = $(this),
288
+ nonce = $form.find('#qlwapp_display_form_nonce').val();
289
+ $form.trigger('qlwapp.save', ['qlwapp_save_display', nonce]);
290
+ }); // Ajax Scheme Submit
291
+ // ---------------------------------------------------------------------------
292
+
293
+ $(document).on('submit', '#qlwapp_scheme_form', function (e) {
294
+ e.preventDefault();
295
+ var $form = $(this),
296
+ nonce = $form.find('#qlwapp_scheme_form_nonce').val();
297
+ $form.trigger('qlwapp.save', ['qlwapp_save_scheme', nonce]);
298
+ });
299
+ })(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);
300
+
301
+ /***/ }),
302
+
303
+ /***/ "jquery":
304
+ /*!**********************************!*\
305
+ !*** external {"this":"jQuery"} ***!
306
+ \**********************************/
307
+ /*! no static exports found */
308
+ /***/ (function(module, exports) {
309
+
310
+ (function() { module.exports = this["jQuery"]; }());
311
+
312
+ /***/ }),
313
+
314
+ /***/ "qlwapp-select2":
315
+ /*!**********************************************!*\
316
+ !*** external {"this":["jQuery","select2"]} ***!
317
+ \**********************************************/
318
+ /*! no static exports found */
319
+ /***/ (function(module, exports) {
320
+
321
+ (function() { module.exports = this["jQuery"]["select2"]; }());
322
+
323
+ /***/ }),
324
+
325
+ /***/ "wp-color-picker":
326
+ /*!************************************************!*\
327
+ !*** external {"this":["wp","wpColorPicker"]} ***!
328
+ \************************************************/
329
+ /*! no static exports found */
330
+ /***/ (function(module, exports) {
331
+
332
+ (function() { module.exports = this["wp"]["wpColorPicker"]; }());
333
+
334
+ /***/ })
335
+
336
+ /******/ });
337
+ //# sourceMappingURL=admin.js.map
assets/backend/js/contact.asset.php CHANGED
@@ -1 +1 @@
1
- <?php return array('dependencies' => array('backbone', 'jquery', 'wp-util'), 'version' => 'faf67eb42e9bc2b2244e52a81de54569');
1
+ <?php return array('dependencies' => array('backbone', 'jquery', 'wp-util'), 'version' => 'edbb11092b881c39e36039f477a982a9');
assets/backend/js/contact.js CHANGED
@@ -1 +1,698 @@
1
- !function(t){var e={};function a(i){if(e[i])return e[i].exports;var n=e[i]={i:i,l:!1,exports:{}};return t[i].call(n.exports,n,n.exports,a),n.l=!0,n.exports}a.m=t,a.c=e,a.d=function(t,e,i){a.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.t=function(t,e){if(1&e&&(t=a(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(a.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)a.d(i,n,function(e){return t[e]}.bind(null,n));return i},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,"a",e),e},a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.p="",a(a.s=1)}([function(t,e){!function(){t.exports=this.jQuery}()},function(t,e,a){"use strict";a.r(e);a(2);var i=a(0),n=a.n(i);a(3);!function(t){var e,a=0,i=function(){t("#qlwapp_modal").removeClass("processing")};_.mixin({escapeHtml:function(t){return t.replace("&amp;",/&/g).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&quot;/g,'"').replace(/&#039;/g,"'")}});var n=Backbone.Model.extend({defaults:qlwapp_contact.args}),s=Backbone.View.extend({templates:{},initialize:function(t){this.templates.window=wp.template(t.subview)},render:function(){return this.$el.html(this.templates.window(this.attributes)),this}}),o=Backbone.View.extend({templates:{},initialize:function(t){this.templates.window=wp.template(t.subview)},render:function(){return this.$el.html(this.templates.window(this.attributes)),this}}),l=Backbone.View.extend({templates:{},initialize:function(t){this.templates.window=wp.template(t.subview)},render:function(){return this.$el.html(this.templates.window(this.attributes)),this}}),r=Backbone.View.extend({templates:{},initialize:function(t){this.templates.window=wp.template(t.subview)},render:function(){return this.$el.html(this.templates.window(this.attributes)),this}}),c=Backbone.View.extend({templates:{},initialize:function(t){this.templates.window=wp.template(t.subview)},render:function(){return this.$el.html(this.templates.window(this.attributes)),this}}),d=Backbone.View.extend({templates:{},initialize:function(t){this.templates.window=wp.template(t.subview)},render:function(){return this.$el.html(this.templates.window(this.attributes)),this}}),u=Backbone.View.extend({templates:{},initialize:function(t){this.templates.window=wp.template(t.subview)},render:function(){return this.$el.html(this.templates.window(this.attributes)),this}}),p=(Backbone.View.extend({templates:{},initialize:function(t){this.templates.window=wp.template(t.subview)},render:function(){return this.$el.html(this.templates.window(this.attributes)),this}}),Backbone.View.extend({events:{"change input":"enable","change textarea":"enable","change select":"enable","click .media-modal-backdrop":"close","click .media-modal-close":"close","click .media-modal-prev":"edit","click .media-modal-next":"edit","change .media-modal-change":"change","change .media-modal-subview":"subview","submit .media-modal-form":"submit"},templates:{},initialize:function(){_.bindAll(this,"open","edit","change","subview","load","render","close","submit"),this.init(),this.open()},init:function(){this.templates.window=wp.template("qlwapp-modal-window")},LoadTemplate1:function(t){return Backbone.View.extend({templates:{},initialize:function(t){this.templates.window=wp.template(t.subview)},render:function(){return this.$el.html(this.templates.window(this.attributes)),this}})},assign:function(t,e){t.setElement(this.$(e)).render()},render:function(){var t=this,e=this.$el.find("ul.wc-tabs li.active a").attr("href");t.$el.html(t.templates.window(t.model.attributes)),this.header=new s({subview:"subview-header",attributes:t.model.attributes}),this.footer=new o({subview:"subview-footer",attributes:t.model.attributes}),this.tabs=new l({subview:"subview-tabs",attributes:t.model.attributes}),this.contact=new r({subview:"subview-contact",attributes:t.model.attributes}),this.contact_chat=new c({subview:"subview-contact-chat",attributes:t.model.attributes}),this.info=new u({subview:"subview-contact-info",attributes:t.model.attributes}),this.visibility=new d({subview:"subview-visibility",attributes:t.model.attributes}),this.assign(this.header,"#panel-header"),this.assign(this.footer,"#panel-footer"),this.assign(this.tabs,"#panel-tabs"),this.assign(this.contact,"#panel-contact"),this.assign(this.contact_chat,"#subpanel-contact-chat"),this.assign(this.info,"#panel-info"),this.assign(this.visibility,"#panel-visibility"),_.delay((function(){t.$el.trigger("qlwapp-enhanced-select"),t.$el.trigger("qlwapp-tab-panels",e)}),100)},load:function(){var e=this;t("#qlwapp_modal").addClass("processing"),t.ajax({url:ajaxurl,data:{action:"qlwapp_edit_contact",nonce:qlwapp_contact.nonce.qlwapp_edit_contact,contact_id:this.model.attributes.id},dataType:"json",type:"POST",beforeSend:function(){},complete:function(){i()},error:function(){alert("Error!")},success:function(t){t.success?(e.model.set(t.data),e.render()):alert(t.data)}})},edit:function(i){i.preventDefault();var n=this,s=t(i.target),o=parseInt(t("#qlwapp_contacts_table tr[data-contact_id]").length),l=parseInt(n.model.get("order"));a++,e&&clearTimeout(e),e=setTimeout((function(){l=s.hasClass("media-modal-next")?Math.min(l+a,o):Math.max(l-a,1),n.model.set({id:parseInt(t("#qlwapp_contacts_table tr[data-contact_position="+l+"]").data("contact_id"))}),a=0,n.load()}),300)},open:function(e){t("body").addClass("modal-open").append(this.$el),null!=this.model.attributes.id?this.load():_.delay((function(){i()}),100)},update:function(e){e.preventDefault();var a=t(e.target),i=a.attr("name"),n=a.val();"checkbox"===e.target.type&&(n=!0===a.prop("checked")?1:0),this.model.attributes[i]=n,this.model.changed[i]=n},change:function(t){t.preventDefault(),this.update(t)},subview:function(t){this.contact_chat.render()},reload:function(t){this.$el.find("#qlwapp_modal").hasClass("reload")?location.reload():this.remove()},close:function(e){e.preventDefault(),this.undelegateEvents(),t(document).off("focusin"),this.$el.find("#qlwapp_modal").addClass("reload"),this.reload(e)},enable:function(e){t(".media-modal-submit").prop("disabled",!1)},submit:function(e){e.preventDefault();var a=this,i=a.$el.find("#qlwapp_modal"),n=i.find(".attachment-details");return console.log(t("form",this.$el).serializeArray()),t.ajax({url:ajaxurl,data:{action:"qlwapp_save_contact",nonce:qlwapp_contact.nonce.qlwapp_save_contact,contact_id:a.model.attributes.id,contact_data:t("form",this.$el).serialize()},dataType:"json",type:"POST",beforeSend:function(){t(".media-modal-submit").prop("disabled",!0),n.addClass("save-waiting")},complete:function(){n.addClass("save-complete"),n.removeClass("save-waiting")},error:function(){alert("Error!")},success:function(t){t.success?null==a.model.attributes.id&&(i.addClass("reload"),a.reload(e),a.close(e)):alert(t.data)}}),!1}})),f=Backbone.View.extend({initialize:function(e){var a=t(e.target).closest("[data-contact_id]").data("contact_id"),i=new n;i.set({id:a}),new p({model:i}).render()}}),m=!1;t(".qlwapp_settings_edit").on("click",(function(t){t.preventDefault(),m||(new f(t),m=!0)})),t("#qlwapp_contact_add").on("click",(function(t){t.preventDefault(),new f(t)})),t(".qlwapp_settings_delete").on("click",(function(e){e.preventDefault();var a=t("#qlwapp_delete_contact_nonce").val(),i=t(e.target).closest("[data-contact_id]").data("contact_id");if(!confirm(qlwapp_contact.message.contact_confirm_delete))return!1;t.ajax({url:ajaxurl,data:{action:"qlwapp_delete_contact",nonce:a,contact_id:i},dataType:"json",type:"POST",beforeSend:function(){},complete:function(){},error:function(t){console.log(t)},success:function(t){t.data?location.reload():alert(t.data)}})})),t("table#qlwapp_contacts_table tbody").sortable({items:"tr",cursor:"move",axis:"y",handle:"td.sort",scrollSensitivity:40,helper:function(e,a){return a.children().each((function(){t(this).width(t(this).width())})),a.css("left","0"),a},start:function(t,e){e.item.css("background-color","#f6f6f6")},stop:function(t,e){e.item.removeAttr("style"),e.item.trigger("updateMoveButtons"),e.item.trigger("updateSaveButton")}}),t(document).on("updateSaveButton",(function(){t("#qlwapp_contact_order").prop("disabled",!1)})),t(".wc-item-reorder-nav").find(".wc-move-up, .wc-move-down").on("click",(function(){var e=t(this),a=e.closest("tr");e.focus();var i=e.is(".wc-move-up"),n=e.is(".wc-move-down");if(i){var s=a.prev("tr");s&&s.length&&s.before(a)}else if(n){var o=a.next("tr");o&&o.length&&o.after(a)}e.focus(),e.closest("table").trigger("updateMoveButtons"),e.closest("table").trigger("updateSaveButton")})),t(".wc-item-reorder-nav").closest("table").on("updateMoveButtons",(function(){var e=t(this),a=t(this).find("tbody tr:last"),i=t(this).find("tbody tr:first");e.find(".wc-item-reorder-nav .wc-move-disabled").removeClass("wc-move-disabled").attr({tabindex:"0","aria-hidden":"false"}),i.find(".wc-item-reorder-nav .wc-move-up").addClass("wc-move-disabled").attr({tabindex:"-1","aria-hidden":"true"}),a.find(".wc-item-reorder-nav .wc-move-down").addClass("wc-move-disabled").attr({tabindex:"-1","aria-hidden":"true"})})),t("table#qlwapp_contacts_table tbody").trigger("updateMoveButtons"),t(document).on("submit","#qlwapp_contacts_form",(function(e){e.preventDefault();var a=t(this),i=a.find(".settings-save-status .spinner"),n=a.find(".settings-save-status .saved");return t.ajax({url:ajaxurl,data:{action:"qlwapp_save_contact_order",nonce:qlwapp_contact.nonce.qlwapp_save_contact_order,contact_data:a.serialize()},dataType:"json",type:"POST",beforeSend:function(){i.addClass("is-active")},complete:function(){i.removeClass("is-active")},error:function(t){console.log(t)},success:function(e){n.addClass("is-active"),t("#qlwapp_contact_order").prop("disabled",!0),e.success?setTimeout((function(){n.removeClass("is-active")}),1500):alert(e.data)}}),!1})),t(document).on("qlwapp-tab-panels",(function(e,a){var i=t(e.target).find("ul.qlwapp-tabs"),n=i.find('a[href="'+a+'"]');i.show(),i.find("a").click((function(e){e.preventDefault();var a=t(this).closest("div.panel-wrap");i.find("li",a).removeClass("active"),t(this).parent().addClass("active"),t("div.panel",a).hide(),t(t(this).attr("href")).show()})),n.length&&t(n.attr("href")).length?n.click():i.find("li.active").find("a").click()}))}(n.a)},function(t,e){!function(){t.exports=this.wp.util}()},function(t,e){!function(){t.exports=this.window.Backbone}()}]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = "./src/backend/contact.js");
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
+
89
+ /***/ "./src/backend/contact.js":
90
+ /*!********************************!*\
91
+ !*** ./src/backend/contact.js ***!
92
+ \********************************/
93
+ /*! no exports provided */
94
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
95
+
96
+ "use strict";
97
+ __webpack_require__.r(__webpack_exports__);
98
+ /* harmony import */ var wp_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! wp-util */ "wp-util");
99
+ /* harmony import */ var wp_util__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(wp_util__WEBPACK_IMPORTED_MODULE_0__);
100
+ /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "jquery");
101
+ /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
102
+ /* harmony import */ var backbone__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! backbone */ "backbone");
103
+ /* harmony import */ var backbone__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(backbone__WEBPACK_IMPORTED_MODULE_2__);
104
+
105
+
106
+
107
+
108
+ (function ($) {
109
+ var count = 0,
110
+ timer;
111
+
112
+ var is_blocked = function is_blocked($node) {
113
+ return $node.is('.processing') || $node.parents('.processing').length;
114
+ }; //fix
115
+
116
+
117
+ var block = function block() {
118
+ //var $node = $('#qlwapp_modal');
119
+ // if (!is_blocked($node)) {
120
+ $('#qlwapp_modal').addClass('processing'); // }
121
+ };
122
+
123
+ var unblock = function unblock() {
124
+ $('#qlwapp_modal').removeClass('processing');
125
+ };
126
+
127
+ _.mixin({
128
+ escapeHtml: function escapeHtml(attribute) {
129
+ return attribute.replace('&amp;', /&/g).replace(/&gt;/g, ">").replace(/&lt;/g, "<").replace(/&quot;/g, '"').replace(/&#039;/g, "'");
130
+ }
131
+ });
132
+
133
+ var Contact = Backbone.Model.extend({
134
+ defaults: qlwapp_contact.args
135
+ });
136
+ var SubHeader = Backbone.View.extend({
137
+ templates: {},
138
+ initialize: function initialize(options) {
139
+ this.templates.window = wp.template(options.subview);
140
+ },
141
+ render: function render() {
142
+ var modal = this;
143
+ modal.$el.html(modal.templates.window(modal.attributes));
144
+ return this;
145
+ }
146
+ });
147
+ var SubFooter = Backbone.View.extend({
148
+ templates: {},
149
+ initialize: function initialize(options) {
150
+ this.templates.window = wp.template(options.subview);
151
+ },
152
+ render: function render() {
153
+ var modal = this;
154
+ modal.$el.html(modal.templates.window(modal.attributes));
155
+ return this;
156
+ }
157
+ });
158
+ var SubTabs = Backbone.View.extend({
159
+ templates: {},
160
+ initialize: function initialize(options) {
161
+ this.templates.window = wp.template(options.subview);
162
+ },
163
+ render: function render() {
164
+ var modal = this;
165
+ modal.$el.html(modal.templates.window(modal.attributes));
166
+ return this;
167
+ }
168
+ });
169
+ var SubContact = Backbone.View.extend({
170
+ templates: {},
171
+ initialize: function initialize(options) {
172
+ this.templates.window = wp.template(options.subview);
173
+ },
174
+ render: function render() {
175
+ var modal = this;
176
+ modal.$el.html(modal.templates.window(modal.attributes));
177
+ return this;
178
+ }
179
+ });
180
+ var SubViewChat = Backbone.View.extend({
181
+ templates: {},
182
+ initialize: function initialize(options) {
183
+ this.templates.window = wp.template(options.subview);
184
+ },
185
+ render: function render() {
186
+ var modal = this;
187
+ modal.$el.html(modal.templates.window(modal.attributes));
188
+ return this;
189
+ }
190
+ });
191
+ var SubVisibility = Backbone.View.extend({
192
+ templates: {},
193
+ initialize: function initialize(options) {
194
+ this.templates.window = wp.template(options.subview);
195
+ },
196
+ render: function render() {
197
+ var modal = this;
198
+ modal.$el.html(modal.templates.window(modal.attributes));
199
+ return this;
200
+ }
201
+ });
202
+ var SubInfo = Backbone.View.extend({
203
+ templates: {},
204
+ initialize: function initialize(options) {
205
+ this.templates.window = wp.template(options.subview);
206
+ },
207
+ render: function render() {
208
+ var modal = this;
209
+ modal.$el.html(modal.templates.window(modal.attributes));
210
+ return this;
211
+ }
212
+ });
213
+ var LoadTemplate = Backbone.View.extend({
214
+ templates: {},
215
+ initialize: function initialize(options) {
216
+ this.templates.window = wp.template(options.subview);
217
+ },
218
+ render: function render() {
219
+ var modal = this;
220
+ modal.$el.html(modal.templates.window(modal.attributes));
221
+ return this;
222
+ }
223
+ });
224
+ var ContactView = Backbone.View.extend({
225
+ events: {
226
+ 'change input': 'enable',
227
+ 'change textarea': 'enable',
228
+ 'change select': 'enable',
229
+ 'click .media-modal-backdrop': 'close',
230
+ 'click .media-modal-close': 'close',
231
+ 'click .media-modal-prev': 'edit',
232
+ 'click .media-modal-next': 'edit',
233
+ 'change .media-modal-change': 'change',
234
+ 'change .media-modal-subview': 'subview',
235
+ 'submit .media-modal-form': 'submit'
236
+ },
237
+ templates: {},
238
+ initialize: function initialize() {
239
+ _.bindAll(this, 'open', 'edit', 'change', 'subview', 'load', 'render', 'close', 'submit');
240
+
241
+ this.init();
242
+ this.open();
243
+ },
244
+ init: function init() {
245
+ this.templates.window = wp.template('qlwapp-modal-window');
246
+ },
247
+ LoadTemplate1: function LoadTemplate1(options) {
248
+ var x = Backbone.View.extend({
249
+ templates: {},
250
+ initialize: function initialize(options) {
251
+ // this.model.attributes = options.attributes;
252
+ this.templates.window = wp.template(options.subview); // return this.init();
253
+ },
254
+ render: function render() {
255
+ var modal = this;
256
+ modal.$el.html(modal.templates.window(modal.attributes));
257
+ return this;
258
+ }
259
+ });
260
+ return x;
261
+ },
262
+ assign: function assign(view, selector) {
263
+ view.setElement(this.$(selector)).render();
264
+ },
265
+ render: function render() {
266
+ var modal = this; // get active tab from the previous modal
267
+
268
+ var tab = this.$el.find('ul.wc-tabs li.active a').attr('href');
269
+ modal.$el.html(modal.templates.window(modal.model.attributes));
270
+ this.header = new SubHeader({
271
+ subview: "subview-header",
272
+ attributes: modal.model.attributes
273
+ });
274
+ this.footer = new SubFooter({
275
+ subview: "subview-footer",
276
+ attributes: modal.model.attributes
277
+ });
278
+ this.tabs = new SubTabs({
279
+ subview: "subview-tabs",
280
+ attributes: modal.model.attributes
281
+ });
282
+ this.contact = new SubContact({
283
+ subview: "subview-contact",
284
+ attributes: modal.model.attributes
285
+ });
286
+ this.contact_chat = new SubViewChat({
287
+ subview: "subview-contact-chat",
288
+ attributes: modal.model.attributes
289
+ });
290
+ this.info = new SubInfo({
291
+ subview: "subview-contact-info",
292
+ attributes: modal.model.attributes
293
+ });
294
+ this.visibility = new SubVisibility({
295
+ subview: "subview-visibility",
296
+ attributes: modal.model.attributes
297
+ });
298
+ this.assign(this.header, '#panel-header');
299
+ this.assign(this.footer, '#panel-footer');
300
+ this.assign(this.tabs, '#panel-tabs');
301
+ this.assign(this.contact, '#panel-contact');
302
+ this.assign(this.contact_chat, '#subpanel-contact-chat');
303
+ this.assign(this.info, '#panel-info');
304
+ this.assign(this.visibility, '#panel-visibility');
305
+
306
+ _.delay(function () {
307
+ modal.$el.trigger('qlwapp-enhanced-select');
308
+ modal.$el.trigger('qlwapp-tab-panels', tab); // modal.$el.trigger('init_tooltips');
309
+ }, 100);
310
+ },
311
+ load: function load() {
312
+ var modal = this;
313
+ block();
314
+ $.ajax({
315
+ url: ajaxurl,
316
+ data: {
317
+ action: 'qlwapp_edit_contact',
318
+ nonce: qlwapp_contact.nonce.qlwapp_edit_contact,
319
+ contact_id: this.model.attributes.id
320
+ },
321
+ dataType: 'json',
322
+ type: 'POST',
323
+ beforeSend: function beforeSend() {// block($modal); fix si se puede
324
+ },
325
+ complete: function complete() {
326
+ unblock();
327
+ },
328
+ error: function error() {
329
+ alert('Error!');
330
+ },
331
+ success: function success(response) {
332
+ if (response.success) {
333
+ modal.model.set(response.data);
334
+ modal.render();
335
+ } else {
336
+ alert(response.data);
337
+ }
338
+ }
339
+ });
340
+ },
341
+ edit: function edit(e) {
342
+ e.preventDefault();
343
+ var modal = this,
344
+ $button = $(e.target),
345
+ contact_count = parseInt($('#qlwapp_contacts_table tr[data-contact_id]').length),
346
+ order = parseInt(modal.model.get('order')); //var global
347
+
348
+ count++;
349
+
350
+ if (timer) {
351
+ clearTimeout(timer);
352
+ }
353
+
354
+ timer = setTimeout(function () {
355
+ if ($button.hasClass('media-modal-next')) {
356
+ order = Math.min(order + count, contact_count);
357
+ } else {
358
+ order = Math.max(order - count, 1);
359
+ }
360
+
361
+ modal.model.set({
362
+ id: parseInt($('#qlwapp_contacts_table tr[data-contact_position=' + order + ']').data('contact_id'))
363
+ });
364
+ count = 0;
365
+ modal.load();
366
+ }, 300);
367
+ },
368
+ open: function open(e) {
369
+ $('body').addClass('modal-open').append(this.$el);
370
+
371
+ if (this.model.attributes.id == undefined) {
372
+ _.delay(function () {
373
+ unblock();
374
+ }, 100);
375
+
376
+ return;
377
+ }
378
+
379
+ this.load();
380
+ },
381
+ update: function update(e) {
382
+ e.preventDefault();
383
+ var $field = $(e.target),
384
+ name = $field.attr('name'),
385
+ value = $field.val();
386
+
387
+ if (e.target.type === 'checkbox') {
388
+ value = $field.prop('checked') === true ? 1 : 0;
389
+ }
390
+
391
+ this.model.attributes[name] = value;
392
+ this.model.changed[name] = value;
393
+ },
394
+ change: function change(e) {
395
+ e.preventDefault();
396
+ this.update(e); // this.render();
397
+ },
398
+ subview: function subview(e) {
399
+ this.contact_chat.render();
400
+ },
401
+ reload: function reload(e) {
402
+ if (this.$el.find('#qlwapp_modal').hasClass('reload')) {
403
+ location.reload();
404
+ return;
405
+ }
406
+
407
+ this.remove();
408
+ return;
409
+ },
410
+ close: function close(e) {
411
+ e.preventDefault();
412
+ this.undelegateEvents();
413
+ $(document).off('focusin'); // $('body').removeClass('modal-open');
414
+ // if necesary reload...
415
+
416
+ this.$el.find('#qlwapp_modal').addClass('reload');
417
+ this.reload(e);
418
+ return;
419
+ },
420
+ enable: function enable(e) {
421
+ $('.media-modal-submit').prop('disabled', false);
422
+ },
423
+ submit: function submit(e) {
424
+ e.preventDefault();
425
+ var modal = this,
426
+ $modal = modal.$el.find('#qlwapp_modal'),
427
+ $details = $modal.find('.attachment-details');
428
+ console.log($('form', this.$el).serializeArray());
429
+ $.ajax({
430
+ url: ajaxurl,
431
+ data: {
432
+ action: 'qlwapp_save_contact',
433
+ nonce: qlwapp_contact.nonce.qlwapp_save_contact,
434
+ contact_id: modal.model.attributes.id,
435
+ contact_data: $('form', this.$el).serialize()
436
+ },
437
+ dataType: 'json',
438
+ type: 'POST',
439
+ beforeSend: function beforeSend() {
440
+ $('.media-modal-submit').prop('disabled', true);
441
+ $details.addClass('save-waiting');
442
+ },
443
+ complete: function complete() {
444
+ $details.addClass('save-complete');
445
+ $details.removeClass('save-waiting');
446
+ },
447
+ error: function error() {
448
+ alert('Error!');
449
+ },
450
+ success: function success(response) {
451
+ //.log(response);
452
+ if (response.success) {
453
+ if (modal.model.attributes.id == undefined) {
454
+ $modal.addClass('reload');
455
+ modal.reload(e);
456
+ modal.close(e);
457
+ }
458
+ } else {
459
+ alert(response.data);
460
+ }
461
+ }
462
+ });
463
+ return false;
464
+ }
465
+ });
466
+ var ContactModal = Backbone.View.extend({
467
+ initialize: function initialize(e) {
468
+ var $button = $(e.target),
469
+ contact_id = $button.closest('[data-contact_id]').data('contact_id');
470
+ var model = new Contact();
471
+ model.set({
472
+ id: contact_id
473
+ });
474
+ new ContactView({
475
+ model: model
476
+ }).render();
477
+ }
478
+ });
479
+ var exist_modal = false;
480
+ $('.qlwapp_settings_edit').on('click', function (e) {
481
+ e.preventDefault();
482
+
483
+ if (!exist_modal) {
484
+ new ContactModal(e);
485
+ exist_modal = true;
486
+ }
487
+ });
488
+ $('#qlwapp_contact_add').on('click', function (e) {
489
+ e.preventDefault();
490
+ new ContactModal(e);
491
+ });
492
+ $('.qlwapp_settings_delete').on('click', function (e) {
493
+ e.preventDefault();
494
+ var nonce = $('#qlwapp_delete_contact_nonce').val();
495
+ var $button = $(e.target),
496
+ contact_id = $button.closest('[data-contact_id]').data('contact_id');
497
+
498
+ if (!confirm(qlwapp_contact.message.contact_confirm_delete)) {
499
+ return false;
500
+ } else {
501
+ $.ajax({
502
+ url: ajaxurl,
503
+ data: {
504
+ action: 'qlwapp_delete_contact',
505
+ nonce: nonce,
506
+ contact_id: contact_id
507
+ },
508
+ dataType: 'json',
509
+ type: 'POST',
510
+ beforeSend: function beforeSend() {// $spinner.addClass('is-active');
511
+ },
512
+ complete: function complete() {// $spinner.removeClass('is-active');
513
+ },
514
+ error: function error(response) {
515
+ console.log(response);
516
+ },
517
+ success: function success(response) {
518
+ if (response.data) {
519
+ location.reload();
520
+ } else {
521
+ alert(response.data);
522
+ }
523
+ }
524
+ });
525
+ }
526
+ }); // Sorting
527
+ // ---------------------------------------------------------------------------
528
+
529
+ $('table#qlwapp_contacts_table tbody').sortable({
530
+ items: 'tr',
531
+ cursor: 'move',
532
+ axis: 'y',
533
+ handle: 'td.sort',
534
+ scrollSensitivity: 40,
535
+ helper: function helper(event, ui) {
536
+ ui.children().each(function () {
537
+ $(this).width($(this).width());
538
+ });
539
+ ui.css('left', '0');
540
+ return ui;
541
+ },
542
+ start: function start(event, ui) {
543
+ ui.item.css('background-color', '#f6f6f6');
544
+ },
545
+ stop: function stop(event, ui) {
546
+ ui.item.removeAttr('style');
547
+ ui.item.trigger('updateMoveButtons');
548
+ ui.item.trigger('updateSaveButton');
549
+ }
550
+ });
551
+ $(document).on('updateSaveButton', function () {
552
+ $('#qlwapp_contact_order').prop('disabled', false);
553
+ }); // Re-order buttons
554
+ // ---------------------------------------------------------------------------
555
+
556
+ $('.wc-item-reorder-nav').find('.wc-move-up, .wc-move-down').on('click', function () {
557
+ var moveBtn = $(this),
558
+ $row = moveBtn.closest('tr');
559
+ moveBtn.focus();
560
+ var isMoveUp = moveBtn.is('.wc-move-up'),
561
+ isMoveDown = moveBtn.is('.wc-move-down');
562
+
563
+ if (isMoveUp) {
564
+ var $previewRow = $row.prev('tr');
565
+
566
+ if ($previewRow && $previewRow.length) {
567
+ $previewRow.before($row); // wp.a11y.speak( params.i18n_moved_up );
568
+ }
569
+ } else if (isMoveDown) {
570
+ var $nextRow = $row.next('tr');
571
+
572
+ if ($nextRow && $nextRow.length) {
573
+ $nextRow.after($row); // wp.a11y.speak( params.i18n_moved_down );
574
+ }
575
+ }
576
+
577
+ moveBtn.focus(); // Re-focus after the container was moved.
578
+
579
+ moveBtn.closest('table').trigger('updateMoveButtons');
580
+ moveBtn.closest('table').trigger('updateSaveButton');
581
+ });
582
+ $('.wc-item-reorder-nav').closest('table').on('updateMoveButtons', function () {
583
+ var table = $(this),
584
+ lastRow = $(this).find('tbody tr:last'),
585
+ firstRow = $(this).find('tbody tr:first');
586
+ table.find('.wc-item-reorder-nav .wc-move-disabled').removeClass('wc-move-disabled').attr({
587
+ 'tabindex': '0',
588
+ 'aria-hidden': 'false'
589
+ });
590
+ firstRow.find('.wc-item-reorder-nav .wc-move-up').addClass('wc-move-disabled').attr({
591
+ 'tabindex': '-1',
592
+ 'aria-hidden': 'true'
593
+ });
594
+ lastRow.find('.wc-item-reorder-nav .wc-move-down').addClass('wc-move-disabled').attr({
595
+ 'tabindex': '-1',
596
+ 'aria-hidden': 'true'
597
+ });
598
+ });
599
+ $('table#qlwapp_contacts_table tbody').trigger('updateMoveButtons'); //save order of contact
600
+ // Ajax order Submit
601
+
602
+ $(document).on('submit', '#qlwapp_contacts_form', function (e) {
603
+ e.preventDefault();
604
+ var $form = $(this),
605
+ $spinner = $form.find('.settings-save-status .spinner'),
606
+ $saved = $form.find('.settings-save-status .saved');
607
+ $.ajax({
608
+ url: ajaxurl,
609
+ data: {
610
+ action: 'qlwapp_save_contact_order',
611
+ nonce: qlwapp_contact.nonce.qlwapp_save_contact_order,
612
+ contact_data: $form.serialize()
613
+ },
614
+ dataType: 'json',
615
+ type: 'POST',
616
+ beforeSend: function beforeSend() {
617
+ $spinner.addClass('is-active');
618
+ },
619
+ complete: function complete() {
620
+ $spinner.removeClass('is-active');
621
+ },
622
+ error: function error(response) {
623
+ console.log(response);
624
+ },
625
+ success: function success(response) {
626
+ $saved.addClass('is-active');
627
+ $('#qlwapp_contact_order').prop('disabled', true);
628
+
629
+ if (response.success) {
630
+ setTimeout(function () {
631
+ $saved.removeClass('is-active');
632
+ }, 1500);
633
+ } else {
634
+ alert(response.data);
635
+ }
636
+ }
637
+ });
638
+ return false;
639
+ });
640
+ $(document).on('qlwapp-tab-panels', function (e, active) {
641
+ var $modal = $(e.target),
642
+ $tabs = $modal.find('ul.qlwapp-tabs'),
643
+ $active = $tabs.find('a[href="' + active + '"]');
644
+ $tabs.show();
645
+ $tabs.find('a').click(function (e) {
646
+ e.preventDefault();
647
+ var panel_wrap = $(this).closest('div.panel-wrap');
648
+ $tabs.find('li', panel_wrap).removeClass('active');
649
+ $(this).parent().addClass('active');
650
+ $('div.panel', panel_wrap).hide();
651
+ $($(this).attr('href')).show();
652
+ });
653
+
654
+ if ($active.length && $($active.attr('href')).length) {
655
+ $active.click();
656
+ } else {
657
+ $tabs.find('li.active').find('a').click();
658
+ }
659
+ });
660
+ })(jquery__WEBPACK_IMPORTED_MODULE_1___default.a);
661
+
662
+ /***/ }),
663
+
664
+ /***/ "backbone":
665
+ /*!***********************************************!*\
666
+ !*** external {"this":["window","Backbone"]} ***!
667
+ \***********************************************/
668
+ /*! no static exports found */
669
+ /***/ (function(module, exports) {
670
+
671
+ (function() { module.exports = this["window"]["Backbone"]; }());
672
+
673
+ /***/ }),
674
+
675
+ /***/ "jquery":
676
+ /*!**********************************!*\
677
+ !*** external {"this":"jQuery"} ***!
678
+ \**********************************/
679
+ /*! no static exports found */
680
+ /***/ (function(module, exports) {
681
+
682
+ (function() { module.exports = this["jQuery"]; }());
683
+
684
+ /***/ }),
685
+
686
+ /***/ "wp-util":
687
+ /*!***************************************!*\
688
+ !*** external {"this":["wp","util"]} ***!
689
+ \***************************************/
690
+ /*! no static exports found */
691
+ /***/ (function(module, exports) {
692
+
693
+ (function() { module.exports = this["wp"]["util"]; }());
694
+
695
+ /***/ })
696
+
697
+ /******/ });
698
+ //# sourceMappingURL=contact.js.map
assets/backend/js/main.asset.php CHANGED
@@ -1 +1 @@
1
- <?php return array('dependencies' => array(), 'version' => 'c2edb1ebafccded9d0f360f854dc79c7');
1
+ <?php return array('dependencies' => array(), 'version' => '185c34758951f88e3e4cc0306a002cc0');
assets/backend/js/main.js CHANGED
@@ -1 +1,116 @@
1
- !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";r.r(t);r(1)},function(e,t){}]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = "./src/backend/main.js");
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
+
89
+ /***/ "./src/backend/main.js":
90
+ /*!*****************************!*\
91
+ !*** ./src/backend/main.js ***!
92
+ \*****************************/
93
+ /*! no exports provided */
94
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
95
+
96
+ "use strict";
97
+ __webpack_require__.r(__webpack_exports__);
98
+ /* harmony import */ var _scss_editor_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./scss/editor.scss */ "./src/backend/scss/editor.scss");
99
+ /* harmony import */ var _scss_editor_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_scss_editor_scss__WEBPACK_IMPORTED_MODULE_0__);
100
+
101
+
102
+ /***/ }),
103
+
104
+ /***/ "./src/backend/scss/editor.scss":
105
+ /*!**************************************!*\
106
+ !*** ./src/backend/scss/editor.scss ***!
107
+ \**************************************/
108
+ /*! no static exports found */
109
+ /***/ (function(module, exports) {
110
+
111
+ // removed by extract-text-webpack-plugin
112
+
113
+ /***/ })
114
+
115
+ /******/ });
116
+ //# sourceMappingURL=main.js.map
assets/frontend/css/frontend.css CHANGED
@@ -1 +1,776 @@
1
- @font-face{font-family:"qlwapp-whatsapp";src:url(data:application/x-font-woff;charset=utf-8;base64,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) format("woff");font-weight:normal;font-style:normal}.qlwapp-whatsapp-icon{font-family:"qlwapp-whatsapp" !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.qlwapp-whatsapp-icon:before{content:"\e900"}#qlwapp{pointer-events:none;box-sizing:border-box}@media (min-width: 430px){#qlwapp{width:430px}}#qlwapp *{box-sizing:border-box}#qlwapp.qlwapp-js-ready{display:block}#qlwapp.qlwapp-hide,#qlwapp.qlwapp-desktop.mobile,#qlwapp.qlwapp-mobile.desktop{display:none}#qlwapp .qlwapp-readonly,#qlwapp.qlwapp-readonly{pointer-events:none !important;opacity:0.5 !important}#qlwapp .qlwapp-disabled,#qlwapp.qlwapp-disabled{display:none;visibility:hidden}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-bottom-left,#qlwapp.qlwapp-middle-right,#qlwapp.qlwapp-bottom-right{position:fixed;z-index:9999999}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-bottom-left{right:auto;left:0}#qlwapp.qlwapp-middle-left .qlwapp-toggle .qlwapp-days,#qlwapp.qlwapp-middle-left .qlwapp-toggle .qlwapp-time,#qlwapp.qlwapp-bottom-left .qlwapp-toggle .qlwapp-days,#qlwapp.qlwapp-bottom-left .qlwapp-toggle .qlwapp-time{left:0;right:auto}#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-toggle{margin-left:20px}#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text{right:auto;left:60px}#qlwapp.qlwapp-middle-left .qlwapp-box:before,#qlwapp.qlwapp-bottom-left .qlwapp-box:before{right:auto;left:20px}#qlwapp.qlwapp-middle-right,#qlwapp.qlwapp-bottom-right{left:auto;right:0}#qlwapp.qlwapp-middle-right .qlwapp-toggle .qlwapp-days,#qlwapp.qlwapp-middle-right .qlwapp-toggle .qlwapp-time,#qlwapp.qlwapp-bottom-right .qlwapp-toggle .qlwapp-days,#qlwapp.qlwapp-bottom-right .qlwapp-toggle .qlwapp-time{left:auto;right:0}#qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle,#qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-toggle{margin-right:20px}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-middle-right{top:40%;bottom:auto}#qlwapp.qlwapp-middle-left .qlwapp-developer,#qlwapp.qlwapp-middle-right .qlwapp-developer{padding:0 24px}#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle{margin-left:-48px;padding-left:60px}#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle{margin-right:-48px;padding-right:60px}#qlwapp.qlwapp-bottom-left,#qlwapp.qlwapp-bottom-right{top:auto;bottom:0}#qlwapp.qlwapp-rounded.qlwapp-bubble .qlwapp-toggle{border-radius:50%}#qlwapp.qlwapp-rounded.qlwapp-button .qlwapp-toggle{border-radius:50px}@media (min-width: 430px){#qlwapp.qlwapp-rounded .qlwapp-box{border-radius:8px}}#qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-user,#qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-message{border-radius:4px}#qlwapp p:last-child{margin:0}#qlwapp time{opacity:0.8;font-style:italic;font-size:10px}#qlwapp .qlwapp-no-contacts{display:flex;height:134px;justify-content:center;align-items:center}#qlwapp .qlwapp-container{display:flex;flex-direction:column}#qlwapp .qlwapp-clearfix:before,#qlwapp .qlwapp-clearfix:after{content:"";display:block;clear:both}#qlwapp .qlwapp-previous,#qlwapp .qlwapp-close{display:block;opacity:0.8;font-style:unset;font-size:24px;font-weight:bold;width:24px;height:24px;cursor:pointer;text-align:center;line-height:24px;z-index:1}#qlwapp .qlwapp-previous{width:16px;height:36px;cursor:pointer;text-align:center;line-height:36px;margin-right:auto}#qlwapp .qlwapp-developer{font-size:8px;top:-20px;position:relative}#qlwapp .qlwapp-developer,#qlwapp .qlwapp-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;margin-right:auto}#qlwapp .qlwapp-toggle{pointer-events:all;cursor:pointer;box-shadow:0 1px 6px 0 rgba(0,0,0,0.06),0 2px 32px 0 rgba(0,0,0,0.16);margin-top:24px;margin-bottom:24px;position:relative;text-decoration:none}#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-toggle:active,#qlwapp .qlwapp-toggle:focus,#qlwapp .qlwapp-toggle:hover{outline:none;text-decoration:none}#qlwapp .qlwapp-toggle .qlwapp-days,#qlwapp .qlwapp-toggle .qlwapp-time{position:absolute;bottom:-2em;color:initial;font-size:10px;display:inline-block;top:auto;width:120px}#qlwapp .qlwapp-days>span{display:none}#qlwapp .qlwapp-days>span.qlwapp-available-day{display:inline-block !important}#qlwapp .qlwapp-avatar .qlwapp-avatar-container{overflow:hidden;border-radius:50%;width:inherit;height:inherit;box-shadow:0 0 0 2px rgba(255,255,255,0.5)}#qlwapp .qlwapp-avatar .qlwapp-avatar-container img{width:100%;height:auto}#qlwapp.qlwapp-bubble .qlwapp-toggle{width:60px;height:60px}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{position:absolute;display:block;pointer-events:none;font-size:24px}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text{position:absolute;right:60px;height:60px;margin:0 24px;display:flex;align-items:center;justify-content:flex-end;font-weight:bold;white-space:pre}#qlwapp.qlwapp-button .qlwapp-toggle{height:40px;white-space:nowrap;padding:12px 24px}#qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-icon{margin:0 12px 0 0}#qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-close{display:none}#qlwapp .qlwapp-box{pointer-events:all;padding-bottom:56px;position:fixed;top:auto;bottom:0;left:0;right:0;z-index:99999;box-shadow:0px 5px 40px 5px rgba(0,0,0,0.5)}@media (min-width: 430px){#qlwapp .qlwapp-box{position:relative;top:auto;bottom:auto;left:auto;right:auto;box-shadow:0 8px 25px -5px rgba(45,62,79,0.15);margin-top:24px;margin-left:24px;margin-right:24px;margin-bottom:12px}#qlwapp .qlwapp-box:before{content:"";position:absolute;bottom:-6px;right:24px;width:13px;height:13px;transform:rotate(45deg)}#qlwapp .qlwapp-box .qlwapp-header{border-top-left-radius:inherit;border-top-right-radius:inherit}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}}#qlwapp .qlwapp-box .qlwapp-header{position:relative;overflow:hidden}#qlwapp .qlwapp-box .qlwapp-header:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background:linear-gradient(315deg, transparent 0%, rgba(0,0,0,0.05) 100%)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-close{position:absolute;top:12px;right:12px}@media (min-width: 430px){#qlwapp .qlwapp-box .qlwapp-header .qlwapp-close{position:absolute;top:7px;right:7px;font-size:18px}}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-description{position:relative;display:flex;align-items:center}#qlwapp .qlwapp-box .qlwapp-description,#qlwapp .qlwapp-box .qlwapp-contact{padding:12px 36px;height:100%}#qlwapp .qlwapp-box .qlwapp-description p,#qlwapp .qlwapp-box .qlwapp-description h3{color:inherit;font-family:inherit;margin:0}#qlwapp .qlwapp-box .qlwapp-description h3{margin:0 0 0.25em 0}#qlwapp .qlwapp-box .qlwapp-contact{display:flex;justify-content:flex-end;align-items:center}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous{position:relative;left:-16px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous>i{line-height:36px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-avatar{width:42px;height:42px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-name{color:inherit}#qlwapp .qlwapp-box .qlwapp-account{color:inherit;padding:16px 36px;display:flex;align-items:center;overflow:hidden;position:relative;cursor:pointer;width:100%;text-decoration:none}#qlwapp .qlwapp-box .qlwapp-account:only-of-type{padding-top:36px;padding-bottom:36px}#qlwapp .qlwapp-box .qlwapp-info{padding:0 16px}#qlwapp .qlwapp-box .qlwapp-avatar{position:relative;width:62px;height:62px}#qlwapp .qlwapp-box .qlwapp-avatar:after{content:"";display:block;width:15px;height:15px;position:absolute;bottom:2px;right:2px;background-image:url(data:image/png;base64,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);background-color:transparent;background-repeat:no-repeat;background-position:center center;background-size:cover;z-index:4}#qlwapp .qlwapp-box .qlwapp-days,#qlwapp .qlwapp-box .qlwapp-time,#qlwapp .qlwapp-box .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-hidden,#qlwapp .qlwapp-box .qlwapp-offline-text{font-size:12px;line-height:1.5em;opacity:0.6;display:block}#qlwapp .qlwapp-box .qlwapp-days,#qlwapp .qlwapp-box .qlwapp-time{font-size:11px;font-style:italic}#qlwapp .qlwapp-box .qlwapp-name{display:block;font-weight:bold;line-height:1.5em}#qlwapp .qlwapp-box .qlwapp-body{overflow-x:hidden;overflow-y:auto}#qlwapp .qlwapp-box .qlwapp-body .qlwapp-carousel{max-height:470px;min-height:134px}#qlwapp .qlwapp-box .qlwapp-chat{padding:36px 0;display:flex;flex-direction:column;overflow:hidden;justify-content:center;align-items:center;height:100%}#qlwapp .qlwapp-box .qlwapp-user,#qlwapp .qlwapp-box .qlwapp-message{padding:16px 24px;position:relative;word-wrap:break-word;width:calc(100% - 36px * 2)}#qlwapp .qlwapp-box .qlwapp-user:before,#qlwapp .qlwapp-box .qlwapp-message:before{content:"";position:absolute;top:-6px;right:24px;width:13px;height:13px;transform:rotate(45deg)}#qlwapp .qlwapp-box .qlwapp-user{width:auto;max-width:75%;align-self:flex-start;justify-self:flex-end;margin-top:0}#qlwapp .qlwapp-box .qlwapp-user:before{top:auto;bottom:-6px;left:24px}#qlwapp .qlwapp-box .qlwapp-padding{padding-bottom:56px}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{position:absolute;bottom:0;left:0;right:0;height:auto;width:100%}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-footer pre,#qlwapp .qlwapp-box .qlwapp-footer textarea,#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-response textarea{max-height:160px}#qlwapp .qlwapp-box .qlwapp-footer pre,#qlwapp .qlwapp-box .qlwapp-footer textarea,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-response textarea{color:inherit;background-color:inherit}#qlwapp .qlwapp-box .qlwapp-footer:before,#qlwapp .qlwapp-box .qlwapp-response:before{pointer-events:none;position:absolute;content:"";height:59px;top:0;background:linear-gradient(315deg, transparent 0%, rgba(0,0,0,0.025) 100%);left:0;right:0}#qlwapp .qlwapp-box .qlwapp-footer{min-height:56px;display:flex;align-items:center;text-align:center;font-size:12px;padding:12px 36px}#qlwapp .qlwapp-box .qlwapp-footer p{padding:0;font-size:inherit}#qlwapp .qlwapp-box .qlwapp-footer p:last-child{margin-bottom:0}#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-response textarea,#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons{min-height:56px}#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-response textarea{width:100%;height:100%;resize:none;border:none;padding:18px 88px 18px 36px;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:normal;line-height:20px;white-space:pre-wrap;word-wrap:break-word;border-radius:inherit;margin:0}#qlwapp .qlwapp-box .qlwapp-response pre{visibility:hidden}#qlwapp .qlwapp-box .qlwapp-response textarea{position:absolute;bottom:0;left:0}#qlwapp .qlwapp-box .qlwapp-response textarea:focus{outline:none}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons{position:absolute;top:0;right:21px;display:flex;align-items:center}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active>i{display:none}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active>i.qlwf-emoji{display:block}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>i{opacity:0.4}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>i,#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>a{cursor:pointer;margin:0 0 0 10px;display:inherit;font-size:18px;line-height:24px;text-decoration:none}#qlwapp .qlwapp-previous,#qlwapp .qlwapp-close,#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-box .qlwapp-header,#qlwapp .qlwapp-box .qlwapp-contact,#qlwapp .qlwapp-box .qlwapp-user{color:#ffffff}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text{color:#303030}#qlwapp .qlwapp-box,#qlwapp .qlwapp-box:before{background-color:#fff}#qlwapp .qlwapp-box .qlwapp-account{background-color:#fff}#qlwapp .qlwapp-box .qlwapp-account:not(:first-child){border-top:1px solid #f5f5f5}#qlwapp .qlwapp-box .qlwapp-avatar .qlwapp-avatar-container{background-color:#eee}#qlwapp .qlwapp-box .qlwapp-message,#qlwapp .qlwapp-box .qlwapp-message:before{background-color:#eee}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{color:#303030;background-color:#fff;border-top:1px solid #e6e6e6}#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-box .qlwapp-header,#qlwapp .qlwapp-box .qlwapp-user,#qlwapp .qlwapp-box .qlwapp-user:before{background-color:#25d366}#qlwapp{display:none}#qlwapp.qlwapp-show .qlwapp-box{visibility:visible;opacity:1;transform:translateY(0) scale(1);display:block}#qlwapp.qlwapp-transition .qlwapp-box{visibility:visible;display:block}#qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-icon{transform:scale(0, 0);opacity:0}#qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-close{transform:scale(1, 1);opacity:1}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{transform:scale(0, 0);opacity:0}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon{transform:scale(1, 1);opacity:1}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{transition:transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1),opacity 300ms ease-in}#qlwapp .qlwapp-box{display:none;opacity:0;visibility:hidden;transform:translateY(50px);transition:transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1),opacity 300ms ease-in}@media (min-width: 430px){#qlwapp .qlwapp-box{transform:translateY(50px) scale(0.9)}}#qlwapp .qlwapp-box .qlwapp-carousel{display:flex;width:200%;height:100%}#qlwapp .qlwapp-box .qlwapp-carousel .qlwapp-slide{width:50%;transition:max-height 500ms cubic-bezier(0.215, 0.61, 0.355, 1) 1000ms,transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 500ms,opacity 500ms ease-in 500ms}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-slide{max-height:300px}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{opacity:0;transition:transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s,opacity ease-in 0.3s}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label{transform:translateX(56px)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{transform:scale(0.5)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name{transition-delay:800ms}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label{transition-delay:850ms}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-previous,#qlwapp .qlwapp-box .qlwapp-message,#qlwapp .qlwapp-box .qlwapp-user{transition:transform cubic-bezier(0.215, 0.61, 0.355, 1) 600ms,opacity ease-in 200ms}#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-previous,#qlwapp .qlwapp-box .qlwapp-user{opacity:0}#qlwapp .qlwapp-box .qlwapp-response{pointer-events:none}#qlwapp .qlwapp-box .qlwapp-previous{transform:translateX(56px)}#qlwapp .qlwapp-box .qlwapp-user{transform:translateY(56px)}#qlwapp .qlwapp-box .qlwapp-close{transition:opacity 300ms cubic-bezier(0.215, 0.61, 0.355, 1)}#qlwapp .qlwapp-box .qlwapp-description{transition:transform 600ms cubic-bezier(0.215, 0.61, 0.355, 1),opacity 900ms cubic-bezier(0.215, 0.61, 0.355, 1)}#qlwapp .qlwapp-box .qlwapp-account{transition:transform 600ms cubic-bezier(0.215, 0.61, 0.355, 1),opacity 150ms ease-in}#qlwapp .qlwapp-box .qlwapp-previous{transition-delay:800ms}#qlwapp .qlwapp-box .qlwapp-message{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-close,#qlwapp .qlwapp-box .qlwapp-description{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-user{transition-delay:200ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(6){transition-delay:600ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(5){transition-delay:500ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(4){transition-delay:400ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(3){transition-delay:300ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(2){transition-delay:200ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(1){transition-delay:100ms}#qlwapp .qlwapp-box .qlwapp-slide .qlwapp-message{opacity:0;transform:translateY(-56px)}#qlwapp .qlwapp-box .qlwapp-slide .qlwapp-box .qlwapp-account:hover{background-color:#fafafa}#qlwapp .qlwapp-box.response .qlwapp-carousel .qlwapp-slide{transform:translateX(-100%)}#qlwapp .qlwapp-box.response .qlwapp-body .qlwapp-carousel{overflow:hidden;min-height:122px}#qlwapp .qlwapp-box.response .qlwapp-close{transition-delay:0ms}#qlwapp .qlwapp-box.response .qlwapp-close,#qlwapp .qlwapp-box.response .qlwapp-footer,#qlwapp .qlwapp-box.response .qlwapp-description,#qlwapp .qlwapp-box.response .qlwapp-account{opacity:0}#qlwapp .qlwapp-box.response .qlwapp-account{transform:translateY(-33.333%);border-top-color:transparent !important}#qlwapp .qlwapp-box.response .qlwapp-user{display:block}#qlwapp .qlwapp-box.response .qlwapp-message,#qlwapp .qlwapp-box.response .qlwapp-previous,#qlwapp .qlwapp-box.response .qlwapp-response{opacity:1}#qlwapp .qlwapp-box.response .qlwapp-response{pointer-events:all}#qlwapp .qlwapp-box.response .qlwapp-message,#qlwapp .qlwapp-box.response .qlwapp-previous{transform:translate(0)}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-slide{max-height:84px}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar{opacity:1}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label{opacity:0.5}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label{transform:translateX(0)}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar{transform:scale(1)}#qlwapp .qlwapp-box.response.opening .qlwapp-footer,#qlwapp .qlwapp-box.response.opening .qlwapp-response,#qlwapp .qlwapp-box.response.opening .qlwapp-close,#qlwapp .qlwapp-box.response.opening .qlwapp-previous,#qlwapp .qlwapp-box.response.opening .qlwapp-description,#qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-label{visibility:visible}#qlwapp .qlwapp-box.texting .qlwapp-body{overflow-y:auto}#qlwapp .qlwapp-box.texting .qlwapp-user{opacity:1;transform:translate(0)}#qlwapp .qlwapp-box.closing .qlwapp-message{transition:all 0.4s;transform:translateY(100%);opacity:0}#qlwapp .qlwapp-box.closing .qlwapp-previous{transition-delay:0ms;transform:translateX(-24px);opacity:0;transition:transform cubic-bezier(0.215, 0.61, 0.355, 1) 300ms,opacity ease-out 200ms}#qlwapp .qlwapp-box.closing .qlwapp-description{opacity:0}body.rtl #qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-icon{margin:0 0 0 12px}body.rtl #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons{right:auto;left:21px;flex-direction:row-reverse}body.rtl #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>a{transform:rotate(180deg)}body.rtl #qlwapp .qlwapp-box .qlwapp-response pre,body.rtl #qlwapp .qlwapp-box .qlwapp-response textarea{padding:18px 36px 18px 88px}body.rtl #qlwapp .qlwapp-box.response .qlwapp-carousel .qlwapp-slide{transform:translateX(100%)}body.rtl #qlwapp .qlwapp-box .qlwapp-contact{flex-direction:row-reverse}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @font-face {
2
+ font-family: "qlwapp-whatsapp";
3
+ src: url(data:application/x-font-woff;charset=utf-8;base64,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) format("woff");
4
+ font-weight: normal;
5
+ font-style: normal; }
6
+
7
+ .qlwapp-whatsapp-icon {
8
+ font-family: "qlwapp-whatsapp" !important;
9
+ speak: none;
10
+ font-style: normal;
11
+ font-weight: normal;
12
+ font-variant: normal;
13
+ text-transform: none;
14
+ line-height: 1;
15
+ -webkit-font-smoothing: antialiased;
16
+ -moz-osx-font-smoothing: grayscale; }
17
+
18
+ .qlwapp-whatsapp-icon:before {
19
+ content: "\e900"; }
20
+
21
+ #qlwapp {
22
+ pointer-events: none;
23
+ box-sizing: border-box;
24
+ /*&.qlwapp-middle-left {
25
+ &.qlwapp-button {
26
+ .qlwapp-developer,
27
+ .qlwapp-toggle {
28
+ margin-left: -48px;
29
+ padding-left: 60px;
30
+ }
31
+ }
32
+ }
33
+
34
+ &.qlwapp-middle-right {
35
+ &.qlwapp-button {
36
+ .qlwapp-developer,
37
+ .qlwapp-toggle {
38
+ margin-right: -48px;
39
+ padding-right: 60px;
40
+ }
41
+
42
+ }
43
+ }
44
+
45
+ &.qlwapp-bottom-left {
46
+ &.qlwapp-bubble,
47
+ &.qlwapp-button {
48
+ .qlwapp-developer,
49
+ .qlwapp-toggle {
50
+ margin-left: 20px;
51
+ }
52
+ }
53
+
54
+ &.qlwapp-bubble {
55
+ .qlwapp-toggle {
56
+ .qlwapp-text {
57
+ right: auto;
58
+ left: 60px;
59
+ }
60
+ }
61
+ }
62
+
63
+ .qlwapp-box {
64
+ &:before {
65
+ right: auto;
66
+ left: 20px;
67
+ }
68
+ }
69
+
70
+ }
71
+
72
+ &.qlwapp-bottom-right {
73
+ &.qlwapp-bubble,
74
+ &.qlwapp-button {
75
+
76
+ .qlwapp-developer,
77
+ .qlwapp-toggle {
78
+ margin-right: 20px;
79
+ }
80
+ }
81
+ }*/ }
82
+ @media (min-width: 430px) {
83
+ #qlwapp {
84
+ width: 430px; } }
85
+ #qlwapp * {
86
+ box-sizing: border-box; }
87
+ #qlwapp.qlwapp-js-ready {
88
+ display: block; }
89
+ #qlwapp.qlwapp-hide, #qlwapp.qlwapp-desktop.mobile, #qlwapp.qlwapp-mobile.desktop {
90
+ display: none; }
91
+ #qlwapp .qlwapp-readonly, #qlwapp.qlwapp-readonly {
92
+ pointer-events: none !important;
93
+ opacity: 0.5 !important; }
94
+ #qlwapp .qlwapp-disabled, #qlwapp.qlwapp-disabled {
95
+ display: none;
96
+ visibility: hidden; }
97
+ #qlwapp.qlwapp-middle-left, #qlwapp.qlwapp-bottom-left, #qlwapp.qlwapp-middle-right, #qlwapp.qlwapp-bottom-right {
98
+ position: fixed;
99
+ z-index: 9999999; }
100
+ #qlwapp.qlwapp-middle-left, #qlwapp.qlwapp-bottom-left {
101
+ right: auto;
102
+ left: 0; }
103
+ #qlwapp.qlwapp-middle-left .qlwapp-toggle .qlwapp-days,
104
+ #qlwapp.qlwapp-middle-left .qlwapp-toggle .qlwapp-time, #qlwapp.qlwapp-bottom-left .qlwapp-toggle .qlwapp-days,
105
+ #qlwapp.qlwapp-bottom-left .qlwapp-toggle .qlwapp-time {
106
+ left: 0;
107
+ right: auto; }
108
+ #qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-developer,
109
+ #qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle, #qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,
110
+ #qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle, #qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-developer,
111
+ #qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle, #qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-developer,
112
+ #qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-toggle {
113
+ margin-left: 20px; }
114
+ #qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text, #qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text {
115
+ right: auto;
116
+ left: 60px; }
117
+ #qlwapp.qlwapp-middle-left .qlwapp-box:before, #qlwapp.qlwapp-bottom-left .qlwapp-box:before {
118
+ right: auto;
119
+ left: 20px; }
120
+ #qlwapp.qlwapp-middle-right, #qlwapp.qlwapp-bottom-right {
121
+ left: auto;
122
+ right: 0; }
123
+ #qlwapp.qlwapp-middle-right .qlwapp-toggle .qlwapp-days,
124
+ #qlwapp.qlwapp-middle-right .qlwapp-toggle .qlwapp-time, #qlwapp.qlwapp-bottom-right .qlwapp-toggle .qlwapp-days,
125
+ #qlwapp.qlwapp-bottom-right .qlwapp-toggle .qlwapp-time {
126
+ left: auto;
127
+ right: 0; }
128
+ #qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-developer,
129
+ #qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-toggle, #qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,
130
+ #qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle, #qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-developer,
131
+ #qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-toggle, #qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-developer,
132
+ #qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-toggle {
133
+ margin-right: 20px; }
134
+ #qlwapp.qlwapp-middle-left, #qlwapp.qlwapp-middle-right {
135
+ top: 40%;
136
+ bottom: auto; }
137
+ #qlwapp.qlwapp-middle-left .qlwapp-developer, #qlwapp.qlwapp-middle-right .qlwapp-developer {
138
+ padding: 0 24px; }
139
+ #qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,
140
+ #qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle {
141
+ margin-left: -48px;
142
+ padding-left: 60px; }
143
+ #qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,
144
+ #qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle {
145
+ margin-right: -48px;
146
+ padding-right: 60px; }
147
+ #qlwapp.qlwapp-bottom-left, #qlwapp.qlwapp-bottom-right {
148
+ top: auto;
149
+ bottom: 0; }
150
+ #qlwapp.qlwapp-rounded.qlwapp-bubble .qlwapp-toggle {
151
+ border-radius: 50%; }
152
+ #qlwapp.qlwapp-rounded.qlwapp-button .qlwapp-toggle {
153
+ border-radius: 50px; }
154
+ @media (min-width: 430px) {
155
+ #qlwapp.qlwapp-rounded .qlwapp-box {
156
+ border-radius: 8px; } }
157
+ #qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-user,
158
+ #qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-message {
159
+ border-radius: 4px; }
160
+ #qlwapp p:last-child {
161
+ margin: 0; }
162
+ #qlwapp time {
163
+ opacity: 0.8;
164
+ font-style: italic;
165
+ font-size: 10px; }
166
+ #qlwapp .qlwapp-no-contacts {
167
+ display: flex;
168
+ height: 134px;
169
+ justify-content: center;
170
+ align-items: center; }
171
+ #qlwapp .qlwapp-container {
172
+ display: flex;
173
+ flex-direction: column; }
174
+ #qlwapp .qlwapp-clearfix:before, #qlwapp .qlwapp-clearfix:after {
175
+ content: "";
176
+ display: block;
177
+ clear: both; }
178
+ #qlwapp .qlwapp-previous,
179
+ #qlwapp .qlwapp-close {
180
+ display: block;
181
+ opacity: 0.8;
182
+ font-style: unset;
183
+ font-size: 24px;
184
+ font-weight: bold;
185
+ width: 24px;
186
+ height: 24px;
187
+ cursor: pointer;
188
+ text-align: center;
189
+ line-height: 24px;
190
+ z-index: 1; }
191
+ #qlwapp .qlwapp-previous {
192
+ width: 16px;
193
+ height: 36px;
194
+ cursor: pointer;
195
+ text-align: center;
196
+ line-height: 36px;
197
+ margin-right: auto; }
198
+ #qlwapp .qlwapp-developer {
199
+ font-size: 8px;
200
+ top: -20px;
201
+ position: relative; }
202
+ #qlwapp .qlwapp-developer,
203
+ #qlwapp .qlwapp-toggle {
204
+ display: inline-flex;
205
+ align-items: center;
206
+ justify-content: center;
207
+ margin-left: auto;
208
+ margin-right: auto; }
209
+ #qlwapp .qlwapp-toggle {
210
+ pointer-events: all;
211
+ cursor: pointer;
212
+ box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.06), 0 2px 32px 0 rgba(0, 0, 0, 0.16);
213
+ margin-top: 24px;
214
+ margin-bottom: 24px;
215
+ position: relative;
216
+ text-decoration: none; }
217
+ #qlwapp .qlwapp-toggle, #qlwapp .qlwapp-toggle:active, #qlwapp .qlwapp-toggle:focus, #qlwapp .qlwapp-toggle:hover {
218
+ outline: none;
219
+ text-decoration: none; }
220
+ #qlwapp .qlwapp-toggle .qlwapp-days,
221
+ #qlwapp .qlwapp-toggle .qlwapp-time {
222
+ position: absolute;
223
+ bottom: -2em;
224
+ color: initial;
225
+ font-size: 10px;
226
+ display: inline-block;
227
+ top: auto;
228
+ width: 120px; }
229
+ #qlwapp .qlwapp-days > span {
230
+ display: none; }
231
+ #qlwapp .qlwapp-days > span.qlwapp-available-day {
232
+ display: inline-block !important; }
233
+ #qlwapp .qlwapp-avatar .qlwapp-avatar-container {
234
+ overflow: hidden;
235
+ border-radius: 50%;
236
+ width: inherit;
237
+ height: inherit;
238
+ box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5); }
239
+ #qlwapp .qlwapp-avatar .qlwapp-avatar-container img {
240
+ width: 100%;
241
+ height: auto; }
242
+ #qlwapp.qlwapp-bubble .qlwapp-toggle {
243
+ width: 60px;
244
+ height: 60px; }
245
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,
246
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close {
247
+ position: absolute;
248
+ display: block;
249
+ pointer-events: none;
250
+ font-size: 24px; }
251
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text {
252
+ position: absolute;
253
+ right: 60px;
254
+ height: 60px;
255
+ margin: 0 24px;
256
+ display: flex;
257
+ align-items: center;
258
+ justify-content: flex-end;
259
+ font-weight: bold;
260
+ white-space: pre; }
261
+ #qlwapp.qlwapp-button .qlwapp-toggle {
262
+ height: 40px;
263
+ white-space: nowrap;
264
+ padding: 12px 24px; }
265
+ #qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-icon {
266
+ margin: 0 12px 0 0; }
267
+ #qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-close {
268
+ display: none; }
269
+ #qlwapp .qlwapp-box {
270
+ pointer-events: all;
271
+ padding-bottom: 56px;
272
+ position: fixed;
273
+ top: auto;
274
+ bottom: 0;
275
+ left: 0;
276
+ right: 0;
277
+ z-index: 99999;
278
+ box-shadow: 0px 5px 40px 5px rgba(0, 0, 0, 0.5); }
279
+ @media (min-width: 430px) {
280
+ #qlwapp .qlwapp-box {
281
+ position: relative;
282
+ top: auto;
283
+ bottom: auto;
284
+ left: auto;
285
+ right: auto;
286
+ box-shadow: 0 8px 25px -5px rgba(45, 62, 79, 0.15);
287
+ margin-top: 24px;
288
+ margin-left: 24px;
289
+ margin-right: 24px;
290
+ margin-bottom: 12px; }
291
+ #qlwapp .qlwapp-box:before {
292
+ content: "";
293
+ position: absolute;
294
+ bottom: -6px;
295
+ right: 24px;
296
+ width: 13px;
297
+ height: 13px;
298
+ transform: rotate(45deg); }
299
+ #qlwapp .qlwapp-box .qlwapp-header {
300
+ border-top-left-radius: inherit;
301
+ border-top-right-radius: inherit; }
302
+ #qlwapp .qlwapp-box .qlwapp-footer,
303
+ #qlwapp .qlwapp-box .qlwapp-response {
304
+ border-bottom-left-radius: inherit;
305
+ border-bottom-right-radius: inherit; } }
306
+ #qlwapp .qlwapp-box .qlwapp-header {
307
+ position: relative;
308
+ overflow: hidden; }
309
+ #qlwapp .qlwapp-box .qlwapp-header:before {
310
+ content: "";
311
+ position: absolute;
312
+ top: 0;
313
+ bottom: 0;
314
+ left: 0;
315
+ right: 0;
316
+ background: linear-gradient(315deg, transparent 0%, rgba(0, 0, 0, 0.05) 100%); }
317
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-close {
318
+ position: absolute;
319
+ top: 12px;
320
+ right: 12px; }
321
+ @media (min-width: 430px) {
322
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-close {
323
+ position: absolute;
324
+ top: 7px;
325
+ right: 7px;
326
+ font-size: 18px; } }
327
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-description {
328
+ position: relative;
329
+ display: flex;
330
+ align-items: center; }
331
+ #qlwapp .qlwapp-box .qlwapp-description,
332
+ #qlwapp .qlwapp-box .qlwapp-contact {
333
+ padding: 12px 36px;
334
+ height: 100%; }
335
+ #qlwapp .qlwapp-box .qlwapp-description p,
336
+ #qlwapp .qlwapp-box .qlwapp-description h3 {
337
+ color: inherit;
338
+ font-family: inherit;
339
+ margin: 0; }
340
+ #qlwapp .qlwapp-box .qlwapp-description h3 {
341
+ margin: 0 0 0.25em 0; }
342
+ #qlwapp .qlwapp-box .qlwapp-contact {
343
+ display: flex;
344
+ justify-content: flex-end;
345
+ align-items: center; }
346
+ #qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous {
347
+ position: relative;
348
+ left: -16px; }
349
+ #qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous > i {
350
+ line-height: 36px; }
351
+ #qlwapp .qlwapp-box .qlwapp-contact .qlwapp-avatar {
352
+ width: 42px;
353
+ height: 42px; }
354
+ #qlwapp .qlwapp-box .qlwapp-contact .qlwapp-label,
355
+ #qlwapp .qlwapp-box .qlwapp-contact .qlwapp-name {
356
+ color: inherit; }
357
+ #qlwapp .qlwapp-box .qlwapp-account {
358
+ color: inherit;
359
+ padding: 16px 36px;
360
+ display: flex;
361
+ align-items: center;
362
+ overflow: hidden;
363
+ position: relative;
364
+ cursor: pointer;
365
+ width: 100%;
366
+ text-decoration: none; }
367
+ #qlwapp .qlwapp-box .qlwapp-account:only-of-type {
368
+ padding-top: 36px;
369
+ padding-bottom: 36px; }
370
+ #qlwapp .qlwapp-box .qlwapp-info {
371
+ padding: 0 16px; }
372
+ #qlwapp .qlwapp-box .qlwapp-avatar {
373
+ position: relative;
374
+ width: 62px;
375
+ height: 62px; }
376
+ #qlwapp .qlwapp-box .qlwapp-avatar:after {
377
+ content: "";
378
+ display: block;
379
+ width: 15px;
380
+ height: 15px;
381
+ position: absolute;
382
+ bottom: 2px;
383
+ right: 2px;
384
+ background-image: url(data:image/png;base64,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);
385
+ background-color: transparent;
386
+ background-repeat: no-repeat;
387
+ background-position: center center;
388
+ background-size: cover;
389
+ z-index: 4; }
390
+ #qlwapp .qlwapp-box .qlwapp-days,
391
+ #qlwapp .qlwapp-box .qlwapp-time,
392
+ #qlwapp .qlwapp-box .qlwapp-label,
393
+ #qlwapp .qlwapp-box .qlwapp-hidden,
394
+ #qlwapp .qlwapp-box .qlwapp-offline-text {
395
+ font-size: 12px;
396
+ line-height: 1.5em;
397
+ opacity: 0.6;
398
+ display: block; }
399
+ #qlwapp .qlwapp-box .qlwapp-days,
400
+ #qlwapp .qlwapp-box .qlwapp-time {
401
+ font-size: 11px;
402
+ font-style: italic; }
403
+ #qlwapp .qlwapp-box .qlwapp-name {
404
+ display: block;
405
+ font-weight: bold;
406
+ line-height: 1.5em; }
407
+ #qlwapp .qlwapp-box .qlwapp-body {
408
+ overflow-x: hidden;
409
+ overflow-y: auto; }
410
+ #qlwapp .qlwapp-box .qlwapp-body .qlwapp-carousel {
411
+ max-height: 470px;
412
+ min-height: 134px; }
413
+ #qlwapp .qlwapp-box .qlwapp-chat {
414
+ padding: 36px 0;
415
+ display: flex;
416
+ flex-direction: column;
417
+ overflow: hidden;
418
+ justify-content: center;
419
+ align-items: center;
420
+ height: 100%; }
421
+ #qlwapp .qlwapp-box .qlwapp-user,
422
+ #qlwapp .qlwapp-box .qlwapp-message {
423
+ padding: 16px 24px;
424
+ position: relative;
425
+ word-wrap: break-word;
426
+ width: calc(100% - 36px * 2); }
427
+ #qlwapp .qlwapp-box .qlwapp-user:before,
428
+ #qlwapp .qlwapp-box .qlwapp-message:before {
429
+ content: "";
430
+ position: absolute;
431
+ top: -6px;
432
+ right: 24px;
433
+ width: 13px;
434
+ height: 13px;
435
+ transform: rotate(45deg); }
436
+ #qlwapp .qlwapp-box .qlwapp-user {
437
+ width: auto;
438
+ max-width: 75%;
439
+ align-self: flex-start;
440
+ justify-self: flex-end;
441
+ margin-top: 0; }
442
+ #qlwapp .qlwapp-box .qlwapp-user:before {
443
+ top: auto;
444
+ bottom: -6px;
445
+ left: 24px; }
446
+ #qlwapp .qlwapp-box .qlwapp-padding {
447
+ padding-bottom: 56px; }
448
+ #qlwapp .qlwapp-box .qlwapp-footer,
449
+ #qlwapp .qlwapp-box .qlwapp-response {
450
+ position: absolute;
451
+ bottom: 0;
452
+ left: 0;
453
+ right: 0;
454
+ height: auto;
455
+ width: 100%; }
456
+ #qlwapp .qlwapp-box .qlwapp-footer,
457
+ #qlwapp .qlwapp-box .qlwapp-footer pre,
458
+ #qlwapp .qlwapp-box .qlwapp-footer textarea,
459
+ #qlwapp .qlwapp-box .qlwapp-response,
460
+ #qlwapp .qlwapp-box .qlwapp-response pre,
461
+ #qlwapp .qlwapp-box .qlwapp-response textarea {
462
+ max-height: 160px; }
463
+ #qlwapp .qlwapp-box .qlwapp-footer pre,
464
+ #qlwapp .qlwapp-box .qlwapp-footer textarea,
465
+ #qlwapp .qlwapp-box .qlwapp-response pre,
466
+ #qlwapp .qlwapp-box .qlwapp-response textarea {
467
+ color: inherit;
468
+ background-color: inherit; }
469
+ #qlwapp .qlwapp-box .qlwapp-footer:before,
470
+ #qlwapp .qlwapp-box .qlwapp-response:before {
471
+ pointer-events: none;
472
+ position: absolute;
473
+ content: "";
474
+ height: 59px;
475
+ top: 0;
476
+ background: linear-gradient(315deg, transparent 0%, rgba(0, 0, 0, 0.025) 100%);
477
+ left: 0;
478
+ right: 0; }
479
+ #qlwapp .qlwapp-box .qlwapp-footer {
480
+ min-height: 56px;
481
+ display: flex;
482
+ align-items: center;
483
+ text-align: center;
484
+ font-size: 12px;
485
+ padding: 12px 36px; }
486
+ #qlwapp .qlwapp-box .qlwapp-footer p {
487
+ padding: 0;
488
+ font-size: inherit; }
489
+ #qlwapp .qlwapp-box .qlwapp-footer p:last-child {
490
+ margin-bottom: 0; }
491
+ #qlwapp .qlwapp-box .qlwapp-response,
492
+ #qlwapp .qlwapp-box .qlwapp-response pre,
493
+ #qlwapp .qlwapp-box .qlwapp-response textarea,
494
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons {
495
+ min-height: 56px; }
496
+ #qlwapp .qlwapp-box .qlwapp-response pre,
497
+ #qlwapp .qlwapp-box .qlwapp-response textarea {
498
+ width: 100%;
499
+ height: 100%;
500
+ resize: none;
501
+ border: none;
502
+ padding: 18px 88px 18px 36px;
503
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
504
+ font-size: 14px;
505
+ font-weight: normal;
506
+ line-height: 20px;
507
+ white-space: pre-wrap;
508
+ word-wrap: break-word;
509
+ border-radius: inherit;
510
+ margin: 0; }
511
+ #qlwapp .qlwapp-box .qlwapp-response pre {
512
+ visibility: hidden; }
513
+ #qlwapp .qlwapp-box .qlwapp-response textarea {
514
+ position: absolute;
515
+ bottom: 0;
516
+ left: 0; }
517
+ #qlwapp .qlwapp-box .qlwapp-response textarea:focus {
518
+ outline: none; }
519
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons {
520
+ position: absolute;
521
+ top: 0;
522
+ right: 21px;
523
+ display: flex;
524
+ align-items: center; }
525
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active > i {
526
+ display: none; }
527
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active > i.qlwf-emoji {
528
+ display: block; }
529
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons > i {
530
+ opacity: 0.4; }
531
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons > i,
532
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons > a {
533
+ cursor: pointer;
534
+ margin: 0 0 0 10px;
535
+ display: inherit;
536
+ font-size: 18px;
537
+ line-height: 24px;
538
+ text-decoration: none; }
539
+
540
+ #qlwapp .qlwapp-previous,
541
+ #qlwapp .qlwapp-close,
542
+ #qlwapp .qlwapp-toggle,
543
+ #qlwapp .qlwapp-box .qlwapp-header,
544
+ #qlwapp .qlwapp-box .qlwapp-contact,
545
+ #qlwapp .qlwapp-box .qlwapp-user {
546
+ color: #ffffff; }
547
+
548
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text {
549
+ color: #303030; }
550
+
551
+ #qlwapp .qlwapp-box,
552
+ #qlwapp .qlwapp-box:before {
553
+ background-color: #fff; }
554
+
555
+ #qlwapp .qlwapp-box .qlwapp-account {
556
+ background-color: #fff; }
557
+ #qlwapp .qlwapp-box .qlwapp-account:not(:first-child) {
558
+ border-top: 1px solid #f5f5f5; }
559
+
560
+ #qlwapp .qlwapp-box .qlwapp-avatar .qlwapp-avatar-container {
561
+ background-color: #eee; }
562
+
563
+ #qlwapp .qlwapp-box .qlwapp-message,
564
+ #qlwapp .qlwapp-box .qlwapp-message:before {
565
+ background-color: #eee; }
566
+
567
+ #qlwapp .qlwapp-box .qlwapp-footer,
568
+ #qlwapp .qlwapp-box .qlwapp-response {
569
+ color: #303030;
570
+ background-color: #fff;
571
+ border-top: 1px solid #e6e6e6; }
572
+
573
+ #qlwapp .qlwapp-toggle,
574
+ #qlwapp .qlwapp-box .qlwapp-header,
575
+ #qlwapp .qlwapp-box .qlwapp-user,
576
+ #qlwapp .qlwapp-box .qlwapp-user:before {
577
+ background-color: #25d366; }
578
+
579
+ #qlwapp {
580
+ display: none; }
581
+ #qlwapp.qlwapp-show .qlwapp-box {
582
+ visibility: visible;
583
+ opacity: 1;
584
+ transform: translateY(0) scale(1);
585
+ display: block; }
586
+ #qlwapp.qlwapp-transition .qlwapp-box {
587
+ visibility: visible;
588
+ display: block; }
589
+ #qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-icon {
590
+ transform: scale(0, 0);
591
+ opacity: 0; }
592
+ #qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-close {
593
+ transform: scale(1, 1);
594
+ opacity: 1; }
595
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close {
596
+ transform: scale(0, 0);
597
+ opacity: 0; }
598
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon {
599
+ transform: scale(1, 1);
600
+ opacity: 1; }
601
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,
602
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close {
603
+ transition: transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 300ms ease-in; }
604
+ #qlwapp .qlwapp-box {
605
+ display: none;
606
+ opacity: 0;
607
+ visibility: hidden;
608
+ transform: translateY(50px);
609
+ transition: transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 300ms ease-in;
610
+ /* .qlwapp-body {
611
+ .qlwapp-carousel {
612
+ .qlwapp-slide {
613
+ height: fit-content;
614
+ }
615
+ }
616
+ } */ }
617
+ @media (min-width: 430px) {
618
+ #qlwapp .qlwapp-box {
619
+ transform: translateY(50px) scale(0.9); } }
620
+ #qlwapp .qlwapp-box .qlwapp-carousel {
621
+ display: flex;
622
+ width: 200%;
623
+ height: 100%; }
624
+ #qlwapp .qlwapp-box .qlwapp-carousel .qlwapp-slide {
625
+ width: 50%;
626
+ transition: max-height 500ms cubic-bezier(0.215, 0.61, 0.355, 1) 1000ms, transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 500ms, opacity 500ms ease-in 500ms; }
627
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-slide {
628
+ max-height: 300px; }
629
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,
630
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-label,
631
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar {
632
+ opacity: 0;
633
+ transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s, opacity ease-in 0.3s; }
634
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,
635
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-label {
636
+ transform: translateX(56px); }
637
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar {
638
+ transform: scale(0.5); }
639
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-name {
640
+ transition-delay: 800ms; }
641
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-label {
642
+ transition-delay: 850ms; }
643
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar {
644
+ transition-delay: 900ms; }
645
+ #qlwapp .qlwapp-box .qlwapp-footer,
646
+ #qlwapp .qlwapp-box .qlwapp-response,
647
+ #qlwapp .qlwapp-box .qlwapp-previous,
648
+ #qlwapp .qlwapp-box .qlwapp-message,
649
+ #qlwapp .qlwapp-box .qlwapp-user {
650
+ transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 600ms, opacity ease-in 200ms; }
651
+ #qlwapp .qlwapp-box .qlwapp-response,
652
+ #qlwapp .qlwapp-box .qlwapp-previous,
653
+ #qlwapp .qlwapp-box .qlwapp-user {
654
+ opacity: 0; }
655
+ #qlwapp .qlwapp-box .qlwapp-response {
656
+ pointer-events: none; }
657
+ #qlwapp .qlwapp-box .qlwapp-previous {
658
+ transform: translateX(56px); }
659
+ #qlwapp .qlwapp-box .qlwapp-user {
660
+ transform: translateY(56px); }
661
+ #qlwapp .qlwapp-box .qlwapp-close {
662
+ transition: opacity 300ms cubic-bezier(0.215, 0.61, 0.355, 1); }
663
+ #qlwapp .qlwapp-box .qlwapp-description {
664
+ transition: transform 600ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 900ms cubic-bezier(0.215, 0.61, 0.355, 1); }
665
+ #qlwapp .qlwapp-box .qlwapp-account {
666
+ transition: transform 600ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 150ms ease-in; }
667
+ #qlwapp .qlwapp-box .qlwapp-previous {
668
+ transition-delay: 800ms; }
669
+ #qlwapp .qlwapp-box .qlwapp-message {
670
+ transition-delay: 900ms; }
671
+ #qlwapp .qlwapp-box .qlwapp-close,
672
+ #qlwapp .qlwapp-box .qlwapp-description {
673
+ transition-delay: 900ms; }
674
+ #qlwapp .qlwapp-box .qlwapp-user {
675
+ transition-delay: 200ms; }
676
+ #qlwapp .qlwapp-box .qlwapp-account:nth-of-type(6) {
677
+ transition-delay: 600ms; }
678
+ #qlwapp .qlwapp-box .qlwapp-account:nth-of-type(5) {
679
+ transition-delay: 500ms; }
680
+ #qlwapp .qlwapp-box .qlwapp-account:nth-of-type(4) {
681
+ transition-delay: 400ms; }
682
+ #qlwapp .qlwapp-box .qlwapp-account:nth-of-type(3) {
683
+ transition-delay: 300ms; }
684
+ #qlwapp .qlwapp-box .qlwapp-account:nth-of-type(2) {
685
+ transition-delay: 200ms; }
686
+ #qlwapp .qlwapp-box .qlwapp-account:nth-of-type(1) {
687
+ transition-delay: 100ms; }
688
+ #qlwapp .qlwapp-box .qlwapp-slide .qlwapp-message {
689
+ opacity: 0;
690
+ transform: translateY(-56px); }
691
+ #qlwapp .qlwapp-box .qlwapp-slide .qlwapp-box .qlwapp-account:hover {
692
+ background-color: #fafafa; }
693
+ #qlwapp .qlwapp-box.response .qlwapp-carousel .qlwapp-slide {
694
+ transform: translateX(-100%); }
695
+ #qlwapp .qlwapp-box.response .qlwapp-body .qlwapp-carousel {
696
+ overflow: hidden;
697
+ min-height: 122px; }
698
+ #qlwapp .qlwapp-box.response .qlwapp-close {
699
+ transition-delay: 0ms; }
700
+ #qlwapp .qlwapp-box.response .qlwapp-close,
701
+ #qlwapp .qlwapp-box.response .qlwapp-footer,
702
+ #qlwapp .qlwapp-box.response .qlwapp-description,
703
+ #qlwapp .qlwapp-box.response .qlwapp-account {
704
+ opacity: 0; }
705
+ #qlwapp .qlwapp-box.response .qlwapp-account {
706
+ transform: translateY(-33.333%);
707
+ border-top-color: transparent !important; }
708
+ #qlwapp .qlwapp-box.response .qlwapp-user {
709
+ display: block; }
710
+ #qlwapp .qlwapp-box.response .qlwapp-message,
711
+ #qlwapp .qlwapp-box.response .qlwapp-previous,
712
+ #qlwapp .qlwapp-box.response .qlwapp-response {
713
+ opacity: 1; }
714
+ #qlwapp .qlwapp-box.response .qlwapp-response {
715
+ pointer-events: all; }
716
+ #qlwapp .qlwapp-box.response .qlwapp-message,
717
+ #qlwapp .qlwapp-box.response .qlwapp-previous {
718
+ transform: translate(0); }
719
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-slide {
720
+ max-height: 84px; }
721
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,
722
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar {
723
+ opacity: 1; }
724
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label {
725
+ opacity: 0.5; }
726
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,
727
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label {
728
+ transform: translateX(0); }
729
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar {
730
+ transform: scale(1); }
731
+ #qlwapp .qlwapp-box.response.opening .qlwapp-footer,
732
+ #qlwapp .qlwapp-box.response.opening .qlwapp-response,
733
+ #qlwapp .qlwapp-box.response.opening .qlwapp-close,
734
+ #qlwapp .qlwapp-box.response.opening .qlwapp-previous,
735
+ #qlwapp .qlwapp-box.response.opening .qlwapp-description,
736
+ #qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-name,
737
+ #qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-label {
738
+ visibility: visible; }
739
+ #qlwapp .qlwapp-box.texting .qlwapp-body {
740
+ overflow-y: auto; }
741
+ #qlwapp .qlwapp-box.texting .qlwapp-user {
742
+ opacity: 1;
743
+ transform: translate(0); }
744
+ #qlwapp .qlwapp-box.closing .qlwapp-message {
745
+ transition: all 0.4s;
746
+ transform: translateY(100%);
747
+ opacity: 0; }
748
+ #qlwapp .qlwapp-box.closing .qlwapp-previous {
749
+ transition-delay: 0ms;
750
+ transform: translateX(-24px);
751
+ opacity: 0;
752
+ transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 300ms, opacity ease-out 200ms; }
753
+ #qlwapp .qlwapp-box.closing .qlwapp-description {
754
+ opacity: 0; }
755
+
756
+ body.rtl #qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-icon {
757
+ margin: 0 0 0 12px; }
758
+
759
+ body.rtl #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons {
760
+ right: auto;
761
+ left: 21px;
762
+ flex-direction: row-reverse; }
763
+ body.rtl #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons > a {
764
+ transform: rotate(180deg); }
765
+
766
+ body.rtl #qlwapp .qlwapp-box .qlwapp-response pre,
767
+ body.rtl #qlwapp .qlwapp-box .qlwapp-response textarea {
768
+ padding: 18px 36px 18px 88px; }
769
+
770
+ body.rtl #qlwapp .qlwapp-box.response .qlwapp-carousel .qlwapp-slide {
771
+ transform: translateX(100%); }
772
+
773
+ body.rtl #qlwapp .qlwapp-box .qlwapp-contact {
774
+ flex-direction: row-reverse; }
775
+
776
+ /*# sourceMappingURL=frontend.css.map*/
assets/frontend/js/frontend.asset.php CHANGED
@@ -1 +1 @@
1
- <?php return array('dependencies' => array('jquery'), 'version' => '021fa4de1c6ea4db860e85f702082b24');
1
+ <?php return array('dependencies' => array('jquery'), 'version' => '83eb9745a9ad52c33397e45e99b8a87b');
assets/frontend/js/frontend.js CHANGED
@@ -1 +1,572 @@
1
- !function(t){var e={};function n(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,a){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(a,i,function(e){return t[e]}.bind(null,i));return a},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=2)}([function(t,e){function n(e){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t.exports=n=function(t){return typeof t}:t.exports=n=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(e)}t.exports=n},function(t,e){!function(){t.exports=this.jQuery}()},function(t,e,n){"use strict";n.r(e);var a=n(0),i=n.n(a),o=(n(3),n(1)),r=n.n(o);Array.prototype.timedaysIncludes||Object.defineProperty(Array.prototype,"timedaysIncludes",{value:function(t){return!!this.includes(parseInt(t))||!!this.includes(t.toString())}}),function(t,e,n,a){function o(e,n){this.$qlwapp=t(e),this.init(this)}function r(){t("div#qlwapp").qlwapp()}t.fn.simulateClick=function(){return this.each((function(){if("createEvent"in n){var t=this.ownerDocument,e=t.createEvent("MouseEvents");e.initMouseEvent("click",!0,!0,t.defaultView,1,0,0,0,0,!1,!1,!1,!1,0,null),this.dispatchEvent(e)}else this.click()}))},o.prototype={timeDateToString:function(t){var e=""+t.getMinutes();return 1===e.length&&(e="0"+e),t.getHours()+":"+e},timeStringToInt:function(t,e){return parseInt(t+e)},isMobile:function(t){var n=e.matchMedia("(pointer:coarse)");return n&&n.matches},init:function(n){var a=this.$qlwapp;if(a.on("qlwapp.init",(function(t){n.mobiledevice=n.isMobile()})),a.on("qlwapp.time",(function(e){var a=t(e.target),i=a.data("timedays")||[],o=parseInt(a.data("timezone"))||0,r=new Date((new Date).getTime()+60*o*1e3).getUTCDay().toString();if(i&&i.length&&!i.includes(r)){a.addClass("qlwapp-readonly"),a.find(".qlwapp-days").show(),a.find(".qlwapp-time").hide();var p=function(t,e){for(var n=t;n<=6;n++)if(e.timedaysIncludes(n))return n;for(n=0;n<=t;n++)if(e.timedaysIncludes(n))return n}(r,i);return a.find(".day"+p).addClass("qlwapp-available-day"),!0}i&&i.length&&i.includes(r)&&(a.find(".qlwapp-days").hide(),a.find(".qlwapp-time").show());var l=a.data("timefrom")||!1,s=a.data("timeto")||!1;if(!s||!l||l===s)return!0;var d,u,c=new Date,f=-c.getTimezoneOffset()-o,g=new Date,w=new Date;if(d=n.timeStringToInt(l[0],l[1]),u=n.timeStringToInt(l[3],l[4]),w.setHours(d),w.setMinutes(u+f),d=n.timeStringToInt(s[0],s[1]),u=n.timeStringToInt(s[3],s[4]),g.setHours(d),g.setMinutes(u+f),c.getTime()>=w.getTime()&&c.getTime()<=g.getTime()||(a.addClass("qlwapp-readonly"),a.find(".qlwapp-days").hide(),a.find(".qlwapp-time").show()),!o)return!0;a.find(".from").text(n.timeDateToString(w)),a.find(".to").text(n.timeDateToString(g))})),a.on("qlwapp.pro",(function(e){a.find(".qlwapp-toggle").trigger("qlwapp.time"),a.find(".qlwapp-account").each((function(e,n){t(n).trigger("qlwapp.time")}))})),a.on("qlwapp.resize",(function(e){t(this).hasClass("qlwapp-show")&&t(this).trigger("qlwapp.toggle")})),a.on("qlwapp.init",(function(t){n.mobiledevice?a.addClass("mobile").removeClass("desktop"):a.addClass("desktop").removeClass("mobile"),a.addClass("qlwapp-js-ready")})),a.on("qlwapp.init",(function(t){a.hasClass("qlwapp-premium")&&a.trigger("qlwapp.pro")})),a.addClass("qlwapp-js-ready").trigger("qlwapp.init"),a.on("qlwapp.height",(function(a){var i=t(a.delegateTarget),o=i.find(".qlwapp-body").find(".qlwapp-carousel"),r=i.find(".qlwapp-header"),p=i.find(".qlwapp-footer"),l=t(e).innerHeight()-r.outerHeight()-p.outerHeight();n.mobiledevice||(l=.7*t(e).innerHeight()-r.outerHeight()-p.outerHeight()),o.css({"max-height":l+"px"})})),a.on("qlwapp.toggle",(function(e){var n=t(e.delegateTarget),a=n.find(".qlwapp-box");n.addClass("qlwapp-transition"),a.removeClass("response texting"),setTimeout((function(){n.toggleClass("qlwapp-show").trigger("qlwapp.height")}),10),setTimeout((function(){n.toggleClass("qlwapp-transition")}),300)})),a.on("click","[data-action=box], [data-action=close]",(function(e){e.preventDefault(),t(e.delegateTarget).trigger("qlwapp.toggle")})),a.on("click","[data-action=open]",(function(e){var a="https://api.whatsapp.com/send";n.mobiledevice||(a="https://web.whatsapp.com/send");var i=t(this),o=i.data("message")||"",r=i.data("phone")||"";t(this).attr("href",a+"?phone="+r+"&text="+o)})),a.on("click","[data-action=previous]",(function(e){e.preventDefault();var n=t(e.delegateTarget).find(".qlwapp-box");n.addClass("closing"),setTimeout((function(){n.removeClass("response").removeClass("closing"),n.removeClass("texting")}),300)})),a.on("click","[data-action=chat]",(function(e){e.preventDefault();var n=t(this),a=t(e.delegateTarget),i=a.find(".qlwapp-box"),o=n.find(".qlwapp-avatar img").attr("src"),r=n.find(".qlwapp-name").text(),p=n.find(".qlwapp-label").text(),l=n.find(".qlwapp-time").text(),s=n.data("message"),d=n.data("phone");i.addClass("response").addClass("opening"),a.trigger("qlwapp.height"),setTimeout((function(){i.removeClass("opening")}),300);var u=i.find(".qlwapp-reply"),c=i.find(".qlwapp-header"),f=c.find(".qlwapp-avatar img"),g=c.find(".qlwapp-number"),w=c.find(".qlwapp-name"),m=c.find(".qlwapp-label"),h=i.find(".qlwapp-message"),q=l?l+" - "+p:p;u.data("phone",d),f.attr("src",o),f.attr("alt",r),g.html(d),w.html(r),m.html(q),h.html(s)})),a.on("click","textarea",(function(t){a.off("qlwapp.resize")})),a.on("keypress","textarea",(function(t){13==t.keyCode&&setTimeout((function(){a.find(".qlwapp-reply").simulateClick("click")}),100)})),a.on("keyup","[data-action=response]",(function(e){e.preventDefault();var n=t(this).find("textarea"),a=t(this).find("pre"),i=t(this).find(".qlwapp-reply"),o=t(e.delegateTarget).find(".qlwapp-box"),r=o.find(".qlwapp-buttons");a.html(n.val()),setTimeout((function(){o.addClass("texting").css({"padding-bottom":a.outerHeight()}),r.addClass("active");var t=n.val();i.data("message",t),""==t&&(o.removeClass("texting"),r.removeClass("active"))}),300)})),a.hasClass("auto-load")&&t.cookie&&!t.cookie("qlwapp-auto-load")){var i=a.data("autoloadelay");setTimeout((function(){a.trigger("qlwapp.toggle")}),i),t.cookie("qlwapp-auto-load","auto open cookie",{expires:1})}}},t.fn.qlwapp=function(e){var n,a=arguments;return void 0===e||"object"===i()(e)?this.each((function(){t.data(this,"plugin_qlwapp")||t.data(this,"plugin_qlwapp",new o(this,e))})):"string"==typeof e&&"_"!==e[0]&&"init"!==e?(this.each((function(){var i=t.data(this,"plugin_qlwapp");i instanceof o&&"function"==typeof i[e]&&(n=i[e].apply(i,Array.prototype.slice.call(a,1))),"destroy"===e&&t.data(this,"plugin_qlwapp",null)})),void 0!==n?n:this):void 0},r(),t(e).on("load",(function(){r()})),t(e).on("click",(function(e){t(e.target).closest("#qlwapp.qlwapp-show").length||t("div#qlwapp.qlwapp-show").trigger("qlwapp.toggle")})),t(e).on("resize",(function(e){t("div#qlwapp").trigger("qlwapp.resize"),t("div#qlwapp").trigger("qlwapp.init")}))}(r.a,window,document)},function(t,e){}]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = "./src/frontend/frontend.js");
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
+
89
+ /***/ "./node_modules/@babel/runtime/helpers/typeof.js":
90
+ /*!*******************************************************!*\
91
+ !*** ./node_modules/@babel/runtime/helpers/typeof.js ***!
92
+ \*******************************************************/
93
+ /*! no static exports found */
94
+ /***/ (function(module, exports) {
95
+
96
+ function _typeof(obj) {
97
+ "@babel/helpers - typeof";
98
+
99
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
100
+ module.exports = _typeof = function _typeof(obj) {
101
+ return typeof obj;
102
+ };
103
+ } else {
104
+ module.exports = _typeof = function _typeof(obj) {
105
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
106
+ };
107
+ }
108
+
109
+ return _typeof(obj);
110
+ }
111
+
112
+ module.exports = _typeof;
113
+
114
+ /***/ }),
115
+
116
+ /***/ "./src/frontend/frontend.js":
117
+ /*!**********************************!*\
118
+ !*** ./src/frontend/frontend.js ***!
119
+ \**********************************/
120
+ /*! no exports provided */
121
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
122
+
123
+ "use strict";
124
+ __webpack_require__.r(__webpack_exports__);
125
+ /* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
126
+ /* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);
127
+ /* harmony import */ var _scss_style_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./scss/style.scss */ "./src/frontend/scss/style.scss");
128
+ /* harmony import */ var _scss_style_scss__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_scss_style_scss__WEBPACK_IMPORTED_MODULE_1__);
129
+ /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jquery */ "jquery");
130
+ /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_2__);
131
+
132
+ ///import './scss/editor.scss';
133
+
134
+
135
+
136
+ if (!Array.prototype.timedaysIncludes) {
137
+ Object.defineProperty(Array.prototype, 'timedaysIncludes', {
138
+ value: function value(day) {
139
+ if (this.includes(parseInt(day))) {
140
+ return true;
141
+ }
142
+
143
+ if (this.includes(day.toString())) {
144
+ return true;
145
+ }
146
+
147
+ return false;
148
+ }
149
+ });
150
+ }
151
+
152
+ function getClosestNextDay(today, timedays) {
153
+ //next days
154
+ for (var i = today; i <= 6; i++) {
155
+ if (timedays.timedaysIncludes(i)) {
156
+ return i;
157
+ }
158
+ } //next days of next week
159
+
160
+
161
+ for (var i = 0; i <= today; i++) {
162
+ if (timedays.timedaysIncludes(i)) {
163
+ return i;
164
+ }
165
+ }
166
+ }
167
+
168
+ (function ($, window, document, undefined) {
169
+ 'use strict';
170
+
171
+ $.fn.simulateClick = function () {
172
+ return this.each(function () {
173
+ if ('createEvent' in document) {
174
+ var doc = this.ownerDocument,
175
+ evt = doc.createEvent('MouseEvents');
176
+ evt.initMouseEvent('click', true, true, doc.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
177
+ this.dispatchEvent(evt);
178
+ } else {
179
+ this.click(); // IE Boss!
180
+ }
181
+ });
182
+ };
183
+
184
+ var defaults = {};
185
+
186
+ function Plugin(element, options) {
187
+ this.$qlwapp = $(element); //this.settings = $.extend({}, defaults, options);
188
+
189
+ this.init(this);
190
+ }
191
+
192
+ Plugin.prototype = {
193
+ timeDateToString: function timeDateToString(time) {
194
+ var minutes = '' + time.getMinutes();
195
+
196
+ if (minutes.length === 1) {
197
+ minutes = '0' + minutes;
198
+ }
199
+
200
+ return time.getHours() + ':' + minutes;
201
+ },
202
+ timeStringToInt: function timeStringToInt(a, b) {
203
+ return parseInt(a + b);
204
+ },
205
+ isMobile: function isMobile(plugin) {
206
+ var match = window.matchMedia('(pointer:coarse)');
207
+ return match && match.matches;
208
+ },
209
+ init: function init(plugin) {
210
+ var $qlwapp = this.$qlwapp;
211
+ $qlwapp.on('qlwapp.init', function (e) {
212
+ plugin.mobiledevice = plugin.isMobile();
213
+ /*
214
+ plugin.mobiledevice = (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));
215
+ */
216
+ });
217
+ $qlwapp.on('qlwapp.time', function (e) {
218
+ var $contact = $(e.target),
219
+ timedays = $contact.data('timedays') || [],
220
+ timezone = parseInt($contact.data('timezone')) || 0,
221
+ dateDay = new Date(new Date().getTime() + timezone * 60 * 1000).getUTCDay().toString(); // if filter by days
222
+ // if current day dosent match
223
+ // hide time
224
+ // return
225
+ // display avialable day
226
+
227
+ if (timedays && timedays.length && !timedays.includes(dateDay)) {
228
+ $contact.addClass('qlwapp-readonly');
229
+ $contact.find('.qlwapp-days').show();
230
+ $contact.find('.qlwapp-time').hide();
231
+ var closest = getClosestNextDay(dateDay, timedays);
232
+ $contact.find(".day" + closest).addClass('qlwapp-available-day');
233
+ return true;
234
+ } // if filter by days
235
+ // if current day match
236
+ // hide days
237
+
238
+
239
+ if (timedays && timedays.length && timedays.includes(dateDay)) {
240
+ $contact.find('.qlwapp-days').hide();
241
+ $contact.find('.qlwapp-time').show();
242
+ } // now lets filter by hours
243
+
244
+
245
+ var timefrom = $contact.data('timefrom') || false,
246
+ timeto = $contact.data('timeto') || false; // Don't scape timezone as could be 0
247
+ // return if timeto dosent exits
248
+ // return if timefrom dosent exits
249
+ // return if timeto & timefrom are equals
250
+
251
+ if (!timeto || !timefrom || timefrom === timeto) {
252
+ return true;
253
+ } // Get offset between browser and contact timezone in minutes
254
+
255
+
256
+ var timeCurrent = new Date(),
257
+ n = timeCurrent.getTimezoneOffset(),
258
+ timeZoneOffset = -n - timezone; // Convert user avaibility to browser local hour
259
+ // Variables with a date are created by reference!
260
+
261
+ var timeTo = new Date(),
262
+ timeFrom = new Date();
263
+ var hr, min; // Add offset timeonze to contact timefrom
264
+
265
+ hr = plugin.timeStringToInt(timefrom[0], timefrom[1]);
266
+ min = plugin.timeStringToInt(timefrom[3], timefrom[4]);
267
+ timeFrom.setHours(hr);
268
+ timeFrom.setMinutes(min + timeZoneOffset); // Add offset timezone to contact timeto
269
+
270
+ hr = plugin.timeStringToInt(timeto[0], timeto[1]);
271
+ min = plugin.timeStringToInt(timeto[3], timeto[4]);
272
+ timeTo.setHours(hr);
273
+ timeTo.setMinutes(min + timeZoneOffset); // Validate if browser current time is between contact times
274
+
275
+ if (!(timeCurrent.getTime() >= timeFrom.getTime() && timeCurrent.getTime() <= timeTo.getTime())) {
276
+ $contact.addClass('qlwapp-readonly');
277
+ $contact.find('.qlwapp-days').hide();
278
+ $contact.find('.qlwapp-time').show();
279
+ }
280
+
281
+ if (!timezone) {
282
+ return true;
283
+ }
284
+
285
+ $contact.find('.from').text(plugin.timeDateToString(timeFrom));
286
+ $contact.find('.to').text(plugin.timeDateToString(timeTo));
287
+ });
288
+ $qlwapp.on('qlwapp.pro', function (e) {
289
+ $qlwapp.find('.qlwapp-toggle').trigger('qlwapp.time');
290
+ $qlwapp.find('.qlwapp-account').each(function (i, contact) {
291
+ $(contact).trigger('qlwapp.time');
292
+ });
293
+ });
294
+ /* // luego se veraa
295
+ // Contacts time is over
296
+ // -----------------------------------------------------------------------
297
+ $qlwapp.on('qlwapp.pro', function (e) {
298
+
299
+ var $container = $(e.delegateTarget),
300
+ $box = $container.find('.qlwapp-box'),
301
+ contactstimeout = $box.find('.qlwapp-footer').data('contactstimeout') || false;
302
+
303
+ if ($box.length && contactstimeout) {
304
+
305
+ var contacts = $qlwapp.find('.qlwapp-account').length,
306
+ disabled = $qlwapp.find('.qlwapp-account.qlwapp-disabled').length,
307
+ readonly = $qlwapp.find('.qlwapp-account.qlwapp-readonly').length;
308
+
309
+ // reveer que pasa con el disabled del boton
310
+ if (contacts === (disabled + readonly)) {
311
+ if (contactstimeout === 'yes') {
312
+ $qlwapp.addClass('qlwapp-readonly');
313
+ }
314
+ // else {
315
+ // $qlwapp.removeClass('qlwapp-js-ready');
316
+ // }
317
+
318
+ }
319
+ }
320
+ });
321
+ */
322
+
323
+ $qlwapp.on('qlwapp.resize', function (e) {
324
+ if ($(this).hasClass('qlwapp-show')) {
325
+ $(this).trigger('qlwapp.toggle');
326
+ }
327
+ });
328
+ $qlwapp.on('qlwapp.init', function (e) {
329
+ if (!plugin.mobiledevice) {
330
+ $qlwapp.addClass('desktop').removeClass('mobile');
331
+ } else {
332
+ $qlwapp.addClass('mobile').removeClass('desktop');
333
+ }
334
+
335
+ $qlwapp.addClass('qlwapp-js-ready');
336
+ }); // is Premium!
337
+ // -----------------------------------------------------------------------
338
+
339
+ $qlwapp.on('qlwapp.init', function (e) {
340
+ if ($qlwapp.hasClass('qlwapp-premium')) {
341
+ $qlwapp.trigger('qlwapp.pro');
342
+ }
343
+ }); // Ready!
344
+ // -----------------------------------------------------------------------
345
+
346
+ $qlwapp.addClass('qlwapp-js-ready').trigger('qlwapp.init'); // Height
347
+ // -----------------------------------------------------------------------
348
+
349
+ $qlwapp.on('qlwapp.height', function (e) {
350
+ var $container = $(e.delegateTarget),
351
+ $body = $container.find('.qlwapp-body'),
352
+ $carousel = $body.find('.qlwapp-carousel');
353
+ var $header = $container.find('.qlwapp-header'),
354
+ $footer = $container.find('.qlwapp-footer'),
355
+ height = $(window).innerHeight() - $header.outerHeight() - $footer.outerHeight();
356
+
357
+ if (!plugin.mobiledevice) {
358
+ height = $(window).innerHeight() * 0.7 - $header.outerHeight() - $footer.outerHeight();
359
+ }
360
+
361
+ $carousel.css({
362
+ 'max-height': height + 'px'
363
+ });
364
+ }); // Toggle
365
+ // -----------------------------------------------------------------------
366
+
367
+ $qlwapp.on('qlwapp.toggle', function (e) {
368
+ var $container = $(e.delegateTarget),
369
+ $box = $container.find('.qlwapp-box');
370
+ $container.addClass('qlwapp-transition');
371
+ $box.removeClass('response texting');
372
+ setTimeout(function () {
373
+ $container.toggleClass('qlwapp-show').trigger('qlwapp.height');
374
+ }, 10);
375
+ setTimeout(function () {
376
+ $container.toggleClass('qlwapp-transition');
377
+ }, 300);
378
+ }); // Click
379
+ // -----------------------------------------------------------------------
380
+
381
+ $qlwapp.on('click', '[data-action=box], [data-action=close]', function (e) {
382
+ e.preventDefault();
383
+ $(e.delegateTarget).trigger('qlwapp.toggle');
384
+ }); // Whatsapp
385
+ // -----------------------------------------------------------------------
386
+
387
+ $qlwapp.on('click', '[data-action=open]', function (e) {
388
+ var url = 'https://api.whatsapp.com/send';
389
+
390
+ if (!plugin.mobiledevice) {
391
+ url = 'https://web.whatsapp.com/send';
392
+ }
393
+
394
+ var $button = $(this),
395
+ message = $button.data('message') || '',
396
+ phone = $button.data('phone') || '';
397
+ $(this).attr('href', url + '?phone=' + phone + '&text=' + message);
398
+ }); // Response
399
+ // -----------------------------------------------------------------------
400
+
401
+ $qlwapp.on('click', '[data-action=previous]', function (e) {
402
+ e.preventDefault();
403
+ var $container = $(e.delegateTarget),
404
+ $box = $container.find('.qlwapp-box'); //,
405
+ //$user = $box.find('.qlwapp-user');
406
+
407
+ $box.addClass('closing');
408
+ setTimeout(function () {
409
+ $box.removeClass('response').removeClass('closing');
410
+ $box.removeClass('texting'); //$user.empty();
411
+ }, 300);
412
+ });
413
+ $qlwapp.on('click', '[data-action=chat]', function (e) {
414
+ e.preventDefault();
415
+ var $contact = $(this),
416
+ $container = $(e.delegateTarget),
417
+ $box = $container.find('.qlwapp-box'),
418
+ avatar = $contact.find('.qlwapp-avatar img').attr('src'),
419
+ name = $contact.find('.qlwapp-name').text(),
420
+ label = $contact.find('.qlwapp-label').text(),
421
+ time = $contact.find('.qlwapp-time').text(),
422
+ //url = $contact.data('url'),
423
+ message = $contact.data('message'),
424
+ phone = $contact.data('phone');
425
+ $box.addClass('response').addClass('opening');
426
+ $container.trigger('qlwapp.height');
427
+ setTimeout(function () {
428
+ $box.removeClass('opening');
429
+ }, 300);
430
+ var $reply = $box.find('.qlwapp-reply'),
431
+ $header = $box.find('.qlwapp-header'),
432
+ $avatar = $header.find('.qlwapp-avatar img'),
433
+ $number = $header.find('.qlwapp-number'),
434
+ $name = $header.find('.qlwapp-name'),
435
+ $label = $header.find('.qlwapp-label'),
436
+ $message = $box.find('.qlwapp-message');
437
+ var meta = time ? time + ' - ' + label : label;
438
+ $reply.data('phone', phone); //.data('message', message);
439
+
440
+ $avatar.attr('src', avatar);
441
+ $avatar.attr('alt', name);
442
+ $number.html(phone);
443
+ $name.html(name);
444
+ $label.html(meta);
445
+ $message.html(message);
446
+ }); // Response
447
+ // -----------------------------------------------------------------------
448
+
449
+ $qlwapp.on('click', 'textarea', function (e) {
450
+ $qlwapp.off('qlwapp.resize');
451
+ });
452
+ $qlwapp.on('keypress', 'textarea', function (e) {
453
+ if (e.keyCode == 13) {
454
+ setTimeout(function () {
455
+ $qlwapp.find('.qlwapp-reply').simulateClick('click'); //window.location = $qlwapp.find('.qlwapp-reply').attr('href');
456
+ }, 100);
457
+ }
458
+ });
459
+ $qlwapp.on('keyup', '[data-action=response]', function (e) {
460
+ e.preventDefault();
461
+ var $textarea = $(this).find('textarea'),
462
+ $pre = $(this).find('pre'),
463
+ $reply = $(this).find('.qlwapp-reply'),
464
+ $container = $(e.delegateTarget),
465
+ $box = $container.find('.qlwapp-box'),
466
+ //$user = $box.find('.qlwapp-user'),
467
+ $buttons = $box.find('.qlwapp-buttons');
468
+ $pre.html($textarea.val());
469
+ setTimeout(function () {
470
+ $box.addClass('texting').css({
471
+ 'padding-bottom': $pre.outerHeight()
472
+ });
473
+ $buttons.addClass('active');
474
+ var message = $textarea.val();
475
+ $reply.data('message', message);
476
+
477
+ if (message == '') {
478
+ $box.removeClass('texting');
479
+ $buttons.removeClass('active');
480
+ }
481
+ }, 300);
482
+ }); //$qlwapp.on('qlwapp.init', function (e) {
483
+
484
+ if ($qlwapp.hasClass('auto-load') && !!$.cookie && !$.cookie('qlwapp-auto-load')) {
485
+ var delay = $qlwapp.data('autoloadelay');
486
+ setTimeout(function () {
487
+ $qlwapp.trigger('qlwapp.toggle');
488
+ }, delay);
489
+ $.cookie('qlwapp-auto-load', 'auto open cookie', {
490
+ expires: 1
491
+ });
492
+ } //});
493
+ //$qlwapp.trigger('qlwapp.init');
494
+
495
+ }
496
+ };
497
+
498
+ $.fn.qlwapp = function (options) {
499
+ var args = arguments;
500
+
501
+ if (options === undefined || _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(options) === 'object') {
502
+ return this.each(function () {
503
+ if (!$.data(this, 'plugin_qlwapp')) {
504
+ $.data(this, 'plugin_qlwapp', new Plugin(this, options));
505
+ }
506
+ });
507
+ } else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
508
+ // Cache the method call to make it possible to return a value
509
+ var returns;
510
+ this.each(function () {
511
+ var instance = $.data(this, 'plugin_qlwapp'); // Tests that there's already a plugin-instance and checks that the requested public method exists
512
+
513
+ if (instance instanceof Plugin && typeof instance[options] === 'function') {
514
+ // Call the method of our plugin instance, and pass it the supplied arguments.
515
+ returns = instance[options].apply(instance, Array.prototype.slice.call(args, 1));
516
+ } // Allow instances to be destroyed via the 'destroy' method
517
+
518
+
519
+ if (options === 'destroy') {
520
+ $.data(this, 'plugin_qlwapp', null);
521
+ }
522
+ }); // If the earlier cached method gives a value back return the value, otherwise return this to preserve chainability.
523
+
524
+ return returns !== undefined ? returns : this;
525
+ }
526
+ };
527
+
528
+ function qlwapp_init() {
529
+ $('div#qlwapp').qlwapp();
530
+ }
531
+
532
+ qlwapp_init();
533
+ $(window).on('load', function () {
534
+ qlwapp_init(); //$('div#qlwapp').trigger('qlwapp.toggle');
535
+ });
536
+ $(window).on('click', function (e) {
537
+ if (!$(e.target).closest('#qlwapp.qlwapp-show').length) {
538
+ $('div#qlwapp.qlwapp-show').trigger('qlwapp.toggle');
539
+ }
540
+ });
541
+ $(window).on('resize', function (e) {
542
+ $('div#qlwapp').trigger('qlwapp.resize');
543
+ $('div#qlwapp').trigger('qlwapp.init');
544
+ });
545
+ })(jquery__WEBPACK_IMPORTED_MODULE_2___default.a, window, document);
546
+
547
+ /***/ }),
548
+
549
+ /***/ "./src/frontend/scss/style.scss":
550
+ /*!**************************************!*\
551
+ !*** ./src/frontend/scss/style.scss ***!
552
+ \**************************************/
553
+ /*! no static exports found */
554
+ /***/ (function(module, exports) {
555
+
556
+ // removed by extract-text-webpack-plugin
557
+
558
+ /***/ }),
559
+
560
+ /***/ "jquery":
561
+ /*!**********************************!*\
562
+ !*** external {"this":"jQuery"} ***!
563
+ \**********************************/
564
+ /*! no static exports found */
565
+ /***/ (function(module, exports) {
566
+
567
+ (function() { module.exports = this["jQuery"]; }());
568
+
569
+ /***/ })
570
+
571
+ /******/ });
572
+ //# sourceMappingURL=frontend.js.map
includes/models/Button.php CHANGED
@@ -17,7 +17,7 @@ class QLWAPP_Button extends QLWAPP_Model
17
  'text' => esc_html__('How can I help you?', 'wp-whatsapp-chat'),
18
  'message' => sprintf(esc_html__('Hello! I\'m testing the %s plugin %s', 'wp-whatsapp-chat'), QLWAPP_PLUGIN_NAME, QLWAPP_LANDING_URL),
19
  'icon' => 'qlwapp-whatsapp-icon',
20
- 'phone' => '542215677768',
21
  'developer' => 'no',
22
  'rounded' => 'yes',
23
  'timefrom' => '00:00',
17
  'text' => esc_html__('How can I help you?', 'wp-whatsapp-chat'),
18
  'message' => sprintf(esc_html__('Hello! I\'m testing the %s plugin %s', 'wp-whatsapp-chat'), QLWAPP_PLUGIN_NAME, QLWAPP_LANDING_URL),
19
  'icon' => 'qlwapp-whatsapp-icon',
20
+ 'phone' => '12057948080',
21
  'developer' => 'no',
22
  'rounded' => 'yes',
23
  'timefrom' => '00:00',
includes/models/Contact.php CHANGED
@@ -20,7 +20,7 @@ class QLWAPP_Contact extends QLWAPP_Model {
20
  'chat' => true,
21
  'auto_open' => false,
22
  'avatar' => 'https://www.gravatar.com/avatar/00000000000000000000000000000000',
23
- 'phone' => '542215677768',
24
  'firstname' => 'John',
25
  'lastname' => 'Doe',
26
  'label' => esc_html__('Support', 'wp-whatsapp-chat'),
20
  'chat' => true,
21
  'auto_open' => false,
22
  'avatar' => 'https://www.gravatar.com/avatar/00000000000000000000000000000000',
23
+ 'phone' => '12057948080',
24
  'firstname' => 'John',
25
  'lastname' => 'Doe',
26
  'label' => esc_html__('Support', 'wp-whatsapp-chat'),
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://quadlayers.com/portfolio/whatsapp-chat/
4
  Tags: whatsapp, whatsapp chat, whatsapp business, whatsapp support, click to chat, whatsapp group, directly message whatsapp, floating whatsapp, whatsapp message, help desk
5
  Requires at least: 3.0
6
  Tested up to: 5.8
7
- Stable tag: 4.8.6
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -97,6 +97,9 @@ Don't use: +001-(555)1234567
97
 
98
  == Changelog ==
99
 
 
 
 
100
  = 4.8.6 =
101
  * Fix. WordPress compatibility
102
 
4
  Tags: whatsapp, whatsapp chat, whatsapp business, whatsapp support, click to chat, whatsapp group, directly message whatsapp, floating whatsapp, whatsapp message, help desk
5
  Requires at least: 3.0
6
  Tested up to: 5.8
7
+ Stable tag: 4.8.7
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
97
 
98
  == Changelog ==
99
 
100
+ = 4.8.7 =
101
+ * New. QuadLayers dashboard widget
102
+
103
  = 4.8.6 =
104
  * Fix. WordPress compatibility
105
 
wp-whatsapp-chat.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: Social Chat
5
  * Description: Social Chat allows your visitors to contact you or your team through WhatsApp chat with a single click.
6
  * Plugin URI: https://quadlayers.com/portfolio/whatsapp-chat/
7
- * Version: 4.8.6
8
  * Author: QuadLayers
9
  * Author URI: https://quadlayers.com
10
  * License: GPLv3
@@ -17,7 +17,7 @@ if (!defined('ABSPATH')) {
17
  }
18
 
19
  define('QLWAPP_PLUGIN_NAME', 'Social Chat');
20
- define('QLWAPP_PLUGIN_VERSION', '4.8.6');
21
  define('QLWAPP_PLUGIN_FILE', __FILE__);
22
  define('QLWAPP_PLUGIN_DIR', __DIR__ . DIRECTORY_SEPARATOR);
23
  define('QLWAPP_PREFIX', 'qlwapp');
@@ -35,4 +35,8 @@ if (!class_exists('QLWAPP')) {
35
  include_once(QLWAPP_PLUGIN_DIR . 'includes/qlwapp.php');
36
  }
37
 
 
 
 
 
38
  register_activation_hook(QLWAPP_PLUGIN_FILE, array('QLWAPP', 'do_activation'));
4
  * Plugin Name: Social Chat
5
  * Description: Social Chat allows your visitors to contact you or your team through WhatsApp chat with a single click.
6
  * Plugin URI: https://quadlayers.com/portfolio/whatsapp-chat/
7
+ * Version: 4.8.7
8
  * Author: QuadLayers
9
  * Author URI: https://quadlayers.com
10
  * License: GPLv3
17
  }
18
 
19
  define('QLWAPP_PLUGIN_NAME', 'Social Chat');
20
+ define('QLWAPP_PLUGIN_VERSION', '4.8.7');
21
  define('QLWAPP_PLUGIN_FILE', __FILE__);
22
  define('QLWAPP_PLUGIN_DIR', __DIR__ . DIRECTORY_SEPARATOR);
23
  define('QLWAPP_PREFIX', 'qlwapp');
35
  include_once(QLWAPP_PLUGIN_DIR . 'includes/qlwapp.php');
36
  }
37
 
38
+ if (!class_exists('QL_Widget')) {
39
+ include_once(QLWAPP_PLUGIN_DIR . 'includes/quadlayers/widget.php');
40
+ }
41
+
42
  register_activation_hook(QLWAPP_PLUGIN_FILE, array('QLWAPP', 'do_activation'));