UNPKG

11.4 kBSCSSView Raw
1.str-chat__message-commerce {
2 display: flex; /* inline-flex if you don't want the */
3 justify-content: flex-start;
4 align-items: flex-end;
5 padding: 0;
6 position: relative;
7 margin: 1px 0;
8
9 &-inner {
10 position: relative;
11 /* flex: 1 if you want the messagebubbles to be the same width- */
12 > .str-chat__message-commerce__actions {
13 min-height: 10px;
14 min-width: 30px;
15 float: right;
16
17 .str-chat__reaction-list {
18 left: unset;
19 right: 46px;
20 }
21 }
22 }
23
24 .str-chat__avatar {
25 margin-right: 8px;
26 }
27
28 .str-chat__message-attachment {
29 &-card {
30 &--content {
31 margin: 0;
32 padding: 6px 8px;
33 }
34 }
35 }
36
37 &--top,
38 &--middle {
39 margin-left: 40px;
40
41 .str-chat__message-commerce {
42 &-data {
43 display: none;
44 }
45 }
46 }
47
48 &--top {
49 .str-chat__message-commerce {
50 &-text {
51 &-inner {
52 border-radius: 16px 16px 4px 4px;
53 }
54 }
55 }
56 }
57
58 &--bottom {
59 .str-chat__message-commerce {
60 &-text {
61 &-inner {
62 border-radius: 4px 4px 16px 0;
63 }
64 }
65 }
66 }
67
68 &--single {
69 .str-chat__message-commerce {
70 &-text {
71 &-inner {
72 border-radius: 16px 16px 16px 0;
73
74 &--has-attachment {
75 border-radius: 4px 4px 16px 0;
76 }
77 }
78 }
79 }
80 }
81
82 &--middle {
83 .str-chat__message-commerce {
84 &-text {
85 &-inner {
86 border-radius: 4px;
87 }
88 }
89 }
90 }
91
92 &-text {
93 display: flex;
94
95 padding: 0;
96 position: relative;
97
98 &-inner {
99 position: relative;
100 display: block;
101 min-height: 32px;
102 padding: 5px 10px;
103 font-size: var(--lg-font); /* variables */
104 color: black; /* variables */
105 border-radius: var(--border-radius) var(--border-radius) var(--border-radius) 0;
106 background: #fff;
107 border: 1px solid var(--border-color);
108
109 margin-left: 0;
110 max-width: 345px;
111
112 p {
113 margin: 0;
114 white-space: pre-line;
115
116 /* These are technically the same, but use both */
117 overflow-wrap: break-word;
118 word-wrap: break-word;
119 -ms-word-break: break-all;
120 /* Instead use this non-standard one: */
121 word-break: break-word;
122
123 /* Adds a hyphen where the word breaks, if supported (No Blink) */
124 -ms-hyphens: auto;
125 -moz-hyphens: auto;
126 -webkit-hyphens: auto;
127 hyphens: auto;
128
129 &:not(:first-of-type) {
130 margin: 16px 0 0;
131 }
132 }
133
134 &--has-attachment {
135 border-radius: 2px var(--border-radius) var(--border-radius) 2px;
136 }
137
138 &--is-emoji {
139 background: transparent;
140 border: 1px solid transparent;
141 font-size: 32px;
142 line-height: 48px;
143 padding-left: 0;
144 padding-right: 0;
145 }
146 }
147 }
148
149 &-attachment {
150 &--img {
151 width: 100%;
152 max-width: 480px;
153 display: block;
154 height: inherit;
155 cursor: -moz-zoom-in;
156 cursor: -webkit-zoom-in;
157 cursor: zoom-in;
158 }
159 }
160
161 &-data {
162 margin-top: 5px;
163 width: 100%;
164 font-size: var(--xs-font);
165 color: rgba(0, 0, 0, 0.5);
166 }
167
168 &-name {
169 font-weight: var(--font-weight-bold);
170 margin-right: 5px;
171 }
172
173 p {
174 margin: 0;
175 line-height: 20px;
176 }
177
178 &--with-reactions {
179 margin-top: 30px;
180
181 .str-chat__message-commerce__actions__action--reactions {
182 display: none;
183 }
184 }
185
186 &-link {
187 color: var(--primary-color);
188 font-weight: var(--font-weight-bold);
189 text-decoration: none;
190 }
191
192 &--inner {
193 display: flex;
194 flex-direction: column;
195 align-items: flex-start;
196 }
197
198 /* deleted messages */
199 &--deleted {
200 background: var(--grey);
201 float: left;
202 padding: 8px 16px;
203 border-radius: var(--border-radius);
204 font-size: var(--sm-font);
205 color: var(--darken-grey);
206 margin: 0 0 0 42px;
207 }
208
209 /* error messages */
210 &--error {
211 margin: 0 0 32px;
212 font-size: var(--sm-font);
213
214 .str-chat__message-text-inner {
215 background: rgba(208, 2, 27, 0.1);
216 border: 1px solid rgba(208, 2, 27, 0.1);
217 }
218 }
219
220 &--right {
221 &.str-chat__message-commerce {
222 justify-content: flex-end;
223 margin-left: 0;
224
225 .str-chat__message-commerce__actions {
226 justify-content: flex-end;
227 }
228
229 .str-chat__message-commerce {
230 &-inner {
231 > .str-chat__message-commerce__actions {
232 float: left;
233
234 .str-chat__reaction-list {
235 left: 46px;
236 }
237 }
238
239 > .str-chat__message-commerce-reply-button {
240 display: flex;
241 justify-content: flex-end;
242
243 .str-chat__message-replies-count-button {
244 display: flex;
245 flex-direction: row-reverse;
246
247 svg {
248 transform: scaleX(-1);
249 margin-left: 5px;
250 margin-bottom: 4px;
251 margin-right: 0;
252 }
253 }
254 }
255 }
256 }
257
258 .str-chat__message-commerce-text-inner {
259 background: #ebebeb;
260 border-width: 0;
261 margin-top: 2px;
262 border-color: transparent;
263
264 p {
265 text-align: right;
266 }
267 }
268
269 > .str-chat__avatar {
270 display: none;
271 }
272
273 .str-chat__message-attachment {
274 margin: 0 auto 0 30px;
275
276 &--img {
277 border-radius: var(--border-radius) var(--border-radius) 2px var(--border-radius);
278 }
279 }
280
281 .str-chat__message-attachment-card {
282 border-radius: 16px 16px 4px;
283 }
284
285 &--bottom,
286 &--single {
287 margin-right: 0;
288 }
289
290 &--single {
291 .str-chat__message-commerce {
292 &-text {
293 &-inner {
294 border-radius: 16px 16px 4px;
295
296 &--has-attachment {
297 border-radius: 16px 4px 4px 16px;
298 }
299 }
300 }
301 }
302 }
303
304 &--bottom {
305 .str-chat__message-commerce {
306 &-text {
307 &-inner {
308 border-radius: 4px 4px 4px 16px;
309 }
310 }
311 }
312 }
313
314 .str-chat__avatar {
315 order: 1;
316 }
317
318 .str-chat__message-commerce-text {
319 flex-direction: row-reverse;
320 justify-content: flex-start;
321
322 &-inner {
323 flex: unset;
324 }
325 }
326
327 .str-chat__message-commerce-data {
328 text-align: right;
329 }
330 }
331 }
332
333 &--has-text {
334 .str-chat__message-commerce {
335 &-inner {
336 .str-chat__message-attachment {
337 width: 100%;
338 height: auto;
339 margin: 4px auto;
340 }
341 }
342 }
343 }
344}
345
346.str-chat {
347 &__message-commerce {
348 font-family: var(--second-font);
349
350 &__actions {
351 display: flex;
352 margin-top: 5px;
353 align-items: flex-start;
354 justify-content: flex-start;
355 min-width: 30px;
356
357 &__action {
358 margin: 5px;
359 display: flex;
360 align-items: center;
361 height: 10px;
362 cursor: pointer;
363
364 svg {
365 fill: #000;
366 opacity: 0.5;
367 }
368
369 &:hover {
370 svg {
371 opacity: 1;
372 }
373 }
374
375 &--thread,
376 &--reactions {
377 display: none;
378 }
379
380 &--options {
381 position: relative;
382 display: none;
383
384 .str-chat__message-actions-box {
385 bottom: 10px;
386 left: unset;
387 right: 100%;
388 width: 120px;
389 border-radius: 16px 16px 2px;
390 }
391 }
392 }
393 }
394
395 &:hover {
396 .str-chat__message-commerce__actions__action--thread {
397 display: flex;
398 }
399
400 .str-chat__message-commerce__actions__action--reactions {
401 display: flex;
402 }
403 }
404
405 &-text {
406 display: flex;
407 padding: 0;
408 position: relative;
409 }
410
411 &-text-inner {
412 text-align: left;
413
414 &.str-chat__message-commerce-text-inner--is-emoji {
415 margin: 5px 0;
416 background: transparent;
417 }
418
419 p {
420 text-align: left;
421 }
422
423 a {
424 color: var(--secondary-color);
425 font-weight: var(--font-weight-bold);
426 text-decoration: none;
427 }
428
429 blockquote {
430 margin: 0 0 0 5px;
431 font-style: italic;
432 padding-left: 20px;
433 position: relative;
434
435 &::before {
436 font-size: var(--xxl-font);
437 content: '\201C';
438 font-style: italic;
439 position: absolute;
440 opacity: 0.5;
441 top: 2px;
442 left: -5px;
443 }
444 }
445 }
446
447 &:hover {
448 .str-chat__message-commerce__actions__action--options {
449 display: flex;
450 }
451
452 .str-chat__message-commerce__actions__action--reactions {
453 display: flex;
454 }
455
456 .str-chat__message-commerce__actions__action--thread {
457 display: flex;
458 }
459 }
460 }
461}
462
463.str-chat__commerce-message--error-message {
464 text-align: left;
465 text-transform: uppercase;
466 font-size: var(--xs-font);
467 opacity: 0.5;
468}
469
470.str-chat__message-commerce-status {
471 margin: 10px 0 10px 10px;
472 order: 3;
473 position: absolute;
474 left: 100%;
475 bottom: 0;
476 line-height: 1;
477 display: flex;
478 justify-content: flex-end;
479 align-items: center;
480 z-index: 11;
481
482 &-number {
483 font-size: var(--xs-font);
484 margin-left: 4px;
485 position: absolute;
486 left: 100%;
487 color: rgba(0, 0, 0, 0.6);
488 }
489
490 > .str-chat__avatar {
491 align-self: flex-end;
492 margin-right: 0;
493 }
494
495 > .str-chat__tooltip {
496 display: none;
497 max-width: 300px;
498 min-width: 100px;
499 text-align: center;
500 }
501
502 &:hover {
503 > .str-chat__tooltip {
504 display: block;
505 }
506 }
507
508 &::after {
509 position: absolute;
510 bottom: 100%;
511 right: 0;
512 content: ' ';
513 width: 15px;
514 height: 15px;
515 }
516}
517
518.str-chat__message-commerce {
519 .str-chat__message-attachment {
520 width: calc(100% - 30px);
521 max-width: unset;
522 border-radius: unset;
523 margin: 0 auto 0 0;
524 }
525
526 .str-chat__message-attachment-card {
527 margin: 0;
528 border-radius: 4px var(--border-radius) 4px 4px;
529 background: #fff;
530 border: 1px solid rgba(0, 0, 0, 0.08);
531
532 &--content {
533 background: #ebebeb;
534 }
535
536 &--text {
537 display: none;
538 }
539 }
540}
541
542.str-chat__list--thread {
543 .str-chat__message-commerce {
544 &__actions {
545 width: 30px;
546 }
547
548 &__actions__action--options {
549 .str-chat__message-actions-box {
550 right: unset;
551 left: 100%;
552 border-radius: var(--border-radius) var(--border-radius) var(--border-radius) 2px;
553 }
554 }
555 }
556}
557
558.str-chat.dark {
559 .str-chat__message-commerce {
560 &-data {
561 color: white;
562 opacity: 0.5;
563 }
564
565 &-text-inner {
566 background: rgba(255, 255, 255, 0.05);
567 color: white;
568 }
569
570 &__actions {
571 svg {
572 fill: white;
573 }
574 }
575
576 .str-chat__message-attachment-card {
577 background: rgba(0, 0, 0, 0.2);
578
579 &--content {
580 background: rgba(0, 0, 0, 0.2);
581 }
582
583 &--title {
584 color: white;
585 }
586
587 &--url {
588 color: rgba(255, 255, 255, 0.5);
589 }
590 }
591
592 &--right {
593 .str-chat__message-commerce {
594 &-text-inner {
595 background: rgba(0, 0, 0, 0.2);
596 }
597
598 .str-chat__message-attachment-card {
599 background: rgba(0, 0, 0, 0.2);
600
601 &--content {
602 background: rgba(0, 0, 0, 0.2);
603 }
604 }
605 }
606 }
607 }
608}