@plusscommunities/pluss-core-app 8.0.29 → 8.0.35

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 (211) 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 +832 -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/CommentSection.js +8 -3
  211. package/src/components/PDFPopup.js +130 -35
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Component","Text","View","ScrollView","TouchableOpacity","Platform","Linking","Modal","Dimensions","StyleSheet","ImageBackground","connect","withSafeAreaInsets","Icon","_","Camera","MediaLibrary","ImageManipulator","ImagePicker","ImageBrowser","ExpoImageManipulator","Header","Popup","PopupMenu","InlineButton","getValueOrDefault","getThumb300","isVideo","getMainBrandingColourFromState","BOXGREY","INACTIVE_BUTTON","TEXT_BLUEGREY","TEXT_DARK","LINEGREY","Config","fileActions","stockImagesLoaded","imageLibraryLoaded","SCREEN_WIDTH","get","width","SCREEN_HEIGHT","height","DEFAULT_ASPECT","DEFAULT_ALLOWS_EDITING","DEFAULT_ALLOWS_IOS_CAMERA_EDITING","DEFAULT_EXIF","DEFULAT_IMAGE_TYPE","DEFAULT_IMAGE_NAME","DEFAULT_VIDEO_NAME","DEFAULT_SIZE","DEFAULT_COMPRESSION","ImageUploader","constructor","props","_defineProperty","hasPermission","getPermissionsAsync","granted","setState","loadingLocalFolders","localAlbums","getAlbumsAsync","includeSmartAlbums","title","id","error","console","log","loadingRemoteFolders","stockImages","getStockPhotos","libraryRes","getMediaFolders","user","site","data","mediaUri","uploadUri","uri","resizeImageAsync","res","uploadUserMediaWithProgress","progress","onUploadProgress","onUploadSuccess","env","baseUploadsUrl","key","e","onUploadFailed","actions","resize","size","saveOptions","format","compress","quality","base64","manipulateAsync","imageUri","fileName","getUploadUrl","userId","onUploadStarted","hideUploadMenu","resized","onlySelectImage","onImageSelected","imagesSelected","imagesUploaded","map","image","i","length","fileType","substring","lastIndexOf","_this$state$localAlbu","cameraPermission","requestCameraPermissionsAsync","rollPermission","requestPermissionsAsync","status","OS","showWarningPopup","state","loadLocalAlbums","multiple","allowVideo","allowsEditing","askPermissionsAsync","editingAllowed","isEditingEnabled","allowsEditingIOSCamera","result","launchCameraAsync","aspect","exif","canceled","isEmpty","assets","handleImagePicked","mediaTypes","MediaTypeOptions","Videos","showUploadMenu","setTimeout","showPhotos","selected","showRemote","selectedAlbumId","launchImageLibraryAsync","allowsMultipleSelection","selectionLimit","imagesLimit","All","Images","cancelled","type","handleVideoPicked","handleMultiImagePicked","showCropper","showSelectAlbum","videoSelected","onAttach","selectedType","callback","openCropper","mediaSelected","onLibrarySelected","media","mediaType","MediaType","video","localUri","hidePhotos","deleteIndex","indexOf","splice","options","text","onPress","openCamera","push","openVideoCamera","openPhotos","hideLibrary","openLibrary","selectedItemNumber","createElement","style","styles","selectedItemContainer","selectedMarkerContainer","backgroundColor","colourBrandingMain","selectedItemText","name","iconStyle","selectedItemIcon","warning","componentDidMount","loadRemoteAlbums","camera","roll","innerWarning","closeWarningPopup","goToPermissionSettings","openURL","renderSelectionPreview","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","selectionPreviewContainer","previewItemContainer","previewItemImage","source","previewItemRemoveButton","onRemoveImage","previewItemRemoveContainer","previewItemRemoveIcon","renderSelectedAlbum","selectedAlbum","imageLibrary","find","album","selectedAlbumText","onSelectAlbum","selectAlbumButton","selectAlbumButtonText","selectAlbumButtonIcon","renderBrowser","max","loadCount","onChange","onSelectionChange","renderSelectedComponent","onSelected","browserContainer","itemStyle","itemContainer","itemWidth","itemHeight","remoteAlbums","renderAttachButton","_this$props$insets","canAttach","attachText","bottom","insets","buttonContainer","color","fillTouchable","large","disabled","renderSelectAlbumPopup","_this$props$insets2","visible","transparent","animationType","onRequestClose","onSelectAlbumClosed","selectAlbumModal","selectAlbumContainer","selectAlbumTitleContainer","selectAlbumTitle","index","onAlbumSelected","albumOptionContainer","borderTopWidth","albumOptionText","marginHorizontal","paddingBottom","renderPhotos","modalContainer","leftIcon","onPressLeft","popupTitle","contentContainer","render","action","bind","bold","buildOptions","onClose","cancelText","photo","onToggleModal","toggleCropper","isVisible","onPictureChoosed","create","flex","padding","position","top","right","borderRadius","alignItems","justifyContent","fontFamily","fontSize","marginBottom","paddingHorizontal","paddingTop","flexDirection","marginRight","left","zIndex","borderTopLeftRadius","borderTopRightRadius","maxHeight","borderColor","borderBottomWidth","textAlign","paddingVertical","paddingRight","paddingLeft","overflow","borderWidth","mapStateToProps","filter","folder","Public","Name","RowId","images","forwardRef"],"sources":["ImageUploader.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { Text } from \"@plusscommunities/pluss-core-app/components\";\nimport {\n\tView,\n\tScrollView,\n\tTouchableOpacity,\n\tPlatform,\n\tLinking,\n\tModal,\n\tDimensions,\n\tStyleSheet,\n\tImageBackground,\n} from \"react-native\";\nimport { connect } from \"react-redux\";\nimport { withSafeAreaInsets } from \"react-native-safe-area-context\";\nimport { Icon } from \"@rneui/themed\";\nimport _ from \"lodash\";\nimport { Camera } from \"expo-camera\";\nimport * as MediaLibrary from \"expo-media-library\";\nimport * as ImageManipulator from \"expo-image-manipulator\";\nimport * as ImagePicker from \"expo-image-picker\";\nimport ImageBrowser from \"./expo-image-picker-multiple/ImageBrowser\";\nimport ExpoImageManipulator from \"./react-native-expo-image-cropper/ExpoImageManipulator\";\nimport Header from \"./Header\";\nimport { Popup } from \"./Popup\";\nimport { PopupMenu } from \"./PopupMenu\";\nimport { InlineButton } from \"./InlineButton\";\nimport { getValueOrDefault, getThumb300, isVideo } from \"../helper\";\nimport {\n\tgetMainBrandingColourFromState,\n\tBOXGREY,\n\tINACTIVE_BUTTON,\n\tTEXT_BLUEGREY,\n\tTEXT_DARK,\n\tLINEGREY,\n} from \"../colours\";\nimport Config from \"../config\";\nimport { fileActions } from \"../apis\";\nimport { stockImagesLoaded, imageLibraryLoaded } from \"../actions\";\n\nconst SCREEN_WIDTH = Dimensions.get(\"window\").width;\nconst SCREEN_HEIGHT = Dimensions.get(\"window\").height;\nconst DEFAULT_ASPECT = [1, 1];\nconst DEFAULT_ALLOWS_EDITING = true;\nconst DEFAULT_ALLOWS_IOS_CAMERA_EDITING = false;\nconst DEFAULT_EXIF = true;\nconst DEFULAT_IMAGE_TYPE = \"jpeg\";\nconst DEFAULT_IMAGE_NAME = \"image\";\nconst DEFAULT_VIDEO_NAME = \"video\";\nconst DEFAULT_SIZE = {\n\twidth: 1400,\n};\nconst DEFAULT_COMPRESSION = 0.8;\n\nclass ImageUploader extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tshowUploadMenu: false,\n\t\t\twarning: null,\n\t\t\tshowPhotos: false,\n\t\t\tshowRemote: false,\n\t\t\tselected: [],\n\t\t\tselectedType: \"\",\n\t\t\tonAttach: null,\n\t\t\tselectedAlbumId: \"\",\n\t\t\tshowSelectAlbum: false,\n\t\t\tshowCropper: false,\n\t\t\tlocalAlbums: [],\n\t\t\tloadingLocalFolders: false,\n\t\t\tloadingRemoteFolders: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.loadLocalAlbums();\n\t\tthis.loadRemoteAlbums();\n\t}\n\n\tloadLocalAlbums = async () => {\n\t\tconst hasPermission = await MediaLibrary.getPermissionsAsync();\n\t\tif (!hasPermission.granted) return;\n\n\t\tthis.setState({ loadingLocalFolders: true }, async () => {\n\t\t\ttry {\n\t\t\t\tconst localAlbums = await MediaLibrary.getAlbumsAsync({\n\t\t\t\t\tincludeSmartAlbums: true,\n\t\t\t\t});\n\t\t\t\tthis.setState({\n\t\t\t\t\tloadingLocalFolders: false,\n\t\t\t\t\tlocalAlbums: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: \"All Photos\",\n\t\t\t\t\t\t\tid: \"\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...localAlbums,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"loadLocalAlbums - error\", error);\n\t\t\t\tthis.setState({ loadingLocalFolders: false });\n\t\t\t}\n\t\t});\n\t};\n\n\tloadRemoteAlbums = () => {\n\t\tthis.setState({ loadingRemoteFolders: true }, async () => {\n\t\t\ttry {\n\t\t\t\tconst stockImages = await fileActions.getStockPhotos();\n\t\t\t\tthis.props.stockImagesLoaded(stockImages);\n\t\t\t\tconst libraryRes = await fileActions.getMediaFolders(\n\t\t\t\t\tthis.props.user.site,\n\t\t\t\t);\n\t\t\t\tthis.props.imageLibraryLoaded(libraryRes.data);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"loadRemoteAlbums - error\", error);\n\t\t\t} finally {\n\t\t\t\tthis.setState({ loadingRemoteFolders: false });\n\t\t\t}\n\t\t});\n\t};\n\n\tshowUploadMenu() {\n\t\tthis.setState({\n\t\t\tshowUploadMenu: true,\n\t\t});\n\t}\n\n\thideUploadMenu() {\n\t\tthis.setState({\n\t\t\tshowUploadMenu: false,\n\t\t});\n\t}\n\n\tretryUpload = async (mediaUri, uploadUri) => {\n\t\ttry {\n\t\t\tconst uri = isVideo(uploadUri)\n\t\t\t\t? mediaUri\n\t\t\t\t: (await this.resizeImageAsync(mediaUri)).uri;\n\t\t\tconst res = await fileActions.uploadUserMediaWithProgress(\n\t\t\t\turi,\n\t\t\t\tuploadUri,\n\t\t\t\t(progress) => {\n\t\t\t\t\tif (this.props.onUploadProgress)\n\t\t\t\t\t\tthis.props.onUploadProgress(progress);\n\t\t\t\t},\n\t\t\t);\n\t\t\tthis.props.onUploadSuccess(\n\t\t\t\tConfig.env.baseUploadsUrl + res.key,\n\t\t\t\tuploadUri,\n\t\t\t);\n\t\t\tconsole.log(\"upload(retry) success\", Config.env.baseUploadsUrl + res.key);\n\t\t} catch (e) {\n\t\t\tconsole.log(\"retryUpload error\", e);\n\t\t\tthis.props.onUploadFailed(uploadUri);\n\t\t}\n\t};\n\n\tresizeImageAsync = async (uri) => {\n\t\tconst actions = [\n\t\t\t{\n\t\t\t\tresize: getValueOrDefault(this.props.size, DEFAULT_SIZE),\n\t\t\t},\n\t\t];\n\t\tconst saveOptions = {\n\t\t\tformat: DEFULAT_IMAGE_TYPE,\n\t\t\tcompress: getValueOrDefault(this.props.quality, DEFAULT_COMPRESSION),\n\t\t\tbase64: true,\n\t\t};\n\t\treturn await ImageManipulator.manipulateAsync(uri, actions, saveOptions);\n\t};\n\n\thandleImagePicked = async (imageUri) => {\n\t\tlet uploadUri;\n\t\ttry {\n\t\t\tconst fileName = `${getValueOrDefault(this.props.fileName, DEFAULT_IMAGE_NAME)}.${DEFULAT_IMAGE_TYPE}`;\n\t\t\tuploadUri = fileActions.getUploadUrl(this.props.userId, fileName);\n\n\t\t\tthis.props.onUploadStarted(uploadUri, imageUri);\n\t\t\tthis.hideUploadMenu();\n\n\t\t\tconst resized = await this.resizeImageAsync(imageUri);\n\t\t\tif (this.props.onlySelectImage) {\n\t\t\t\tthis.props.onImageSelected(resized, fileName);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst res = await fileActions.uploadUserMediaWithProgress(\n\t\t\t\tresized.uri,\n\t\t\t\tuploadUri,\n\t\t\t\t(progress) => {\n\t\t\t\t\tif (this.props.onUploadProgress)\n\t\t\t\t\t\tthis.props.onUploadProgress(progress);\n\t\t\t\t},\n\t\t\t);\n\n\t\t\tthis.props.onUploadSuccess(\n\t\t\t\tConfig.env.baseUploadsUrl + res.key,\n\t\t\t\tuploadUri,\n\t\t\t);\n\t\t\tconsole.log(\"upload success\", Config.env.baseUploadsUrl + res.key);\n\t\t} catch (e) {\n\t\t\tconsole.log(\"handleImagePicked error\", e);\n\t\t\tthis.props.onUploadFailed(uploadUri);\n\t\t}\n\t};\n\n\thandleMultiImagePicked = async (imagesSelected) => {\n\t\t// Signal start of all images selected\n\t\tconst imagesUploaded = imagesSelected.map((image) => {\n\t\t\tconst fileName = `${getValueOrDefault(this.props.fileName, DEFAULT_IMAGE_NAME)}.${DEFULAT_IMAGE_TYPE}`;\n\t\t\tconst uploadUri = fileActions.getUploadUrl(this.props.userId, fileName);\n\t\t\tif (!this.props.onlySelectImage)\n\t\t\t\tthis.props.onUploadStarted(uploadUri, image.uri);\n\t\t\treturn { imageUri: image.uri, uploadUri, fileName };\n\t\t});\n\t\tthis.hideUploadMenu();\n\n\t\t// Sequentially upload all imagesUploaded\n\t\tfor (let i = 0; i < imagesUploaded.length; i++) {\n\t\t\tconst image = imagesUploaded[i];\n\t\t\tconst { imageUri, uploadUri, fileName } = image;\n\t\t\ttry {\n\t\t\t\tconst resized = await this.resizeImageAsync(imageUri);\n\t\t\t\tif (this.props.onlySelectImage) {\n\t\t\t\t\tthis.props.onImageSelected(resized, fileName);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst res = await fileActions.uploadUserMediaWithProgress(\n\t\t\t\t\tresized.uri,\n\t\t\t\t\tuploadUri,\n\t\t\t\t\t(progress) => {\n\t\t\t\t\t\tif (this.props.onUploadProgress)\n\t\t\t\t\t\t\tthis.props.onUploadProgress(progress);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tthis.props.onUploadSuccess(\n\t\t\t\t\tConfig.env.baseUploadsUrl + res.key,\n\t\t\t\t\tuploadUri,\n\t\t\t\t);\n\t\t\t\tconsole.log(\"upload success\", Config.env.baseUploadsUrl + res.key);\n\t\t\t} catch (e) {\n\t\t\t\tconsole.log(\"handleMultiImagePicked error\", e);\n\t\t\t\tthis.props.onUploadFailed(uploadUri);\n\t\t\t}\n\t\t}\n\t};\n\n\thandleVideoPicked = async (uri) => {\n\t\tlet uploadUri;\n\t\ttry {\n\t\t\tconst fileType = uri.substring(uri.lastIndexOf(\".\") + 1);\n\t\t\tconst fileName = `${getValueOrDefault(this.props.fileName, DEFAULT_VIDEO_NAME)}.${fileType}`;\n\t\t\tuploadUri = fileActions.getUploadUrl(this.props.userId, fileName);\n\n\t\t\tthis.props.onUploadStarted(uploadUri, uri);\n\t\t\tthis.hideUploadMenu();\n\n\t\t\tconst res = await fileActions.uploadUserMediaWithProgress(\n\t\t\t\turi,\n\t\t\t\tuploadUri,\n\t\t\t\t(progress) => {\n\t\t\t\t\tif (this.props.onUploadProgress)\n\t\t\t\t\t\tthis.props.onUploadProgress(progress);\n\t\t\t\t},\n\t\t\t);\n\n\t\t\tthis.props.onUploadSuccess(\n\t\t\t\tConfig.env.baseUploadsUrl + res.key,\n\t\t\t\tuploadUri,\n\t\t\t);\n\t\t\tconsole.log(\"upload success\", Config.env.baseUploadsUrl + res.key);\n\t\t} catch (e) {\n\t\t\tconsole.log(\"handleVideoPicked error\", e);\n\t\t\tthis.props.onUploadFailed(uploadUri);\n\t\t}\n\t};\n\n\tshowWarningPopup(camera, roll) {\n\t\tif (Platform.OS !== \"ios\") {\n\t\t\treturn;\n\t\t}\n\t\tlet innerWarning = \"\";\n\t\tif (camera && roll) {\n\t\t\tinnerWarning = \"both your camera and photo library\";\n\t\t} else if (camera) {\n\t\t\tinnerWarning = \"your camera\";\n\t\t} else if (roll) {\n\t\t\tinnerWarning = \"your photo library\";\n\t\t} else {\n\t\t\t// nothing to warn about\n\t\t\treturn;\n\t\t}\n\t\tthis.setState({\n\t\t\twarning: `You must grant access to ${innerWarning}. Tap Go to settings to change your permission settings.`,\n\t\t});\n\t}\n\n\tcloseWarningPopup() {\n\t\tthis.setState({\n\t\t\twarning: null,\n\t\t});\n\t}\n\n\tgoToPermissionSettings() {\n\t\tLinking.openURL(\"app-settings:\");\n\t\tthis.setState({\n\t\t\twarning: null,\n\t\t});\n\t}\n\n\taskPermissionsAsync = async () => {\n\t\tconst cameraPermission = await Camera.requestCameraPermissionsAsync();\n\t\tconst rollPermission = await MediaLibrary.requestPermissionsAsync();\n\t\tif (\n\t\t\tcameraPermission.status !== \"granted\" ||\n\t\t\t(Platform.OS === \"ios\" && rollPermission.status !== \"granted\")\n\t\t) {\n\t\t\tthis.showWarningPopup(\n\t\t\t\tcameraPermission.status !== \"granted\",\n\t\t\t\trollPermission.status !== \"granted\",\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\t\tif (this.state.localAlbums?.length <= 0) this.loadLocalAlbums();\n\n\t\treturn true;\n\t};\n\n\tisEditingEnabled = () => {\n\t\treturn (\n\t\t\t!this.props.multiple &&\n\t\t\t!this.props.allowVideo &&\n\t\t\tgetValueOrDefault(this.props.allowsEditing, DEFAULT_ALLOWS_EDITING)\n\t\t);\n\t};\n\n\topenCamera = async () => {\n\t\tif (!(await this.askPermissionsAsync())) return;\n\n\t\tlet editingAllowed = this.isEditingEnabled();\n\t\tif (Platform.OS === \"ios\") {\n\t\t\teditingAllowed = getValueOrDefault(\n\t\t\t\tthis.props.allowsEditingIOSCamera,\n\t\t\t\tgetValueOrDefault(\n\t\t\t\t\tthis.props.allowsEditing,\n\t\t\t\t\tDEFAULT_ALLOWS_IOS_CAMERA_EDITING,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\tconst result = await ImagePicker.launchCameraAsync({\n\t\t\tallowsEditing: editingAllowed,\n\t\t\taspect: getValueOrDefault(this.props.aspect, DEFAULT_ASPECT),\n\t\t\texif: getValueOrDefault(this.props.exif, DEFAULT_EXIF),\n\t\t});\n\n\t\tif (!result.canceled && !_.isEmpty(result.assets)) {\n\t\t\tthis.handleImagePicked(result.assets[0].uri);\n\t\t}\n\t};\n\n\topenVideoCamera = async () => {\n\t\tif (!(await this.askPermissionsAsync())) return;\n\n\t\tconst result = await ImagePicker.launchCameraAsync({\n\t\t\tallowsEditing: this.isEditingEnabled(),\n\t\t\tmediaTypes: ImagePicker.MediaTypeOptions.Videos,\n\t\t});\n\n\t\tif (!result.canceled && !_.isEmpty(result.assets)) {\n\t\t\tthis.handleImagePicked(result.assets[0].uri);\n\t\t}\n\t};\n\n\topenLibrary = async () => {\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tshowUploadMenu: false,\n\t\t\t},\n\t\t\t() => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tshowPhotos: true,\n\t\t\t\t\t\tselected: [],\n\t\t\t\t\t\tshowRemote: true,\n\t\t\t\t\t\tselectedAlbumId: \"\",\n\t\t\t\t\t});\n\t\t\t\t}, 1000);\n\t\t\t},\n\t\t);\n\t};\n\n\topenPhotos = async () => {\n\t\tif (Platform.OS === \"android\") {\n\t\t\tconst multiple = !!this.props.multiple;\n\t\t\tconst result = await ImagePicker.launchImageLibraryAsync({\n\t\t\t\tallowsEditing: this.isEditingEnabled(),\n\t\t\t\tallowsMultipleSelection: multiple,\n\t\t\t\t...(multiple && {\n\t\t\t\t\tselectionLimit: getValueOrDefault(this.props.imagesLimit, 10),\n\t\t\t\t}),\n\t\t\t\taspect: getValueOrDefault(this.props.aspect, DEFAULT_ASPECT),\n\t\t\t\texif: getValueOrDefault(this.props.exif, DEFAULT_EXIF),\n\t\t\t\tmediaTypes: this.props.allowVideo\n\t\t\t\t\t? ImagePicker.MediaTypeOptions.All\n\t\t\t\t\t: ImagePicker.MediaTypeOptions.Images,\n\t\t\t});\n\t\t\tif (!(result.canceled || result.cancelled) && !_.isEmpty(result.assets)) {\n\t\t\t\tif (result.assets.length === 1 && result.assets[0].type === \"video\") {\n\t\t\t\t\tthis.handleVideoPicked(result.assets[0].uri);\n\t\t\t\t} else {\n\t\t\t\t\tthis.handleMultiImagePicked(result.assets);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// iOS behaviour\n\t\tif (!(await this.askPermissionsAsync())) return;\n\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tshowUploadMenu: false,\n\t\t\t},\n\t\t\t() => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tshowPhotos: true,\n\t\t\t\t\t\tselected: [],\n\t\t\t\t\t\tshowRemote: false,\n\t\t\t\t\t\tselectedAlbumId: \"\",\n\t\t\t\t\t});\n\t\t\t\t}, 1000);\n\t\t\t},\n\t\t);\n\t};\n\n\thidePhotos = () => {\n\t\tthis.setState({ showPhotos: false });\n\t};\n\n\topenCropper = () => {\n\t\t// Switching modals - requires a timeout to ensure the modal is closed before opening the next one\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tshowPhotos: false,\n\t\t\t},\n\t\t\t() => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tshowCropper: true,\n\t\t\t\t\t});\n\t\t\t\t}, 1000);\n\t\t\t},\n\t\t);\n\t};\n\n\ttoggleCropper = () => {\n\t\tthis.setState({ showCropper: !this.state.showCropper });\n\t};\n\n\tonSelectAlbum = () => {\n\t\tthis.setState({ showSelectAlbum: true });\n\t};\n\n\tonSelectAlbumClosed = () => {\n\t\tthis.setState({ showSelectAlbum: false });\n\t};\n\n\tonAlbumSelected = (selectedAlbumId) => {\n\t\tthis.setState({ showSelectAlbum: false, selectedAlbumId });\n\t};\n\n\tonSelectionChange = (selected, videoSelected, onAttach) => {\n\t\tthis.setState({\n\t\t\tselected,\n\t\t\tselectedType: videoSelected ? \"video\" : \"image\",\n\t\t\tonAttach,\n\t\t});\n\t};\n\n\tonSelected = async (callback) => {\n\t\tif (this.isEditingEnabled()) {\n\t\t\tthis.openCropper();\n\t\t} else {\n\t\t\tconst mediaSelected = await callback;\n\t\t\t// console.log('mediaSelected', mediaSelected);\n\t\t\tif (this.state.showRemote) {\n\t\t\t\tif (this.props.onLibrarySelected) {\n\t\t\t\t\tmediaSelected.map((media) => {\n\t\t\t\t\t\tthis.props.onLibrarySelected(media.uri);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (mediaSelected[0].mediaType === MediaLibrary.MediaType.video) {\n\t\t\t\t\tconst uri = mediaSelected[0].localUri || mediaSelected[0].uri;\n\t\t\t\t\tthis.handleVideoPicked(uri);\n\t\t\t\t} else {\n\t\t\t\t\tthis.handleMultiImagePicked(mediaSelected);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.hidePhotos();\n\t\t}\n\t};\n\n\tonRemoveImage = (uri) => {\n\t\tconst selected = [...this.state.selected];\n\t\tconst deleteIndex = selected.indexOf(uri);\n\t\tselected.splice(deleteIndex, 1);\n\t\tthis.setState({ selected });\n\t};\n\n\tbuildOptions = () => {\n\t\tconst options = [\n\t\t\t{\n\t\t\t\ttext: \"Take photo\",\n\t\t\t\tonPress: this.openCamera,\n\t\t\t},\n\t\t];\n\t\tif (this.props.allowVideo)\n\t\t\toptions.push({\n\t\t\t\ttext: \"Record video\",\n\t\t\t\tonPress: this.openVideoCamera,\n\t\t\t});\n\t\toptions.push({\n\t\t\ttext: \"Camera Roll\",\n\t\t\tonPress: this.openPhotos,\n\t\t});\n\t\tif (!this.props.hideLibrary)\n\t\t\toptions.push({\n\t\t\t\ttext: \"Image Library\",\n\t\t\t\tonPress: this.openLibrary,\n\t\t\t});\n\n\t\treturn options;\n\t};\n\n\trenderSelectionPreview() {\n\t\tconst { selected, showRemote } = this.state;\n\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t<ScrollView\n\t\t\t\t\thorizontal\n\t\t\t\t\tshowsHorizontalScrollIndicator={false}\n\t\t\t\t\tcontentContainerStyle={styles.selectionPreviewContainer}\n\t\t\t\t>\n\t\t\t\t\t{selected &&\n\t\t\t\t\t\tselected.map((uri) => {\n\t\t\t\t\t\t\tconst imageUri = showRemote ? getThumb300(uri) : uri;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<View key={uri} style={styles.previewItemContainer}>\n\t\t\t\t\t\t\t\t\t<ImageBackground\n\t\t\t\t\t\t\t\t\t\tstyle={styles.previewItemImage}\n\t\t\t\t\t\t\t\t\t\tsource={{ uri: imageUri }}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\t\t\tstyle={styles.previewItemRemoveButton}\n\t\t\t\t\t\t\t\t\t\tonPress={() => this.onRemoveImage(uri)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\t\t\tstyles.previewItemRemoveContainer,\n\t\t\t\t\t\t\t\t\t\t\t\t{ backgroundColor: this.props.colourBrandingMain },\n\t\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"times\"\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\t\t\t\t\ticonStyle={styles.previewItemRemoveIcon}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t</ScrollView>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderSelectedAlbum() {\n\t\tconst { localAlbums, selectedAlbumId, showRemote } = this.state;\n\t\tconst selectedAlbum = (\n\t\t\tshowRemote ? this.props.imageLibrary : localAlbums\n\t\t).find((album) => album.id === selectedAlbumId);\n\t\tconst selectedAlbumText = selectedAlbum ? selectedAlbum.title : \"\";\n\n\t\treturn (\n\t\t\t<TouchableOpacity onPress={this.onSelectAlbum}>\n\t\t\t\t<View style={styles.selectAlbumButton}>\n\t\t\t\t\t<Text style={styles.selectAlbumButtonText}>{selectedAlbumText}</Text>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"angle-down\"\n\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\ticonStyle={styles.selectAlbumButtonIcon}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</TouchableOpacity>\n\t\t);\n\t}\n\n\trenderSelectedComponent = (selectedItemNumber) => {\n\t\treturn (\n\t\t\t<View style={styles.selectedItemContainer}>\n\t\t\t\t<View\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.selectedMarkerContainer,\n\t\t\t\t\t\t{ backgroundColor: this.props.colourBrandingMain },\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t{this.props.multiple ? (\n\t\t\t\t\t\t<Text style={styles.selectedItemText}>{selectedItemNumber}</Text>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\ticonStyle={styles.selectedItemIcon}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t);\n\t};\n\n\trenderBrowser() {\n\t\tconst { selected, selectedAlbumId, showRemote } = this.state;\n\t\tconst { imagesLimit, multiple, allowVideo, imageLibrary } = this.props;\n\t\tconst width = (SCREEN_WIDTH - 10 * 2) / 4;\n\n\t\treturn (\n\t\t\t<ImageBrowser\n\t\t\t\tmax={!multiple ? 1 : imagesLimit}\n\t\t\t\tloadCount={30}\n\t\t\t\tonChange={this.onSelectionChange}\n\t\t\t\trenderSelectedComponent={this.renderSelectedComponent}\n\t\t\t\tcallback={this.onSelected}\n\t\t\t\tselected={selected}\n\t\t\t\tallowVideo={allowVideo}\n\t\t\t\tstyle={styles.browserContainer}\n\t\t\t\titemStyle={styles.itemContainer}\n\t\t\t\titemWidth={width}\n\t\t\t\titemHeight={width}\n\t\t\t\talbum={selectedAlbumId}\n\t\t\t\tremoteAlbums={showRemote ? imageLibrary : null}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderAttachButton() {\n\t\tconst { selected, selectedType } = this.state;\n\t\tconst canAttach = selected.length > 0 && !_.isEmpty(selectedType);\n\t\tconst attachText = `Attach ${canAttach ? selected.length : \"\"} ${canAttach ? selectedType : \"\"}${selected.length > 1 ? \"s\" : \"\"}`;\n\t\tconst bottom =\n\t\t\tPlatform.OS === \"android\" ? (this.props.insets?.bottom ?? 0) : 0;\n\n\t\treturn (\n\t\t\t<View style={{ backgroundColor: \"#fff\" }}>\n\t\t\t\t<View style={styles.buttonContainer}>\n\t\t\t\t\t<InlineButton\n\t\t\t\t\t\tcolor={canAttach ? this.props.colourBrandingMain : INACTIVE_BUTTON}\n\t\t\t\t\t\tonPress={this.state.onAttach}\n\t\t\t\t\t\tfillTouchable\n\t\t\t\t\t\tlarge\n\t\t\t\t\t\tdisabled={!canAttach}\n\t\t\t\t\t>\n\t\t\t\t\t\t{attachText}\n\t\t\t\t\t</InlineButton>\n\t\t\t\t</View>\n\t\t\t\t{bottom > 0 && <View style={{ height: bottom }} />}\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderSelectAlbumPopup() {\n\t\tconst { showSelectAlbum, localAlbums, showRemote } = this.state;\n\t\tif (!showSelectAlbum) return null;\n\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tvisible\n\t\t\t\ttransparent\n\t\t\t\tanimationType=\"slide\"\n\t\t\t\tonRequestClose={this.onSelectAlbumClosed}\n\t\t\t>\n\t\t\t\t<View style={styles.selectAlbumModal}>\n\t\t\t\t\t<View style={styles.selectAlbumContainer}>\n\t\t\t\t\t\t<View style={styles.selectAlbumTitleContainer}>\n\t\t\t\t\t\t\t<Text style={styles.selectAlbumTitle}>Select Album</Text>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<ScrollView>\n\t\t\t\t\t\t\t{(showRemote ? this.props.imageLibrary : localAlbums).map(\n\t\t\t\t\t\t\t\t(album, index) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\t\t\t\tkey={album.id}\n\t\t\t\t\t\t\t\t\t\t\tonPress={() => this.onAlbumSelected(album.id)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.albumOptionContainer,\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex === 0 && { borderTopWidth: 0 },\n\t\t\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<Text style={styles.albumOptionText}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{album.title}\n\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</ScrollView>\n\t\t\t\t\t\t<TouchableOpacity onPress={this.onSelectAlbumClosed}>\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\tstyles.albumOptionContainer,\n\t\t\t\t\t\t\t\t\t{ marginHorizontal: 0 },\n\t\t\t\t\t\t\t\t\tPlatform.OS === \"android\" && {\n\t\t\t\t\t\t\t\t\t\tpaddingBottom: 16 + (this.props.insets?.bottom ?? 0),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\tstyles.albumOptionText,\n\t\t\t\t\t\t\t\t\t\t{ color: this.props.colourBrandingMain },\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</Modal>\n\t\t);\n\t}\n\n\trenderPhotos() {\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tvisible\n\t\t\t\ttransparent\n\t\t\t\tanimationType=\"slide\"\n\t\t\t\tonRequestClose={this.hidePhotos}\n\t\t\t>\n\t\t\t\t<View style={styles.modalContainer}>\n\t\t\t\t\t<Header\n\t\t\t\t\t\tleftIcon=\"angle-left\"\n\t\t\t\t\t\tonPressLeft={this.hidePhotos}\n\t\t\t\t\t\ttext={this.props.popupTitle || \"Attach image\"}\n\t\t\t\t\t/>\n\t\t\t\t\t<View style={styles.contentContainer}>\n\t\t\t\t\t\t{this.renderSelectionPreview()}\n\t\t\t\t\t\t{this.renderSelectedAlbum()}\n\t\t\t\t\t\t{this.renderBrowser()}\n\t\t\t\t\t</View>\n\t\t\t\t\t{this.renderAttachButton()}\n\t\t\t\t</View>\n\t\t\t\t{this.renderSelectAlbumPopup()}\n\t\t\t</Modal>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { warning, showUploadMenu, showPhotos, showCropper, selected } =\n\t\t\tthis.state;\n\n\t\tif (warning != null) {\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\ttitle=\"Permissions missing\"\n\t\t\t\t\ttext={warning}\n\t\t\t\t\toptions={[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"Go to settings\",\n\t\t\t\t\t\t\taction: this.goToPermissionSettings.bind(this),\n\t\t\t\t\t\t\tbold: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"Ignore\",\n\t\t\t\t\t\t\taction: this.closeWarningPopup.bind(this),\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif (showUploadMenu) {\n\t\t\tconst options = this.buildOptions();\n\t\t\treturn (\n\t\t\t\t<PopupMenu\n\t\t\t\t\tonClose={this.hideUploadMenu.bind(this)}\n\t\t\t\t\toptions={options}\n\t\t\t\t\ttitle={this.props.popupTitle}\n\t\t\t\t\tcancelText=\"Cancel\"\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif (showPhotos) return this.renderPhotos();\n\n\t\tif (showCropper) {\n\t\t\treturn (\n\t\t\t\t<ExpoImageManipulator\n\t\t\t\t\tphoto={{ uri: selected[0] }}\n\t\t\t\t\tonToggleModal={this.toggleCropper}\n\t\t\t\t\tisVisible={showCropper}\n\t\t\t\t\tonPictureChoosed={(data) => {\n\t\t\t\t\t\tthis.handleImagePicked(data.uri);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\nconst styles = StyleSheet.create({\n\tmodalContainer: {\n\t\tflex: 1,\n\t},\n\tcontentContainer: {\n\t\tflex: 1,\n\t\tbackgroundColor: BOXGREY,\n\t},\n\tbrowserContainer: {\n\t\tpadding: 10,\n\t},\n\titemContainer: {\n\t\tpadding: 4,\n\t},\n\tselectedItemContainer: {\n\t\tflex: 1,\n\t\tbackgroundColor: \"#0008\",\n\t},\n\tselectedMarkerContainer: {\n\t\tposition: \"absolute\",\n\t\ttop: 6,\n\t\tright: 6,\n\t\twidth: 20,\n\t\theight: 20,\n\t\tborderRadius: 10,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t},\n\tselectedItemText: {\n\t\tfontFamily: \"sf-semibold\",\n\t\tfontSize: 12,\n\t\tcolor: \"#fff\",\n\t\tmarginBottom: 1,\n\t},\n\tselectedItemIcon: {\n\t\tfontSize: 12,\n\t\tcolor: \"#fff\",\n\t\tmarginBottom: 1,\n\t},\n\tbuttonContainer: {\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\theight: 60,\n\t\tpaddingHorizontal: 14,\n\t\tbackgroundColor: \"#fff\",\n\t},\n\tselectAlbumButton: {\n\t\tpaddingTop: 13,\n\t\tpaddingHorizontal: 14,\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t},\n\tselectAlbumButtonText: {\n\t\tfontFamily: \"sf-medium\",\n\t\tfontSize: 14,\n\t\tcolor: TEXT_BLUEGREY,\n\t\tmarginRight: 6,\n\t},\n\tselectAlbumButtonIcon: {\n\t\tfontSize: 20,\n\t\tcolor: TEXT_BLUEGREY,\n\t},\n\tselectAlbumModal: {\n\t\tposition: \"absolute\",\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\ttop: 0,\n\t\tbackgroundColor: \"rgba(0,0,0,0.5)\",\n\t\tzIndex: 1000,\n\t},\n\tselectAlbumContainer: {\n\t\tposition: \"absolute\",\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\tbackgroundColor: \"#fff\",\n\t\tborderTopLeftRadius: 12,\n\t\tborderTopRightRadius: 12,\n\t\tmaxHeight: SCREEN_HEIGHT / 2,\n\t},\n\tselectAlbumTitleContainer: {\n\t\tpadding: 16,\n\t\tborderColor: LINEGREY,\n\t\tborderBottomWidth: 1,\n\t},\n\tselectAlbumTitle: {\n\t\tfontFamily: \"sf-semibold\",\n\t\tfontSize: 16,\n\t\ttextAlign: \"center\",\n\t\tcolor: TEXT_DARK,\n\t},\n\talbumOptionContainer: {\n\t\tmarginHorizontal: 16,\n\t\tpaddingVertical: 16,\n\t\tborderColor: LINEGREY,\n\t\tborderTopWidth: 1,\n\t},\n\talbumOptionText: {\n\t\tfontFamily: \"sf-regular\",\n\t\tfontSize: 16,\n\t\ttextAlign: \"center\",\n\t\tcolor: TEXT_DARK,\n\t},\n\tselectionPreviewContainer: {\n\t\tpaddingTop: 14,\n\t\tpaddingRight: 2,\n\t\tpaddingLeft: 14,\n\t},\n\tpreviewItemContainer: {\n\t\tmarginRight: 12,\n\t},\n\tpreviewItemImage: {\n\t\twidth: 50,\n\t\theight: 50,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tborderRadius: 4,\n\t\toverflow: \"hidden\",\n\t},\n\tpreviewItemRemoveButton: {\n\t\tposition: \"absolute\",\n\t\ttop: -8,\n\t\tright: -8,\n\t},\n\tpreviewItemRemoveContainer: {\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\tborderRadius: 10,\n\t\twidth: 20,\n\t\theight: 20,\n\t\tborderWidth: 2,\n\t\tborderColor: \"#fff\",\n\t},\n\tpreviewItemRemoveIcon: {\n\t\tfontSize: 10,\n\t\tcolor: \"#fff\",\n\t\tmarginBottom: 1,\n\t},\n});\n\nconst mapStateToProps = (state) => {\n\tconst { user, media } = state;\n\tconst imageLibrary = media.imageLibrary\n\t\t.filter((folder) => !folder.Public)\n\t\t.map((album) => {\n\t\t\treturn {\n\t\t\t\ttitle: album.Name,\n\t\t\t\tid: album.RowId || \"\",\n\t\t\t\timages: album.RowId ? album.Images : media.stockImages,\n\t\t\t};\n\t\t});\n\n\treturn {\n\t\tuser,\n\t\timageLibrary,\n\t\tcolourBrandingMain: getMainBrandingColourFromState(state),\n\t};\n};\n\nexport default connect(\n\tmapStateToProps,\n\t{ stockImagesLoaded, imageLibraryLoaded },\n\tnull,\n\t{ forwardRef: true },\n)(withSafeAreaInsets(ImageUploader));\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,66 @@
1
+ import React, { Component } from "react";
2
+ import { View, TouchableOpacity } from "react-native";
3
+ import { Text } from "./Text";
4
+ class InlineButton extends Component {
5
+ renderContent() {
6
+ if (this.props.noText) {
7
+ return this.props.children;
8
+ }
9
+ return /*#__PURE__*/React.createElement(Text, {
10
+ style: [styles.text, (this.props.large || this.props.fullWidth) && styles.textLarge, this.props.textStyle],
11
+ numberOfLines: this.props.numberOfLines || 1
12
+ }, this.props.children);
13
+ }
14
+ renderExtra() {
15
+ if (this.props.extraContent) {
16
+ return this.props.extraContent;
17
+ }
18
+ return null;
19
+ }
20
+ render() {
21
+ return /*#__PURE__*/React.createElement(TouchableOpacity, {
22
+ style: [(this.props.fillTouchable || this.props.fullWidth) && {
23
+ flexDirection: "row"
24
+ }, this.props.fullWidth && {
25
+ flex: 1
26
+ }, this.props.disabled && this.props.disabledOpacity && {
27
+ opacity: 0.4
28
+ }, this.props.touchableStyle],
29
+ onPress: this.props.onPress,
30
+ disabled: this.props.disabled
31
+ }, /*#__PURE__*/React.createElement(View, {
32
+ style: [styles.container, (this.props.large || this.props.fullWidth) && styles.containerLarge, (this.props.fillTouchable || this.props.fullWidth) && {
33
+ flex: 1
34
+ }, this.props.border && {
35
+ borderColor: this.props.border,
36
+ borderWidth: 1
37
+ }, this.props.style, {
38
+ backgroundColor: this.props.color
39
+ }]
40
+ }, this.renderContent()), this.renderExtra());
41
+ }
42
+ }
43
+ const styles = {
44
+ container: {
45
+ alignItems: "center",
46
+ justifyContent: "center",
47
+ paddingHorizontal: 16,
48
+ height: 28,
49
+ borderRadius: 4,
50
+ alignSelf: "flex-start"
51
+ },
52
+ containerLarge: {
53
+ height: 36
54
+ },
55
+ text: {
56
+ color: "#fff",
57
+ fontFamily: "sf-semibold",
58
+ fontSize: 14,
59
+ paddingBottom: 1
60
+ },
61
+ textLarge: {
62
+ fontSize: 15
63
+ }
64
+ };
65
+ export { InlineButton };
66
+ //# sourceMappingURL=InlineButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Component","View","TouchableOpacity","Text","InlineButton","renderContent","props","noText","children","createElement","style","styles","text","large","fullWidth","textLarge","textStyle","numberOfLines","renderExtra","extraContent","render","fillTouchable","flexDirection","flex","disabled","disabledOpacity","opacity","touchableStyle","onPress","container","containerLarge","border","borderColor","borderWidth","backgroundColor","color","alignItems","justifyContent","paddingHorizontal","height","borderRadius","alignSelf","fontFamily","fontSize","paddingBottom"],"sources":["InlineButton.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { View, TouchableOpacity } from \"react-native\";\nimport { Text } from \"./Text\";\n\nclass InlineButton extends Component {\n\trenderContent() {\n\t\tif (this.props.noText) {\n\t\t\treturn this.props.children;\n\t\t}\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={[\n\t\t\t\t\tstyles.text,\n\t\t\t\t\t(this.props.large || this.props.fullWidth) && styles.textLarge,\n\t\t\t\t\tthis.props.textStyle,\n\t\t\t\t]}\n\t\t\t\tnumberOfLines={this.props.numberOfLines || 1}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</Text>\n\t\t);\n\t}\n\n\trenderExtra() {\n\t\tif (this.props.extraContent) {\n\t\t\treturn this.props.extraContent;\n\t\t}\n\t\treturn null;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<TouchableOpacity\n\t\t\t\tstyle={[\n\t\t\t\t\t(this.props.fillTouchable || this.props.fullWidth) && {\n\t\t\t\t\t\tflexDirection: \"row\",\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.fullWidth && { flex: 1 },\n\t\t\t\t\tthis.props.disabled && this.props.disabledOpacity && { opacity: 0.4 },\n\t\t\t\t\tthis.props.touchableStyle,\n\t\t\t\t]}\n\t\t\t\tonPress={this.props.onPress}\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.container,\n\t\t\t\t\t\t(this.props.large || this.props.fullWidth) && styles.containerLarge,\n\t\t\t\t\t\t(this.props.fillTouchable || this.props.fullWidth) && { flex: 1 },\n\t\t\t\t\t\tthis.props.border && {\n\t\t\t\t\t\t\tborderColor: this.props.border,\n\t\t\t\t\t\t\tborderWidth: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.style,\n\t\t\t\t\t\t{ backgroundColor: this.props.color },\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t{this.renderContent()}\n\t\t\t\t</View>\n\t\t\t\t{this.renderExtra()}\n\t\t\t</TouchableOpacity>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tcontainer: {\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tpaddingHorizontal: 16,\n\t\theight: 28,\n\t\tborderRadius: 4,\n\t\talignSelf: \"flex-start\",\n\t},\n\tcontainerLarge: {\n\t\theight: 36,\n\t},\n\ttext: {\n\t\tcolor: \"#fff\",\n\t\tfontFamily: \"sf-semibold\",\n\t\tfontSize: 14,\n\t\tpaddingBottom: 1,\n\t},\n\ttextLarge: {\n\t\tfontSize: 15,\n\t},\n};\n\nexport { InlineButton };\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,156 @@
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, { Component } from "react";
5
+ import { TextInput, View, TouchableOpacity } from "react-native";
6
+ import { Text } from ".";
7
+ import { connect } from "react-redux";
8
+ import { COLOUR_TEAL, COLOUR_TANGERINE, TEXT_DARK, TEXT_LIGHT, TEXT_MID, getMainBrandingColourFromState, getDarkBrandingColourFromState } from "../colours";
9
+
10
+ /*
11
+ Class Breakdown ------
12
+ - label: Description tag above the text input
13
+ - value: Users input
14
+ - onChangeText: Sets parent state to users input -- example input: onChangeText={emailLogin => this.setState({ emailLogin })}
15
+ - placeholder: placeholder text when no user input
16
+ - secureTextEntry: used for password input -- hides on front end
17
+ - textColour: define color of user input
18
+ - keyboardType: changes device keyboard exmaples == 'email-address', 'phone-pad'
19
+ - underlineColorAndroid: Android inputs have an underline.. define color here-- defaults to grey
20
+ - editable: locks user input.. use with loading states
21
+ - hasError: renders space for error feedback below input
22
+ - errorText: displays desired text within above view
23
+ */
24
+
25
+ class Input extends Component {
26
+ constructor(...args) {
27
+ super(...args);
28
+ _defineProperty(this, "state", {
29
+ height: "auto"
30
+ });
31
+ }
32
+ renderInputChage() {
33
+ if (this.props.toggleInput != null) {
34
+ return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(TouchableOpacity, {
35
+ activeOpacity: 0.9,
36
+ onPress: this.props.toggleInput.bind(this)
37
+ }, /*#__PURE__*/React.createElement(Text, {
38
+ style: [{
39
+ fontFamily: "sf-regular",
40
+ color: COLOUR_TEAL,
41
+ textAlign: "right",
42
+ backgroundColor: "transparent",
43
+ textDecorationLine: "underline"
44
+ }, this.props.toggleInputStyle]
45
+ }, this.props.toggleInputText)));
46
+ }
47
+ return null;
48
+ }
49
+ renderLabel() {
50
+ if (this.props.label) {
51
+ return /*#__PURE__*/React.createElement(View, {
52
+ style: {
53
+ flexDirection: "row",
54
+ justifyContent: "space-between"
55
+ }
56
+ }, /*#__PURE__*/React.createElement(Text, {
57
+ style: [styles.labelStyle, this.props.labelStyle, this.props.hasLabelError && this.props.labelError && {
58
+ color: this.props.colourBrandingMain
59
+ }]
60
+ }, this.props.label), this.props.hasLabelError && /*#__PURE__*/React.createElement(View, {
61
+ style: [{
62
+ height: 5,
63
+ width: 5,
64
+ borderRadius: 3,
65
+ backgroundColor: COLOUR_TEAL,
66
+ alignSelf: "center"
67
+ }, this.props.labelError && {
68
+ backgroundColor: this.props.colourBrandingMain
69
+ }]
70
+ }));
71
+ }
72
+ return null;
73
+ }
74
+ renderErrorField() {
75
+ if (this.props.hasError) {
76
+ return /*#__PURE__*/React.createElement(View, {
77
+ style: [{
78
+ justifyContent: "center"
79
+ }, this.props.errorStyle && this.props.errorText !== " " && this.props.errorStyle]
80
+ }, /*#__PURE__*/React.createElement(Text, {
81
+ style: [styles.errorText]
82
+ }, this.props.errorText));
83
+ }
84
+ return null;
85
+ }
86
+ render() {
87
+ return /*#__PURE__*/React.createElement(View, {
88
+ style: [styles.containerStyle, this.props.containerStyle]
89
+ }, this.renderLabel(), /*#__PURE__*/React.createElement(TextInput, {
90
+ maxFontSizeMultiplier: 1.2,
91
+ secureTextEntry: this.props.secureTextEntry,
92
+ placeholder: this.props.placeholder,
93
+ placeholderTextColor: this.props.placeholderTextColor,
94
+ autoCorrect: this.props.autoCorrect != null ? this.props.autoCorrect : false,
95
+ multiline: this.props.multiline != null ? this.props.multiline : false,
96
+ autoGrow: this.props.autoGrow != null ? this.props.autoGrow : false,
97
+ style: [styles.inputStyle, {
98
+ textAlignVertical: this.props.autoGrow != null ? "top" : "center",
99
+ color: this.props.textColour,
100
+ borderBottomColor: this.props.borderBottomColour != null ? this.props.value.length > 0 || this.props.errorText !== " " || this.props.forceBottomBorder ? this.props.borderBottomColour : TEXT_MID : "rgba(0,0,0,0)",
101
+ borderBottomWidth: this.props.borderBottomColour != null ? 1 : 0,
102
+ height: this.props.autoGrow != null ? Math.max(30, this.state.height) : "auto"
103
+ }, this.props.textStyle],
104
+ value: this.props.value,
105
+ onChangeText: this.props.onChangeText,
106
+ keyboardType: this.props.keyboardType,
107
+ selectionColor: this.props.colourBrandingDark,
108
+ underlineColorAndroid: this.props.underlineColorAndroid != null ? this.props.underlineColorAndroid : "rgba(0,0,0,0)",
109
+ editable: this.props.editable != null ? this.props.editable : true,
110
+ autoCapitalize: this.props.autoCapitalize != null ? this.props.autoCapitalize : "sentences",
111
+ autoFocus: this.props.autoFocus,
112
+ onContentSizeChange: event => {
113
+ this.setState({
114
+ height: event.nativeEvent.contentSize.height
115
+ });
116
+ }
117
+ }), this.renderInputChage(), this.renderErrorField());
118
+ }
119
+ }
120
+ const styles = {
121
+ labelStyle: {
122
+ fontSize: 15,
123
+ backgroundColor: "transparent",
124
+ fontFamily: "sf-semibold",
125
+ color: TEXT_DARK
126
+ },
127
+ inputStyle: {
128
+ flex: 1,
129
+ marginBottom: 2,
130
+ paddingTop: 0,
131
+ fontSize: 18,
132
+ color: TEXT_DARK,
133
+ fontFamily: "sf-regular",
134
+ borderBottomColor: TEXT_LIGHT
135
+ },
136
+ containerStyle: {
137
+ width: "100%",
138
+ flexDirection: "column"
139
+ },
140
+ errorText: {
141
+ backgroundColor: "transparent",
142
+ color: COLOUR_TANGERINE,
143
+ fontSize: 13,
144
+ fontFamily: "sf-semibold",
145
+ marginTop: 0
146
+ }
147
+ };
148
+ const mapStateToProps = state => {
149
+ return {
150
+ colourBrandingMain: getMainBrandingColourFromState(state),
151
+ colourBrandingDark: getDarkBrandingColourFromState(state)
152
+ };
153
+ };
154
+ const input = connect(mapStateToProps, {})(Input);
155
+ export { input as Input };
156
+ //# sourceMappingURL=Input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Component","TextInput","View","TouchableOpacity","Text","connect","COLOUR_TEAL","COLOUR_TANGERINE","TEXT_DARK","TEXT_LIGHT","TEXT_MID","getMainBrandingColourFromState","getDarkBrandingColourFromState","Input","constructor","args","_defineProperty","height","renderInputChage","props","toggleInput","createElement","activeOpacity","onPress","bind","style","fontFamily","color","textAlign","backgroundColor","textDecorationLine","toggleInputStyle","toggleInputText","renderLabel","label","flexDirection","justifyContent","styles","labelStyle","hasLabelError","labelError","colourBrandingMain","width","borderRadius","alignSelf","renderErrorField","hasError","errorStyle","errorText","render","containerStyle","maxFontSizeMultiplier","secureTextEntry","placeholder","placeholderTextColor","autoCorrect","multiline","autoGrow","inputStyle","textAlignVertical","textColour","borderBottomColor","borderBottomColour","value","length","forceBottomBorder","borderBottomWidth","Math","max","state","textStyle","onChangeText","keyboardType","selectionColor","colourBrandingDark","underlineColorAndroid","editable","autoCapitalize","autoFocus","onContentSizeChange","event","setState","nativeEvent","contentSize","fontSize","flex","marginBottom","paddingTop","marginTop","mapStateToProps","input"],"sources":["Input.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { TextInput, View, TouchableOpacity } from \"react-native\";\nimport { Text } from \".\";\nimport { connect } from \"react-redux\";\nimport {\n\tCOLOUR_TEAL,\n\tCOLOUR_TANGERINE,\n\tTEXT_DARK,\n\tTEXT_LIGHT,\n\tTEXT_MID,\n\tgetMainBrandingColourFromState,\n\tgetDarkBrandingColourFromState,\n} from \"../colours\";\n\n/*\nClass Breakdown ------ \n - label: Description tag above the text input\n - value: Users input\n - onChangeText: Sets parent state to users input -- example input: onChangeText={emailLogin => this.setState({ emailLogin })}\n - placeholder: placeholder text when no user input\n - secureTextEntry: used for password input -- hides on front end\n - textColour: define color of user input\n - keyboardType: changes device keyboard exmaples == 'email-address', 'phone-pad' \n - underlineColorAndroid: Android inputs have an underline.. define color here-- defaults to grey\n - editable: locks user input.. use with loading states\n - hasError: renders space for error feedback below input\n - errorText: displays desired text within above view\n*/\n\nclass Input extends Component {\n\tstate = {\n\t\theight: \"auto\",\n\t};\n\n\trenderInputChage() {\n\t\tif (this.props.toggleInput != null) {\n\t\t\treturn (\n\t\t\t\t<View>\n\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\tactiveOpacity={0.9}\n\t\t\t\t\t\tonPress={this.props.toggleInput.bind(this)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tfontFamily: \"sf-regular\",\n\t\t\t\t\t\t\t\t\tcolor: COLOUR_TEAL,\n\t\t\t\t\t\t\t\t\ttextAlign: \"right\",\n\t\t\t\t\t\t\t\t\tbackgroundColor: \"transparent\",\n\t\t\t\t\t\t\t\t\ttextDecorationLine: \"underline\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tthis.props.toggleInputStyle,\n\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.toggleInputText}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderLabel() {\n\t\tif (this.props.label) {\n\t\t\treturn (\n\t\t\t\t<View style={{ flexDirection: \"row\", justifyContent: \"space-between\" }}>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\tstyles.labelStyle,\n\t\t\t\t\t\t\tthis.props.labelStyle,\n\t\t\t\t\t\t\tthis.props.hasLabelError &&\n\t\t\t\t\t\t\t\tthis.props.labelError && {\n\t\t\t\t\t\t\t\t\tcolor: this.props.colourBrandingMain,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t]}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.label}\n\t\t\t\t\t</Text>\n\t\t\t\t\t{this.props.hasLabelError && (\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\theight: 5,\n\t\t\t\t\t\t\t\t\twidth: 5,\n\t\t\t\t\t\t\t\t\tborderRadius: 3,\n\t\t\t\t\t\t\t\t\tbackgroundColor: COLOUR_TEAL,\n\t\t\t\t\t\t\t\t\talignSelf: \"center\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tthis.props.labelError && {\n\t\t\t\t\t\t\t\t\tbackgroundColor: this.props.colourBrandingMain,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderErrorField() {\n\t\tif (this.props.hasError) {\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\t{ justifyContent: \"center\" },\n\t\t\t\t\t\tthis.props.errorStyle &&\n\t\t\t\t\t\t\tthis.props.errorText !== \" \" &&\n\t\t\t\t\t\t\tthis.props.errorStyle,\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<Text style={[styles.errorText]}>{this.props.errorText}</Text>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<View style={[styles.containerStyle, this.props.containerStyle]}>\n\t\t\t\t{this.renderLabel()}\n\t\t\t\t<TextInput\n\t\t\t\t\tmaxFontSizeMultiplier={1.2}\n\t\t\t\t\tsecureTextEntry={this.props.secureTextEntry}\n\t\t\t\t\tplaceholder={this.props.placeholder}\n\t\t\t\t\tplaceholderTextColor={this.props.placeholderTextColor}\n\t\t\t\t\tautoCorrect={\n\t\t\t\t\t\tthis.props.autoCorrect != null ? this.props.autoCorrect : false\n\t\t\t\t\t}\n\t\t\t\t\tmultiline={\n\t\t\t\t\t\tthis.props.multiline != null ? this.props.multiline : false\n\t\t\t\t\t}\n\t\t\t\t\tautoGrow={this.props.autoGrow != null ? this.props.autoGrow : false}\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.inputStyle,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttextAlignVertical: this.props.autoGrow != null ? \"top\" : \"center\",\n\t\t\t\t\t\t\tcolor: this.props.textColour,\n\t\t\t\t\t\t\tborderBottomColor:\n\t\t\t\t\t\t\t\tthis.props.borderBottomColour != null\n\t\t\t\t\t\t\t\t\t? this.props.value.length > 0 ||\n\t\t\t\t\t\t\t\t\t\tthis.props.errorText !== \" \" ||\n\t\t\t\t\t\t\t\t\t\tthis.props.forceBottomBorder\n\t\t\t\t\t\t\t\t\t\t? this.props.borderBottomColour\n\t\t\t\t\t\t\t\t\t\t: TEXT_MID\n\t\t\t\t\t\t\t\t\t: \"rgba(0,0,0,0)\",\n\t\t\t\t\t\t\tborderBottomWidth: this.props.borderBottomColour != null ? 1 : 0,\n\t\t\t\t\t\t\theight:\n\t\t\t\t\t\t\t\tthis.props.autoGrow != null\n\t\t\t\t\t\t\t\t\t? Math.max(30, this.state.height)\n\t\t\t\t\t\t\t\t\t: \"auto\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.textStyle,\n\t\t\t\t\t]}\n\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t\tonChangeText={this.props.onChangeText}\n\t\t\t\t\tkeyboardType={this.props.keyboardType}\n\t\t\t\t\tselectionColor={this.props.colourBrandingDark}\n\t\t\t\t\tunderlineColorAndroid={\n\t\t\t\t\t\tthis.props.underlineColorAndroid != null\n\t\t\t\t\t\t\t? this.props.underlineColorAndroid\n\t\t\t\t\t\t\t: \"rgba(0,0,0,0)\"\n\t\t\t\t\t}\n\t\t\t\t\teditable={this.props.editable != null ? this.props.editable : true}\n\t\t\t\t\tautoCapitalize={\n\t\t\t\t\t\tthis.props.autoCapitalize != null\n\t\t\t\t\t\t\t? this.props.autoCapitalize\n\t\t\t\t\t\t\t: \"sentences\"\n\t\t\t\t\t}\n\t\t\t\t\tautoFocus={this.props.autoFocus}\n\t\t\t\t\tonContentSizeChange={(event) => {\n\t\t\t\t\t\tthis.setState({ height: event.nativeEvent.contentSize.height });\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{this.renderInputChage()}\n\t\t\t\t{this.renderErrorField()}\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tlabelStyle: {\n\t\tfontSize: 15,\n\t\tbackgroundColor: \"transparent\",\n\t\tfontFamily: \"sf-semibold\",\n\t\tcolor: TEXT_DARK,\n\t},\n\tinputStyle: {\n\t\tflex: 1,\n\t\tmarginBottom: 2,\n\t\tpaddingTop: 0,\n\t\tfontSize: 18,\n\t\tcolor: TEXT_DARK,\n\t\tfontFamily: \"sf-regular\",\n\t\tborderBottomColor: TEXT_LIGHT,\n\t},\n\tcontainerStyle: {\n\t\twidth: \"100%\",\n\t\tflexDirection: \"column\",\n\t},\n\terrorText: {\n\t\tbackgroundColor: \"transparent\",\n\t\tcolor: COLOUR_TANGERINE,\n\t\tfontSize: 13,\n\t\tfontFamily: \"sf-semibold\",\n\t\tmarginTop: 0,\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tcolourBrandingMain: getMainBrandingColourFromState(state),\n\t\tcolourBrandingDark: getDarkBrandingColourFromState(state),\n\t};\n};\n\nconst input = connect(mapStateToProps, {})(Input);\nexport { input as Input };\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,219 @@
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, { Component } from "react";
5
+ import { View, Animated } from "react-native";
6
+ import { connect } from "react-redux";
7
+ import { getMainBrandingColourFromState } from "../colours";
8
+
9
+ /* const arr = []
10
+ for (var i = 0; i < 3; i++) {
11
+ arr.push(i);
12
+ } */
13
+
14
+ class LoadingCircles extends Component {
15
+ constructor(...args) {
16
+ super(...args);
17
+ _defineProperty(this, "state", {
18
+ animatedSize: new Animated.Value(1),
19
+ animatedOpacity: new Animated.Value(0),
20
+ animatedSize2: new Animated.Value(1),
21
+ animatedOpacity2: new Animated.Value(0),
22
+ animatedSize3: new Animated.Value(1),
23
+ animatedOpacity3: new Animated.Value(0),
24
+ animatedSize4: new Animated.Value(1),
25
+ animatedOpacity4: new Animated.Value(0),
26
+ animatedSize5: new Animated.Value(1),
27
+ animatedOpacity5: new Animated.Value(0)
28
+ });
29
+ }
30
+ /* constructor() {
31
+ super()
32
+ this.state.animatedSizes = [];
33
+ this.state.animatedOpacity = [];
34
+ arr.forEach((value) => {
35
+ this.state.animatedSizes[value] = new Animated.Value(1);
36
+ this.state.animatedOpacity[value] = new Animated.Value(0);
37
+ })
38
+ } */
39
+
40
+ componentDidMount() {
41
+ this.animate();
42
+ /* setTimeout(() => {
43
+ this.animate2();
44
+ }, 150);
45
+ setTimeout(() => {
46
+ this.animate3();
47
+ }, 300); */
48
+ }
49
+ animate() {
50
+ Animated.sequence([Animated.parallel([Animated.timing(this.state.animatedSize, {
51
+ toValue: 20,
52
+ duration: 900,
53
+ useNativeDriver: false
54
+ }), Animated.timing(this.state.animatedOpacity, {
55
+ toValue: 1,
56
+ duration: 900,
57
+ useNativeDriver: false
58
+ }), Animated.timing(this.state.animatedSize2, {
59
+ toValue: 20,
60
+ duration: 900,
61
+ delay: 150,
62
+ useNativeDriver: false
63
+ }), Animated.timing(this.state.animatedOpacity2, {
64
+ toValue: 1,
65
+ duration: 900,
66
+ delay: 150,
67
+ useNativeDriver: false
68
+ }), Animated.timing(this.state.animatedSize3, {
69
+ toValue: 20,
70
+ duration: 900,
71
+ delay: 300,
72
+ useNativeDriver: false
73
+ }), Animated.timing(this.state.animatedOpacity3, {
74
+ toValue: 1,
75
+ duration: 900,
76
+ delay: 400,
77
+ useNativeDriver: false
78
+ }), Animated.timing(this.state.animatedSize4, {
79
+ toValue: 20,
80
+ duration: 900,
81
+ delay: 450,
82
+ useNativeDriver: false
83
+ }), Animated.timing(this.state.animatedOpacity4, {
84
+ toValue: 1,
85
+ duration: 900,
86
+ delay: 450,
87
+ useNativeDriver: false
88
+ }), Animated.timing(this.state.animatedSize5, {
89
+ toValue: 20,
90
+ duration: 900,
91
+ delay: 600,
92
+ useNativeDriver: false
93
+ }), Animated.timing(this.state.animatedOpacity5, {
94
+ toValue: 1,
95
+ duration: 900,
96
+ delay: 600,
97
+ useNativeDriver: false
98
+ })]), Animated.parallel([Animated.timing(this.state.animatedOpacity, {
99
+ toValue: 0,
100
+ duration: 500,
101
+ useNativeDriver: false
102
+ }), Animated.timing(this.state.animatedOpacity2, {
103
+ toValue: 0,
104
+ duration: 500,
105
+ useNativeDriver: false
106
+ }), Animated.timing(this.state.animatedOpacity3, {
107
+ toValue: 0,
108
+ duration: 500,
109
+ useNativeDriver: false
110
+ }), Animated.timing(this.state.animatedOpacity4, {
111
+ toValue: 0,
112
+ duration: 500,
113
+ useNativeDriver: false
114
+ }), Animated.timing(this.state.animatedOpacity5, {
115
+ toValue: 0,
116
+ duration: 500,
117
+ useNativeDriver: false
118
+ })]), Animated.parallel([Animated.timing(this.state.animatedSize, {
119
+ toValue: 1,
120
+ duration: 1,
121
+ useNativeDriver: false
122
+ }), Animated.timing(this.state.animatedSize2, {
123
+ toValue: 1,
124
+ duration: 1,
125
+ useNativeDriver: false
126
+ }), Animated.timing(this.state.animatedSize3, {
127
+ toValue: 1,
128
+ duration: 1,
129
+ useNativeDriver: false
130
+ }), Animated.timing(this.state.animatedSize4, {
131
+ toValue: 1,
132
+ duration: 1,
133
+ useNativeDriver: false
134
+ }), Animated.timing(this.state.animatedSize5, {
135
+ toValue: 1,
136
+ duration: 1,
137
+ useNativeDriver: false
138
+ })])]).start(() => {
139
+ this.animate();
140
+ });
141
+ }
142
+ render() {
143
+ return /*#__PURE__*/React.createElement(View, {
144
+ style: styles.container
145
+ }, /*#__PURE__*/React.createElement(View, {
146
+ style: [styles.container, styles.absolute]
147
+ }, /*#__PURE__*/React.createElement(Animated.View, {
148
+ style: [styles.circle, {
149
+ borderColor: this.props.color || this.props.colourBrandingMain,
150
+ width: this.state.animatedSize,
151
+ height: this.state.animatedSize,
152
+ opacity: this.state.animatedOpacity
153
+ }]
154
+ })), /*#__PURE__*/React.createElement(View, {
155
+ style: [styles.container, styles.absolute]
156
+ }, /*#__PURE__*/React.createElement(Animated.View, {
157
+ style: [styles.circle, {
158
+ borderColor: this.props.color || this.props.colourBrandingMain,
159
+ width: this.state.animatedSize2,
160
+ height: this.state.animatedSize2,
161
+ opacity: this.state.animatedOpacity2
162
+ }]
163
+ })), /*#__PURE__*/React.createElement(View, {
164
+ style: [styles.container, styles.absolute]
165
+ }, /*#__PURE__*/React.createElement(Animated.View, {
166
+ style: [styles.circle, {
167
+ borderColor: this.props.color || this.props.colourBrandingMain,
168
+ width: this.state.animatedSize3,
169
+ height: this.state.animatedSize3,
170
+ opacity: this.state.animatedOpacity3
171
+ }]
172
+ })), /*#__PURE__*/React.createElement(View, {
173
+ style: [styles.container, styles.absolute]
174
+ }, /*#__PURE__*/React.createElement(Animated.View, {
175
+ style: [styles.circle, {
176
+ borderColor: this.props.color || this.props.colourBrandingMain,
177
+ width: this.state.animatedSize4,
178
+ height: this.state.animatedSize4,
179
+ opacity: this.state.animatedOpacity4
180
+ }]
181
+ })), /*#__PURE__*/React.createElement(View, {
182
+ style: [styles.container, styles.absolute]
183
+ }, /*#__PURE__*/React.createElement(Animated.View, {
184
+ style: [styles.circle, {
185
+ borderColor: this.props.color || this.props.colourBrandingMain,
186
+ width: this.state.animatedSize5,
187
+ height: this.state.animatedSize5,
188
+ opacity: this.state.animatedOpacity5
189
+ }]
190
+ })));
191
+ }
192
+ }
193
+ const styles = {
194
+ container: {
195
+ width: 30,
196
+ height: 30,
197
+ alignItems: "center",
198
+ justifyContent: "center"
199
+ },
200
+ circle: {
201
+ borderRadius: 15,
202
+ borderWidth: 1
203
+ },
204
+ absolute: {
205
+ position: "absolute",
206
+ top: 0,
207
+ left: 0,
208
+ right: 0,
209
+ bottom: 0
210
+ }
211
+ };
212
+ const mapStateToProps = state => {
213
+ return {
214
+ colourBrandingMain: getMainBrandingColourFromState(state)
215
+ };
216
+ };
217
+ const loadingCircles = connect(mapStateToProps, {})(LoadingCircles);
218
+ export { loadingCircles as LoadingCircles };
219
+ //# sourceMappingURL=LoadingCircles.js.map