@naviedu/room-platform-react 0.0.2 → 0.0.4

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 (50) hide show
  1. package/index.d.ts +1042 -32
  2. package/index.esm.js +11476 -1232
  3. package/package.json +4 -7
  4. package/styles.css +584 -0
  5. package/extensions/room-platform-extensions.d.ts +0 -8
  6. package/room-action-button.d.ts +0 -11
  7. package/room-participant-actions.d.ts +0 -9
  8. package/room-participant-list.d.ts +0 -7
  9. package/room-participant-tab.d.ts +0 -6
  10. package/room-platform-active-speaker.d.ts +0 -4
  11. package/room-platform-background-settings.d.ts +0 -15
  12. package/room-platform-camera-background-presets.d.ts +0 -8
  13. package/room-platform-camera-background-storage.d.ts +0 -38
  14. package/room-platform-control-anchor.d.ts +0 -10
  15. package/room-platform-control-bar.d.ts +0 -11
  16. package/room-platform-control-state.d.ts +0 -12
  17. package/room-platform-current-operation-strip.d.ts +0 -13
  18. package/room-platform-device-selection.d.ts +0 -7
  19. package/room-platform-device-settings.d.ts +0 -8
  20. package/room-platform-local-preview.d.ts +0 -6
  21. package/room-platform-media-controls.d.ts +0 -1
  22. package/room-platform-media-runtime.d.ts +0 -2
  23. package/room-platform-monitor-stage.d.ts +0 -7
  24. package/room-platform-monitor-video-tile.d.ts +0 -20
  25. package/room-platform-monitor-viewer.d.ts +0 -8
  26. package/room-platform-private-room-connection.d.ts +0 -11
  27. package/room-platform-private-room-context.d.ts +0 -8
  28. package/room-platform-private-room-control-bar.d.ts +0 -12
  29. package/room-platform-private-room-experience.d.ts +0 -14
  30. package/room-platform-private-room-overlay.d.ts +0 -7
  31. package/room-platform-private-room-stage.d.ts +0 -9
  32. package/room-platform-private-room-status-banner.d.ts +0 -8
  33. package/room-platform-provider.d.ts +0 -35
  34. package/room-platform-room.d.ts +0 -2
  35. package/room-platform-screen-share-whiteboard-frame.d.ts +0 -11
  36. package/room-platform-shell.d.ts +0 -17
  37. package/room-platform-speak-queue.d.ts +0 -16
  38. package/room-platform-stage-selection.d.ts +0 -14
  39. package/room-platform-stage.d.ts +0 -13
  40. package/room-platform-surface-boundary.d.ts +0 -13
  41. package/room-platform-top-bar.d.ts +0 -7
  42. package/room-platform-types.d.ts +0 -154
  43. package/room-platform-ui-primitives.d.ts +0 -60
  44. package/room-platform-video-tile.d.ts +0 -13
  45. package/room-platform-video-tracks.d.ts +0 -6
  46. package/use-room-platform-camera-background.d.ts +0 -34
  47. package/use-room-platform-private-room-control-actions.d.ts +0 -21
  48. package/use-room-platform-private-room.d.ts +0 -43
  49. package/use-room-platform-stage.d.ts +0 -2
  50. package/use-room-presence.d.ts +0 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naviedu/room-platform-react",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "type": "module",
5
5
  "main": "./index.esm.js",
6
6
  "module": "./index.esm.js",
@@ -30,13 +30,10 @@
30
30
  "dependencies": {
31
31
  "@livekit/components-react": "^2.9.21",
32
32
  "@livekit/track-processors": "^0.7.2",
33
- "@navi/chat-react": "0.0.0",
34
- "@navi/feature-room-platform": "0.0.1",
35
- "@navi/whiteboard-core": "0.0.1",
36
- "@navi/whiteboard-react": "0.0.1",
37
- "sonner": "^2.0.7",
33
+ "livekit-client": "^2.19.1",
38
34
  "lucide-react": "^1.7.0",
39
35
  "radix-ui": "^1.4.3",
40
- "livekit-client": "^2.19.1"
36
+ "socket.io-client": "^4.8.1",
37
+ "sonner": "^2.0.7"
41
38
  }
42
39
  }
package/styles.css CHANGED
@@ -596,3 +596,587 @@
596
596
  width: 100%;
597
597
  }
598
598
  }
599
+
600
+ .navi-chat__panel {
601
+ display: flex;
602
+ flex-direction: column;
603
+ width: 100%;
604
+ height: 100%;
605
+ min-height: 0;
606
+ overflow: hidden;
607
+ border: 1px solid var(--navi-chat-color-border, #d8e0ea);
608
+ border-radius: var(--navi-chat-radius, 10px);
609
+ background: var(--navi-chat-color-surface, #ffffff);
610
+ color: var(--navi-chat-color-text, #111827);
611
+ font-family: var(--navi-chat-font-family, Inter, ui-sans-serif, system-ui, sans-serif);
612
+ }
613
+
614
+ .navi-chat__header {
615
+ display: flex;
616
+ align-items: center;
617
+ justify-content: space-between;
618
+ gap: 12px;
619
+ flex: 0 0 auto;
620
+ padding: 10px 12px;
621
+ border-bottom: 1px solid var(--navi-chat-color-border, #d8e0ea);
622
+ background: #f8fafc;
623
+ }
624
+
625
+ .navi-chat__header-main {
626
+ min-width: 0;
627
+ }
628
+
629
+ .navi-chat__title {
630
+ display: inline-flex;
631
+ align-items: center;
632
+ gap: 6px;
633
+ margin: 0;
634
+ overflow: hidden;
635
+ color: var(--navi-chat-color-text, #111827);
636
+ font-size: 14px;
637
+ font-weight: 700;
638
+ line-height: 1.25;
639
+ text-overflow: ellipsis;
640
+ white-space: nowrap;
641
+ }
642
+
643
+ .navi-chat__online-count {
644
+ display: inline-flex;
645
+ align-items: center;
646
+ justify-content: center;
647
+ min-width: 20px;
648
+ height: 20px;
649
+ border-radius: 999px;
650
+ background: #eff6ff;
651
+ color: var(--navi-chat-color-primary, #2563eb);
652
+ font-size: 12px;
653
+ font-weight: 700;
654
+ line-height: 1;
655
+ padding: 0 6px;
656
+ }
657
+
658
+ .navi-chat__header-meta {
659
+ display: flex;
660
+ flex: 0 0 auto;
661
+ align-items: center;
662
+ gap: 8px;
663
+ }
664
+
665
+ .navi-chat__role-badge {
666
+ border-radius: 999px;
667
+ background: #eff6ff;
668
+ color: var(--navi-chat-color-primary, #2563eb);
669
+ font-size: 12px;
670
+ font-weight: 600;
671
+ line-height: 1;
672
+ padding: 5px 8px;
673
+ }
674
+
675
+ .navi-chat__rooms {
676
+ display: flex;
677
+ flex: 0 0 auto;
678
+ gap: 6px;
679
+ overflow-x: auto;
680
+ padding: 10px;
681
+ border-bottom: 1px solid var(--navi-chat-color-border, #d8e0ea);
682
+ }
683
+
684
+ .navi-chat__room-tab,
685
+ .navi-chat__send-button,
686
+ .navi-chat__message-action,
687
+ .navi-chat__message-menu-trigger,
688
+ .navi-chat__message-menu-item,
689
+ .navi-chat__message-edit-button,
690
+ .navi-chat__message-edit-input {
691
+ font: inherit;
692
+ }
693
+
694
+ .navi-chat__room-tab {
695
+ display: inline-flex;
696
+ align-items: center;
697
+ gap: 6px;
698
+ min-width: 0;
699
+ max-width: 160px;
700
+ border: 0;
701
+ border-radius: 8px;
702
+ background: #f1f5f9;
703
+ color: #475569;
704
+ cursor: pointer;
705
+ padding: 7px 10px;
706
+ }
707
+
708
+ .navi-chat__room-tab--active {
709
+ background: var(--navi-chat-color-primary, #2563eb);
710
+ color: #ffffff;
711
+ }
712
+
713
+ .navi-chat__room-tab-label {
714
+ display: block;
715
+ min-width: 0;
716
+ overflow: hidden;
717
+ text-overflow: ellipsis;
718
+ white-space: nowrap;
719
+ }
720
+
721
+ .navi-chat__unread-badge {
722
+ flex: 0 0 auto;
723
+ display: inline-flex;
724
+ align-items: center;
725
+ justify-content: center;
726
+ min-width: 18px;
727
+ height: 18px;
728
+ border-radius: 999px;
729
+ background: #eff6ff;
730
+ color: var(--navi-chat-color-primary, #2563eb);
731
+ font-size: 11px;
732
+ font-weight: 700;
733
+ line-height: 1;
734
+ padding: 0 5px;
735
+ }
736
+
737
+ .navi-chat__room-tab--active .navi-chat__unread-badge {
738
+ background: rgba(255, 255, 255, 0.18);
739
+ color: #ffffff;
740
+ }
741
+
742
+ .navi-chat__messages {
743
+ display: flex;
744
+ flex: 1 1 auto;
745
+ flex-direction: column;
746
+ min-height: 0;
747
+ overflow-y: auto;
748
+ padding: 14px;
749
+ background: #fbfdff;
750
+ }
751
+
752
+ .navi-chat__messages-stack {
753
+ display: flex;
754
+ flex-direction: column;
755
+ gap: 10px;
756
+ margin-top: auto;
757
+ }
758
+
759
+ .navi-chat__empty {
760
+ display: flex;
761
+ flex: 1 1 auto;
762
+ flex-direction: column;
763
+ align-items: center;
764
+ justify-content: center;
765
+ min-height: 0;
766
+ padding: 24px;
767
+ background: #fbfdff;
768
+ color: #64748b;
769
+ text-align: center;
770
+ }
771
+
772
+ .navi-chat__empty strong {
773
+ margin-top: 8px;
774
+ color: #334155;
775
+ font-size: 14px;
776
+ }
777
+
778
+ .navi-chat__empty span {
779
+ margin-top: 4px;
780
+ font-size: 13px;
781
+ }
782
+
783
+ .navi-chat__empty-icon {
784
+ color: var(--navi-chat-color-primary, #2563eb);
785
+ font-size: 22px;
786
+ line-height: 1;
787
+ }
788
+
789
+ .navi-chat__message {
790
+ display: flex;
791
+ }
792
+
793
+ .navi-chat__message-group {
794
+ display: flex;
795
+ flex-direction: column;
796
+ gap: 4px;
797
+ }
798
+
799
+ .navi-chat__loading-older {
800
+ align-self: center;
801
+ color: #64748b;
802
+ font-size: 12px;
803
+ font-weight: 600;
804
+ padding: 4px 0;
805
+ }
806
+
807
+ .navi-chat__message--own {
808
+ justify-content: flex-end;
809
+ }
810
+
811
+ .navi-chat__message-row {
812
+ position: relative;
813
+ display: flex;
814
+ align-items: flex-end;
815
+ gap: 6px;
816
+ min-width: 0;
817
+ max-width: min(82%, 560px);
818
+ }
819
+
820
+ .navi-chat__message-row--own {
821
+ flex-direction: row-reverse;
822
+ }
823
+
824
+ .navi-chat__message-bubble {
825
+ min-width: 0;
826
+ max-width: 100%;
827
+ border: 1px solid var(--navi-chat-color-border, #d8e0ea);
828
+ border-radius: 10px;
829
+ background: #ffffff;
830
+ padding: 9px 11px;
831
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
832
+ }
833
+
834
+ .navi-chat__message--grouped .navi-chat__message-bubble {
835
+ padding-top: 8px;
836
+ }
837
+
838
+ .navi-chat__message--own .navi-chat__message-bubble {
839
+ border-color: var(--navi-chat-own-message-border, #bfdbfe);
840
+ background: var(--navi-chat-own-message-background, #eff6ff);
841
+ }
842
+
843
+ .navi-chat__message--deleted .navi-chat__message-bubble {
844
+ background: #f8fafc;
845
+ color: #64748b;
846
+ font-style: italic;
847
+ }
848
+
849
+ .navi-chat__message-header {
850
+ display: flex;
851
+ align-items: center;
852
+ justify-content: space-between;
853
+ gap: 10px;
854
+ margin-bottom: 4px;
855
+ }
856
+
857
+ .navi-chat__message-author {
858
+ overflow: hidden;
859
+ color: #334155;
860
+ font-size: 12px;
861
+ font-weight: 700;
862
+ text-overflow: ellipsis;
863
+ white-space: nowrap;
864
+ }
865
+
866
+ .navi-chat__message-time {
867
+ color: #94a3b8;
868
+ font-size: 11px;
869
+ white-space: nowrap;
870
+ }
871
+
872
+ .navi-chat__message-text {
873
+ margin: 0;
874
+ color: var(--navi-chat-color-text, #111827);
875
+ font-size: 13px;
876
+ line-height: 1.45;
877
+ overflow-wrap: anywhere;
878
+ white-space: pre-wrap;
879
+ }
880
+
881
+ .navi-chat__message-action {
882
+ margin-top: 8px;
883
+ border: 0;
884
+ background: transparent;
885
+ color: var(--navi-chat-color-primary, #2563eb);
886
+ cursor: pointer;
887
+ font-size: 12px;
888
+ font-weight: 600;
889
+ padding: 0;
890
+ }
891
+
892
+ .navi-chat__message-menu {
893
+ position: absolute;
894
+ right: -30px;
895
+ bottom: 2px;
896
+ z-index: 3;
897
+ display: inline-flex;
898
+ flex: 0 0 auto;
899
+ opacity: 0;
900
+ pointer-events: none;
901
+ transition:
902
+ opacity 120ms ease,
903
+ transform 120ms ease;
904
+ transform: translateY(2px);
905
+ vertical-align: middle;
906
+ }
907
+
908
+ .navi-chat__message-row--own .navi-chat__message-menu {
909
+ right: auto;
910
+ left: -30px;
911
+ }
912
+
913
+ .navi-chat__message:hover .navi-chat__message-menu,
914
+ .navi-chat__message:focus-within .navi-chat__message-menu,
915
+ .navi-chat__message-menu--open {
916
+ opacity: 1;
917
+ pointer-events: auto;
918
+ transform: translateY(0);
919
+ }
920
+
921
+ .navi-chat__message-menu-trigger {
922
+ display: inline-flex;
923
+ align-items: center;
924
+ justify-content: center;
925
+ width: 24px;
926
+ height: 24px;
927
+ border: 1px solid var(--navi-chat-color-border, #d8e0ea);
928
+ border-radius: 999px;
929
+ background: #ffffff;
930
+ color: #64748b;
931
+ cursor: pointer;
932
+ font-size: 12px;
933
+ font-weight: 700;
934
+ line-height: 1;
935
+ padding: 0;
936
+ box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
937
+ }
938
+
939
+ .navi-chat__message-menu-trigger:hover,
940
+ .navi-chat__message-menu-trigger:focus-visible {
941
+ border-color: #bfdbfe;
942
+ background: #eff6ff;
943
+ color: var(--navi-chat-color-primary, #2563eb);
944
+ }
945
+
946
+ .navi-chat__message-menu-popover {
947
+ position: absolute;
948
+ right: 0;
949
+ bottom: 32px;
950
+ z-index: 2;
951
+ display: flex;
952
+ min-width: 82px;
953
+ flex-direction: column;
954
+ overflow: hidden;
955
+ border: 1px solid var(--navi-chat-color-border, #d8e0ea);
956
+ border-radius: 8px;
957
+ background: #ffffff;
958
+ box-shadow: 0 8px 18px rgba(15, 23, 42, 0.14);
959
+ }
960
+
961
+ .navi-chat__message-row--own .navi-chat__message-menu-popover {
962
+ right: auto;
963
+ left: 0;
964
+ }
965
+
966
+ .navi-chat__message-menu-item {
967
+ border: 0;
968
+ background: transparent;
969
+ color: var(--navi-chat-color-text, #111827);
970
+ cursor: pointer;
971
+ font-size: 12px;
972
+ font-weight: 600;
973
+ line-height: 1;
974
+ padding: 8px 10px;
975
+ text-align: left;
976
+ }
977
+
978
+ .navi-chat__message-menu-item:hover,
979
+ .navi-chat__message-menu-item:focus-visible {
980
+ background: #f1f5f9;
981
+ color: var(--navi-chat-color-primary, #2563eb);
982
+ }
983
+
984
+ .navi-chat__message-edit {
985
+ display: flex;
986
+ flex-direction: column;
987
+ gap: 6px;
988
+ }
989
+
990
+ .navi-chat__message-edit-input {
991
+ box-sizing: border-box;
992
+ width: min(280px, 100%);
993
+ min-height: 64px;
994
+ resize: vertical;
995
+ border: 1px solid #cbd5e1;
996
+ border-radius: 8px;
997
+ background: #ffffff;
998
+ color: var(--navi-chat-color-text, #111827);
999
+ font-size: 13px;
1000
+ line-height: 1.4;
1001
+ padding: 8px 9px;
1002
+ }
1003
+
1004
+ .navi-chat__message-edit-actions {
1005
+ display: flex;
1006
+ justify-content: flex-end;
1007
+ gap: 6px;
1008
+ }
1009
+
1010
+ .navi-chat__message-edit-button {
1011
+ border: 1px solid var(--navi-chat-color-border, #d8e0ea);
1012
+ border-radius: 7px;
1013
+ background: #ffffff;
1014
+ color: #334155;
1015
+ cursor: pointer;
1016
+ font-size: 12px;
1017
+ font-weight: 700;
1018
+ line-height: 1;
1019
+ padding: 7px 9px;
1020
+ }
1021
+
1022
+ .navi-chat__message-edit-button--primary {
1023
+ border-color: var(--navi-chat-color-primary, #2563eb);
1024
+ background: var(--navi-chat-color-primary, #2563eb);
1025
+ color: #ffffff;
1026
+ }
1027
+
1028
+ .navi-chat__latest-overlay {
1029
+ position: sticky;
1030
+ bottom: 8px;
1031
+ align-self: stretch;
1032
+ box-sizing: border-box;
1033
+ display: grid;
1034
+ grid-template-columns: 1fr auto 1fr;
1035
+ align-items: center;
1036
+ gap: 8px;
1037
+ margin-top: 8px;
1038
+ pointer-events: none;
1039
+ }
1040
+
1041
+ .navi-chat__new-message-notice {
1042
+ grid-column: 2;
1043
+ border: 1px solid var(--navi-chat-color-border, #d8e0ea);
1044
+ border-radius: 999px;
1045
+ background: #ffffff;
1046
+ color: var(--navi-chat-color-primary, #2563eb);
1047
+ font-size: 12px;
1048
+ font-weight: 700;
1049
+ line-height: 1;
1050
+ padding: 8px 12px;
1051
+ box-shadow: 0 6px 16px rgba(15, 23, 42, 0.14);
1052
+ }
1053
+
1054
+ .navi-chat__scroll-latest {
1055
+ grid-column: 3;
1056
+ justify-self: end;
1057
+ box-sizing: border-box;
1058
+ flex: 0 0 auto;
1059
+ display: inline-flex;
1060
+ align-items: center;
1061
+ justify-content: center;
1062
+ width: 34px;
1063
+ height: 34px;
1064
+ margin-right: 4px;
1065
+ border: 1px solid var(--navi-chat-color-border, #d8e0ea);
1066
+ border-radius: 50%;
1067
+ background: #ffffff;
1068
+ color: var(--navi-chat-color-primary, #2563eb);
1069
+ cursor: pointer;
1070
+ padding: 0;
1071
+ pointer-events: auto;
1072
+ box-shadow: 0 6px 16px rgba(15, 23, 42, 0.16);
1073
+ }
1074
+
1075
+ .navi-chat__scroll-latest-icon {
1076
+ width: 18px;
1077
+ height: 18px;
1078
+ fill: currentColor;
1079
+ }
1080
+
1081
+ .navi-chat__composer {
1082
+ display: flex;
1083
+ flex: 0 0 auto;
1084
+ align-items: flex-end;
1085
+ gap: 8px;
1086
+ padding: 10px;
1087
+ border-top: 1px solid var(--navi-chat-color-border, #d8e0ea);
1088
+ background: #ffffff;
1089
+ }
1090
+
1091
+ .navi-chat__composer-main {
1092
+ display: flex;
1093
+ flex: 1 1 auto;
1094
+ min-width: 0;
1095
+ flex-direction: column;
1096
+ gap: 4px;
1097
+ }
1098
+
1099
+ .navi-chat__composer-input {
1100
+ flex: 1 1 auto;
1101
+ min-width: 0;
1102
+ min-height: 38px;
1103
+ max-height: 84px;
1104
+ resize: vertical;
1105
+ border: 1px solid #cbd5e1;
1106
+ border-radius: 8px;
1107
+ color: var(--navi-chat-color-text, #111827);
1108
+ font: inherit;
1109
+ font-size: 13px;
1110
+ line-height: 1.4;
1111
+ padding: 9px 10px;
1112
+ }
1113
+
1114
+ .navi-chat__composer-tip {
1115
+ margin: 0;
1116
+ color: #64748b;
1117
+ font-size: 11px;
1118
+ line-height: 1.3;
1119
+ }
1120
+
1121
+ .navi-chat__send-button {
1122
+ flex: 0 0 auto;
1123
+ display: inline-flex;
1124
+ align-items: center;
1125
+ justify-content: center;
1126
+ align-self: center;
1127
+ width: 44px;
1128
+ height: 44px;
1129
+ border: 0;
1130
+ border-radius: 999px;
1131
+ background: var(--navi-chat-color-primary, #2563eb);
1132
+ color: #ffffff;
1133
+ cursor: pointer;
1134
+ padding: 0;
1135
+ }
1136
+
1137
+ .navi-chat__send-button:disabled {
1138
+ cursor: not-allowed;
1139
+ opacity: 0.45;
1140
+ }
1141
+
1142
+ .navi-chat__send-icon {
1143
+ width: 18px;
1144
+ height: 18px;
1145
+ fill: currentColor;
1146
+ }
1147
+
1148
+ .navi-chat__readonly {
1149
+ flex: 0 0 auto;
1150
+ border-top: 1px solid var(--navi-chat-color-border, #d8e0ea);
1151
+ background: #f8fafc;
1152
+ color: #64748b;
1153
+ font-size: 13px;
1154
+ padding: 12px 14px;
1155
+ }
1156
+
1157
+ .navi-chat__status {
1158
+ display: inline-flex;
1159
+ align-items: center;
1160
+ justify-content: center;
1161
+ width: 18px;
1162
+ height: 18px;
1163
+ }
1164
+
1165
+ .navi-chat__status-dot {
1166
+ width: 9px;
1167
+ height: 9px;
1168
+ border-radius: 999px;
1169
+ background: #94a3b8;
1170
+ }
1171
+
1172
+ .navi-chat__status--connected .navi-chat__status-dot {
1173
+ background: #16a34a;
1174
+ }
1175
+
1176
+ .navi-chat__status--muted .navi-chat__status-dot {
1177
+ background: #94a3b8;
1178
+ }
1179
+
1180
+ .navi-chat__status--error .navi-chat__status-dot {
1181
+ background: #dc2626;
1182
+ }
@@ -1,8 +0,0 @@
1
- import type { ComponentType } from 'react';
2
- import type { RoomPlatformExtensionProps, RoomPlatformExtensions } from '../room-platform-types';
3
- export type RoomPlatformExtensionZoneProps = {
4
- component: ComponentType<RoomPlatformExtensionProps>;
5
- extensionProps: RoomPlatformExtensionProps;
6
- };
7
- export declare function RoomPlatformExtensionZone({ component: Extension, extensionProps }: RoomPlatformExtensionZoneProps): import("react/jsx-runtime").JSX.Element;
8
- export declare const getParticipantTabTitle: (participantTab: RoomPlatformExtensions["participantTab"]) => string;
@@ -1,11 +0,0 @@
1
- import { Button } from '@navi/ui';
2
- import type { ComponentProps, ReactNode } from 'react';
3
- export type RoomActionState = {
4
- label: string;
5
- pendingLabel: string;
6
- status: 'disabled' | 'idle' | 'pending';
7
- };
8
- export declare function RoomActionButton({ icon, state, ...props }: ComponentProps<typeof Button> & {
9
- icon: ReactNode;
10
- state: RoomActionState;
11
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,9 +0,0 @@
1
- import type { RoomParticipantRosterEntry } from './room-platform-types';
2
- export type RoomParticipantActionsProps = {
3
- isActiveSpeaker?: boolean;
4
- isLocal?: boolean;
5
- isOnline?: boolean;
6
- participant: RoomParticipantRosterEntry;
7
- participantIdentity?: string;
8
- };
9
- export declare function RoomParticipantActions({ isActiveSpeaker, isLocal, isOnline, participant, participantIdentity, }: RoomParticipantActionsProps): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +0,0 @@
1
- import type { RoomParticipantPresence, RoomParticipantRosterEntry, RoomPlatformExtensionProps } from './room-platform-types';
2
- export type RoomParticipantListProps = {
3
- extensionProps: RoomPlatformExtensionProps;
4
- presenceByExternalActorId?: ReadonlyMap<string, RoomParticipantPresence>;
5
- roster: readonly RoomParticipantRosterEntry[];
6
- };
7
- export declare function RoomParticipantList({ extensionProps, presenceByExternalActorId, roster }: RoomParticipantListProps): import("react/jsx-runtime").JSX.Element;
@@ -1,6 +0,0 @@
1
- import type { RoomParticipantRosterEntry, RoomPlatformExtensionProps } from './room-platform-types';
2
- export type RoomParticipantTabProps = {
3
- extensionProps: RoomPlatformExtensionProps;
4
- roster?: readonly RoomParticipantRosterEntry[];
5
- };
6
- export declare function RoomParticipantTab({ extensionProps, roster }: RoomParticipantTabProps): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +0,0 @@
1
- import type { TrackReference } from '@livekit/components-react';
2
- export declare function RoomPlatformActiveSpeaker({ trackRef }: {
3
- trackRef?: TrackReference;
4
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,15 +0,0 @@
1
- import type { RoomPlatformCameraBackgroundPreset } from './room-platform-camera-background-presets';
2
- import type { RoomPlatformCameraBackgroundState, RoomPlatformCameraBackgroundUploadPreview } from './use-room-platform-camera-background';
3
- type RoomPlatformBackgroundSettingsProps = {
4
- state: RoomPlatformCameraBackgroundState;
5
- presets: RoomPlatformCameraBackgroundPreset[];
6
- uploadItems: RoomPlatformCameraBackgroundUploadPreview[];
7
- onSelectNoBackground: () => void;
8
- onSelectBlurLevel: (level: 'light' | 'strong') => void;
9
- onSelectPreset: (presetId: string) => void;
10
- onSelectUploaded: (uploadAssetId: string) => void;
11
- onDeleteUploaded: (uploadAssetId: string) => void;
12
- onUpload: (file: File) => void;
13
- };
14
- export declare function RoomPlatformBackgroundSettings({ state, presets, uploadItems, onSelectNoBackground, onSelectBlurLevel, onSelectPreset, onSelectUploaded, onDeleteUploaded, onUpload, }: RoomPlatformBackgroundSettingsProps): import("react/jsx-runtime").JSX.Element;
15
- export {};
@@ -1,8 +0,0 @@
1
- export type RoomPlatformCameraBackgroundPreset = {
2
- id: 'naviedu' | 'alpine-lake' | 'forest-road' | 'tropical-beach' | 'ocean-cliffs' | 'desert-dunes' | 'canyon-view' | 'waterfall-mist' | 'flower-meadow';
3
- label: string;
4
- imageUrl: string;
5
- processorImageUrl: string;
6
- };
7
- export declare const ROOM_PLATFORM_CAMERA_BACKGROUND_PRESETS: RoomPlatformCameraBackgroundPreset[];
8
- export declare const findRoomPlatformCameraBackgroundPreset: (presetId?: string) => RoomPlatformCameraBackgroundPreset;