@plusscommunities/pluss-core-app 4.0.4-auth.0 → 6.0.0-auth.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 (195) 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 +86 -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 +12 -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/stringActions.js +30 -0
  34. package/dist/module/apis/stringActions.js.map +1 -0
  35. package/dist/module/apis/typeActions.js +15 -0
  36. package/dist/module/apis/typeActions.js.map +1 -0
  37. package/dist/module/apis/userActions.js +104 -0
  38. package/dist/module/apis/userActions.js.map +1 -0
  39. package/dist/module/assets/icons/reactions/heart.png +0 -0
  40. package/dist/module/assets/icons/reactions/party.png +0 -0
  41. package/dist/module/assets/icons/reactions/sad.png +0 -0
  42. package/dist/module/assets/icons/reactions/smile.png +0 -0
  43. package/dist/module/colours.js +168 -0
  44. package/dist/module/colours.js.map +1 -0
  45. package/dist/module/components/AddButton.js +43 -0
  46. package/dist/module/components/AddButton.js.map +1 -0
  47. package/dist/module/components/AddToCalendarButton.js +225 -0
  48. package/dist/module/components/AddToCalendarButton.js.map +1 -0
  49. package/dist/module/components/Attachment.js +54 -0
  50. package/dist/module/components/Attachment.js.map +1 -0
  51. package/dist/module/components/AudienceSelectorLauncher.js +64 -0
  52. package/dist/module/components/AudienceSelectorLauncher.js.map +1 -0
  53. package/dist/module/components/AudienceSelectorPage.js +350 -0
  54. package/dist/module/components/AudienceSelectorPage.js.map +1 -0
  55. package/dist/module/components/AutoOffsetImage.js +186 -0
  56. package/dist/module/components/AutoOffsetImage.js.map +1 -0
  57. package/dist/module/components/BackButton.js +58 -0
  58. package/dist/module/components/BackButton.js.map +1 -0
  59. package/dist/module/components/CategoryTabs.js +154 -0
  60. package/dist/module/components/CategoryTabs.js.map +1 -0
  61. package/dist/module/components/CommentReply.js +328 -0
  62. package/dist/module/components/CommentReply.js.map +1 -0
  63. package/dist/module/components/CommentSection.js +822 -0
  64. package/dist/module/components/CommentSection.js.map +1 -0
  65. package/dist/module/components/ConfirmPopup.js +108 -0
  66. package/dist/module/components/ConfirmPopup.js.map +1 -0
  67. package/dist/module/components/ConfirmationPopup.js +72 -0
  68. package/dist/module/components/ConfirmationPopup.js.map +1 -0
  69. package/dist/module/components/DropDownItem.js +74 -0
  70. package/dist/module/components/DropDownItem.js.map +1 -0
  71. package/dist/module/components/DropDownMenu.js +41 -0
  72. package/dist/module/components/DropDownMenu.js.map +1 -0
  73. package/dist/module/components/EmptyStateMain.js +50 -0
  74. package/dist/module/components/EmptyStateMain.js.map +1 -0
  75. package/dist/module/components/EmptyStateWidget.js +47 -0
  76. package/dist/module/components/EmptyStateWidget.js.map +1 -0
  77. package/dist/module/components/FontScaleButton.js +36 -0
  78. package/dist/module/components/FontScaleButton.js.map +1 -0
  79. package/dist/module/components/FontScalePopup.js +75 -0
  80. package/dist/module/components/FontScalePopup.js.map +1 -0
  81. package/dist/module/components/FormCard.js +25 -0
  82. package/dist/module/components/FormCard.js.map +1 -0
  83. package/dist/module/components/FormCardSection.js +212 -0
  84. package/dist/module/components/FormCardSection.js.map +1 -0
  85. package/dist/module/components/FormCardSectionOptionLauncher.js +72 -0
  86. package/dist/module/components/FormCardSectionOptionLauncher.js.map +1 -0
  87. package/dist/module/components/FormattedText.js +131 -0
  88. package/dist/module/components/FormattedText.js.map +1 -0
  89. package/dist/module/components/GenericInput.js +148 -0
  90. package/dist/module/components/GenericInput.js.map +1 -0
  91. package/dist/module/components/GenericInputSection.js +158 -0
  92. package/dist/module/components/GenericInputSection.js.map +1 -0
  93. package/dist/module/components/Header.js +458 -0
  94. package/dist/module/components/Header.js.map +1 -0
  95. package/dist/module/components/ImagePopup.js +240 -0
  96. package/dist/module/components/ImagePopup.js.map +1 -0
  97. package/dist/module/components/ImageUploadProgress.js +68 -0
  98. package/dist/module/components/ImageUploadProgress.js.map +1 -0
  99. package/dist/module/components/ImageUploader.js +795 -0
  100. package/dist/module/components/ImageUploader.js.map +1 -0
  101. package/dist/module/components/InlineButton.js +65 -0
  102. package/dist/module/components/InlineButton.js.map +1 -0
  103. package/dist/module/components/Input.js +154 -0
  104. package/dist/module/components/Input.js.map +1 -0
  105. package/dist/module/components/LoadingCircles.js +220 -0
  106. package/dist/module/components/LoadingCircles.js.map +1 -0
  107. package/dist/module/components/LoadingIndicator.js +86 -0
  108. package/dist/module/components/LoadingIndicator.js.map +1 -0
  109. package/dist/module/components/LoadingStateWidget.js +46 -0
  110. package/dist/module/components/LoadingStateWidget.js.map +1 -0
  111. package/dist/module/components/MediaPlayer.js +418 -0
  112. package/dist/module/components/MediaPlayer.js.map +1 -0
  113. package/dist/module/components/MiddlePopup.js +43 -0
  114. package/dist/module/components/MiddlePopup.js.map +1 -0
  115. package/dist/module/components/PDFPopup.js +191 -0
  116. package/dist/module/components/PDFPopup.js.map +1 -0
  117. package/dist/module/components/PlussChat.js +986 -0
  118. package/dist/module/components/PlussChat.js.map +1 -0
  119. package/dist/module/components/PlussChatMessage.js +262 -0
  120. package/dist/module/components/PlussChatMessage.js.map +1 -0
  121. package/dist/module/components/PlussChatTime.js +58 -0
  122. package/dist/module/components/PlussChatTime.js.map +1 -0
  123. package/dist/module/components/Popup.js +125 -0
  124. package/dist/module/components/Popup.js.map +1 -0
  125. package/dist/module/components/PopupMenu.js +119 -0
  126. package/dist/module/components/PopupMenu.js.map +1 -0
  127. package/dist/module/components/PositionedImage.js +313 -0
  128. package/dist/module/components/PositionedImage.js.map +1 -0
  129. package/dist/module/components/ProfilePic.js +106 -0
  130. package/dist/module/components/ProfilePic.js.map +1 -0
  131. package/dist/module/components/RadioButton.js +77 -0
  132. package/dist/module/components/RadioButton.js.map +1 -0
  133. package/dist/module/components/Reaction.js +116 -0
  134. package/dist/module/components/Reaction.js.map +1 -0
  135. package/dist/module/components/Reactions.js +71 -0
  136. package/dist/module/components/Reactions.js.map +1 -0
  137. package/dist/module/components/SharingTools.js +154 -0
  138. package/dist/module/components/SharingTools.js.map +1 -0
  139. package/dist/module/components/Spinner.js +22 -0
  140. package/dist/module/components/Spinner.js.map +1 -0
  141. package/dist/module/components/StickyFooter.js +34 -0
  142. package/dist/module/components/StickyFooter.js.map +1 -0
  143. package/dist/module/components/TextStyle.js +45 -0
  144. package/dist/module/components/TextStyle.js.map +1 -0
  145. package/dist/module/components/Toggle.js +65 -0
  146. package/dist/module/components/Toggle.js.map +1 -0
  147. package/dist/module/components/TouchableSearchBar.js +67 -0
  148. package/dist/module/components/TouchableSearchBar.js.map +1 -0
  149. package/dist/module/components/UserListPopup.js +135 -0
  150. package/dist/module/components/UserListPopup.js.map +1 -0
  151. package/dist/module/components/UserListing.js +267 -0
  152. package/dist/module/components/UserListing.js.map +1 -0
  153. package/dist/module/components/VideoPopup.js +113 -0
  154. package/dist/module/components/VideoPopup.js.map +1 -0
  155. package/dist/module/components/WarningPopup.js +82 -0
  156. package/dist/module/components/WarningPopup.js.map +1 -0
  157. package/dist/module/components/expo-image-picker-multiple/ImageBrowser.js +289 -0
  158. package/dist/module/components/expo-image-picker-multiple/ImageBrowser.js.map +1 -0
  159. package/dist/module/components/expo-image-picker-multiple/ImageTile.js +116 -0
  160. package/dist/module/components/expo-image-picker-multiple/ImageTile.js.map +1 -0
  161. package/dist/module/components/index.js +55 -0
  162. package/dist/module/components/index.js.map +1 -0
  163. package/dist/module/components/react-native-expo-image-cropper/ExpoImageManipulator.js +385 -0
  164. package/dist/module/components/react-native-expo-image-cropper/ExpoImageManipulator.js.map +1 -0
  165. package/dist/module/components/react-native-expo-image-cropper/ImageCropOverlay.js +387 -0
  166. package/dist/module/components/react-native-expo-image-cropper/ImageCropOverlay.js.map +1 -0
  167. package/dist/module/config.js +32 -0
  168. package/dist/module/config.js.map +1 -0
  169. package/dist/module/constants.js +19 -0
  170. package/dist/module/constants.js.map +1 -0
  171. package/dist/module/fonts/index.js +2 -0
  172. package/dist/module/fonts/index.js.map +1 -0
  173. package/dist/module/fonts/pluss60-icons.js +5 -0
  174. package/dist/module/fonts/pluss60-icons.js.map +1 -0
  175. package/dist/module/fonts/pluss60-icons.json +1097 -0
  176. package/dist/module/helper.js +397 -0
  177. package/dist/module/helper.js.map +1 -0
  178. package/dist/module/index.js +13 -0
  179. package/dist/module/index.js.map +1 -0
  180. package/dist/module/js/images/detectFaces.js +30 -0
  181. package/dist/module/js/images/detectFaces.js.map +1 -0
  182. package/dist/module/js/images/findLandmarkRange.js +93 -0
  183. package/dist/module/js/images/findLandmarkRange.js.map +1 -0
  184. package/dist/module/js/images/getScaledOffset.js +81 -0
  185. package/dist/module/js/images/getScaledOffset.js.map +1 -0
  186. package/dist/module/js/site/getSiteLevelFromState.js +29 -0
  187. package/dist/module/js/site/getSiteLevelFromState.js.map +1 -0
  188. package/dist/module/js/site/isTVEnabled.js +10 -0
  189. package/dist/module/js/site/isTVEnabled.js.map +1 -0
  190. package/dist/module/session.js +58 -0
  191. package/dist/module/session.js.map +1 -0
  192. package/dist/module/styles.js +67 -0
  193. package/dist/module/styles.js.map +1 -0
  194. package/package.json +20 -24
  195. package/src/js/images/detectFaces.js +8 -4
@@ -0,0 +1,148 @@
1
+ import React, { Component } from 'react';
2
+ import _ from 'lodash';
3
+ import { TextInput, View, TouchableWithoutFeedback } from 'react-native';
4
+ import { Icon } from 'react-native-elements';
5
+ import { TEXT_LIGHT, TEXT_DARK, TEXT_DARKEST } from '../colours';
6
+ import { Pl60Icon } from '../fonts';
7
+ class GenericInput extends Component {
8
+ constructor(props) {
9
+ super(props);
10
+ this.state = {
11
+ showSecureText: false
12
+ };
13
+ }
14
+ blur() {
15
+ this.refs.input.blur();
16
+ }
17
+ toggleSecureText() {
18
+ this.setState({
19
+ showSecureText: !this.state.showSecureText
20
+ });
21
+ }
22
+ renderLeftIcon() {
23
+ if (!this.props.icon) {
24
+ return null;
25
+ }
26
+ if (this.props.iconType && this.props.iconType === 'pl60') {
27
+ return /*#__PURE__*/React.createElement(Pl60Icon, {
28
+ name: this.props.icon,
29
+ style: styles.searchIcon
30
+ });
31
+ }
32
+ return /*#__PURE__*/React.createElement(Icon, {
33
+ type: "font-awesome",
34
+ name: this.props.icon,
35
+ iconStyle: styles.searchIcon
36
+ });
37
+ }
38
+ renderRightIcon() {
39
+ if (this.props.secureTextEntry) {
40
+ return /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
41
+ onPress: this.toggleSecureText.bind(this)
42
+ }, /*#__PURE__*/React.createElement(Pl60Icon, {
43
+ name: this.state.showSecureText ? 'hide' : 'show',
44
+ style: [styles.clearIcon, styles.secureIcon]
45
+ }));
46
+ }
47
+ if (this.props.rightIcon) {
48
+ if (this.props.rightIconAction) {
49
+ return /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
50
+ onPress: this.props.rightIconAction
51
+ }, /*#__PURE__*/React.createElement(Icon, {
52
+ type: "font-awesome",
53
+ name: this.props.rightIcon,
54
+ iconStyle: styles.clearIcon
55
+ }));
56
+ }
57
+ return /*#__PURE__*/React.createElement(Icon, {
58
+ type: "font-awesome",
59
+ name: this.props.rightIcon,
60
+ iconStyle: styles.clearIcon
61
+ });
62
+ }
63
+ if (this.props.hasClear && !_.isEmpty(this.props.value)) {
64
+ return /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
65
+ onPress: () => {
66
+ this.props.onChangeText('');
67
+ }
68
+ }, /*#__PURE__*/React.createElement(Pl60Icon, {
69
+ name: "clear",
70
+ style: styles.clearIcon
71
+ }));
72
+ }
73
+ return null;
74
+ }
75
+ render() {
76
+ return /*#__PURE__*/React.createElement(View, {
77
+ style: [styles.searchInputContainer, this.props.squaredCorners && styles.squaredSearchInputContainer, this.props.autoGrow ? {
78
+ paddingVertical: 8,
79
+ minHeight: 40
80
+ } : {
81
+ height: 36
82
+ }, this.props.containerStyle]
83
+ }, this.renderLeftIcon(), /*#__PURE__*/React.createElement(TextInput, {
84
+ ref: "input",
85
+ placeholder: this.props.placeholder,
86
+ placeholderTextColor: TEXT_LIGHT,
87
+ autoCorrect: this.props.autoCorrect != null ? this.props.autoCorrect : false,
88
+ autoFocus: this.props.autoFocus != null ? this.props.autoFocus : false,
89
+ autoGrow: this.props.autoGrow != null ? this.props.autoGrow : false,
90
+ multiline: this.props.multiline != null ? this.props.multiline : false,
91
+ style: [styles.searchText, this.props.style, {
92
+ textAlignVertical: this.props.multiline ? 'top' : 'center'
93
+ }, this.props.minHeight && {
94
+ minHeight: this.props.minHeight
95
+ }],
96
+ value: this.props.value,
97
+ onChangeText: this.props.onChangeText,
98
+ keyboardType: this.props.keyboardType,
99
+ returnKeyType: this.props.returnKeyType,
100
+ selectionColor: TEXT_DARK,
101
+ underlineColorAndroid: "rgba(0,0,0,0)",
102
+ editable: this.props.editable != null ? this.props.editable : true,
103
+ autoCapitalize: this.props.autoCapitalize || 'none',
104
+ onKeyPress: this.props.onKeyPress,
105
+ onSubmitEditing: this.props.onSubmitEditing,
106
+ onFocus: this.props.onFocus,
107
+ onBlur: this.props.onBlur,
108
+ secureTextEntry: this.props.secureTextEntry && !this.state.showSecureText
109
+ }), this.renderRightIcon());
110
+ }
111
+ }
112
+ const styles = {
113
+ searchInputContainer: {
114
+ flex: 1,
115
+ borderRadius: 25,
116
+ backgroundColor: '#ebeff2',
117
+ alignItems: 'center',
118
+ flexDirection: 'row',
119
+ paddingHorizontal: 16
120
+ },
121
+ squaredSearchInputContainer: {
122
+ borderRadius: 5,
123
+ paddingHorizontal: 8
124
+ },
125
+ searchIcon: {
126
+ fontSize: 14,
127
+ color: TEXT_LIGHT,
128
+ marginRight: 8
129
+ },
130
+ clearIcon: {
131
+ fontSize: 14,
132
+ color: TEXT_LIGHT,
133
+ marginLeft: 8,
134
+ marginTop: 8,
135
+ marginBottom: 8
136
+ },
137
+ secureIcon: {
138
+ fontSize: 20
139
+ },
140
+ searchText: {
141
+ color: TEXT_DARKEST,
142
+ fontFamily: 'sf-regular',
143
+ fontSize: 16,
144
+ flex: 1
145
+ }
146
+ };
147
+ export { GenericInput };
148
+ //# sourceMappingURL=GenericInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Component","_","TextInput","View","TouchableWithoutFeedback","Icon","TEXT_LIGHT","TEXT_DARK","TEXT_DARKEST","Pl60Icon","GenericInput","constructor","props","state","showSecureText","blur","refs","input","toggleSecureText","setState","renderLeftIcon","icon","iconType","createElement","name","style","styles","searchIcon","type","iconStyle","renderRightIcon","secureTextEntry","onPress","bind","clearIcon","secureIcon","rightIcon","rightIconAction","hasClear","isEmpty","value","onChangeText","render","searchInputContainer","squaredCorners","squaredSearchInputContainer","autoGrow","paddingVertical","minHeight","height","containerStyle","ref","placeholder","placeholderTextColor","autoCorrect","autoFocus","multiline","searchText","textAlignVertical","keyboardType","returnKeyType","selectionColor","underlineColorAndroid","editable","autoCapitalize","onKeyPress","onSubmitEditing","onFocus","onBlur","flex","borderRadius","backgroundColor","alignItems","flexDirection","paddingHorizontal","fontSize","color","marginRight","marginLeft","marginTop","marginBottom","fontFamily"],"sources":["GenericInput.js"],"sourcesContent":["import React, { Component } from 'react';\nimport _ from 'lodash';\nimport { TextInput, View, TouchableWithoutFeedback } from 'react-native';\nimport { Icon } from 'react-native-elements';\nimport { TEXT_LIGHT, TEXT_DARK, TEXT_DARKEST } from '../colours';\nimport { Pl60Icon } from '../fonts';\n\nclass GenericInput extends Component {\n constructor(props) {\n super(props);\n this.state = {\n showSecureText: false,\n };\n }\n\n blur() {\n this.refs.input.blur();\n }\n\n toggleSecureText() {\n this.setState({\n showSecureText: !this.state.showSecureText,\n });\n }\n\n renderLeftIcon() {\n if (!this.props.icon) {\n return null;\n }\n if (this.props.iconType && this.props.iconType === 'pl60') {\n return <Pl60Icon name={this.props.icon} style={styles.searchIcon} />;\n }\n return <Icon type=\"font-awesome\" name={this.props.icon} iconStyle={styles.searchIcon} />;\n }\n\n renderRightIcon() {\n if (this.props.secureTextEntry) {\n return (\n <TouchableWithoutFeedback onPress={this.toggleSecureText.bind(this)}>\n <Pl60Icon name={this.state.showSecureText ? 'hide' : 'show'} style={[styles.clearIcon, styles.secureIcon]} />\n </TouchableWithoutFeedback>\n );\n }\n if (this.props.rightIcon) {\n if (this.props.rightIconAction) {\n return (\n <TouchableWithoutFeedback onPress={this.props.rightIconAction}>\n <Icon type=\"font-awesome\" name={this.props.rightIcon} iconStyle={styles.clearIcon} />\n </TouchableWithoutFeedback>\n );\n }\n return <Icon type=\"font-awesome\" name={this.props.rightIcon} iconStyle={styles.clearIcon} />;\n }\n if (this.props.hasClear && !_.isEmpty(this.props.value)) {\n return (\n <TouchableWithoutFeedback\n onPress={() => {\n this.props.onChangeText('');\n }}\n >\n <Pl60Icon name=\"clear\" style={styles.clearIcon} />\n </TouchableWithoutFeedback>\n );\n }\n return null;\n }\n\n render() {\n return (\n <View\n style={[\n styles.searchInputContainer,\n this.props.squaredCorners && styles.squaredSearchInputContainer,\n this.props.autoGrow ? { paddingVertical: 8, minHeight: 40 } : { height: 36 },\n this.props.containerStyle,\n ]}\n >\n {this.renderLeftIcon()}\n <TextInput\n ref=\"input\"\n placeholder={this.props.placeholder}\n placeholderTextColor={TEXT_LIGHT}\n autoCorrect={this.props.autoCorrect != null ? this.props.autoCorrect : false}\n autoFocus={this.props.autoFocus != null ? this.props.autoFocus : false}\n autoGrow={this.props.autoGrow != null ? this.props.autoGrow : false}\n multiline={this.props.multiline != null ? this.props.multiline : false}\n style={[\n styles.searchText,\n this.props.style,\n { textAlignVertical: this.props.multiline ? 'top' : 'center' },\n this.props.minHeight && { minHeight: this.props.minHeight },\n ]}\n value={this.props.value}\n onChangeText={this.props.onChangeText}\n keyboardType={this.props.keyboardType}\n returnKeyType={this.props.returnKeyType}\n selectionColor={TEXT_DARK}\n underlineColorAndroid=\"rgba(0,0,0,0)\"\n editable={this.props.editable != null ? this.props.editable : true}\n autoCapitalize={this.props.autoCapitalize || 'none'}\n onKeyPress={this.props.onKeyPress}\n onSubmitEditing={this.props.onSubmitEditing}\n onFocus={this.props.onFocus}\n onBlur={this.props.onBlur}\n secureTextEntry={this.props.secureTextEntry && !this.state.showSecureText}\n />\n {this.renderRightIcon()}\n </View>\n );\n }\n}\n\nconst styles = {\n searchInputContainer: {\n flex: 1,\n borderRadius: 25,\n backgroundColor: '#ebeff2',\n alignItems: 'center',\n flexDirection: 'row',\n paddingHorizontal: 16,\n },\n squaredSearchInputContainer: {\n borderRadius: 5,\n paddingHorizontal: 8,\n },\n searchIcon: {\n fontSize: 14,\n color: TEXT_LIGHT,\n marginRight: 8,\n },\n clearIcon: {\n fontSize: 14,\n color: TEXT_LIGHT,\n marginLeft: 8,\n marginTop: 8,\n marginBottom: 8,\n },\n secureIcon: {\n fontSize: 20,\n },\n searchText: {\n color: TEXT_DARKEST,\n fontFamily: 'sf-regular',\n fontSize: 16,\n flex: 1,\n },\n};\n\nexport { GenericInput };\n"],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+ import React, { PureComponent } from 'react';
3
+ import { View, Text, TouchableOpacity } from 'react-native';
4
+ import { Icon } from 'react-native-elements';
5
+ import { connect } from 'react-redux';
6
+ import { GenericInput } from './GenericInput';
7
+ import { TEXT_DARKEST, COLOUR_GREEN, COLOUR_GRAPEFRUIT, getMainBrandingColourFromState } from '../colours';
8
+ import { RadioButton } from './RadioButton';
9
+ class GenericInputSection extends PureComponent {
10
+ renderValidationDot() {
11
+ if (!this.props.required) {
12
+ return null;
13
+ }
14
+ return /*#__PURE__*/React.createElement(View, {
15
+ style: [styles.validatorDot, this.props.isValid() ? styles.validatorTrue : styles.validatorFalse]
16
+ });
17
+ }
18
+ renderLabel() {
19
+ if (!this.props.label) {
20
+ return null;
21
+ }
22
+ return /*#__PURE__*/React.createElement(View, {
23
+ style: styles.labelContainer
24
+ }, /*#__PURE__*/React.createElement(Text, {
25
+ style: [styles.labelText, this.props.labelStyle]
26
+ }, this.props.label), this.renderValidationDot());
27
+ }
28
+ renderRadioOption(label, value, isActive, onChange, style) {
29
+ return /*#__PURE__*/React.createElement(TouchableOpacity, {
30
+ onPress: () => onChange(value),
31
+ key: label,
32
+ style: [styles.radioOption, style],
33
+ hitSlop: {
34
+ top: 8,
35
+ left: 8,
36
+ bottom: 8,
37
+ right: 8
38
+ }
39
+ }, /*#__PURE__*/React.createElement(RadioButton, {
40
+ onPress: () => onChange(value),
41
+ isActive: isActive,
42
+ iconSize: 22,
43
+ style: styles.radioOptionButton
44
+ }), /*#__PURE__*/React.createElement(Text, {
45
+ style: styles.radioOptionText
46
+ }, label));
47
+ }
48
+ renderInput() {
49
+ if (this.props.children) {
50
+ return this.props.children;
51
+ }
52
+ if (this.props.inputType === 'toggle') {
53
+ return /*#__PURE__*/React.createElement(View, {
54
+ style: styles.radioOptionsContainer
55
+ }, this.renderRadioOption('Yes', true, this.props.value === true, this.props.onChange), this.renderRadioOption('No', false, this.props.value === false, this.props.onChange));
56
+ }
57
+ if (this.props.inputType === 'radio') {
58
+ return /*#__PURE__*/React.createElement(View, null, this.props.options.map(o => {
59
+ return this.renderRadioOption(o.Label, o.Value, this.props.value === o.Value, this.props.onChange, styles.radioOptionVertical);
60
+ }));
61
+ }
62
+ if (this.props.inputType === 'optionSelector') {
63
+ return /*#__PURE__*/React.createElement(TouchableOpacity, {
64
+ onPress: this.props.onPress
65
+ }, /*#__PURE__*/React.createElement(View, {
66
+ style: styles.optionSelector
67
+ }, /*#__PURE__*/React.createElement(Text, {
68
+ style: styles.optionSelectorText
69
+ }, this.props.value), /*#__PURE__*/React.createElement(Icon, {
70
+ name: "angle-right",
71
+ type: "font-awesome",
72
+ iconStyle: [styles.optionSelectorIcon, {
73
+ color: this.props.colourBrandingMain
74
+ }]
75
+ })));
76
+ }
77
+ return /*#__PURE__*/React.createElement(GenericInput, _extends({}, this.props, {
78
+ containerStyle: [styles.input, this.props.containerStyle]
79
+ }));
80
+ }
81
+ render() {
82
+ return /*#__PURE__*/React.createElement(View, {
83
+ style: [styles.container, this.props.sectionStyle]
84
+ }, this.renderLabel(), this.renderInput());
85
+ }
86
+ }
87
+ const styles = {
88
+ container: {},
89
+ labelContainer: {
90
+ flexDirection: 'row',
91
+ alignItems: 'center'
92
+ },
93
+ labelText: {
94
+ fontFamily: 'sf-semibold',
95
+ fontSize: 16,
96
+ color: TEXT_DARKEST
97
+ },
98
+ input: {
99
+ marginTop: 8
100
+ },
101
+ validatorDot: {
102
+ height: 6,
103
+ width: 6,
104
+ borderRadius: 3,
105
+ marginLeft: 8
106
+ },
107
+ validatorTrue: {
108
+ backgroundColor: COLOUR_GREEN
109
+ },
110
+ validatorFalse: {
111
+ backgroundColor: COLOUR_GRAPEFRUIT
112
+ },
113
+ radioOptionsContainer: {
114
+ flexDirection: 'row',
115
+ alignItems: 'center',
116
+ marginTop: 8
117
+ },
118
+ radioOptionVertical: {
119
+ marginTop: 16
120
+ },
121
+ radioOption: {
122
+ flexDirection: 'row',
123
+ alignItems: 'center',
124
+ marginRight: 24
125
+ },
126
+ radioOptionButton: {
127
+ marginRight: 8
128
+ },
129
+ radioOptionText: {
130
+ fontFamily: 'sf-medium',
131
+ fontSize: 14,
132
+ color: TEXT_DARKEST
133
+ },
134
+ optionSelector: {
135
+ marginTop: 8,
136
+ flex: 1,
137
+ height: 36,
138
+ backgroundColor: '#ebeff2',
139
+ alignItems: 'center',
140
+ flexDirection: 'row',
141
+ justifyContent: 'space-between',
142
+ borderRadius: 5,
143
+ paddingHorizontal: 8
144
+ },
145
+ optionSelectorText: {
146
+ color: TEXT_DARKEST,
147
+ fontFamily: 'sf-regular',
148
+ fontSize: 16
149
+ }
150
+ };
151
+ const mapStateToProps = state => {
152
+ return {
153
+ colourBrandingMain: getMainBrandingColourFromState(state)
154
+ };
155
+ };
156
+ const genericInputSection = connect(mapStateToProps, {})(GenericInputSection);
157
+ export { genericInputSection as GenericInputSection };
158
+ //# sourceMappingURL=GenericInputSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","PureComponent","View","Text","TouchableOpacity","Icon","connect","GenericInput","TEXT_DARKEST","COLOUR_GREEN","COLOUR_GRAPEFRUIT","getMainBrandingColourFromState","RadioButton","GenericInputSection","renderValidationDot","props","required","createElement","style","styles","validatorDot","isValid","validatorTrue","validatorFalse","renderLabel","label","labelContainer","labelText","labelStyle","renderRadioOption","value","isActive","onChange","onPress","key","radioOption","hitSlop","top","left","bottom","right","iconSize","radioOptionButton","radioOptionText","renderInput","children","inputType","radioOptionsContainer","options","map","o","Label","Value","radioOptionVertical","optionSelector","optionSelectorText","name","type","iconStyle","optionSelectorIcon","color","colourBrandingMain","_extends","containerStyle","input","render","container","sectionStyle","flexDirection","alignItems","fontFamily","fontSize","marginTop","height","width","borderRadius","marginLeft","backgroundColor","marginRight","flex","justifyContent","paddingHorizontal","mapStateToProps","state","genericInputSection"],"sources":["GenericInputSection.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { View, Text, TouchableOpacity } from 'react-native';\nimport { Icon } from 'react-native-elements';\nimport { connect } from 'react-redux';\nimport { GenericInput } from './GenericInput';\nimport { TEXT_DARKEST, COLOUR_GREEN, COLOUR_GRAPEFRUIT, getMainBrandingColourFromState } from '../colours';\nimport { RadioButton } from './RadioButton';\n\nclass GenericInputSection extends PureComponent {\n renderValidationDot() {\n if (!this.props.required) {\n return null;\n }\n return <View style={[styles.validatorDot, this.props.isValid() ? styles.validatorTrue : styles.validatorFalse]} />;\n }\n\n renderLabel() {\n if (!this.props.label) {\n return null;\n }\n return (\n <View style={styles.labelContainer}>\n <Text style={[styles.labelText, this.props.labelStyle]}>{this.props.label}</Text>\n {this.renderValidationDot()}\n </View>\n );\n }\n\n renderRadioOption(label, value, isActive, onChange, style) {\n return (\n <TouchableOpacity\n onPress={() => onChange(value)}\n key={label}\n style={[styles.radioOption, style]}\n hitSlop={{ top: 8, left: 8, bottom: 8, right: 8 }}\n >\n <RadioButton onPress={() => onChange(value)} isActive={isActive} iconSize={22} style={styles.radioOptionButton} />\n <Text style={styles.radioOptionText}>{label}</Text>\n </TouchableOpacity>\n );\n }\n\n renderInput() {\n if (this.props.children) {\n return this.props.children;\n }\n if (this.props.inputType === 'toggle') {\n return (\n <View style={styles.radioOptionsContainer}>\n {this.renderRadioOption('Yes', true, this.props.value === true, this.props.onChange)}\n {this.renderRadioOption('No', false, this.props.value === false, this.props.onChange)}\n </View>\n );\n }\n if (this.props.inputType === 'radio') {\n return (\n <View>\n {this.props.options.map(o => {\n return this.renderRadioOption(o.Label, o.Value, this.props.value === o.Value, this.props.onChange, styles.radioOptionVertical);\n })}\n </View>\n );\n }\n if (this.props.inputType === 'optionSelector') {\n return (\n <TouchableOpacity onPress={this.props.onPress}>\n <View style={styles.optionSelector}>\n <Text style={styles.optionSelectorText}>{this.props.value}</Text>\n <Icon\n name=\"angle-right\"\n type=\"font-awesome\"\n iconStyle={[styles.optionSelectorIcon, { color: this.props.colourBrandingMain }]}\n />\n </View>\n </TouchableOpacity>\n );\n }\n return <GenericInput {...this.props} containerStyle={[styles.input, this.props.containerStyle]} />;\n }\n\n render() {\n return (\n <View style={[styles.container, this.props.sectionStyle]}>\n {this.renderLabel()}\n {this.renderInput()}\n </View>\n );\n }\n}\n\nconst styles = {\n container: {},\n labelContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n labelText: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: TEXT_DARKEST,\n },\n input: {\n marginTop: 8,\n },\n validatorDot: {\n height: 6,\n width: 6,\n borderRadius: 3,\n marginLeft: 8,\n },\n validatorTrue: {\n backgroundColor: COLOUR_GREEN,\n },\n validatorFalse: {\n backgroundColor: COLOUR_GRAPEFRUIT,\n },\n radioOptionsContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n marginTop: 8,\n },\n radioOptionVertical: {\n marginTop: 16,\n },\n radioOption: {\n flexDirection: 'row',\n alignItems: 'center',\n marginRight: 24,\n },\n radioOptionButton: {\n marginRight: 8,\n },\n radioOptionText: {\n fontFamily: 'sf-medium',\n fontSize: 14,\n color: TEXT_DARKEST,\n },\n optionSelector: {\n marginTop: 8,\n flex: 1,\n height: 36,\n backgroundColor: '#ebeff2',\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n borderRadius: 5,\n paddingHorizontal: 8,\n },\n optionSelectorText: {\n color: TEXT_DARKEST,\n fontFamily: 'sf-regular',\n fontSize: 16,\n },\n};\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n };\n};\n\nconst genericInputSection = connect(mapStateToProps, {})(GenericInputSection);\nexport { genericInputSection as GenericInputSection };\n"],"mappings":"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"}