@pubuduth-aplicy/chat-ui 2.1.48 → 2.1.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,551 +1,821 @@
1
1
  .grid-container {
2
- display: grid;
3
- overflow: hidden;
4
- grid-template-columns: repeat(1, minmax(0, 1fr));
5
- border-radius: 0.5rem;
6
- background-clip: padding-box;
7
- /* background-color: #9CA3AF; */
8
- --bg-opacity: 0;
9
- backdrop-blur: blur(16px);
2
+ display: grid;
3
+ overflow: hidden;
4
+ grid-template-columns: repeat(1, minmax(0, 1fr));
5
+ border-radius: 0.5rem;
6
+ background-clip: padding-box;
7
+ /* background-color: #9CA3AF; */
8
+ --bg-opacity: 0;
9
+ backdrop-blur: blur(16px);
10
10
  }
11
11
 
12
12
  .sidebarContainer {
13
- grid-column: span 3;
14
- overflow-y: auto;
15
- border: 1px solid #ddd;
16
- max-height: 100vh;
13
+ grid-column: span 3;
14
+ overflow-y: auto;
15
+ border: 1px solid #ddd;
16
+ max-height: 100vh;
17
17
  }
18
18
 
19
19
  .messageContainer {
20
- grid-column: span 4;
21
- /* border: 1px solid; */
22
- max-height: 100vh;
23
- overflow-y: auto;
20
+ grid-column: span 4;
21
+ /* border: 1px solid; */
22
+ max-height: 100vh;
23
+ overflow-y: auto;
24
24
  }
25
25
 
26
26
  .chatSidebarMain {
27
- display: flex;
28
- padding: 1rem;
29
- flex-direction: column;
30
- border-right-width: 1px;
27
+ display: flex;
28
+ padding: 1rem;
29
+ flex-direction: column;
30
+ border-right-width: 1px;
31
31
  }
32
32
 
33
33
  .chatSidebarSearchbar {
34
- display: inline-flex;
35
- padding-top: 0.5rem;
36
- padding-bottom: 0.5rem;
37
- padding-left: 1rem;
38
- padding-right: 1rem;
39
- gap: 1rem;
40
- border-bottom: 1px;
41
- width: 100%;
42
- justify-content: flex-start;
43
- align-items: center;
44
- align-self: stretch;
45
- height: 3.5rem;
34
+ display: inline-flex;
35
+ padding-top: 0.5rem;
36
+ padding-bottom: 0.5rem;
37
+ padding-left: 1rem;
38
+ padding-right: 1rem;
39
+ gap: 1rem;
40
+ border-bottom: 1px;
41
+ width: 100%;
42
+ justify-content: flex-start;
43
+ align-items: center;
44
+ align-self: stretch;
45
+ height: 3.5rem;
46
46
  }
47
47
 
48
48
  .chatSidebarSearchbarContainer {
49
- display: flex;
50
- padding-top: 0.5rem;
51
- padding-bottom: 0.5rem;
52
- padding-left: 1rem;
53
- padding-right: 1rem;
54
- flex-basis: 0px;
55
- shrink: 1;
56
- gap: 1rem;
57
- justify-content: flex-start;
58
- align-items: center;
59
- height: 2.5rem;
49
+ display: flex;
50
+ padding-top: 0.5rem;
51
+ padding-bottom: 0.5rem;
52
+ padding-left: 1rem;
53
+ padding-right: 1rem;
54
+ flex-basis: 0px;
55
+ shrink: 1;
56
+ gap: 1rem;
57
+ justify-content: flex-start;
58
+ align-items: center;
59
+ height: 2.5rem;
60
60
  }
61
61
 
62
62
  .chatSidebarSearchbarImg {
63
- display: flex;
64
- justify-content: center;
65
- align-items: center;
66
- width: 1.5rem;
67
- height: 1.5rem;
68
- padding-left: 2.50px;
69
- padding-right: 3px;
70
- padding-top: 2.50px;
71
- padding-bottom: 3px;
63
+ display: flex;
64
+ justify-content: center;
65
+ align-items: center;
66
+ width: 1.5rem;
67
+ height: 1.5rem;
68
+ padding-left: 2.50px;
69
+ padding-right: 3px;
70
+ padding-top: 2.50px;
71
+ padding-bottom: 3px;
72
72
  }
73
73
 
74
74
  .chatSidebarInput {
75
- outline-style: none;
76
- /* width: 100%; */
77
- padding: 8px 4px;
78
- font-size: 1rem;
79
- border-radius: 4px;
80
- line-height: 1.5rem;
81
- font-weight: 400;
82
- line-height: 1.25;
75
+ outline: none;
76
+ padding: 8px 4px; /* Keep original padding */
77
+ font-size: 1rem;
78
+ border-radius: 4px;
79
+ line-height: 1.5rem;
80
+ font-weight: 400;
81
+ border: 1px solid #ccc;
82
+ width: 100%; /* Ensure full width */
83
+ min-width: 400px; /* Set minimum horizontal length */
84
+ max-width: 600px; /* Optional: Set maximum width if needed */
85
+ }
83
86
 
87
+ .chatSidebarInput:focus {
88
+ border: 1px solid #12bbb5 !important;
89
+ box-shadow: 0 0 5px rgba(18, 187, 181, 0.5);
90
+ transition: border-color 0.3s ease-in-out;
84
91
  }
85
92
 
86
93
  .chatSidebarConversations {
87
- display: flex;
88
- overflow: auto;
89
- padding-top: 0.5rem;
90
- padding-bottom: 0.5rem;
91
- flex-direction: column;
94
+ display: flex;
95
+ overflow: auto;
96
+ padding-top: 0.5rem;
97
+ padding-bottom: 0.5rem;
98
+ flex-direction: column;
92
99
  }
93
100
 
94
101
  .chatSidebarConversationMain {
95
- display: inline-flex;
96
- padding: 0.5rem;
97
- margin-top: 0.875rem;
98
- /* padding-top: 0.75rem;
99
- padding-bottom: 0.75rem; */
100
- gap: 0.75rem;
101
- /* justify-content: flex-start; */
102
- align-items: center;
103
- border-radius: 0.25rem;
104
- cursor: pointer;
105
- /* height: 72px; */
106
-
107
- :hover {
108
- background-color: #0ea5e9;
109
- }
102
+ display: inline-flex;
103
+ padding: 0.5rem;
104
+ margin-top: 0.875rem;
105
+ /* padding-top: 0.75rem;
106
+ padding-bottom: 0.75rem; */
107
+ gap: 0.75rem;
108
+ /* justify-content: flex-start; */
109
+ align-items: center;
110
+ border-radius: 0.25rem;
111
+ cursor: pointer;
112
+ /* height: 72px; */
113
+
114
+ :hover {
115
+ background-color: transparent;
116
+ }
110
117
  }
111
118
 
112
- .chatSidebarConversationImg {
113
- position: relative;
114
- width: 3rem;
115
- height: 3rem;
116
- border-radius: 100%;
117
- }
119
+ /*.chatSidebarConversationImg {
120
+ position: relative;
121
+ width: 3rem;
122
+ height: 3rem;
123
+ border-radius: 100%;
124
+ }*/
118
125
 
119
126
  .chatSidebarConversationContainer {
120
- /* display: inline-flex; */
121
- flex: 1 1 0%;
122
- /* flex-basis: 0px;
123
- flex-direction: column;
124
- shrink: 1;
125
- gap: 0.25rem;
126
- justify-content: flex-start;
127
- align-items: flex-start; */
127
+ /* display: inline-flex; */
128
+ flex: 1 1 0%;
129
+ /* flex-basis: 0px;
130
+ flex-direction: column;
131
+ shrink: 1;
132
+ gap: 0.25rem;
133
+ justify-content: flex-start;
134
+ align-items: flex-start; */
128
135
  }
129
136
 
130
137
  .chatSidebarConversationInnerDiv {
131
- display: inline-flex;
132
- justify-content: flex-start;
133
- align-items: center;
134
- align-self: stretch;
138
+ display: inline-flex;
139
+ justify-content: flex-start;
140
+ align-items: center;
141
+ align-self: stretch;
135
142
  }
136
143
 
137
144
  .chatSidebarConversationOuterDiv {
138
- flex-basis: 0px;
139
- /* shrink: 1; */
140
- color: #374151;
141
- font-size: 1rem;
142
- line-height: 1.5rem;
143
- font-weight: 600;
144
- line-height: 1.25;
145
+ flex-basis: 0px;
146
+ /* shrink: 1; */
147
+ color: #374151;
148
+ font-size: 1rem;
149
+ line-height: 1.5rem;
150
+ font-weight: 600;
151
+ line-height: 1.25;
145
152
  }
146
153
 
147
154
  .chatMessageContainer {
148
- display: flex;
149
- flex-direction: column;
150
- justify-content: center;
151
- height: 100%;
155
+ display: flex;
156
+ flex-direction: column;
157
+ justify-content: center;
158
+ height: 100%;
152
159
  }
153
160
 
154
161
  .chatMessageContainerInner {
155
- position: sticky;
156
- top: 0;
157
- z-index: 50;
158
- padding-top: 1.25rem;
159
- padding-bottom: 1.25rem;
160
- padding-left: 2rem;
161
- padding-right: 2rem;
162
- border-bottom-width: 1px;
163
- border-color: #D1D5DB;
164
- height: 5rem;
165
- font-size: 0.875rem;
166
- line-height: 1.25rem;
167
- text-align: left;
168
- color: #1F2937;
169
- background-color: #ffffff;
162
+ position: sticky;
163
+ top: 0;
164
+ z-index: 50;
165
+ padding-top: 1.25rem;
166
+ padding-bottom: 1.25rem;
167
+ padding-left: 2rem;
168
+ padding-right: 2rem;
169
+ border-bottom-width: 1px;
170
+ border-color: #D1D5DB;
171
+ height: 5rem;
172
+ font-size: 0.875rem;
173
+ line-height: 1.25rem;
174
+ text-align: left;
175
+ color: #1F2937;
176
+ background-color: #ffffff;
170
177
  }
171
178
 
172
179
  .chatMessageContainerInnerDiv {
173
- display: flex;
174
- padding-left: 1rem;
175
- padding-right: 1rem;
176
- flex-basis: 0px;
177
- shrink: 1;
178
- gap: 1rem;
179
- justify-content: flex-start;
180
- align-items: center;
181
- align-self: stretch;
180
+ display: flex;
181
+ padding-left: 1rem;
182
+ padding-right: 1rem;
183
+ flex-basis: 0px;
184
+ shrink: 1;
185
+ gap: 1rem;
186
+ justify-content: flex-start;
187
+ align-items: center;
188
+ align-self: stretch;
182
189
  }
183
190
 
184
191
  .chatMessageContainerInnerDiv_button {
185
- color: #3B82F6;
192
+ color: #3B82F6;
186
193
  }
187
194
 
188
195
  .chatMessageContainerInnerImg {
189
- width: 2.5rem;
190
- height: 2.5rem;
191
- border-radius: 100%;
196
+ width: 2.5rem;
197
+ height: 2.5rem;
198
+ border-radius: 100%;
192
199
  }
193
200
 
194
201
  .chatMessageContainerOutter {
195
- display: inline-flex;
196
- flex-basis: 0px;
197
- flex-direction: column;
198
- shrink: 1;
199
- gap: 0.25rem;
200
- justify-content: flex-start;
201
- align-items: flex-start;
202
+ display: inline-flex;
203
+ flex-basis: 0px;
204
+ flex-direction: column;
205
+ shrink: 1;
206
+ gap: 0.25rem;
207
+ justify-content: flex-start;
208
+ align-items: flex-start;
202
209
  }
203
210
 
204
211
  .chatMessageContainerOutterDiv {
205
- /* display: inline-flex; */
206
- justify-content: flex-start;
207
- align-items: center;
208
- align-self: stretch;
212
+ /* display: inline-flex; */
213
+ justify-content: flex-start;
214
+ align-items: center;
215
+ align-self: stretch;
209
216
  }
210
217
 
211
218
  .chatMessageContainerOutterDiv_name {
212
- flex-basis: 0px;
213
- shrink: 1;
214
- font-size: 1rem;
215
- line-height: 1.5rem;
216
- font-weight: 600;
217
- line-height: 1.25;
219
+ flex-basis: 0px;
220
+ shrink: 1;
221
+ font-size: 1rem;
222
+ line-height: 1.5rem;
223
+ font-weight: 600;
224
+ line-height: 1.25;
218
225
  }
219
226
 
220
227
  .chatMessageContainerNoChat {
221
- display: flex;
222
- justify-content: center;
223
- align-items: center;
224
- width: 100%;
225
- height: 100%;
228
+ display: flex;
229
+ justify-content: center;
230
+ align-items: center;
231
+ width: 100%;
232
+ height: 100%;
226
233
  }
227
234
 
228
235
  .chatMessageContainerNoChat_div {
229
- display: flex;
230
- padding-left: 1rem;
231
- padding-right: 1rem;
232
- flex-direction: column;
233
- gap: 0.5rem;
234
- align-items: center;
235
- font-weight: 600;
236
- text-align: center;
237
- color: #E5E7EB;
238
- font-size: 1.125rem;
239
- line-height: 1.75rem;
236
+ display: flex;
237
+ padding-left: 1rem;
238
+ padding-right: 1rem;
239
+ flex-direction: column;
240
+ gap: 0.5rem;
241
+ align-items: center;
242
+ font-weight: 600;
243
+ text-align: center;
244
+ color: #E5E7EB;
245
+ font-size: 1.125rem;
246
+ line-height: 1.75rem;
240
247
  }
241
248
 
242
249
  .chatMessages {
243
- overflow-y: auto;
244
- padding-left: 1rem;
245
- padding-right: 1rem;
246
- flex: 1 1 0%;
250
+ overflow-y: auto;
251
+ padding-left: 1rem;
252
+ padding-right: 1rem;
253
+ flex: 1 1 0%;
247
254
  }
248
255
 
249
256
  .chatMessagesBubble_me {
250
- float: right;
251
- background-color: #12bbb5;
252
- color: white;
257
+ float: right;
258
+ color: white;
259
+ background-color: #076663;
260
+ padding: 0.5rem 0.875rem;
253
261
  }
254
262
 
255
263
  .chatMessagesBubble_Other {
256
- float: left;
257
- background-color: #f3f4f6;
258
- color: #374151;
264
+ float: left;
265
+ background-color: #f3f4f6;
266
+ color: #374151;
267
+ padding: 0.5rem 0.875rem;
259
268
  }
260
269
 
261
270
  .chatMessage {
262
- overflow-y: auto;
263
- padding-left: 2rem;
264
- /* padding-right: 2rem; */
265
- padding-top: 0.5rem;
266
- flex-grow: 1;
267
- max-height: 100vh;
268
- text-align: left;
269
- color: #374151;
271
+ overflow-y: auto;
272
+ padding-left: 2rem;
273
+ /* padding-right: 2rem; */
274
+ padding-top: 0.5rem;
275
+ flex-grow: 1;
276
+ max-height: 100vh;
277
+ text-align: left;
278
+ color: #374151;
270
279
  }
271
280
 
272
281
  .chatMessagesContainer {
273
- position: relative;
274
- margin-bottom: 1.5rem;
275
- text-align: left;
282
+ position: relative;
283
+ margin-bottom: 1.5rem;
284
+ text-align: left;
276
285
  }
277
286
 
278
287
  .chatMessagesBubble_inner {
279
- max-width: 250px;
280
- padding: 10px 15px;
281
- border-radius: 15px;
282
- position: relative;
283
- font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
284
- font-size: 14px;
285
- display: inline-block;
286
- text-align: left;
287
- word-break: break-all;
288
+ max-width: 250px;
289
+ padding: 10px 15px;
290
+ border-radius: 15px;
291
+ position: relative;
292
+ font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
293
+ font-size: 14px;
294
+ display: inline-block;
295
+ text-align: left;
296
+ word-break: break-all;
288
297
  }
289
298
 
290
299
 
291
300
  .chatMessagesBubble_Time {
292
- display: block;
293
- text-align: right;
294
- font-size: 10px;
295
- color: #d1d1d1;
296
- margin-top: 5px;
301
+ display: block;
302
+ text-align: right;
303
+ font-size: 10px;
304
+ color: #d1d1d1;
305
+ margin-top: 5px;
297
306
  }
298
307
 
299
308
  .chatMessageInputform {
300
- position: sticky;
301
- bottom: 0;
302
- background: #eee7e7;
303
- padding-left: 1rem;
304
- padding-right: 1rem;
305
- padding-top: 0.25rem;
306
- padding-bottom: 0.25rem;
307
- margin-top: 0.75rem;
308
- /* margin-bottom: 0.75rem; */
309
+ position: sticky;
310
+ bottom: 0;
311
+ background: #ffffff;
312
+ padding-left: 1rem;
313
+ padding-right: 1rem;
314
+ padding-top: 0.25rem;
315
+ padding-bottom: 0.25rem;
316
+ margin-top: 0.75rem;
317
+ /* margin-bottom: 0.75rem; */
309
318
  }
310
319
  .chatMessageInputdiv {
311
- display: flex;
312
- align-items: center;
313
- border-top: 1px;
314
- gap: 8px;
320
+ display: flex;
321
+ align-items: center;
322
+ border-top: 1px;
323
+ gap: 8px;
315
324
  }
316
325
 
317
326
  .chatMessageInput {
318
- display: block;
319
- padding: 0.625rem;
320
- border-radius: 1rem;
321
- border-width: 1px;
322
- border-style: none;
323
- outline-style: none;
324
- width: 100%;
325
- max-height: 11.76em;
326
- min-height: 1.47em;
327
- white-space: pre-wrap;
328
- word-break: break-all;
329
- font-size: 0.875rem;
330
- line-height: 1.25rem;
327
+ /* display: block;
328
+ padding: 0.625rem;
329
+ border-radius: 0.5rem;
330
+ border-width: 0.5rem;
331
+ border-style: solid;
332
+ border-color: #7b7d80;
333
+ outline-style: solid;
334
+ width: 100%;
335
+ max-height: 5.76em;
336
+ min-height: 1.47em;
337
+ white-space: pre-wrap;
338
+ word-break: break-all;
339
+ font-size: 0.875rem;
340
+ line-height: 1.25rem;
341
+ overflow-y: auto; */
342
+ outline: none;
343
+ padding: 8px 4px; /* Keep original padding */
344
+ font-size: 1rem;
345
+ border-radius: 4px;
346
+ line-height: 1.5rem;
347
+ font-weight: 400;
348
+ border: 1px solid #ccc;
349
+ width: 100%;
350
+ max-height: 5.76em;
351
+ min-height: 1.47em;
352
+ white-space: pre-wrap;
353
+ word-break: break-all;
354
+ overflow-y: auto; /* Allow vertical scrolling if needed */
355
+ }
356
+
357
+ .chatMessageInput:focus {
358
+ border: 1px solid #12bbb5 !important;
359
+ box-shadow: 0 0 5px rgba(18, 187, 181, 0.5);
360
+ transition: border-color 0.3s ease-in-out;
361
+ }
362
+
363
+ .chatMessageInput::-webkit-scrollbar {
364
+ display: none;
331
365
  }
332
366
 
333
367
  .chatMessageInputSubmit {
334
- /* display: flex;
335
- position: absolute;
336
- top: 0;
337
- bottom: 0;
338
- align-items: center; */
339
- padding: 8px;
340
- border-radius: 100%;
341
- background: #12bbb5;
368
+ /* display: flex;
369
+ position: absolute;
370
+ top: 0;
371
+ bottom: 0;
372
+ align-items: center; */
373
+ padding: 8px;
374
+ border-radius: 100%;
375
+ background: #12bbb5;
342
376
  }
343
377
 
344
- @media (min-width: 640px) {
345
- .grid-container {
346
- height: 450px;
347
- }
378
+ .chat-container {
379
+ width: 100%;
380
+ font-family: Arial, sans-serif;
381
+ }
348
382
 
349
- .sidebarContainer {
350
- display: none;
383
+ .message-row {
384
+ display: flex;
385
+ align-items: flex-end;
386
+ margin-bottom: 16px;
387
+ gap: 10px;
388
+ word-break: break-all;
389
+ max-width: 100%;
351
390
 
352
- }
391
+ }
353
392
 
354
- .messageContainer {
355
- display: none;
356
- }
393
+ .message-row.incoming {
394
+ justify-content: flex-start;
395
+ }
396
+
397
+ .message-row.outgoing {
398
+ justify-content: flex-end;
399
+ }
357
400
 
358
- .chatMessages {
359
- padding-left: 1.5rem;
360
- padding-right: 1.5rem;
361
- }
362
401
 
402
+ .bubble-container {
403
+ display: flex;
404
+ flex-direction: column;
405
+ max-width: 70%;
363
406
  }
364
407
 
365
- @media (min-width: 768px) {
366
- .grid-container {
367
- height: 550px;
368
- grid-template-columns: repeat(9, minmax(0, 1fr));
369
- }
408
+ .chat-bubble {
370
409
 
371
- .sidebarContainer {
372
- display: grid;
373
- grid-column: span 3 / span 3;
374
- }
410
+ background-color: #f3f4f6;
411
+ border-radius: 0.5rem;
412
+ padding: 0.5rem;
413
+ font-size: 14px;
414
+ max-width: 20rem;
415
+ margin-bottom: 5px;
416
+ }
375
417
 
376
- .messageContainer {
377
- display: grid;
378
- grid-column: span 4 / span 4;
379
- }
418
+ .outgoing .chat-bubble {
419
+ background-color: #12bbb5;
420
+ color: white;
380
421
 
381
- .chatMessageContainerInnerDiv_button {
382
- display: none;
383
- }
422
+ }
384
423
 
385
- .chatMessages {
386
- padding-left: 2rem;
387
- padding-right: 2rem;
388
- }
424
+ .incoming .chat-bubble {
425
+ background-color: #dedee4b9;
426
+ color: black;
427
+ }
389
428
 
429
+ .timestamp_incomeing {
430
+ font-size: 12px;
431
+ color: #888;
432
+ margin-top: 4px;
433
+ text-align: left;
390
434
  }
391
435
 
392
- .typingIndicator{
393
- display: flex;
394
- align-items: center;
395
- gap: 0.5rem;
436
+ .timestamp_outgoing {
437
+ font-size: 12px;
438
+ color: #888;
439
+ margin-top: 4px;
440
+ text-align: right;
396
441
  }
397
442
 
398
- /* From Uiverse.io by ashish-yadv */
399
- .loader {
400
- width: 60px;
401
- display: flex;
402
- align-items: center;
403
- height: 100%;
404
- margin-right: 10px;
405
- width: 100%;
406
- font-size: smaller;
407
- gap: 0.5rem;
408
- }
409
-
410
- .ball {
411
- width: 6px;
412
- height: 6px;
413
- border-radius: 50%;
414
- background-color: #3b2dfd;
415
- }
416
-
417
- .ball:nth-child(1) {
418
- animation: bounce-1 2.1s ease-in-out infinite;
419
- }
420
-
421
- @keyframes bounce-1 {
422
- 50% {
423
- transform: translateY(-3px);
424
- }
425
- }
426
-
427
- .ball:nth-child(2) {
428
- animation: bounce-3 2.1s ease-in-out 0.3s infinite;
429
- }
430
-
431
- @keyframes bounce-2 {
432
- 50% {
433
- transform: translateY(-3px);
434
- }
435
- }
436
-
437
- .ball:nth-child(3) {
438
- animation: bounce-3 2.1s ease-in-out 0.6s infinite;
439
- }
440
-
441
- @keyframes bounce-3 {
442
- 50% {
443
- transform: translateY(-3px);
444
- }
445
- }
443
+ .status-icon {
446
444
 
447
- /* From Uiverse.io by abrahamcalsin */
448
- .dot-spinner {
449
- --uib-size: 2.8rem;
450
- --uib-speed: .9s;
451
- --uib-color: #183153;
452
- position: relative;
453
- display: flex;
454
- align-items: center;
455
- justify-content: flex-start;
456
- height: var(--uib-size);
457
- width: var(--uib-size);
458
- }
459
-
460
- .dot-spinner__dot {
461
- position: absolute;
462
- top: 0;
463
- left: 0;
464
- display: flex;
465
- align-items: center;
466
- justify-content: flex-start;
467
- height: 100%;
468
- width: 100%;
469
- }
470
-
471
- .dot-spinner__dot::before {
472
- content: '';
473
- height: 20%;
474
- width: 20%;
475
- border-radius: 50%;
476
- background-color: var(--uib-color);
477
- transform: scale(0);
478
- opacity: 0.5;
479
- animation: pulse0112 calc(var(--uib-speed) * 1.111) ease-in-out infinite;
480
- box-shadow: 0 0 20px rgba(18, 31, 53, 0.3);
481
- }
482
-
483
- .dot-spinner__dot:nth-child(2) {
484
- transform: rotate(45deg);
485
- }
486
-
487
- .dot-spinner__dot:nth-child(2)::before {
488
- animation-delay: calc(var(--uib-speed) * -0.875);
445
+ bottom: 5px;
446
+ margin-left: 10px;
447
+ right: 10px;
448
+ font-size: 12px;
449
+ }
450
+
451
+ .read {
452
+ color: blue;
453
+ }
454
+
455
+ @media (min-width: 640px) {
456
+ .grid-container {
457
+ height: 450px;
489
458
  }
490
-
491
- .dot-spinner__dot:nth-child(3) {
492
- transform: rotate(90deg);
459
+
460
+ .sidebarContainer {
461
+ display: none;
462
+
493
463
  }
494
-
495
- .dot-spinner__dot:nth-child(3)::before {
496
- animation-delay: calc(var(--uib-speed) * -0.75);
464
+
465
+ .messageContainer {
466
+ display: none;
497
467
  }
498
-
499
- .dot-spinner__dot:nth-child(4) {
500
- transform: rotate(135deg);
468
+
469
+ .chatMessages {
470
+ padding-left: 1.5rem;
471
+ padding-right: 1.5rem;
501
472
  }
502
-
503
- .dot-spinner__dot:nth-child(4)::before {
504
- animation-delay: calc(var(--uib-speed) * -0.625);
473
+
474
+ }
475
+
476
+ @media (min-width: 768px) {
477
+ .grid-container {
478
+ height: 550px;
479
+ grid-template-columns: repeat(9, minmax(0, 1fr));
505
480
  }
506
-
507
- .dot-spinner__dot:nth-child(5) {
508
- transform: rotate(180deg);
481
+
482
+ .sidebarContainer {
483
+ display: grid;
484
+ grid-column: span 3 / span 3;
509
485
  }
510
-
511
- .dot-spinner__dot:nth-child(5)::before {
512
- animation-delay: calc(var(--uib-speed) * -0.5);
486
+
487
+ .messageContainer {
488
+ display: grid;
489
+ grid-column: span 4 / span 4;
513
490
  }
514
-
515
- .dot-spinner__dot:nth-child(6) {
516
- transform: rotate(225deg);
491
+
492
+ .chatMessageContainerInnerDiv_button {
493
+ display: none;
517
494
  }
518
-
519
- .dot-spinner__dot:nth-child(6)::before {
520
- animation-delay: calc(var(--uib-speed) * -0.375);
495
+
496
+ .chatMessages {
497
+ padding-left: 2rem;
498
+ padding-right: 2rem;
521
499
  }
522
-
523
- .dot-spinner__dot:nth-child(7) {
524
- transform: rotate(270deg);
500
+
501
+ }
502
+
503
+ .typingIndicator{
504
+ display: flex;
505
+ align-items: center;
506
+ gap: 0.5rem;
507
+ }
508
+
509
+ /* From Uiverse.io by ashish-yadv */
510
+ .loader {
511
+ width: 60px;
512
+ display: flex;
513
+ align-items: center;
514
+ height: 100%;
515
+ margin-right: 10px;
516
+ width: 100%;
517
+ font-size: smaller;
518
+ gap: 0.5rem;
519
+ }
520
+
521
+ .ball {
522
+ width: 6px;
523
+ height: 6px;
524
+ border-radius: 50%;
525
+ background-color: #3b2dfd;
526
+ }
527
+
528
+ .ball:nth-child(1) {
529
+ animation: bounce-1 2.1s ease-in-out infinite;
530
+ }
531
+
532
+ @keyframes bounce-1 {
533
+ 50% {
534
+ transform: translateY(-3px);
525
535
  }
526
-
527
- .dot-spinner__dot:nth-child(7)::before {
528
- animation-delay: calc(var(--uib-speed) * -0.25);
536
+ }
537
+
538
+ .ball:nth-child(2) {
539
+ animation: bounce-3 2.1s ease-in-out 0.3s infinite;
540
+ }
541
+
542
+ @keyframes bounce-2 {
543
+ 50% {
544
+ transform: translateY(-3px);
529
545
  }
530
-
531
- .dot-spinner__dot:nth-child(8) {
532
- transform: rotate(315deg);
546
+ }
547
+
548
+ .ball:nth-child(3) {
549
+ animation: bounce-3 2.1s ease-in-out 0.6s infinite;
550
+ }
551
+
552
+ @keyframes bounce-3 {
553
+ 50% {
554
+ transform: translateY(-3px);
533
555
  }
534
-
535
- .dot-spinner__dot:nth-child(8)::before {
536
- animation-delay: calc(var(--uib-speed) * -0.125);
556
+ }
557
+
558
+ /* From Uiverse.io by abrahamcalsin */
559
+ .dot-spinner {
560
+ --uib-size: 2.8rem;
561
+ --uib-speed: .9s;
562
+ --uib-color: #183153;
563
+ position: relative;
564
+ display: flex;
565
+ align-items: center;
566
+ justify-content: flex-start;
567
+ height: var(--uib-size);
568
+ width: var(--uib-size);
569
+ }
570
+
571
+ .dot-spinner__dot {
572
+ position: absolute;
573
+ top: 0;
574
+ left: 0;
575
+ display: flex;
576
+ align-items: center;
577
+ justify-content: flex-start;
578
+ height: 100%;
579
+ width: 100%;
580
+ }
581
+
582
+ .dot-spinner__dot::before {
583
+ content: '';
584
+ height: 20%;
585
+ width: 20%;
586
+ border-radius: 50%;
587
+ background-color: var(--uib-color);
588
+ transform: scale(0);
589
+ opacity: 0.5;
590
+ animation: pulse0112 calc(var(--uib-speed) * 1.111) ease-in-out infinite;
591
+ box-shadow: 0 0 20px rgba(18, 31, 53, 0.3);
592
+ }
593
+
594
+ .dot-spinner__dot:nth-child(2) {
595
+ transform: rotate(45deg);
596
+ }
597
+
598
+ .dot-spinner__dot:nth-child(2)::before {
599
+ animation-delay: calc(var(--uib-speed) * -0.875);
600
+ }
601
+
602
+ .dot-spinner__dot:nth-child(3) {
603
+ transform: rotate(90deg);
604
+ }
605
+
606
+ .dot-spinner__dot:nth-child(3)::before {
607
+ animation-delay: calc(var(--uib-speed) * -0.75);
608
+ }
609
+
610
+ .dot-spinner__dot:nth-child(4) {
611
+ transform: rotate(135deg);
612
+ }
613
+
614
+ .dot-spinner__dot:nth-child(4)::before {
615
+ animation-delay: calc(var(--uib-speed) * -0.625);
616
+ }
617
+
618
+ .dot-spinner__dot:nth-child(5) {
619
+ transform: rotate(180deg);
620
+ }
621
+
622
+ .dot-spinner__dot:nth-child(5)::before {
623
+ animation-delay: calc(var(--uib-speed) * -0.5);
624
+ }
625
+
626
+ .dot-spinner__dot:nth-child(6) {
627
+ transform: rotate(225deg);
628
+ }
629
+
630
+ .dot-spinner__dot:nth-child(6)::before {
631
+ animation-delay: calc(var(--uib-speed) * -0.375);
632
+ }
633
+
634
+ .dot-spinner__dot:nth-child(7) {
635
+ transform: rotate(270deg);
636
+ }
637
+
638
+ .dot-spinner__dot:nth-child(7)::before {
639
+ animation-delay: calc(var(--uib-speed) * -0.25);
640
+ }
641
+
642
+ .dot-spinner__dot:nth-child(8) {
643
+ transform: rotate(315deg);
644
+ }
645
+
646
+ .dot-spinner__dot:nth-child(8)::before {
647
+ animation-delay: calc(var(--uib-speed) * -0.125);
648
+ }
649
+
650
+ /* Sidebar Container */
651
+ .chatSidebar {
652
+ background: #ffffff;
653
+ padding: 15px;
654
+ border-radius: 10px;
655
+ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
656
+ width: 300px;
657
+ }
658
+
659
+ /* Chat List */
660
+ .chatItem {
661
+ display: flex;
662
+ align-items: center;
663
+ padding: 12px;
664
+ border-radius: 8px;
665
+ transition: background 0.3s;
666
+ }
667
+
668
+ .chatItem:hover {
669
+ background: #f0f0f0;
670
+ cursor: pointer;
671
+ }
672
+
673
+ /* Profile Images */
674
+ .chatAvatar {
675
+ width: 40px;
676
+ height: 40px;
677
+ border-radius: 50%;
678
+ margin-right: 12px;
679
+ border: 2px solid #ccc;
680
+ transition: transform 0.3s ease-in-out;
681
+ }
682
+
683
+ .chatAvatar:hover {
684
+ transform: scale(1.1);
685
+ }
686
+
687
+ /* Chat Details */
688
+ .chatDetails {
689
+ flex-grow: 1;
690
+ }
691
+
692
+ .chatName {
693
+ font-weight: 600;
694
+ color: #333;
695
+ }
696
+
697
+ .chatMessage {
698
+ font-size: 0.9rem;
699
+ color: #777;
700
+ }
701
+
702
+ /* Chat Time */
703
+ .chatTime {
704
+ font-size: 0.8rem;
705
+ color: #aaa;
706
+ }
707
+
708
+
709
+
710
+ /* Position the status dot on the corner of the profile picture */
711
+ .chatSidebarConversationImg {
712
+ position: relative;
713
+ width: 3rem;
714
+ height: 3rem;
715
+ border-radius: 100%;
716
+ }
717
+
718
+ /* The status dot */
719
+ .chatSidebarStatusDot {
720
+ position: absolute;
721
+ bottom: 0;
722
+ right: 0;
723
+ width: 12px;
724
+ height: 12px;
725
+ border-radius: 50%;
726
+ border: 2px solid white; /* Border for a neat appearance */
727
+ }
728
+
729
+
730
+ /* For online status */
731
+ .chatSidebarStatusDot.online {
732
+ background-color: green;
733
+ }
734
+
735
+ /* For offline status */
736
+ .chatSidebarStatusDot.offline {
737
+ background-color: rgba(179, 170, 170, 0.712);
738
+ }
739
+
740
+ .conversation-container {
741
+ display: flex;
742
+ align-items: center;
743
+ gap: 12px;
744
+ padding: 12px;
745
+ border-radius: 8px;
746
+ background-color: white;
747
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
748
+ cursor: pointer;
749
+ transition: background-color 0.3s ease-in-out;
750
+ }
751
+
752
+ .conversation-container:hover {
753
+ background-color: #f5f5f5;
754
+ }
755
+
756
+ .conversation-avatar {
757
+ position: relative;
758
+ }
759
+
760
+ .conversation-img {
761
+ width: 48px;
762
+ height: 48px;
763
+ border-radius: 50%;
764
+ border: 2px solid #ccc;
765
+ transition: border-color 0.3s;
766
+ }
767
+
768
+ .conversation-img:hover {
769
+ border-color: #12bbb5;
770
+ }
771
+
772
+
773
+ .conversation-info {
774
+ flex-grow: 1;
775
+ display: flex;
776
+ flex-direction: column;
777
+ }
778
+
779
+ .conversation-header {
780
+ display: flex;
781
+ justify-content: space-between;
782
+ align-items: center;
783
+ }
784
+
785
+ .conversation-name {
786
+ font-size: 14px;
787
+ font-weight: bold;
788
+ color: #333;
789
+ }
790
+
791
+ .conversation-time {
792
+ font-size: 12px;
793
+ color: #777;
794
+ }
795
+
796
+ .conversation-message {
797
+ font-size: 12px;
798
+ color: #777;
799
+ white-space: nowrap;
800
+ overflow: hidden;
801
+ text-overflow: ellipsis;
802
+ }
803
+
804
+ .divider {
805
+ background-color: #ccc;
806
+
807
+ }
808
+
809
+
810
+ @keyframes pulse0112 {
811
+ 0%,
812
+ 100% {
813
+ transform: scale(0);
814
+ opacity: 0.5;
537
815
  }
538
-
539
- @keyframes pulse0112 {
540
- 0%,
541
- 100% {
542
- transform: scale(0);
543
- opacity: 0.5;
544
- }
545
-
546
- 50% {
547
- transform: scale(1);
548
- opacity: 1;
549
- }
816
+
817
+ 50% {
818
+ transform: scale(1);
819
+ opacity: 1;
550
820
  }
551
-
821
+ }