agora-appbuilder-core 3.0.10 → 3.0.12

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 (249) hide show
  1. package/Readme.md +0 -6
  2. package/package.json +2 -2
  3. package/template/_package-lock.json +4979 -7086
  4. package/template/agora-rn-uikit/src/Contexts/LocalUserContext.tsx +0 -4
  5. package/template/agora-rn-uikit/src/Contexts/PropsContext.tsx +0 -18
  6. package/template/agora-rn-uikit/src/Contexts/RtcContext.tsx +0 -2
  7. package/template/agora-rn-uikit/src/Controls/BtnTemplate.tsx +26 -30
  8. package/template/agora-rn-uikit/src/Controls/Icons.ts +83 -30
  9. package/template/agora-rn-uikit/src/Controls/ImageIcon.tsx +6 -6
  10. package/template/agora-rn-uikit/src/Reducer/LocalMuteAudio.ts +0 -1
  11. package/template/agora-rn-uikit/src/Reducer/LocalMuteVideo.ts +0 -1
  12. package/template/agora-rn-uikit/src/Reducer/RemoteAudioStateChanged.ts +0 -1
  13. package/template/agora-rn-uikit/src/Reducer/RemoteVideoStateChanged.ts +0 -1
  14. package/template/agora-rn-uikit/src/Reducer/UpdateDualStreamMode.ts +0 -1
  15. package/template/agora-rn-uikit/src/Reducer/UserJoined.ts +0 -2
  16. package/template/agora-rn-uikit/src/Reducer/UserMuteRemoteAudio.ts +0 -1
  17. package/template/agora-rn-uikit/src/Reducer/UserMuteRemoteVideo.ts +0 -1
  18. package/template/agora-rn-uikit/src/Reducer/UserOffline.ts +0 -1
  19. package/template/agora-rn-uikit/src/Reducer/index.ts +0 -3
  20. package/template/agora-rn-uikit/src/Rtc/Create.tsx +1 -89
  21. package/template/agora-rn-uikit/src/RtcConfigure.tsx +2 -39
  22. package/template/agora-rn-uikit/src/Views/MaxVideoView.native.tsx +5 -15
  23. package/template/agora-rn-uikit/src/Views/MaxVideoView.tsx +9 -15
  24. package/template/agora-rn-uikit/src/index.ts +1 -3
  25. package/template/android/app/build.gradle +0 -1
  26. package/template/android/app/src/main/AndroidManifest.xml +15 -22
  27. package/template/android/app/src/main/java/com/helloworld/MainActivity.java +0 -50
  28. package/template/android/build.gradle +3 -3
  29. package/template/babel.config.js +0 -1
  30. package/template/bridge/rtc/webNg/RtcEngine.ts +17 -110
  31. package/template/customization-api/sub-components.ts +1 -1
  32. package/template/customization-api/typeDefinition.ts +1 -2
  33. package/template/electron/index.html +27 -27
  34. package/template/electron/renderer/index.js +0 -1
  35. package/template/global.d.ts +4 -26
  36. package/template/index.js +0 -4
  37. package/template/index.rsdk.tsx +0 -1
  38. package/template/index.web.js +1 -7
  39. package/template/index.wsdk.tsx +1 -1
  40. package/template/ios/HelloWorld/Info.plist +1 -14
  41. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +0 -17
  42. package/template/metro.config.js +1 -1
  43. package/template/package.json +7 -21
  44. package/template/react-native-toast-message/index.d.ts +43 -43
  45. package/template/react-native-toast-message/src/colors/index.js +2 -3
  46. package/template/react-native-toast-message/src/components/base/index.js +59 -46
  47. package/template/react-native-toast-message/src/components/base/styles.js +32 -16
  48. package/template/react-native-toast-message/src/components/error.js +2 -3
  49. package/template/react-native-toast-message/src/components/info.js +2 -3
  50. package/template/react-native-toast-message/src/components/success.js +2 -3
  51. package/template/react-native-toast-message/src/index.js +31 -122
  52. package/template/react-native-toast-message/src/index.sdk.tsx +35 -125
  53. package/template/react-native-toast-message/src/styles.js +4 -3
  54. package/template/react-native-toast-message/src/styles.sdk.ts +4 -3
  55. package/template/src/App.tsx +0 -6
  56. package/template/src/AppWrapper.tsx +28 -63
  57. package/template/src/assets/icons.ts +102 -0
  58. package/template/src/atoms/HorizontalRule.tsx +1 -3
  59. package/template/src/atoms/PrimaryButton.tsx +26 -51
  60. package/template/src/atoms/SecondaryButton.tsx +5 -8
  61. package/template/src/atoms/TextInput.tsx +14 -12
  62. package/template/src/components/Chat.tsx +214 -86
  63. package/template/src/components/ChatContext.ts +1 -8
  64. package/template/src/components/ColorConfigure.tsx +1 -1
  65. package/template/src/components/ColorContext.ts +1 -1
  66. package/template/src/components/{Controls1.native.tsx → Controls.native.tsx} +4 -6
  67. package/template/src/components/Controls.tsx +42 -342
  68. package/template/src/components/DeviceConfigure.tsx +101 -461
  69. package/template/src/components/DeviceContext.tsx +4 -8
  70. package/template/src/components/EventsConfigure.tsx +7 -144
  71. package/template/src/components/GraphQLProvider.tsx +1 -1
  72. package/template/src/components/GridVideo.tsx +44 -59
  73. package/template/src/components/HostControlView.tsx +35 -114
  74. package/template/src/components/Navbar.tsx +398 -216
  75. package/template/src/components/NetworkQualityContext.tsx +20 -20
  76. package/template/src/components/ParticipantsView.tsx +154 -177
  77. package/template/src/components/PinnedVideo.tsx +120 -207
  78. package/template/src/components/Precall.native.tsx +119 -358
  79. package/template/src/components/Precall.tsx +135 -269
  80. package/template/src/components/RTMConfigure.tsx +4 -27
  81. package/template/src/components/Router.electron.ts +0 -1
  82. package/template/src/components/Router.native.ts +0 -1
  83. package/template/src/components/Router.sdk.ts +0 -1
  84. package/template/src/components/Router.ts +0 -1
  85. package/template/src/components/Settings.tsx +95 -26
  86. package/template/src/components/SettingsView.tsx +56 -251
  87. package/template/src/components/Share.tsx +273 -302
  88. package/template/src/components/StorageContext.tsx +3 -30
  89. package/template/src/components/chat-messages/useChatMessages.tsx +23 -69
  90. package/template/src/components/chat-ui/useChatUIControl.tsx +0 -7
  91. package/template/src/components/common/Error.tsx +6 -20
  92. package/template/src/components/common/Logo.tsx +15 -16
  93. package/template/src/components/contexts/LiveStreamDataContext.tsx +5 -10
  94. package/template/src/components/contexts/VideoMeetingDataContext.tsx +7 -37
  95. package/template/src/components/livestream/LiveStreamContext.tsx +36 -270
  96. package/template/src/components/livestream/Types.ts +14 -39
  97. package/template/src/components/livestream/index.ts +0 -1
  98. package/template/src/components/livestream/views/LiveStreamControls.tsx +4 -12
  99. package/template/src/components/participants/AllAudienceParticipants.tsx +30 -101
  100. package/template/src/components/participants/AllHostParticipants.tsx +34 -103
  101. package/template/src/components/participants/MeParticipant.tsx +38 -0
  102. package/template/src/components/participants/ParticipantName.tsx +7 -13
  103. package/template/src/components/participants/ParticipantSectionTitle.tsx +10 -35
  104. package/template/src/components/participants/RemoteParticipants.tsx +71 -0
  105. package/template/src/components/participants/ScreenshareParticipants.tsx +12 -144
  106. package/template/src/components/precall/{LocalMute1.native.tsx → LocalMute.native.tsx} +5 -21
  107. package/template/src/components/precall/LocalMute.tsx +14 -84
  108. package/template/src/components/precall/VideoPreview.native.tsx +3 -48
  109. package/template/src/components/precall/VideoPreview.tsx +7 -163
  110. package/template/src/components/precall/joinCallBtn.tsx +2 -15
  111. package/template/src/components/precall/meetingTitle.tsx +12 -15
  112. package/template/src/components/precall/selectDevice.tsx +21 -1
  113. package/template/src/components/precall/textInput.tsx +4 -32
  114. package/template/src/components/precall/usePreCall.tsx +0 -16
  115. package/template/src/components/styles.ts +21 -42
  116. package/template/src/components/useShareLink.tsx +14 -12
  117. package/template/src/language/default-labels/precallScreenLabels.ts +3 -3
  118. package/template/src/pages/Authenticate.tsx +15 -5
  119. package/template/src/pages/Create.tsx +165 -293
  120. package/template/src/pages/Join.tsx +67 -93
  121. package/template/src/pages/VideoCall.tsx +64 -89
  122. package/template/src/pages/video-call/DefaultLayouts.ts +4 -4
  123. package/template/src/pages/video-call/NameWithMicIcon.tsx +44 -120
  124. package/template/src/pages/video-call/RenderComponent.tsx +2 -3
  125. package/template/src/pages/video-call/VideoCallScreen.tsx +9 -45
  126. package/template/src/pages/video-call/VideoComponent.tsx +3 -18
  127. package/template/src/pages/video-call/VideoRenderer.tsx +60 -218
  128. package/template/src/rtm-events/constants.ts +0 -2
  129. package/template/src/subComponents/ChatBubble.tsx +83 -123
  130. package/template/src/subComponents/ChatContainer.tsx +84 -257
  131. package/template/src/subComponents/ChatInput.tsx +46 -61
  132. package/template/src/subComponents/Checkbox.native.tsx +5 -16
  133. package/template/src/subComponents/Checkbox.tsx +2 -2
  134. package/template/src/subComponents/CopyJoinInfo.tsx +58 -36
  135. package/template/src/subComponents/FallbackLogo.tsx +40 -122
  136. package/template/src/subComponents/LanguageSelector.tsx +1 -1
  137. package/template/src/subComponents/{LayoutIconDropdown1.native.tsx → LayoutIconDropdown.native.tsx} +18 -4
  138. package/template/src/subComponents/LayoutIconDropdown.tsx +134 -131
  139. package/template/src/subComponents/LocalAudioMute.tsx +27 -119
  140. package/template/src/subComponents/LocalEndCall.tsx +33 -71
  141. package/template/src/subComponents/LocalSwitchCamera.tsx +30 -17
  142. package/template/src/subComponents/LocalVideoMute.tsx +27 -117
  143. package/template/src/subComponents/Logo.tsx +4 -3
  144. package/template/src/subComponents/LogoutButton.tsx +1 -1
  145. package/template/src/subComponents/NetworkQualityPill.tsx +63 -60
  146. package/template/src/subComponents/OpenInNativeButton.tsx +3 -3
  147. package/template/src/subComponents/Recording.tsx +29 -28
  148. package/template/src/subComponents/RemoteAudioMute.tsx +29 -83
  149. package/template/src/subComponents/RemoteEndCall.tsx +5 -8
  150. package/template/src/subComponents/RemoteVideoMute.tsx +21 -74
  151. package/template/src/subComponents/ScreenShareNotice.tsx +8 -83
  152. package/template/src/subComponents/SelectDevice.tsx +61 -404
  153. package/template/src/subComponents/SelectOAuth.tsx +8 -9
  154. package/template/src/subComponents/ToastConfig.tsx +10 -150
  155. package/template/src/subComponents/chat/ChatParticipants.tsx +78 -187
  156. package/template/src/subComponents/livestream/CurrentLiveStreamRequestsView.tsx +32 -95
  157. package/template/src/subComponents/livestream/controls/LocalRaiseHand.tsx +33 -29
  158. package/template/src/subComponents/livestream/controls/RemoteLiveStreamApprovedRequestRecall.tsx +6 -6
  159. package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestApprove.tsx +11 -24
  160. package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestReject.tsx +10 -17
  161. package/template/src/subComponents/recording/useRecording.tsx +27 -79
  162. package/template/src/subComponents/screenshare/ScreenshareButton.tsx +70 -52
  163. package/template/src/subComponents/screenshare/ScreenshareConfigure.native.tsx +2 -11
  164. package/template/src/subComponents/screenshare/ScreenshareConfigure.tsx +4 -26
  165. package/template/src/utils/common.tsx +1 -155
  166. package/template/src/utils/index.tsx +0 -19
  167. package/template/src/utils/isMobileOrTablet.ts +2 -7
  168. package/template/src/utils/useButtonTemplate.tsx +0 -1
  169. package/template/src/utils/useMuteToggleLocal.ts +3 -54
  170. package/template/web/index.html +0 -5
  171. package/template/webpack.commons.js +8 -13
  172. package/template/webpack.web.config.js +0 -1
  173. package/template/agora-rn-uikit/src/Reducer/ActiveSpeakerDetected.ts +0 -11
  174. package/template/agora-rn-uikit/src/Reducer/LocalPermissionState.ts +0 -24
  175. package/template/agora-rn-uikit/src/Reducer/UserPin.ts +0 -11
  176. package/template/android/app/src/main/assets/fonts/SourceSansPro-Regular.ttf +0 -0
  177. package/template/android/app/src/main/assets/fonts/icomoon.ttf +0 -0
  178. package/template/android/app/src/main/res/values/colors.xml +0 -7
  179. package/template/react-native-toast-message/src/components/checkbox.js +0 -178
  180. package/template/react-native.config.js +0 -7
  181. package/template/src/assets/font-styles.css +0 -329
  182. package/template/src/assets/fonts/SourceSansPro-Regular.ttf +0 -0
  183. package/template/src/assets/fonts/icomoon.ttf +0 -0
  184. package/template/src/assets/permission.png +0 -0
  185. package/template/src/assets/selection.json +0 -1
  186. package/template/src/atoms/ActionMenu.tsx +0 -236
  187. package/template/src/atoms/AnimatedActiveSpeaker.native.tsx +0 -71
  188. package/template/src/atoms/AnimatedActiveSpeaker.tsx +0 -84
  189. package/template/src/atoms/AnimatedRings.native.tsx +0 -68
  190. package/template/src/atoms/AnimatedRings.tsx +0 -70
  191. package/template/src/atoms/Card.tsx +0 -61
  192. package/template/src/atoms/CircularProgress.native.tsx +0 -121
  193. package/template/src/atoms/CircularProgress.tsx +0 -102
  194. package/template/src/atoms/CustomIcon.tsx +0 -88
  195. package/template/src/atoms/CustomSwitch.tsx +0 -287
  196. package/template/src/atoms/Dropdown.tsx +0 -306
  197. package/template/src/atoms/IconButton.tsx +0 -162
  198. package/template/src/atoms/ImageIcon.tsx +0 -98
  199. package/template/src/atoms/InfoBubble.tsx +0 -291
  200. package/template/src/atoms/Input.tsx +0 -87
  201. package/template/src/atoms/InviteInfo.tsx +0 -166
  202. package/template/src/atoms/LinkButton.tsx +0 -28
  203. package/template/src/atoms/OutlineButton.tsx +0 -61
  204. package/template/src/atoms/ParticipantsCount.tsx +0 -73
  205. package/template/src/atoms/Popup.tsx +0 -147
  206. package/template/src/atoms/RecordingInfo.tsx +0 -49
  207. package/template/src/atoms/Spacer.tsx +0 -22
  208. package/template/src/atoms/TertiaryButton.tsx +0 -78
  209. package/template/src/atoms/Toggle.tsx +0 -47
  210. package/template/src/atoms/Tooltip.native.tsx +0 -65
  211. package/template/src/atoms/Tooltip.tsx +0 -94
  212. package/template/src/atoms/UserAvatar.tsx +0 -60
  213. package/template/src/components/CommonStyles.ts +0 -44
  214. package/template/src/components/ToastComponent.tsx +0 -8
  215. package/template/src/components/participants/Participant.tsx +0 -302
  216. package/template/src/components/participants/UserActionMenuOptions.tsx +0 -398
  217. package/template/src/components/popups/InvitePopup.tsx +0 -115
  218. package/template/src/components/popups/StopRecordingPopup.tsx +0 -114
  219. package/template/src/components/precall/PermissionHelper.native.tsx +0 -5
  220. package/template/src/components/precall/PermissionHelper.tsx +0 -126
  221. package/template/src/components/precall/PreCallSettings.tsx +0 -52
  222. package/template/src/components/useToast.tsx +0 -41
  223. package/template/src/components/useVideoCall.tsx +0 -65
  224. package/template/src/pages/Endcall.tsx +0 -148
  225. package/template/src/pages/video-call/ActionSheet.native.tsx +0 -215
  226. package/template/src/pages/video-call/ActionSheet.tsx +0 -226
  227. package/template/src/pages/video-call/ActionSheetContent.tsx +0 -479
  228. package/template/src/pages/video-call/ActionSheetHandle.tsx +0 -38
  229. package/template/src/pages/video-call/ActionSheetStyles.css +0 -138
  230. package/template/src/pages/video-call/SidePanelHeader.tsx +0 -190
  231. package/template/src/pages/video-call/VideoCallMobileView.tsx +0 -139
  232. package/template/src/pages/video-call/VideoCallScreen.native.tsx +0 -37
  233. package/template/src/subComponents/ChatInput.ios.tsx +0 -237
  234. package/template/src/subComponents/EndcallPopup.tsx +0 -107
  235. package/template/src/subComponents/LayoutIconButton.tsx +0 -201
  236. package/template/src/subComponents/RemoteMutePopup.tsx +0 -193
  237. package/template/src/subComponents/RemoveMeetingPopup.tsx +0 -109
  238. package/template/src/subComponents/RemoveScreensharePopup.tsx +0 -109
  239. package/template/src/subComponents/SelectDeviceSettings.backup.tsx +0 -207
  240. package/template/src/subComponents/SidePanelHeader.tsx +0 -112
  241. package/template/src/theme/index.ts +0 -46
  242. package/template/src/utils/PlatformWrapper.tsx +0 -21
  243. package/template/src/utils/hexadecimalTransparency.ts +0 -108
  244. package/template/src/utils/pendingStateUpdateHelper.ts +0 -19
  245. package/template/src/utils/useFocus.tsx +0 -46
  246. package/template/src/utils/useIsActiveSpeaker.ts +0 -27
  247. package/template/src/utils/useIsHandRaised.ts +0 -13
  248. package/template/src/utils/useRemoteEndScreenshare.ts +0 -26
  249. package/template/src/utils/useRemoteRequest.ts +0 -84
@@ -1,147 +0,0 @@
1
- import {
2
- StyleSheet,
3
- Text,
4
- View,
5
- Modal,
6
- TouchableWithoutFeedback,
7
- ModalProps,
8
- ViewStyle,
9
- } from 'react-native';
10
- import React, {SetStateAction} from 'react';
11
- import IconButton from './IconButton';
12
- import ThemeConfig from '../theme';
13
- import hexadecimalTransparency from '../utils/hexadecimalTransparency';
14
- import {isMobileUA, useIsDesktop} from '../../src/utils/common';
15
-
16
- interface PopupProps extends ModalProps {
17
- title?: string;
18
- modalVisible: boolean;
19
- setModalVisible: React.Dispatch<SetStateAction<boolean>>;
20
- showCloseIcon?: boolean;
21
- children: React.ReactNode;
22
- contentContainerStyle?: ViewStyle;
23
- containerStyle?: ViewStyle;
24
- }
25
- const Popup = (props: PopupProps) => {
26
- const {
27
- title,
28
- modalVisible,
29
- setModalVisible,
30
- children,
31
- showCloseIcon,
32
- ...otherProps
33
- } = props;
34
-
35
- const isDesktop = useIsDesktop()('popup');
36
-
37
- return (
38
- <Modal
39
- animationType="none"
40
- transparent={true}
41
- visible={modalVisible}
42
- onRequestClose={() => {
43
- setModalVisible(false);
44
- }}
45
- {...otherProps}>
46
- <View
47
- style={[
48
- styles.centeredView,
49
- isDesktop && {alignItems: 'center'},
50
- props?.containerStyle,
51
- ]}>
52
- <TouchableWithoutFeedback
53
- onPress={() => {
54
- setModalVisible(false);
55
- }}>
56
- <View style={styles.backDrop} />
57
- </TouchableWithoutFeedback>
58
-
59
- <View style={[styles.modalView, props?.contentContainerStyle]}>
60
- {title || showCloseIcon ? (
61
- <View style={styles.header}>
62
- <Text style={styles.title}>{title}</Text>
63
- {showCloseIcon ? (
64
- <View>
65
- <IconButton
66
- hoverEffect={true}
67
- hoverEffectStyle={{
68
- backgroundColor: $config.ICON_BG_COLOR,
69
- borderRadius: 20,
70
- }}
71
- iconProps={{
72
- iconType: 'plain',
73
- iconContainerStyle: {
74
- padding: isMobileUA() ? 0 : 5,
75
- },
76
- name: 'close',
77
- tintColor: $config.SECONDARY_ACTION_COLOR,
78
- }}
79
- onPress={() => {
80
- setModalVisible(false);
81
- }}
82
- />
83
- </View>
84
- ) : (
85
- <></>
86
- )}
87
- </View>
88
- ) : (
89
- <></>
90
- )}
91
- {children}
92
- </View>
93
- </View>
94
- </Modal>
95
- );
96
- };
97
-
98
- export default Popup;
99
-
100
- const styles = StyleSheet.create({
101
- centeredView: {
102
- flex: 1,
103
- position: 'relative',
104
- justifyContent: 'center',
105
- alignItems: 'center',
106
- paddingHorizontal: 20,
107
- },
108
- modalView: {
109
- backgroundColor: $config.CARD_LAYER_1_COLOR,
110
- borderWidth: 1,
111
- borderColor: $config.CARD_LAYER_3_COLOR,
112
- borderRadius: ThemeConfig.BorderRadius.large,
113
- padding: 32,
114
- shadowColor: $config.HARD_CODED_BLACK_COLOR,
115
- shadowOffset: {
116
- width: 0,
117
- height: 2,
118
- },
119
- shadowOpacity: 0.1,
120
- shadowRadius: 4,
121
- elevation: 5,
122
- maxWidth: 650,
123
- },
124
- backDrop: {
125
- position: 'absolute',
126
- top: 0,
127
- bottom: 0,
128
- left: 0,
129
- right: 0,
130
- backgroundColor:
131
- $config.HARD_CODED_BLACK_COLOR + hexadecimalTransparency['60%'],
132
- },
133
- header: {
134
- flexDirection: 'row',
135
- justifyContent: 'space-between',
136
- alignItems: 'flex-start',
137
- marginBottom: 32,
138
- },
139
- title: {
140
- color: $config.FONT_COLOR,
141
- fontFamily: ThemeConfig.FontFamily.sansPro,
142
- fontSize: 24,
143
- lineHeight: 24,
144
- fontWeight: '600',
145
- flex: 0.9,
146
- },
147
- });
@@ -1,49 +0,0 @@
1
- import {StyleSheet, Text, View} from 'react-native';
2
- import hexadecimalTransparency from '../utils/hexadecimalTransparency';
3
- import React from 'react';
4
- import {isMobileUA} from '../utils/common';
5
-
6
- const RecordingInfo = ({recordingLabel = ''}) => {
7
- return (
8
- <View style={[styles.recordingView]}>
9
- <View style={[styles.recordingStatus]} />
10
- <Text style={styles.recordingText}>{recordingLabel}</Text>
11
- </View>
12
- );
13
- };
14
-
15
- export default RecordingInfo;
16
-
17
- const styles = StyleSheet.create({
18
- recordingView: {
19
- padding: 12,
20
- paddingVertical: isMobileUA() ? 5 : 12,
21
- flexDirection: 'row',
22
- alignItems: 'center',
23
- alignContent: 'center',
24
- justifyContent: 'center',
25
- borderRadius: 24,
26
- backgroundColor: $config.ICON_BG_COLOR,
27
- marginLeft: 8,
28
- borderWidth: 1,
29
- borderColor: $config.CARD_LAYER_3_COLOR,
30
- shadowColor: $config.HARD_CODED_BLACK_COLOR,
31
- shadowOffset: {width: 0, height: 4},
32
- shadowOpacity: 0.1,
33
- shadowRadius: 20,
34
- },
35
- recordingText: {
36
- fontSize: 12,
37
- lineHeight: 12,
38
- fontWeight: '600',
39
- fontFamily: 'Source Sans Pro',
40
- color: $config.SECONDARY_ACTION_COLOR + hexadecimalTransparency['50%'],
41
- },
42
- recordingStatus: {
43
- width: 12,
44
- height: 12,
45
- borderRadius: 6,
46
- backgroundColor: $config.SEMANTIC_ERROR,
47
- marginRight: 8,
48
- },
49
- });
@@ -1,22 +0,0 @@
1
- import {StyleSheet, Text, View} from 'react-native';
2
- import React from 'react';
3
-
4
- interface SpacerProps {
5
- size: number | string;
6
- horizontal?: boolean;
7
- }
8
-
9
- const Spacer = ({size, horizontal = false}: SpacerProps) => {
10
- return (
11
- <View
12
- style={{
13
- width: horizontal ? size : 'auto',
14
- height: !horizontal ? size : 'auto',
15
- }}
16
- />
17
- );
18
- };
19
-
20
- export default Spacer;
21
-
22
- const styles = StyleSheet.create({});
@@ -1,78 +0,0 @@
1
- import {
2
- StyleSheet,
3
- Text,
4
- TouchableOpacity,
5
- TouchableOpacityProps,
6
- ViewStyle,
7
- TextStyle,
8
- } from 'react-native';
9
- import React, {useState} from 'react';
10
- import ThemeConfig from '../theme';
11
- import hexadecimalTransparency from '../utils/hexadecimalTransparency';
12
- import {isWebInternal} from '../utils/common';
13
-
14
- interface ButtonProps extends TouchableOpacityProps {
15
- setRef?: (ref: any) => void;
16
- text?: string;
17
- children?: React.ReactNode;
18
- containerStyle?: ViewStyle;
19
- textStyle?: TextStyle;
20
- }
21
-
22
- const TertiaryButton = (props: ButtonProps) => {
23
- const {text, ...rest} = props;
24
- const [isHovered, setIsHovered] = useState();
25
- return (
26
- <PlatformWrapper setIsHovered={setIsHovered}>
27
- <TouchableOpacity
28
- ref={(ref) => props?.setRef && props.setRef(ref)}
29
- style={[
30
- styles.container,
31
- isHovered
32
- ? {
33
- backgroundColor:
34
- $config.CARD_LAYER_5_COLOR + hexadecimalTransparency['15%'],
35
- }
36
- : {},
37
- props?.containerStyle,
38
- ]}
39
- {...rest}>
40
- <Text style={[styles.text, props?.textStyle]}>{text}</Text>
41
- </TouchableOpacity>
42
- </PlatformWrapper>
43
- );
44
- };
45
- const PlatformWrapper = ({children, setIsHovered}) => {
46
- return isWebInternal() ? (
47
- <div
48
- onMouseEnter={() => {
49
- setIsHovered(true);
50
- }}
51
- onMouseLeave={() => {
52
- setIsHovered(false);
53
- }}>
54
- {children}
55
- </div>
56
- ) : (
57
- children
58
- );
59
- };
60
- export default TertiaryButton;
61
-
62
- const styles = StyleSheet.create({
63
- container: {
64
- paddingHorizontal: 12,
65
- paddingVertical: 11,
66
- borderWidth: 1,
67
- borderColor: $config.SECONDARY_ACTION_COLOR,
68
- borderRadius: ThemeConfig.BorderRadius.small,
69
- justifyContent: 'center',
70
- alignItems: 'center',
71
- },
72
- text: {
73
- color: $config.SECONDARY_ACTION_COLOR,
74
- fontFamily: ThemeConfig.FontFamily.sansPro,
75
- fontSize: ThemeConfig.FontSize.small,
76
- fontWeight: '600',
77
- },
78
- });
@@ -1,47 +0,0 @@
1
- import {StyleSheet, Text, View, Platform} from 'react-native';
2
- import React from 'react';
3
- import CustomSwitch from './CustomSwitch';
4
-
5
- interface SwitchProps {
6
- isEnabled: boolean;
7
- disabled?: boolean;
8
- toggleSwitch: (isEnabled: boolean) => void;
9
- }
10
-
11
- const Toggle = (props: SwitchProps) => {
12
- const {isEnabled, toggleSwitch, disabled = false} = props;
13
- return (
14
- <View>
15
- <CustomSwitch
16
- barHeight={20}
17
- switchWidth={16}
18
- switchHeight={16}
19
- value={isEnabled}
20
- onValueChange={toggleSwitch}
21
- disabled={false}
22
- backgroundActive={$config.PRIMARY_ACTION_BRAND_COLOR}
23
- backgroundInactive={$config.SEMANTIC_NEUTRAL}
24
- circleActiveColor={$config.CARD_LAYER_1_COLOR}
25
- circleInActiveColor={$config.CARD_LAYER_1_COLOR}
26
- // renderInsideCircle={() => <CustomComponent />} // custom component to render inside the Switch circle (Text, Image, etc.)
27
- changeValueImmediately={true} // if rendering inside circle, change state immediately or wait for animation to complete
28
- innerCircleStyle={{
29
- borderWidth: 0,
30
- alignItems: 'center',
31
- justifyContent: 'center',
32
- }} // style for inner animated circle for what you (may) be rendering inside the circle
33
- outerCircleStyle={{}} // style for outer animated circle
34
- renderActiveText={false}
35
- renderInActiveText={false}
36
- switchLeftPx={3} // denominator for logic when sliding to TRUE position. Higher number = more space from RIGHT of the circle to END of the slider
37
- switchRightPx={3} // denominator for logic when sliding to FALSE position. Higher number = more space from LEFT of the circle to BEGINNING of the slider
38
- switchWidthMultiplier={2} // multiplied by the `circleSize` prop to calculate total width of the Switch
39
- switchBorderRadius={30} // Sets the border Radius of the switch slider. If unset, it remains the circleSize.
40
- />
41
- </View>
42
- );
43
- };
44
-
45
- export default Toggle;
46
-
47
- const styles = StyleSheet.create({});
@@ -1,65 +0,0 @@
1
- import RNTooltip from 'react-native-walkthrough-tooltip';
2
- import React, {useState} from 'react';
3
- import {Pressable, Text, TouchableOpacity, View, ViewStyle} from 'react-native';
4
- import ThemeConfig from '../theme';
5
- import hexadecimalTransparency from '../utils/hexadecimalTransparency';
6
-
7
- interface TooltipProps {
8
- activeBgStyle?: ViewStyle;
9
- defaultBgStyle?: ViewStyle;
10
- renderContent: (
11
- isToolTipVisible: boolean,
12
- setToolTipVisible: React.Dispatch<React.SetStateAction<boolean>>,
13
- ) => React.ReactNode;
14
- toolTipMessage: string;
15
- toolTipIcon?: React.ReactNode;
16
- placement?: 'top' | 'bottom' | 'left' | 'right' | 'center';
17
- }
18
- const Tooltip = (props: TooltipProps) => {
19
- const [isToolTipVisible, setToolTipVisible] = useState(false);
20
- const {placement = 'top'} = props;
21
- return (
22
- <RNTooltip
23
- arrowSize={{width: 25, height: 15}}
24
- contentStyle={{
25
- borderRadius: 8,
26
- padding: 12,
27
- backgroundColor: $config.CARD_LAYER_3_COLOR,
28
- }}
29
- tooltipStyle={{
30
- shadowColor: $config.HARD_CODED_BLACK_COLOR,
31
- shadowOffset: {
32
- height: 4,
33
- width: 0,
34
- },
35
- shadowOpacity: 0.1,
36
- elevation: 5,
37
- shadowRadius: 2,
38
- }}
39
- backgroundColor={'transparent'}
40
- isVisible={isToolTipVisible}
41
- content={
42
- <View style={{flex: 1, flexDirection: 'row'}}>
43
- {props?.toolTipIcon ? props.toolTipIcon : <></>}
44
- <Text
45
- style={{
46
- color: $config.FONT_COLOR,
47
- fontFamily: ThemeConfig.FontFamily.sansPro,
48
- fontSize: 16,
49
- fontWeight: '400',
50
- }}>
51
- {props.toolTipMessage}
52
- </Text>
53
- </View>
54
- }
55
- placement={placement}
56
- onClose={() => setToolTipVisible(false)}>
57
- <Pressable
58
- style={isToolTipVisible ? props?.activeBgStyle : props?.defaultBgStyle}
59
- onPress={() => setToolTipVisible(true)}>
60
- {props.renderContent(isToolTipVisible, setToolTipVisible)}
61
- </Pressable>
62
- </RNTooltip>
63
- );
64
- };
65
- export default Tooltip;
@@ -1,94 +0,0 @@
1
- import ReactTooltip from 'react-tooltip';
2
- import React, {useState} from 'react';
3
- import {Text, View, ViewStyle} from 'react-native';
4
-
5
- interface TooltipProps {
6
- activeBgStyle?: ViewStyle;
7
- defaultBgStyle?: ViewStyle;
8
- renderContent: (
9
- isToolTipVisible: boolean,
10
- setToolTipVisible: React.Dispatch<React.SetStateAction<boolean>>,
11
- ) => React.ReactNode;
12
- toolTipMessage: string;
13
- toolTipIcon?: React.ReactNode;
14
- isClickable?: boolean;
15
- placement?: 'top' | 'bottom' | 'left' | 'right';
16
- onPress?: () => void;
17
- }
18
- const Tooltip = (props: TooltipProps) => {
19
- const [isToolTipVisible, setToolTipVisible] = useState(false);
20
- const {isClickable = false, placement = 'top'} = props;
21
- const css = `
22
- .custom-tool-tip{
23
- padding:12px;
24
- border-radius: 8px;
25
- }
26
- .custom-tool-tip div{
27
- font-family: "Source Sans Pro";
28
- font-weight: 400;
29
- font-size: 16px;
30
- }
31
- .__react_component_tooltip.show{
32
- opacity:1;
33
- }
34
- .custom-tool-tip::after {
35
- width: 20px !important;
36
- height: 20px !important;
37
- border-top-right-radius: 5px !important;
38
- bottom: -10px !important;
39
- margin-left: -10px !important;
40
- }`;
41
- const randomString = (
42
- length = 5,
43
- chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
44
- ) => {
45
- var result = '';
46
- for (var i = length; i > 0; --i)
47
- result += chars[Math.floor(Math.random() * chars.length)];
48
- return result;
49
- };
50
-
51
- const toolTipId = randomString();
52
-
53
- return (
54
- <>
55
- <div
56
- style={{cursor: isClickable ? 'pointer' : 'auto'}}
57
- data-tip
58
- data-event={isClickable ? 'click focus' : 'mouseenter'}
59
- data-event-off={isClickable ? '' : 'mouseleave'}
60
- data-for={toolTipId}
61
- onMouseEnter={() => setToolTipVisible(true)}
62
- onMouseLeave={() => {
63
- setToolTipVisible(false);
64
- }}>
65
- <View
66
- style={
67
- isToolTipVisible ? props?.activeBgStyle : props?.defaultBgStyle
68
- }>
69
- {props.renderContent(isToolTipVisible, setToolTipVisible)}
70
- </View>
71
- </div>
72
- <ReactTooltip
73
- afterShow={() => {
74
- isClickable && props?.onPress && props.onPress();
75
- }}
76
- globalEventOff="click"
77
- id={toolTipId}
78
- backgroundColor={$config.CARD_LAYER_3_COLOR}
79
- className="custom-tool-tip"
80
- place={'top'}
81
- type="dark"
82
- effect="solid">
83
- <style type="text/css">{css}</style>
84
- <View style={{flex: 1, flexDirection: 'row'}}>
85
- {props?.toolTipIcon ? props.toolTipIcon : null}
86
- <Text style={{color: $config.FONT_COLOR}}>
87
- {props.toolTipMessage}
88
- </Text>
89
- </View>
90
- </ReactTooltip>
91
- </>
92
- );
93
- };
94
- export default Tooltip;
@@ -1,60 +0,0 @@
1
- import {StyleSheet, Text, View} from 'react-native';
2
- import React from 'react';
3
- import ThemeConfig from '../theme';
4
- import {isWeb} from '../utils/common';
5
-
6
- function getInitials(name: string) {
7
- if (name && name?.length) {
8
- return name[0].toUpperCase();
9
- }
10
- return 'U';
11
- }
12
-
13
- const UserAvatar = ({name, containerStyle, textStyle}) => {
14
- return (
15
- <View
16
- style={[
17
- containerStyle,
18
- {
19
- alignSelf: 'center',
20
- alignContent: 'center',
21
- justifyContent: 'center',
22
- },
23
- ]}>
24
- <PlatformWrapper>
25
- <Text
26
- style={[
27
- textStyle,
28
- {
29
- fontFamily: ThemeConfig.FontFamily.sansPro,
30
- alignSelf: 'center',
31
- textAlign: 'center',
32
- },
33
- ]}>
34
- {getInitials(name)}
35
- </Text>
36
- </PlatformWrapper>
37
- </View>
38
- );
39
- };
40
-
41
- const PlatformWrapper = ({children}) => {
42
- return isWeb() ? (
43
- <div
44
- style={{
45
- userSelect: 'none',
46
- MozUserSelect: 'none',
47
- WebkitUserSelect: 'none',
48
- msUserSelect: 'none',
49
- alignSelf: 'center',
50
- }}>
51
- {children}
52
- </div>
53
- ) : (
54
- <>{children}</>
55
- );
56
- };
57
-
58
- export default UserAvatar;
59
-
60
- const styles = StyleSheet.create({});
@@ -1,44 +0,0 @@
1
- import {StyleSheet} from 'react-native';
2
- import ThemeConfig from '../theme';
3
- const CommonStyles = StyleSheet.create({
4
- sidePanelContainerWeb: {
5
- flex: 1,
6
- maxWidth: '20%',
7
- minWidth: 338,
8
- borderRadius: ThemeConfig.BorderRadius.small,
9
- marginLeft: 12,
10
- backgroundColor: $config.CARD_LAYER_1_COLOR,
11
- borderColor: $config.CARD_LAYER_3_COLOR,
12
- borderWidth: 1,
13
- shadowColor: $config.HARD_CODED_BLACK_COLOR,
14
- shadowOpacity: 0.2,
15
- shadowOffset: {width: 0, height: 0},
16
- shadowRadius: 20,
17
- overflow: 'hidden',
18
- },
19
- sidePanelContainerNative: {
20
- zIndex: 5,
21
- width: '100%',
22
- height: '100%',
23
- },
24
- sidePanelContainerWebMinimzed: {
25
- position: 'absolute',
26
- zIndex: 5,
27
- width: '96%',
28
- height: '96%',
29
- right: '2%',
30
- left: '2%',
31
- top: '2%',
32
- bottom: '2%',
33
- borderRadius: ThemeConfig.BorderRadius.small,
34
- backgroundColor: $config.CARD_LAYER_1_COLOR,
35
- borderColor: $config.CARD_LAYER_3_COLOR,
36
- borderWidth: 1,
37
- shadowColor: $config.HARD_CODED_BLACK_COLOR,
38
- shadowOpacity: 0.2,
39
- shadowOffset: {width: 0, height: 0},
40
- shadowRadius: 20,
41
- overflow: 'hidden',
42
- },
43
- });
44
- export default CommonStyles;
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- import Toast from '../../react-native-toast-message';
3
- import ToastConfig from '../subComponents/ToastConfig';
4
-
5
- const ToastComponent = () => {
6
- return <Toast ref={(ref) => Toast.setRef(ref)} config={ToastConfig} />;
7
- };
8
- export default ToastComponent;