@plusscommunities/pluss-core-app 1.4.9 → 1.5.0

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 (183) 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 +20 -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 +214 -0
  8. package/dist/module/actions/UserActions.js.map +1 -0
  9. package/dist/module/actions/index.js +5 -0
  10. package/dist/module/actions/index.js.map +1 -0
  11. package/dist/module/actions/types.js +14 -0
  12. package/dist/module/actions/types.js.map +1 -0
  13. package/dist/module/apis/analyticsActions.js +20 -0
  14. package/dist/module/apis/analyticsActions.js.map +1 -0
  15. package/dist/module/apis/contactActions.js +27 -0
  16. package/dist/module/apis/contactActions.js.map +1 -0
  17. package/dist/module/apis/eventActions.js +163 -0
  18. package/dist/module/apis/eventActions.js.map +1 -0
  19. package/dist/module/apis/fileActions.js +96 -0
  20. package/dist/module/apis/fileActions.js.map +1 -0
  21. package/dist/module/apis/followerActions.js +38 -0
  22. package/dist/module/apis/followerActions.js.map +1 -0
  23. package/dist/module/apis/index.js +11 -0
  24. package/dist/module/apis/index.js.map +1 -0
  25. package/dist/module/apis/notificationActions.js +60 -0
  26. package/dist/module/apis/notificationActions.js.map +1 -0
  27. package/dist/module/apis/profileActions.js +14 -0
  28. package/dist/module/apis/profileActions.js.map +1 -0
  29. package/dist/module/apis/reactionActions.js +78 -0
  30. package/dist/module/apis/reactionActions.js.map +1 -0
  31. package/dist/module/apis/typeActions.js +15 -0
  32. package/dist/module/apis/typeActions.js.map +1 -0
  33. package/dist/module/apis/userActions.js +104 -0
  34. package/dist/module/apis/userActions.js.map +1 -0
  35. package/{assets → dist/module/assets}/icons/reactions/heart.png +0 -0
  36. package/{assets → dist/module/assets}/icons/reactions/party.png +0 -0
  37. package/{assets → dist/module/assets}/icons/reactions/sad.png +0 -0
  38. package/{assets → dist/module/assets}/icons/reactions/smile.png +0 -0
  39. package/dist/module/colours.js +149 -0
  40. package/dist/module/colours.js.map +1 -0
  41. package/dist/module/components/AddButton.js +45 -0
  42. package/dist/module/components/AddButton.js.map +1 -0
  43. package/dist/module/components/Attachment.js +59 -0
  44. package/dist/module/components/Attachment.js.map +1 -0
  45. package/dist/module/components/AudienceSelectorLauncher.js +70 -0
  46. package/dist/module/components/AudienceSelectorLauncher.js.map +1 -0
  47. package/dist/module/components/AudienceSelectorPage.js +376 -0
  48. package/dist/module/components/AudienceSelectorPage.js.map +1 -0
  49. package/dist/module/components/BackButton.js +62 -0
  50. package/dist/module/components/BackButton.js.map +1 -0
  51. package/dist/module/components/CategoryTabs.js +171 -0
  52. package/dist/module/components/CategoryTabs.js.map +1 -0
  53. package/dist/module/components/CommentReply.js +363 -0
  54. package/dist/module/components/CommentReply.js.map +1 -0
  55. package/dist/module/components/CommentSection.js +785 -0
  56. package/dist/module/components/CommentSection.js.map +1 -0
  57. package/dist/module/components/ConfirmPopup.js +85 -0
  58. package/dist/module/components/ConfirmPopup.js.map +1 -0
  59. package/dist/module/components/ConfirmationPopup.js +77 -0
  60. package/dist/module/components/ConfirmationPopup.js.map +1 -0
  61. package/dist/module/components/DropDownItem.js +82 -0
  62. package/dist/module/components/DropDownItem.js.map +1 -0
  63. package/dist/module/components/DropDownMenu.js +46 -0
  64. package/dist/module/components/DropDownMenu.js.map +1 -0
  65. package/dist/module/components/EmptyStateMain.js +50 -0
  66. package/dist/module/components/EmptyStateMain.js.map +1 -0
  67. package/dist/module/components/EmptyStateWidget.js +52 -0
  68. package/dist/module/components/EmptyStateWidget.js.map +1 -0
  69. package/dist/module/components/FontScaleButton.js +37 -0
  70. package/dist/module/components/FontScaleButton.js.map +1 -0
  71. package/dist/module/components/FontScalePopup.js +77 -0
  72. package/dist/module/components/FontScalePopup.js.map +1 -0
  73. package/dist/module/components/FormCard.js +28 -0
  74. package/dist/module/components/FormCard.js.map +1 -0
  75. package/dist/module/components/FormCardSection.js +240 -0
  76. package/dist/module/components/FormCardSection.js.map +1 -0
  77. package/dist/module/components/FormCardSectionOptionLauncher.js +77 -0
  78. package/dist/module/components/FormCardSectionOptionLauncher.js.map +1 -0
  79. package/dist/module/components/FormattedText.js +145 -0
  80. package/dist/module/components/FormattedText.js.map +1 -0
  81. package/dist/module/components/GenericInput.js +161 -0
  82. package/dist/module/components/GenericInput.js.map +1 -0
  83. package/dist/module/components/GenericInputSection.js +174 -0
  84. package/dist/module/components/GenericInputSection.js.map +1 -0
  85. package/dist/module/components/Header.js +491 -0
  86. package/dist/module/components/Header.js.map +1 -0
  87. package/dist/module/components/ImagePopup.js +257 -0
  88. package/dist/module/components/ImagePopup.js.map +1 -0
  89. package/dist/module/components/ImageUploadProgress.js +72 -0
  90. package/dist/module/components/ImageUploadProgress.js.map +1 -0
  91. package/dist/module/components/ImageUploader.js +850 -0
  92. package/dist/module/components/ImageUploader.js.map +1 -0
  93. package/dist/module/components/InlineButton.js +72 -0
  94. package/dist/module/components/InlineButton.js.map +1 -0
  95. package/dist/module/components/Input.js +164 -0
  96. package/dist/module/components/Input.js.map +1 -0
  97. package/dist/module/components/LoadingCircles.js +224 -0
  98. package/dist/module/components/LoadingCircles.js.map +1 -0
  99. package/dist/module/components/LoadingIndicator.js +95 -0
  100. package/dist/module/components/LoadingIndicator.js.map +1 -0
  101. package/dist/module/components/LoadingStateWidget.js +51 -0
  102. package/dist/module/components/LoadingStateWidget.js.map +1 -0
  103. package/dist/module/components/MediaPlayer.js +440 -0
  104. package/dist/module/components/MediaPlayer.js.map +1 -0
  105. package/dist/module/components/MiddlePopup.js +46 -0
  106. package/dist/module/components/MiddlePopup.js.map +1 -0
  107. package/dist/module/components/PDFPopup.js +188 -0
  108. package/dist/module/components/PDFPopup.js.map +1 -0
  109. package/dist/module/components/PlussChat.js +997 -0
  110. package/dist/module/components/PlussChat.js.map +1 -0
  111. package/dist/module/components/PlussChatMessage.js +204 -0
  112. package/dist/module/components/PlussChatMessage.js.map +1 -0
  113. package/dist/module/components/PlussChatTime.js +66 -0
  114. package/dist/module/components/PlussChatTime.js.map +1 -0
  115. package/dist/module/components/Popup.js +138 -0
  116. package/dist/module/components/Popup.js.map +1 -0
  117. package/dist/module/components/PopupMenu.js +128 -0
  118. package/dist/module/components/PopupMenu.js.map +1 -0
  119. package/dist/module/components/PositionedImage.js +333 -0
  120. package/dist/module/components/PositionedImage.js.map +1 -0
  121. package/dist/module/components/ProfilePic.js +119 -0
  122. package/dist/module/components/ProfilePic.js.map +1 -0
  123. package/dist/module/components/RadioButton.js +84 -0
  124. package/dist/module/components/RadioButton.js.map +1 -0
  125. package/dist/module/components/Reaction.js +129 -0
  126. package/dist/module/components/Reaction.js.map +1 -0
  127. package/dist/module/components/Reactions.js +84 -0
  128. package/dist/module/components/Reactions.js.map +1 -0
  129. package/dist/module/components/SharingTools.js +162 -0
  130. package/dist/module/components/SharingTools.js.map +1 -0
  131. package/dist/module/components/Spinner.js +25 -0
  132. package/dist/module/components/Spinner.js.map +1 -0
  133. package/dist/module/components/StickyFooter.js +37 -0
  134. package/dist/module/components/StickyFooter.js.map +1 -0
  135. package/dist/module/components/TextStyle.js +34 -0
  136. package/dist/module/components/TextStyle.js.map +1 -0
  137. package/dist/module/components/Toggle.js +70 -0
  138. package/dist/module/components/Toggle.js.map +1 -0
  139. package/dist/module/components/TouchableSearchBar.js +73 -0
  140. package/dist/module/components/TouchableSearchBar.js.map +1 -0
  141. package/dist/module/components/UserListPopup.js +146 -0
  142. package/dist/module/components/UserListPopup.js.map +1 -0
  143. package/dist/module/components/UserListing.js +291 -0
  144. package/dist/module/components/UserListing.js.map +1 -0
  145. package/dist/module/components/VideoPopup.js +123 -0
  146. package/dist/module/components/VideoPopup.js.map +1 -0
  147. package/dist/module/components/WarningPopup.js +87 -0
  148. package/dist/module/components/WarningPopup.js.map +1 -0
  149. package/dist/module/components/expo-image-picker-multiple/ImageBrowser.js +325 -0
  150. package/dist/module/components/expo-image-picker-multiple/ImageBrowser.js.map +1 -0
  151. package/dist/module/components/expo-image-picker-multiple/ImageTile.js +123 -0
  152. package/dist/module/components/expo-image-picker-multiple/ImageTile.js.map +1 -0
  153. package/dist/module/components/index.js +53 -0
  154. package/dist/module/components/index.js.map +1 -0
  155. package/dist/module/components/react-native-expo-image-cropper/ExpoImageManipulator.js +416 -0
  156. package/dist/module/components/react-native-expo-image-cropper/ExpoImageManipulator.js.map +1 -0
  157. package/dist/module/components/react-native-expo-image-cropper/ImageCropOverlay.js +405 -0
  158. package/dist/module/components/react-native-expo-image-cropper/ImageCropOverlay.js.map +1 -0
  159. package/dist/module/config.js +27 -0
  160. package/dist/module/config.js.map +1 -0
  161. package/dist/module/constants.js +16 -0
  162. package/dist/module/constants.js.map +1 -0
  163. package/dist/module/fonts/index.js +2 -0
  164. package/dist/module/fonts/index.js.map +1 -0
  165. package/dist/module/fonts/pluss60-icons.js +5 -0
  166. package/dist/module/fonts/pluss60-icons.js.map +1 -0
  167. package/dist/module/fonts/pluss60-icons.json +1097 -0
  168. package/dist/module/helper.js +436 -0
  169. package/dist/module/helper.js.map +1 -0
  170. package/dist/module/index.js +13 -0
  171. package/dist/module/index.js.map +1 -0
  172. package/dist/module/session.js +54 -0
  173. package/dist/module/session.js.map +1 -0
  174. package/dist/module/styles.js +67 -0
  175. package/dist/module/styles.js.map +1 -0
  176. package/package.json +22 -5
  177. package/src/assets/icons/reactions/heart.png +0 -0
  178. package/src/assets/icons/reactions/party.png +0 -0
  179. package/src/assets/icons/reactions/sad.png +0 -0
  180. package/src/assets/icons/reactions/smile.png +0 -0
  181. package/src/components/CommentReply.js +0 -2
  182. package/src/constants.js +4 -4
  183. package/src/helper.js +4 -4
@@ -0,0 +1,491 @@
1
+ import React, { Component } from 'react';
2
+ import { Animated, View, StatusBar, Image, Dimensions, TouchableOpacity, Text, Platform } from 'react-native';
3
+ import { Icon } from 'react-native-elements';
4
+ import { LinearGradient } from 'expo-linear-gradient';
5
+ import { connect } from 'react-redux'; // import {
6
+ // StatusBarHeight,
7
+ // COLOUR_TRANSPARENT,
8
+ // TEXT_DARK,
9
+ // TEXT_LIGHT,
10
+ // LINEGREY,
11
+ // COLOUR_GREEN,
12
+ // getMainBrandingColourFromState,
13
+ // hexToRGBAstring,
14
+ // getSiteSettingFromState,
15
+ // } from '../../js';
16
+
17
+ import { StatusBarHeight, getSiteSettingFromState } from '../helper';
18
+ import { COLOUR_TRANSPARENT, TEXT_DARK, TEXT_LIGHT, LINEGREY, COLOUR_GREEN, getMainBrandingColourFromState, hexToRGBAstring } from '../colours';
19
+ import { Pl60Icon } from '../fonts';
20
+ import Config from '../config'; // import { HAS_GRADIENT_HEADER } from '../../config';
21
+
22
+ class Header extends Component {
23
+ constructor(props) {
24
+ super(props);
25
+ this.state = {};
26
+ }
27
+
28
+ UNSAFE_componentWillMount() {
29
+ let barStyle = Platform.select({
30
+ ios: 'dark-content',
31
+ android: 'default'
32
+ });
33
+
34
+ if (this.props.barStyle) {
35
+ barStyle = this.props.barStyle;
36
+ } else if (this.props.headerType !== 'white' && !this.props.noGradient && !this.props.transparent) {
37
+ barStyle = 'light-content';
38
+ }
39
+
40
+ this.setState({
41
+ windowWidth: Dimensions.get('window').width,
42
+ barStyle
43
+ });
44
+ }
45
+
46
+ getTextColourStyle() {
47
+ if (this.props.textColour) {
48
+ return {
49
+ color: this.props.textColour
50
+ };
51
+ }
52
+
53
+ if (this.props.headerType !== 'white' && !this.props.noGradient && !this.props.transparent) {
54
+ return {
55
+ color: '#fff'
56
+ };
57
+ }
58
+
59
+ return null;
60
+ }
61
+
62
+ renderBackground() {
63
+ if (this.props.headerBackground) return this.props.headerBackground;
64
+
65
+ if (this.props.headerImage) {
66
+ return /*#__PURE__*/React.createElement(Image, {
67
+ style: [styles.thumbnailStyle, {
68
+ width: this.state.windowWidth
69
+ }],
70
+ source: {
71
+ uri: this.props.headerImage
72
+ }
73
+ });
74
+ }
75
+
76
+ if (this.props.headerType === 'pattern' && !this.props.noGradient && !this.props.transparent) {
77
+ return /*#__PURE__*/React.createElement(View, {
78
+ style: [styles.thumbnailStyle, this.props.contentContainerStyle, {
79
+ backgroundColor: this.props.colourBrandingMain,
80
+ width: this.state.windowWidth
81
+ }, this.props.popupHeader && styles.thumbnailPopupHeader]
82
+ }, /*#__PURE__*/React.createElement(Image, {
83
+ style: [styles.headerPattern, this.props.patternColour && {
84
+ tintColor: this.props.patternColour
85
+ }],
86
+ source: {
87
+ uri: this.props.headerPattern
88
+ }
89
+ }));
90
+ }
91
+
92
+ if (this.props.headerType === 'block' && !this.props.noGradient && !this.props.transparent) {
93
+ return /*#__PURE__*/React.createElement(View, {
94
+ style: [styles.thumbnailStyle, this.props.contentContainerStyle, {
95
+ backgroundColor: this.props.colourBrandingMain,
96
+ width: this.state.windowWidth
97
+ }, this.props.popupHeader && styles.thumbnailPopupHeader]
98
+ });
99
+ }
100
+
101
+ if (this.props.headerType === 'gradient' && !this.props.noGradient && !this.props.transparent) {
102
+ return /*#__PURE__*/React.createElement(View, {
103
+ style: [styles.thumbnailStyle, this.props.contentContainerStyle, {
104
+ width: this.state.windowWidth
105
+ }, this.props.popupHeader && styles.thumbnailPopupHeader]
106
+ }, /*#__PURE__*/React.createElement(LinearGradient, {
107
+ style: {
108
+ flex: 1
109
+ },
110
+ colors: [this.props.colourBrandingMain, hexToRGBAstring(this.props.colourBrandingMain, 0.7)],
111
+ start: {
112
+ x: 0,
113
+ y: 0
114
+ },
115
+ end: {
116
+ x: 1,
117
+ y: 1
118
+ },
119
+ locations: [0.4, 1]
120
+ }));
121
+ }
122
+
123
+ return null;
124
+ }
125
+
126
+ renderLeftBubble() {
127
+ if (!this.props.hasLeftBubble) {
128
+ return null;
129
+ }
130
+
131
+ return /*#__PURE__*/React.createElement(View, {
132
+ style: [styles.counter, styles.smallCounter]
133
+ });
134
+ }
135
+
136
+ renderLeftIcon() {
137
+ if (!this.props.leftIcon && !this.props.leftText || !this.props.onPressLeft) {
138
+ return null;
139
+ }
140
+
141
+ if (this.props.leftText) {
142
+ return /*#__PURE__*/React.createElement(View, {
143
+ style: [styles.headerContentIcon, {
144
+ width: 'auto'
145
+ }]
146
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, {
147
+ onPress: this.props.onPressLeft,
148
+ activeOpacity: 0.6
149
+ }, /*#__PURE__*/React.createElement(Text, {
150
+ style: [styles.buttonText, {
151
+ paddingRight: 5,
152
+ paddingLeft: 15,
153
+ color: this.props.colourBrandingMain
154
+ }, this.props.leftTextStyle, this.props.headerType !== 'white' && !this.props.noGradient && !this.props.transparent && {
155
+ color: '#fff'
156
+ }]
157
+ }, this.props.leftText)));
158
+ }
159
+
160
+ if (this.props.leftIconType && this.props.leftIconType === 'pluss') {
161
+ return /*#__PURE__*/React.createElement(View, {
162
+ style: styles.headerContentIcon
163
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, {
164
+ onPress: this.props.onPressLeft,
165
+ activeOpacity: 0.6
166
+ }, /*#__PURE__*/React.createElement(View, {
167
+ style: styles.headerContentIcon
168
+ }, /*#__PURE__*/React.createElement(Pl60Icon, {
169
+ name: this.props.leftIcon,
170
+ style: [styles.leftIcon, this.props.leftIconStyle, this.getTextColourStyle()]
171
+ }), this.renderLeftBubble())));
172
+ }
173
+
174
+ return /*#__PURE__*/React.createElement(View, {
175
+ style: styles.headerContentIcon
176
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, {
177
+ onPress: this.props.onPressLeft,
178
+ activeOpacity: 0.6
179
+ }, /*#__PURE__*/React.createElement(Icon, {
180
+ name: this.props.leftIcon,
181
+ style: styles.headerContentIcon,
182
+ type: "font-awesome",
183
+ iconStyle: [styles.leftIcon, this.props.leftIconStyle, this.getTextColourStyle()]
184
+ }), this.renderLeftBubble()));
185
+ }
186
+
187
+ renderHeaderText() {
188
+ if (!this.props.text) {
189
+ if (this.props.centerContent) {
190
+ return this.props.centerContent;
191
+ }
192
+
193
+ return null;
194
+ }
195
+
196
+ if (this.props.onTextPress) {
197
+ return /*#__PURE__*/React.createElement(TouchableOpacity, {
198
+ onPress: this.props.onTextPress,
199
+ activeOpacity: 0.6,
200
+ style: [styles.headerTextContainer, this.props.leftIcon && (!this.props.rightIcon && !this.props.rightText || this.props.absoluteRight) && {
201
+ paddingRight: 55
202
+ }, this.props.textContainerStyle]
203
+ }, /*#__PURE__*/React.createElement(Text, {
204
+ style: [styles.headerText, this.props.textStyle, this.getTextColourStyle()],
205
+ numberOfLines: 1,
206
+ ellipsizeMode: "tail"
207
+ }, this.props.text));
208
+ }
209
+
210
+ return /*#__PURE__*/React.createElement(View, {
211
+ style: [styles.headerTextContainer, this.props.leftIcon && (!this.props.rightIcon && !this.props.rightText || this.props.absoluteRight) && {
212
+ paddingRight: 55
213
+ }, this.props.rightIcon && (!this.props.leftIcon && !this.props.leftText || this.props.absoluteLeft) && {
214
+ paddingLeft: 55
215
+ }, this.props.textContainerStyle]
216
+ }, /*#__PURE__*/React.createElement(Text, {
217
+ style: [styles.headerText, this.props.textStyle, this.getTextColourStyle()],
218
+ numberOfLines: 1,
219
+ ellipsizeMode: "tail"
220
+ }, this.props.text));
221
+ }
222
+
223
+ renderRightIcon() {
224
+ if (this.props.rightContent) {
225
+ return this.props.rightContent;
226
+ }
227
+
228
+ if (!this.props.onPressRight) {
229
+ return null;
230
+ }
231
+
232
+ if (this.props.rightText && this.props.onPressRight) {
233
+ return /*#__PURE__*/React.createElement(View, {
234
+ style: [styles.headerContentIcon, {
235
+ width: 'auto'
236
+ }, this.props.absoluteRight && styles.absoluteRight, this.props.rightContainerStyle]
237
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, {
238
+ onPress: this.props.onPressRight,
239
+ activeOpacity: 0.6
240
+ }, /*#__PURE__*/React.createElement(Text, {
241
+ style: [styles.buttonText, {
242
+ paddingRight: 15,
243
+ paddingLeft: 5,
244
+ textAlign: 'right',
245
+ fontFamily: 'sf-semibold',
246
+ color: this.props.colourBrandingMain
247
+ }, this.getTextColourStyle(), this.props.optionalRightStyle]
248
+ }, this.props.rightText)));
249
+ }
250
+
251
+ if (!this.props.rightIcon) {
252
+ if (this.props.rightImage) {
253
+ return /*#__PURE__*/React.createElement(TouchableOpacity, {
254
+ onPress: this.props.onPressRight,
255
+ activeOpacity: 0.6
256
+ }, /*#__PURE__*/React.createElement(View, {
257
+ style: styles.headerContentIcon
258
+ }, /*#__PURE__*/React.createElement(Image, {
259
+ source: {
260
+ uri: this.props.rightImage
261
+ },
262
+ style: styles.rightImage,
263
+ resizeMode: "contain"
264
+ })));
265
+ }
266
+
267
+ return null;
268
+ }
269
+
270
+ return /*#__PURE__*/React.createElement(TouchableOpacity, {
271
+ onPress: this.props.onPressRight,
272
+ activeOpacity: 0.6
273
+ }, this.props.rightIconType && this.props.rightIconType === 'pluss' ? /*#__PURE__*/React.createElement(View, {
274
+ style: styles.headerContentIcon
275
+ }, /*#__PURE__*/React.createElement(Pl60Icon, {
276
+ name: this.props.rightIcon,
277
+ style: [styles.rightIcon, this.getTextColourStyle(), this.props.rightIconStyle]
278
+ })) : /*#__PURE__*/React.createElement(Icon, {
279
+ name: this.props.rightIcon,
280
+ style: styles.headerContentIcon,
281
+ type: this.props.rightIconType ? this.props.rightIconType : 'font-awesome',
282
+ iconStyle: [styles.rightIcon, this.getTextColourStyle(), this.props.rightIconStyle]
283
+ }));
284
+ }
285
+
286
+ render() {
287
+ if (this.props.animatedHeader) {
288
+ return /*#__PURE__*/React.createElement(Animated.View, {
289
+ style: [styles.container, !this.props.noShadow && styles.containerShadow, this.props.transparent && styles.transparentContainer, this.props.style, {
290
+ backgroundColor: this.props.headerColourOffset,
291
+ elevation: this.props.headerElev,
292
+ shadowColor: this.props.headerShadow
293
+ }]
294
+ }, this.renderBackground(), /*#__PURE__*/React.createElement(StatusBar, {
295
+ barStyle: this.state.barStyle,
296
+ translucent: true
297
+ }), /*#__PURE__*/React.createElement(View, {
298
+ style: styles.headerContent
299
+ }, this.renderLeftIcon(), this.renderHeaderText(), this.renderRightIcon(), this.props.children), this.props.extraHeaderContent);
300
+ }
301
+
302
+ return /*#__PURE__*/React.createElement(View, {
303
+ style: [styles.container, !this.props.noShadow && styles.containerShadow, this.props.transparent && styles.transparentContainer, this.props.lineSeparated && styles.lineSeparated, this.props.popupHeader && styles.popupHeader, this.props.style, this.props.colourBrandingHeader && {
304
+ backgroundColor: this.props.colourBrandingHeader
305
+ }]
306
+ }, /*#__PURE__*/React.createElement(View, {
307
+ style: [styles.contentContainer, this.props.popupHeader && styles.popupContentContainer, this.props.contentContainerStyle, this.props.colourBrandingHeader && {
308
+ backgroundColor: this.props.colourBrandingHeader
309
+ }]
310
+ }, this.renderBackground(), /*#__PURE__*/React.createElement(StatusBar, {
311
+ barStyle: this.state.barStyle,
312
+ translucent: true
313
+ }), /*#__PURE__*/React.createElement(View, {
314
+ style: [styles.headerContent, this.props.popupHeader && styles.headerContentPopup]
315
+ }, this.renderLeftIcon(), this.renderHeaderText(), this.renderRightIcon(), this.props.children)), this.props.extraHeaderContent);
316
+ }
317
+
318
+ }
319
+
320
+ const styles = {
321
+ container: {
322
+ alignSelf: 'stretch',
323
+ backgroundColor: '#fff',
324
+ zIndex: 10
325
+ },
326
+ containerShadow: {
327
+ shadowColor: '#000',
328
+ shadowOffset: {
329
+ width: 0,
330
+ height: 1
331
+ },
332
+ shadowOpacity: 0.1,
333
+ shadowRadius: 6,
334
+ elevation: 3
335
+ },
336
+ lineSeparated: {
337
+ borderBottomWidth: 1,
338
+ borderColor: LINEGREY,
339
+ shadowOpacity: 0,
340
+ elevation: 0
341
+ },
342
+ popupHeader: {
343
+ borderBottomWidth: 1,
344
+ borderColor: LINEGREY,
345
+ shadowOpacity: 0,
346
+ elevation: 0,
347
+ borderTopLeftRadius: 12,
348
+ borderTopRightRadius: 12
349
+ },
350
+ contentContainer: {
351
+ height: StatusBarHeight(70),
352
+ alignSelf: 'stretch',
353
+ flexDirection: 'row'
354
+ },
355
+ popupContentContainer: {
356
+ height: 70,
357
+ borderTopLeftRadius: 12,
358
+ borderTopRightRadius: 12
359
+ },
360
+ transparentContainer: {
361
+ backgroundColor: COLOUR_TRANSPARENT,
362
+ shadowColor: COLOUR_TRANSPARENT,
363
+ elevation: 0
364
+ },
365
+ thumbnailStyle: {
366
+ height: StatusBarHeight(70),
367
+ width: null,
368
+ position: 'absolute',
369
+ top: 0,
370
+ left: 0,
371
+ resizeMode: 'cover'
372
+ },
373
+ thumbnailPopupHeader: {
374
+ height: 70,
375
+ width: '100%',
376
+ borderTopLeftRadius: 12,
377
+ borderTopRightRadius: 12,
378
+ overflow: 'hidden'
379
+ },
380
+ headerContent: {
381
+ alignSelf: 'stretch',
382
+ flexDirection: 'row',
383
+ flex: 1,
384
+ paddingTop: StatusBarHeight(0)
385
+ },
386
+ headerContentPopup: {
387
+ paddingTop: 0
388
+ },
389
+ headerContentIcon: {
390
+ height: 70,
391
+ width: 55,
392
+ alignItems: 'center',
393
+ flexDirection: 'row',
394
+ justifyContent: 'space-between'
395
+ },
396
+ absoluteRight: {
397
+ height: 70,
398
+ justifyContent: 'center',
399
+ position: 'absolute',
400
+ right: 0,
401
+ top: StatusBarHeight(0)
402
+ },
403
+ leftIcon: {
404
+ fontSize: 25,
405
+ padding: 15,
406
+ width: 55,
407
+ textAlign: 'center',
408
+ color: TEXT_LIGHT
409
+ },
410
+ headerTextContainer: {
411
+ height: 70,
412
+ flex: 1,
413
+ alignItems: 'center',
414
+ flexDirection: 'row',
415
+ justifyContent: 'space-between'
416
+ },
417
+ headerText: {
418
+ fontSize: 16,
419
+ flex: 1,
420
+ fontFamily: 'sf-semibold',
421
+ color: TEXT_DARK,
422
+ textAlign: 'center',
423
+ backgroundColor: 'rgba(255,255,255,0)'
424
+ },
425
+ buttonText: {
426
+ fontSize: 15,
427
+ fontFamily: 'sf-regular',
428
+ width: 80,
429
+ backgroundColor: 'rgba(255,255,255,0)'
430
+ },
431
+ rightIcon: {
432
+ fontSize: 25,
433
+ padding: 15,
434
+ width: 55,
435
+ textAlign: 'center',
436
+ color: TEXT_LIGHT
437
+ },
438
+ rightImage: {
439
+ width: 24,
440
+ height: 24,
441
+ marginRight: 15,
442
+ marginLeft: 13
443
+ },
444
+ counter: {
445
+ top: 15,
446
+ right: 5,
447
+ borderRadius: 10,
448
+ position: 'absolute',
449
+ height: 20,
450
+ minWidth: 20,
451
+ backgroundColor: COLOUR_GREEN,
452
+ justifyContent: 'center'
453
+ },
454
+ counterText: {
455
+ color: '#fff',
456
+ textAlign: 'center',
457
+ fontFamily: 'sf-bold',
458
+ fontSize: 10,
459
+ lineHeight: 12,
460
+ backgroundColor: 'transparent'
461
+ },
462
+ smallCounter: {
463
+ width: 5,
464
+ height: 5,
465
+ minWidth: 5,
466
+ top: 20,
467
+ right: 10
468
+ },
469
+ headerPattern: {
470
+ position: 'absolute',
471
+ top: 0,
472
+ left: 0,
473
+ right: 0,
474
+ bottom: 0,
475
+ width: '100%',
476
+ height: '100%',
477
+ resizeMode: 'cover'
478
+ }
479
+ };
480
+
481
+ const mapStateToProps = state => {
482
+ return {
483
+ colourBrandingMain: getMainBrandingColourFromState(state),
484
+ headerType: getSiteSettingFromState(state, 'HeaderType', getSiteSettingFromState(state, 'UseGradientHeader', Config.env.hasGradientHeader) ? 'gradient' : 'white'),
485
+ headerPattern: getSiteSettingFromState(state, 'HeaderPattern'),
486
+ patternColour: getSiteSettingFromState(state, 'PatternColour')
487
+ };
488
+ };
489
+
490
+ export default connect(mapStateToProps, {})(Header);
491
+ //# sourceMappingURL=Header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Header.js"],"names":["React","Component","Animated","View","StatusBar","Image","Dimensions","TouchableOpacity","Text","Platform","Icon","LinearGradient","connect","StatusBarHeight","getSiteSettingFromState","COLOUR_TRANSPARENT","TEXT_DARK","TEXT_LIGHT","LINEGREY","COLOUR_GREEN","getMainBrandingColourFromState","hexToRGBAstring","Pl60Icon","Config","Header","constructor","props","state","UNSAFE_componentWillMount","barStyle","select","ios","android","headerType","noGradient","transparent","setState","windowWidth","get","width","getTextColourStyle","textColour","color","renderBackground","headerBackground","headerImage","styles","thumbnailStyle","uri","contentContainerStyle","backgroundColor","colourBrandingMain","popupHeader","thumbnailPopupHeader","headerPattern","patternColour","tintColor","flex","x","y","renderLeftBubble","hasLeftBubble","counter","smallCounter","renderLeftIcon","leftIcon","leftText","onPressLeft","headerContentIcon","buttonText","paddingRight","paddingLeft","leftTextStyle","leftIconType","leftIconStyle","renderHeaderText","text","centerContent","onTextPress","headerTextContainer","rightIcon","rightText","absoluteRight","textContainerStyle","headerText","textStyle","absoluteLeft","renderRightIcon","rightContent","onPressRight","rightContainerStyle","textAlign","fontFamily","optionalRightStyle","rightImage","rightIconType","rightIconStyle","render","animatedHeader","container","noShadow","containerShadow","transparentContainer","style","headerColourOffset","elevation","headerElev","shadowColor","headerShadow","headerContent","children","extraHeaderContent","lineSeparated","colourBrandingHeader","contentContainer","popupContentContainer","headerContentPopup","alignSelf","zIndex","shadowOffset","height","shadowOpacity","shadowRadius","borderBottomWidth","borderColor","borderTopLeftRadius","borderTopRightRadius","flexDirection","position","top","left","resizeMode","overflow","paddingTop","alignItems","justifyContent","right","fontSize","padding","marginRight","marginLeft","borderRadius","minWidth","counterText","lineHeight","bottom","mapStateToProps","env","hasGradientHeader"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport { Animated, View, StatusBar, Image, Dimensions, TouchableOpacity, Text, Platform } from 'react-native';\nimport { Icon } from 'react-native-elements';\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 COLOUR_TRANSPARENT,\n TEXT_DARK,\n TEXT_LIGHT,\n LINEGREY,\n COLOUR_GREEN,\n getMainBrandingColourFromState,\n hexToRGBAstring,\n} from '../colours';\nimport { Pl60Icon } from '../fonts';\nimport Config from '../config';\n// import { HAS_GRADIENT_HEADER } from '../../config';\n\nclass Header extends Component {\n constructor(props) {\n super(props);\n\n this.state = {};\n }\n\n UNSAFE_componentWillMount() {\n let barStyle = Platform.select({ ios: 'dark-content', android: 'default' });\n if (this.props.barStyle) {\n barStyle = this.props.barStyle;\n } else if (this.props.headerType !== 'white' && !this.props.noGradient && !this.props.transparent) {\n barStyle = 'light-content';\n }\n this.setState({ windowWidth: Dimensions.get('window').width, barStyle });\n }\n\n getTextColourStyle() {\n if (this.props.textColour) {\n return { color: this.props.textColour };\n }\n if (this.props.headerType !== 'white' && !this.props.noGradient && !this.props.transparent) {\n return { color: '#fff' };\n }\n return null;\n }\n\n renderBackground() {\n if (this.props.headerBackground) return this.props.headerBackground;\n if (this.props.headerImage) {\n return <Image style={[styles.thumbnailStyle, { width: this.state.windowWidth }]} source={{ uri: this.props.headerImage }} />;\n }\n if (this.props.headerType === 'pattern' && !this.props.noGradient && !this.props.transparent) {\n return (\n <View\n style={[\n styles.thumbnailStyle,\n this.props.contentContainerStyle,\n { backgroundColor: this.props.colourBrandingMain, width: this.state.windowWidth },\n this.props.popupHeader && styles.thumbnailPopupHeader,\n ]}\n >\n <Image\n style={[styles.headerPattern, this.props.patternColour && { tintColor: this.props.patternColour }]}\n source={{ uri: this.props.headerPattern }}\n />\n </View>\n );\n }\n if (this.props.headerType === 'block' && !this.props.noGradient && !this.props.transparent) {\n return (\n <View\n style={[\n styles.thumbnailStyle,\n this.props.contentContainerStyle,\n { backgroundColor: this.props.colourBrandingMain, width: this.state.windowWidth },\n this.props.popupHeader && styles.thumbnailPopupHeader,\n ]}\n />\n );\n }\n if (this.props.headerType === 'gradient' && !this.props.noGradient && !this.props.transparent) {\n return (\n <View\n style={[\n styles.thumbnailStyle,\n this.props.contentContainerStyle,\n { width: this.state.windowWidth },\n this.props.popupHeader && styles.thumbnailPopupHeader,\n ]}\n >\n <LinearGradient\n style={{ flex: 1 }}\n colors={[this.props.colourBrandingMain, hexToRGBAstring(this.props.colourBrandingMain, 0.7)]}\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 1 }}\n locations={[0.4, 1]}\n />\n </View>\n );\n }\n return null;\n }\n\n renderLeftBubble() {\n if (!this.props.hasLeftBubble) {\n return null;\n }\n return <View style={[styles.counter, styles.smallCounter]} />;\n }\n\n renderLeftIcon() {\n if ((!this.props.leftIcon && !this.props.leftText) || !this.props.onPressLeft) {\n return null;\n }\n if (this.props.leftText) {\n return (\n <View style={[styles.headerContentIcon, { width: 'auto' }]}>\n <TouchableOpacity onPress={this.props.onPressLeft} activeOpacity={0.6}>\n <Text\n style={[\n styles.buttonText,\n { paddingRight: 5, paddingLeft: 15, color: this.props.colourBrandingMain },\n this.props.leftTextStyle,\n this.props.headerType !== 'white' && !this.props.noGradient && !this.props.transparent && { color: '#fff' },\n ]}\n >\n {this.props.leftText}\n </Text>\n </TouchableOpacity>\n </View>\n );\n }\n if (this.props.leftIconType && this.props.leftIconType === 'pluss') {\n return (\n <View style={styles.headerContentIcon}>\n <TouchableOpacity onPress={this.props.onPressLeft} activeOpacity={0.6}>\n <View style={styles.headerContentIcon}>\n <Pl60Icon name={this.props.leftIcon} style={[styles.leftIcon, this.props.leftIconStyle, this.getTextColourStyle()]} />\n {this.renderLeftBubble()}\n </View>\n </TouchableOpacity>\n </View>\n );\n }\n return (\n <View style={styles.headerContentIcon}>\n <TouchableOpacity onPress={this.props.onPressLeft} activeOpacity={0.6}>\n <Icon\n name={this.props.leftIcon}\n style={styles.headerContentIcon}\n type=\"font-awesome\"\n iconStyle={[styles.leftIcon, this.props.leftIconStyle, this.getTextColourStyle()]}\n />\n {this.renderLeftBubble()}\n </TouchableOpacity>\n </View>\n );\n }\n\n renderHeaderText() {\n if (!this.props.text) {\n if (this.props.centerContent) {\n return this.props.centerContent;\n }\n return null;\n }\n if (this.props.onTextPress) {\n return (\n <TouchableOpacity\n onPress={this.props.onTextPress}\n activeOpacity={0.6}\n style={[\n styles.headerTextContainer,\n this.props.leftIcon && ((!this.props.rightIcon && !this.props.rightText) || this.props.absoluteRight) && { paddingRight: 55 },\n this.props.textContainerStyle,\n ]}\n >\n <Text style={[styles.headerText, this.props.textStyle, this.getTextColourStyle()]} numberOfLines={1} ellipsizeMode=\"tail\">\n {this.props.text}\n </Text>\n </TouchableOpacity>\n );\n }\n return (\n <View\n style={[\n styles.headerTextContainer,\n this.props.leftIcon && ((!this.props.rightIcon && !this.props.rightText) || this.props.absoluteRight) && { paddingRight: 55 },\n this.props.rightIcon && ((!this.props.leftIcon && !this.props.leftText) || this.props.absoluteLeft) && { paddingLeft: 55 },\n this.props.textContainerStyle,\n ]}\n >\n <Text style={[styles.headerText, this.props.textStyle, this.getTextColourStyle()]} numberOfLines={1} ellipsizeMode=\"tail\">\n {this.props.text}\n </Text>\n </View>\n );\n }\n\n renderRightIcon() {\n if (this.props.rightContent) {\n return this.props.rightContent;\n }\n if (!this.props.onPressRight) {\n return null;\n }\n if (this.props.rightText && this.props.onPressRight) {\n return (\n <View\n style={[\n styles.headerContentIcon,\n { width: 'auto' },\n this.props.absoluteRight && styles.absoluteRight,\n this.props.rightContainerStyle,\n ]}\n >\n <TouchableOpacity onPress={this.props.onPressRight} activeOpacity={0.6}>\n <Text\n style={[\n styles.buttonText,\n { paddingRight: 15, paddingLeft: 5, textAlign: 'right', fontFamily: 'sf-semibold', color: this.props.colourBrandingMain },\n this.getTextColourStyle(),\n this.props.optionalRightStyle,\n ]}\n >\n {this.props.rightText}\n </Text>\n </TouchableOpacity>\n </View>\n );\n }\n if (!this.props.rightIcon) {\n if (this.props.rightImage) {\n return (\n <TouchableOpacity onPress={this.props.onPressRight} activeOpacity={0.6}>\n <View style={styles.headerContentIcon}>\n <Image source={{ uri: this.props.rightImage }} style={styles.rightImage} resizeMode=\"contain\" />\n </View>\n </TouchableOpacity>\n );\n }\n return null;\n }\n return (\n <TouchableOpacity onPress={this.props.onPressRight} activeOpacity={0.6}>\n {this.props.rightIconType && this.props.rightIconType === 'pluss' ? (\n <View style={styles.headerContentIcon}>\n <Pl60Icon name={this.props.rightIcon} style={[styles.rightIcon, this.getTextColourStyle(), this.props.rightIconStyle]} />\n </View>\n ) : (\n <Icon\n name={this.props.rightIcon}\n style={styles.headerContentIcon}\n type={this.props.rightIconType ? this.props.rightIconType : 'font-awesome'}\n iconStyle={[styles.rightIcon, this.getTextColourStyle(), this.props.rightIconStyle]}\n />\n )}\n </TouchableOpacity>\n );\n }\n\n render() {\n if (this.props.animatedHeader) {\n return (\n <Animated.View\n style={[\n styles.container,\n !this.props.noShadow && styles.containerShadow,\n this.props.transparent && styles.transparentContainer,\n this.props.style,\n { backgroundColor: this.props.headerColourOffset, elevation: this.props.headerElev, shadowColor: this.props.headerShadow },\n ]}\n >\n {this.renderBackground()}\n <StatusBar barStyle={this.state.barStyle} translucent />\n <View style={styles.headerContent}>\n {this.renderLeftIcon()}\n {this.renderHeaderText()}\n {this.renderRightIcon()}\n {this.props.children}\n </View>\n {this.props.extraHeaderContent}\n </Animated.View>\n );\n }\n return (\n <View\n style={[\n styles.container,\n !this.props.noShadow && styles.containerShadow,\n this.props.transparent && styles.transparentContainer,\n this.props.lineSeparated && styles.lineSeparated,\n this.props.popupHeader && styles.popupHeader,\n this.props.style,\n this.props.colourBrandingHeader && { backgroundColor: this.props.colourBrandingHeader },\n ]}\n >\n <View\n style={[\n styles.contentContainer,\n this.props.popupHeader && styles.popupContentContainer,\n this.props.contentContainerStyle,\n this.props.colourBrandingHeader && { backgroundColor: this.props.colourBrandingHeader },\n ]}\n >\n {this.renderBackground()}\n <StatusBar barStyle={this.state.barStyle} translucent />\n <View style={[styles.headerContent, this.props.popupHeader && styles.headerContentPopup]}>\n {this.renderLeftIcon()}\n {this.renderHeaderText()}\n {this.renderRightIcon()}\n {this.props.children}\n </View>\n </View>\n {this.props.extraHeaderContent}\n </View>\n );\n }\n}\n\nconst styles = {\n container: {\n alignSelf: 'stretch',\n backgroundColor: '#fff',\n zIndex: 10,\n },\n containerShadow: {\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 1,\n },\n shadowOpacity: 0.1,\n shadowRadius: 6,\n elevation: 3,\n },\n lineSeparated: {\n borderBottomWidth: 1,\n borderColor: LINEGREY,\n shadowOpacity: 0,\n elevation: 0,\n },\n popupHeader: {\n borderBottomWidth: 1,\n borderColor: LINEGREY,\n shadowOpacity: 0,\n elevation: 0,\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n },\n contentContainer: {\n height: StatusBarHeight(70),\n alignSelf: 'stretch',\n flexDirection: 'row',\n },\n popupContentContainer: {\n height: 70,\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n },\n transparentContainer: {\n backgroundColor: COLOUR_TRANSPARENT,\n shadowColor: COLOUR_TRANSPARENT,\n elevation: 0,\n },\n thumbnailStyle: {\n height: StatusBarHeight(70),\n width: null,\n position: 'absolute',\n top: 0,\n left: 0,\n resizeMode: 'cover',\n },\n thumbnailPopupHeader: {\n height: 70,\n width: '100%',\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n overflow: 'hidden',\n },\n headerContent: {\n alignSelf: 'stretch',\n flexDirection: 'row',\n flex: 1,\n paddingTop: StatusBarHeight(0),\n },\n headerContentPopup: {\n paddingTop: 0,\n },\n headerContentIcon: {\n height: 70,\n width: 55,\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n absoluteRight: {\n height: 70,\n justifyContent: 'center',\n position: 'absolute',\n right: 0,\n top: StatusBarHeight(0),\n },\n leftIcon: {\n fontSize: 25,\n padding: 15,\n width: 55,\n textAlign: 'center',\n color: TEXT_LIGHT,\n },\n headerTextContainer: {\n height: 70,\n flex: 1,\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n headerText: {\n fontSize: 16,\n flex: 1,\n fontFamily: 'sf-semibold',\n color: TEXT_DARK,\n textAlign: 'center',\n backgroundColor: 'rgba(255,255,255,0)',\n },\n buttonText: {\n fontSize: 15,\n fontFamily: 'sf-regular',\n width: 80,\n backgroundColor: 'rgba(255,255,255,0)',\n },\n rightIcon: {\n fontSize: 25,\n padding: 15,\n width: 55,\n textAlign: 'center',\n color: TEXT_LIGHT,\n },\n rightImage: {\n width: 24,\n height: 24,\n marginRight: 15,\n marginLeft: 13,\n },\n counter: {\n top: 15,\n right: 5,\n borderRadius: 10,\n position: 'absolute',\n height: 20,\n minWidth: 20,\n backgroundColor: COLOUR_GREEN,\n justifyContent: 'center',\n },\n counterText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-bold',\n fontSize: 10,\n lineHeight: 12,\n backgroundColor: 'transparent',\n },\n smallCounter: {\n width: 5,\n height: 5,\n minWidth: 5,\n top: 20,\n right: 10,\n },\n headerPattern: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n width: '100%',\n height: '100%',\n resizeMode: 'cover',\n },\n};\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n headerType: getSiteSettingFromState(\n state,\n 'HeaderType',\n getSiteSettingFromState(state, 'UseGradientHeader', Config.env.hasGradientHeader) ? 'gradient' : 'white',\n ),\n headerPattern: getSiteSettingFromState(state, 'HeaderPattern'),\n patternColour: getSiteSettingFromState(state, 'PatternColour'),\n };\n};\n\nexport default connect(mapStateToProps, {})(Header);\n"]}