@ermis-network/ermis-chat-react 1.0.1 → 1.0.2

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/index.css CHANGED
@@ -3371,5 +3371,387 @@
3371
3371
  text-align: center;
3372
3372
  }
3373
3373
 
3374
+ /* src/styles/_user-picker.css */
3375
+ .ermis-user-picker {
3376
+ display: flex;
3377
+ flex-direction: column;
3378
+ gap: var(--ermis-spacing-md, 0.75rem);
3379
+ }
3380
+ .ermis-user-picker__selected-box {
3381
+ display: flex;
3382
+ flex-wrap: wrap;
3383
+ gap: var(--ermis-spacing-xs, 0.25rem);
3384
+ padding: var(--ermis-spacing-sm, 0.5rem);
3385
+ border-radius: var(--ermis-radius-md, 0.5rem);
3386
+ background-color: var(--ermis-bg-secondary, #111118);
3387
+ border: 1px solid var(--ermis-border, rgba(255, 255, 255, 0.08));
3388
+ min-height: 40px;
3389
+ max-height: 120px;
3390
+ overflow-y: auto;
3391
+ }
3392
+ .ermis-user-picker__selected-box:empty {
3393
+ display: none;
3394
+ }
3395
+ .ermis-user-picker__selected-box::-webkit-scrollbar {
3396
+ width: 4px;
3397
+ }
3398
+ .ermis-user-picker__selected-box::-webkit-scrollbar-track {
3399
+ background: transparent;
3400
+ }
3401
+ .ermis-user-picker__selected-box::-webkit-scrollbar-thumb {
3402
+ background: var(--ermis-border, rgba(255, 255, 255, 0.08));
3403
+ border-radius: var(--ermis-radius-full, 9999px);
3404
+ }
3405
+ .ermis-user-picker__chip {
3406
+ display: inline-flex;
3407
+ align-items: center;
3408
+ gap: var(--ermis-spacing-xs, 0.25rem);
3409
+ padding: 2px 8px 2px 2px;
3410
+ border-radius: var(--ermis-radius-full, 9999px);
3411
+ background-color: var(--ermis-bg-active, rgba(99, 102, 241, 0.12));
3412
+ color: var(--ermis-text-primary, #e5e7eb);
3413
+ font-size: var(--ermis-font-size-xs, 0.75rem);
3414
+ font-weight: 500;
3415
+ line-height: 1;
3416
+ white-space: nowrap;
3417
+ transition: background-color var(--ermis-transition, 150ms ease);
3418
+ animation: ermis-user-picker-chip-in 0.2s cubic-bezier(0.16, 1, 0.3, 1);
3419
+ }
3420
+ @keyframes ermis-user-picker-chip-in {
3421
+ from {
3422
+ opacity: 0;
3423
+ transform: scale(0.85);
3424
+ }
3425
+ to {
3426
+ opacity: 1;
3427
+ transform: scale(1);
3428
+ }
3429
+ }
3430
+ .ermis-user-picker__chip:hover {
3431
+ background-color: var(--ermis-accent, #6366f1);
3432
+ color: #ffffff;
3433
+ }
3434
+ .ermis-user-picker__chip-name {
3435
+ max-width: 100px;
3436
+ overflow: hidden;
3437
+ text-overflow: ellipsis;
3438
+ }
3439
+ .ermis-user-picker__chip-remove {
3440
+ display: inline-flex;
3441
+ align-items: center;
3442
+ justify-content: center;
3443
+ width: 16px;
3444
+ height: 16px;
3445
+ border: none;
3446
+ background: none;
3447
+ color: inherit;
3448
+ cursor: pointer;
3449
+ padding: 0;
3450
+ border-radius: var(--ermis-radius-full, 9999px);
3451
+ opacity: 0.7;
3452
+ transition: opacity var(--ermis-transition, 150ms ease);
3453
+ }
3454
+ .ermis-user-picker__chip-remove:hover {
3455
+ opacity: 1;
3456
+ }
3457
+ .ermis-user-picker__selected-empty {
3458
+ display: flex;
3459
+ align-items: center;
3460
+ justify-content: center;
3461
+ width: 100%;
3462
+ color: var(--ermis-text-muted, #6b7280);
3463
+ font-size: var(--ermis-font-size-xs, 0.75rem);
3464
+ }
3465
+ .ermis-user-picker__search {
3466
+ position: relative;
3467
+ display: flex;
3468
+ align-items: center;
3469
+ }
3470
+ .ermis-user-picker__search svg {
3471
+ position: absolute;
3472
+ left: 12px;
3473
+ color: var(--ermis-text-muted, #6b7280);
3474
+ pointer-events: none;
3475
+ }
3476
+ .ermis-user-picker__search input {
3477
+ width: 100%;
3478
+ padding: 10px 12px 10px 38px;
3479
+ border-radius: var(--ermis-radius-md, 0.5rem);
3480
+ border: 1px solid var(--ermis-border, rgba(255, 255, 255, 0.08));
3481
+ background-color: var(--ermis-bg-secondary, #111118);
3482
+ color: var(--ermis-text-primary, #e5e7eb);
3483
+ font-size: var(--ermis-font-size-sm, 0.875rem);
3484
+ font-family: inherit;
3485
+ transition: border-color var(--ermis-transition, 150ms ease), box-shadow var(--ermis-transition, 150ms ease);
3486
+ outline: none;
3487
+ }
3488
+ .ermis-user-picker__search input::placeholder {
3489
+ color: var(--ermis-text-muted, #6b7280);
3490
+ }
3491
+ .ermis-user-picker__search input:focus {
3492
+ border-color: var(--ermis-accent, #6366f1);
3493
+ box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2);
3494
+ }
3495
+ .ermis-user-picker__list {
3496
+ overflow: hidden;
3497
+ height: 360px;
3498
+ border-radius: var(--ermis-radius-md, 0.5rem);
3499
+ }
3500
+ .ermis-user-picker__item {
3501
+ display: flex;
3502
+ align-items: center;
3503
+ gap: var(--ermis-spacing-md, 0.75rem);
3504
+ padding: 8px 12px;
3505
+ border-radius: var(--ermis-radius-md, 0.5rem);
3506
+ cursor: pointer;
3507
+ transition: background-color var(--ermis-transition, 150ms ease);
3508
+ user-select: none;
3509
+ }
3510
+ .ermis-user-picker__item:hover {
3511
+ background-color: var(--ermis-bg-hover, rgba(255, 255, 255, 0.04));
3512
+ }
3513
+ .ermis-user-picker__item--selected {
3514
+ background-color: var(--ermis-bg-active, rgba(99, 102, 241, 0.12));
3515
+ }
3516
+ .ermis-user-picker__item--selected:hover {
3517
+ background-color: var(--ermis-bg-active, rgba(99, 102, 241, 0.12));
3518
+ }
3519
+ .ermis-user-picker__item--disabled {
3520
+ opacity: 0.45;
3521
+ cursor: not-allowed;
3522
+ pointer-events: none;
3523
+ }
3524
+ .ermis-user-picker__input {
3525
+ position: relative;
3526
+ width: 18px;
3527
+ height: 18px;
3528
+ min-width: 18px;
3529
+ border: 2px solid var(--ermis-border, rgba(255, 255, 255, 0.08));
3530
+ background: transparent;
3531
+ transition: all var(--ermis-transition, 150ms ease);
3532
+ display: flex;
3533
+ align-items: center;
3534
+ justify-content: center;
3535
+ flex-shrink: 0;
3536
+ }
3537
+ .ermis-user-picker__input--radio {
3538
+ border-radius: var(--ermis-radius-full, 9999px);
3539
+ }
3540
+ .ermis-user-picker__input--checkbox {
3541
+ border-radius: var(--ermis-radius-sm, 0.375rem);
3542
+ }
3543
+ .ermis-user-picker__input--checked {
3544
+ background-color: var(--ermis-accent, #6366f1);
3545
+ border-color: var(--ermis-accent, #6366f1);
3546
+ }
3547
+ .ermis-user-picker__input--checked svg {
3548
+ color: #ffffff;
3549
+ }
3550
+ .ermis-user-picker__info {
3551
+ flex: 1;
3552
+ min-width: 0;
3553
+ display: flex;
3554
+ flex-direction: column;
3555
+ gap: 2px;
3556
+ }
3557
+ .ermis-user-picker__name {
3558
+ font-size: var(--ermis-font-size-sm, 0.875rem);
3559
+ font-weight: 500;
3560
+ color: var(--ermis-text-primary, #e5e7eb);
3561
+ white-space: nowrap;
3562
+ overflow: hidden;
3563
+ text-overflow: ellipsis;
3564
+ }
3565
+ .ermis-user-picker__detail {
3566
+ font-size: var(--ermis-font-size-xs, 0.75rem);
3567
+ color: var(--ermis-text-muted, #6b7280);
3568
+ white-space: nowrap;
3569
+ overflow: hidden;
3570
+ text-overflow: ellipsis;
3571
+ }
3572
+ .ermis-user-picker__loading,
3573
+ .ermis-user-picker__empty {
3574
+ display: flex;
3575
+ align-items: center;
3576
+ justify-content: center;
3577
+ padding: 32px 0;
3578
+ color: var(--ermis-text-muted, #6b7280);
3579
+ font-size: var(--ermis-font-size-sm, 0.875rem);
3580
+ }
3581
+ .ermis-user-picker__load-more {
3582
+ display: flex;
3583
+ align-items: center;
3584
+ justify-content: center;
3585
+ padding: 12px 0;
3586
+ color: var(--ermis-text-muted, #6b7280);
3587
+ font-size: var(--ermis-font-size-xs, 0.75rem);
3588
+ }
3589
+ .ermis-user-picker__spinner {
3590
+ display: inline-block;
3591
+ width: 16px;
3592
+ height: 16px;
3593
+ border: 2px solid var(--ermis-border, rgba(255, 255, 255, 0.08));
3594
+ border-top-color: var(--ermis-accent, #6366f1);
3595
+ border-radius: var(--ermis-radius-full, 9999px);
3596
+ animation: ermis-user-picker-spin 0.6s linear infinite;
3597
+ margin-right: var(--ermis-spacing-sm, 0.5rem);
3598
+ }
3599
+ @keyframes ermis-user-picker-spin {
3600
+ to {
3601
+ transform: rotate(360deg);
3602
+ }
3603
+ }
3604
+
3605
+ /* src/styles/_create-channel-modal.css */
3606
+ .ermis-create-channel__body {
3607
+ display: flex;
3608
+ flex-direction: column;
3609
+ gap: var(--ermis-spacing-md, 0.75rem);
3610
+ padding: var(--ermis-spacing-md, 0.75rem);
3611
+ }
3612
+ .ermis-create-channel__tabs {
3613
+ display: flex;
3614
+ gap: 8px;
3615
+ background-color: var(--ermis-bg-secondary, #111118);
3616
+ padding: 4px;
3617
+ border-radius: var(--ermis-radius-md, 0.5rem);
3618
+ margin-bottom: var(--ermis-spacing-sm, 0.5rem);
3619
+ }
3620
+ .ermis-create-channel__tab {
3621
+ flex: 1;
3622
+ padding: 8px 12px;
3623
+ border-radius: var(--ermis-radius-sm, 0.375rem);
3624
+ text-align: center;
3625
+ font-size: var(--ermis-font-size-sm, 0.875rem);
3626
+ font-weight: 500;
3627
+ color: var(--ermis-text-muted, #6b7280);
3628
+ background: transparent;
3629
+ border: none;
3630
+ cursor: pointer;
3631
+ transition: all var(--ermis-transition, 150ms ease);
3632
+ }
3633
+ .ermis-create-channel__tab:hover {
3634
+ color: var(--ermis-text-primary, #e5e7eb);
3635
+ }
3636
+ .ermis-create-channel__tab--active {
3637
+ background-color: var(--ermis-bg-active, rgba(99, 102, 241, 0.12));
3638
+ color: var(--ermis-text-primary, #e5e7eb);
3639
+ }
3640
+ .ermis-create-channel__field {
3641
+ display: flex;
3642
+ flex-direction: column;
3643
+ gap: var(--ermis-spacing-xs, 0.25rem);
3644
+ }
3645
+ .ermis-create-channel__label {
3646
+ font-size: var(--ermis-font-size-sm, 0.875rem);
3647
+ font-weight: 500;
3648
+ color: var(--ermis-text-primary, #e5e7eb);
3649
+ }
3650
+ .ermis-create-channel__input,
3651
+ .ermis-create-channel__textarea {
3652
+ width: 100%;
3653
+ padding: 10px 12px;
3654
+ border-radius: var(--ermis-radius-md, 0.5rem);
3655
+ border: 1px solid var(--ermis-border, rgba(255, 255, 255, 0.08));
3656
+ background-color: var(--ermis-bg-secondary, #111118);
3657
+ color: var(--ermis-text-primary, #e5e7eb);
3658
+ font-size: var(--ermis-font-size-sm, 0.875rem);
3659
+ font-family: inherit;
3660
+ outline: none;
3661
+ transition: border-color var(--ermis-transition, 150ms ease);
3662
+ }
3663
+ .ermis-create-channel__input:focus,
3664
+ .ermis-create-channel__textarea:focus {
3665
+ border-color: var(--ermis-accent, #6366f1);
3666
+ }
3667
+ .ermis-create-channel__textarea {
3668
+ resize: vertical;
3669
+ min-height: 80px;
3670
+ }
3671
+ .ermis-create-channel__field--toggle {
3672
+ flex-direction: row;
3673
+ align-items: center;
3674
+ justify-content: space-between;
3675
+ }
3676
+ .ermis-create-channel__toggle {
3677
+ position: relative;
3678
+ width: 44px;
3679
+ height: 24px;
3680
+ background-color: var(--ermis-bg-secondary, #111118);
3681
+ border: 1px solid var(--ermis-border, rgba(255, 255, 255, 0.08));
3682
+ border-radius: 12px;
3683
+ cursor: pointer;
3684
+ transition: background-color var(--ermis-transition, 150ms ease);
3685
+ padding: 0;
3686
+ }
3687
+ .ermis-create-channel__toggle--on {
3688
+ background-color: var(--ermis-accent, #6366f1);
3689
+ border-color: var(--ermis-accent, #6366f1);
3690
+ }
3691
+ .ermis-create-channel__toggle-thumb {
3692
+ position: absolute;
3693
+ top: 1px;
3694
+ left: 2px;
3695
+ width: 20px;
3696
+ height: 20px;
3697
+ background-color: #ffffff;
3698
+ border-radius: 50%;
3699
+ transition: transform var(--ermis-transition, 150ms ease);
3700
+ }
3701
+ .ermis-create-channel__toggle--on .ermis-create-channel__toggle-thumb {
3702
+ transform: translateX(20px);
3703
+ }
3704
+ .ermis-create-channel__users {
3705
+ margin-top: var(--ermis-spacing-sm, 0.5rem);
3706
+ }
3707
+ .ermis-create-channel__users-title {
3708
+ font-size: var(--ermis-font-size-sm, 0.875rem);
3709
+ font-weight: 500;
3710
+ color: var(--ermis-text-primary, #e5e7eb);
3711
+ margin-bottom: var(--ermis-spacing-xs, 0.25rem);
3712
+ }
3713
+ .ermis-create-channel__error {
3714
+ display: flex;
3715
+ align-items: center;
3716
+ gap: var(--ermis-spacing-xs, 0.25rem);
3717
+ padding: var(--ermis-spacing-sm, 0.5rem);
3718
+ color: var(--ermis-error, #ef4444);
3719
+ background-color: rgba(239, 68, 68, 0.1);
3720
+ border-radius: var(--ermis-radius-sm, 0.375rem);
3721
+ font-size: var(--ermis-font-size-sm, 0.875rem);
3722
+ }
3723
+ .ermis-create-channel__footer {
3724
+ display: flex;
3725
+ justify-content: flex-end;
3726
+ gap: var(--ermis-spacing-sm, 0.5rem);
3727
+ }
3728
+ .ermis-create-channel__btn {
3729
+ padding: 8px 16px;
3730
+ border-radius: var(--ermis-radius-md, 0.5rem);
3731
+ font-size: var(--ermis-font-size-sm, 0.875rem);
3732
+ font-weight: 500;
3733
+ cursor: pointer;
3734
+ transition: all var(--ermis-transition, 150ms ease);
3735
+ border: none;
3736
+ }
3737
+ .ermis-create-channel__btn:disabled {
3738
+ opacity: 0.5;
3739
+ cursor: not-allowed;
3740
+ }
3741
+ .ermis-create-channel__btn--cancel {
3742
+ background-color: transparent;
3743
+ color: var(--ermis-text-primary, #e5e7eb);
3744
+ }
3745
+ .ermis-create-channel__btn--cancel:hover:not(:disabled) {
3746
+ background-color: var(--ermis-bg-hover, rgba(255, 255, 255, 0.04));
3747
+ }
3748
+ .ermis-create-channel__btn--create {
3749
+ background-color: var(--ermis-accent, #6366f1);
3750
+ color: #fff;
3751
+ }
3752
+ .ermis-create-channel__btn--create:hover:not(:disabled) {
3753
+ opacity: 0.9;
3754
+ }
3755
+
3374
3756
  /* src/styles/index.css */
3375
3757
  /*# sourceMappingURL=index.css.map */