PluginProbe
VikBooking Hotel Booking Engine & PMS / trunk
VikBooking Hotel Booking Engine & PMS vtrunk
1.8.15 1.8.14 1.8.13 1.8.12 1.8.11 1.8.10 1.8.9 1.8.6 1.8.7 1.8.8 trunk 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 All 36 releases
vikbooking / site / resources / chat.css

chat.css in VikBooking Hotel Booking Engine & PMS trunk, at site/resources/chat.css

330 lines 8.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* wrapper */
2
3 .vbo-chat-wrapper {
4 display: flex;
5 height: 100%;
6 min-height: 300px;
7 background: var(--vcm-chat-background);
8 }
9
10 /* conversation */
11
12 .vbo-chat-wrapper .chat-messages-panel {
13 flex: 1;
14 align-self: flex-end;
15 height: 100%;
16 position: relative;
17 overflow: hidden;
18 }
19
20 .vbo-chat-wrapper .chat-conversation {
21 overflow-y: scroll;
22 padding: 10px 10px 20px;
23 height: calc(100% - 50px);
24 max-height: none;
25 box-sizing: border-box;
26 }
27
28 .vbo-chat-wrapper .chat-conversation .chat-message {
29 width: 100%;
30 display: inline-block;
31 position: relative;
32 }
33 .vbo-chat-wrapper .chat-conversation .chat-message.has-actions {
34 margin-bottom: 20px;
35 }
36
37 @media screen and (min-width: 1380px) {
38 .vbo-chat-wrapper .chat-conversation .chat-message.has-actions + .is-a-separator {
39 margin-top: -10px;
40 }
41 }
42
43 .vbo-chat-wrapper .chat-conversation .chat-message .speech-bubble {
44 position: relative;
45 border-radius: 16px;
46 padding: 7px 12px;
47 margin: 2px 10px;
48 width: auto;
49 max-width: 60%;
50 word-break: break-word;
51
52 -webkit-transition: -webkit-transform 0.5s ease;
53 -moz-transition: -moz-transform 0.5s ease;
54 -o-transition: -o-transform 0.5s ease;
55 transition: transform 0.5s ease;
56 }
57
58 .vbo-chat-wrapper .chat-conversation .message-content.is-attachment {
59 max-width: 40%;
60 }
61
62 .vbo-chat-wrapper .chat-conversation .message-error-result {
63 text-align: right;
64 margin: 4px 4px 0 0;
65 font-style: italic;
66 color: #9b1212;
67 }
68 .vbo-chat-wrapper .chat-conversation .chat-message .speech-recipient-avatar {
69 float: left;
70 }
71 .vbo-chat-wrapper .chat-conversation .chat-message .speech-sender-avatar {
72 float: right;
73 }
74 .vbo-chat-wrapper .chat-conversation .chat-message .speech-user-avatar img {
75 width: 30px;
76 height: 30px;
77 object-fit: cover;
78 border-radius: 50%;
79 }
80 .vbo-chat-wrapper .chat-conversation .chat-message .speech-user-avatar > span {
81 display: inline-block;
82 width: 30px;
83 height: 30px;
84 line-height: 30px;
85 text-align: center;
86 border-radius: 50%;
87 border: 1px aliceblue;
88 background: linear-gradient(180deg, rgb(160, 164, 176) 0%, rgb(139, 142, 153) 100%);
89 font-weight: bold;
90 color: #fff;
91 font-size: 12px;
92 cursor: default;
93 }
94 .vbo-chat-wrapper .chat-conversation .chat-message .speech-bubble.sent {
95 float: right;
96 background: #e9f2ff;
97 border: 1px solid #c3d7ea;
98 border-bottom-width: 2px;
99 color: #2a3670;
100 border-top-right-radius: 0;
101 }
102 .vbo-chat-wrapper .chat-conversation .chat-message .speech-bubble.received {
103 float: left;
104 background: #fff;
105 border: 1px solid #eee;
106 border-bottom-width: 2px;
107 color: #444;
108 border-top-left-radius: 0;
109 }
110 .vbo-chat-wrapper .chat-conversation .chat-message.message-empty:not(.is-attachment) * {
111 display: none;
112 }
113
114 .vbo-chat-wrapper .chat-conversation .chat-message .speech-bubble.sent.need-animation {
115 transform: translateX(calc(100% + 10px));
116 }
117 .vbo-chat-wrapper .chat-conversation .chat-message .speech-bubble.received.need-animation {
118 transform: translateX(calc(-100% - 10px));
119 }
120
121 .vbo-chat-wrapper .chat-conversation .chat-message:not(.is-attachment) .speech-bubble a,
122 .vbo-chat-wrapper .chat-conversation .chat-message:not(.is-attachment) .speech-bubble a:hover {
123 text-decoration: underline !important;
124 }
125
126 .vbo-chat-wrapper .chat-conversation .chat-message.is-attachment .speech-bubble {
127 margin-top: -3px;
128 }
129 .vbo-chat-wrapper .chat-conversation .chat-message.is-attachment .speech-bubble * {
130 cursor: pointer;
131 }
132 .vbo-chat-wrapper .chat-conversation .chat-message.is-attachment .speech-bubble video,
133 .vbo-chat-wrapper .chat-conversation .chat-message.is-attachment .speech-bubble audio {
134 margin: 5px 0;
135 border-radius: 4px;
136 max-width: 100%;
137 }
138 .vbo-chat-wrapper .chat-conversation .chat-message.is-attachment .speech-bubble img {
139 margin: 5px 0;
140 border-radius: 4px;
141 max-width: 100%;
142 max-height: 200px;
143 display: block;
144 }
145
146 .vbo-chat-wrapper .chat-conversation .chat-message.is-attachment .speech-bubble video,
147 .vbo-chat-wrapper .chat-conversation .chat-message.is-attachment .speech-bubble audio {
148 /* video and audio tags seems to have a margin bottom by default */
149 margin: 5px 0 0 0;
150 }
151
152 .vbo-chat-wrapper .chat-conversation .chat-message.is-attachment .speech-bubble i {
153 margin: 5px 0;
154 font-size: 64px;
155 }
156
157 .vbo-chat-wrapper .chat-conversation .chat-message .speech-bubble i {
158 margin-left: 5px;
159 cursor: pointer;
160 }
161
162 .vbo-chat-wrapper .chat-conversation .chat-message .message-content .content-author {
163 font-weight: 500;
164 margin-bottom: 4px;
165 }
166 .vbo-chat-wrapper .chat-conversation .chat-message .message-content.sent .content-author {
167 text-align: right;
168 }
169
170 .vbo-chat-wrapper .chat-conversation .chat-datetime-separator {
171 width: 100%;
172 margin: 10px 0;
173 font-weight: bold;
174 text-align: center;
175 }
176
177 /* HTML rendering in message content */
178 .vbo-chat-wrapper .chat-conversation .chat-message .message-content .content-text *:is(h1, h2, h3, h4, h5, h6) {
179 margin: 0 0 6px;
180 }
181
182 /* footer */
183
184 .vbo-chat-wrapper .chat-input-footer {
185 position: absolute;
186 bottom: 18px;
187 left: 0;
188 box-sizing: border-box;
189 width: 100%;
190 z-index: 1;
191 }
192 .vbo-chat-wrapper .chat-input-footer .textarea-input {
193 position: relative;
194 display: flex;
195 }
196 .vbo-chat-wrapper .chat-input-footer .textarea-input textarea {
197 resize: none;
198 width: calc(100% - 42px);
199 max-height: 70px;
200 margin: 0;
201 border: 1px solid #999;
202 border-radius: 20px;
203 font-size: 14px;
204 padding: 10px 40px 10px 12px;
205 box-sizing: initial;
206 min-height: auto;
207
208 position: absolute;
209 left: 40px;
210 width: calc(100% - 94px);
211 bottom: -4px;
212 }
213 .vbo-chat-wrapper .chat-input-footer .textarea-input .send-message-actions {
214 display: flex;
215 align-self: center;
216 margin-right: 4px;
217 gap: 4px;
218 }
219 .vbo-chat-wrapper .chat-input-footer .textarea-input .chat-action-btn {
220 font-size: 16px;
221 cursor: pointer;
222 color: #333;
223 display: inline-block;
224 width: 34px;
225 height: 34px;
226 text-align: center;
227 line-height: 34px;
228 background: var(--vbo-basic-btn);
229 border-radius: 50%;
230
231 /* remove native style */
232 padding: 0;
233 margin: 0;
234 border: none;
235 outline: none;
236 box-shadow: none;
237 appearance: none;
238 -webkit-appearance: none;
239 -moz-appearance: none;
240 }
241 .vbo-chat-wrapper .chat-input-footer .textarea-input .chat-action-btn:hover {
242 color: var(--vbo-base-color-hover);
243 }
244 .vbo-chat-wrapper .chat-input-footer .textarea-input .chat-action-btn.vbo-tooltip:before {
245 margin-bottom: 4px !important;
246 }
247 .vbo-chat-wrapper .chat-input-footer .textarea-input .manual-send-message {
248 display: inline-block;
249 position: absolute;
250 right: 5px;
251 top: 50%;
252 transform: translate(0, -50%);
253 padding: 0;
254 margin: 0 0 0 0;
255 font-size: 14px;
256 cursor: pointer;
257 width: 34px;
258 height: 34px;
259 line-height: 34px;
260 background: var(--vbo-base-color);
261 color: #fff;
262 text-align: center;
263 border-radius: 50%;
264 }
265 .vbo-chat-wrapper .chat-input-footer .textarea-input .manual-send-message:hover {
266 background: var(--vbo-base-color-hover);
267 }
268
269 .vbo-chat-wrapper .chat-input-footer .textarea-input textarea:focus {
270 border-color: rgba(82, 168, 236, 0.8);
271 -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px rgba(82, 168, 236, .6) !important;
272 -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px rgba(82, 168, 236, .6) !important;
273 box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px rgba(82, 168, 236, .6) !important;
274 outline: 0;
275 }
276
277 .vbo-chat-wrapper .chat-input-footer .chat-uploads-bar {
278 width: 100%;
279 display: inline-block;
280 margin: 6px 0 -12px;
281 }
282 .vbo-chat-wrapper .chat-input-footer .chat-uploads-bar .chat-progress-wrap {
283 width: 100px;
284 float: left;
285 }
286 .vbo-chat-wrapper .chat-input-footer .chat-uploads-bar .chat-uploads-tab {
287 display: flex;
288 flex-wrap: wrap;
289 justify-content: end;
290 gap: 2px 5px;
291 }
292 .vbo-chat-wrapper .chat-input-footer .chat-uploads-bar .chat-attachment {
293 display: inline-block;
294 padding: 2px 6px;
295 margin: 0;
296 border: 1px solid #ccc;
297 border-radius: 4px;
298 background: #ededed;
299 font-size: 13px;
300 }
301 .vbo-chat-wrapper .chat-input-footer .chat-uploads-bar .chat-attachment i {
302 margin-left: 5px;
303 vertical-align: middle;
304 cursor: pointer;
305 }
306 .vbo-chat-wrapper .chat-input-footer .chat-uploads-bar .chat-attachment i:hover {
307 color: #777;
308 }
309
310 /* progress bar */
311
312 .vbo-chat-wrapper .chat-input-footer .chat-uploads-bar .chat-progress-wrap .chat-progress-bar {
313 background-color: #f1f1f1;
314 color: #333;
315 border-radius: 16px;
316 margin: 4px 4px 0;
317 width: 120px;
318 }
319 .vbo-chat-wrapper .chat-input-footer .chat-uploads-bar .chat-progress-wrap .chat-progress-bar > div {
320 background-color: #2196F3;
321 color: #fff;
322 width: 0%;
323 height: 16px;
324 line-height: 16px;
325 border-radius: 16px;
326 text-align: center;
327 font-size: smaller;
328 transition: width 0.5s ease 0s;
329 padding: 2px 0;
330 }