@plusscommunities/pluss-core-app 8.0.27 → 8.0.28

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/package.json +1 -1
  2. package/src/components/react-native-expo-image-cropper/ExpoImageManipulator.js +21 -22
  3. package/dist/module/actions/FollowerActions.js +0 -34
  4. package/dist/module/actions/FollowerActions.js.map +0 -1
  5. package/dist/module/actions/MediaActions.js +0 -29
  6. package/dist/module/actions/MediaActions.js.map +0 -1
  7. package/dist/module/actions/ResidentActions.js +0 -26
  8. package/dist/module/actions/ResidentActions.js.map +0 -1
  9. package/dist/module/actions/UserActions.js +0 -223
  10. package/dist/module/actions/UserActions.js.map +0 -1
  11. package/dist/module/actions/UserSettingsActions.js +0 -14
  12. package/dist/module/actions/UserSettingsActions.js.map +0 -1
  13. package/dist/module/actions/index.js +0 -6
  14. package/dist/module/actions/index.js.map +0 -1
  15. package/dist/module/actions/types.js +0 -17
  16. package/dist/module/actions/types.js.map +0 -1
  17. package/dist/module/apis/analyticsActions.js +0 -20
  18. package/dist/module/apis/analyticsActions.js.map +0 -1
  19. package/dist/module/apis/contactActions.js +0 -27
  20. package/dist/module/apis/contactActions.js.map +0 -1
  21. package/dist/module/apis/eventActions.js +0 -161
  22. package/dist/module/apis/eventActions.js.map +0 -1
  23. package/dist/module/apis/fileActions.js +0 -93
  24. package/dist/module/apis/fileActions.js.map +0 -1
  25. package/dist/module/apis/followerActions.js +0 -38
  26. package/dist/module/apis/followerActions.js.map +0 -1
  27. package/dist/module/apis/index.js +0 -13
  28. package/dist/module/apis/index.js.map +0 -1
  29. package/dist/module/apis/notificationActions.js +0 -60
  30. package/dist/module/apis/notificationActions.js.map +0 -1
  31. package/dist/module/apis/profileActions.js +0 -14
  32. package/dist/module/apis/profileActions.js.map +0 -1
  33. package/dist/module/apis/reactionActions.js +0 -76
  34. package/dist/module/apis/reactionActions.js.map +0 -1
  35. package/dist/module/apis/settingActions.js +0 -22
  36. package/dist/module/apis/settingActions.js.map +0 -1
  37. package/dist/module/apis/stringActions.js +0 -30
  38. package/dist/module/apis/stringActions.js.map +0 -1
  39. package/dist/module/apis/typeActions.js +0 -15
  40. package/dist/module/apis/typeActions.js.map +0 -1
  41. package/dist/module/apis/userActions.js +0 -104
  42. package/dist/module/apis/userActions.js.map +0 -1
  43. package/dist/module/assets/icons/fontawesome/fa-brands-400.ttf +0 -0
  44. package/dist/module/assets/icons/fontawesome/fa-light-300.ttf +0 -0
  45. package/dist/module/assets/icons/fontawesome/fa-regular-400.ttf +0 -0
  46. package/dist/module/assets/icons/fontawesome/fa-solid-900.ttf +0 -0
  47. package/dist/module/assets/icons/fontawesome/fa-thin-100.ttf +0 -0
  48. package/dist/module/assets/icons/fontawesome/fa7-glyphmap.json +0 -4205
  49. package/dist/module/assets/icons/reactions/heart.png +0 -0
  50. package/dist/module/assets/icons/reactions/party.png +0 -0
  51. package/dist/module/assets/icons/reactions/sad.png +0 -0
  52. package/dist/module/assets/icons/reactions/smile.png +0 -0
  53. package/dist/module/colours.js +0 -165
  54. package/dist/module/colours.js.map +0 -1
  55. package/dist/module/components/AddButton.js +0 -43
  56. package/dist/module/components/AddButton.js.map +0 -1
  57. package/dist/module/components/AddToCalendarButton.js +0 -225
  58. package/dist/module/components/AddToCalendarButton.js.map +0 -1
  59. package/dist/module/components/Attachment.js +0 -55
  60. package/dist/module/components/Attachment.js.map +0 -1
  61. package/dist/module/components/AudienceSelectorLauncher.js +0 -64
  62. package/dist/module/components/AudienceSelectorLauncher.js.map +0 -1
  63. package/dist/module/components/AudienceSelectorPage.js +0 -351
  64. package/dist/module/components/AudienceSelectorPage.js.map +0 -1
  65. package/dist/module/components/AutoOffsetImage.js +0 -184
  66. package/dist/module/components/AutoOffsetImage.js.map +0 -1
  67. package/dist/module/components/BackButton.js +0 -58
  68. package/dist/module/components/BackButton.js.map +0 -1
  69. package/dist/module/components/CalendarPopup.js +0 -126
  70. package/dist/module/components/CalendarPopup.js.map +0 -1
  71. package/dist/module/components/CategoryTabs.js +0 -155
  72. package/dist/module/components/CategoryTabs.js.map +0 -1
  73. package/dist/module/components/CommentReply.js +0 -334
  74. package/dist/module/components/CommentReply.js.map +0 -1
  75. package/dist/module/components/CommentSection.js +0 -823
  76. package/dist/module/components/CommentSection.js.map +0 -1
  77. package/dist/module/components/ConfirmPopup.js +0 -109
  78. package/dist/module/components/ConfirmPopup.js.map +0 -1
  79. package/dist/module/components/ConfirmationPopup.js +0 -72
  80. package/dist/module/components/ConfirmationPopup.js.map +0 -1
  81. package/dist/module/components/DocumentUploader.js +0 -253
  82. package/dist/module/components/DocumentUploader.js.map +0 -1
  83. package/dist/module/components/DropDownItem.js +0 -75
  84. package/dist/module/components/DropDownItem.js.map +0 -1
  85. package/dist/module/components/DropDownMenu.js +0 -41
  86. package/dist/module/components/DropDownMenu.js.map +0 -1
  87. package/dist/module/components/EmptyStateMain.js +0 -51
  88. package/dist/module/components/EmptyStateMain.js.map +0 -1
  89. package/dist/module/components/EmptyStateWidget.js +0 -48
  90. package/dist/module/components/EmptyStateWidget.js.map +0 -1
  91. package/dist/module/components/FontScaleButton.js +0 -37
  92. package/dist/module/components/FontScaleButton.js.map +0 -1
  93. package/dist/module/components/FontScalePopup.js +0 -76
  94. package/dist/module/components/FontScalePopup.js.map +0 -1
  95. package/dist/module/components/Forbidden.js +0 -58
  96. package/dist/module/components/Forbidden.js.map +0 -1
  97. package/dist/module/components/FormCard.js +0 -25
  98. package/dist/module/components/FormCard.js.map +0 -1
  99. package/dist/module/components/FormCardSection.js +0 -214
  100. package/dist/module/components/FormCardSection.js.map +0 -1
  101. package/dist/module/components/FormCardSectionOptionLauncher.js +0 -73
  102. package/dist/module/components/FormCardSectionOptionLauncher.js.map +0 -1
  103. package/dist/module/components/FormattedText.js +0 -133
  104. package/dist/module/components/FormattedText.js.map +0 -1
  105. package/dist/module/components/GenericInput.js +0 -151
  106. package/dist/module/components/GenericInput.js.map +0 -1
  107. package/dist/module/components/GenericInputSection.js +0 -173
  108. package/dist/module/components/GenericInputSection.js.map +0 -1
  109. package/dist/module/components/Header.js +0 -459
  110. package/dist/module/components/Header.js.map +0 -1
  111. package/dist/module/components/Icon.js +0 -109
  112. package/dist/module/components/Icon.js.map +0 -1
  113. package/dist/module/components/ImagePopup.js +0 -400
  114. package/dist/module/components/ImagePopup.js.map +0 -1
  115. package/dist/module/components/ImageUploadProgress.js +0 -69
  116. package/dist/module/components/ImageUploadProgress.js.map +0 -1
  117. package/dist/module/components/ImageUploader.js +0 -831
  118. package/dist/module/components/ImageUploader.js.map +0 -1
  119. package/dist/module/components/InlineButton.js +0 -66
  120. package/dist/module/components/InlineButton.js.map +0 -1
  121. package/dist/module/components/Input.js +0 -156
  122. package/dist/module/components/Input.js.map +0 -1
  123. package/dist/module/components/LoadingCircles.js +0 -219
  124. package/dist/module/components/LoadingCircles.js.map +0 -1
  125. package/dist/module/components/LoadingIndicator.js +0 -86
  126. package/dist/module/components/LoadingIndicator.js.map +0 -1
  127. package/dist/module/components/LoadingStateWidget.js +0 -46
  128. package/dist/module/components/LoadingStateWidget.js.map +0 -1
  129. package/dist/module/components/MediaPlayer.js +0 -407
  130. package/dist/module/components/MediaPlayer.js.map +0 -1
  131. package/dist/module/components/MiddlePopup.js +0 -49
  132. package/dist/module/components/MiddlePopup.js.map +0 -1
  133. package/dist/module/components/PDFPopup.js +0 -203
  134. package/dist/module/components/PDFPopup.js.map +0 -1
  135. package/dist/module/components/PlussChat.js +0 -1078
  136. package/dist/module/components/PlussChat.js.map +0 -1
  137. package/dist/module/components/PlussChatMessage.js +0 -299
  138. package/dist/module/components/PlussChatMessage.js.map +0 -1
  139. package/dist/module/components/PlussChatTime.js +0 -59
  140. package/dist/module/components/PlussChatTime.js.map +0 -1
  141. package/dist/module/components/Popup.js +0 -126
  142. package/dist/module/components/Popup.js.map +0 -1
  143. package/dist/module/components/PopupMenu.js +0 -120
  144. package/dist/module/components/PopupMenu.js.map +0 -1
  145. package/dist/module/components/PositionedImage.js +0 -313
  146. package/dist/module/components/PositionedImage.js.map +0 -1
  147. package/dist/module/components/ProfilePic.js +0 -105
  148. package/dist/module/components/ProfilePic.js.map +0 -1
  149. package/dist/module/components/RadioButton.js +0 -78
  150. package/dist/module/components/RadioButton.js.map +0 -1
  151. package/dist/module/components/Reaction.js +0 -117
  152. package/dist/module/components/Reaction.js.map +0 -1
  153. package/dist/module/components/Reactions.js +0 -71
  154. package/dist/module/components/Reactions.js.map +0 -1
  155. package/dist/module/components/SharingTools.js +0 -189
  156. package/dist/module/components/SharingTools.js.map +0 -1
  157. package/dist/module/components/Spinner.js +0 -22
  158. package/dist/module/components/Spinner.js.map +0 -1
  159. package/dist/module/components/StickyFooter.js +0 -34
  160. package/dist/module/components/StickyFooter.js.map +0 -1
  161. package/dist/module/components/Text.js +0 -57
  162. package/dist/module/components/Text.js.map +0 -1
  163. package/dist/module/components/TickIcon.js +0 -24
  164. package/dist/module/components/TickIcon.js.map +0 -1
  165. package/dist/module/components/Toggle.js +0 -66
  166. package/dist/module/components/Toggle.js.map +0 -1
  167. package/dist/module/components/TouchableSearchBar.js +0 -68
  168. package/dist/module/components/TouchableSearchBar.js.map +0 -1
  169. package/dist/module/components/UserListPopup.js +0 -136
  170. package/dist/module/components/UserListPopup.js.map +0 -1
  171. package/dist/module/components/UserListing.js +0 -268
  172. package/dist/module/components/UserListing.js.map +0 -1
  173. package/dist/module/components/VideoPopup.js +0 -113
  174. package/dist/module/components/VideoPopup.js.map +0 -1
  175. package/dist/module/components/WarningPopup.js +0 -85
  176. package/dist/module/components/WarningPopup.js.map +0 -1
  177. package/dist/module/components/expo-image-picker-multiple/ImageBrowser.js +0 -289
  178. package/dist/module/components/expo-image-picker-multiple/ImageBrowser.js.map +0 -1
  179. package/dist/module/components/expo-image-picker-multiple/ImageTile.js +0 -117
  180. package/dist/module/components/expo-image-picker-multiple/ImageTile.js.map +0 -1
  181. package/dist/module/components/index.js +0 -60
  182. package/dist/module/components/index.js.map +0 -1
  183. package/dist/module/components/react-native-expo-image-cropper/ExpoImageManipulator.js +0 -415
  184. package/dist/module/components/react-native-expo-image-cropper/ExpoImageManipulator.js.map +0 -1
  185. package/dist/module/components/react-native-expo-image-cropper/ImageCropOverlay.js +0 -387
  186. package/dist/module/components/react-native-expo-image-cropper/ImageCropOverlay.js.map +0 -1
  187. package/dist/module/config.js +0 -27
  188. package/dist/module/config.js.map +0 -1
  189. package/dist/module/constants.js +0 -18
  190. package/dist/module/constants.js.map +0 -1
  191. package/dist/module/helper.js +0 -424
  192. package/dist/module/helper.js.map +0 -1
  193. package/dist/module/index.js +0 -13
  194. package/dist/module/index.js.map +0 -1
  195. package/dist/module/js/images/detectFaces.js +0 -31
  196. package/dist/module/js/images/detectFaces.js.map +0 -1
  197. package/dist/module/js/images/findLandmarkRange.js +0 -93
  198. package/dist/module/js/images/findLandmarkRange.js.map +0 -1
  199. package/dist/module/js/images/getScaledOffset.js +0 -81
  200. package/dist/module/js/images/getScaledOffset.js.map +0 -1
  201. package/dist/module/js/site/getSiteLevelFromState.js +0 -29
  202. package/dist/module/js/site/getSiteLevelFromState.js.map +0 -1
  203. package/dist/module/js/site/isTVEnabled.js +0 -10
  204. package/dist/module/js/site/isTVEnabled.js.map +0 -1
  205. package/dist/module/session.js +0 -58
  206. package/dist/module/session.js.map +0 -1
  207. package/dist/module/styles.js +0 -67
  208. package/dist/module/styles.js.map +0 -1
  209. package/dist/module/withNavigationFocus.js +0 -30
  210. package/dist/module/withNavigationFocus.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","Component","Text","Animated","View","StatusBar","Image","Dimensions","TouchableOpacity","Platform","Icon","LinearGradient","connect","StatusBarHeight","getSiteSettingFromState","COLOUR_TRANSPARENT","TEXT_DARK","TEXT_LIGHT","LINEGREY","COLOUR_GREEN","getMainBrandingColourFromState","hexToRGBAstring","FontAwesome","Config","Header","constructor","props","state","UNSAFE_componentWillMount","barStyle","select","ios","android","headerType","noGradient","transparent","setState","windowWidth","get","width","getTextColourStyle","textColour","color","renderBackground","headerBackground","headerImage","createElement","style","styles","thumbnailStyle","source","uri","contentContainerStyle","backgroundColor","colourBrandingMain","popupHeader","thumbnailPopupHeader","headerPattern","patternColour","tintColor","flex","colors","start","x","y","end","locations","renderLeftBubble","hasLeftBubble","counter","smallCounter","renderLeftIcon","leftIcon","leftText","onPressLeft","headerContentIcon","onPress","activeOpacity","buttonText","paddingRight","paddingLeft","leftTextStyle","leftIconType","name","leftIconStyle","type","iconStyle","renderHeaderText","text","centerContent","onTextPress","headerTextContainer","rightIcon","rightText","absoluteRight","textContainerStyle","headerText","textStyle","numberOfLines","ellipsizeMode","absoluteLeft","renderRightIcon","rightContent","onPressRight","rightContainerStyle","textAlign","fontFamily","optionalRightStyle","rightImage","resizeMode","rightIconType","rightIconStyle","render","animatedHeader","container","noShadow","containerShadow","transparentContainer","headerColourOffset","elevation","headerElev","shadowColor","headerShadow","translucent","headerContent","children","extraHeaderContent","lineSeparated","colourBrandingHeader","contentContainer","popupContentContainer","headerContentPopup","alignSelf","zIndex","shadowOffset","height","shadowOpacity","shadowRadius","borderBottomWidth","borderColor","borderTopLeftRadius","borderTopRightRadius","flexDirection","position","top","left","overflow","paddingTop","alignItems","justifyContent","right","fontSize","padding","marginRight","marginLeft","borderRadius","minWidth","counterText","lineHeight","bottom","mapStateToProps","env","hasGradientHeader"],"sources":["Header.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { Text } from \"@plusscommunities/pluss-core-app/components\";\nimport {\n\tAnimated,\n\tView,\n\tStatusBar,\n\tImage,\n\tDimensions,\n\tTouchableOpacity,\n\tPlatform,\n} from \"react-native\";\nimport { Icon } from \"@rneui/themed\";\nimport { LinearGradient } from \"expo-linear-gradient\";\nimport { connect } from \"react-redux\";\n// import {\n// StatusBarHeight,\n// COLOUR_TRANSPARENT,\n// TEXT_DARK,\n// TEXT_LIGHT,\n// LINEGREY,\n// COLOUR_GREEN,\n// getMainBrandingColourFromState,\n// hexToRGBAstring,\n// getSiteSettingFromState,\n// } from '../../js';\nimport { StatusBarHeight, getSiteSettingFromState } from \"../helper\";\nimport {\n\tCOLOUR_TRANSPARENT,\n\tTEXT_DARK,\n\tTEXT_LIGHT,\n\tLINEGREY,\n\tCOLOUR_GREEN,\n\tgetMainBrandingColourFromState,\n\thexToRGBAstring,\n} from \"../colours\";\nimport { FontAwesome } from \"./Icon\";\nimport Config from \"../config\";\n// import { HAS_GRADIENT_HEADER } from '../../config';\n\nclass Header extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {};\n\t}\n\n\tUNSAFE_componentWillMount() {\n\t\tlet barStyle = Platform.select({ ios: \"dark-content\", android: \"default\" });\n\t\tif (this.props.barStyle) {\n\t\t\tbarStyle = this.props.barStyle;\n\t\t} else if (\n\t\t\tthis.props.headerType !== \"white\" &&\n\t\t\t!this.props.noGradient &&\n\t\t\t!this.props.transparent\n\t\t) {\n\t\t\tbarStyle = \"light-content\";\n\t\t}\n\t\tthis.setState({ windowWidth: Dimensions.get(\"window\").width, barStyle });\n\t}\n\n\tgetTextColourStyle() {\n\t\tif (this.props.textColour) {\n\t\t\treturn { color: this.props.textColour };\n\t\t}\n\t\tif (\n\t\t\tthis.props.headerType !== \"white\" &&\n\t\t\t!this.props.noGradient &&\n\t\t\t!this.props.transparent\n\t\t) {\n\t\t\treturn { color: \"#fff\" };\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderBackground() {\n\t\tif (this.props.headerBackground) return this.props.headerBackground;\n\t\tif (this.props.headerImage) {\n\t\t\treturn (\n\t\t\t\t<Image\n\t\t\t\t\tstyle={[styles.thumbnailStyle, { width: this.state.windowWidth }]}\n\t\t\t\t\tsource={{ uri: this.props.headerImage }}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\tif (\n\t\t\tthis.props.headerType === \"pattern\" &&\n\t\t\t!this.props.noGradient &&\n\t\t\t!this.props.transparent\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.thumbnailStyle,\n\t\t\t\t\t\tthis.props.contentContainerStyle,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tbackgroundColor: this.props.colourBrandingMain,\n\t\t\t\t\t\t\twidth: this.state.windowWidth,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.popupHeader && styles.thumbnailPopupHeader,\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<Image\n\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\tstyles.headerPattern,\n\t\t\t\t\t\t\tthis.props.patternColour && {\n\t\t\t\t\t\t\t\ttintColor: this.props.patternColour,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t]}\n\t\t\t\t\t\tsource={{ uri: this.props.headerPattern }}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\tif (\n\t\t\tthis.props.headerType === \"block\" &&\n\t\t\t!this.props.noGradient &&\n\t\t\t!this.props.transparent\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.thumbnailStyle,\n\t\t\t\t\t\tthis.props.contentContainerStyle,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tbackgroundColor: this.props.colourBrandingMain,\n\t\t\t\t\t\t\twidth: this.state.windowWidth,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.popupHeader && styles.thumbnailPopupHeader,\n\t\t\t\t\t]}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\tif (\n\t\t\tthis.props.headerType === \"gradient\" &&\n\t\t\t!this.props.noGradient &&\n\t\t\t!this.props.transparent\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.thumbnailStyle,\n\t\t\t\t\t\tthis.props.contentContainerStyle,\n\t\t\t\t\t\t{ width: this.state.windowWidth },\n\t\t\t\t\t\tthis.props.popupHeader && styles.thumbnailPopupHeader,\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<LinearGradient\n\t\t\t\t\t\tstyle={{ flex: 1 }}\n\t\t\t\t\t\tcolors={[\n\t\t\t\t\t\t\tthis.props.colourBrandingMain,\n\t\t\t\t\t\t\thexToRGBAstring(this.props.colourBrandingMain, 0.7),\n\t\t\t\t\t\t]}\n\t\t\t\t\t\tstart={{ x: 0, y: 0 }}\n\t\t\t\t\t\tend={{ x: 1, y: 1 }}\n\t\t\t\t\t\tlocations={[0.4, 1]}\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\trenderLeftBubble() {\n\t\tif (!this.props.hasLeftBubble) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <View style={[styles.counter, styles.smallCounter]} />;\n\t}\n\n\trenderLeftIcon() {\n\t\tif (\n\t\t\t(!this.props.leftIcon && !this.props.leftText) ||\n\t\t\t!this.props.onPressLeft\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\t\tif (this.props.leftText) {\n\t\t\treturn (\n\t\t\t\t<View style={[styles.headerContentIcon, { width: \"auto\" }]}>\n\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\tonPress={this.props.onPressLeft}\n\t\t\t\t\t\tactiveOpacity={0.6}\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\tstyles.buttonText,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpaddingRight: 5,\n\t\t\t\t\t\t\t\t\tpaddingLeft: 15,\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\t\tthis.props.leftTextStyle,\n\t\t\t\t\t\t\t\tthis.props.headerType !== \"white\" &&\n\t\t\t\t\t\t\t\t\t!this.props.noGradient &&\n\t\t\t\t\t\t\t\t\t!this.props.transparent && { color: \"#fff\" },\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.leftText}\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\tif (this.props.leftIconType && this.props.leftIconType === \"pluss\") {\n\t\t\treturn (\n\t\t\t\t<View style={styles.headerContentIcon}>\n\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\tonPress={this.props.onPressLeft}\n\t\t\t\t\t\tactiveOpacity={0.6}\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={styles.headerContentIcon}>\n\t\t\t\t\t\t\t<FontAwesome\n\t\t\t\t\t\t\t\tname={this.props.leftIcon}\n\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\tstyles.leftIcon,\n\t\t\t\t\t\t\t\t\tthis.props.leftIconStyle,\n\t\t\t\t\t\t\t\t\tthis.getTextColourStyle(),\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{this.renderLeftBubble()}\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<View style={styles.headerContentIcon}>\n\t\t\t\t<TouchableOpacity onPress={this.props.onPressLeft} activeOpacity={0.6}>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname={this.props.leftIcon}\n\t\t\t\t\t\tstyle={styles.headerContentIcon}\n\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\ticonStyle={[\n\t\t\t\t\t\t\tstyles.leftIcon,\n\t\t\t\t\t\t\tthis.props.leftIconStyle,\n\t\t\t\t\t\t\tthis.getTextColourStyle(),\n\t\t\t\t\t\t]}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.renderLeftBubble()}\n\t\t\t\t</TouchableOpacity>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderHeaderText() {\n\t\tif (!this.props.text) {\n\t\t\tif (this.props.centerContent) {\n\t\t\t\treturn this.props.centerContent;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t\tif (this.props.onTextPress) {\n\t\t\treturn (\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tonPress={this.props.onTextPress}\n\t\t\t\t\tactiveOpacity={0.6}\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.headerTextContainer,\n\t\t\t\t\t\tthis.props.leftIcon &&\n\t\t\t\t\t\t\t((!this.props.rightIcon && !this.props.rightText) ||\n\t\t\t\t\t\t\t\tthis.props.absoluteRight) && { paddingRight: 55 },\n\t\t\t\t\t\tthis.props.textContainerStyle,\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\tstyles.headerText,\n\t\t\t\t\t\t\tthis.props.textStyle,\n\t\t\t\t\t\t\tthis.getTextColourStyle(),\n\t\t\t\t\t\t]}\n\t\t\t\t\t\tnumberOfLines={1}\n\t\t\t\t\t\tellipsizeMode=\"tail\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.text}\n\t\t\t\t\t</Text>\n\t\t\t\t</TouchableOpacity>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={[\n\t\t\t\t\tstyles.headerTextContainer,\n\t\t\t\t\tthis.props.leftIcon &&\n\t\t\t\t\t\t((!this.props.rightIcon && !this.props.rightText) ||\n\t\t\t\t\t\t\tthis.props.absoluteRight) && { paddingRight: 55 },\n\t\t\t\t\tthis.props.rightIcon &&\n\t\t\t\t\t\t((!this.props.leftIcon && !this.props.leftText) ||\n\t\t\t\t\t\t\tthis.props.absoluteLeft) && { paddingLeft: 55 },\n\t\t\t\t\tthis.props.textContainerStyle,\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t<Text\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.headerText,\n\t\t\t\t\t\tthis.props.textStyle,\n\t\t\t\t\t\tthis.getTextColourStyle(),\n\t\t\t\t\t]}\n\t\t\t\t\tnumberOfLines={1}\n\t\t\t\t\tellipsizeMode=\"tail\"\n\t\t\t\t>\n\t\t\t\t\t{this.props.text}\n\t\t\t\t</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderRightIcon() {\n\t\tif (this.props.rightContent) {\n\t\t\treturn this.props.rightContent;\n\t\t}\n\t\tif (!this.props.onPressRight) {\n\t\t\treturn null;\n\t\t}\n\t\tif (this.props.rightText && this.props.onPressRight) {\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.headerContentIcon,\n\t\t\t\t\t\t{ width: \"auto\" },\n\t\t\t\t\t\tthis.props.absoluteRight && styles.absoluteRight,\n\t\t\t\t\t\tthis.props.rightContainerStyle,\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\tonPress={this.props.onPressRight}\n\t\t\t\t\t\tactiveOpacity={0.6}\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\tstyles.buttonText,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tpaddingRight: 15,\n\t\t\t\t\t\t\t\t\tpaddingLeft: 5,\n\t\t\t\t\t\t\t\t\ttextAlign: \"right\",\n\t\t\t\t\t\t\t\t\tfontFamily: \"sf-semibold\",\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\t\tthis.getTextColourStyle(),\n\t\t\t\t\t\t\t\tthis.props.optionalRightStyle,\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.rightText}\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\tif (!this.props.rightIcon) {\n\t\t\tif (this.props.rightImage) {\n\t\t\t\treturn (\n\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\tonPress={this.props.onPressRight}\n\t\t\t\t\t\tactiveOpacity={0.6}\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={styles.headerContentIcon}>\n\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\tsource={{ uri: this.props.rightImage }}\n\t\t\t\t\t\t\t\tstyle={styles.rightImage}\n\t\t\t\t\t\t\t\tresizeMode=\"contain\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<TouchableOpacity onPress={this.props.onPressRight} activeOpacity={0.6}>\n\t\t\t\t{this.props.rightIconType && this.props.rightIconType === \"pluss\" ? (\n\t\t\t\t\t<View style={styles.headerContentIcon}>\n\t\t\t\t\t\t<FontAwesome\n\t\t\t\t\t\t\tname={this.props.rightIcon}\n\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\tstyles.rightIcon,\n\t\t\t\t\t\t\t\tthis.getTextColourStyle(),\n\t\t\t\t\t\t\t\tthis.props.rightIconStyle,\n\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) : (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname={this.props.rightIcon}\n\t\t\t\t\t\tstyle={styles.headerContentIcon}\n\t\t\t\t\t\ttype={\n\t\t\t\t\t\t\tthis.props.rightIconType\n\t\t\t\t\t\t\t\t? this.props.rightIconType\n\t\t\t\t\t\t\t\t: \"font-awesome\"\n\t\t\t\t\t\t}\n\t\t\t\t\t\ticonStyle={[\n\t\t\t\t\t\t\tstyles.rightIcon,\n\t\t\t\t\t\t\tthis.getTextColourStyle(),\n\t\t\t\t\t\t\tthis.props.rightIconStyle,\n\t\t\t\t\t\t]}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</TouchableOpacity>\n\t\t);\n\t}\n\n\trender() {\n\t\tif (this.props.animatedHeader) {\n\t\t\treturn (\n\t\t\t\t<Animated.View\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.container,\n\t\t\t\t\t\t!this.props.noShadow && styles.containerShadow,\n\t\t\t\t\t\tthis.props.transparent && styles.transparentContainer,\n\t\t\t\t\t\tthis.props.style,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tbackgroundColor: this.props.headerColourOffset,\n\t\t\t\t\t\t\televation: this.props.headerElev,\n\t\t\t\t\t\t\tshadowColor: this.props.headerShadow,\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t{this.renderBackground()}\n\t\t\t\t\t<StatusBar barStyle={this.state.barStyle} translucent />\n\t\t\t\t\t<View style={styles.headerContent}>\n\t\t\t\t\t\t{this.renderLeftIcon()}\n\t\t\t\t\t\t{this.renderHeaderText()}\n\t\t\t\t\t\t{this.renderRightIcon()}\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t</View>\n\t\t\t\t\t{this.props.extraHeaderContent}\n\t\t\t\t</Animated.View>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={[\n\t\t\t\t\tstyles.container,\n\t\t\t\t\t!this.props.noShadow && styles.containerShadow,\n\t\t\t\t\tthis.props.transparent && styles.transparentContainer,\n\t\t\t\t\tthis.props.lineSeparated && styles.lineSeparated,\n\t\t\t\t\tthis.props.popupHeader && styles.popupHeader,\n\t\t\t\t\tthis.props.style,\n\t\t\t\t\tthis.props.colourBrandingHeader && {\n\t\t\t\t\t\tbackgroundColor: this.props.colourBrandingHeader,\n\t\t\t\t\t},\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.contentContainer,\n\t\t\t\t\t\tthis.props.popupHeader && styles.popupContentContainer,\n\t\t\t\t\t\tthis.props.contentContainerStyle,\n\t\t\t\t\t\tthis.props.colourBrandingHeader && {\n\t\t\t\t\t\t\tbackgroundColor: this.props.colourBrandingHeader,\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t{this.renderBackground()}\n\t\t\t\t\t<StatusBar barStyle={this.state.barStyle} translucent />\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\tstyles.headerContent,\n\t\t\t\t\t\t\tthis.props.popupHeader && styles.headerContentPopup,\n\t\t\t\t\t\t]}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.renderLeftIcon()}\n\t\t\t\t\t\t{this.renderHeaderText()}\n\t\t\t\t\t\t{this.renderRightIcon()}\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t\t{this.props.extraHeaderContent}\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tcontainer: {\n\t\talignSelf: \"stretch\",\n\t\tbackgroundColor: \"#fff\",\n\t\tzIndex: 10,\n\t},\n\tcontainerShadow: {\n\t\tshadowColor: \"#000\",\n\t\tshadowOffset: {\n\t\t\twidth: 0,\n\t\t\theight: 1,\n\t\t},\n\t\tshadowOpacity: 0.1,\n\t\tshadowRadius: 6,\n\t\televation: 3,\n\t},\n\tlineSeparated: {\n\t\tborderBottomWidth: 1,\n\t\tborderColor: LINEGREY,\n\t\tshadowOpacity: 0,\n\t\televation: 0,\n\t},\n\tpopupHeader: {\n\t\tborderBottomWidth: 1,\n\t\tborderColor: LINEGREY,\n\t\tshadowOpacity: 0,\n\t\televation: 0,\n\t\tborderTopLeftRadius: 12,\n\t\tborderTopRightRadius: 12,\n\t},\n\tcontentContainer: {\n\t\theight: StatusBarHeight(70),\n\t\talignSelf: \"stretch\",\n\t\tflexDirection: \"row\",\n\t},\n\tpopupContentContainer: {\n\t\theight: 70,\n\t\tborderTopLeftRadius: 12,\n\t\tborderTopRightRadius: 12,\n\t},\n\ttransparentContainer: {\n\t\tbackgroundColor: COLOUR_TRANSPARENT,\n\t\tshadowColor: COLOUR_TRANSPARENT,\n\t\televation: 0,\n\t},\n\tthumbnailStyle: {\n\t\theight: StatusBarHeight(70),\n\t\twidth: null,\n\t\tposition: \"absolute\",\n\t\ttop: 0,\n\t\tleft: 0,\n\t\tresizeMode: \"cover\",\n\t},\n\tthumbnailPopupHeader: {\n\t\theight: 70,\n\t\twidth: \"100%\",\n\t\tborderTopLeftRadius: 12,\n\t\tborderTopRightRadius: 12,\n\t\toverflow: \"hidden\",\n\t},\n\theaderContent: {\n\t\talignSelf: \"stretch\",\n\t\tflexDirection: \"row\",\n\t\tflex: 1,\n\t\tpaddingTop: StatusBarHeight(0),\n\t},\n\theaderContentPopup: {\n\t\tpaddingTop: 0,\n\t},\n\theaderContentIcon: {\n\t\theight: 70,\n\t\twidth: 55,\n\t\talignItems: \"center\",\n\t\tflexDirection: \"row\",\n\t\tjustifyContent: \"space-between\",\n\t},\n\tabsoluteRight: {\n\t\theight: 70,\n\t\tjustifyContent: \"center\",\n\t\tposition: \"absolute\",\n\t\tright: 0,\n\t\ttop: StatusBarHeight(0),\n\t},\n\tleftIcon: {\n\t\tfontSize: 25,\n\t\tpadding: 15,\n\t\twidth: 55,\n\t\ttextAlign: \"center\",\n\t\tcolor: TEXT_LIGHT,\n\t},\n\theaderTextContainer: {\n\t\theight: 70,\n\t\tflex: 1,\n\t\talignItems: \"center\",\n\t\tflexDirection: \"row\",\n\t\tjustifyContent: \"space-between\",\n\t},\n\theaderText: {\n\t\tfontSize: 16,\n\t\tflex: 1,\n\t\tfontFamily: \"sf-semibold\",\n\t\tcolor: TEXT_DARK,\n\t\ttextAlign: \"center\",\n\t\tbackgroundColor: \"rgba(255,255,255,0)\",\n\t},\n\tbuttonText: {\n\t\tfontSize: 15,\n\t\tfontFamily: \"sf-regular\",\n\t\twidth: 80,\n\t\tbackgroundColor: \"rgba(255,255,255,0)\",\n\t},\n\trightIcon: {\n\t\tfontSize: 25,\n\t\tpadding: 15,\n\t\twidth: 55,\n\t\ttextAlign: \"center\",\n\t\tcolor: TEXT_LIGHT,\n\t},\n\trightImage: {\n\t\twidth: 24,\n\t\theight: 24,\n\t\tmarginRight: 15,\n\t\tmarginLeft: 13,\n\t},\n\tcounter: {\n\t\ttop: 15,\n\t\tright: 5,\n\t\tborderRadius: 10,\n\t\tposition: \"absolute\",\n\t\theight: 20,\n\t\tminWidth: 20,\n\t\tbackgroundColor: COLOUR_GREEN,\n\t\tjustifyContent: \"center\",\n\t},\n\tcounterText: {\n\t\tcolor: \"#fff\",\n\t\ttextAlign: \"center\",\n\t\tfontFamily: \"sf-bold\",\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tbackgroundColor: \"transparent\",\n\t},\n\tsmallCounter: {\n\t\twidth: 5,\n\t\theight: 5,\n\t\tminWidth: 5,\n\t\ttop: 20,\n\t\tright: 10,\n\t},\n\theaderPattern: {\n\t\tposition: \"absolute\",\n\t\ttop: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\tbottom: 0,\n\t\twidth: \"100%\",\n\t\theight: \"100%\",\n\t\tresizeMode: \"cover\",\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tcolourBrandingMain: getMainBrandingColourFromState(state),\n\t\theaderType: getSiteSettingFromState(\n\t\t\tstate,\n\t\t\t\"HeaderType\",\n\t\t\tgetSiteSettingFromState(\n\t\t\t\tstate,\n\t\t\t\t\"UseGradientHeader\",\n\t\t\t\tConfig.env.hasGradientHeader,\n\t\t\t)\n\t\t\t\t? \"gradient\"\n\t\t\t\t: \"white\",\n\t\t),\n\t\theaderPattern: getSiteSettingFromState(state, \"HeaderPattern\"),\n\t\tpatternColour: getSiteSettingFromState(state, \"PatternColour\"),\n\t};\n};\n\nexport default connect(mapStateToProps, {})(Header);\n"],"mappings":"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","ignoreList":[]}
@@ -1,109 +0,0 @@
1
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
- import React, { useEffect, useMemo } from "react";
3
- import { createIconSet } from "@expo/vector-icons";
4
- import glyphMap from "../assets/icons/fontawesome/fa7-glyphmap.json";
5
- const v4ToV6Map = {
6
- dashboard: "gauge",
7
- navicon: "bars",
8
- remove: "xmark",
9
- close: "xmark",
10
- pencil: "pen",
11
- times: "xmark",
12
- "trash-o": "trash-can",
13
- "file-o": "file",
14
- "picture-o": "image",
15
- "photo-o": "image",
16
- "camera-o": "camera",
17
- "video-camera": "video",
18
- "clock-o": "clock",
19
- "calendar-o": "calendar",
20
- "drivers-license": "id-card",
21
- "drivers-license-o": "id-card",
22
- "user-o": "user",
23
- "user-circle-o": "circle-user",
24
- "user-plus-o": "user-plus",
25
- "user-times-o": "user-xmark",
26
- "angle-left": "chevron-left",
27
- "angle-right": "chevron-right",
28
- "angle-up": "chevron-up",
29
- "angle-down": "chevron-down",
30
- "chevron-left": "chevron-left",
31
- "chevron-right": "chevron-right",
32
- "chevron-up": "chevron-up",
33
- "chevron-down": "chevron-down",
34
- "envelope-o": "envelope",
35
- "comment-o": "comment",
36
- "commenting-o": "comment-dots",
37
- "comments-o": "comments",
38
- "share-square-o": "share-from-square",
39
- "bookmark-o": "bookmark",
40
- "thumbs-o-up": "thumbs-up",
41
- "thumbs-o-down": "thumbs-down",
42
- "heart-o": "heart",
43
- "star-o": "star",
44
- "check-square-o": "square-check",
45
- "circle-o": "circle",
46
- "check-circle-o": "circle-check",
47
- "circle-check": "circle-check",
48
- warning: "triangle-exclamation",
49
- "exclamation-circle": "circle-exclamation",
50
- "exclamation-triangle": "triangle-exclamation",
51
- "info-circle": "circle-info",
52
- "question-circle": "circle-question",
53
- "sign-out": "right-from-bracket",
54
- "sign-in": "right-to-bracket",
55
- "unlock-alt": "unlock",
56
- "lock-alt": "lock",
57
- "play-circle-o": "circle-play",
58
- "pause-circle-o": "circle-pause",
59
- "stop-circle-o": "circle-stop",
60
- "shopping-cart": "cart-shopping",
61
- "shopping-basket": "basket-shopping",
62
- briefcase: "briefcase",
63
- "building-o": "building",
64
- "bell-o": "bell",
65
- cog: "gear",
66
- cogs: "gears",
67
- check: "check",
68
- "close-o": "xmark"
69
- };
70
- const IconSolid = createIconSet(glyphMap, "FontAwesomePro-Solid");
71
- const IconRegular = createIconSet(glyphMap, "FontAwesomePro-Regular");
72
- const IconLight = createIconSet(glyphMap, "FontAwesomePro-Light");
73
- const IconBrand = createIconSet(glyphMap, "FontAwesomePro-Brands");
74
- export const FontAwesome = ({
75
- name,
76
- size,
77
- color,
78
- style,
79
- solid = false,
80
- regular = false,
81
- light = false,
82
- brand = false,
83
- ...props
84
- }) => {
85
- useEffect(() => {
86
- if (__DEV__) {
87
- // Use __DEV__ for React Native
88
- if (v4ToV6Map[name]) {
89
- console.warn(`[FA7 Upgrade] "${name}" is a legacy name. Please use "${v4ToV6Map[name]}" instead.`);
90
- }
91
- }
92
- }, [name]);
93
- let iconName = name || "question";
94
- iconName = iconName.replace(/^fa-/, "");
95
- if (v4ToV6Map[iconName]) {
96
- iconName = v4ToV6Map[iconName];
97
- }
98
- let SelectedIconComponent = IconSolid; // Default to Solid
99
- if (regular) SelectedIconComponent = IconRegular;
100
- if (light) SelectedIconComponent = IconLight;
101
- if (brand) SelectedIconComponent = IconBrand;
102
- return /*#__PURE__*/React.createElement(SelectedIconComponent, _extends({
103
- name: iconName,
104
- size: size,
105
- color: color,
106
- style: style
107
- }, props));
108
- };
109
- //# sourceMappingURL=Icon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useEffect","useMemo","createIconSet","glyphMap","v4ToV6Map","dashboard","navicon","remove","close","pencil","times","warning","briefcase","cog","cogs","check","IconSolid","IconRegular","IconLight","IconBrand","FontAwesome","name","size","color","style","solid","regular","light","brand","props","__DEV__","console","warn","iconName","replace","SelectedIconComponent","createElement","_extends"],"sources":["Icon.js"],"sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport { createIconSet } from \"@expo/vector-icons\";\n\nimport glyphMap from \"../assets/icons/fontawesome/fa7-glyphmap.json\";\n\nconst v4ToV6Map = {\n\tdashboard: \"gauge\",\n\tnavicon: \"bars\",\n\tremove: \"xmark\",\n\tclose: \"xmark\",\n\tpencil: \"pen\",\n\ttimes: \"xmark\",\n\t\"trash-o\": \"trash-can\",\n\t\"file-o\": \"file\",\n\t\"picture-o\": \"image\",\n\t\"photo-o\": \"image\",\n\t\"camera-o\": \"camera\",\n\t\"video-camera\": \"video\",\n\t\"clock-o\": \"clock\",\n\t\"calendar-o\": \"calendar\",\n\t\"drivers-license\": \"id-card\",\n\t\"drivers-license-o\": \"id-card\",\n\t\"user-o\": \"user\",\n\t\"user-circle-o\": \"circle-user\",\n\t\"user-plus-o\": \"user-plus\",\n\t\"user-times-o\": \"user-xmark\",\n\t\"angle-left\": \"chevron-left\",\n\t\"angle-right\": \"chevron-right\",\n\t\"angle-up\": \"chevron-up\",\n\t\"angle-down\": \"chevron-down\",\n\t\"chevron-left\": \"chevron-left\",\n\t\"chevron-right\": \"chevron-right\",\n\t\"chevron-up\": \"chevron-up\",\n\t\"chevron-down\": \"chevron-down\",\n\t\"envelope-o\": \"envelope\",\n\t\"comment-o\": \"comment\",\n\t\"commenting-o\": \"comment-dots\",\n\t\"comments-o\": \"comments\",\n\t\"share-square-o\": \"share-from-square\",\n\t\"bookmark-o\": \"bookmark\",\n\t\"thumbs-o-up\": \"thumbs-up\",\n\t\"thumbs-o-down\": \"thumbs-down\",\n\t\"heart-o\": \"heart\",\n\t\"star-o\": \"star\",\n\t\"check-square-o\": \"square-check\",\n\t\"circle-o\": \"circle\",\n\t\"check-circle-o\": \"circle-check\",\n\t\"circle-check\": \"circle-check\",\n\twarning: \"triangle-exclamation\",\n\t\"exclamation-circle\": \"circle-exclamation\",\n\t\"exclamation-triangle\": \"triangle-exclamation\",\n\t\"info-circle\": \"circle-info\",\n\t\"question-circle\": \"circle-question\",\n\t\"sign-out\": \"right-from-bracket\",\n\t\"sign-in\": \"right-to-bracket\",\n\t\"unlock-alt\": \"unlock\",\n\t\"lock-alt\": \"lock\",\n\t\"play-circle-o\": \"circle-play\",\n\t\"pause-circle-o\": \"circle-pause\",\n\t\"stop-circle-o\": \"circle-stop\",\n\t\"shopping-cart\": \"cart-shopping\",\n\t\"shopping-basket\": \"basket-shopping\",\n\tbriefcase: \"briefcase\",\n\t\"building-o\": \"building\",\n\t\"bell-o\": \"bell\",\n\tcog: \"gear\",\n\tcogs: \"gears\",\n\tcheck: \"check\",\n\t\"close-o\": \"xmark\",\n};\n\nconst IconSolid = createIconSet(glyphMap, \"FontAwesomePro-Solid\");\nconst IconRegular = createIconSet(glyphMap, \"FontAwesomePro-Regular\");\nconst IconLight = createIconSet(glyphMap, \"FontAwesomePro-Light\");\nconst IconBrand = createIconSet(glyphMap, \"FontAwesomePro-Brands\");\n\nexport const FontAwesome = ({\n\tname,\n\tsize,\n\tcolor,\n\tstyle,\n\tsolid = false,\n\tregular = false,\n\tlight = false,\n\tbrand = false,\n\t...props\n}) => {\n\tuseEffect(() => {\n\t\tif (__DEV__) {\n\t\t\t// Use __DEV__ for React Native\n\t\t\tif (v4ToV6Map[name]) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`[FA7 Upgrade] \"${name}\" is a legacy name. Please use \"${v4ToV6Map[name]}\" instead.`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [name]);\n\n\tlet iconName = name || \"question\";\n\ticonName = iconName.replace(/^fa-/, \"\");\n\tif (v4ToV6Map[iconName]) {\n\t\ticonName = v4ToV6Map[iconName];\n\t}\n\n\tlet SelectedIconComponent = IconSolid; // Default to Solid\n\tif (regular) SelectedIconComponent = IconRegular;\n\tif (light) SelectedIconComponent = IconLight;\n\tif (brand) SelectedIconComponent = IconBrand;\n\n\treturn (\n\t\t<SelectedIconComponent\n\t\t\tname={iconName}\n\t\t\tsize={size}\n\t\t\tcolor={color}\n\t\t\tstyle={style}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,400 +0,0 @@
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 { Text } from "@plusscommunities/pluss-core-app/components";
6
- import _ from "lodash";
7
- import moment from "moment";
8
- import { Dimensions, Modal, TouchableOpacity, StyleSheet, View, Image } from "react-native";
9
- import ImageViewer from "react-native-image-zoom-viewer";
10
- import { Icon } from "@rneui/themed";
11
- import { StatusBarHeight, isVideo, get1400 } from "../helper";
12
- import { FontAwesome } from "./Icon";
13
- import { SharingTools } from "./SharingTools";
14
- import { VideoPopup } from "./VideoPopup";
15
- import { ProfilePic } from "./ProfilePic";
16
- import { LoadingIndicator } from "./";
17
- const SCREEN_WIDTH = Dimensions.get("window").width;
18
- const SCREEN_HEIGHT = Dimensions.get("window").height;
19
- const MAX_IMAGE_HEIGHT = SCREEN_HEIGHT * 0.65;
20
- class ImagePopup extends Component {
21
- constructor(_props) {
22
- super(_props);
23
- _defineProperty(this, "setupUrls", async () => {
24
- if (!this.props.images) return;
25
- const images = this.props.images.map(image => {
26
- if (typeof image === "string") {
27
- return {
28
- url: get1400(image),
29
- original: image,
30
- isVideo: isVideo(image)
31
- };
32
- }
33
- return {
34
- url: get1400(image === null || image === void 0 ? void 0 : image.uri),
35
- original: image === null || image === void 0 ? void 0 : image.uri,
36
- isVideo: isVideo(image === null || image === void 0 ? void 0 : image.uri),
37
- date: image === null || image === void 0 ? void 0 : image.date,
38
- user: image === null || image === void 0 ? void 0 : image.user,
39
- caption: image === null || image === void 0 ? void 0 : image.caption
40
- };
41
- });
42
- this.setState({
43
- isLoadingDimensions: true
44
- });
45
- const dimensions = {};
46
- await Promise.all(images.map(async image => {
47
- if (!image.url) return;
48
- try {
49
- const {
50
- width,
51
- height
52
- } = await new Promise((resolve, reject) => {
53
- Image.getSize(image.url, (w, h) => resolve({
54
- width: w,
55
- height: h
56
- }), reject);
57
- });
58
- dimensions[image.url] = {
59
- width,
60
- height
61
- };
62
- } catch (err) {
63
- console.log("Failed to get dimensions for", image.url, err);
64
- dimensions[image.url] = {
65
- width: SCREEN_WIDTH,
66
- height: SCREEN_HEIGHT
67
- };
68
- }
69
- }));
70
- this.setState({
71
- images,
72
- index: this.state.index || this.props.index || 0,
73
- imageDimensions: dimensions,
74
- isLoadingDimensions: false
75
- });
76
- });
77
- _defineProperty(this, "onChange", index => {
78
- this.setState({
79
- index
80
- });
81
- });
82
- _defineProperty(this, "toggleFullscreenVideo", url => {
83
- if (typeof url !== "string") url = "";
84
- this.setState({
85
- showFullscreenVideo: url.length > 0,
86
- currentVideoUrl: url
87
- });
88
- });
89
- _defineProperty(this, "renderImageFooter", media => {
90
- var _media$user, _media$user2;
91
- if (!media.user || !media.date) return null;
92
- let dateText, timeText;
93
- if (!_.isNil(media.date)) {
94
- const imageDate = moment(media.date);
95
- dateText = imageDate.format("MMMM D, YYYY");
96
- timeText = imageDate.format("hh:mm A");
97
- }
98
- return /*#__PURE__*/React.createElement(View, {
99
- style: styles.imageInfoContainer
100
- }, /*#__PURE__*/React.createElement(ProfilePic, {
101
- Diameter: 36,
102
- ProfilePic: media === null || media === void 0 || (_media$user = media.user) === null || _media$user === void 0 ? void 0 : _media$user.profilePic
103
- }), /*#__PURE__*/React.createElement(View, {
104
- style: styles.imageTextContainer
105
- }, /*#__PURE__*/React.createElement(Text, {
106
- style: styles.imageTextName
107
- }, media === null || media === void 0 || (_media$user2 = media.user) === null || _media$user2 === void 0 ? void 0 : _media$user2.displayName), /*#__PURE__*/React.createElement(Text, {
108
- numberOfLines: 2,
109
- style: styles.iamgeTextDate
110
- }, `Uploaded ${dateText} • ${timeText}`)));
111
- });
112
- _defineProperty(this, "renderCaption", media => {
113
- if (!media.caption) return null;
114
- return /*#__PURE__*/React.createElement(View, {
115
- style: styles.captionContainer
116
- }, /*#__PURE__*/React.createElement(Text, {
117
- numberOfLines: 3,
118
- style: styles.captionText
119
- }, media.caption));
120
- });
121
- _defineProperty(this, "getImageDimensions", media => {
122
- const cachedDimensions = this.state.imageDimensions[media === null || media === void 0 ? void 0 : media.url] || {
123
- width: SCREEN_WIDTH,
124
- height: SCREEN_HEIGHT
125
- };
126
- const aspectRatio = cachedDimensions.width / cachedDimensions.height;
127
- let imageWidth = SCREEN_WIDTH;
128
- let imageHeight = imageWidth / aspectRatio;
129
-
130
- // Cap at 70% of screen height
131
- if (imageHeight > MAX_IMAGE_HEIGHT) {
132
- imageHeight = MAX_IMAGE_HEIGHT;
133
- imageWidth = imageHeight * aspectRatio;
134
- }
135
- return {
136
- imageWidth,
137
- imageHeight
138
- };
139
- });
140
- _defineProperty(this, "renderImage", props => {
141
- const media = this.state.images.find(image => image.url === props.source.uri);
142
- const isVideoMedia = !_.isNil(media) && media.isVideo;
143
- const {
144
- imageWidth,
145
- imageHeight
146
- } = this.getImageDimensions(media);
147
- return /*#__PURE__*/React.createElement(View, {
148
- style: styles.imageContainer
149
- }, /*#__PURE__*/React.createElement(Image, {
150
- source: {
151
- uri: media === null || media === void 0 ? void 0 : media.url
152
- },
153
- style: {
154
- width: imageWidth,
155
- height: imageHeight
156
- },
157
- resizeMode: "contain"
158
- }), isVideoMedia && /*#__PURE__*/React.createElement(View, {
159
- style: [styles.videoOverlay, {
160
- width: imageWidth,
161
- height: imageHeight
162
- }]
163
- }, /*#__PURE__*/React.createElement(TouchableOpacity, {
164
- onPress: this.toggleFullscreenVideo.bind(this, media.original)
165
- }, /*#__PURE__*/React.createElement(Icon, {
166
- name: "play",
167
- type: "font-awesome",
168
- iconStyle: styles.videoPlayIcon
169
- }))));
170
- });
171
- _defineProperty(this, "renderBottomContent", () => {
172
- const {
173
- index,
174
- images
175
- } = this.state;
176
- const media = images[index];
177
- if (!media) return null;
178
- const hasCaption = !_.isNil(media.caption);
179
- const hasUserInfo = !_.isNil(media.user) || !_.isNil(media.date);
180
- if (!hasCaption && !hasUserInfo) return null;
181
-
182
- // Calculate where the image ends (for caption positioning)
183
- const {
184
- imageHeight
185
- } = this.getImageDimensions(media);
186
- const imageTop = (SCREEN_HEIGHT - imageHeight) / 2;
187
- const imageBottom = imageTop + imageHeight;
188
- const captionTop = imageBottom + 16;
189
- return /*#__PURE__*/React.createElement(React.Fragment, null, hasCaption && /*#__PURE__*/React.createElement(View, {
190
- style: [styles.captionWrapper, {
191
- top: captionTop
192
- }]
193
- }, this.renderCaption(media)), hasUserInfo && /*#__PURE__*/React.createElement(View, {
194
- style: styles.userInfoWrapper
195
- }, this.renderImageFooter(media)));
196
- });
197
- this.state = {
198
- index: 0,
199
- images: [],
200
- showFullscreenVideo: false,
201
- currentVideoUrl: "",
202
- imageDimensions: {},
203
- isLoadingDimensions: false
204
- };
205
- }
206
- componentDidMount() {
207
- this.setupUrls();
208
- }
209
- componentDidUpdate(prevProps) {
210
- const {
211
- visible,
212
- index
213
- } = this.props;
214
- if (!prevProps.visible && visible) this.setupUrls();
215
- if (prevProps.index !== index) this.setState({
216
- index
217
- });
218
- }
219
- scrollTo(index) {
220
- this.setState({
221
- index
222
- });
223
- }
224
- renderClose() {
225
- return /*#__PURE__*/React.createElement(TouchableOpacity, {
226
- style: styles.menuIconContainer,
227
- onPress: this.props.onClose,
228
- activeOpacity: 0.6
229
- }, /*#__PURE__*/React.createElement(FontAwesome, {
230
- name: "x",
231
- style: [styles.menuIcon]
232
- }));
233
- }
234
- renderVideoPlayerPopup() {
235
- const {
236
- showFullscreenVideo,
237
- currentVideoUrl
238
- } = this.state;
239
- if (!currentVideoUrl) return;
240
- return /*#__PURE__*/React.createElement(VideoPopup, {
241
- uri: currentVideoUrl,
242
- visible: showFullscreenVideo,
243
- onClose: this.toggleFullscreenVideo
244
- });
245
- }
246
- render() {
247
- var _images$index;
248
- const {
249
- visible,
250
- onClose
251
- } = this.props;
252
- const {
253
- index,
254
- images,
255
- isLoadingDimensions
256
- } = this.state;
257
- if (_.isEmpty(images)) {
258
- return null;
259
- }
260
- if (isLoadingDimensions) {
261
- return /*#__PURE__*/React.createElement(Modal, {
262
- visible: visible,
263
- animationType: "slide",
264
- onRequestClose: onClose,
265
- style: styles.modal
266
- }, /*#__PURE__*/React.createElement(LoadingIndicator, {
267
- visible: true
268
- }));
269
- }
270
- const imagesWithSizes = images.map(image => {
271
- return {
272
- ...image,
273
- width: SCREEN_WIDTH,
274
- height: SCREEN_HEIGHT
275
- };
276
- });
277
- return /*#__PURE__*/React.createElement(Modal, {
278
- visible: visible,
279
- animationType: "slide",
280
- onRequestClose: onClose,
281
- style: styles.modal
282
- }, /*#__PURE__*/React.createElement(View, {
283
- style: styles.container
284
- }, /*#__PURE__*/React.createElement(ImageViewer, {
285
- style: styles.imageViewer,
286
- index: index,
287
- onChange: this.onChange,
288
- onSwipeDown: onClose,
289
- enableSwipeDown: true,
290
- imageUrls: imagesWithSizes,
291
- saveToLocalByLongPress: false,
292
- renderImage: this.renderImage,
293
- backgroundColor: "#000"
294
- }), this.renderBottomContent(), this.renderClose(), /*#__PURE__*/React.createElement(SharingTools, {
295
- uri: (_images$index = images[index]) === null || _images$index === void 0 ? void 0 : _images$index.original
296
- })), this.renderVideoPlayerPopup());
297
- }
298
- }
299
- const styles = StyleSheet.create({
300
- modal: {
301
- backgroundColor: "#000"
302
- },
303
- container: {
304
- flex: 1,
305
- backgroundColor: "#000"
306
- },
307
- imageViewer: {
308
- flex: 1,
309
- backgroundColor: "#000"
310
- },
311
- imageContainer: {
312
- flex: 1,
313
- justifyContent: "center",
314
- alignItems: "center"
315
- },
316
- captionWrapper: {
317
- position: "absolute",
318
- left: 16,
319
- right: 16,
320
- zIndex: 10
321
- },
322
- userInfoWrapper: {
323
- position: "absolute",
324
- bottom: 40,
325
- // Safe area padding
326
- left: 16,
327
- right: 16,
328
- zIndex: 10
329
- },
330
- menuIconContainer: {
331
- position: "absolute",
332
- top: StatusBarHeight(0),
333
- right: 0,
334
- width: 55,
335
- height: 55,
336
- zIndex: 3
337
- },
338
- menuIcon: {
339
- fontSize: 25,
340
- padding: 15,
341
- width: 55,
342
- textAlign: "center",
343
- color: "#fff",
344
- zIndex: 3
345
- },
346
- videoOverlay: {
347
- position: "absolute",
348
- alignItems: "center",
349
- justifyContent: "center"
350
- },
351
- videoPlayIcon: {
352
- color: "#fff",
353
- fontSize: 30,
354
- textShadowColor: "rgba(0,0,0,0.3)",
355
- textShadowOffset: {
356
- width: 2,
357
- height: 2
358
- }
359
- },
360
- imageInfoContainer: {
361
- flexDirection: "row",
362
- paddingHorizontal: 12,
363
- paddingVertical: 12,
364
- gap: 4,
365
- borderRadius: 8,
366
- alignItems: "center"
367
- },
368
- imageTextContainer: {
369
- marginLeft: 12,
370
- flexDirection: "column",
371
- gap: 4,
372
- flex: 1,
373
- justifyContent: "space-around"
374
- },
375
- imageTextName: {
376
- fontFamily: "sf-semibold",
377
- fontSize: 14,
378
- color: "#fff"
379
- },
380
- iamgeTextDate: {
381
- fontFamily: "sf-regular",
382
- fontSize: 12,
383
- color: "rgba(255, 255, 255, 0.8)"
384
- },
385
- captionContainer: {
386
- borderRadius: 16,
387
- padding: 0,
388
- alignItems: "center",
389
- justifyContent: "center"
390
- },
391
- captionText: {
392
- fontFamily: "sf-regular",
393
- fontSize: 15,
394
- color: "#fff",
395
- textAlign: "center",
396
- lineHeight: 20
397
- }
398
- });
399
- export { ImagePopup };
400
- //# sourceMappingURL=ImagePopup.js.map