whatsapp-ui-react 0.0.3 → 0.0.5

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.
package/dist/style.css ADDED
@@ -0,0 +1,688 @@
1
+ /*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
2
+ @layer properties {
3
+ @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
4
+ *, :before, :after, ::backdrop {
5
+ --tw-translate-x: 0;
6
+ --tw-translate-y: 0;
7
+ --tw-translate-z: 0;
8
+ --tw-scale-x: 1;
9
+ --tw-scale-y: 1;
10
+ --tw-scale-z: 1;
11
+ --tw-border-style: solid;
12
+ --tw-leading: initial;
13
+ --tw-shadow: 0 0 #0000;
14
+ --tw-shadow-color: initial;
15
+ --tw-shadow-alpha: 100%;
16
+ --tw-inset-shadow: 0 0 #0000;
17
+ --tw-inset-shadow-color: initial;
18
+ --tw-inset-shadow-alpha: 100%;
19
+ --tw-ring-color: initial;
20
+ --tw-ring-shadow: 0 0 #0000;
21
+ --tw-inset-ring-color: initial;
22
+ --tw-inset-ring-shadow: 0 0 #0000;
23
+ --tw-ring-inset: initial;
24
+ --tw-ring-offset-width: 0px;
25
+ --tw-ring-offset-color: #fff;
26
+ --tw-ring-offset-shadow: 0 0 #0000;
27
+ --tw-duration: initial;
28
+ }
29
+ }
30
+ }
31
+
32
+ .\@container {
33
+ container-type: inline-size;
34
+ }
35
+
36
+ .pointer-events-none {
37
+ pointer-events: none;
38
+ }
39
+
40
+ .invisible {
41
+ visibility: hidden;
42
+ }
43
+
44
+ .visible {
45
+ visibility: visible;
46
+ }
47
+
48
+ .absolute {
49
+ position: absolute;
50
+ }
51
+
52
+ .relative {
53
+ position: relative;
54
+ }
55
+
56
+ .static {
57
+ position: static;
58
+ }
59
+
60
+ .top-1\/2 {
61
+ top: 50%;
62
+ }
63
+
64
+ .isolate {
65
+ isolation: isolate;
66
+ }
67
+
68
+ .-z-10 {
69
+ z-index: calc(10 * -1);
70
+ }
71
+
72
+ .container {
73
+ width: 100%;
74
+ }
75
+
76
+ .mt-\[5px\] {
77
+ margin-top: 5px;
78
+ }
79
+
80
+ .contents {
81
+ display: contents;
82
+ }
83
+
84
+ .flex {
85
+ display: flex;
86
+ }
87
+
88
+ .grid {
89
+ display: grid;
90
+ }
91
+
92
+ .hidden {
93
+ display: none;
94
+ }
95
+
96
+ .inline-block {
97
+ display: inline-block;
98
+ }
99
+
100
+ .inline-flex {
101
+ display: inline-flex;
102
+ }
103
+
104
+ .table {
105
+ display: table;
106
+ }
107
+
108
+ .size-full {
109
+ width: 100%;
110
+ height: 100%;
111
+ }
112
+
113
+ .h-\[450px\] {
114
+ height: 450px;
115
+ }
116
+
117
+ .h-full {
118
+ height: 100%;
119
+ }
120
+
121
+ .min-h-screen {
122
+ min-height: 100vh;
123
+ }
124
+
125
+ .w-\[336px\] {
126
+ width: 336px;
127
+ }
128
+
129
+ .w-\[550px\] {
130
+ width: 550px;
131
+ }
132
+
133
+ .w-fit {
134
+ width: fit-content;
135
+ }
136
+
137
+ .w-full {
138
+ width: 100%;
139
+ }
140
+
141
+ .max-w-\[65cqw\] {
142
+ max-width: 65cqw;
143
+ }
144
+
145
+ .min-w-\[336px\] {
146
+ min-width: 336px;
147
+ }
148
+
149
+ .flex-1 {
150
+ flex: 1;
151
+ }
152
+
153
+ .shrink-0 {
154
+ flex-shrink: 0;
155
+ }
156
+
157
+ .-translate-x-1\/2 {
158
+ --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
159
+ translate: var(--tw-translate-x) var(--tw-translate-y);
160
+ }
161
+
162
+ .-translate-y-1\/2 {
163
+ --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
164
+ translate: var(--tw-translate-x) var(--tw-translate-y);
165
+ }
166
+
167
+ .scale-x-\[-1\] {
168
+ --tw-scale-x: -1;
169
+ scale: var(--tw-scale-x) var(--tw-scale-y);
170
+ }
171
+
172
+ .cursor-pointer {
173
+ cursor: pointer;
174
+ }
175
+
176
+ .resize-none {
177
+ resize: none;
178
+ }
179
+
180
+ .grid-cols-2 {
181
+ grid-template-columns: repeat(2, minmax(0, 1fr));
182
+ }
183
+
184
+ .flex-col {
185
+ flex-direction: column;
186
+ }
187
+
188
+ .items-center {
189
+ align-items: center;
190
+ }
191
+
192
+ .items-end {
193
+ align-items: flex-end;
194
+ }
195
+
196
+ .justify-center {
197
+ justify-content: center;
198
+ }
199
+
200
+ .justify-end {
201
+ justify-content: flex-end;
202
+ }
203
+
204
+ .justify-start {
205
+ justify-content: flex-start;
206
+ }
207
+
208
+ .self-end {
209
+ align-self: flex-end;
210
+ }
211
+
212
+ .truncate {
213
+ text-overflow: ellipsis;
214
+ white-space: nowrap;
215
+ overflow: hidden;
216
+ }
217
+
218
+ .overflow-hidden {
219
+ overflow: hidden;
220
+ }
221
+
222
+ .overflow-y-auto {
223
+ overflow-y: auto;
224
+ }
225
+
226
+ .rounded-\[0\.325rem\] {
227
+ border-radius: .325rem;
228
+ }
229
+
230
+ .rounded-\[0\.525rem\] {
231
+ border-radius: .525rem;
232
+ }
233
+
234
+ .rounded-full {
235
+ border-radius: 3.40282e38px;
236
+ }
237
+
238
+ .rounded-tl-none {
239
+ border-top-left-radius: 0;
240
+ }
241
+
242
+ .rounded-tr-none {
243
+ border-top-right-radius: 0;
244
+ }
245
+
246
+ .border-b {
247
+ border-bottom-style: var(--tw-border-style);
248
+ border-bottom-width: 1px;
249
+ }
250
+
251
+ .bg-\[\#0d1418\] {
252
+ background-color: #0d1418;
253
+ }
254
+
255
+ .bg-transparent {
256
+ background-color: #0000;
257
+ }
258
+
259
+ .bg-wa-avatar {
260
+ background-color: var(--color-wa-avatar);
261
+ }
262
+
263
+ .bg-wa-bg {
264
+ background-color: var(--color-wa-bg);
265
+ }
266
+
267
+ .bg-wa-bubble-in {
268
+ background-color: var(--color-wa-bubble-in);
269
+ }
270
+
271
+ .bg-wa-bubble-out {
272
+ background-color: var(--color-wa-bubble-out);
273
+ }
274
+
275
+ .bg-wa-divider {
276
+ background-color: var(--color-wa-divider);
277
+ }
278
+
279
+ .bg-wa-input {
280
+ background-color: var(--color-wa-input);
281
+ }
282
+
283
+ .bg-wa-send {
284
+ background-color: var(--color-wa-send);
285
+ }
286
+
287
+ .bg-wa-teal {
288
+ background-color: var(--color-wa-teal);
289
+ }
290
+
291
+ .bg-wa-teal\/40 {
292
+ background-color: #53bdeb66;
293
+ }
294
+
295
+ @supports (color: color-mix(in lab, red, red)) {
296
+ .bg-wa-teal\/40 {
297
+ background-color: color-mix(in oklab, var(--color-wa-teal) 40%, transparent);
298
+ }
299
+ }
300
+
301
+ .bg-wa-text-secondary {
302
+ background-color: var(--color-wa-text-secondary);
303
+ }
304
+
305
+ .bg-wa-text-secondary\/40 {
306
+ background-color: #8696a066;
307
+ }
308
+
309
+ @supports (color: color-mix(in lab, red, red)) {
310
+ .bg-wa-text-secondary\/40 {
311
+ background-color: color-mix(in oklab, var(--color-wa-text-secondary) 40%, transparent);
312
+ }
313
+ }
314
+
315
+ .bg-repeat {
316
+ background-repeat: repeat;
317
+ }
318
+
319
+ .object-contain {
320
+ object-fit: contain;
321
+ }
322
+
323
+ .object-cover {
324
+ object-fit: cover;
325
+ }
326
+
327
+ .pt-\[1px\] {
328
+ padding-top: 1px;
329
+ }
330
+
331
+ .pt-\[10px\] {
332
+ padding-top: 10px;
333
+ }
334
+
335
+ .text-\[10px\] {
336
+ font-size: 10px;
337
+ }
338
+
339
+ .text-\[13px\] {
340
+ font-size: 13px;
341
+ }
342
+
343
+ .text-\[15px\] {
344
+ font-size: 15px;
345
+ }
346
+
347
+ .leading-none {
348
+ --tw-leading: 1;
349
+ line-height: 1;
350
+ }
351
+
352
+ .break-words {
353
+ overflow-wrap: break-word;
354
+ }
355
+
356
+ .whitespace-pre-wrap {
357
+ white-space: pre-wrap;
358
+ }
359
+
360
+ .text-wa-bubble-in {
361
+ color: var(--color-wa-bubble-in);
362
+ }
363
+
364
+ .text-wa-bubble-out {
365
+ color: var(--color-wa-bubble-out);
366
+ }
367
+
368
+ .text-wa-icon {
369
+ color: var(--color-wa-icon);
370
+ }
371
+
372
+ .text-wa-teal {
373
+ color: var(--color-wa-teal);
374
+ }
375
+
376
+ .text-wa-text {
377
+ color: var(--color-wa-text);
378
+ }
379
+
380
+ .text-wa-text-body {
381
+ color: var(--color-wa-text-body);
382
+ }
383
+
384
+ .text-wa-text-secondary {
385
+ color: var(--color-wa-text-secondary);
386
+ }
387
+
388
+ .uppercase {
389
+ text-transform: uppercase;
390
+ }
391
+
392
+ .opacity-0 {
393
+ opacity: 0;
394
+ }
395
+
396
+ .opacity-100 {
397
+ opacity: 1;
398
+ }
399
+
400
+ .opacity-\[0\.06\] {
401
+ opacity: .06;
402
+ }
403
+
404
+ .shadow-\[0_1px_4px_rgba\(0\,0\,0\,0\.15\)\] {
405
+ --tw-shadow: 0 1px 4px var(--tw-shadow-color, #00000026);
406
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
407
+ }
408
+
409
+ .ring-1 {
410
+ --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
411
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
412
+ }
413
+
414
+ .transition {
415
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
416
+ transition-timing-function: var(--tw-ease, ease);
417
+ transition-duration: var(--tw-duration, 0s);
418
+ }
419
+
420
+ .transition-all {
421
+ transition-property: all;
422
+ transition-timing-function: var(--tw-ease, ease);
423
+ transition-duration: var(--tw-duration, 0s);
424
+ }
425
+
426
+ .transition-colors {
427
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
428
+ transition-timing-function: var(--tw-ease, ease);
429
+ transition-duration: var(--tw-duration, 0s);
430
+ }
431
+
432
+ .transition-opacity {
433
+ transition-property: opacity;
434
+ transition-timing-function: var(--tw-ease, ease);
435
+ transition-duration: var(--tw-duration, 0s);
436
+ }
437
+
438
+ .duration-300 {
439
+ --tw-duration: .3s;
440
+ transition-duration: .3s;
441
+ }
442
+
443
+ .outline-none {
444
+ --tw-outline-style: none;
445
+ outline-style: none;
446
+ }
447
+
448
+ .select-none {
449
+ -webkit-user-select: none;
450
+ user-select: none;
451
+ }
452
+
453
+ .\[scrollbar-color\:rgba\(255\,255\,255\,0\.1\)_transparent\] {
454
+ scrollbar-color: #ffffff1a transparent;
455
+ }
456
+
457
+ .\[scrollbar-width\:thin\] {
458
+ scrollbar-width: thin;
459
+ }
460
+
461
+ .\[text-shadow\:0_1px_3px_rgba\(0\,0\,0\,0\.25\)\] {
462
+ text-shadow: 0 1px 3px #00000040;
463
+ }
464
+
465
+ @media (hover: hover) {
466
+ .group-hover\:block:is(:where(.group):hover *) {
467
+ display: block;
468
+ }
469
+
470
+ .group-hover\:hidden:is(:where(.group):hover *) {
471
+ display: none;
472
+ }
473
+ }
474
+
475
+ .placeholder\:text-wa-icon\/70::placeholder {
476
+ color: #aebac1b3;
477
+ }
478
+
479
+ @supports (color: color-mix(in lab, red, red)) {
480
+ .placeholder\:text-wa-icon\/70::placeholder {
481
+ color: color-mix(in oklab, var(--color-wa-icon) 70%, transparent);
482
+ }
483
+ }
484
+
485
+ @media (hover: hover) {
486
+ .hover\:bg-wa-hover:hover {
487
+ background-color: var(--color-wa-hover);
488
+ }
489
+
490
+ .hover\:text-wa-text:hover {
491
+ color: var(--color-wa-text);
492
+ }
493
+
494
+ .hover\:opacity-70:hover {
495
+ opacity: .7;
496
+ }
497
+
498
+ .hover\:opacity-90:hover {
499
+ opacity: .9;
500
+ }
501
+ }
502
+
503
+ .disabled\:cursor-not-allowed:disabled {
504
+ cursor: not-allowed;
505
+ }
506
+
507
+ .disabled\:opacity-50:disabled {
508
+ opacity: .5;
509
+ }
510
+
511
+ .\[\&\:\:-webkit-scrollbar-thumb\]\:rounded-full::-webkit-scrollbar-thumb {
512
+ border-radius: 3.40282e38px;
513
+ }
514
+
515
+ .\[\&\:\:-webkit-scrollbar-thumb\]\:bg-\[rgba\(255\,255\,255\,0\.18\)\]::-webkit-scrollbar-thumb {
516
+ background-color: #ffffff2e;
517
+ }
518
+
519
+ .\[\&\:\:-webkit-scrollbar-thumb\:hover\]\:bg-\[rgba\(255\,255\,255\,0\.3\)\]::-webkit-scrollbar-thumb:hover {
520
+ background-color: #ffffff4d;
521
+ }
522
+
523
+ .\[\&\:\:-webkit-scrollbar-track\]\:bg-transparent::-webkit-scrollbar-track {
524
+ background-color: #0000;
525
+ }
526
+
527
+ :root, :host {
528
+ --color-wa-bg: #161717;
529
+ --color-wa-bubble-out: #144d37;
530
+ --color-wa-bubble-in: #202c33;
531
+ --color-wa-avatar: #2a3942;
532
+ --color-wa-input: #242626;
533
+ --color-wa-divider: #182229;
534
+ --color-wa-text: #e9edef;
535
+ --color-wa-text-secondary: #8696a0;
536
+ --color-wa-text-body: #d1d7db;
537
+ --color-wa-icon: #aebac1;
538
+ --color-wa-teal: #53bdeb;
539
+ --color-wa-send: #21c063;
540
+ --color-wa-hover: #00a884;
541
+ }
542
+
543
+ [data-wa-theme="light"] {
544
+ --color-wa-bg: #f0f2f5;
545
+ --color-wa-bubble-out: #d9fdd3;
546
+ --color-wa-bubble-in: #fff;
547
+ --color-wa-avatar: #dfe5e7;
548
+ --color-wa-input: #fff;
549
+ --color-wa-divider: #e9edef;
550
+ --color-wa-text: #111b21;
551
+ --color-wa-text-secondary: #667781;
552
+ --color-wa-text-body: #3b4a54;
553
+ --color-wa-icon: #54656f;
554
+ --color-wa-teal: #0a7040;
555
+ --color-wa-send: #00a884;
556
+ --color-wa-hover: #008f72;
557
+ }
558
+
559
+ @property --tw-translate-x {
560
+ syntax: "*";
561
+ inherits: false;
562
+ initial-value: 0;
563
+ }
564
+
565
+ @property --tw-translate-y {
566
+ syntax: "*";
567
+ inherits: false;
568
+ initial-value: 0;
569
+ }
570
+
571
+ @property --tw-translate-z {
572
+ syntax: "*";
573
+ inherits: false;
574
+ initial-value: 0;
575
+ }
576
+
577
+ @property --tw-scale-x {
578
+ syntax: "*";
579
+ inherits: false;
580
+ initial-value: 1;
581
+ }
582
+
583
+ @property --tw-scale-y {
584
+ syntax: "*";
585
+ inherits: false;
586
+ initial-value: 1;
587
+ }
588
+
589
+ @property --tw-scale-z {
590
+ syntax: "*";
591
+ inherits: false;
592
+ initial-value: 1;
593
+ }
594
+
595
+ @property --tw-border-style {
596
+ syntax: "*";
597
+ inherits: false;
598
+ initial-value: solid;
599
+ }
600
+
601
+ @property --tw-leading {
602
+ syntax: "*";
603
+ inherits: false
604
+ }
605
+
606
+ @property --tw-shadow {
607
+ syntax: "*";
608
+ inherits: false;
609
+ initial-value: 0 0 #0000;
610
+ }
611
+
612
+ @property --tw-shadow-color {
613
+ syntax: "*";
614
+ inherits: false
615
+ }
616
+
617
+ @property --tw-shadow-alpha {
618
+ syntax: "<percentage>";
619
+ inherits: false;
620
+ initial-value: 100%;
621
+ }
622
+
623
+ @property --tw-inset-shadow {
624
+ syntax: "*";
625
+ inherits: false;
626
+ initial-value: 0 0 #0000;
627
+ }
628
+
629
+ @property --tw-inset-shadow-color {
630
+ syntax: "*";
631
+ inherits: false
632
+ }
633
+
634
+ @property --tw-inset-shadow-alpha {
635
+ syntax: "<percentage>";
636
+ inherits: false;
637
+ initial-value: 100%;
638
+ }
639
+
640
+ @property --tw-ring-color {
641
+ syntax: "*";
642
+ inherits: false
643
+ }
644
+
645
+ @property --tw-ring-shadow {
646
+ syntax: "*";
647
+ inherits: false;
648
+ initial-value: 0 0 #0000;
649
+ }
650
+
651
+ @property --tw-inset-ring-color {
652
+ syntax: "*";
653
+ inherits: false
654
+ }
655
+
656
+ @property --tw-inset-ring-shadow {
657
+ syntax: "*";
658
+ inherits: false;
659
+ initial-value: 0 0 #0000;
660
+ }
661
+
662
+ @property --tw-ring-inset {
663
+ syntax: "*";
664
+ inherits: false
665
+ }
666
+
667
+ @property --tw-ring-offset-width {
668
+ syntax: "<length>";
669
+ inherits: false;
670
+ initial-value: 0;
671
+ }
672
+
673
+ @property --tw-ring-offset-color {
674
+ syntax: "*";
675
+ inherits: false;
676
+ initial-value: #fff;
677
+ }
678
+
679
+ @property --tw-ring-offset-shadow {
680
+ syntax: "*";
681
+ inherits: false;
682
+ initial-value: 0 0 #0000;
683
+ }
684
+
685
+ @property --tw-duration {
686
+ syntax: "*";
687
+ inherits: false
688
+ }
@@ -1,7 +1,7 @@
1
1
  import { default as React } from 'react';
2
2
  /** A single message entry managed by {@link Chat}. */
3
3
  export interface GroupedMessage {
4
- /** Unique React key auto-generated by `<Chat>` when omitted. */
4
+ /** Unique React key - auto-generated by `<Chat>` when omitted. */
5
5
  id?: React.Key;
6
6
  /** Identifies the sender; `'me'` denotes the local user. */
7
7
  senderId: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "whatsapp-ui-react",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "React component library with a WhatsApp Web-inspired UI.",
5
5
  "keywords": [
6
6
  "react",
@@ -20,7 +20,9 @@
20
20
  },
21
21
  "license": "Apache-2.0",
22
22
  "type": "module",
23
- "sideEffects": false,
23
+ "sideEffects": [
24
+ "**/*.css"
25
+ ],
24
26
  "main": "./dist/index.cjs",
25
27
  "module": "./dist/index.js",
26
28
  "types": "./dist/index.d.ts",
@@ -30,10 +32,12 @@
30
32
  "import": "./dist/index.js",
31
33
  "require": "./dist/index.cjs"
32
34
  },
33
- "./styles": "./dist/tailwind.css"
35
+ "./style.css": "./dist/style.css",
36
+ "./css/*": "./src/css/*"
34
37
  },
35
38
  "files": [
36
- "dist"
39
+ "dist",
40
+ "src/css"
37
41
  ],
38
42
  "engines": {
39
43
  "node": ">=18"
@@ -41,7 +45,6 @@
41
45
  "scripts": {
42
46
  "dev": "vite --config vite.dev.config.ts",
43
47
  "build": "tsc --noEmit && vite build",
44
- "postbuild": "tailwindcss -i ./src/tailwind.css -o ./dist/tailwind.css --minify",
45
48
  "build:preview": "vite build --config vite.dev.config.ts",
46
49
  "typecheck": "tsc --noEmit",
47
50
  "lint": "eslint src",