@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","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":"AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,QAAQ,6CAA6C;AAClE,SACCC,QAAQ,EACRC,IAAI,EACJC,SAAS,EACTC,KAAK,EACLC,UAAU,EACVC,gBAAgB,EAChBC,QAAQ,QACF,cAAc;AACrB,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,cAAc,QAAQ,sBAAsB;AACrD,SAASC,OAAO,QAAQ,aAAa;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,eAAe,EAAEC,uBAAuB,QAAQ,WAAW;AACpE,SACCC,kBAAkB,EAClBC,SAAS,EACTC,UAAU,EACVC,QAAQ,EACRC,YAAY,EACZC,8BAA8B,EAC9BC,eAAe,QACT,YAAY;AACnB,SAASC,WAAW,QAAQ,QAAQ;AACpC,OAAOC,MAAM,MAAM,WAAW;AAC9B;;AAEA,MAAMC,MAAM,SAASvB,SAAS,CAAC;EAC9BwB,WAAWA,CAACC,KAAK,EAAE;IAClB,KAAK,CAACA,KAAK,CAAC;IAEZ,IAAI,CAACC,KAAK,GAAG,CAAC,CAAC;EAChB;EAEAC,yBAAyBA,CAAA,EAAG;IAC3B,IAAIC,QAAQ,GAAGpB,QAAQ,CAACqB,MAAM,CAAC;MAAEC,GAAG,EAAE,cAAc;MAAEC,OAAO,EAAE;IAAU,CAAC,CAAC;IAC3E,IAAI,IAAI,CAACN,KAAK,CAACG,QAAQ,EAAE;MACxBA,QAAQ,GAAG,IAAI,CAACH,KAAK,CAACG,QAAQ;IAC/B,CAAC,MAAM,IACN,IAAI,CAACH,KAAK,CAACO,UAAU,KAAK,OAAO,IACjC,CAAC,IAAI,CAACP,KAAK,CAACQ,UAAU,IACtB,CAAC,IAAI,CAACR,KAAK,CAACS,WAAW,EACtB;MACDN,QAAQ,GAAG,eAAe;IAC3B;IACA,IAAI,CAACO,QAAQ,CAAC;MAAEC,WAAW,EAAE9B,UAAU,CAAC+B,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK;MAAEV;IAAS,CAAC,CAAC;EACzE;EAEAW,kBAAkBA,CAAA,EAAG;IACpB,IAAI,IAAI,CAACd,KAAK,CAACe,UAAU,EAAE;MAC1B,OAAO;QAAEC,KAAK,EAAE,IAAI,CAAChB,KAAK,CAACe;MAAW,CAAC;IACxC;IACA,IACC,IAAI,CAACf,KAAK,CAACO,UAAU,KAAK,OAAO,IACjC,CAAC,IAAI,CAACP,KAAK,CAACQ,UAAU,IACtB,CAAC,IAAI,CAACR,KAAK,CAACS,WAAW,EACtB;MACD,OAAO;QAAEO,KAAK,EAAE;MAAO,CAAC;IACzB;IACA,OAAO,IAAI;EACZ;EAEAC,gBAAgBA,CAAA,EAAG;IAClB,IAAI,IAAI,CAACjB,KAAK,CAACkB,gBAAgB,EAAE,OAAO,IAAI,CAAClB,KAAK,CAACkB,gBAAgB;IACnE,IAAI,IAAI,CAAClB,KAAK,CAACmB,WAAW,EAAE;MAC3B,oBACC7C,KAAA,CAAA8C,aAAA,CAACxC,KAAK;QACLyC,KAAK,EAAE,CAACC,MAAM,CAACC,cAAc,EAAE;UAAEV,KAAK,EAAE,IAAI,CAACZ,KAAK,CAACU;QAAY,CAAC,CAAE;QAClEa,MAAM,EAAE;UAAEC,GAAG,EAAE,IAAI,CAACzB,KAAK,CAACmB;QAAY;MAAE,CACxC,CAAC;IAEJ;IACA,IACC,IAAI,CAACnB,KAAK,CAACO,UAAU,KAAK,SAAS,IACnC,CAAC,IAAI,CAACP,KAAK,CAACQ,UAAU,IACtB,CAAC,IAAI,CAACR,KAAK,CAACS,WAAW,EACtB;MACD,oBACCnC,KAAA,CAAA8C,aAAA,CAAC1C,IAAI;QACJ2C,KAAK,EAAE,CACNC,MAAM,CAACC,cAAc,EACrB,IAAI,CAACvB,KAAK,CAAC0B,qBAAqB,EAChC;UACCC,eAAe,EAAE,IAAI,CAAC3B,KAAK,CAAC4B,kBAAkB;UAC9Cf,KAAK,EAAE,IAAI,CAACZ,KAAK,CAACU;QACnB,CAAC,EACD,IAAI,CAACX,KAAK,CAAC6B,WAAW,IAAIP,MAAM,CAACQ,oBAAoB;MACpD,gBAEFxD,KAAA,CAAA8C,aAAA,CAACxC,KAAK;QACLyC,KAAK,EAAE,CACNC,MAAM,CAACS,aAAa,EACpB,IAAI,CAAC/B,KAAK,CAACgC,aAAa,IAAI;UAC3BC,SAAS,EAAE,IAAI,CAACjC,KAAK,CAACgC;QACvB,CAAC,CACA;QACFR,MAAM,EAAE;UAAEC,GAAG,EAAE,IAAI,CAACzB,KAAK,CAAC+B;QAAc;MAAE,CAC1C,CACI,CAAC;IAET;IACA,IACC,IAAI,CAAC/B,KAAK,CAACO,UAAU,KAAK,OAAO,IACjC,CAAC,IAAI,CAACP,KAAK,CAACQ,UAAU,IACtB,CAAC,IAAI,CAACR,KAAK,CAACS,WAAW,EACtB;MACD,oBACCnC,KAAA,CAAA8C,aAAA,CAAC1C,IAAI;QACJ2C,KAAK,EAAE,CACNC,MAAM,CAACC,cAAc,EACrB,IAAI,CAACvB,KAAK,CAAC0B,qBAAqB,EAChC;UACCC,eAAe,EAAE,IAAI,CAAC3B,KAAK,CAAC4B,kBAAkB;UAC9Cf,KAAK,EAAE,IAAI,CAACZ,KAAK,CAACU;QACnB,CAAC,EACD,IAAI,CAACX,KAAK,CAAC6B,WAAW,IAAIP,MAAM,CAACQ,oBAAoB;MACpD,CACF,CAAC;IAEJ;IACA,IACC,IAAI,CAAC9B,KAAK,CAACO,UAAU,KAAK,UAAU,IACpC,CAAC,IAAI,CAACP,KAAK,CAACQ,UAAU,IACtB,CAAC,IAAI,CAACR,KAAK,CAACS,WAAW,EACtB;MACD,oBACCnC,KAAA,CAAA8C,aAAA,CAAC1C,IAAI;QACJ2C,KAAK,EAAE,CACNC,MAAM,CAACC,cAAc,EACrB,IAAI,CAACvB,KAAK,CAAC0B,qBAAqB,EAChC;UAAEb,KAAK,EAAE,IAAI,CAACZ,KAAK,CAACU;QAAY,CAAC,EACjC,IAAI,CAACX,KAAK,CAAC6B,WAAW,IAAIP,MAAM,CAACQ,oBAAoB;MACpD,gBAEFxD,KAAA,CAAA8C,aAAA,CAACnC,cAAc;QACdoC,KAAK,EAAE;UAAEa,IAAI,EAAE;QAAE,CAAE;QACnBC,MAAM,EAAE,CACP,IAAI,CAACnC,KAAK,CAAC4B,kBAAkB,EAC7BjC,eAAe,CAAC,IAAI,CAACK,KAAK,CAAC4B,kBAAkB,EAAE,GAAG,CAAC,CAClD;QACFQ,KAAK,EAAE;UAAEC,CAAC,EAAE,CAAC;UAAEC,CAAC,EAAE;QAAE,CAAE;QACtBC,GAAG,EAAE;UAAEF,CAAC,EAAE,CAAC;UAAEC,CAAC,EAAE;QAAE,CAAE;QACpBE,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC;MAAE,CACpB,CACI,CAAC;IAET;IACA,OAAO,IAAI;EACZ;EAEAC,gBAAgBA,CAAA,EAAG;IAClB,IAAI,CAAC,IAAI,CAACzC,KAAK,CAAC0C,aAAa,EAAE;MAC9B,OAAO,IAAI;IACZ;IACA,oBAAOpE,KAAA,CAAA8C,aAAA,CAAC1C,IAAI;MAAC2C,KAAK,EAAE,CAACC,MAAM,CAACqB,OAAO,EAAErB,MAAM,CAACsB,YAAY;IAAE,CAAE,CAAC;EAC9D;EAEAC,cAAcA,CAAA,EAAG;IAChB,IACE,CAAC,IAAI,CAAC7C,KAAK,CAAC8C,QAAQ,IAAI,CAAC,IAAI,CAAC9C,KAAK,CAAC+C,QAAQ,IAC7C,CAAC,IAAI,CAAC/C,KAAK,CAACgD,WAAW,EACtB;MACD,OAAO,IAAI;IACZ;IACA,IAAI,IAAI,CAAChD,KAAK,CAAC+C,QAAQ,EAAE;MACxB,oBACCzE,KAAA,CAAA8C,aAAA,CAAC1C,IAAI;QAAC2C,KAAK,EAAE,CAACC,MAAM,CAAC2B,iBAAiB,EAAE;UAAEpC,KAAK,EAAE;QAAO,CAAC;MAAE,gBAC1DvC,KAAA,CAAA8C,aAAA,CAACtC,gBAAgB;QAChBoE,OAAO,EAAE,IAAI,CAAClD,KAAK,CAACgD,WAAY;QAChCG,aAAa,EAAE;MAAI,gBAEnB7E,KAAA,CAAA8C,aAAA,CAAC5C,IAAI;QACJ6C,KAAK,EAAE,CACNC,MAAM,CAAC8B,UAAU,EACjB;UACCC,YAAY,EAAE,CAAC;UACfC,WAAW,EAAE,EAAE;UACftC,KAAK,EAAE,IAAI,CAAChB,KAAK,CAAC4B;QACnB,CAAC,EACD,IAAI,CAAC5B,KAAK,CAACuD,aAAa,EACxB,IAAI,CAACvD,KAAK,CAACO,UAAU,KAAK,OAAO,IAChC,CAAC,IAAI,CAACP,KAAK,CAACQ,UAAU,IACtB,CAAC,IAAI,CAACR,KAAK,CAACS,WAAW,IAAI;UAAEO,KAAK,EAAE;QAAO,CAAC;MAC5C,GAED,IAAI,CAAChB,KAAK,CAAC+C,QACP,CACW,CACb,CAAC;IAET;IACA,IAAI,IAAI,CAAC/C,KAAK,CAACwD,YAAY,IAAI,IAAI,CAACxD,KAAK,CAACwD,YAAY,KAAK,OAAO,EAAE;MACnE,oBACClF,KAAA,CAAA8C,aAAA,CAAC1C,IAAI;QAAC2C,KAAK,EAAEC,MAAM,CAAC2B;MAAkB,gBACrC3E,KAAA,CAAA8C,aAAA,CAACtC,gBAAgB;QAChBoE,OAAO,EAAE,IAAI,CAAClD,KAAK,CAACgD,WAAY;QAChCG,aAAa,EAAE;MAAI,gBAEnB7E,KAAA,CAAA8C,aAAA,CAAC1C,IAAI;QAAC2C,KAAK,EAAEC,MAAM,CAAC2B;MAAkB,gBACrC3E,KAAA,CAAA8C,aAAA,CAACxB,WAAW;QACX6D,IAAI,EAAE,IAAI,CAACzD,KAAK,CAAC8C,QAAS;QAC1BzB,KAAK,EAAE,CACNC,MAAM,CAACwB,QAAQ,EACf,IAAI,CAAC9C,KAAK,CAAC0D,aAAa,EACxB,IAAI,CAAC5C,kBAAkB,CAAC,CAAC;MACxB,CACF,CAAC,EACD,IAAI,CAAC2B,gBAAgB,CAAC,CAClB,CACW,CACb,CAAC;IAET;IACA,oBACCnE,KAAA,CAAA8C,aAAA,CAAC1C,IAAI;MAAC2C,KAAK,EAAEC,MAAM,CAAC2B;IAAkB,gBACrC3E,KAAA,CAAA8C,aAAA,CAACtC,gBAAgB;MAACoE,OAAO,EAAE,IAAI,CAAClD,KAAK,CAACgD,WAAY;MAACG,aAAa,EAAE;IAAI,gBACrE7E,KAAA,CAAA8C,aAAA,CAACpC,IAAI;MACJyE,IAAI,EAAE,IAAI,CAACzD,KAAK,CAAC8C,QAAS;MAC1BzB,KAAK,EAAEC,MAAM,CAAC2B,iBAAkB;MAChCU,IAAI,EAAC,cAAc;MACnBC,SAAS,EAAE,CACVtC,MAAM,CAACwB,QAAQ,EACf,IAAI,CAAC9C,KAAK,CAAC0D,aAAa,EACxB,IAAI,CAAC5C,kBAAkB,CAAC,CAAC;IACxB,CACF,CAAC,EACD,IAAI,CAAC2B,gBAAgB,CAAC,CACN,CACb,CAAC;EAET;EAEAoB,gBAAgBA,CAAA,EAAG;IAClB,IAAI,CAAC,IAAI,CAAC7D,KAAK,CAAC8D,IAAI,EAAE;MACrB,IAAI,IAAI,CAAC9D,KAAK,CAAC+D,aAAa,EAAE;QAC7B,OAAO,IAAI,CAAC/D,KAAK,CAAC+D,aAAa;MAChC;MACA,OAAO,IAAI;IACZ;IACA,IAAI,IAAI,CAAC/D,KAAK,CAACgE,WAAW,EAAE;MAC3B,oBACC1F,KAAA,CAAA8C,aAAA,CAACtC,gBAAgB;QAChBoE,OAAO,EAAE,IAAI,CAAClD,KAAK,CAACgE,WAAY;QAChCb,aAAa,EAAE,GAAI;QACnB9B,KAAK,EAAE,CACNC,MAAM,CAAC2C,mBAAmB,EAC1B,IAAI,CAACjE,KAAK,CAAC8C,QAAQ,KAChB,CAAC,IAAI,CAAC9C,KAAK,CAACkE,SAAS,IAAI,CAAC,IAAI,CAAClE,KAAK,CAACmE,SAAS,IAC/C,IAAI,CAACnE,KAAK,CAACoE,aAAa,CAAC,IAAI;UAAEf,YAAY,EAAE;QAAG,CAAC,EACnD,IAAI,CAACrD,KAAK,CAACqE,kBAAkB;MAC5B,gBAEF/F,KAAA,CAAA8C,aAAA,CAAC5C,IAAI;QACJ6C,KAAK,EAAE,CACNC,MAAM,CAACgD,UAAU,EACjB,IAAI,CAACtE,KAAK,CAACuE,SAAS,EACpB,IAAI,CAACzD,kBAAkB,CAAC,CAAC,CACxB;QACF0D,aAAa,EAAE,CAAE;QACjBC,aAAa,EAAC;MAAM,GAEnB,IAAI,CAACzE,KAAK,CAAC8D,IACP,CACW,CAAC;IAErB;IACA,oBACCxF,KAAA,CAAA8C,aAAA,CAAC1C,IAAI;MACJ2C,KAAK,EAAE,CACNC,MAAM,CAAC2C,mBAAmB,EAC1B,IAAI,CAACjE,KAAK,CAAC8C,QAAQ,KAChB,CAAC,IAAI,CAAC9C,KAAK,CAACkE,SAAS,IAAI,CAAC,IAAI,CAAClE,KAAK,CAACmE,SAAS,IAC/C,IAAI,CAACnE,KAAK,CAACoE,aAAa,CAAC,IAAI;QAAEf,YAAY,EAAE;MAAG,CAAC,EACnD,IAAI,CAACrD,KAAK,CAACkE,SAAS,KACjB,CAAC,IAAI,CAAClE,KAAK,CAAC8C,QAAQ,IAAI,CAAC,IAAI,CAAC9C,KAAK,CAAC+C,QAAQ,IAC7C,IAAI,CAAC/C,KAAK,CAAC0E,YAAY,CAAC,IAAI;QAAEpB,WAAW,EAAE;MAAG,CAAC,EACjD,IAAI,CAACtD,KAAK,CAACqE,kBAAkB;IAC5B,gBAEF/F,KAAA,CAAA8C,aAAA,CAAC5C,IAAI;MACJ6C,KAAK,EAAE,CACNC,MAAM,CAACgD,UAAU,EACjB,IAAI,CAACtE,KAAK,CAACuE,SAAS,EACpB,IAAI,CAACzD,kBAAkB,CAAC,CAAC,CACxB;MACF0D,aAAa,EAAE,CAAE;MACjBC,aAAa,EAAC;IAAM,GAEnB,IAAI,CAACzE,KAAK,CAAC8D,IACP,CACD,CAAC;EAET;EAEAa,eAAeA,CAAA,EAAG;IACjB,IAAI,IAAI,CAAC3E,KAAK,CAAC4E,YAAY,EAAE;MAC5B,OAAO,IAAI,CAAC5E,KAAK,CAAC4E,YAAY;IAC/B;IACA,IAAI,CAAC,IAAI,CAAC5E,KAAK,CAAC6E,YAAY,EAAE;MAC7B,OAAO,IAAI;IACZ;IACA,IAAI,IAAI,CAAC7E,KAAK,CAACmE,SAAS,IAAI,IAAI,CAACnE,KAAK,CAAC6E,YAAY,EAAE;MACpD,oBACCvG,KAAA,CAAA8C,aAAA,CAAC1C,IAAI;QACJ2C,KAAK,EAAE,CACNC,MAAM,CAAC2B,iBAAiB,EACxB;UAAEpC,KAAK,EAAE;QAAO,CAAC,EACjB,IAAI,CAACb,KAAK,CAACoE,aAAa,IAAI9C,MAAM,CAAC8C,aAAa,EAChD,IAAI,CAACpE,KAAK,CAAC8E,mBAAmB;MAC7B,gBAEFxG,KAAA,CAAA8C,aAAA,CAACtC,gBAAgB;QAChBoE,OAAO,EAAE,IAAI,CAAClD,KAAK,CAAC6E,YAAa;QACjC1B,aAAa,EAAE;MAAI,gBAEnB7E,KAAA,CAAA8C,aAAA,CAAC5C,IAAI;QACJ6C,KAAK,EAAE,CACNC,MAAM,CAAC8B,UAAU,EACjB;UACCC,YAAY,EAAE,EAAE;UAChBC,WAAW,EAAE,CAAC;UACdyB,SAAS,EAAE,OAAO;UAClBC,UAAU,EAAE,aAAa;UACzBhE,KAAK,EAAE,IAAI,CAAChB,KAAK,CAAC4B;QACnB,CAAC,EACD,IAAI,CAACd,kBAAkB,CAAC,CAAC,EACzB,IAAI,CAACd,KAAK,CAACiF,kBAAkB;MAC5B,GAED,IAAI,CAACjF,KAAK,CAACmE,SACP,CACW,CACb,CAAC;IAET;IACA,IAAI,CAAC,IAAI,CAACnE,KAAK,CAACkE,SAAS,EAAE;MAC1B,IAAI,IAAI,CAAClE,KAAK,CAACkF,UAAU,EAAE;QAC1B,oBACC5G,KAAA,CAAA8C,aAAA,CAACtC,gBAAgB;UAChBoE,OAAO,EAAE,IAAI,CAAClD,KAAK,CAAC6E,YAAa;UACjC1B,aAAa,EAAE;QAAI,gBAEnB7E,KAAA,CAAA8C,aAAA,CAAC1C,IAAI;UAAC2C,KAAK,EAAEC,MAAM,CAAC2B;QAAkB,gBACrC3E,KAAA,CAAA8C,aAAA,CAACxC,KAAK;UACL4C,MAAM,EAAE;YAAEC,GAAG,EAAE,IAAI,CAACzB,KAAK,CAACkF;UAAW,CAAE;UACvC7D,KAAK,EAAEC,MAAM,CAAC4D,UAAW;UACzBC,UAAU,EAAC;QAAS,CACpB,CACI,CACW,CAAC;MAErB;MACA,OAAO,IAAI;IACZ;IACA,oBACC7G,KAAA,CAAA8C,aAAA,CAACtC,gBAAgB;MAACoE,OAAO,EAAE,IAAI,CAAClD,KAAK,CAAC6E,YAAa;MAAC1B,aAAa,EAAE;IAAI,GACrE,IAAI,CAACnD,KAAK,CAACoF,aAAa,IAAI,IAAI,CAACpF,KAAK,CAACoF,aAAa,KAAK,OAAO,gBAChE9G,KAAA,CAAA8C,aAAA,CAAC1C,IAAI;MAAC2C,KAAK,EAAEC,MAAM,CAAC2B;IAAkB,gBACrC3E,KAAA,CAAA8C,aAAA,CAACxB,WAAW;MACX6D,IAAI,EAAE,IAAI,CAACzD,KAAK,CAACkE,SAAU;MAC3B7C,KAAK,EAAE,CACNC,MAAM,CAAC4C,SAAS,EAChB,IAAI,CAACpD,kBAAkB,CAAC,CAAC,EACzB,IAAI,CAACd,KAAK,CAACqF,cAAc;IACxB,CACF,CACI,CAAC,gBAEP/G,KAAA,CAAA8C,aAAA,CAACpC,IAAI;MACJyE,IAAI,EAAE,IAAI,CAACzD,KAAK,CAACkE,SAAU;MAC3B7C,KAAK,EAAEC,MAAM,CAAC2B,iBAAkB;MAChCU,IAAI,EACH,IAAI,CAAC3D,KAAK,CAACoF,aAAa,GACrB,IAAI,CAACpF,KAAK,CAACoF,aAAa,GACxB,cACH;MACDxB,SAAS,EAAE,CACVtC,MAAM,CAAC4C,SAAS,EAChB,IAAI,CAACpD,kBAAkB,CAAC,CAAC,EACzB,IAAI,CAACd,KAAK,CAACqF,cAAc;IACxB,CACF,CAEe,CAAC;EAErB;EAEAC,MAAMA,CAAA,EAAG;IACR,IAAI,IAAI,CAACtF,KAAK,CAACuF,cAAc,EAAE;MAC9B,oBACCjH,KAAA,CAAA8C,aAAA,CAAC3C,QAAQ,CAACC,IAAI;QACb2C,KAAK,EAAE,CACNC,MAAM,CAACkE,SAAS,EAChB,CAAC,IAAI,CAACxF,KAAK,CAACyF,QAAQ,IAAInE,MAAM,CAACoE,eAAe,EAC9C,IAAI,CAAC1F,KAAK,CAACS,WAAW,IAAIa,MAAM,CAACqE,oBAAoB,EACrD,IAAI,CAAC3F,KAAK,CAACqB,KAAK,EAChB;UACCM,eAAe,EAAE,IAAI,CAAC3B,KAAK,CAAC4F,kBAAkB;UAC9CC,SAAS,EAAE,IAAI,CAAC7F,KAAK,CAAC8F,UAAU;UAChCC,WAAW,EAAE,IAAI,CAAC/F,KAAK,CAACgG;QACzB,CAAC;MACA,GAED,IAAI,CAAC/E,gBAAgB,CAAC,CAAC,eACxB3C,KAAA,CAAA8C,aAAA,CAACzC,SAAS;QAACwB,QAAQ,EAAE,IAAI,CAACF,KAAK,CAACE,QAAS;QAAC8F,WAAW;MAAA,CAAE,CAAC,eACxD3H,KAAA,CAAA8C,aAAA,CAAC1C,IAAI;QAAC2C,KAAK,EAAEC,MAAM,CAAC4E;MAAc,GAChC,IAAI,CAACrD,cAAc,CAAC,CAAC,EACrB,IAAI,CAACgB,gBAAgB,CAAC,CAAC,EACvB,IAAI,CAACc,eAAe,CAAC,CAAC,EACtB,IAAI,CAAC3E,KAAK,CAACmG,QACP,CAAC,EACN,IAAI,CAACnG,KAAK,CAACoG,kBACE,CAAC;IAElB;IACA,oBACC9H,KAAA,CAAA8C,aAAA,CAAC1C,IAAI;MACJ2C,KAAK,EAAE,CACNC,MAAM,CAACkE,SAAS,EAChB,CAAC,IAAI,CAACxF,KAAK,CAACyF,QAAQ,IAAInE,MAAM,CAACoE,eAAe,EAC9C,IAAI,CAAC1F,KAAK,CAACS,WAAW,IAAIa,MAAM,CAACqE,oBAAoB,EACrD,IAAI,CAAC3F,KAAK,CAACqG,aAAa,IAAI/E,MAAM,CAAC+E,aAAa,EAChD,IAAI,CAACrG,KAAK,CAAC6B,WAAW,IAAIP,MAAM,CAACO,WAAW,EAC5C,IAAI,CAAC7B,KAAK,CAACqB,KAAK,EAChB,IAAI,CAACrB,KAAK,CAACsG,oBAAoB,IAAI;QAClC3E,eAAe,EAAE,IAAI,CAAC3B,KAAK,CAACsG;MAC7B,CAAC;IACA,gBAEFhI,KAAA,CAAA8C,aAAA,CAAC1C,IAAI;MACJ2C,KAAK,EAAE,CACNC,MAAM,CAACiF,gBAAgB,EACvB,IAAI,CAACvG,KAAK,CAAC6B,WAAW,IAAIP,MAAM,CAACkF,qBAAqB,EACtD,IAAI,CAACxG,KAAK,CAAC0B,qBAAqB,EAChC,IAAI,CAAC1B,KAAK,CAACsG,oBAAoB,IAAI;QAClC3E,eAAe,EAAE,IAAI,CAAC3B,KAAK,CAACsG;MAC7B,CAAC;IACA,GAED,IAAI,CAACrF,gBAAgB,CAAC,CAAC,eACxB3C,KAAA,CAAA8C,aAAA,CAACzC,SAAS;MAACwB,QAAQ,EAAE,IAAI,CAACF,KAAK,CAACE,QAAS;MAAC8F,WAAW;IAAA,CAAE,CAAC,eACxD3H,KAAA,CAAA8C,aAAA,CAAC1C,IAAI;MACJ2C,KAAK,EAAE,CACNC,MAAM,CAAC4E,aAAa,EACpB,IAAI,CAAClG,KAAK,CAAC6B,WAAW,IAAIP,MAAM,CAACmF,kBAAkB;IAClD,GAED,IAAI,CAAC5D,cAAc,CAAC,CAAC,EACrB,IAAI,CAACgB,gBAAgB,CAAC,CAAC,EACvB,IAAI,CAACc,eAAe,CAAC,CAAC,EACtB,IAAI,CAAC3E,KAAK,CAACmG,QACP,CACD,CAAC,EACN,IAAI,CAACnG,KAAK,CAACoG,kBACP,CAAC;EAET;AACD;AAEA,MAAM9E,MAAM,GAAG;EACdkE,SAAS,EAAE;IACVkB,SAAS,EAAE,SAAS;IACpB/E,eAAe,EAAE,MAAM;IACvBgF,MAAM,EAAE;EACT,CAAC;EACDjB,eAAe,EAAE;IAChBK,WAAW,EAAE,MAAM;IACnBa,YAAY,EAAE;MACb/F,KAAK,EAAE,CAAC;MACRgG,MAAM,EAAE;IACT,CAAC;IACDC,aAAa,EAAE,GAAG;IAClBC,YAAY,EAAE,CAAC;IACflB,SAAS,EAAE;EACZ,CAAC;EACDQ,aAAa,EAAE;IACdW,iBAAiB,EAAE,CAAC;IACpBC,WAAW,EAAEzH,QAAQ;IACrBsH,aAAa,EAAE,CAAC;IAChBjB,SAAS,EAAE;EACZ,CAAC;EACDhE,WAAW,EAAE;IACZmF,iBAAiB,EAAE,CAAC;IACpBC,WAAW,EAAEzH,QAAQ;IACrBsH,aAAa,EAAE,CAAC;IAChBjB,SAAS,EAAE,CAAC;IACZqB,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE;EACvB,CAAC;EACDZ,gBAAgB,EAAE;IACjBM,MAAM,EAAE1H,eAAe,CAAC,EAAE,CAAC;IAC3BuH,SAAS,EAAE,SAAS;IACpBU,aAAa,EAAE;EAChB,CAAC;EACDZ,qBAAqB,EAAE;IACtBK,MAAM,EAAE,EAAE;IACVK,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE;EACvB,CAAC;EACDxB,oBAAoB,EAAE;IACrBhE,eAAe,EAAEtC,kBAAkB;IACnC0G,WAAW,EAAE1G,kBAAkB;IAC/BwG,SAAS,EAAE;EACZ,CAAC;EACDtE,cAAc,EAAE;IACfsF,MAAM,EAAE1H,eAAe,CAAC,EAAE,CAAC;IAC3B0B,KAAK,EAAE,IAAI;IACXwG,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPpC,UAAU,EAAE;EACb,CAAC;EACDrD,oBAAoB,EAAE;IACrB+E,MAAM,EAAE,EAAE;IACVhG,KAAK,EAAE,MAAM;IACbqG,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE,EAAE;IACxBK,QAAQ,EAAE;EACX,CAAC;EACDtB,aAAa,EAAE;IACdQ,SAAS,EAAE,SAAS;IACpBU,aAAa,EAAE,KAAK;IACpBlF,IAAI,EAAE,CAAC;IACPuF,UAAU,EAAEtI,eAAe,CAAC,CAAC;EAC9B,CAAC;EACDsH,kBAAkB,EAAE;IACnBgB,UAAU,EAAE;EACb,CAAC;EACDxE,iBAAiB,EAAE;IAClB4D,MAAM,EAAE,EAAE;IACVhG,KAAK,EAAE,EAAE;IACT6G,UAAU,EAAE,QAAQ;IACpBN,aAAa,EAAE,KAAK;IACpBO,cAAc,EAAE;EACjB,CAAC;EACDvD,aAAa,EAAE;IACdyC,MAAM,EAAE,EAAE;IACVc,cAAc,EAAE,QAAQ;IACxBN,QAAQ,EAAE,UAAU;IACpBO,KAAK,EAAE,CAAC;IACRN,GAAG,EAAEnI,eAAe,CAAC,CAAC;EACvB,CAAC;EACD2D,QAAQ,EAAE;IACT+E,QAAQ,EAAE,EAAE;IACZC,OAAO,EAAE,EAAE;IACXjH,KAAK,EAAE,EAAE;IACTkE,SAAS,EAAE,QAAQ;IACnB/D,KAAK,EAAEzB;EACR,CAAC;EACD0E,mBAAmB,EAAE;IACpB4C,MAAM,EAAE,EAAE;IACV3E,IAAI,EAAE,CAAC;IACPwF,UAAU,EAAE,QAAQ;IACpBN,aAAa,EAAE,KAAK;IACpBO,cAAc,EAAE;EACjB,CAAC;EACDrD,UAAU,EAAE;IACXuD,QAAQ,EAAE,EAAE;IACZ3F,IAAI,EAAE,CAAC;IACP8C,UAAU,EAAE,aAAa;IACzBhE,KAAK,EAAE1B,SAAS;IAChByF,SAAS,EAAE,QAAQ;IACnBpD,eAAe,EAAE;EAClB,CAAC;EACDyB,UAAU,EAAE;IACXyE,QAAQ,EAAE,EAAE;IACZ7C,UAAU,EAAE,YAAY;IACxBnE,KAAK,EAAE,EAAE;IACTc,eAAe,EAAE;EAClB,CAAC;EACDuC,SAAS,EAAE;IACV2D,QAAQ,EAAE,EAAE;IACZC,OAAO,EAAE,EAAE;IACXjH,KAAK,EAAE,EAAE;IACTkE,SAAS,EAAE,QAAQ;IACnB/D,KAAK,EAAEzB;EACR,CAAC;EACD2F,UAAU,EAAE;IACXrE,KAAK,EAAE,EAAE;IACTgG,MAAM,EAAE,EAAE;IACVkB,WAAW,EAAE,EAAE;IACfC,UAAU,EAAE;EACb,CAAC;EACDrF,OAAO,EAAE;IACR2E,GAAG,EAAE,EAAE;IACPM,KAAK,EAAE,CAAC;IACRK,YAAY,EAAE,EAAE;IAChBZ,QAAQ,EAAE,UAAU;IACpBR,MAAM,EAAE,EAAE;IACVqB,QAAQ,EAAE,EAAE;IACZvG,eAAe,EAAElC,YAAY;IAC7BkI,cAAc,EAAE;EACjB,CAAC;EACDQ,WAAW,EAAE;IACZnH,KAAK,EAAE,MAAM;IACb+D,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,SAAS;IACrB6C,QAAQ,EAAE,EAAE;IACZO,UAAU,EAAE,EAAE;IACdzG,eAAe,EAAE;EAClB,CAAC;EACDiB,YAAY,EAAE;IACb/B,KAAK,EAAE,CAAC;IACRgG,MAAM,EAAE,CAAC;IACTqB,QAAQ,EAAE,CAAC;IACXZ,GAAG,EAAE,EAAE;IACPM,KAAK,EAAE;EACR,CAAC;EACD7F,aAAa,EAAE;IACdsF,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPK,KAAK,EAAE,CAAC;IACRS,MAAM,EAAE,CAAC;IACTxH,KAAK,EAAE,MAAM;IACbgG,MAAM,EAAE,MAAM;IACd1B,UAAU,EAAE;EACb;AACD,CAAC;AAED,MAAMmD,eAAe,GAAIrI,KAAK,IAAK;EAClC,OAAO;IACN2B,kBAAkB,EAAElC,8BAA8B,CAACO,KAAK,CAAC;IACzDM,UAAU,EAAEnB,uBAAuB,CAClCa,KAAK,EACL,YAAY,EACZb,uBAAuB,CACtBa,KAAK,EACL,mBAAmB,EACnBJ,MAAM,CAAC0I,GAAG,CAACC,iBACZ,CAAC,GACE,UAAU,GACV,OACJ,CAAC;IACDzG,aAAa,EAAE3C,uBAAuB,CAACa,KAAK,EAAE,eAAe,CAAC;IAC9D+B,aAAa,EAAE5C,uBAAuB,CAACa,KAAK,EAAE,eAAe;EAC9D,CAAC;AACF,CAAC;AAED,eAAef,OAAO,CAACoJ,eAAe,EAAE,CAAC,CAAC,CAAC,CAACxI,MAAM,CAAC","ignoreList":[]}
@@ -0,0 +1,109 @@
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
@@ -0,0 +1 @@
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":[]}
@@ -0,0 +1,400 @@
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