@plusscommunities/pluss-core-app 8.0.27 → 8.0.28-beta.2
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.
- package/package.json +1 -1
- package/src/components/react-native-expo-image-cropper/ExpoImageManipulator.js +29 -26
- package/dist/module/actions/FollowerActions.js +0 -34
- package/dist/module/actions/FollowerActions.js.map +0 -1
- package/dist/module/actions/MediaActions.js +0 -29
- package/dist/module/actions/MediaActions.js.map +0 -1
- package/dist/module/actions/ResidentActions.js +0 -26
- package/dist/module/actions/ResidentActions.js.map +0 -1
- package/dist/module/actions/UserActions.js +0 -223
- package/dist/module/actions/UserActions.js.map +0 -1
- package/dist/module/actions/UserSettingsActions.js +0 -14
- package/dist/module/actions/UserSettingsActions.js.map +0 -1
- package/dist/module/actions/index.js +0 -6
- package/dist/module/actions/index.js.map +0 -1
- package/dist/module/actions/types.js +0 -17
- package/dist/module/actions/types.js.map +0 -1
- package/dist/module/apis/analyticsActions.js +0 -20
- package/dist/module/apis/analyticsActions.js.map +0 -1
- package/dist/module/apis/contactActions.js +0 -27
- package/dist/module/apis/contactActions.js.map +0 -1
- package/dist/module/apis/eventActions.js +0 -161
- package/dist/module/apis/eventActions.js.map +0 -1
- package/dist/module/apis/fileActions.js +0 -93
- package/dist/module/apis/fileActions.js.map +0 -1
- package/dist/module/apis/followerActions.js +0 -38
- package/dist/module/apis/followerActions.js.map +0 -1
- package/dist/module/apis/index.js +0 -13
- package/dist/module/apis/index.js.map +0 -1
- package/dist/module/apis/notificationActions.js +0 -60
- package/dist/module/apis/notificationActions.js.map +0 -1
- package/dist/module/apis/profileActions.js +0 -14
- package/dist/module/apis/profileActions.js.map +0 -1
- package/dist/module/apis/reactionActions.js +0 -76
- package/dist/module/apis/reactionActions.js.map +0 -1
- package/dist/module/apis/settingActions.js +0 -22
- package/dist/module/apis/settingActions.js.map +0 -1
- package/dist/module/apis/stringActions.js +0 -30
- package/dist/module/apis/stringActions.js.map +0 -1
- package/dist/module/apis/typeActions.js +0 -15
- package/dist/module/apis/typeActions.js.map +0 -1
- package/dist/module/apis/userActions.js +0 -104
- package/dist/module/apis/userActions.js.map +0 -1
- package/dist/module/assets/icons/fontawesome/fa-brands-400.ttf +0 -0
- package/dist/module/assets/icons/fontawesome/fa-light-300.ttf +0 -0
- package/dist/module/assets/icons/fontawesome/fa-regular-400.ttf +0 -0
- package/dist/module/assets/icons/fontawesome/fa-solid-900.ttf +0 -0
- package/dist/module/assets/icons/fontawesome/fa-thin-100.ttf +0 -0
- package/dist/module/assets/icons/fontawesome/fa7-glyphmap.json +0 -4205
- package/dist/module/assets/icons/reactions/heart.png +0 -0
- package/dist/module/assets/icons/reactions/party.png +0 -0
- package/dist/module/assets/icons/reactions/sad.png +0 -0
- package/dist/module/assets/icons/reactions/smile.png +0 -0
- package/dist/module/colours.js +0 -165
- package/dist/module/colours.js.map +0 -1
- package/dist/module/components/AddButton.js +0 -43
- package/dist/module/components/AddButton.js.map +0 -1
- package/dist/module/components/AddToCalendarButton.js +0 -225
- package/dist/module/components/AddToCalendarButton.js.map +0 -1
- package/dist/module/components/Attachment.js +0 -55
- package/dist/module/components/Attachment.js.map +0 -1
- package/dist/module/components/AudienceSelectorLauncher.js +0 -64
- package/dist/module/components/AudienceSelectorLauncher.js.map +0 -1
- package/dist/module/components/AudienceSelectorPage.js +0 -351
- package/dist/module/components/AudienceSelectorPage.js.map +0 -1
- package/dist/module/components/AutoOffsetImage.js +0 -184
- package/dist/module/components/AutoOffsetImage.js.map +0 -1
- package/dist/module/components/BackButton.js +0 -58
- package/dist/module/components/BackButton.js.map +0 -1
- package/dist/module/components/CalendarPopup.js +0 -126
- package/dist/module/components/CalendarPopup.js.map +0 -1
- package/dist/module/components/CategoryTabs.js +0 -155
- package/dist/module/components/CategoryTabs.js.map +0 -1
- package/dist/module/components/CommentReply.js +0 -334
- package/dist/module/components/CommentReply.js.map +0 -1
- package/dist/module/components/CommentSection.js +0 -823
- package/dist/module/components/CommentSection.js.map +0 -1
- package/dist/module/components/ConfirmPopup.js +0 -109
- package/dist/module/components/ConfirmPopup.js.map +0 -1
- package/dist/module/components/ConfirmationPopup.js +0 -72
- package/dist/module/components/ConfirmationPopup.js.map +0 -1
- package/dist/module/components/DocumentUploader.js +0 -253
- package/dist/module/components/DocumentUploader.js.map +0 -1
- package/dist/module/components/DropDownItem.js +0 -75
- package/dist/module/components/DropDownItem.js.map +0 -1
- package/dist/module/components/DropDownMenu.js +0 -41
- package/dist/module/components/DropDownMenu.js.map +0 -1
- package/dist/module/components/EmptyStateMain.js +0 -51
- package/dist/module/components/EmptyStateMain.js.map +0 -1
- package/dist/module/components/EmptyStateWidget.js +0 -48
- package/dist/module/components/EmptyStateWidget.js.map +0 -1
- package/dist/module/components/FontScaleButton.js +0 -37
- package/dist/module/components/FontScaleButton.js.map +0 -1
- package/dist/module/components/FontScalePopup.js +0 -76
- package/dist/module/components/FontScalePopup.js.map +0 -1
- package/dist/module/components/Forbidden.js +0 -58
- package/dist/module/components/Forbidden.js.map +0 -1
- package/dist/module/components/FormCard.js +0 -25
- package/dist/module/components/FormCard.js.map +0 -1
- package/dist/module/components/FormCardSection.js +0 -214
- package/dist/module/components/FormCardSection.js.map +0 -1
- package/dist/module/components/FormCardSectionOptionLauncher.js +0 -73
- package/dist/module/components/FormCardSectionOptionLauncher.js.map +0 -1
- package/dist/module/components/FormattedText.js +0 -133
- package/dist/module/components/FormattedText.js.map +0 -1
- package/dist/module/components/GenericInput.js +0 -151
- package/dist/module/components/GenericInput.js.map +0 -1
- package/dist/module/components/GenericInputSection.js +0 -173
- package/dist/module/components/GenericInputSection.js.map +0 -1
- package/dist/module/components/Header.js +0 -459
- package/dist/module/components/Header.js.map +0 -1
- package/dist/module/components/Icon.js +0 -109
- package/dist/module/components/Icon.js.map +0 -1
- package/dist/module/components/ImagePopup.js +0 -400
- package/dist/module/components/ImagePopup.js.map +0 -1
- package/dist/module/components/ImageUploadProgress.js +0 -69
- package/dist/module/components/ImageUploadProgress.js.map +0 -1
- package/dist/module/components/ImageUploader.js +0 -831
- package/dist/module/components/ImageUploader.js.map +0 -1
- package/dist/module/components/InlineButton.js +0 -66
- package/dist/module/components/InlineButton.js.map +0 -1
- package/dist/module/components/Input.js +0 -156
- package/dist/module/components/Input.js.map +0 -1
- package/dist/module/components/LoadingCircles.js +0 -219
- package/dist/module/components/LoadingCircles.js.map +0 -1
- package/dist/module/components/LoadingIndicator.js +0 -86
- package/dist/module/components/LoadingIndicator.js.map +0 -1
- package/dist/module/components/LoadingStateWidget.js +0 -46
- package/dist/module/components/LoadingStateWidget.js.map +0 -1
- package/dist/module/components/MediaPlayer.js +0 -407
- package/dist/module/components/MediaPlayer.js.map +0 -1
- package/dist/module/components/MiddlePopup.js +0 -49
- package/dist/module/components/MiddlePopup.js.map +0 -1
- package/dist/module/components/PDFPopup.js +0 -203
- package/dist/module/components/PDFPopup.js.map +0 -1
- package/dist/module/components/PlussChat.js +0 -1078
- package/dist/module/components/PlussChat.js.map +0 -1
- package/dist/module/components/PlussChatMessage.js +0 -299
- package/dist/module/components/PlussChatMessage.js.map +0 -1
- package/dist/module/components/PlussChatTime.js +0 -59
- package/dist/module/components/PlussChatTime.js.map +0 -1
- package/dist/module/components/Popup.js +0 -126
- package/dist/module/components/Popup.js.map +0 -1
- package/dist/module/components/PopupMenu.js +0 -120
- package/dist/module/components/PopupMenu.js.map +0 -1
- package/dist/module/components/PositionedImage.js +0 -313
- package/dist/module/components/PositionedImage.js.map +0 -1
- package/dist/module/components/ProfilePic.js +0 -105
- package/dist/module/components/ProfilePic.js.map +0 -1
- package/dist/module/components/RadioButton.js +0 -78
- package/dist/module/components/RadioButton.js.map +0 -1
- package/dist/module/components/Reaction.js +0 -117
- package/dist/module/components/Reaction.js.map +0 -1
- package/dist/module/components/Reactions.js +0 -71
- package/dist/module/components/Reactions.js.map +0 -1
- package/dist/module/components/SharingTools.js +0 -189
- package/dist/module/components/SharingTools.js.map +0 -1
- package/dist/module/components/Spinner.js +0 -22
- package/dist/module/components/Spinner.js.map +0 -1
- package/dist/module/components/StickyFooter.js +0 -34
- package/dist/module/components/StickyFooter.js.map +0 -1
- package/dist/module/components/Text.js +0 -57
- package/dist/module/components/Text.js.map +0 -1
- package/dist/module/components/TickIcon.js +0 -24
- package/dist/module/components/TickIcon.js.map +0 -1
- package/dist/module/components/Toggle.js +0 -66
- package/dist/module/components/Toggle.js.map +0 -1
- package/dist/module/components/TouchableSearchBar.js +0 -68
- package/dist/module/components/TouchableSearchBar.js.map +0 -1
- package/dist/module/components/UserListPopup.js +0 -136
- package/dist/module/components/UserListPopup.js.map +0 -1
- package/dist/module/components/UserListing.js +0 -268
- package/dist/module/components/UserListing.js.map +0 -1
- package/dist/module/components/VideoPopup.js +0 -113
- package/dist/module/components/VideoPopup.js.map +0 -1
- package/dist/module/components/WarningPopup.js +0 -85
- package/dist/module/components/WarningPopup.js.map +0 -1
- package/dist/module/components/expo-image-picker-multiple/ImageBrowser.js +0 -289
- package/dist/module/components/expo-image-picker-multiple/ImageBrowser.js.map +0 -1
- package/dist/module/components/expo-image-picker-multiple/ImageTile.js +0 -117
- package/dist/module/components/expo-image-picker-multiple/ImageTile.js.map +0 -1
- package/dist/module/components/index.js +0 -60
- package/dist/module/components/index.js.map +0 -1
- package/dist/module/components/react-native-expo-image-cropper/ExpoImageManipulator.js +0 -415
- package/dist/module/components/react-native-expo-image-cropper/ExpoImageManipulator.js.map +0 -1
- package/dist/module/components/react-native-expo-image-cropper/ImageCropOverlay.js +0 -387
- package/dist/module/components/react-native-expo-image-cropper/ImageCropOverlay.js.map +0 -1
- package/dist/module/config.js +0 -27
- package/dist/module/config.js.map +0 -1
- package/dist/module/constants.js +0 -18
- package/dist/module/constants.js.map +0 -1
- package/dist/module/helper.js +0 -424
- package/dist/module/helper.js.map +0 -1
- package/dist/module/index.js +0 -13
- package/dist/module/index.js.map +0 -1
- package/dist/module/js/images/detectFaces.js +0 -31
- package/dist/module/js/images/detectFaces.js.map +0 -1
- package/dist/module/js/images/findLandmarkRange.js +0 -93
- package/dist/module/js/images/findLandmarkRange.js.map +0 -1
- package/dist/module/js/images/getScaledOffset.js +0 -81
- package/dist/module/js/images/getScaledOffset.js.map +0 -1
- package/dist/module/js/site/getSiteLevelFromState.js +0 -29
- package/dist/module/js/site/getSiteLevelFromState.js.map +0 -1
- package/dist/module/js/site/isTVEnabled.js +0 -10
- package/dist/module/js/site/isTVEnabled.js.map +0 -1
- package/dist/module/session.js +0 -58
- package/dist/module/session.js.map +0 -1
- package/dist/module/styles.js +0 -67
- package/dist/module/styles.js.map +0 -1
- package/dist/module/withNavigationFocus.js +0 -30
- package/dist/module/withNavigationFocus.js.map +0 -1
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import React, { Component } from "react";
|
|
2
|
-
import { View, TouchableWithoutFeedback, Modal } from "react-native";
|
|
3
|
-
import { Text } from "./Text";
|
|
4
|
-
import _ from "lodash";
|
|
5
|
-
import { connect } from "react-redux";
|
|
6
|
-
import { LINEGREY, TEXT_DARK, TEXT_LIGHT, getMainBrandingColourFromState } from "../colours";
|
|
7
|
-
import { InlineButton } from "./InlineButton";
|
|
8
|
-
class Popup extends Component {
|
|
9
|
-
renderOptions() {
|
|
10
|
-
if (!this.props.options) {
|
|
11
|
-
return null;
|
|
12
|
-
}
|
|
13
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
14
|
-
style: styles.bottom
|
|
15
|
-
}, _.map(this.props.options, (option, index) => {
|
|
16
|
-
return /*#__PURE__*/React.createElement(InlineButton, {
|
|
17
|
-
key: index,
|
|
18
|
-
onPress: option.action,
|
|
19
|
-
color: "#fff",
|
|
20
|
-
textStyle: [styles.optionText, {
|
|
21
|
-
color: this.props.colourBrandingMain
|
|
22
|
-
}, option.bold && styles.optionTextBold]
|
|
23
|
-
}, option.text);
|
|
24
|
-
}));
|
|
25
|
-
}
|
|
26
|
-
renderTitle() {
|
|
27
|
-
if (!this.props.title) {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
return /*#__PURE__*/React.createElement(Text, {
|
|
31
|
-
style: [styles.title, {
|
|
32
|
-
color: this.props.colourBrandingMain
|
|
33
|
-
}]
|
|
34
|
-
}, this.props.title);
|
|
35
|
-
}
|
|
36
|
-
renderContent() {
|
|
37
|
-
if (this.props.content) {
|
|
38
|
-
return this.props.content;
|
|
39
|
-
}
|
|
40
|
-
if (!this.props.text) {
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
return /*#__PURE__*/React.createElement(Text, {
|
|
44
|
-
style: styles.text
|
|
45
|
-
}, this.props.text);
|
|
46
|
-
}
|
|
47
|
-
render() {
|
|
48
|
-
return /*#__PURE__*/React.createElement(Modal, {
|
|
49
|
-
visible: true,
|
|
50
|
-
transparent: true,
|
|
51
|
-
animationType: "fade",
|
|
52
|
-
onRequestClose: this.props.onClose
|
|
53
|
-
}, /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
|
|
54
|
-
style: styles.container,
|
|
55
|
-
onPress: this.props.onClose
|
|
56
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
57
|
-
style: styles.container
|
|
58
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
59
|
-
style: [styles.menu, this.props.containerStyle]
|
|
60
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
61
|
-
style: styles.top
|
|
62
|
-
}, this.renderTitle(), this.renderContent(), this.props.children), this.renderOptions()))));
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
const styles = {
|
|
66
|
-
container: {
|
|
67
|
-
position: "absolute",
|
|
68
|
-
bottom: 0,
|
|
69
|
-
left: 0,
|
|
70
|
-
right: 0,
|
|
71
|
-
top: 0,
|
|
72
|
-
backgroundColor: "rgba(0,0,0,0.5)",
|
|
73
|
-
zIndex: 1000,
|
|
74
|
-
paddingHorizontal: 16,
|
|
75
|
-
paddingVertical: 32,
|
|
76
|
-
justifyContent: "center",
|
|
77
|
-
alignItems: "center",
|
|
78
|
-
width: "100%"
|
|
79
|
-
},
|
|
80
|
-
menu: {
|
|
81
|
-
backgroundColor: "#fff",
|
|
82
|
-
borderRadius: 12
|
|
83
|
-
},
|
|
84
|
-
top: {
|
|
85
|
-
padding: 24
|
|
86
|
-
},
|
|
87
|
-
title: {
|
|
88
|
-
fontFamily: "sf-bold",
|
|
89
|
-
fontSize: 24,
|
|
90
|
-
lineHeight: 24,
|
|
91
|
-
color: TEXT_DARK,
|
|
92
|
-
textAlign: "center",
|
|
93
|
-
marginBottom: 16
|
|
94
|
-
},
|
|
95
|
-
text: {
|
|
96
|
-
fontFamily: "sf-regular",
|
|
97
|
-
fontSize: 16,
|
|
98
|
-
lineHeight: 22,
|
|
99
|
-
color: TEXT_LIGHT,
|
|
100
|
-
textAlign: "center"
|
|
101
|
-
},
|
|
102
|
-
bottom: {
|
|
103
|
-
borderTopColor: LINEGREY,
|
|
104
|
-
borderTopWidth: 1,
|
|
105
|
-
flexDirection: "row-reverse",
|
|
106
|
-
padding: 8
|
|
107
|
-
},
|
|
108
|
-
option: {
|
|
109
|
-
marginRight: 16
|
|
110
|
-
},
|
|
111
|
-
optionText: {
|
|
112
|
-
fontFamily: "sf-regular",
|
|
113
|
-
fontSize: 16
|
|
114
|
-
},
|
|
115
|
-
optionTextBold: {
|
|
116
|
-
fontFamily: "sf-semibold"
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
const mapStateToProps = state => {
|
|
120
|
-
return {
|
|
121
|
-
colourBrandingMain: getMainBrandingColourFromState(state)
|
|
122
|
-
};
|
|
123
|
-
};
|
|
124
|
-
const popup = connect(mapStateToProps, {})(Popup);
|
|
125
|
-
export { popup as Popup };
|
|
126
|
-
//# sourceMappingURL=Popup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","View","TouchableWithoutFeedback","Modal","Text","_","connect","LINEGREY","TEXT_DARK","TEXT_LIGHT","getMainBrandingColourFromState","InlineButton","Popup","renderOptions","props","options","createElement","style","styles","bottom","map","option","index","key","onPress","action","color","textStyle","optionText","colourBrandingMain","bold","optionTextBold","text","renderTitle","title","renderContent","content","render","visible","transparent","animationType","onRequestClose","onClose","container","menu","containerStyle","top","children","position","left","right","backgroundColor","zIndex","paddingHorizontal","paddingVertical","justifyContent","alignItems","width","borderRadius","padding","fontFamily","fontSize","lineHeight","textAlign","marginBottom","borderTopColor","borderTopWidth","flexDirection","marginRight","mapStateToProps","state","popup"],"sources":["Popup.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { View, TouchableWithoutFeedback, Modal } from \"react-native\";\nimport { Text } from \"./Text\";\nimport _ from \"lodash\";\nimport { connect } from \"react-redux\";\nimport {\n\tLINEGREY,\n\tTEXT_DARK,\n\tTEXT_LIGHT,\n\tgetMainBrandingColourFromState,\n} from \"../colours\";\nimport { InlineButton } from \"./InlineButton\";\n\nclass Popup extends Component {\n\trenderOptions() {\n\t\tif (!this.props.options) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={styles.bottom}>\n\t\t\t\t{_.map(this.props.options, (option, index) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<InlineButton\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\tonPress={option.action}\n\t\t\t\t\t\t\tcolor=\"#fff\"\n\t\t\t\t\t\t\ttextStyle={[\n\t\t\t\t\t\t\t\tstyles.optionText,\n\t\t\t\t\t\t\t\t{ color: this.props.colourBrandingMain },\n\t\t\t\t\t\t\t\toption.bold && styles.optionTextBold,\n\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{option.text}\n\t\t\t\t\t\t</InlineButton>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderTitle() {\n\t\tif (!this.props.title) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<Text style={[styles.title, { color: this.props.colourBrandingMain }]}>\n\t\t\t\t{this.props.title}\n\t\t\t</Text>\n\t\t);\n\t}\n\n\trenderContent() {\n\t\tif (this.props.content) {\n\t\t\treturn this.props.content;\n\t\t}\n\t\tif (!this.props.text) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <Text style={styles.text}>{this.props.text}</Text>;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tvisible\n\t\t\t\ttransparent\n\t\t\t\tanimationType=\"fade\"\n\t\t\t\tonRequestClose={this.props.onClose}\n\t\t\t>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\tstyle={styles.container}\n\t\t\t\t\tonPress={this.props.onClose}\n\t\t\t\t>\n\t\t\t\t\t<View style={styles.container}>\n\t\t\t\t\t\t<View style={[styles.menu, this.props.containerStyle]}>\n\t\t\t\t\t\t\t<View style={styles.top}>\n\t\t\t\t\t\t\t\t{this.renderTitle()}\n\t\t\t\t\t\t\t\t{this.renderContent()}\n\t\t\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t{this.renderOptions()}\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</Modal>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tcontainer: {\n\t\tposition: \"absolute\",\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\ttop: 0,\n\t\tbackgroundColor: \"rgba(0,0,0,0.5)\",\n\t\tzIndex: 1000,\n\t\tpaddingHorizontal: 16,\n\t\tpaddingVertical: 32,\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\twidth: \"100%\",\n\t},\n\tmenu: {\n\t\tbackgroundColor: \"#fff\",\n\t\tborderRadius: 12,\n\t},\n\ttop: {\n\t\tpadding: 24,\n\t},\n\ttitle: {\n\t\tfontFamily: \"sf-bold\",\n\t\tfontSize: 24,\n\t\tlineHeight: 24,\n\t\tcolor: TEXT_DARK,\n\t\ttextAlign: \"center\",\n\t\tmarginBottom: 16,\n\t},\n\ttext: {\n\t\tfontFamily: \"sf-regular\",\n\t\tfontSize: 16,\n\t\tlineHeight: 22,\n\t\tcolor: TEXT_LIGHT,\n\t\ttextAlign: \"center\",\n\t},\n\tbottom: {\n\t\tborderTopColor: LINEGREY,\n\t\tborderTopWidth: 1,\n\t\tflexDirection: \"row-reverse\",\n\t\tpadding: 8,\n\t},\n\toption: {\n\t\tmarginRight: 16,\n\t},\n\toptionText: {\n\t\tfontFamily: \"sf-regular\",\n\t\tfontSize: 16,\n\t},\n\toptionTextBold: {\n\t\tfontFamily: \"sf-semibold\",\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tcolourBrandingMain: getMainBrandingColourFromState(state),\n\t};\n};\n\nconst popup = connect(mapStateToProps, {})(Popup);\nexport { popup as Popup };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import React, { Component } from "react";
|
|
2
|
-
import { Text } from "@plusscommunities/pluss-core-app/components";
|
|
3
|
-
import { View, TouchableWithoutFeedback, TouchableOpacity, Modal } from "react-native";
|
|
4
|
-
import { connect } from "react-redux";
|
|
5
|
-
import _ from "lodash";
|
|
6
|
-
import { getMainBrandingColourFromState, LINEGREY, TEXT_DARK } from "../colours";
|
|
7
|
-
class PopupMenu extends Component {
|
|
8
|
-
renderOption(item, index) {
|
|
9
|
-
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
10
|
-
key: index,
|
|
11
|
-
onPress: item.onPress
|
|
12
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
13
|
-
style: [styles.option, index === 0 && styles.firstOption]
|
|
14
|
-
}, _.isEmpty(item.text) && item.content ? item.content : /*#__PURE__*/React.createElement(Text, {
|
|
15
|
-
style: styles.optionText
|
|
16
|
-
}, item.text)));
|
|
17
|
-
}
|
|
18
|
-
renderOptions() {
|
|
19
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
20
|
-
style: styles.optionsContainer
|
|
21
|
-
}, _.map(this.props.options, (item, index) => {
|
|
22
|
-
return this.renderOption(item, index);
|
|
23
|
-
}));
|
|
24
|
-
}
|
|
25
|
-
renderTitle() {
|
|
26
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
27
|
-
style: styles.titleContainer
|
|
28
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
29
|
-
style: styles.titleText
|
|
30
|
-
}, this.props.title));
|
|
31
|
-
}
|
|
32
|
-
renderCancel() {
|
|
33
|
-
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
34
|
-
onPress: this.props.onClose
|
|
35
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
36
|
-
style: [styles.option, styles.cancelOption]
|
|
37
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
38
|
-
style: [styles.optionText, styles.cancelText, {
|
|
39
|
-
color: this.props.colourBrandingMain
|
|
40
|
-
}]
|
|
41
|
-
}, this.props.cancelText)));
|
|
42
|
-
}
|
|
43
|
-
render() {
|
|
44
|
-
return /*#__PURE__*/React.createElement(Modal, {
|
|
45
|
-
visible: true,
|
|
46
|
-
transparent: true,
|
|
47
|
-
animationType: "slide",
|
|
48
|
-
onRequestClose: this.props.onClose
|
|
49
|
-
}, /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
|
|
50
|
-
style: styles.container,
|
|
51
|
-
onPress: this.props.onClose
|
|
52
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
53
|
-
style: styles.container
|
|
54
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
55
|
-
style: styles.menu
|
|
56
|
-
}, this.renderTitle(), this.renderOptions(), this.renderCancel()))));
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
const styles = {
|
|
60
|
-
container: {
|
|
61
|
-
position: "absolute",
|
|
62
|
-
bottom: 0,
|
|
63
|
-
left: 0,
|
|
64
|
-
right: 0,
|
|
65
|
-
top: 0,
|
|
66
|
-
backgroundColor: "rgba(0,0,0,0.5)",
|
|
67
|
-
zIndex: 1000
|
|
68
|
-
},
|
|
69
|
-
menu: {
|
|
70
|
-
position: "absolute",
|
|
71
|
-
bottom: 0,
|
|
72
|
-
left: 0,
|
|
73
|
-
right: 0,
|
|
74
|
-
backgroundColor: "#fff",
|
|
75
|
-
borderTopLeftRadius: 12,
|
|
76
|
-
borderTopRightRadius: 12
|
|
77
|
-
},
|
|
78
|
-
optionsContainer: {
|
|
79
|
-
paddingHorizontal: 16
|
|
80
|
-
},
|
|
81
|
-
option: {
|
|
82
|
-
paddingVertical: 16,
|
|
83
|
-
borderColor: LINEGREY,
|
|
84
|
-
borderTopWidth: 1
|
|
85
|
-
},
|
|
86
|
-
cancelOption: {
|
|
87
|
-
paddingHorizontal: 16
|
|
88
|
-
},
|
|
89
|
-
firstOption: {
|
|
90
|
-
borderTopWidth: 0
|
|
91
|
-
},
|
|
92
|
-
optionText: {
|
|
93
|
-
fontFamily: "sf-regular",
|
|
94
|
-
fontSize: 16,
|
|
95
|
-
textAlign: "center",
|
|
96
|
-
color: TEXT_DARK
|
|
97
|
-
},
|
|
98
|
-
cancelText: {
|
|
99
|
-
fontFamily: "sf-medium"
|
|
100
|
-
},
|
|
101
|
-
titleContainer: {
|
|
102
|
-
padding: 16,
|
|
103
|
-
borderColor: LINEGREY,
|
|
104
|
-
borderBottomWidth: 1
|
|
105
|
-
},
|
|
106
|
-
titleText: {
|
|
107
|
-
fontFamily: "sf-semibold",
|
|
108
|
-
fontSize: 16,
|
|
109
|
-
textAlign: "center",
|
|
110
|
-
color: TEXT_DARK
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
const mapStateToProps = state => {
|
|
114
|
-
return {
|
|
115
|
-
colourBrandingMain: getMainBrandingColourFromState(state)
|
|
116
|
-
};
|
|
117
|
-
};
|
|
118
|
-
const popupMenu = connect(mapStateToProps, {})(PopupMenu);
|
|
119
|
-
export { popupMenu as PopupMenu };
|
|
120
|
-
//# sourceMappingURL=PopupMenu.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","Text","View","TouchableWithoutFeedback","TouchableOpacity","Modal","connect","_","getMainBrandingColourFromState","LINEGREY","TEXT_DARK","PopupMenu","renderOption","item","index","createElement","key","onPress","style","styles","option","firstOption","isEmpty","text","content","optionText","renderOptions","optionsContainer","map","props","options","renderTitle","titleContainer","titleText","title","renderCancel","onClose","cancelOption","cancelText","color","colourBrandingMain","render","visible","transparent","animationType","onRequestClose","container","menu","position","bottom","left","right","top","backgroundColor","zIndex","borderTopLeftRadius","borderTopRightRadius","paddingHorizontal","paddingVertical","borderColor","borderTopWidth","fontFamily","fontSize","textAlign","padding","borderBottomWidth","mapStateToProps","state","popupMenu"],"sources":["PopupMenu.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { Text } from \"@plusscommunities/pluss-core-app/components\";\nimport {\n\tView,\n\tTouchableWithoutFeedback,\n\tTouchableOpacity,\n\tModal,\n} from \"react-native\";\nimport { connect } from \"react-redux\";\nimport _ from \"lodash\";\nimport {\n\tgetMainBrandingColourFromState,\n\tLINEGREY,\n\tTEXT_DARK,\n} from \"../colours\";\n\nclass PopupMenu extends Component {\n\trenderOption(item, index) {\n\t\treturn (\n\t\t\t<TouchableOpacity key={index} onPress={item.onPress}>\n\t\t\t\t<View style={[styles.option, index === 0 && styles.firstOption]}>\n\t\t\t\t\t{_.isEmpty(item.text) && item.content ? (\n\t\t\t\t\t\titem.content\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Text style={styles.optionText}>{item.text}</Text>\n\t\t\t\t\t)}\n\t\t\t\t</View>\n\t\t\t</TouchableOpacity>\n\t\t);\n\t}\n\n\trenderOptions() {\n\t\treturn (\n\t\t\t<View style={styles.optionsContainer}>\n\t\t\t\t{_.map(this.props.options, (item, index) => {\n\t\t\t\t\treturn this.renderOption(item, index);\n\t\t\t\t})}\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderTitle() {\n\t\treturn (\n\t\t\t<View style={styles.titleContainer}>\n\t\t\t\t<Text style={styles.titleText}>{this.props.title}</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderCancel() {\n\t\treturn (\n\t\t\t<TouchableOpacity onPress={this.props.onClose}>\n\t\t\t\t<View style={[styles.option, styles.cancelOption]}>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\tstyles.optionText,\n\t\t\t\t\t\t\tstyles.cancelText,\n\t\t\t\t\t\t\t{ color: this.props.colourBrandingMain },\n\t\t\t\t\t\t]}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.cancelText}\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableOpacity>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tvisible\n\t\t\t\ttransparent\n\t\t\t\tanimationType=\"slide\"\n\t\t\t\tonRequestClose={this.props.onClose}\n\t\t\t>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\tstyle={styles.container}\n\t\t\t\t\tonPress={this.props.onClose}\n\t\t\t\t>\n\t\t\t\t\t<View style={styles.container}>\n\t\t\t\t\t\t<View style={styles.menu}>\n\t\t\t\t\t\t\t{this.renderTitle()}\n\t\t\t\t\t\t\t{this.renderOptions()}\n\t\t\t\t\t\t\t{this.renderCancel()}\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</Modal>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tcontainer: {\n\t\tposition: \"absolute\",\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\ttop: 0,\n\t\tbackgroundColor: \"rgba(0,0,0,0.5)\",\n\t\tzIndex: 1000,\n\t},\n\tmenu: {\n\t\tposition: \"absolute\",\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\tbackgroundColor: \"#fff\",\n\t\tborderTopLeftRadius: 12,\n\t\tborderTopRightRadius: 12,\n\t},\n\toptionsContainer: {\n\t\tpaddingHorizontal: 16,\n\t},\n\toption: {\n\t\tpaddingVertical: 16,\n\t\tborderColor: LINEGREY,\n\t\tborderTopWidth: 1,\n\t},\n\tcancelOption: {\n\t\tpaddingHorizontal: 16,\n\t},\n\tfirstOption: {\n\t\tborderTopWidth: 0,\n\t},\n\toptionText: {\n\t\tfontFamily: \"sf-regular\",\n\t\tfontSize: 16,\n\t\ttextAlign: \"center\",\n\t\tcolor: TEXT_DARK,\n\t},\n\tcancelText: {\n\t\tfontFamily: \"sf-medium\",\n\t},\n\ttitleContainer: {\n\t\tpadding: 16,\n\t\tborderColor: LINEGREY,\n\t\tborderBottomWidth: 1,\n\t},\n\ttitleText: {\n\t\tfontFamily: \"sf-semibold\",\n\t\tfontSize: 16,\n\t\ttextAlign: \"center\",\n\t\tcolor: TEXT_DARK,\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tcolourBrandingMain: getMainBrandingColourFromState(state),\n\t};\n};\n\nconst popupMenu = connect(mapStateToProps, {})(PopupMenu);\nexport { popupMenu as PopupMenu };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,313 +0,0 @@
|
|
|
1
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
-
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; }
|
|
3
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
4
|
-
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); }
|
|
5
|
-
import React, { Component } from "react";
|
|
6
|
-
import { View, Animated, PanResponder, Image, StyleSheet } from "react-native";
|
|
7
|
-
import { Icon } from "@rneui/themed";
|
|
8
|
-
import { BOXGREY, TEXT_LIGHT } from "../colours";
|
|
9
|
-
class PositionedImage extends Component {
|
|
10
|
-
constructor(props) {
|
|
11
|
-
super(props);
|
|
12
|
-
_defineProperty(this, "calculateDimensions", () => {
|
|
13
|
-
Image.getSize(this.props.source.uri, (imageWidth, imageHeight) => {
|
|
14
|
-
// Default vertical positioning
|
|
15
|
-
const newWidth = this.props.width;
|
|
16
|
-
const newHeight = imageHeight * (this.props.width / imageWidth);
|
|
17
|
-
if (newHeight < this.props.height) {
|
|
18
|
-
// If vertical positioning isn't possible, enable horizontal positioning
|
|
19
|
-
this.setState({
|
|
20
|
-
imageWidth: imageWidth * (this.props.height / imageHeight),
|
|
21
|
-
imageHeight: this.props.height,
|
|
22
|
-
isVertical: false,
|
|
23
|
-
showGuide: this.props.onPositionEnd ? true : false
|
|
24
|
-
}, this.onDimensionAvailable);
|
|
25
|
-
} else {
|
|
26
|
-
this.setState({
|
|
27
|
-
imageWidth: newWidth,
|
|
28
|
-
imageHeight: newHeight,
|
|
29
|
-
isVertical: true,
|
|
30
|
-
showGuide: this.props.onPositionEnd ? true : false
|
|
31
|
-
}, this.onDimensionAvailable);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
_defineProperty(this, "onDimensionAvailable", () => {
|
|
36
|
-
const {
|
|
37
|
-
offset
|
|
38
|
-
} = this.props;
|
|
39
|
-
const {
|
|
40
|
-
imageWidth,
|
|
41
|
-
imageHeight,
|
|
42
|
-
isVertical
|
|
43
|
-
} = this.state;
|
|
44
|
-
if (offset) {
|
|
45
|
-
// Apply percentage offset
|
|
46
|
-
const actual = {
|
|
47
|
-
x: offset.x * imageWidth,
|
|
48
|
-
y: offset.y * imageHeight
|
|
49
|
-
};
|
|
50
|
-
this.imagePosition.setValue(actual);
|
|
51
|
-
} else {
|
|
52
|
-
// Centered by default
|
|
53
|
-
this.imagePosition.setValue({
|
|
54
|
-
x: isVertical ? 0 : -0.5 * imageWidth + 0.5 * this.props.width,
|
|
55
|
-
y: isVertical ? -0.5 * imageHeight + 0.5 * this.props.height : 0
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
if (this.props.onPositionEnd) {
|
|
59
|
-
setTimeout(() => {
|
|
60
|
-
Animated.timing(this.state.animatedOpacity, {
|
|
61
|
-
toValue: 0,
|
|
62
|
-
duration: 900,
|
|
63
|
-
useNativeDriver: false
|
|
64
|
-
}).start(() => {
|
|
65
|
-
this.setState({
|
|
66
|
-
showGuide: false
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
}, 1000);
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
this.lastPos = {
|
|
73
|
-
x: 0,
|
|
74
|
-
y: 0
|
|
75
|
-
};
|
|
76
|
-
this.imagePosition = new Animated.ValueXY(this.lastPos);
|
|
77
|
-
this.imagePosition.addListener(value => {
|
|
78
|
-
this.lastPos = value;
|
|
79
|
-
});
|
|
80
|
-
const imagePanResponder = PanResponder.create({
|
|
81
|
-
onStartShouldSetPanResponder: () => {
|
|
82
|
-
this.startPos = this.lastPos;
|
|
83
|
-
if (this.props.onPositionEnd) {
|
|
84
|
-
if (this.props.onPositionStart) this.props.onPositionStart();
|
|
85
|
-
this.setState({
|
|
86
|
-
panning: true
|
|
87
|
-
});
|
|
88
|
-
return true;
|
|
89
|
-
}
|
|
90
|
-
return false;
|
|
91
|
-
},
|
|
92
|
-
onPanResponderMove: (event, gesture) => {
|
|
93
|
-
const newPos = this.state.isVertical ? {
|
|
94
|
-
x: 0,
|
|
95
|
-
y: this.startPos.y + gesture.dy
|
|
96
|
-
} : {
|
|
97
|
-
x: this.startPos.x + gesture.dx,
|
|
98
|
-
y: 0
|
|
99
|
-
};
|
|
100
|
-
this.imagePosition.setValue(newPos);
|
|
101
|
-
},
|
|
102
|
-
onPanResponderTerminationRequest: (event, gesture) => true,
|
|
103
|
-
onPanResponderRelease: (event, gesture) => {
|
|
104
|
-
let endPos = {
|
|
105
|
-
x: 0,
|
|
106
|
-
y: 0
|
|
107
|
-
};
|
|
108
|
-
if (this.state.isVertical) {
|
|
109
|
-
const endY = this.startPos.y + gesture.dy;
|
|
110
|
-
const limitY = this.props.height - this.state.imageHeight;
|
|
111
|
-
if (endY > 0) {
|
|
112
|
-
// console.log('top reached', endY);
|
|
113
|
-
endPos = {
|
|
114
|
-
x: 0,
|
|
115
|
-
y: 0
|
|
116
|
-
};
|
|
117
|
-
} else if (endY < limitY) {
|
|
118
|
-
// console.log('bottom reached', endY, limitY);
|
|
119
|
-
endPos = {
|
|
120
|
-
x: 0,
|
|
121
|
-
y: limitY
|
|
122
|
-
};
|
|
123
|
-
} else {
|
|
124
|
-
endPos = {
|
|
125
|
-
x: 0,
|
|
126
|
-
y: endY
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
} else {
|
|
130
|
-
const endX = this.startPos.x + gesture.dx;
|
|
131
|
-
const limitX = this.props.width - this.state.imageWidth;
|
|
132
|
-
if (endX > 0) {
|
|
133
|
-
// console.log('left reached', endX);
|
|
134
|
-
endPos = {
|
|
135
|
-
x: 0,
|
|
136
|
-
y: 0
|
|
137
|
-
};
|
|
138
|
-
} else if (endX < limitX) {
|
|
139
|
-
// console.log('right reached', endX, limitX);
|
|
140
|
-
endPos = {
|
|
141
|
-
x: limitX,
|
|
142
|
-
y: 0
|
|
143
|
-
};
|
|
144
|
-
} else {
|
|
145
|
-
endPos = {
|
|
146
|
-
x: endX,
|
|
147
|
-
y: 0
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
Animated.spring(this.imagePosition, {
|
|
152
|
-
toValue: endPos,
|
|
153
|
-
useNativeDriver: false
|
|
154
|
-
}).start();
|
|
155
|
-
if (this.props.onPositionEnd) this.props.onPositionEnd({
|
|
156
|
-
x: endPos.x / this.state.imageWidth,
|
|
157
|
-
y: endPos.y / this.state.imageHeight
|
|
158
|
-
});
|
|
159
|
-
this.setState({
|
|
160
|
-
panning: false
|
|
161
|
-
});
|
|
162
|
-
},
|
|
163
|
-
onPanResponderTerminate: (event, gesture) => {
|
|
164
|
-
this.setState({
|
|
165
|
-
panning: false
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
});
|
|
169
|
-
this.state = {
|
|
170
|
-
imageWidth: 0,
|
|
171
|
-
imageHeight: 0,
|
|
172
|
-
imagePanResponder,
|
|
173
|
-
isVertical: true,
|
|
174
|
-
showGuide: false,
|
|
175
|
-
animatedOpacity: new Animated.Value(1),
|
|
176
|
-
panning: false
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
componentDidMount() {
|
|
180
|
-
this.calculateDimensions();
|
|
181
|
-
}
|
|
182
|
-
componentDidUpdate(prevProps) {
|
|
183
|
-
if (prevProps.source.uri !== this.props.source.uri) {
|
|
184
|
-
// console.log('componentDidUpdate', prevProps.source.uri, this.props.source.uri);
|
|
185
|
-
this.calculateDimensions();
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
renderGrid() {
|
|
189
|
-
if (!this.state.panning) return null;
|
|
190
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
191
|
-
style: styles.gridContainer
|
|
192
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
193
|
-
style: styles.gridHorizontal
|
|
194
|
-
}), /*#__PURE__*/React.createElement(View, {
|
|
195
|
-
style: styles.gridVertical
|
|
196
|
-
}));
|
|
197
|
-
}
|
|
198
|
-
renderGuide() {
|
|
199
|
-
if (!this.state.showGuide) return null;
|
|
200
|
-
const {
|
|
201
|
-
animatedOpacity,
|
|
202
|
-
isVertical
|
|
203
|
-
} = this.state;
|
|
204
|
-
return /*#__PURE__*/React.createElement(Animated.View, {
|
|
205
|
-
style: [styles.guideContainer, {
|
|
206
|
-
opacity: animatedOpacity
|
|
207
|
-
}]
|
|
208
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
209
|
-
style: [styles.guideIconContainer, {
|
|
210
|
-
flexDirection: "column"
|
|
211
|
-
}]
|
|
212
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
213
|
-
name: "arrow-up",
|
|
214
|
-
type: "font-awesome",
|
|
215
|
-
iconStyle: [styles.guideIcon, !isVertical && styles.guideIconDisabled]
|
|
216
|
-
}), /*#__PURE__*/React.createElement(Icon, {
|
|
217
|
-
name: "arrow-down",
|
|
218
|
-
type: "font-awesome",
|
|
219
|
-
iconStyle: [styles.guideIcon, !isVertical && styles.guideIconDisabled]
|
|
220
|
-
})), /*#__PURE__*/React.createElement(View, {
|
|
221
|
-
style: [styles.guideIconContainer, {
|
|
222
|
-
flexDirection: "row"
|
|
223
|
-
}]
|
|
224
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
225
|
-
name: "arrow-left",
|
|
226
|
-
type: "font-awesome",
|
|
227
|
-
iconStyle: [styles.guideIcon, isVertical && styles.guideIconDisabled]
|
|
228
|
-
}), /*#__PURE__*/React.createElement(Icon, {
|
|
229
|
-
name: "arrow-right",
|
|
230
|
-
type: "font-awesome",
|
|
231
|
-
iconStyle: [styles.guideIcon, isVertical && styles.guideIconDisabled]
|
|
232
|
-
})));
|
|
233
|
-
}
|
|
234
|
-
render() {
|
|
235
|
-
const {
|
|
236
|
-
imageWidth,
|
|
237
|
-
imageHeight,
|
|
238
|
-
imagePanResponder
|
|
239
|
-
} = this.state;
|
|
240
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
241
|
-
style: [styles.container, {
|
|
242
|
-
width: this.props.width,
|
|
243
|
-
height: this.props.height
|
|
244
|
-
}, this.props.style]
|
|
245
|
-
}, /*#__PURE__*/React.createElement(Animated.Image, _extends({
|
|
246
|
-
source: this.props.source,
|
|
247
|
-
style: [{
|
|
248
|
-
width: imageWidth,
|
|
249
|
-
height: imageHeight
|
|
250
|
-
}, this.imagePosition.getLayout()]
|
|
251
|
-
}, imagePanResponder.panHandlers)), this.renderGrid(), this.renderGuide());
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
const styles = StyleSheet.create({
|
|
255
|
-
container: {
|
|
256
|
-
overflow: "hidden",
|
|
257
|
-
backgroundColor: BOXGREY
|
|
258
|
-
},
|
|
259
|
-
guideContainer: {
|
|
260
|
-
position: "absolute",
|
|
261
|
-
top: 0,
|
|
262
|
-
right: 0,
|
|
263
|
-
bottom: 0,
|
|
264
|
-
left: 0,
|
|
265
|
-
alignItems: "center",
|
|
266
|
-
justifyContent: "center",
|
|
267
|
-
backgroundColor: "#0006"
|
|
268
|
-
},
|
|
269
|
-
guideIconContainer: {
|
|
270
|
-
position: "absolute",
|
|
271
|
-
top: 0,
|
|
272
|
-
right: 0,
|
|
273
|
-
bottom: 0,
|
|
274
|
-
left: 0,
|
|
275
|
-
alignItems: "center",
|
|
276
|
-
justifyContent: "center"
|
|
277
|
-
},
|
|
278
|
-
guideIcon: {
|
|
279
|
-
color: "#fff",
|
|
280
|
-
fontSize: 50,
|
|
281
|
-
margin: 15
|
|
282
|
-
},
|
|
283
|
-
guideIconDisabled: {
|
|
284
|
-
color: TEXT_LIGHT
|
|
285
|
-
},
|
|
286
|
-
gridContainer: {
|
|
287
|
-
position: "absolute",
|
|
288
|
-
top: 0,
|
|
289
|
-
right: 0,
|
|
290
|
-
bottom: 0,
|
|
291
|
-
left: 0
|
|
292
|
-
},
|
|
293
|
-
gridHorizontal: {
|
|
294
|
-
position: "absolute",
|
|
295
|
-
top: 0,
|
|
296
|
-
right: 0,
|
|
297
|
-
left: 0,
|
|
298
|
-
height: "50%",
|
|
299
|
-
borderBottomWidth: 1,
|
|
300
|
-
borderBottomColor: BOXGREY
|
|
301
|
-
},
|
|
302
|
-
gridVertical: {
|
|
303
|
-
position: "absolute",
|
|
304
|
-
top: 0,
|
|
305
|
-
right: 0,
|
|
306
|
-
bottom: 0,
|
|
307
|
-
width: "50%",
|
|
308
|
-
borderLeftWidth: 1,
|
|
309
|
-
borderLeftColor: BOXGREY
|
|
310
|
-
}
|
|
311
|
-
});
|
|
312
|
-
export default PositionedImage;
|
|
313
|
-
//# sourceMappingURL=PositionedImage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","View","Animated","PanResponder","Image","StyleSheet","Icon","BOXGREY","TEXT_LIGHT","PositionedImage","constructor","props","_defineProperty","getSize","source","uri","imageWidth","imageHeight","newWidth","width","newHeight","height","setState","isVertical","showGuide","onPositionEnd","onDimensionAvailable","offset","state","actual","x","y","imagePosition","setValue","setTimeout","timing","animatedOpacity","toValue","duration","useNativeDriver","start","lastPos","ValueXY","addListener","value","imagePanResponder","create","onStartShouldSetPanResponder","startPos","onPositionStart","panning","onPanResponderMove","event","gesture","newPos","dy","dx","onPanResponderTerminationRequest","onPanResponderRelease","endPos","endY","limitY","endX","limitX","spring","onPanResponderTerminate","Value","componentDidMount","calculateDimensions","componentDidUpdate","prevProps","renderGrid","createElement","style","styles","gridContainer","gridHorizontal","gridVertical","renderGuide","guideContainer","opacity","guideIconContainer","flexDirection","name","type","iconStyle","guideIcon","guideIconDisabled","render","container","_extends","getLayout","panHandlers","overflow","backgroundColor","position","top","right","bottom","left","alignItems","justifyContent","color","fontSize","margin","borderBottomWidth","borderBottomColor","borderLeftWidth","borderLeftColor"],"sources":["PositionedImage.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { View, Animated, PanResponder, Image, StyleSheet } from \"react-native\";\nimport { Icon } from \"@rneui/themed\";\nimport { BOXGREY, TEXT_LIGHT } from \"../colours\";\n\nclass PositionedImage extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.lastPos = { x: 0, y: 0 };\n\t\tthis.imagePosition = new Animated.ValueXY(this.lastPos);\n\t\tthis.imagePosition.addListener((value) => {\n\t\t\tthis.lastPos = value;\n\t\t});\n\t\tconst imagePanResponder = PanResponder.create({\n\t\t\tonStartShouldSetPanResponder: () => {\n\t\t\t\tthis.startPos = this.lastPos;\n\t\t\t\tif (this.props.onPositionEnd) {\n\t\t\t\t\tif (this.props.onPositionStart) this.props.onPositionStart();\n\t\t\t\t\tthis.setState({ panning: true });\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tonPanResponderMove: (event, gesture) => {\n\t\t\t\tconst newPos = this.state.isVertical\n\t\t\t\t\t? { x: 0, y: this.startPos.y + gesture.dy }\n\t\t\t\t\t: { x: this.startPos.x + gesture.dx, y: 0 };\n\t\t\t\tthis.imagePosition.setValue(newPos);\n\t\t\t},\n\t\t\tonPanResponderTerminationRequest: (event, gesture) => true,\n\t\t\tonPanResponderRelease: (event, gesture) => {\n\t\t\t\tlet endPos = { x: 0, y: 0 };\n\t\t\t\tif (this.state.isVertical) {\n\t\t\t\t\tconst endY = this.startPos.y + gesture.dy;\n\t\t\t\t\tconst limitY = this.props.height - this.state.imageHeight;\n\t\t\t\t\tif (endY > 0) {\n\t\t\t\t\t\t// console.log('top reached', endY);\n\t\t\t\t\t\tendPos = { x: 0, y: 0 };\n\t\t\t\t\t} else if (endY < limitY) {\n\t\t\t\t\t\t// console.log('bottom reached', endY, limitY);\n\t\t\t\t\t\tendPos = { x: 0, y: limitY };\n\t\t\t\t\t} else {\n\t\t\t\t\t\tendPos = { x: 0, y: endY };\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst endX = this.startPos.x + gesture.dx;\n\t\t\t\t\tconst limitX = this.props.width - this.state.imageWidth;\n\t\t\t\t\tif (endX > 0) {\n\t\t\t\t\t\t// console.log('left reached', endX);\n\t\t\t\t\t\tendPos = { x: 0, y: 0 };\n\t\t\t\t\t} else if (endX < limitX) {\n\t\t\t\t\t\t// console.log('right reached', endX, limitX);\n\t\t\t\t\t\tendPos = { x: limitX, y: 0 };\n\t\t\t\t\t} else {\n\t\t\t\t\t\tendPos = { x: endX, y: 0 };\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tAnimated.spring(this.imagePosition, {\n\t\t\t\t\ttoValue: endPos,\n\t\t\t\t\tuseNativeDriver: false,\n\t\t\t\t}).start();\n\n\t\t\t\tif (this.props.onPositionEnd)\n\t\t\t\t\tthis.props.onPositionEnd({\n\t\t\t\t\t\tx: endPos.x / this.state.imageWidth,\n\t\t\t\t\t\ty: endPos.y / this.state.imageHeight,\n\t\t\t\t\t});\n\n\t\t\t\tthis.setState({ panning: false });\n\t\t\t},\n\t\t\tonPanResponderTerminate: (event, gesture) => {\n\t\t\t\tthis.setState({ panning: false });\n\t\t\t},\n\t\t});\n\n\t\tthis.state = {\n\t\t\timageWidth: 0,\n\t\t\timageHeight: 0,\n\t\t\timagePanResponder,\n\t\t\tisVertical: true,\n\t\t\tshowGuide: false,\n\t\t\tanimatedOpacity: new Animated.Value(1),\n\t\t\tpanning: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.calculateDimensions();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (prevProps.source.uri !== this.props.source.uri) {\n\t\t\t// console.log('componentDidUpdate', prevProps.source.uri, this.props.source.uri);\n\t\t\tthis.calculateDimensions();\n\t\t}\n\t}\n\n\tcalculateDimensions = () => {\n\t\tImage.getSize(this.props.source.uri, (imageWidth, imageHeight) => {\n\t\t\t// Default vertical positioning\n\t\t\tconst newWidth = this.props.width;\n\t\t\tconst newHeight = imageHeight * (this.props.width / imageWidth);\n\n\t\t\tif (newHeight < this.props.height) {\n\t\t\t\t// If vertical positioning isn't possible, enable horizontal positioning\n\t\t\t\tthis.setState(\n\t\t\t\t\t{\n\t\t\t\t\t\timageWidth: imageWidth * (this.props.height / imageHeight),\n\t\t\t\t\t\timageHeight: this.props.height,\n\t\t\t\t\t\tisVertical: false,\n\t\t\t\t\t\tshowGuide: this.props.onPositionEnd ? true : false,\n\t\t\t\t\t},\n\t\t\t\t\tthis.onDimensionAvailable,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.setState(\n\t\t\t\t\t{\n\t\t\t\t\t\timageWidth: newWidth,\n\t\t\t\t\t\timageHeight: newHeight,\n\t\t\t\t\t\tisVertical: true,\n\t\t\t\t\t\tshowGuide: this.props.onPositionEnd ? true : false,\n\t\t\t\t\t},\n\t\t\t\t\tthis.onDimensionAvailable,\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t};\n\n\tonDimensionAvailable = () => {\n\t\tconst { offset } = this.props;\n\t\tconst { imageWidth, imageHeight, isVertical } = this.state;\n\n\t\tif (offset) {\n\t\t\t// Apply percentage offset\n\t\t\tconst actual = {\n\t\t\t\tx: offset.x * imageWidth,\n\t\t\t\ty: offset.y * imageHeight,\n\t\t\t};\n\t\t\tthis.imagePosition.setValue(actual);\n\t\t} else {\n\t\t\t// Centered by default\n\t\t\tthis.imagePosition.setValue({\n\t\t\t\tx: isVertical ? 0 : -0.5 * imageWidth + 0.5 * this.props.width,\n\t\t\t\ty: isVertical ? -0.5 * imageHeight + 0.5 * this.props.height : 0,\n\t\t\t});\n\t\t}\n\n\t\tif (this.props.onPositionEnd) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tAnimated.timing(this.state.animatedOpacity, {\n\t\t\t\t\ttoValue: 0,\n\t\t\t\t\tduration: 900,\n\t\t\t\t\tuseNativeDriver: false,\n\t\t\t\t}).start(() => {\n\t\t\t\t\tthis.setState({ showGuide: false });\n\t\t\t\t});\n\t\t\t}, 1000);\n\t\t}\n\t};\n\n\trenderGrid() {\n\t\tif (!this.state.panning) return null;\n\t\treturn (\n\t\t\t<View style={styles.gridContainer}>\n\t\t\t\t<View style={styles.gridHorizontal} />\n\t\t\t\t<View style={styles.gridVertical} />\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderGuide() {\n\t\tif (!this.state.showGuide) return null;\n\t\tconst { animatedOpacity, isVertical } = this.state;\n\t\treturn (\n\t\t\t<Animated.View\n\t\t\t\tstyle={[styles.guideContainer, { opacity: animatedOpacity }]}\n\t\t\t>\n\t\t\t\t<View style={[styles.guideIconContainer, { flexDirection: \"column\" }]}>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"arrow-up\"\n\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\ticonStyle={[\n\t\t\t\t\t\t\tstyles.guideIcon,\n\t\t\t\t\t\t\t!isVertical && styles.guideIconDisabled,\n\t\t\t\t\t\t]}\n\t\t\t\t\t/>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"arrow-down\"\n\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\ticonStyle={[\n\t\t\t\t\t\t\tstyles.guideIcon,\n\t\t\t\t\t\t\t!isVertical && styles.guideIconDisabled,\n\t\t\t\t\t\t]}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t\t<View style={[styles.guideIconContainer, { flexDirection: \"row\" }]}>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"arrow-left\"\n\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\ticonStyle={[\n\t\t\t\t\t\t\tstyles.guideIcon,\n\t\t\t\t\t\t\tisVertical && styles.guideIconDisabled,\n\t\t\t\t\t\t]}\n\t\t\t\t\t/>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"arrow-right\"\n\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\ticonStyle={[\n\t\t\t\t\t\t\tstyles.guideIcon,\n\t\t\t\t\t\t\tisVertical && styles.guideIconDisabled,\n\t\t\t\t\t\t]}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</Animated.View>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { imageWidth, imageHeight, imagePanResponder } = this.state;\n\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{ width: this.props.width, height: this.props.height },\n\t\t\t\t\tthis.props.style,\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t<Animated.Image\n\t\t\t\t\tsource={this.props.source}\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\t{ width: imageWidth, height: imageHeight },\n\t\t\t\t\t\tthis.imagePosition.getLayout(),\n\t\t\t\t\t]}\n\t\t\t\t\t{...imagePanResponder.panHandlers}\n\t\t\t\t/>\n\t\t\t\t{this.renderGrid()}\n\t\t\t\t{this.renderGuide()}\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst styles = StyleSheet.create({\n\tcontainer: {\n\t\toverflow: \"hidden\",\n\t\tbackgroundColor: BOXGREY,\n\t},\n\tguideContainer: {\n\t\tposition: \"absolute\",\n\t\ttop: 0,\n\t\tright: 0,\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tbackgroundColor: \"#0006\",\n\t},\n\tguideIconContainer: {\n\t\tposition: \"absolute\",\n\t\ttop: 0,\n\t\tright: 0,\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t},\n\tguideIcon: {\n\t\tcolor: \"#fff\",\n\t\tfontSize: 50,\n\t\tmargin: 15,\n\t},\n\tguideIconDisabled: {\n\t\tcolor: TEXT_LIGHT,\n\t},\n\tgridContainer: {\n\t\tposition: \"absolute\",\n\t\ttop: 0,\n\t\tright: 0,\n\t\tbottom: 0,\n\t\tleft: 0,\n\t},\n\tgridHorizontal: {\n\t\tposition: \"absolute\",\n\t\ttop: 0,\n\t\tright: 0,\n\t\tleft: 0,\n\t\theight: \"50%\",\n\t\tborderBottomWidth: 1,\n\t\tborderBottomColor: BOXGREY,\n\t},\n\tgridVertical: {\n\t\tposition: \"absolute\",\n\t\ttop: 0,\n\t\tright: 0,\n\t\tbottom: 0,\n\t\twidth: \"50%\",\n\t\tborderLeftWidth: 1,\n\t\tborderLeftColor: BOXGREY,\n\t},\n});\n\nexport default PositionedImage;\n"],"mappings":"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","ignoreList":[]}
|