@plusscommunities/pluss-core-app 8.0.29 → 8.0.31

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 (210) hide show
  1. package/dist/module/actions/FollowerActions.js +34 -0
  2. package/dist/module/actions/FollowerActions.js.map +1 -0
  3. package/dist/module/actions/MediaActions.js +29 -0
  4. package/dist/module/actions/MediaActions.js.map +1 -0
  5. package/dist/module/actions/ResidentActions.js +26 -0
  6. package/dist/module/actions/ResidentActions.js.map +1 -0
  7. package/dist/module/actions/UserActions.js +223 -0
  8. package/dist/module/actions/UserActions.js.map +1 -0
  9. package/dist/module/actions/UserSettingsActions.js +14 -0
  10. package/dist/module/actions/UserSettingsActions.js.map +1 -0
  11. package/dist/module/actions/index.js +6 -0
  12. package/dist/module/actions/index.js.map +1 -0
  13. package/dist/module/actions/types.js +17 -0
  14. package/dist/module/actions/types.js.map +1 -0
  15. package/dist/module/apis/analyticsActions.js +20 -0
  16. package/dist/module/apis/analyticsActions.js.map +1 -0
  17. package/dist/module/apis/contactActions.js +27 -0
  18. package/dist/module/apis/contactActions.js.map +1 -0
  19. package/dist/module/apis/eventActions.js +161 -0
  20. package/dist/module/apis/eventActions.js.map +1 -0
  21. package/dist/module/apis/fileActions.js +93 -0
  22. package/dist/module/apis/fileActions.js.map +1 -0
  23. package/dist/module/apis/followerActions.js +38 -0
  24. package/dist/module/apis/followerActions.js.map +1 -0
  25. package/dist/module/apis/index.js +13 -0
  26. package/dist/module/apis/index.js.map +1 -0
  27. package/dist/module/apis/notificationActions.js +60 -0
  28. package/dist/module/apis/notificationActions.js.map +1 -0
  29. package/dist/module/apis/profileActions.js +14 -0
  30. package/dist/module/apis/profileActions.js.map +1 -0
  31. package/dist/module/apis/reactionActions.js +76 -0
  32. package/dist/module/apis/reactionActions.js.map +1 -0
  33. package/dist/module/apis/settingActions.js +22 -0
  34. package/dist/module/apis/settingActions.js.map +1 -0
  35. package/dist/module/apis/stringActions.js +30 -0
  36. package/dist/module/apis/stringActions.js.map +1 -0
  37. package/dist/module/apis/typeActions.js +15 -0
  38. package/dist/module/apis/typeActions.js.map +1 -0
  39. package/dist/module/apis/userActions.js +104 -0
  40. package/dist/module/apis/userActions.js.map +1 -0
  41. package/dist/module/assets/icons/fontawesome/fa-brands-400.ttf +0 -0
  42. package/dist/module/assets/icons/fontawesome/fa-light-300.ttf +0 -0
  43. package/dist/module/assets/icons/fontawesome/fa-regular-400.ttf +0 -0
  44. package/dist/module/assets/icons/fontawesome/fa-solid-900.ttf +0 -0
  45. package/dist/module/assets/icons/fontawesome/fa-thin-100.ttf +0 -0
  46. package/dist/module/assets/icons/fontawesome/fa7-glyphmap.json +4205 -0
  47. package/dist/module/assets/icons/reactions/heart.png +0 -0
  48. package/dist/module/assets/icons/reactions/party.png +0 -0
  49. package/dist/module/assets/icons/reactions/sad.png +0 -0
  50. package/dist/module/assets/icons/reactions/smile.png +0 -0
  51. package/dist/module/colours.js +165 -0
  52. package/dist/module/colours.js.map +1 -0
  53. package/dist/module/components/AddButton.js +43 -0
  54. package/dist/module/components/AddButton.js.map +1 -0
  55. package/dist/module/components/AddToCalendarButton.js +225 -0
  56. package/dist/module/components/AddToCalendarButton.js.map +1 -0
  57. package/dist/module/components/Attachment.js +55 -0
  58. package/dist/module/components/Attachment.js.map +1 -0
  59. package/dist/module/components/AudienceSelectorLauncher.js +64 -0
  60. package/dist/module/components/AudienceSelectorLauncher.js.map +1 -0
  61. package/dist/module/components/AudienceSelectorPage.js +351 -0
  62. package/dist/module/components/AudienceSelectorPage.js.map +1 -0
  63. package/dist/module/components/AutoOffsetImage.js +184 -0
  64. package/dist/module/components/AutoOffsetImage.js.map +1 -0
  65. package/dist/module/components/BackButton.js +58 -0
  66. package/dist/module/components/BackButton.js.map +1 -0
  67. package/dist/module/components/CalendarPopup.js +126 -0
  68. package/dist/module/components/CalendarPopup.js.map +1 -0
  69. package/dist/module/components/CategoryTabs.js +155 -0
  70. package/dist/module/components/CategoryTabs.js.map +1 -0
  71. package/dist/module/components/CommentReply.js +334 -0
  72. package/dist/module/components/CommentReply.js.map +1 -0
  73. package/dist/module/components/CommentSection.js +823 -0
  74. package/dist/module/components/CommentSection.js.map +1 -0
  75. package/dist/module/components/ConfirmPopup.js +109 -0
  76. package/dist/module/components/ConfirmPopup.js.map +1 -0
  77. package/dist/module/components/ConfirmationPopup.js +72 -0
  78. package/dist/module/components/ConfirmationPopup.js.map +1 -0
  79. package/dist/module/components/DocumentUploader.js +253 -0
  80. package/dist/module/components/DocumentUploader.js.map +1 -0
  81. package/dist/module/components/DropDownItem.js +75 -0
  82. package/dist/module/components/DropDownItem.js.map +1 -0
  83. package/dist/module/components/DropDownMenu.js +41 -0
  84. package/dist/module/components/DropDownMenu.js.map +1 -0
  85. package/dist/module/components/EmptyStateMain.js +51 -0
  86. package/dist/module/components/EmptyStateMain.js.map +1 -0
  87. package/dist/module/components/EmptyStateWidget.js +48 -0
  88. package/dist/module/components/EmptyStateWidget.js.map +1 -0
  89. package/dist/module/components/FontScaleButton.js +37 -0
  90. package/dist/module/components/FontScaleButton.js.map +1 -0
  91. package/dist/module/components/FontScalePopup.js +76 -0
  92. package/dist/module/components/FontScalePopup.js.map +1 -0
  93. package/dist/module/components/Forbidden.js +58 -0
  94. package/dist/module/components/Forbidden.js.map +1 -0
  95. package/dist/module/components/FormCard.js +25 -0
  96. package/dist/module/components/FormCard.js.map +1 -0
  97. package/dist/module/components/FormCardSection.js +214 -0
  98. package/dist/module/components/FormCardSection.js.map +1 -0
  99. package/dist/module/components/FormCardSectionOptionLauncher.js +73 -0
  100. package/dist/module/components/FormCardSectionOptionLauncher.js.map +1 -0
  101. package/dist/module/components/FormattedText.js +133 -0
  102. package/dist/module/components/FormattedText.js.map +1 -0
  103. package/dist/module/components/GenericInput.js +151 -0
  104. package/dist/module/components/GenericInput.js.map +1 -0
  105. package/dist/module/components/GenericInputSection.js +173 -0
  106. package/dist/module/components/GenericInputSection.js.map +1 -0
  107. package/dist/module/components/Header.js +459 -0
  108. package/dist/module/components/Header.js.map +1 -0
  109. package/dist/module/components/Icon.js +109 -0
  110. package/dist/module/components/Icon.js.map +1 -0
  111. package/dist/module/components/ImagePopup.js +400 -0
  112. package/dist/module/components/ImagePopup.js.map +1 -0
  113. package/dist/module/components/ImageUploadProgress.js +69 -0
  114. package/dist/module/components/ImageUploadProgress.js.map +1 -0
  115. package/dist/module/components/ImageUploader.js +831 -0
  116. package/dist/module/components/ImageUploader.js.map +1 -0
  117. package/dist/module/components/InlineButton.js +66 -0
  118. package/dist/module/components/InlineButton.js.map +1 -0
  119. package/dist/module/components/Input.js +156 -0
  120. package/dist/module/components/Input.js.map +1 -0
  121. package/dist/module/components/LoadingCircles.js +219 -0
  122. package/dist/module/components/LoadingCircles.js.map +1 -0
  123. package/dist/module/components/LoadingIndicator.js +86 -0
  124. package/dist/module/components/LoadingIndicator.js.map +1 -0
  125. package/dist/module/components/LoadingStateWidget.js +46 -0
  126. package/dist/module/components/LoadingStateWidget.js.map +1 -0
  127. package/dist/module/components/MediaPlayer.js +407 -0
  128. package/dist/module/components/MediaPlayer.js.map +1 -0
  129. package/dist/module/components/MiddlePopup.js +49 -0
  130. package/dist/module/components/MiddlePopup.js.map +1 -0
  131. package/dist/module/components/PDFPopup.js +296 -0
  132. package/dist/module/components/PDFPopup.js.map +1 -0
  133. package/dist/module/components/PlussChat.js +1078 -0
  134. package/dist/module/components/PlussChat.js.map +1 -0
  135. package/dist/module/components/PlussChatMessage.js +299 -0
  136. package/dist/module/components/PlussChatMessage.js.map +1 -0
  137. package/dist/module/components/PlussChatTime.js +59 -0
  138. package/dist/module/components/PlussChatTime.js.map +1 -0
  139. package/dist/module/components/Popup.js +126 -0
  140. package/dist/module/components/Popup.js.map +1 -0
  141. package/dist/module/components/PopupMenu.js +120 -0
  142. package/dist/module/components/PopupMenu.js.map +1 -0
  143. package/dist/module/components/PositionedImage.js +313 -0
  144. package/dist/module/components/PositionedImage.js.map +1 -0
  145. package/dist/module/components/ProfilePic.js +105 -0
  146. package/dist/module/components/ProfilePic.js.map +1 -0
  147. package/dist/module/components/RadioButton.js +78 -0
  148. package/dist/module/components/RadioButton.js.map +1 -0
  149. package/dist/module/components/Reaction.js +117 -0
  150. package/dist/module/components/Reaction.js.map +1 -0
  151. package/dist/module/components/Reactions.js +71 -0
  152. package/dist/module/components/Reactions.js.map +1 -0
  153. package/dist/module/components/SharingTools.js +189 -0
  154. package/dist/module/components/SharingTools.js.map +1 -0
  155. package/dist/module/components/Spinner.js +22 -0
  156. package/dist/module/components/Spinner.js.map +1 -0
  157. package/dist/module/components/StickyFooter.js +34 -0
  158. package/dist/module/components/StickyFooter.js.map +1 -0
  159. package/dist/module/components/Text.js +57 -0
  160. package/dist/module/components/Text.js.map +1 -0
  161. package/dist/module/components/TickIcon.js +24 -0
  162. package/dist/module/components/TickIcon.js.map +1 -0
  163. package/dist/module/components/Toggle.js +66 -0
  164. package/dist/module/components/Toggle.js.map +1 -0
  165. package/dist/module/components/TouchableSearchBar.js +68 -0
  166. package/dist/module/components/TouchableSearchBar.js.map +1 -0
  167. package/dist/module/components/UserListPopup.js +136 -0
  168. package/dist/module/components/UserListPopup.js.map +1 -0
  169. package/dist/module/components/UserListing.js +268 -0
  170. package/dist/module/components/UserListing.js.map +1 -0
  171. package/dist/module/components/VideoPopup.js +113 -0
  172. package/dist/module/components/VideoPopup.js.map +1 -0
  173. package/dist/module/components/WarningPopup.js +85 -0
  174. package/dist/module/components/WarningPopup.js.map +1 -0
  175. package/dist/module/components/expo-image-picker-multiple/ImageBrowser.js +289 -0
  176. package/dist/module/components/expo-image-picker-multiple/ImageBrowser.js.map +1 -0
  177. package/dist/module/components/expo-image-picker-multiple/ImageTile.js +117 -0
  178. package/dist/module/components/expo-image-picker-multiple/ImageTile.js.map +1 -0
  179. package/dist/module/components/index.js +60 -0
  180. package/dist/module/components/index.js.map +1 -0
  181. package/dist/module/components/react-native-expo-image-cropper/ExpoImageManipulator.js +422 -0
  182. package/dist/module/components/react-native-expo-image-cropper/ExpoImageManipulator.js.map +1 -0
  183. package/dist/module/components/react-native-expo-image-cropper/ImageCropOverlay.js +387 -0
  184. package/dist/module/components/react-native-expo-image-cropper/ImageCropOverlay.js.map +1 -0
  185. package/dist/module/config.js +27 -0
  186. package/dist/module/config.js.map +1 -0
  187. package/dist/module/constants.js +18 -0
  188. package/dist/module/constants.js.map +1 -0
  189. package/dist/module/helper.js +424 -0
  190. package/dist/module/helper.js.map +1 -0
  191. package/dist/module/index.js +13 -0
  192. package/dist/module/index.js.map +1 -0
  193. package/dist/module/js/images/detectFaces.js +31 -0
  194. package/dist/module/js/images/detectFaces.js.map +1 -0
  195. package/dist/module/js/images/findLandmarkRange.js +93 -0
  196. package/dist/module/js/images/findLandmarkRange.js.map +1 -0
  197. package/dist/module/js/images/getScaledOffset.js +81 -0
  198. package/dist/module/js/images/getScaledOffset.js.map +1 -0
  199. package/dist/module/js/site/getSiteLevelFromState.js +29 -0
  200. package/dist/module/js/site/getSiteLevelFromState.js.map +1 -0
  201. package/dist/module/js/site/isTVEnabled.js +10 -0
  202. package/dist/module/js/site/isTVEnabled.js.map +1 -0
  203. package/dist/module/session.js +58 -0
  204. package/dist/module/session.js.map +1 -0
  205. package/dist/module/styles.js +67 -0
  206. package/dist/module/styles.js.map +1 -0
  207. package/dist/module/withNavigationFocus.js +30 -0
  208. package/dist/module/withNavigationFocus.js.map +1 -0
  209. package/package.json +1 -1
  210. package/src/components/PDFPopup.js +130 -35
@@ -0,0 +1,289 @@
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
+ import React from "react";
5
+ import { StyleSheet, View, FlatList, Dimensions, ActivityIndicator, Platform } from "react-native";
6
+ import _ from "lodash";
7
+ import * as ScreenOrientation from "expo-screen-orientation";
8
+ import * as MediaLibrary from "expo-media-library";
9
+ import { Camera } from "expo-camera";
10
+ import { isVideo } from "../../helper";
11
+ import ImageTile from "./ImageTile";
12
+ const {
13
+ width
14
+ } = Dimensions.get("window");
15
+ const defaultSelectionLimit = 10;
16
+ const defaultLoadCount = 50;
17
+ export default class ImageBrowser extends React.Component {
18
+ constructor(props) {
19
+ super(props);
20
+ _defineProperty(this, "isLocal", () => {
21
+ return _.isNil(this.props.remoteAlbums);
22
+ });
23
+ _defineProperty(this, "getPermissionsAsync", async () => {
24
+ const {
25
+ status: camera
26
+ } = await Camera.requestCameraPermissionsAsync();
27
+ const {
28
+ status: cameraRoll
29
+ } = await MediaLibrary.requestPermissionsAsync();
30
+ this.setState({
31
+ hasCameraPermission: camera === "granted",
32
+ hasCameraRollPermission: cameraRoll === "granted"
33
+ });
34
+ });
35
+ _defineProperty(this, "onOrientationChange", ({
36
+ orientationInfo
37
+ }) => {
38
+ ScreenOrientation.removeOrientationChangeListeners();
39
+ ScreenOrientation.addOrientationChangeListener(this.onOrientationChange);
40
+ const numColumns = this.getNumColumns(orientationInfo.orientation);
41
+ this.setState({
42
+ numColumns
43
+ });
44
+ });
45
+ _defineProperty(this, "getNumColumns", orientation => orientation === ScreenOrientation.Orientation.PORTRAIT_UP || orientation === ScreenOrientation.Orientation.PORTRAIT_DOWN ? 4 : 7);
46
+ _defineProperty(this, "isVideoSelected", () => {
47
+ return this.state.selected.find(uri => {
48
+ const photo = this.state.photos.find(photo => photo.uri === uri);
49
+ return photo && photo.mediaType === MediaLibrary.MediaType.video;
50
+ });
51
+ });
52
+ _defineProperty(this, "checkSelection", item => {
53
+ let videoSelected = this.isVideoSelected();
54
+ let newSelected = [...this.state.selected];
55
+
56
+ // Check video/photo selection
57
+ if (item.mediaType === MediaLibrary.MediaType.video) {
58
+ if (videoSelected && videoSelected !== item.uri) {
59
+ // If different video is already selected, reset
60
+ videoSelected = null;
61
+ newSelected = [];
62
+ } else if (!videoSelected && newSelected.length > 0) {
63
+ // If photos selected, don't allow selecting video
64
+ videoSelected = null;
65
+ newSelected = [];
66
+ }
67
+ // Toggle video selected
68
+ videoSelected = videoSelected !== item.uri ? item.uri : null;
69
+ } else if (videoSelected) {
70
+ // If video selected, reset
71
+ videoSelected = null;
72
+ newSelected = [];
73
+ }
74
+
75
+ // Check multiple selection
76
+ const selectionLimit = this.props.max || defaultSelectionLimit;
77
+ if (selectionLimit && selectionLimit > 1) {
78
+ // Limit selection
79
+ if (newSelected.length === selectionLimit && newSelected.indexOf(item.uri) === -1) return {
80
+ isFull: true
81
+ };
82
+ } else {
83
+ // Force single selection
84
+ if (newSelected.length > 0 && newSelected[0] !== item.uri) newSelected = [];
85
+ }
86
+ return {
87
+ newSelected,
88
+ videoSelected
89
+ };
90
+ });
91
+ _defineProperty(this, "selectImage", item => {
92
+ const {
93
+ newSelected,
94
+ videoSelected,
95
+ isFull
96
+ } = this.checkSelection(item);
97
+ if (isFull) return;
98
+ if (newSelected.indexOf(item.uri) === -1) {
99
+ newSelected.push(item.uri);
100
+ } else {
101
+ const deleteIndex = newSelected.indexOf(item.uri);
102
+ newSelected.splice(deleteIndex, 1);
103
+ }
104
+ if (newSelected.length > this.props.max) return;
105
+ if (!newSelected) newSelected = [];
106
+ this.setState({
107
+ selected: newSelected
108
+ });
109
+ this.props.onChange(newSelected, videoSelected, () => this.prepareCallback());
110
+ });
111
+ _defineProperty(this, "getPhotos", (reset = false) => {
112
+ const {
113
+ remoteAlbums,
114
+ allowVideo,
115
+ loadCount,
116
+ album
117
+ } = this.props;
118
+ if (this.isLocal()) {
119
+ // Retrieve local photos
120
+ const mediaType = [MediaLibrary.MediaType.photo];
121
+ if (allowVideo) mediaType.push(MediaLibrary.MediaType.video);
122
+ const params = {
123
+ first: loadCount || defaultLoadCount,
124
+ mediaType,
125
+ album: album || undefined,
126
+ sortBy: [Platform.OS === "android" ? "modificationTime" : "creationTime"]
127
+ };
128
+ if (reset) {
129
+ this.setState({
130
+ photos: [],
131
+ after: null,
132
+ hasNextPage: true
133
+ });
134
+ } else {
135
+ if (this.state.after) params.after = this.state.after;
136
+ if (!this.state.hasNextPage) return;
137
+ }
138
+ MediaLibrary.getAssetsAsync(params).then(this.processPhotos);
139
+ } else {
140
+ var _selectedAlbum$images;
141
+ // Use remote albums
142
+ const selectedAlbum = remoteAlbums.find(item => item.id === album);
143
+ if (selectedAlbum && ((_selectedAlbum$images = selectedAlbum.images) === null || _selectedAlbum$images === void 0 ? void 0 : _selectedAlbum$images.length) > 0) {
144
+ const ordered = _.orderBy(selectedAlbum.images, "date", "desc");
145
+ this.setState({
146
+ photos: ordered.map(image => {
147
+ return {
148
+ uri: image.uri,
149
+ mediaType: isVideo(image.uri) ? MediaLibrary.MediaType.video : MediaLibrary.MediaType.photo
150
+ };
151
+ }),
152
+ isEmpty: false
153
+ });
154
+ } else {
155
+ this.setState({
156
+ photos: [],
157
+ isEmpty: true
158
+ });
159
+ }
160
+ }
161
+ });
162
+ _defineProperty(this, "processPhotos", data => {
163
+ if (data.totalCount) {
164
+ if (this.state.after === data.endCursor) return;
165
+ const uris = data.assets;
166
+ this.setState({
167
+ photos: [...this.state.photos, ...uris],
168
+ after: data.endCursor,
169
+ hasNextPage: data.hasNextPage
170
+ });
171
+ } else {
172
+ this.setState({
173
+ isEmpty: true
174
+ });
175
+ }
176
+ });
177
+ _defineProperty(this, "getItemLayout", (data, index) => {
178
+ const length = this.props.itemWidth || width / 4;
179
+ return {
180
+ length,
181
+ offset: length * index,
182
+ index
183
+ };
184
+ });
185
+ _defineProperty(this, "renderImageTile", ({
186
+ item,
187
+ index
188
+ }) => {
189
+ if (!item) return null;
190
+ const selectedIndex = this.state.selected.indexOf(item.uri);
191
+ const selected = selectedIndex !== -1;
192
+ return /*#__PURE__*/React.createElement(ImageTile, {
193
+ selectedItemNumber: selectedIndex + 1,
194
+ item: item,
195
+ index: index,
196
+ selected: selected,
197
+ selectImage: this.selectImage,
198
+ renderSelectedComponent: this.props.renderSelectedComponent,
199
+ style: this.props.itemStyle,
200
+ width: this.props.itemWidth,
201
+ height: this.props.itemHeight,
202
+ isRemote: !this.isLocal()
203
+ });
204
+ });
205
+ _defineProperty(this, "renderPreloader", () => this.props.preloaderComponent || /*#__PURE__*/React.createElement(ActivityIndicator, {
206
+ size: "large"
207
+ }));
208
+ _defineProperty(this, "renderEmptyState", () => this.props.emptyStateComponent || null);
209
+ this.state = {
210
+ hasCameraPermission: null,
211
+ hasCameraRollPermission: null,
212
+ numColumns: null,
213
+ photos: [],
214
+ selected: [],
215
+ isEmpty: false,
216
+ after: null,
217
+ hasNextPage: true
218
+ };
219
+ }
220
+ async componentDidMount() {
221
+ if (this.isLocal()) await this.getPermissionsAsync();
222
+ ScreenOrientation.addOrientationChangeListener(this.onOrientationChange);
223
+ const orientation = await ScreenOrientation.getOrientationAsync();
224
+ const numColumns = this.getNumColumns(orientation);
225
+ this.setState({
226
+ numColumns
227
+ }, () => {
228
+ this.getPhotos();
229
+ });
230
+ }
231
+ componentDidUpdate(prevProps) {
232
+ if (prevProps.album !== this.props.album) this.getPhotos(true);
233
+ if (!_.isEqual(prevProps.selected, this.props.selected)) {
234
+ this.setState({
235
+ selected: this.props.selected
236
+ });
237
+ }
238
+ }
239
+ prepareCallback() {
240
+ const {
241
+ selected,
242
+ photos
243
+ } = this.state;
244
+ const selectedPhotos = selected.map(uri => photos.find(p => p.uri === uri));
245
+ if (this.isLocal()) {
246
+ const assetsInfo = Promise.all(selectedPhotos.map(p => MediaLibrary.getAssetInfoAsync(p)));
247
+ this.props.callback(assetsInfo);
248
+ } else {
249
+ // No need to retrieve local assets
250
+ this.props.callback(selectedPhotos);
251
+ }
252
+ }
253
+ renderImages() {
254
+ if (_.isEmpty(this.state.photos) && !this.state.isEmpty) {
255
+ return null;
256
+ }
257
+ return /*#__PURE__*/React.createElement(FlatList, {
258
+ data: this.state.photos,
259
+ numColumns: this.state.numColumns,
260
+ key: this.state.numColumns,
261
+ renderItem: this.renderImageTile,
262
+ keyExtractor: (_, index) => index,
263
+ onEndReached: () => {
264
+ if (this.isLocal()) this.getPhotos();
265
+ },
266
+ onEndReachedThreshold: 0.5,
267
+ ListEmptyComponent: this.state.isEmpty ? this.renderEmptyState() : this.renderPreloader(),
268
+ initialNumToRender: 24,
269
+ getItemLayout: this.getItemLayout
270
+ });
271
+ }
272
+ render() {
273
+ const {
274
+ hasCameraPermission
275
+ } = this.state;
276
+ if (this.isLocal() && !hasCameraPermission) {
277
+ return this.props.noCameraPermissionComponent || null;
278
+ }
279
+ return /*#__PURE__*/React.createElement(View, {
280
+ style: [styles.container, this.props.style]
281
+ }, this.renderImages());
282
+ }
283
+ }
284
+ const styles = StyleSheet.create({
285
+ container: {
286
+ flex: 1
287
+ }
288
+ });
289
+ //# sourceMappingURL=ImageBrowser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","FlatList","Dimensions","ActivityIndicator","Platform","_","ScreenOrientation","MediaLibrary","Camera","isVideo","ImageTile","width","get","defaultSelectionLimit","defaultLoadCount","ImageBrowser","Component","constructor","props","_defineProperty","isNil","remoteAlbums","status","camera","requestCameraPermissionsAsync","cameraRoll","requestPermissionsAsync","setState","hasCameraPermission","hasCameraRollPermission","orientationInfo","removeOrientationChangeListeners","addOrientationChangeListener","onOrientationChange","numColumns","getNumColumns","orientation","Orientation","PORTRAIT_UP","PORTRAIT_DOWN","state","selected","find","uri","photo","photos","mediaType","MediaType","video","item","videoSelected","isVideoSelected","newSelected","length","selectionLimit","max","indexOf","isFull","checkSelection","push","deleteIndex","splice","onChange","prepareCallback","reset","allowVideo","loadCount","album","isLocal","params","first","undefined","sortBy","OS","after","hasNextPage","getAssetsAsync","then","processPhotos","_selectedAlbum$images","selectedAlbum","id","images","ordered","orderBy","map","image","isEmpty","data","totalCount","endCursor","uris","assets","index","itemWidth","offset","selectedIndex","createElement","selectedItemNumber","selectImage","renderSelectedComponent","style","itemStyle","height","itemHeight","isRemote","preloaderComponent","size","emptyStateComponent","componentDidMount","getPermissionsAsync","getOrientationAsync","getPhotos","componentDidUpdate","prevProps","isEqual","selectedPhotos","p","assetsInfo","Promise","all","getAssetInfoAsync","callback","renderImages","key","renderItem","renderImageTile","keyExtractor","onEndReached","onEndReachedThreshold","ListEmptyComponent","renderEmptyState","renderPreloader","initialNumToRender","getItemLayout","render","noCameraPermissionComponent","styles","container","create","flex"],"sources":["ImageBrowser.js"],"sourcesContent":["import React from \"react\";\nimport {\n\tStyleSheet,\n\tView,\n\tFlatList,\n\tDimensions,\n\tActivityIndicator,\n\tPlatform,\n} from \"react-native\";\nimport _ from \"lodash\";\nimport * as ScreenOrientation from \"expo-screen-orientation\";\nimport * as MediaLibrary from \"expo-media-library\";\nimport { Camera } from \"expo-camera\";\nimport { isVideo } from \"../../helper\";\nimport ImageTile from \"./ImageTile\";\n\nconst { width } = Dimensions.get(\"window\");\nconst defaultSelectionLimit = 10;\nconst defaultLoadCount = 50;\n\nexport default class ImageBrowser extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\thasCameraPermission: null,\n\t\t\thasCameraRollPermission: null,\n\t\t\tnumColumns: null,\n\t\t\tphotos: [],\n\t\t\tselected: [],\n\t\t\tisEmpty: false,\n\t\t\tafter: null,\n\t\t\thasNextPage: true,\n\t\t};\n\t}\n\n\tasync componentDidMount() {\n\t\tif (this.isLocal()) await this.getPermissionsAsync();\n\n\t\tScreenOrientation.addOrientationChangeListener(this.onOrientationChange);\n\t\tconst orientation = await ScreenOrientation.getOrientationAsync();\n\t\tconst numColumns = this.getNumColumns(orientation);\n\t\tthis.setState({ numColumns }, () => {\n\t\t\tthis.getPhotos();\n\t\t});\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (prevProps.album !== this.props.album) this.getPhotos(true);\n\t\tif (!_.isEqual(prevProps.selected, this.props.selected)) {\n\t\t\tthis.setState({ selected: this.props.selected });\n\t\t}\n\t}\n\n\tisLocal = () => {\n\t\treturn _.isNil(this.props.remoteAlbums);\n\t};\n\n\tgetPermissionsAsync = async () => {\n\t\tconst { status: camera } = await Camera.requestCameraPermissionsAsync();\n\t\tconst { status: cameraRoll } = await MediaLibrary.requestPermissionsAsync();\n\t\tthis.setState({\n\t\t\thasCameraPermission: camera === \"granted\",\n\t\t\thasCameraRollPermission: cameraRoll === \"granted\",\n\t\t});\n\t};\n\n\tonOrientationChange = ({ orientationInfo }) => {\n\t\tScreenOrientation.removeOrientationChangeListeners();\n\t\tScreenOrientation.addOrientationChangeListener(this.onOrientationChange);\n\t\tconst numColumns = this.getNumColumns(orientationInfo.orientation);\n\t\tthis.setState({ numColumns });\n\t};\n\n\tgetNumColumns = (orientation) =>\n\t\torientation === ScreenOrientation.Orientation.PORTRAIT_UP ||\n\t\torientation === ScreenOrientation.Orientation.PORTRAIT_DOWN\n\t\t\t? 4\n\t\t\t: 7;\n\n\tisVideoSelected = () => {\n\t\treturn this.state.selected.find((uri) => {\n\t\t\tconst photo = this.state.photos.find((photo) => photo.uri === uri);\n\t\t\treturn photo && photo.mediaType === MediaLibrary.MediaType.video;\n\t\t});\n\t};\n\n\tcheckSelection = (item) => {\n\t\tlet videoSelected = this.isVideoSelected();\n\t\tlet newSelected = [...this.state.selected];\n\n\t\t// Check video/photo selection\n\t\tif (item.mediaType === MediaLibrary.MediaType.video) {\n\t\t\tif (videoSelected && videoSelected !== item.uri) {\n\t\t\t\t// If different video is already selected, reset\n\t\t\t\tvideoSelected = null;\n\t\t\t\tnewSelected = [];\n\t\t\t} else if (!videoSelected && newSelected.length > 0) {\n\t\t\t\t// If photos selected, don't allow selecting video\n\t\t\t\tvideoSelected = null;\n\t\t\t\tnewSelected = [];\n\t\t\t}\n\t\t\t// Toggle video selected\n\t\t\tvideoSelected = videoSelected !== item.uri ? item.uri : null;\n\t\t} else if (videoSelected) {\n\t\t\t// If video selected, reset\n\t\t\tvideoSelected = null;\n\t\t\tnewSelected = [];\n\t\t}\n\n\t\t// Check multiple selection\n\t\tconst selectionLimit = this.props.max || defaultSelectionLimit;\n\t\tif (selectionLimit && selectionLimit > 1) {\n\t\t\t// Limit selection\n\t\t\tif (\n\t\t\t\tnewSelected.length === selectionLimit &&\n\t\t\t\tnewSelected.indexOf(item.uri) === -1\n\t\t\t)\n\t\t\t\treturn { isFull: true };\n\t\t} else {\n\t\t\t// Force single selection\n\t\t\tif (newSelected.length > 0 && newSelected[0] !== item.uri)\n\t\t\t\tnewSelected = [];\n\t\t}\n\n\t\treturn { newSelected, videoSelected };\n\t};\n\n\tselectImage = (item) => {\n\t\tconst { newSelected, videoSelected, isFull } = this.checkSelection(item);\n\t\tif (isFull) return;\n\n\t\tif (newSelected.indexOf(item.uri) === -1) {\n\t\t\tnewSelected.push(item.uri);\n\t\t} else {\n\t\t\tconst deleteIndex = newSelected.indexOf(item.uri);\n\t\t\tnewSelected.splice(deleteIndex, 1);\n\t\t}\n\t\tif (newSelected.length > this.props.max) return;\n\t\tif (!newSelected) newSelected = [];\n\t\tthis.setState({ selected: newSelected });\n\t\tthis.props.onChange(newSelected, videoSelected, () =>\n\t\t\tthis.prepareCallback(),\n\t\t);\n\t};\n\n\tgetPhotos = (reset = false) => {\n\t\tconst { remoteAlbums, allowVideo, loadCount, album } = this.props;\n\n\t\tif (this.isLocal()) {\n\t\t\t// Retrieve local photos\n\t\t\tconst mediaType = [MediaLibrary.MediaType.photo];\n\t\t\tif (allowVideo) mediaType.push(MediaLibrary.MediaType.video);\n\n\t\t\tconst params = {\n\t\t\t\tfirst: loadCount || defaultLoadCount,\n\t\t\t\tmediaType,\n\t\t\t\talbum: album || undefined,\n\t\t\t\tsortBy: [\n\t\t\t\t\tPlatform.OS === \"android\" ? \"modificationTime\" : \"creationTime\",\n\t\t\t\t],\n\t\t\t};\n\t\t\tif (reset) {\n\t\t\t\tthis.setState({ photos: [], after: null, hasNextPage: true });\n\t\t\t} else {\n\t\t\t\tif (this.state.after) params.after = this.state.after;\n\t\t\t\tif (!this.state.hasNextPage) return;\n\t\t\t}\n\t\t\tMediaLibrary.getAssetsAsync(params).then(this.processPhotos);\n\t\t} else {\n\t\t\t// Use remote albums\n\t\t\tconst selectedAlbum = remoteAlbums.find((item) => item.id === album);\n\t\t\tif (selectedAlbum && selectedAlbum.images?.length > 0) {\n\t\t\t\tconst ordered = _.orderBy(selectedAlbum.images, \"date\", \"desc\");\n\t\t\t\tthis.setState({\n\t\t\t\t\tphotos: ordered.map((image) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\turi: image.uri,\n\t\t\t\t\t\t\tmediaType: isVideo(image.uri)\n\t\t\t\t\t\t\t\t? MediaLibrary.MediaType.video\n\t\t\t\t\t\t\t\t: MediaLibrary.MediaType.photo,\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t\t\tisEmpty: false,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({ photos: [], isEmpty: true });\n\t\t\t}\n\t\t}\n\t};\n\n\tprocessPhotos = (data) => {\n\t\tif (data.totalCount) {\n\t\t\tif (this.state.after === data.endCursor) return;\n\t\t\tconst uris = data.assets;\n\t\t\tthis.setState({\n\t\t\t\tphotos: [...this.state.photos, ...uris],\n\t\t\t\tafter: data.endCursor,\n\t\t\t\thasNextPage: data.hasNextPage,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState({ isEmpty: true });\n\t\t}\n\t};\n\n\tgetItemLayout = (data, index) => {\n\t\tconst length = this.props.itemWidth || width / 4;\n\t\treturn { length, offset: length * index, index };\n\t};\n\n\tprepareCallback() {\n\t\tconst { selected, photos } = this.state;\n\t\tconst selectedPhotos = selected.map((uri) =>\n\t\t\tphotos.find((p) => p.uri === uri),\n\t\t);\n\t\tif (this.isLocal()) {\n\t\t\tconst assetsInfo = Promise.all(\n\t\t\t\tselectedPhotos.map((p) => MediaLibrary.getAssetInfoAsync(p)),\n\t\t\t);\n\t\t\tthis.props.callback(assetsInfo);\n\t\t} else {\n\t\t\t// No need to retrieve local assets\n\t\t\tthis.props.callback(selectedPhotos);\n\t\t}\n\t}\n\n\trenderImageTile = ({ item, index }) => {\n\t\tif (!item) return null;\n\n\t\tconst selectedIndex = this.state.selected.indexOf(item.uri);\n\t\tconst selected = selectedIndex !== -1;\n\n\t\treturn (\n\t\t\t<ImageTile\n\t\t\t\tselectedItemNumber={selectedIndex + 1}\n\t\t\t\titem={item}\n\t\t\t\tindex={index}\n\t\t\t\tselected={selected}\n\t\t\t\tselectImage={this.selectImage}\n\t\t\t\trenderSelectedComponent={this.props.renderSelectedComponent}\n\t\t\t\tstyle={this.props.itemStyle}\n\t\t\t\twidth={this.props.itemWidth}\n\t\t\t\theight={this.props.itemHeight}\n\t\t\t\tisRemote={!this.isLocal()}\n\t\t\t/>\n\t\t);\n\t};\n\n\trenderPreloader = () =>\n\t\tthis.props.preloaderComponent || <ActivityIndicator size=\"large\" />;\n\n\trenderEmptyState = () => this.props.emptyStateComponent || null;\n\n\trenderImages() {\n\t\tif (_.isEmpty(this.state.photos) && !this.state.isEmpty) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<FlatList\n\t\t\t\tdata={this.state.photos}\n\t\t\t\tnumColumns={this.state.numColumns}\n\t\t\t\tkey={this.state.numColumns}\n\t\t\t\trenderItem={this.renderImageTile}\n\t\t\t\tkeyExtractor={(_, index) => index}\n\t\t\t\tonEndReached={() => {\n\t\t\t\t\tif (this.isLocal()) this.getPhotos();\n\t\t\t\t}}\n\t\t\t\tonEndReachedThreshold={0.5}\n\t\t\t\tListEmptyComponent={\n\t\t\t\t\tthis.state.isEmpty ? this.renderEmptyState() : this.renderPreloader()\n\t\t\t\t}\n\t\t\t\tinitialNumToRender={24}\n\t\t\t\tgetItemLayout={this.getItemLayout}\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { hasCameraPermission } = this.state;\n\n\t\tif (this.isLocal() && !hasCameraPermission) {\n\t\t\treturn this.props.noCameraPermissionComponent || null;\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={[styles.container, this.props.style]}>\n\t\t\t\t{this.renderImages()}\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst styles = StyleSheet.create({\n\tcontainer: {\n\t\tflex: 1,\n\t},\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,117 @@
1
+ import React from "react";
2
+ import { Text } from "@plusscommunities/pluss-core-app/components";
3
+ import { Dimensions, ImageBackground, TouchableHighlight, View, StyleSheet } from "react-native";
4
+ import * as MediaLibrary from "expo-media-library";
5
+ import { Icon } from "@rneui/themed";
6
+ import moment from "moment";
7
+ import { getThumb300 } from "../../helper";
8
+ const screenWidth = Dimensions.get("window").width;
9
+ class ImageTile extends React.PureComponent {
10
+ renderVideoOverlay() {
11
+ const {
12
+ item
13
+ } = this.props;
14
+ if (item.mediaType !== MediaLibrary.MediaType.video) return null;
15
+ let durationText = "";
16
+ if (item.duration) {
17
+ const duration = moment.duration(item.duration, "seconds").asMilliseconds();
18
+ durationText = moment.utc(duration).format("HH:mm:ss");
19
+ }
20
+ return /*#__PURE__*/React.createElement(View, {
21
+ style: styles.defaultVideoOverlay
22
+ }, /*#__PURE__*/React.createElement(Icon, {
23
+ name: "video-camera",
24
+ type: "font-awesome",
25
+ iconStyle: styles.videoIcon,
26
+ style: styles.videoIconContainer
27
+ }), /*#__PURE__*/React.createElement(Text, {
28
+ style: styles.videoDurationText
29
+ }, durationText));
30
+ }
31
+ renderSelectedOverlay() {
32
+ const {
33
+ selected,
34
+ selectedItemNumber,
35
+ renderSelectedComponent
36
+ } = this.props;
37
+ if (!selected) return null;
38
+ if (renderSelectedComponent) return renderSelectedComponent(selectedItemNumber);
39
+ return /*#__PURE__*/React.createElement(View, {
40
+ style: [styles.defaultSelectedOverlay, {
41
+ opacity: selected ? 0.5 : 1
42
+ }]
43
+ });
44
+ }
45
+ render() {
46
+ const {
47
+ item,
48
+ index,
49
+ selectImage,
50
+ width,
51
+ height,
52
+ style,
53
+ isRemote
54
+ } = this.props;
55
+ if (!item) return null;
56
+ const actualWidth = width || screenWidth / 4;
57
+ const actualHeight = height || screenWidth / 4;
58
+ const uri = isRemote ? getThumb300(item.uri) : item.uri;
59
+ return /*#__PURE__*/React.createElement(TouchableHighlight, {
60
+ underlayColor: "transparent",
61
+ onPress: () => selectImage(item, index)
62
+ }, /*#__PURE__*/React.createElement(View, {
63
+ style: [{
64
+ width: actualWidth,
65
+ height: actualHeight
66
+ }, style]
67
+ }, /*#__PURE__*/React.createElement(View, {
68
+ style: styles.imageContainer
69
+ }, /*#__PURE__*/React.createElement(ImageBackground, {
70
+ style: styles.imageBackground,
71
+ source: {
72
+ uri
73
+ }
74
+ }, this.renderVideoOverlay(), this.renderSelectedOverlay()))));
75
+ }
76
+ }
77
+ const styles = StyleSheet.create({
78
+ imageContainer: {
79
+ flex: 1,
80
+ alignItems: "center",
81
+ justifyContent: "center"
82
+ },
83
+ imageBackground: {
84
+ width: "100%",
85
+ height: "100%"
86
+ },
87
+ defaultSelectedOverlay: {
88
+ flex: 1,
89
+ backgroundColor: "#000"
90
+ },
91
+ defaultVideoOverlay: {
92
+ position: "absolute",
93
+ left: 3,
94
+ bottom: 3,
95
+ right: 3,
96
+ flexDirection: "row",
97
+ justifyContent: "space-between",
98
+ alignItems: "center"
99
+ },
100
+ videoIconContainer: {
101
+ flex: 1,
102
+ paddingRight: 8,
103
+ paddingBottom: 1
104
+ },
105
+ videoIcon: {
106
+ fontSize: 12,
107
+ color: "#fff",
108
+ textAlign: "right"
109
+ },
110
+ videoDurationText: {
111
+ fontFamily: "sf-semibold",
112
+ fontSize: 12,
113
+ color: "#fff"
114
+ }
115
+ });
116
+ export default ImageTile;
117
+ //# sourceMappingURL=ImageTile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Text","Dimensions","ImageBackground","TouchableHighlight","View","StyleSheet","MediaLibrary","Icon","moment","getThumb300","screenWidth","get","width","ImageTile","PureComponent","renderVideoOverlay","item","props","mediaType","MediaType","video","durationText","duration","asMilliseconds","utc","format","createElement","style","styles","defaultVideoOverlay","name","type","iconStyle","videoIcon","videoIconContainer","videoDurationText","renderSelectedOverlay","selected","selectedItemNumber","renderSelectedComponent","defaultSelectedOverlay","opacity","render","index","selectImage","height","isRemote","actualWidth","actualHeight","uri","underlayColor","onPress","imageContainer","imageBackground","source","create","flex","alignItems","justifyContent","backgroundColor","position","left","bottom","right","flexDirection","paddingRight","paddingBottom","fontSize","color","textAlign","fontFamily"],"sources":["ImageTile.js"],"sourcesContent":["import React from \"react\";\nimport { Text } from \"@plusscommunities/pluss-core-app/components\";\nimport {\n\tDimensions,\n\tImageBackground,\n\tTouchableHighlight,\n\tView,\n\tStyleSheet,\n} from \"react-native\";\nimport * as MediaLibrary from \"expo-media-library\";\nimport { Icon } from \"@rneui/themed\";\nimport moment from \"moment\";\nimport { getThumb300 } from \"../../helper\";\n\nconst screenWidth = Dimensions.get(\"window\").width;\n\nclass ImageTile extends React.PureComponent {\n\trenderVideoOverlay() {\n\t\tconst { item } = this.props;\n\t\tif (item.mediaType !== MediaLibrary.MediaType.video) return null;\n\n\t\tlet durationText = \"\";\n\t\tif (item.duration) {\n\t\t\tconst duration = moment\n\t\t\t\t.duration(item.duration, \"seconds\")\n\t\t\t\t.asMilliseconds();\n\t\t\tdurationText = moment.utc(duration).format(\"HH:mm:ss\");\n\t\t}\n\t\treturn (\n\t\t\t<View style={styles.defaultVideoOverlay}>\n\t\t\t\t<Icon\n\t\t\t\t\tname=\"video-camera\"\n\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\ticonStyle={styles.videoIcon}\n\t\t\t\t\tstyle={styles.videoIconContainer}\n\t\t\t\t/>\n\t\t\t\t<Text style={styles.videoDurationText}>{durationText}</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderSelectedOverlay() {\n\t\tconst { selected, selectedItemNumber, renderSelectedComponent } =\n\t\t\tthis.props;\n\t\tif (!selected) return null;\n\t\tif (renderSelectedComponent)\n\t\t\treturn renderSelectedComponent(selectedItemNumber);\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={[styles.defaultSelectedOverlay, { opacity: selected ? 0.5 : 1 }]}\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { item, index, selectImage, width, height, style, isRemote } =\n\t\t\tthis.props;\n\t\tif (!item) return null;\n\n\t\tconst actualWidth = width || screenWidth / 4;\n\t\tconst actualHeight = height || screenWidth / 4;\n\t\tconst uri = isRemote ? getThumb300(item.uri) : item.uri;\n\n\t\treturn (\n\t\t\t<TouchableHighlight\n\t\t\t\tunderlayColor=\"transparent\"\n\t\t\t\tonPress={() => selectImage(item, index)}\n\t\t\t>\n\t\t\t\t<View style={[{ width: actualWidth, height: actualHeight }, style]}>\n\t\t\t\t\t<View style={styles.imageContainer}>\n\t\t\t\t\t\t<ImageBackground style={styles.imageBackground} source={{ uri }}>\n\t\t\t\t\t\t\t{this.renderVideoOverlay()}\n\t\t\t\t\t\t\t{this.renderSelectedOverlay()}\n\t\t\t\t\t\t</ImageBackground>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</TouchableHighlight>\n\t\t);\n\t}\n}\n\nconst styles = StyleSheet.create({\n\timageContainer: {\n\t\tflex: 1,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t},\n\timageBackground: {\n\t\twidth: \"100%\",\n\t\theight: \"100%\",\n\t},\n\tdefaultSelectedOverlay: {\n\t\tflex: 1,\n\t\tbackgroundColor: \"#000\",\n\t},\n\tdefaultVideoOverlay: {\n\t\tposition: \"absolute\",\n\t\tleft: 3,\n\t\tbottom: 3,\n\t\tright: 3,\n\t\tflexDirection: \"row\",\n\t\tjustifyContent: \"space-between\",\n\t\talignItems: \"center\",\n\t},\n\tvideoIconContainer: {\n\t\tflex: 1,\n\t\tpaddingRight: 8,\n\t\tpaddingBottom: 1,\n\t},\n\tvideoIcon: {\n\t\tfontSize: 12,\n\t\tcolor: \"#fff\",\n\t\ttextAlign: \"right\",\n\t},\n\tvideoDurationText: {\n\t\tfontFamily: \"sf-semibold\",\n\t\tfontSize: 12,\n\t\tcolor: \"#fff\",\n\t},\n});\n\nexport default ImageTile;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,60 @@
1
+ export * from "./InlineButton";
2
+ export * from "./AddToCalendarButton";
3
+ export * from "./Forbidden";
4
+ export * from "./FormCard";
5
+ export * from "./FormCardSection";
6
+ export * from "./FormCardSectionOptionLauncher";
7
+ export * from "./ProfilePic";
8
+ export * from "./Spinner";
9
+ export * from "./LoadingCircles";
10
+ export * from "./Popup";
11
+ export * from "./ImagePopup";
12
+ export * from "./VideoPopup";
13
+ export * from "./SharingTools";
14
+ export * from "./MiddlePopup";
15
+ export * from "./ConfirmPopup";
16
+ export * from "./ConfirmationPopup";
17
+ export * from "./CommentSection";
18
+ export * from "./CommentReply";
19
+ export * from "./PopupMenu";
20
+ export * from "./AddButton";
21
+ export * from "./Attachment";
22
+ export * from "./GenericInputSection";
23
+ export * from "./GenericInput";
24
+ export * from "./RadioButton";
25
+ export * from "./PDFPopup";
26
+ export * from "./Text";
27
+ export * from "./Icon";
28
+ export * from "./TickIcon";
29
+ export * from "./Toggle";
30
+ export * from "./Input";
31
+ export * from "./StickyFooter";
32
+ export * from "./CategoryTabs";
33
+ export * from "./DropDownMenu";
34
+ export * from "./DropDownItem";
35
+ export * from "./BackButton";
36
+ export * from "./Reaction";
37
+ export * from "./TouchableSearchBar";
38
+ export * from "./WarningPopup";
39
+ export * from "./FontScalePopup";
40
+ export * from "./FontScaleButton";
41
+ export * from "./UserListPopup";
42
+ export * from "./Reactions";
43
+ export * from "./AudienceSelectorLauncher";
44
+ export * from "./CalendarPopup";
45
+ export { default as EmptyStateWidget } from "./EmptyStateWidget";
46
+ export { default as EmptyStateMain } from "./EmptyStateMain";
47
+ export { default as LoadingStateWidget } from "./LoadingStateWidget";
48
+ export { default as Header } from "./Header";
49
+ export { default as LoadingIndicator } from "./LoadingIndicator";
50
+ export { default as ImageUploader } from "./ImageUploader";
51
+ export { default as DocumentUploader } from "./DocumentUploader";
52
+ export { default as ImageUploadProgress } from "./ImageUploadProgress";
53
+ export { default as UserListing } from "./UserListing";
54
+ export { default as PlussChat } from "./PlussChat";
55
+ export { default as PositionedImage } from "./PositionedImage";
56
+ export * from "./AutoOffsetImage";
57
+ export { default as FormattedText } from "./FormattedText";
58
+ export { default as MediaPlayer } from "./MediaPlayer";
59
+ export { default as AudienceSelectorPage } from "./AudienceSelectorPage";
60
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["default","EmptyStateWidget","EmptyStateMain","LoadingStateWidget","Header","LoadingIndicator","ImageUploader","DocumentUploader","ImageUploadProgress","UserListing","PlussChat","PositionedImage","FormattedText","MediaPlayer","AudienceSelectorPage"],"sources":["index.js"],"sourcesContent":["export * from \"./InlineButton\";\nexport * from \"./AddToCalendarButton\";\nexport * from \"./Forbidden\";\nexport * from \"./FormCard\";\nexport * from \"./FormCardSection\";\nexport * from \"./FormCardSectionOptionLauncher\";\nexport * from \"./ProfilePic\";\nexport * from \"./Spinner\";\nexport * from \"./LoadingCircles\";\nexport * from \"./Popup\";\nexport * from \"./ImagePopup\";\nexport * from \"./VideoPopup\";\nexport * from \"./SharingTools\";\nexport * from \"./MiddlePopup\";\nexport * from \"./ConfirmPopup\";\nexport * from \"./ConfirmationPopup\";\nexport * from \"./CommentSection\";\nexport * from \"./CommentReply\";\nexport * from \"./PopupMenu\";\nexport * from \"./AddButton\";\nexport * from \"./Attachment\";\nexport * from \"./GenericInputSection\";\nexport * from \"./GenericInput\";\nexport * from \"./RadioButton\";\nexport * from \"./PDFPopup\";\nexport * from \"./Text\";\nexport * from \"./Icon\";\nexport * from \"./TickIcon\";\nexport * from \"./Toggle\";\nexport * from \"./Input\";\nexport * from \"./StickyFooter\";\nexport * from \"./CategoryTabs\";\nexport * from \"./DropDownMenu\";\nexport * from \"./DropDownItem\";\nexport * from \"./BackButton\";\nexport * from \"./Reaction\";\nexport * from \"./TouchableSearchBar\";\nexport * from \"./WarningPopup\";\nexport * from \"./FontScalePopup\";\nexport * from \"./FontScaleButton\";\nexport * from \"./UserListPopup\";\nexport * from \"./Reactions\";\nexport * from \"./AudienceSelectorLauncher\";\nexport * from \"./CalendarPopup\";\nexport { default as EmptyStateWidget } from \"./EmptyStateWidget\";\nexport { default as EmptyStateMain } from \"./EmptyStateMain\";\nexport { default as LoadingStateWidget } from \"./LoadingStateWidget\";\nexport { default as Header } from \"./Header\";\nexport { default as LoadingIndicator } from \"./LoadingIndicator\";\nexport { default as ImageUploader } from \"./ImageUploader\";\nexport { default as DocumentUploader } from \"./DocumentUploader\";\nexport { default as ImageUploadProgress } from \"./ImageUploadProgress\";\nexport { default as UserListing } from \"./UserListing\";\nexport { default as PlussChat } from \"./PlussChat\";\nexport { default as PositionedImage } from \"./PositionedImage\";\nexport * from \"./AutoOffsetImage\";\nexport { default as FormattedText } from \"./FormattedText\";\nexport { default as MediaPlayer } from \"./MediaPlayer\";\nexport { default as AudienceSelectorPage } from \"./AudienceSelectorPage\";\n"],"mappings":"AAAA,cAAc,gBAAgB;AAC9B,cAAc,uBAAuB;AACrC,cAAc,aAAa;AAC3B,cAAc,YAAY;AAC1B,cAAc,mBAAmB;AACjC,cAAc,iCAAiC;AAC/C,cAAc,cAAc;AAC5B,cAAc,WAAW;AACzB,cAAc,kBAAkB;AAChC,cAAc,SAAS;AACvB,cAAc,cAAc;AAC5B,cAAc,cAAc;AAC5B,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,gBAAgB;AAC9B,cAAc,qBAAqB;AACnC,cAAc,kBAAkB;AAChC,cAAc,gBAAgB;AAC9B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,cAAc;AAC5B,cAAc,uBAAuB;AACrC,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,YAAY;AAC1B,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,YAAY;AAC1B,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,cAAc;AAC5B,cAAc,YAAY;AAC1B,cAAc,sBAAsB;AACpC,cAAc,gBAAgB;AAC9B,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,iBAAiB;AAC/B,cAAc,aAAa;AAC3B,cAAc,4BAA4B;AAC1C,cAAc,iBAAiB;AAC/B,SAASA,OAAO,IAAIC,gBAAgB,QAAQ,oBAAoB;AAChE,SAASD,OAAO,IAAIE,cAAc,QAAQ,kBAAkB;AAC5D,SAASF,OAAO,IAAIG,kBAAkB,QAAQ,sBAAsB;AACpE,SAASH,OAAO,IAAII,MAAM,QAAQ,UAAU;AAC5C,SAASJ,OAAO,IAAIK,gBAAgB,QAAQ,oBAAoB;AAChE,SAASL,OAAO,IAAIM,aAAa,QAAQ,iBAAiB;AAC1D,SAASN,OAAO,IAAIO,gBAAgB,QAAQ,oBAAoB;AAChE,SAASP,OAAO,IAAIQ,mBAAmB,QAAQ,uBAAuB;AACtE,SAASR,OAAO,IAAIS,WAAW,QAAQ,eAAe;AACtD,SAAST,OAAO,IAAIU,SAAS,QAAQ,aAAa;AAClD,SAASV,OAAO,IAAIW,eAAe,QAAQ,mBAAmB;AAC9D,cAAc,mBAAmB;AACjC,SAASX,OAAO,IAAIY,aAAa,QAAQ,iBAAiB;AAC1D,SAASZ,OAAO,IAAIa,WAAW,QAAQ,eAAe;AACtD,SAASb,OAAO,IAAIc,oBAAoB,QAAQ,wBAAwB","ignoreList":[]}