@pubuduth-aplicy/chat-ui 2.1.49 → 2.1.51

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