@stream-io/video-react-native-sdk 0.0.1-alpha.366 → 0.0.1-alpha.368

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 (151) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/__tests__/components/CallControls.test.js +11 -7
  3. package/dist/__tests__/components/CallControls.test.js.map +1 -1
  4. package/dist/src/components/call/CallControls/AcceptCallButton.d.ts +22 -0
  5. package/dist/src/components/call/CallControls/AcceptCallButton.js +39 -0
  6. package/dist/src/components/call/CallControls/AcceptCallButton.js.map +1 -0
  7. package/dist/src/components/call/CallControls/CallControls.d.ts +16 -0
  8. package/dist/src/components/call/CallControls/CallControls.js +38 -0
  9. package/dist/src/components/call/CallControls/CallControls.js.map +1 -0
  10. package/dist/src/components/{utility/internal → call/CallControls}/CallControlsButton.d.ts +5 -1
  11. package/dist/src/components/{utility/internal → call/CallControls}/CallControlsButton.js +12 -7
  12. package/dist/src/components/call/CallControls/CallControlsButton.js.map +1 -0
  13. package/dist/src/components/call/CallControls/ChatButton.d.ts +20 -0
  14. package/dist/src/components/call/CallControls/ChatButton.js +58 -0
  15. package/dist/src/components/call/CallControls/ChatButton.js.map +1 -0
  16. package/dist/src/components/{utility/internal → call/CallControls}/HangupCallButton.d.ts +12 -1
  17. package/dist/src/components/{utility/internal → call/CallControls}/HangupCallButton.js +10 -16
  18. package/dist/src/components/call/CallControls/HangupCallButton.js.map +1 -0
  19. package/dist/src/components/call/CallControls/ReactionButton.d.ts +14 -0
  20. package/dist/src/components/call/CallControls/ReactionButton.js +76 -0
  21. package/dist/src/components/call/CallControls/ReactionButton.js.map +1 -0
  22. package/dist/src/components/call/CallControls/RejectCallButton.d.ts +23 -0
  23. package/dist/src/components/call/CallControls/RejectCallButton.js +45 -0
  24. package/dist/src/components/call/CallControls/RejectCallButton.js.map +1 -0
  25. package/dist/src/components/call/CallControls/ToggleAudioPreviewButton.d.ts +14 -0
  26. package/dist/src/components/call/CallControls/ToggleAudioPreviewButton.js +39 -0
  27. package/dist/src/components/call/CallControls/ToggleAudioPreviewButton.js.map +1 -0
  28. package/dist/src/components/call/CallControls/ToggleAudioPublishingButton.d.ts +14 -0
  29. package/dist/src/components/{utility/internal/ToggleAudioButton.js → call/CallControls/ToggleAudioPublishingButton.js} +14 -23
  30. package/dist/src/components/call/CallControls/ToggleAudioPublishingButton.js.map +1 -0
  31. package/dist/src/components/call/CallControls/ToggleCameraFaceButton.d.ts +14 -0
  32. package/dist/src/components/{utility/internal → call/CallControls}/ToggleCameraFaceButton.js +12 -16
  33. package/dist/src/components/call/CallControls/ToggleCameraFaceButton.js.map +1 -0
  34. package/dist/src/components/call/CallControls/ToggleVideoPreviewButton.d.ts +14 -0
  35. package/dist/src/components/call/CallControls/ToggleVideoPreviewButton.js +39 -0
  36. package/dist/src/components/call/CallControls/ToggleVideoPreviewButton.js.map +1 -0
  37. package/dist/src/components/call/CallControls/ToggleVideoPublishingButton.d.ts +14 -0
  38. package/dist/src/components/{utility/internal/ToggleVideoButton.js → call/CallControls/ToggleVideoPublishingButton.js} +14 -23
  39. package/dist/src/components/call/CallControls/ToggleVideoPublishingButton.js.map +1 -0
  40. package/dist/src/components/call/CallControls/index.d.ts +11 -0
  41. package/dist/src/components/call/CallControls/index.js +28 -0
  42. package/dist/src/components/call/CallControls/index.js.map +1 -0
  43. package/dist/src/components/call/CallTopView/CallTopView.d.ts +22 -0
  44. package/dist/src/components/call/CallTopView/CallTopView.js +106 -0
  45. package/dist/src/components/call/CallTopView/CallTopView.js.map +1 -0
  46. package/dist/src/components/call/CallTopView/ParticipantsInfoBadge.d.ts +7 -0
  47. package/dist/src/components/call/CallTopView/ParticipantsInfoBadge.js +52 -0
  48. package/dist/src/components/call/CallTopView/ParticipantsInfoBadge.js.map +1 -0
  49. package/dist/src/components/call/CallTopView/index.d.ts +2 -0
  50. package/dist/src/components/call/CallTopView/index.js +19 -0
  51. package/dist/src/components/call/CallTopView/index.js.map +1 -0
  52. package/dist/src/components/call/IncomingCall.js +10 -75
  53. package/dist/src/components/call/IncomingCall.js.map +1 -1
  54. package/dist/src/components/call/Lobby.js +8 -30
  55. package/dist/src/components/call/Lobby.js.map +1 -1
  56. package/dist/src/components/call/OutgoingCall.d.ts +1 -1
  57. package/dist/src/components/call/OutgoingCall.js +5 -15
  58. package/dist/src/components/call/OutgoingCall.js.map +1 -1
  59. package/dist/src/components/call/ReactionsPicker.js +3 -3
  60. package/dist/src/components/call/ReactionsPicker.js.map +1 -1
  61. package/dist/src/components/call/index.d.ts +1 -0
  62. package/dist/src/components/call/index.js +1 -0
  63. package/dist/src/components/call/index.js.map +1 -1
  64. package/dist/src/components/participants/index.d.ts +0 -2
  65. package/dist/src/components/participants/index.js +0 -2
  66. package/dist/src/components/participants/index.js.map +1 -1
  67. package/dist/src/icons/Back.d.ts +5 -0
  68. package/dist/src/icons/Back.js +13 -0
  69. package/dist/src/icons/Back.js.map +1 -0
  70. package/dist/src/icons/TopViewBackground.d.ts +13 -0
  71. package/dist/src/icons/TopViewBackground.js +19 -0
  72. package/dist/src/icons/TopViewBackground.js.map +1 -0
  73. package/dist/src/icons/index.d.ts +1 -4
  74. package/dist/src/icons/index.js +1 -4
  75. package/dist/src/icons/index.js.map +1 -1
  76. package/dist/src/theme/padding.js +1 -1
  77. package/dist/src/translations/en.json +1 -0
  78. package/dist/src/translations/index.d.ts +1 -0
  79. package/dist/version.d.ts +1 -1
  80. package/dist/version.js +1 -1
  81. package/package.json +1 -1
  82. package/src/components/call/CallControls/AcceptCallButton.tsx +58 -0
  83. package/src/components/call/CallControls/CallControls.tsx +48 -0
  84. package/src/components/{utility/internal → call/CallControls}/CallControlsButton.tsx +18 -10
  85. package/src/components/call/CallControls/ChatButton.tsx +87 -0
  86. package/src/components/{utility/internal → call/CallControls}/HangupCallButton.tsx +17 -18
  87. package/src/components/call/CallControls/ReactionButton.tsx +80 -0
  88. package/src/components/call/CallControls/RejectCallButton.tsx +65 -0
  89. package/src/components/call/CallControls/ToggleAudioPreviewButton.tsx +61 -0
  90. package/src/components/{utility/internal/ToggleAudioButton.tsx → call/CallControls/ToggleAudioPublishingButton.tsx} +24 -24
  91. package/src/components/{utility/internal → call/CallControls}/ToggleCameraFaceButton.tsx +26 -19
  92. package/src/components/call/CallControls/ToggleVideoPreviewButton.tsx +61 -0
  93. package/src/components/{utility/internal/ToggleVideoButton.tsx → call/CallControls/ToggleVideoPublishingButton.tsx} +24 -24
  94. package/src/components/call/CallControls/index.tsx +11 -0
  95. package/src/components/call/CallTopView/CallTopView.tsx +130 -0
  96. package/src/components/call/CallTopView/ParticipantsInfoBadge.tsx +61 -0
  97. package/src/components/call/CallTopView/index.ts +2 -0
  98. package/src/components/call/IncomingCall.tsx +8 -76
  99. package/src/components/call/Lobby.tsx +10 -55
  100. package/src/components/call/OutgoingCall.tsx +5 -38
  101. package/src/components/call/ReactionsPicker.tsx +3 -3
  102. package/src/components/call/index.ts +1 -0
  103. package/src/components/participants/index.ts +0 -2
  104. package/src/icons/Back.tsx +15 -0
  105. package/src/icons/TopViewBackground.tsx +43 -0
  106. package/src/icons/index.tsx +1 -4
  107. package/src/theme/padding.ts +1 -1
  108. package/src/translations/en.json +1 -0
  109. package/dist/__tests__/components/ParticipantBadge.test.d.ts +0 -1
  110. package/dist/__tests__/components/ParticipantBadge.test.js +0 -70
  111. package/dist/__tests__/components/ParticipantBadge.test.js.map +0 -1
  112. package/dist/src/components/call/CallControls.d.ts +0 -35
  113. package/dist/src/components/call/CallControls.js +0 -136
  114. package/dist/src/components/call/CallControls.js.map +0 -1
  115. package/dist/src/components/participants/ParticipantsInfoBadge.d.ts +0 -8
  116. package/dist/src/components/participants/ParticipantsInfoBadge.js +0 -74
  117. package/dist/src/components/participants/ParticipantsInfoBadge.js.map +0 -1
  118. package/dist/src/components/participants/ParticipantsInfoList.d.ts +0 -17
  119. package/dist/src/components/participants/ParticipantsInfoList.js +0 -243
  120. package/dist/src/components/participants/ParticipantsInfoList.js.map +0 -1
  121. package/dist/src/components/participants/internal/ParticipantActions.d.ts +0 -8
  122. package/dist/src/components/participants/internal/ParticipantActions.js +0 -236
  123. package/dist/src/components/participants/internal/ParticipantActions.js.map +0 -1
  124. package/dist/src/components/utility/internal/CallControlsButton.js.map +0 -1
  125. package/dist/src/components/utility/internal/HangupCallButton.js.map +0 -1
  126. package/dist/src/components/utility/internal/ToggleAudioButton.d.ts +0 -1
  127. package/dist/src/components/utility/internal/ToggleAudioButton.js.map +0 -1
  128. package/dist/src/components/utility/internal/ToggleCameraFaceButton.d.ts +0 -1
  129. package/dist/src/components/utility/internal/ToggleCameraFaceButton.js.map +0 -1
  130. package/dist/src/components/utility/internal/ToggleVideoButton.d.ts +0 -1
  131. package/dist/src/components/utility/internal/ToggleVideoButton.js.map +0 -1
  132. package/dist/src/icons/ArrowRight.d.ts +0 -5
  133. package/dist/src/icons/ArrowRight.js +0 -13
  134. package/dist/src/icons/ArrowRight.js.map +0 -1
  135. package/dist/src/icons/Cross.d.ts +0 -6
  136. package/dist/src/icons/Cross.js +0 -13
  137. package/dist/src/icons/Cross.js.map +0 -1
  138. package/dist/src/icons/Pin.d.ts +0 -5
  139. package/dist/src/icons/Pin.js +0 -13
  140. package/dist/src/icons/Pin.js.map +0 -1
  141. package/dist/src/icons/VideoDisabled.d.ts +0 -5
  142. package/dist/src/icons/VideoDisabled.js +0 -14
  143. package/dist/src/icons/VideoDisabled.js.map +0 -1
  144. package/src/components/call/CallControls.tsx +0 -195
  145. package/src/components/participants/ParticipantsInfoBadge.tsx +0 -70
  146. package/src/components/participants/ParticipantsInfoList.tsx +0 -319
  147. package/src/components/participants/internal/ParticipantActions.tsx +0 -289
  148. package/src/icons/ArrowRight.tsx +0 -17
  149. package/src/icons/Cross.tsx +0 -15
  150. package/src/icons/Pin.tsx +0 -17
  151. package/src/icons/VideoDisabled.tsx +0 -23
@@ -1,289 +0,0 @@
1
- import {
2
- OwnCapability,
3
- SfuModels,
4
- StreamVideoParticipant,
5
- } from '@stream-io/video-client';
6
- import {
7
- Cross,
8
- Mic,
9
- MicOff,
10
- Pin,
11
- ScreenShare,
12
- Video,
13
- VideoDisabled,
14
- VideoSlash,
15
- } from '../../../icons';
16
- import { Pressable, StyleSheet, Text, View } from 'react-native';
17
- import { generateParticipantTitle } from '../../../utils';
18
- import React, { useCallback } from 'react';
19
- import { Avatar } from '../../utility/Avatar';
20
- import { theme } from '../../../theme';
21
- import {
22
- useCall,
23
- useHasPermissions,
24
- useI18n,
25
- } from '@stream-io/video-react-bindings';
26
- import { palette } from '../../../theme/constants';
27
-
28
- type CallParticipantOptionType = {
29
- title: string;
30
- icon?: JSX.Element;
31
- onPressHandler: () => void;
32
- };
33
-
34
- type ParticipantActionsType = {
35
- participant: StreamVideoParticipant | undefined;
36
- setSelectedParticipant: React.Dispatch<
37
- React.SetStateAction<StreamVideoParticipant | undefined>
38
- >;
39
- };
40
-
41
- export const ParticipantActions = (props: ParticipantActionsType) => {
42
- const { participant, setSelectedParticipant } = props;
43
- const call = useCall();
44
- const { t } = useI18n();
45
- const userHasMuteUsersCapability = useHasPermissions(
46
- OwnCapability.MUTE_USERS,
47
- );
48
- const userHasUpdateCallPermissionsCapability = useHasPermissions(
49
- OwnCapability.UPDATE_CALL_PERMISSIONS,
50
- );
51
- const userHasBlockUserCapability = useHasPermissions(
52
- OwnCapability.BLOCK_USERS,
53
- );
54
- const onCloseParticipantOptions = useCallback(() => {
55
- setSelectedParticipant(undefined);
56
- }, [setSelectedParticipant]);
57
-
58
- if (!participant) {
59
- return null;
60
- }
61
-
62
- const grantPermission = async (permission: string) => {
63
- await call?.updateUserPermissions({
64
- user_id: participant.userId,
65
- grant_permissions: [permission],
66
- });
67
- };
68
-
69
- const revokePermission = async (permission: string) => {
70
- await call?.updateUserPermissions({
71
- user_id: participant.userId,
72
- revoke_permissions: [permission],
73
- });
74
- };
75
-
76
- const muteUser = async (mediaType: 'audio' | 'video') => {
77
- await call?.muteUser(participant.userId, mediaType);
78
- };
79
-
80
- const muteUserAudio = async () => {
81
- await muteUser('audio');
82
- };
83
-
84
- const muteUserVideo = async () => {
85
- await muteUser('video');
86
- };
87
-
88
- const blockUser = async () => {
89
- await call?.blockUser(participant.userId);
90
- };
91
-
92
- const toggleParticipantPinnedAt = () => {
93
- if (participant.pin) {
94
- call?.unpin(participant.sessionId);
95
- } else {
96
- call?.pin(participant.sessionId);
97
- }
98
- };
99
-
100
- const participantPublishesVideo = participant.publishedTracks.includes(
101
- SfuModels.TrackType.VIDEO,
102
- );
103
- const participantPublishesAudio = participant.publishedTracks.includes(
104
- SfuModels.TrackType.AUDIO,
105
- );
106
-
107
- const muteUserVideoOption = participantPublishesVideo
108
- ? {
109
- icon: <VideoSlash color={theme.dark.text_high_emphasis} />,
110
- title: 'Mute Video',
111
- onPressHandler: muteUserVideo,
112
- }
113
- : null;
114
-
115
- const muteUserAudioOption = participantPublishesAudio
116
- ? {
117
- icon: <MicOff color={theme.dark.text_high_emphasis} />,
118
- title: 'Mute Audio',
119
- onPressHandler: muteUserAudio,
120
- }
121
- : null;
122
- const muteUserCapabilities: (CallParticipantOptionType | null)[] =
123
- userHasMuteUsersCapability
124
- ? [muteUserVideoOption, muteUserAudioOption]
125
- : [];
126
-
127
- const updateCallPermissionsCapabilities: (CallParticipantOptionType | null)[] =
128
- userHasUpdateCallPermissionsCapability
129
- ? [
130
- {
131
- icon: <VideoDisabled color={theme.dark.text_high_emphasis} />,
132
- title: 'Disable Video',
133
- onPressHandler: async () =>
134
- await revokePermission(OwnCapability.SEND_VIDEO),
135
- },
136
- {
137
- icon: <MicOff color={theme.dark.text_high_emphasis} />,
138
- title: 'Disable Audio',
139
- onPressHandler: async () =>
140
- await revokePermission(OwnCapability.SEND_AUDIO),
141
- },
142
- {
143
- icon: <Mic color={theme.dark.text_high_emphasis} />,
144
- title: 'Allow Audio',
145
- onPressHandler: async () =>
146
- await grantPermission(OwnCapability.SEND_AUDIO),
147
- },
148
- {
149
- icon: <Video color={theme.dark.text_high_emphasis} />,
150
- title: 'Allow Video',
151
- onPressHandler: async () =>
152
- await grantPermission(OwnCapability.SEND_VIDEO),
153
- },
154
- {
155
- icon: <ScreenShare color={theme.dark.text_high_emphasis} />,
156
- title: 'Allow Screen Sharing',
157
- onPressHandler: async () =>
158
- await grantPermission(OwnCapability.SCREENSHARE),
159
- },
160
- {
161
- icon: <Cross color={theme.dark.text_high_emphasis} />,
162
- title: 'Disable Screen Sharing',
163
- onPressHandler: async () =>
164
- await revokePermission(OwnCapability.SCREENSHARE),
165
- },
166
- ]
167
- : [];
168
-
169
- const blockCapabilities: (CallParticipantOptionType | null)[] =
170
- userHasBlockUserCapability
171
- ? [
172
- {
173
- icon: <Cross color={theme.dark.text_high_emphasis} />,
174
- title: 'Block',
175
- onPressHandler: blockUser,
176
- },
177
- ]
178
- : [];
179
-
180
- const isLocalPinningAllowed = !participant.pin || participant.pin.isLocalPin;
181
- const pinParticipant: CallParticipantOptionType | null = isLocalPinningAllowed
182
- ? {
183
- icon: <Pin color={theme.dark.text_high_emphasis} />,
184
- title: participant.pin ? 'Unpin' : 'Pin',
185
- onPressHandler: toggleParticipantPinnedAt,
186
- }
187
- : null;
188
-
189
- const options: (CallParticipantOptionType | null)[] = [
190
- pinParticipant,
191
- ...blockCapabilities,
192
- ...muteUserCapabilities,
193
- ...updateCallPermissionsCapabilities,
194
- ];
195
-
196
- const showYouLabel = participant.isLocalParticipant;
197
-
198
- return (
199
- <View style={styles.outerContainer}>
200
- <View style={styles.modalContainer}>
201
- <View style={styles.participantInfo}>
202
- <View style={styles.userInfo}>
203
- <Avatar size={theme.avatar.xs} participant={participant} />
204
- <Text style={styles.name}>
205
- {generateParticipantTitle(participant.userId) +
206
- (showYouLabel ? ` ${t('You')}` : '')}
207
- </Text>
208
- </View>
209
- <Pressable
210
- style={styles.closePressable}
211
- onPress={onCloseParticipantOptions}
212
- >
213
- <Cross color={theme.dark.primary} style={theme.icon.xs} />
214
- </Pressable>
215
- </View>
216
- {options.map((option, index) => {
217
- if (!option) {
218
- return null;
219
- }
220
- const applyBottomPadding =
221
- index < options.length - 1 ? styles.borderBottom : null;
222
-
223
- const onPressHandler = () => {
224
- option?.onPressHandler();
225
- onCloseParticipantOptions();
226
- };
227
-
228
- return (
229
- <Pressable
230
- style={[applyBottomPadding, styles.option]}
231
- key={option.title}
232
- onPress={onPressHandler}
233
- >
234
- <View style={theme.icon.sm}>{option.icon}</View>
235
- <Text style={styles.title}>{option.title}</Text>
236
- </Pressable>
237
- );
238
- })}
239
- </View>
240
- </View>
241
- );
242
- };
243
-
244
- const styles = StyleSheet.create({
245
- outerContainer: {
246
- justifyContent: 'center',
247
- flex: 1,
248
- },
249
- modalContainer: {
250
- backgroundColor: theme.dark.bars,
251
- borderRadius: theme.rounded.md,
252
- marginHorizontal: theme.margin.xl,
253
- },
254
- participantInfo: {
255
- flexDirection: 'row',
256
- justifyContent: 'space-between',
257
- alignItems: 'flex-start',
258
- padding: theme.padding.md,
259
- },
260
- userInfo: {
261
- flexDirection: 'row',
262
- alignItems: 'center',
263
- },
264
- name: {
265
- marginLeft: theme.margin.sm,
266
- ...theme.fonts.subtitleBold,
267
- color: theme.dark.text_high_emphasis,
268
- },
269
- option: {
270
- paddingHorizontal: theme.padding.lg,
271
- paddingVertical: theme.padding.md,
272
- flexDirection: 'row',
273
- alignItems: 'center',
274
- },
275
- title: {
276
- marginLeft: theme.margin.md,
277
- color: theme.dark.text_high_emphasis,
278
- ...theme.fonts.subtitle,
279
- },
280
- borderBottom: {
281
- borderBottomColor: theme.dark.borders,
282
- borderBottomWidth: 1,
283
- },
284
- closePressable: {
285
- padding: theme.padding.sm,
286
- borderRadius: theme.rounded.xs,
287
- backgroundColor: palette.grey800,
288
- },
289
- });
@@ -1,17 +0,0 @@
1
- import React from 'react';
2
- import { Svg, Path } from 'react-native-svg';
3
-
4
- type Props = {
5
- color: string;
6
- };
7
-
8
- export const ArrowRight = ({ color }: Props) => (
9
- <Svg viewBox="0 0 8 15">
10
- <Path
11
- clipRule="evenodd"
12
- fillRule="evenodd"
13
- d="M 0.553016 2.50028 L 5.3299 7.5 L 0.553016 12.4997 C 0.111957 12.9585 0.111957 13.6972 0.553016 14.1559 C 0.994074 14.6147 1.71173 14.6147 2.14531 14.1559 L 7.66975 8.37864 C 7.9015 8.1376 8.01363 7.8188 7.99868 7.5 C 8.01363 7.1812 7.9015 6.8624 7.66975 6.62136 L 2.14531 0.84407 C 1.70425 0.385308 0.986598 0.385308 0.553016 0.84407 C 0.111957 1.30283 0.111957 2.04152 0.553016 2.50028 Z"
14
- fill={color}
15
- />
16
- </Svg>
17
- );
@@ -1,15 +0,0 @@
1
- import React from 'react';
2
- import { Svg, Path, SvgProps } from 'react-native-svg';
3
-
4
- type Props = {
5
- color: string;
6
- } & Pick<SvgProps, 'style'>;
7
-
8
- export const Cross = ({ color, style }: Props) => (
9
- <Svg viewBox="0 0 12 13" style={style}>
10
- <Path
11
- d="M 0.322153 11.8408 C 0.700083 12.2188 1.34168 12.21 1.71083 11.8408 L 5.99989 7.56055 L 10.2802 11.8408 C 10.6493 12.21 11.2909 12.2188 11.6688 11.8408 C 12.0468 11.4629 12.038 10.8213 11.6688 10.4521 L 7.38856 6.16309 L 11.6688 1.88281 C 12.038 1.51367 12.0468 0.87207 11.6688 0.494141 C 11.2909 0.116211 10.6493 0.125 10.2802 0.494141 L 5.99989 4.77441 L 1.71083 0.485352 C 1.34168 0.125 0.700083 0.116211 0.322153 0.494141 C -0.0557764 0.87207 -0.0469874 1.51367 0.322153 1.88281 L 4.60243 6.16309 L 0.322153 10.4521 C -0.0469874 10.8213 -0.0557764 11.4629 0.322153 11.8408 Z"
12
- fill={color}
13
- />
14
- </Svg>
15
- );
package/src/icons/Pin.tsx DELETED
@@ -1,17 +0,0 @@
1
- import React from 'react';
2
- import { Svg, Path } from 'react-native-svg';
3
-
4
- type Props = {
5
- color: string;
6
- };
7
-
8
- export const Pin = ({ color }: Props) => (
9
- <Svg viewBox="0 0 24 24">
10
- <Path
11
- fill={color}
12
- fillRule="evenodd"
13
- clipRule="evenodd"
14
- d="M 16.041 0.293372 C 15.7956 0.0479219 15.4405 -0.0529382 15.1027 0.0268118 C 14.7649 0.106562 14.4924 0.355552 14.3826 0.684852 L 13.7492 2.58516 L 8.0804 8.25401 C 5.69213 7.71299 2.39999 9.68517 0.293348 11.7918 C -0.0977825 12.1829 -0.0977825 12.8171 0.293348 13.2082 L 4.8344 17.7493 L 1.70985 20.8738 C 1.31872 21.265 1.31872 21.8991 1.70985 22.2902 C 2.10098 22.6814 2.73513 22.6814 3.12626 22.2902 L 6.2508 19.1657 L 10.7918 23.7067 C 11.1829 24.0978 11.8171 24.0978 12.2082 23.7067 C 14.3148 21.6 16.287 18.3079 15.746 15.9196 L 21.4148 10.2508 L 23.3151 9.61735 C 23.6444 9.50758 23.8934 9.23514 23.9732 8.89731 C 24.0529 8.55948 23.9521 8.20444 23.7066 7.95899 L 16.041 0.293372 Z M 15.5748 3.4429 L 15.7705 2.85567 L 21.1443 8.2295 L 20.5571 8.42525 C 20.4096 8.47441 20.2756 8.55725 20.1656 8.6672 L 13.9164 14.9164 C 13.6481 15.1847 13.5545 15.5814 13.6744 15.9413 C 14.1518 17.3733 12.8573 19.8847 11.4693 21.5514 L 2.44861 12.5307 C 4.11529 11.1427 6.62666 9.84822 8.0587 10.3256 C 8.4186 10.4455 8.8153 10.3519 9.0836 10.0836 L 15.3328 3.83438 C 15.4427 3.72444 15.5256 3.59041 15.5748 3.4429 Z"
15
- />
16
- </Svg>
17
- );
@@ -1,23 +0,0 @@
1
- import React from 'react';
2
- import { Svg, Path } from 'react-native-svg';
3
-
4
- type Props = {
5
- color: string;
6
- };
7
-
8
- export const VideoDisabled = ({ color }: Props) => (
9
- <Svg viewBox="0 0 24 24">
10
- <Path
11
- d="M 22.1126 16.2238 L 19.1546 13.6686 V 8.37994 L 22.1126 5.82471 L 22.1127 5.82476 L 22.1205 5.81781 C 22.4413 5.53481 22.6269 5.49515 22.686 5.49515 C 22.8267 5.49515 22.8809 5.53948 22.9048 5.56519 C 22.9344 5.59687 23 5.69295 23 5.91262 V 16.1359 C 23 16.3556 22.9344 16.4517 22.9048 16.4833 C 22.8809 16.5091 22.8267 16.5534 22.686 16.5534 C 22.634 16.5534 22.4383 16.5111 22.1205 16.2307 L 22.1206 16.2307 L 22.1126 16.2238 Z M 13.4493 18 H 3.28502 C 2.41817 18 1.87542 17.7686 1.55341 17.4618 C 1.23884 17.162 1 16.6616 1 15.835 V 6.23301 C 1 5.4144 1.24841 4.88792 1.58386 4.5637 C 1.92432 4.23463 2.47262 4 3.28502 4 H 13.5266 C 14.3853 4 14.898 4.23821 15.1995 4.54532 C 15.5041 4.85542 15.7343 5.37926 15.7343 6.23301 V 15.767 C 15.7343 16.6029 15.4949 17.126 15.1733 17.4423 C 14.8492 17.7609 14.3088 18 13.4493 18 Z"
12
- fill={'none'}
13
- stroke={color}
14
- strokeWidth={2}
15
- />
16
- <Path
17
- d="M 5.79311 7.27924 C 5.38794 6.90692 4.73102 6.90692 4.32585 7.27924 C 3.92068 7.65156 3.92068 8.25521 4.32585 8.62753 L 6.90766 11 L 4.32586 13.3725 C 3.92069 13.7448 3.92069 14.3484 4.32586 14.7208 C 4.73103 15.0931 5.38795 15.0931 5.79312 14.7208 L 8.37492 12.3483 L 10.9567 14.7208 C 11.3619 15.0931 12.0188 15.0931 12.424 14.7208 C 12.8291 14.3484 12.8291 13.7448 12.424 13.3725 L 9.84217 11 L 12.424 8.62754 C 12.8291 8.25521 12.8291 7.65156 12.424 7.27924 C 12.0188 6.90692 11.3619 6.90692 10.9567 7.27924 L 8.37492 9.65171 L 5.79311 7.27924 Z"
18
- fill={color}
19
- fillRule="evenodd"
20
- clipRule="evenodd"
21
- />
22
- </Svg>
23
- );