@ermis-network/ermis-chat-react 1.0.6 → 1.0.7

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.
Files changed (43) hide show
  1. package/dist/index.cjs +2410 -1308
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.css +471 -16
  4. package/dist/index.css.map +1 -1
  5. package/dist/index.d.mts +145 -1
  6. package/dist/index.d.ts +145 -1
  7. package/dist/index.mjs +2339 -1241
  8. package/dist/index.mjs.map +1 -1
  9. package/package.json +2 -2
  10. package/src/components/BannedOverlay.tsx +40 -0
  11. package/src/components/ChannelActions.tsx +231 -0
  12. package/src/components/ChannelHeader.tsx +38 -2
  13. package/src/components/ChannelInfo/ChannelInfo.tsx +118 -20
  14. package/src/components/ChannelInfo/ChannelInfoTabs.tsx +10 -2
  15. package/src/components/ChannelInfo/ChannelSettingsPanel.tsx +88 -1
  16. package/src/components/ChannelInfo/EditChannelModal.tsx +4 -4
  17. package/src/components/ChannelList.tsx +460 -38
  18. package/src/components/ClosedTopicOverlay.tsx +38 -0
  19. package/src/components/MessageInput.tsx +19 -2
  20. package/src/components/MessageItem.tsx +8 -11
  21. package/src/components/MessageQuickReactions.tsx +3 -2
  22. package/src/components/MessageReactions.tsx +8 -3
  23. package/src/components/MessageRenderers.tsx +7 -9
  24. package/src/components/PendingOverlay.tsx +41 -0
  25. package/src/components/TopicModal.tsx +189 -0
  26. package/src/components/VirtualMessageList.tsx +74 -43
  27. package/src/hooks/useBannedState.ts +27 -3
  28. package/src/hooks/useChannelCapabilities.ts +7 -3
  29. package/src/hooks/useChannelData.ts +1 -1
  30. package/src/hooks/useChannelListUpdates.ts +24 -3
  31. package/src/hooks/useChannelRowUpdates.ts +6 -0
  32. package/src/hooks/useMessageActions.ts +1 -1
  33. package/src/index.ts +6 -1
  34. package/src/styles/_channel-info.css +21 -0
  35. package/src/styles/_channel-list.css +217 -6
  36. package/src/styles/_message-bubble.css +75 -9
  37. package/src/styles/_message-input.css +24 -0
  38. package/src/styles/_message-list.css +51 -6
  39. package/src/styles/_message-quick-reactions.css +5 -0
  40. package/src/styles/_message-reactions.css +7 -0
  41. package/src/styles/_topic-modal.css +154 -0
  42. package/src/styles/index.css +1 -0
  43. package/src/types.ts +157 -3
package/dist/index.css CHANGED
@@ -375,6 +375,27 @@
375
375
  overflow: hidden;
376
376
  text-overflow: ellipsis;
377
377
  }
378
+ .ermis-channel-header__team-name {
379
+ font-size: var(--ermis-font-size-xs);
380
+ color: var(--ermis-text-secondary);
381
+ margin-bottom: 2px;
382
+ font-weight: 500;
383
+ white-space: nowrap;
384
+ overflow: hidden;
385
+ text-overflow: ellipsis;
386
+ }
387
+ .ermis-channel-header__topic-avatar {
388
+ width: 32px;
389
+ height: 32px;
390
+ min-width: 32px;
391
+ border-radius: var(--ermis-radius-md);
392
+ background-color: var(--ermis-bg-primary);
393
+ display: flex;
394
+ align-items: center;
395
+ justify-content: center;
396
+ font-size: 16px;
397
+ color: var(--ermis-text-secondary);
398
+ }
378
399
  .ermis-channel-header__subtitle {
379
400
  font-size: var(--ermis-font-size-xs);
380
401
  color: var(--ermis-text-muted);
@@ -419,6 +440,7 @@
419
440
  cursor: pointer;
420
441
  border-left: 2px solid transparent;
421
442
  transition: background-color var(--ermis-transition), border-color var(--ermis-transition);
443
+ position: relative;
422
444
  }
423
445
  .ermis-channel-list__item:hover {
424
446
  background-color: var(--ermis-bg-hover);
@@ -433,6 +455,19 @@
433
455
  min-width: 0;
434
456
  flex: 1;
435
457
  }
458
+ .ermis-channel-list__item-top-row {
459
+ display: flex;
460
+ align-items: baseline;
461
+ justify-content: space-between;
462
+ gap: var(--ermis-spacing-sm);
463
+ }
464
+ .ermis-channel-list__item-bottom-row {
465
+ display: flex;
466
+ align-items: center;
467
+ justify-content: space-between;
468
+ gap: var(--ermis-spacing-sm);
469
+ margin-top: 2px;
470
+ }
436
471
  .ermis-channel-list__item-name {
437
472
  font-size: var(--ermis-font-size-sm);
438
473
  font-weight: 500;
@@ -440,6 +475,14 @@
440
475
  white-space: nowrap;
441
476
  overflow: hidden;
442
477
  text-overflow: ellipsis;
478
+ flex: 1;
479
+ }
480
+ .ermis-channel-list__item-timestamp {
481
+ font-size: var(--ermis-font-size-xs);
482
+ color: var(--ermis-text-muted);
483
+ white-space: nowrap;
484
+ flex-shrink: 0;
485
+ margin-top: 2px;
443
486
  }
444
487
  .ermis-channel-list__item-last-message {
445
488
  font-size: var(--ermis-font-size-xs);
@@ -447,11 +490,82 @@
447
490
  white-space: nowrap;
448
491
  overflow: hidden;
449
492
  text-overflow: ellipsis;
450
- margin-top: 2px;
493
+ flex: 1;
494
+ }
495
+ .ermis-channel-list__item-closed-indicator {
496
+ display: flex;
497
+ align-items: center;
498
+ gap: 6px;
499
+ font-size: var(--ermis-font-size-xs);
500
+ color: var(--ermis-text-secondary);
501
+ font-weight: 500;
502
+ white-space: nowrap;
503
+ overflow: hidden;
504
+ text-overflow: ellipsis;
505
+ flex: 1;
506
+ }
507
+ .ermis-channel-list__closed-icon {
508
+ display: inline-flex;
509
+ align-items: center;
510
+ justify-content: center;
511
+ flex-shrink: 0;
512
+ color: var(--ermis-color-danger);
513
+ }
514
+ .ermis-channel-list__pinned-icon {
515
+ position: absolute;
516
+ top: -5px;
517
+ right: 0px;
518
+ color: var(--ermis-color-danger, #ef4444);
519
+ display: inline-flex;
520
+ align-items: center;
521
+ justify-content: center;
522
+ transform: rotate(45deg);
523
+ }
524
+ .ermis-channel-list__item-badges {
525
+ display: flex;
526
+ align-items: center;
527
+ gap: 4px;
528
+ flex-shrink: 0;
451
529
  }
452
530
  .ermis-channel-list__item-last-message-user {
453
531
  color: var(--ermis-text-secondary);
454
532
  }
533
+ .ermis-channel-list__item-actions-wrapper,
534
+ .ermis-channel-list__topic-actions-wrapper {
535
+ position: absolute;
536
+ right: var(--ermis-spacing-sm);
537
+ top: 50%;
538
+ transform: translateY(-50%);
539
+ opacity: 0;
540
+ transition: opacity var(--ermis-transition);
541
+ display: flex;
542
+ align-items: center;
543
+ z-index: 1;
544
+ }
545
+ .ermis-channel-list__item:hover .ermis-channel-list__item-actions-wrapper,
546
+ .ermis-channel-list__topic-header:hover .ermis-channel-list__topic-actions-wrapper,
547
+ .ermis-channel-list__item-actions-wrapper:has(.ermis-channel-list__actions-trigger--active),
548
+ .ermis-channel-list__topic-actions-wrapper:has(.ermis-channel-list__actions-trigger--active) {
549
+ opacity: 1;
550
+ }
551
+ .ermis-channel-list__actions-trigger {
552
+ display: flex;
553
+ align-items: center;
554
+ justify-content: center;
555
+ width: 24px;
556
+ height: 24px;
557
+ border-radius: var(--ermis-radius-sm);
558
+ background-color: var(--ermis-bg-primary);
559
+ color: var(--ermis-text-muted);
560
+ border: none;
561
+ cursor: pointer;
562
+ transition: all var(--ermis-transition);
563
+ }
564
+ .ermis-channel-list__actions-trigger:hover,
565
+ .ermis-channel-list__actions-trigger--active {
566
+ background-color: var(--ermis-bg-primary);
567
+ color: var(--ermis-accent);
568
+ }
455
569
  .ermis-channel-list__item--unread .ermis-channel-list__item-name {
456
570
  font-weight: 700;
457
571
  color: var(--ermis-text-primary);
@@ -475,9 +589,6 @@
475
589
  line-height: 1;
476
590
  flex-shrink: 0;
477
591
  }
478
- .ermis-channel-list__item--blocked {
479
- opacity: 0.5;
480
- }
481
592
  .ermis-channel-list__blocked-icon {
482
593
  display: inline-flex;
483
594
  align-items: center;
@@ -532,6 +643,81 @@
532
643
  .ermis-channel-list__accordion-icon--expanded {
533
644
  transform: rotate(0deg);
534
645
  }
646
+ .ermis-channel-list__topic-group {
647
+ display: flex;
648
+ flex-direction: column;
649
+ }
650
+ .ermis-channel-list__topic-header {
651
+ display: flex;
652
+ align-items: center;
653
+ gap: var(--ermis-spacing-md);
654
+ padding: var(--ermis-spacing-md) var(--ermis-spacing-lg);
655
+ cursor: pointer;
656
+ border-left: 2px solid transparent;
657
+ transition: background-color var(--ermis-transition);
658
+ position: relative;
659
+ }
660
+ .ermis-channel-list__topic-header:hover {
661
+ background-color: var(--ermis-bg-hover);
662
+ }
663
+ .ermis-channel-list__topic-header-name {
664
+ font-size: var(--ermis-font-size-sm);
665
+ font-weight: 600;
666
+ color: var(--ermis-text-primary);
667
+ white-space: nowrap;
668
+ overflow: hidden;
669
+ text-overflow: ellipsis;
670
+ flex: 1;
671
+ }
672
+ .ermis-channel-list__add-topic-btn {
673
+ display: flex;
674
+ align-items: center;
675
+ justify-content: center;
676
+ width: 24px;
677
+ height: 24px;
678
+ border-radius: var(--ermis-radius-sm);
679
+ background-color: transparent;
680
+ color: var(--ermis-text-muted);
681
+ border: none;
682
+ cursor: pointer;
683
+ transition: all var(--ermis-transition);
684
+ }
685
+ .ermis-channel-list__add-topic-btn:hover {
686
+ background-color: var(--ermis-bg-primary);
687
+ color: var(--ermis-accent);
688
+ }
689
+ .ermis-channel-list__topic-header--expanded .ermis-channel-list__accordion-icon {
690
+ transform: rotate(0deg);
691
+ }
692
+ .ermis-channel-list__topic-sublist {
693
+ display: flex;
694
+ flex-direction: column;
695
+ background-color: var(--ermis-bg-secondary);
696
+ }
697
+ .ermis-channel-list__topic-sublist .ermis-channel-list__item {
698
+ padding-left: var(--ermis-spacing-md);
699
+ margin-left: 20px;
700
+ border-left: 2px solid var(--ermis-border);
701
+ }
702
+ .ermis-channel-list__topic-sublist .ermis-channel-list__item:hover {
703
+ border-left-color: var(--ermis-border-hover);
704
+ }
705
+ .ermis-channel-list__topic-sublist .ermis-channel-list__item--active {
706
+ border-left-color: var(--ermis-accent);
707
+ }
708
+ .ermis-channel-list__topic-hashtag {
709
+ display: flex;
710
+ align-items: center;
711
+ justify-content: center;
712
+ width: 24px;
713
+ height: 24px;
714
+ background-color: transparent;
715
+ color: var(--ermis-text-muted);
716
+ border-radius: var(--ermis-radius-full);
717
+ font-size: 0.95rem;
718
+ font-weight: 600;
719
+ flex-shrink: 0;
720
+ }
535
721
 
536
722
  /* src/styles/_message-list.css */
537
723
  .ermis-channel {
@@ -751,11 +937,49 @@
751
937
  font-size: var(--ermis-font-size-sm);
752
938
  color: var(--ermis-text-muted);
753
939
  }
754
- .ermis-message-list--blocked .ermis-message-actions {
755
- display: none;
940
+ .ermis-message-list__closed-overlay {
941
+ display: flex;
942
+ flex-direction: column;
943
+ align-items: center;
944
+ justify-content: center;
945
+ min-height: calc(100dvh - 8rem);
946
+ gap: var(--ermis-spacing-md);
947
+ user-select: none;
756
948
  }
757
- .ermis-message-list--blocked .ermis-message-reactions__add-btn {
758
- display: none;
949
+ .ermis-message-list__closed-overlay-icon {
950
+ color: var(--ermis-color-danger);
951
+ opacity: 0.8;
952
+ }
953
+ .ermis-message-list__closed-overlay-title {
954
+ font-size: var(--ermis-font-size-base);
955
+ font-weight: 600;
956
+ color: var(--ermis-text-primary);
957
+ }
958
+ .ermis-message-list__closed-overlay-subtitle {
959
+ font-size: var(--ermis-font-size-sm);
960
+ color: var(--ermis-text-muted);
961
+ text-align: center;
962
+ max-width: 80%;
963
+ }
964
+ .ermis-message-list__reopen-btn {
965
+ margin-top: var(--ermis-spacing-md);
966
+ padding: var(--ermis-spacing-sm) var(--ermis-spacing-xl, 24px);
967
+ border: none;
968
+ border-radius: var(--ermis-radius-md, 8px);
969
+ background-color: var(--ermis-accent);
970
+ color: #fff;
971
+ font-size: var(--ermis-font-size-sm);
972
+ font-weight: 600;
973
+ font-family: var(--ermis-font-family);
974
+ cursor: pointer;
975
+ transition: background-color var(--ermis-transition), transform var(--ermis-transition);
976
+ }
977
+ .ermis-message-list__reopen-btn:hover {
978
+ background-color: var(--ermis-accent-hover);
979
+ transform: translateY(-1px);
980
+ }
981
+ .ermis-message-list__reopen-btn:active {
982
+ transform: translateY(0);
759
983
  }
760
984
  .ermis-message-list__unblock-btn {
761
985
  margin-top: var(--ermis-spacing-md);
@@ -1024,7 +1248,6 @@
1024
1248
  align-items: flex-end;
1025
1249
  padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);
1026
1250
  border-radius: var(--ermis-radius-lg);
1027
- width: 100%;
1028
1251
  word-break: break-word;
1029
1252
  }
1030
1253
  .ermis-message-bubble--own {
@@ -1128,6 +1351,9 @@
1128
1351
  .ermis-message-list__item-content--has-attachments {
1129
1352
  width: 350px;
1130
1353
  }
1354
+ .ermis-message-list__item-content--has-attachments .ermis-message-bubble {
1355
+ width: 100%;
1356
+ }
1131
1357
  .ermis-message-content--with-attachments {
1132
1358
  display: flex;
1133
1359
  flex-direction: column;
@@ -1162,10 +1388,16 @@
1162
1388
  height: 100%;
1163
1389
  max-width: none;
1164
1390
  max-height: 200px;
1165
- object-fit: cover;
1166
1391
  border-radius: 0;
1167
1392
  display: block;
1168
1393
  }
1394
+ .ermis-attachment-grid .ermis-attachment--image {
1395
+ object-fit: cover;
1396
+ }
1397
+ .ermis-attachment-grid .ermis-attachment--video {
1398
+ object-fit: contain;
1399
+ background-color: var(--ermis-bg-hover);
1400
+ }
1169
1401
  .ermis-attachment-grid--single .ermis-attachment--image,
1170
1402
  .ermis-attachment-grid--single .ermis-attachment--video {
1171
1403
  max-height: 300px;
@@ -1182,6 +1414,9 @@
1182
1414
  min-height: 120px;
1183
1415
  background-color: var(--ermis-bg-hover);
1184
1416
  }
1417
+ .ermis-attachment-aspect-box--4-3 {
1418
+ padding-bottom: 75%;
1419
+ }
1185
1420
  .ermis-attachment-blur-preview {
1186
1421
  position: absolute;
1187
1422
  top: 0;
@@ -1217,13 +1452,16 @@
1217
1452
  background-position: -200% 0;
1218
1453
  }
1219
1454
  }
1220
- .ermis-attachment-aspect-box .ermis-attachment--image {
1455
+ .ermis-attachment--hidden-loader {
1456
+ display: none;
1457
+ }
1458
+ .ermis-attachment-aspect-box .ermis-attachment--image,
1459
+ .ermis-attachment-aspect-box .ermis-attachment--video {
1221
1460
  position: absolute;
1222
1461
  top: 0;
1223
1462
  left: 0;
1224
1463
  width: 100%;
1225
1464
  height: 100%;
1226
- object-fit: cover;
1227
1465
  opacity: 0;
1228
1466
  transition: opacity 0.3s ease;
1229
1467
  z-index: 2;
@@ -1231,7 +1469,15 @@
1231
1469
  max-height: none;
1232
1470
  border-radius: 0;
1233
1471
  }
1234
- .ermis-attachment-aspect-box .ermis-attachment--image.ermis-attachment--loaded {
1472
+ .ermis-attachment-aspect-box .ermis-attachment--image {
1473
+ object-fit: cover;
1474
+ }
1475
+ .ermis-attachment-aspect-box .ermis-attachment--video {
1476
+ object-fit: contain;
1477
+ background-color: var(--ermis-bg-hover);
1478
+ }
1479
+ .ermis-attachment-aspect-box .ermis-attachment--image.ermis-attachment--loaded,
1480
+ .ermis-attachment-aspect-box .ermis-attachment--video.ermis-attachment--loaded {
1235
1481
  opacity: 1;
1236
1482
  }
1237
1483
  .ermis-attachment-grid .ermis-attachment-aspect-box {
@@ -1250,6 +1496,7 @@
1250
1496
  max-width: 300px;
1251
1497
  max-height: 200px;
1252
1498
  border-radius: var(--ermis-radius-md);
1499
+ object-fit: contain;
1253
1500
  }
1254
1501
  .ermis-attachment--file {
1255
1502
  display: flex;
@@ -1325,10 +1572,26 @@
1325
1572
  .ermis-attachment--link-preview:hover {
1326
1573
  border-color: var(--ermis-accent);
1327
1574
  }
1575
+ .ermis-attachment__link-image-wrapper {
1576
+ position: relative;
1577
+ width: 100%;
1578
+ min-height: 120px;
1579
+ background-color: var(--ermis-bg-hover);
1580
+ overflow: hidden;
1581
+ }
1328
1582
  .ermis-attachment__link-image {
1583
+ display: block;
1329
1584
  width: 100%;
1330
- max-height: 160px;
1585
+ height: 100%;
1331
1586
  object-fit: cover;
1587
+ position: absolute;
1588
+ top: 0;
1589
+ left: 0;
1590
+ opacity: 0;
1591
+ transition: opacity 0.3s ease;
1592
+ }
1593
+ .ermis-attachment__link-image.ermis-attachment--loaded {
1594
+ opacity: 1;
1332
1595
  }
1333
1596
  .ermis-attachment__link-info {
1334
1597
  display: flex;
@@ -1370,9 +1633,24 @@
1370
1633
  .ermis-message-poll__text {
1371
1634
  font-size: var(--ermis-font-size-sm);
1372
1635
  }
1636
+ .ermis-message-sticker-wrapper {
1637
+ position: relative;
1638
+ width: 120px;
1639
+ height: 120px;
1640
+ overflow: hidden;
1641
+ }
1373
1642
  .ermis-message-sticker {
1374
- max-width: 120px;
1375
- max-height: 120px;
1643
+ position: absolute;
1644
+ top: 0;
1645
+ left: 0;
1646
+ width: 100%;
1647
+ height: 100%;
1648
+ object-fit: contain;
1649
+ opacity: 0;
1650
+ transition: opacity 0.3s ease;
1651
+ }
1652
+ .ermis-message-sticker.ermis-attachment--loaded {
1653
+ opacity: 1;
1376
1654
  }
1377
1655
  .ermis-message-error {
1378
1656
  font-size: var(--ermis-font-size-sm);
@@ -1785,6 +2063,24 @@
1785
2063
  .ermis-message-input__blocked-banner svg {
1786
2064
  flex-shrink: 0;
1787
2065
  }
2066
+ .ermis-message-input--closed {
2067
+ pointer-events: none;
2068
+ }
2069
+ .ermis-message-input__closed-banner {
2070
+ display: flex;
2071
+ align-items: center;
2072
+ justify-content: center;
2073
+ gap: var(--ermis-spacing-sm);
2074
+ padding: var(--ermis-spacing-md) var(--ermis-spacing-lg);
2075
+ color: var(--ermis-color-danger);
2076
+ font-size: var(--ermis-font-size-sm);
2077
+ font-weight: 500;
2078
+ user-select: none;
2079
+ opacity: 0.8;
2080
+ }
2081
+ .ermis-message-input__closed-banner svg {
2082
+ flex-shrink: 0;
2083
+ }
1788
2084
  .ermis-message-input__keyword-banner {
1789
2085
  padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);
1790
2086
  background-color: var(--ermis-bg-hover);
@@ -2296,6 +2592,12 @@
2296
2592
  flex-wrap: wrap;
2297
2593
  gap: 4px;
2298
2594
  margin-bottom: 2px;
2595
+ margin-top: 2px;
2596
+ width: 100%;
2597
+ }
2598
+ .ermis-message-reactions--disabled {
2599
+ opacity: 0.8;
2600
+ pointer-events: none;
2299
2601
  }
2300
2602
  .ermis-message-reactions__item {
2301
2603
  position: relative;
@@ -2381,6 +2683,10 @@
2381
2683
  pointer-events: auto;
2382
2684
  transform: translateY(0);
2383
2685
  }
2686
+ .ermis-message-list__bubble-wrapper:hover .ermis-message-quick-reactions--disabled {
2687
+ opacity: 0.5;
2688
+ pointer-events: none;
2689
+ }
2384
2690
  .ermis-message-quick-reactions__btn {
2385
2691
  display: flex;
2386
2692
  align-items: center;
@@ -2470,6 +2776,25 @@
2470
2776
  .ermis-channel-info__name-row .ermis-channel-info__name {
2471
2777
  margin: 0;
2472
2778
  }
2779
+ .ermis-channel-info__parent-name {
2780
+ font-size: 13px;
2781
+ color: var(--ermis-accent);
2782
+ margin-top: -4px;
2783
+ margin-bottom: 8px;
2784
+ font-weight: 500;
2785
+ }
2786
+ .ermis-channel-info__topic-emoji-avatar {
2787
+ font-size: 48px;
2788
+ line-height: 80px;
2789
+ width: 80px;
2790
+ height: 80px;
2791
+ display: flex;
2792
+ align-items: center;
2793
+ justify-content: center;
2794
+ background: var(--ermis-bg-secondary);
2795
+ border-radius: 50%;
2796
+ margin-bottom: 16px;
2797
+ }
2473
2798
  .ermis-channel-info__cover-edit-btn {
2474
2799
  background: transparent;
2475
2800
  border: none;
@@ -4468,5 +4793,135 @@
4468
4793
  }
4469
4794
  }
4470
4795
 
4796
+ /* src/styles/_topic-modal.css */
4797
+ .ermis-create-topic__body {
4798
+ display: flex;
4799
+ flex-direction: column;
4800
+ gap: var(--ermis-spacing-lg);
4801
+ padding: 0 var(--ermis-spacing-xs);
4802
+ }
4803
+ .ermis-create-topic__field {
4804
+ display: flex;
4805
+ flex-direction: column;
4806
+ gap: var(--ermis-spacing-xs);
4807
+ }
4808
+ .ermis-create-topic__label {
4809
+ font-size: var(--ermis-font-size-sm);
4810
+ font-weight: 500;
4811
+ color: var(--ermis-text-primary);
4812
+ }
4813
+ .ermis-create-topic__required {
4814
+ color: var(--ermis-error);
4815
+ }
4816
+ .ermis-create-topic__input {
4817
+ padding: var(--ermis-spacing-sm) var(--ermis-spacing-md);
4818
+ border: 1px solid var(--ermis-border);
4819
+ border-radius: var(--ermis-radius-md);
4820
+ font-size: var(--ermis-font-size-base);
4821
+ color: var(--ermis-text-primary);
4822
+ background-color: var(--ermis-bg-primary);
4823
+ transition: border-color var(--ermis-transition);
4824
+ }
4825
+ .ermis-create-topic__input:focus {
4826
+ outline: none;
4827
+ border-color: var(--ermis-accent);
4828
+ }
4829
+ .ermis-create-topic__live-preview {
4830
+ display: flex;
4831
+ align-items: center;
4832
+ gap: var(--ermis-spacing-sm);
4833
+ padding: var(--ermis-spacing-md);
4834
+ background-color: var(--ermis-bg-secondary);
4835
+ border-radius: var(--ermis-radius-md);
4836
+ border: 1px dashed var(--ermis-border);
4837
+ }
4838
+ .ermis-create-topic__live-preview-emoji {
4839
+ font-size: 20px;
4840
+ }
4841
+ .ermis-create-topic__live-preview-name {
4842
+ font-size: var(--ermis-font-size-base);
4843
+ font-weight: 600;
4844
+ color: var(--ermis-text-primary);
4845
+ white-space: nowrap;
4846
+ overflow: hidden;
4847
+ text-overflow: ellipsis;
4848
+ }
4849
+ .ermis-create-topic__emoji-picker {
4850
+ margin-top: var(--ermis-spacing-sm);
4851
+ }
4852
+ .ermis-create-topic__default-icons {
4853
+ display: grid;
4854
+ grid-template-columns: repeat(4, 1fr);
4855
+ gap: var(--ermis-spacing-sm);
4856
+ }
4857
+ .ermis-create-topic__default-icon {
4858
+ width: 100%;
4859
+ height: 40px;
4860
+ display: flex;
4861
+ align-items: center;
4862
+ justify-content: center;
4863
+ font-size: 20px;
4864
+ background-color: var(--ermis-bg-secondary);
4865
+ border: 1px solid var(--ermis-border);
4866
+ border-radius: var(--ermis-radius-md);
4867
+ cursor: pointer;
4868
+ transition: all var(--ermis-transition);
4869
+ }
4870
+ .ermis-create-topic__default-icon:hover:not(:disabled) {
4871
+ background-color: var(--ermis-bg-hover);
4872
+ border-color: var(--ermis-border-hover);
4873
+ }
4874
+ .ermis-create-topic__default-icon--active {
4875
+ border-color: var(--ermis-accent);
4876
+ background-color: var(--ermis-bg-primary);
4877
+ }
4878
+ .ermis-create-topic__default-icon:disabled {
4879
+ opacity: 0.5;
4880
+ cursor: not-allowed;
4881
+ }
4882
+ .ermis-create-topic__error {
4883
+ display: flex;
4884
+ align-items: center;
4885
+ gap: var(--ermis-spacing-sm);
4886
+ padding: var(--ermis-spacing-sm);
4887
+ border-radius: var(--ermis-radius-md);
4888
+ background-color: rgba(239, 68, 68, 0.1);
4889
+ color: var(--ermis-error);
4890
+ font-size: var(--ermis-font-size-sm);
4891
+ }
4892
+ .ermis-create-topic__footer {
4893
+ display: flex;
4894
+ justify-content: flex-end;
4895
+ gap: var(--ermis-spacing-sm);
4896
+ margin-top: var(--ermis-spacing-lg);
4897
+ }
4898
+ .ermis-create-topic__btn {
4899
+ padding: var(--ermis-spacing-sm) var(--ermis-spacing-lg);
4900
+ border-radius: var(--ermis-radius-md);
4901
+ font-size: var(--ermis-font-size-sm);
4902
+ font-weight: 500;
4903
+ cursor: pointer;
4904
+ transition: all var(--ermis-transition);
4905
+ border: none;
4906
+ }
4907
+ .ermis-create-topic__btn:disabled {
4908
+ opacity: 0.5;
4909
+ cursor: not-allowed;
4910
+ }
4911
+ .ermis-create-topic__btn--cancel {
4912
+ background-color: transparent;
4913
+ color: var(--ermis-text-primary);
4914
+ }
4915
+ .ermis-create-topic__btn--cancel:hover:not(:disabled) {
4916
+ background-color: var(--ermis-bg-hover);
4917
+ }
4918
+ .ermis-create-topic__btn--create {
4919
+ background-color: var(--ermis-accent);
4920
+ color: white;
4921
+ }
4922
+ .ermis-create-topic__btn--create:hover:not(:disabled) {
4923
+ background-color: var(--ermis-accent-hover);
4924
+ }
4925
+
4471
4926
  /* src/styles/index.css */
4472
4927
  /*# sourceMappingURL=index.css.map */