UNPKG

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